Documente Academic
Documente Profesional
Documente Cultură
1. What are domains and data element? - Domains: Domain is the central
object for describing the technical characteristics of an attribute of a
business objects. It describes the value range of the field.
System data: It is the data which R/3 system needs for itself.
7. What are the functional modules used in sequence in BDC?- These are
the 3 functional modules which are used in a sequence to perform a data
transfer successfully using BDC programming: BDC_OPEN_GROUP -
Parameters like Name of the client, sessions and user name are specified in
this functional modules. BDC_INSERT - It is used to insert the data for one
transaction into a session. BDC_CLOSE_GROUP - This is used to close the
batch input session.
8. What are internal tables? - Internal tables are a standard data type object
which exists only during the runtime of the program. They are used to
perform table calculations on subsets of database tables and for re-
organizing the contents of database tables according to users need.
Screen painter: Screen painter is a tool to design and maintain screen and
its elements. It allows user to create GUI screens for the transactions.
Attributes, layout, filed attributes and flow logic are the elements of Screen
painter.
13. What is the difference between macro and subroutine? - Macros can
only be used in the program the are defined in and only after the definition
are expanded at compilation / generation. Subroutines (FORM) can be
called from both the program the are defined in and other programs. A
MACRO is more or less an abbreviation for some lines of code that are
used more than once or twice. A FORM is a local subroutine (which can be
called external). A FUNCTION is (more or less) a subroutine that is called
external. Since debugging a MACRO is not really possible, prevent the use
of them (I’ve never used them, but seen them in action). If the subroutine is
used only local (called internal) use a FORM. If the subroutine is called
external (used by more than one program) use a FUNCTION.
14. When you running a report it takes long time for execution. What steps will
you do to reduce the execution time?
If you are fetching data from database table use selected fields list instead
of
Select * use refresh, clear statements after the data retrieval. Use for all
entries rather than inner
Join.
If you are using inner join don’t join more than two tables.
3. Perform sorting.
16. What is difference between Time constraint two, and three? What are
the general function modules in Organization management?
It specify whether we can make any Time Gaps between two successive
tasks or not.
Read statement is used to retreive only one record from internal table.
Note: While using read one should have all primary keys..Otherwise subrc will
fail.
19. What is the transaction code to check how many times the program
executed?
The T-code is to check how many times reports or other transaction has been
exevuted is    ' STAT ' .check..
But only BASIS ppl will have the authorization for that.
The use of GROUP BY has the prerequisite that SELLECT only individual
columns, not all the columns, are specified using *. If GROUP BY is used, all
columns that are specified directly after SELECT and not specified as an
argument of an aggregate function must be listed there.
Domains: domains are the dictionary objects that are assigned with
constants and data types
Data elements: data elements are dictionary objects that are assigned with the
domains.
Uses:'
* Data elements are used to create relation between tables.
* Data elements are used to transfer the data from one R/3 to another R/3.
24. What is the exact difference between Transaction Codes se01, se09 and
se10? Dont say all are same please; there is some difference between
those in real time.
Type is a keyword used to refer to a data type whereas like is a keyword used to
copy the existing properties of already existing data object.
22. Describe interactive report classical report and ALV Also what is the
difference in them and why?
Classical Report: It is nothing but getting data from one or more tables and
displays it on LPS formatted or unformatted. It is having only one screen for
the output. It has not any sub list.
Events like that.
Initializations
At selection-screen
Start-of-selections
Top-of-page
End-of-page
End-of-selections
ALV Report : Its stands for Application line viewer, it is used for analysis
purpose, it has no limitations characters for the printing. These are two types
list and grid.
• Tables
• Views
• Domain
• Data Element
• Type Groups
• Search Helps/Matchcode Objects
• Lock objects
• Structures
• Table Types
24. What’s an effective way of using an internal table record? What are the
types of internal tables?
Standard table: it is the one we use generally. In this the data is not sorted
and the only thing we can do is just process the data with out any restriction
on it.
Hash tables: u can use this when u want to fill your internal table avoiding
the duplication of data.it never permits the duplicate record to be stored in a
internal table
25. In production what is the user exit?
user exit is the user defined gui status we attach to a standard transaction.
By using this we can attach only two menu items in a single transaction.
To create this we can use two transaction codes CMOD and SMOD.
WHEN WE JUST ATTACH THE ENHANCEMENT .WE CAN SEE THE TWO
FUNCTION EXITS CREATED FOR IT.
ONE IS FOR PBO AND THE OTHER IS FOR PAI.JUST
CLICK ON THE +OOB TO CREATE UR USERDEFINED MENU
IDOC is used to transer the data from once R/3 System to another R/3, client
to client, server to server.
a) Use SE11 & there is copy(ctrl+f5) button is available after copy activate the
Ztable, it's simple to copy a database table, but note that if in database
table maintenance generator is available then you have to define your
maintenance generator in your copied Ztable.
OR
31. Which one is not an exit command? (Exit, cencle, stop, back)
A) STOP.
Effect: The statement STOP is only to be used in executable programs
EXIT.
BACK.
Effect: This statement positions the list cursor on the first position of the first line
in a logical unit.
b) out of exit,cancel stop and back , back i not the exit command . when we
do back it goes to the previuos screen . with exit and cancel it terminates
the current programm.
c) The function code with type E
As a rule, the user allow the leave the screen with the function type E,
Usually EXIT, BACK and CANCEL have the function code of type E.
Tables which can be access by all user are client independent (no mandt field
in table)
tables which can be access by some specific user are client dependent (use
mandt field in table)
33. Can you create a table with fields not referring to data elements?
Yes, we can create dictionary tables without referring to data elements. This
is done by clicking on "Built in type" button during table creation.
There is a lot of difference between searchhelp and check table. Check table
is a master table. Like T000 for client, t001w for company codes, tcurc for
currency. When we write code like 'PARAMETER V_WERKS LIKE MARC-
WERKS OBLIGATORY VALUE CHECK' the value we entered will be cross
checked with the table T001W for existence. But Search help is some thing
which pops-up when we press F4. It shows a list of values of available for
that field from a particular table. There is no checking scenario in search
help. While developing a ztable for example assume that u have a currency
field. Then u needs to establish a foreign key with a currency key field in
TCURC etc. Hope this explanation has given you some clarity regarding
difference between check table and search help.
a) when it finds.. first Write , Skip , Uline statement ... then Top of page event will
trigger.
50.how to find Tcode reports and the tables with in the given Tcode
51. Can we write Inner join With Pooled Table?If No, then tell me why, If
yes, then give me one Example
No, because inner join works only for foregin key relation.
So in poolad table in between tables there is no foregin key relation.
In cluster table each field is acts as a record and it can store multiple records.
SUM.
When processing an internal table in a block starting with LOOP and concluded
by ENDLOOP , SUM calculates the control totals of all fields of type I , F and P
(see also ABAP/4 number types ) and places them in the LOOP output area
(header line of the internal table or an explicitly specified work area).
When you use SUM in a LOOP with an explicitly specified output area, this
output area must be compatible with the line type of the internal table.When
using LOOP to process a sorted extract (see SORT ), the con trol total
of f at the end of the group appears in the field SUM(f) - - if f is type I , F or P .
COLLECT.
COLLECT is used to create unique or compressed datasets. The key fields are
the default key fields of the internal table itab.
If you use only COLLECT to fill an internal table, COLLECT makes sure that the
internal table does not contain two entries with the same default key fields.
If, besides its default key fields, the internal table contains number fields, the
contents of these number fields are added together if the internal table already
contains an entry with the same key fields.
If the default key of an internal table processed with COLLECT is blank, all the
values are added up in the first table line.
If you specify WA INTO, the entry to be processed is taken from the explicitly
specified work area WA. If not, it comes from the header line of the internal table
itab.
After COLLECT, the system field SY-TABIX contains the index of the - existing or
new - table entry with default key fields which match those of the entry to be
processed.
If you process a table with COLLECT , you should also use COLLECT to fill it.
Only by doing this can you guarantee that the internal table will actually be
unique or compressed, as described above and COLLECT will run very
efficiently.
If you use COLLECT with an explicitly specified work area, it must be compatible
with the line type of the internal table.
Skip provides a space between lines, while reserve executes a page break on
the current page if less than <n> lines are free between current line and the
page footer.
55. What is the meaning of session? Why do we create it?
Session is nothing but the transferring of data from flat file to the the r/3
system. Here advantage is that you can call more than one transaction at one
go.
56. Why is that we have to add same code in PBO and PAI when we are
using TABLE CONTROLS?
Because, we have to pass the data between screen fields and abap fields
.Thats why we use same code in PBO and PAI.
b) There is only one work area for processing lines in the table control. For
this reason you need a
LOOP
…
ENDLOOP
structure in both the PBO and PAI events for each table control.
Bapi's are nothing but RFC enabled function module....... and the main difference
b/w RFC & BAPI is that BAPI is maintained in BOR (business object repository)...
59. How can we transport the z-table along with data to Production system?
Its possible to transport the data along with the table definition, by setting the
Delivery class appropriately under the delivery and maintenance tab of SE11..
b) Once you fill the table, these objects are to be manually added to a transport
request.
Double click the task, Give some short descr, Enter R3TR in program ID &
Object type as TABU, and then insert the values to the task
60. When do we use End-of-selection?
a) When ever a LDB is used for getting the values we use End-of-Selection, till
the internal table is filled with all data, the flow will not go to End-of-Selection.
b) End-of-selection event are mostly used when we are writing HR-ABAP code.
In the HR-ABAP code, data is retrieved in the Start-of-selection event and
Printing on the list and all will be done in End-of-selection event.
a) Lock objects are function modules to avoid accessing data by two or more
users.
1. Synchronize lock
2. Asynchronies lock
c) Type of locks:
Exclusive Lock: The locked data can be read or processed by one user only.
Shared Lock: Several users can read the same data at the same time, but as
soon as a user edits the data, a second user can no longer access this data.
Exclusive but not cumulative lock: Exclusive locks can be requested by the
same transaction more than once and handled successively, but an exclusive but
not cumulative lock can only be requested once by a given transaction. All other
lock requests are rejected.
After collecting all those messages we can show them after formatting with
function module MESSAGE_PREPARE or FORMAT_MESSAGE
b) Can hnadle errors in call transaction using internal table having structure
BDCMSGCOLL, But this alone does not help to view errors and eradicate it. To
view the errors that is holded in internal table use function module
FORMAT_MESSAGE. This helps to get a look at the errors.
63. In selection screen I have three fields, plant mat no and material group.
If I input plant how do I get the mat no and material group based on plant
dynamically?
a) You can use a kind of search help which import the plant mat no and than
fetch the material group.You have to declare the select-option varriable from the
same structure field in which the matarial no. has the search help attached. In
case if no standard search help exist than you can always create your own
search help and attach it with the field in the structure.
b) we can do this by using list box.like what v use in vrm_text.this function code
help us to automatically insert rest of value.
b) For data hiding to users from the data table we use views. Views store only
a particular query.Whenever we call that view it executes that query only. It does
not store any data.We can also get some attributes of a table as view.
65. What is different between The Range and Selection Screen?
a) Ranges and Selection-Options are technically having the same structure. But
the difference is select-options get displayed on the selection-screen, where user
can input range of values but ranges have to be assigned with in the program.
Ranges mainly used when you call some other program by using SUBMIT
statement. When you call a program dynamically you should supply selection
parameters to that program. So suppose if the called program is having select-
options then you can pass ranges of the calling program.
66. How we format the data before before write statement in report
we can format the reports output by using the loop events like:
1. at first
2. at new
3.at last
b) First, create a variable say d like DATA D LIKE SY-DATUM. Then assign the
date to D likeD = 'YYYYMMDD'.
67. What is the difference between transparent table and pooled table?
b) Transparent table: where the master data is stored, and which data has no
frequent changes .ex: KNA1, MARA, LFA1 etc.
Pooled table: it is linear search, where data has changed frequently, it cannot
have foreign key relationship, and we cannot INCLUDE AND APPEND structure.
2. Clustered
3. Pooled
TRANSPARENT tables:
Table Structure in the ABAP dictionary is same as the table structure in the
database. And 90% of the SAP tables are TRANSPARENT tables.
68. How to access data from two internal table using join condition
a) if suppose we have
End of i_kna1.
Check table is the referenced table, that means it is the parent table.
a) First create a tcode in se93 for Ur report program and then use call transaction
<tcode>.
b) Using submit statement we can call another report program in abap editor
c) Syntax:
Call<prog1>.
70) What is the differrence between structure and table in data dictionary in
ABAP?
Structure contain only fields i did not have any physical data but in table it have
a) Structure and table both are 2/2 matrices but there are many differences
between table and structure.
1. Table can store the data physically but a structure dose not store.
2. Table can have primary key but a structure dose not have.
3. Table can have the technical attribute but a structure dose not have.
Structure follow the same naming convention as transparent tables, and you can
not have a table and structure of the same name.
71. What are the advantages and disadvantages of using views in ABAP
programming?
Advantages:
View is used to retrieve the data very fastly from the database tables
Disadvantages:
72. Which transaction code can I used to analyze the performance of ABAP
program?
the table in which the first field is not mandt is the client independent tables
b.) Do not use the MANDT field of type MANDT in your table
a) Yes, we can create a field without data element by defining a data type for that
field as we require
b) Yes we can create field without data element, make it as direct type or Built-
in Type
75) What is the typical structure of an ABAP/4 program?
76) What is the step by step process to create a table in data dictionary?
1. go to se11
4. Give delivery class name as A and data browser / table view maint as
Display/maintenance allowed
6. Give field name data type (user defined element type/built-in-type), short text
7. Select technical settings tab, give data class as appl0 and size category as 0
7. Save it
8. Go utilities menu click table contents select create and enter the field values
then select display in table contents and u can view the table values with field
lables
_________________________
Step 1:
Creating a domain:
*se11, select the object type as domain, name it, create, description, enter the
datatype and length(size),save ,activate
step2:
step3:
Creating a table;
enter the field name and assign it with the data element instead of assigning a
datatype to it,
on behalf of this:
table maintenance:
NEXT
maintaince:
______________________________________________
___________________________________________
Technical settings:
A0
OR
A1
Using a structure, user can add fields to the existing SAP database tables.
Using .INCLUDE and .APPEND statements structures can be added to the
database tables. Creating structures with in a structure is also possible. User can
add maximum 9 structures to a database table.
b) Structures:
Using structures, we can retrieve the data from the database tables if it is having
the same structure like database table structure
*even we can insert the data into the database tables if it is having the same
structure
If an entry with the same key already exists, the COLLECT statement does not
append a new line, but adds the contents of the numeric fields in the work area to
the contents of the numeric fields in the existing entry.
This table will have four columns - sign high low and option. This is used to set
teh attributes on the select
FIELD SYMBOLS ARE JUST LIKE POINTERS BUT THEY WILL NOT HOLD
ANY ADDRESS BUT INSTEAD THEY ARE POINTING TO THE ANOTHER
FIELD VALUE
Example
form insert_row
using p_tc_name.
<tc>-lines = 100.
se16
se80, se11
82. What is the difference between SAP memory and ABAP MEMORY?
We can pass data b/w sessions or b/w progs by using sap memory. SET
PARAMETER OR GET PARAMETER are the statements that r used to read or
write the data from memory.
In abap memory we can only pass the data b/w programs. Here we use EXPORT
OR IMPORT statements to read or write data from the memory.
For example, we have four programs in abap memory and assigned some
variables to a particular program in abap memory then those variables can't be
used by any other program in abap memory i.e., the variables are only for that
program and also local to that memory, whereas sap memory can access all the
abap memory or else it can perform any kind of modifications.
83. In events start-of-selection is default event. When we have to use this
event explicitly? Why?
The default event in the ABAP is Start-of-selection. We have to call explicitly this
event when you are writing other than this event A , that is when you write ATÂ
SELECTION-SCREEN EVENTS OR INITIALIZATION EVENT etc, you have to
explicitly mention the Start-of-selection event while you are writing the logic.
Before these events called, all the code you have written come into this default
Start-of-selection screen event.