Very Very Important ABAP FAQ
1. What is the typical structure of an ABAP/4 program?
2. What are field symbols and field groups.?
Ans: Field symbols: Field symbols are like pointers. Placeholders for fields or arbitrary data objects.
Field group: A field group combines several fields under one name.
**** Have you used "component idx of structure" clause with field groups?
3. What should be the approach for writing a BDC program?
· Analyzing data from local file.
· Analyzing transaction
· Declaring internal table
Similar to local file.
Similar to BDCDATA.
· Transferring data from local file to internal table.
· Population of BDCDATA. using call transaction/session method)
4. What is a batch input session?
Ans. In this method transfer data from internal table to database table through sessions. Session is intermediate step between internal table & database table. Unless session is processed, the data is not transferred to the database table.
5. What is the alternative to batch input session?
Ans. Call transaction method.
6. A situation: An ABAP program creates a batch-input session. We need to submit the program and the batch session in background. How to do it?
Ans. You should process batch-input sessions in the foreground or using the error display if you want to test the data transfer. If you want to execute the data transfer or test its performance, you should process the sessions in the background. To process the sessions in the background, Set the Run mode to Background.
7. What z the diff b/n a pool table and a transparent table and how they are stored at the database level ?
Ans. From user point of view all tables are used to store data. From administrator point of view Transparent tables do exists with the same structure both in the dictionary as well as in the database.
Pool & Clustered tables are Logical tables, which are arranged as records of transparent table. These are not manageable directly by using database system tools.
8. What are the problems in processing batch input sessions?
9. How is batch input process different from processing online?
Ans. For online (Session method) external data is deposited in a session for later processing.
For inline (call transaction method) the entire batch input process takes place inline in your program.
10. What do you define in the domain and data element ?
Ans. Domain is formal definition of data types from a technical point of view. Sets attributes i.e., type, range, length . . .
DataElements are definition of the properties and type for a table field. It is an intermediate between the object type domain & table filed.
11. What are the different types of data dictionary objects?
· Lock Objects.
· Match code objects.
12. How many types of tables exists and what are they in data dictionary ?
To view the answer click the following link:
13. What is the step by step process to create a table in data dictionary?
· Create Domain.
· Create Data Element.
· Create Actual Table.
14. Can a transparent table exist in data dictionary but not in the data base physically?
15. What are the domains and data elements?
Ans. Same as Answer no.10
16. Can you create a table with fields not referring to data elements?
17. What is the advantage of structures? How do you use them in the ABAP programs?
18. What does an extract statement do in the ABAP program?
Ans. An extract dataset consists of a sequence of records. These records may have different structures. All records with the same structure form a record type. You must define each record type of an extract dataset as a field group, using the FIELD-GROUPS statement.
When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset.
19. What is a collect statement? How is it different from append?
Ans. COLLECT: When the line is inserted, the system checks whether there is already a table entry that matches the key. If there is no corresponding entry already in the table, the COLLECT statement has the same effect as inserting the new line. 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.
20. What is Open SQL Vs Native SQL?
Ans. Open SQL allows you to access database tables declared in the ABAP Dictionary regardless of the database platform that your R/3 System is using.
Native SQL allows you to use database-specific SQL statements in an ABAP program. This means that you can use database tables that are not administered by the ABAP Dictionary, and therefore integrate data that is not part of the R/3 System.
21 (a). What does an EXEC SQL stmt do in ABAP?
Ans. To use a Native SQL statement, you must precede it with the EXEC SQL statement, and follow it with the ENDEXEC statement as follows:
<Native SQL statement>
21 (b). What is the disadvantage of using EXEC SQL stmt do in ABAP?
Ans. Using inverted commas (") or an asterisk (*) at the beginning of a line in a native SQL statement does not introduce a comment as it would in normal ABAP syntax
22. What is the meaning of ABAP editor integrated with ABAP data dictionary?
Ans. Area menu.
23. What are the events in ABAP language?
Example for the structure of an ABAP program:
NODES: SPFLI, SFLIGHT.
GET SPFLI LATE.
24. What is an interactive report? What is the obvious differences of such report compared with classical type reports?
Ans. Interactive reporting:
Allows the user to participate in retrieving and presenting data at each level during the session. Gives a basic list form which the user can call detailed information by positioning the cursor and entering the commands.
Consists of one program the creates a single list which contains clustered data requested, regardless of the details the user wants to see.
25. What is a drill down report?
Ans. A drilldown report is a report used for the interactive evaluation of data. (Interactive reports)
26. How do you write a function module in SAP? describe ?
· create funtion group.
· create funtion module program in se37.
specify the parameters for passing data to and from the module and the exceptions.
write source code.
· write exe program calling the funtional program.
27. What are the exceptions in function module?
Ans. Exceptions are used to handle errors. The Funtion module checks for any type of error & raise exception & returns SY-SUBRC to the calling program. Main program checks for SY-SUBRC for any errors and then takes action accordingly.
28. What is a function group?
Ans. Funtion Modules that operate with same data can be grouped in one known as funtion group.
29. How are the date and time field values stored in SAP?
Ans. SY-DATUM & SY-UZEIT
30. What are the fields in a BDCTab Table?
31. Name a few data dictionary objects?
32. What happens when a table is activated in DD?
Ans. To be able to accessed by other objects like programs.
33. What is a check table and what is a value table?
Ans. A foreign key links two tables T1 and T2 by assigning fields of table T1 to the primary key fields of table T2. Table T2 is then known as the check table of the foreign key.
value table : when you define a domain, you already know that all fields that use the domain will need to be checked against a particular table. You can store this information in the domain definition by specifying a value table.
If you try to define a foreign key for a field that points to this domain, the value table of the domain is proposed as the check table for the foreign key.
34. What are match codes? describe?
35. What transactions do you use for data analysis?
36. What is table maintenance generator?
37. What are ranges? What are number ranges?
38. What are select options and what is the diff from parameters?
Ans. Select options are for range of values.
Parameters are used for simple queries of single values.
39. How do you validate the selection criteria of a report?
Ans. AT SELECTION -SCREEN.
IF carrid = '11000'.
40. And how do you display initial values in a selection screen?
Ans. Using VARIANTS.
41. What are selection texts?
Ans. Long text for select option / parameters . Selection text (SELECT-OPTION, PARAMETER). This description appears on the selection screen.
42. What is CTS and what do you know about it?
Ans. It intended for the system administrator who sets up the Change and Transport System (CTS).
43. When a program is created and need to be transported to production does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?
44. What is the client concept in SAP? What is the meaning of client independent?
Ans. Sets of software component which acts as service requester are called as client.
45. Are programs client dependent?
46. Name a few system global variables you can use in ABAP programs?
Ans. SY-DATUM, SY-UEZIT, SY-SUBRC, SY-DBCNT.
47. What are internal tables?
How do you get the number of lines in an internal table?
How to use a specific number occurs statement?
Ans. Internal tables provide a means of taking data from a fixed structure and storing it in working memory in ABAP. The data is stored line by line in memory, and each line has the same structure, they are dynamic data objects.
SY-DBCNT / SY-TABIX.
DATA : BEGIN OF ITAB OCCURS 19,
A1 TYPE I,
C1 TYPE C,
END OF ITAB.
48. How do you take care of performance issues in your ABAP programs?
49. What are datasets?
Ans. Sequential files in application server.
50. How to find the return code of a stmt in ABAP programs?
Ans. SY-SUBRC (except for transfer stmt).
51. What are interface/conversion programs in SAP?
52. Have you used SAP supplied programs to load master data?
53. What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why?
54. What are logical databases? What are the advantages/disadvantages of logical databases?
Ans. Logical database are special ABAP programs that retrive data & make it available to application programs.
Advantages of Logical database.
· No need of taking care of the key field and the foreign key realtionship between the tables in question.(relationship between diff tables are reflected in tree structure of Logical database).
· A selection screen with appropriate selection criteria is automatically created.
· Program standard authority checks are executed by Logical database itself in reports.
· Logical database improves the performance of reports at runtime.
55. What specific statements do you using when writing a drill down report?
Ans. Hide stmt.
56. What are different tools to report data in SAP? What all have you used?
Ans. ABAP query tool,
57. What are the advantages and disadvantages of ABAP query tool?
58. What are the functional areas? User groups? and how does ABAP query work in relation to these?
59. Is a logical database a requirement/must to write an ABAP query?
60. What is the structure of a BDC sessions.
- Declare internal tables for upload.
- Declare another internal table with same structure of BDCDATA.
- Call function BDC_Open _group.
- Call function BDC_insert.
- Call function BDC_close_group.
61. What are Change header/detail tables? Have you used them?
Ans. The change header contains both fields that define and describe the change and administrative data on the change master. The administrative data is updated by the system.
62. What do you do when the system crashes in the middle of a BDC batch session?
63. What do you do with errors in BDC batch sessions?
Ans. BDC session with errors appears in INCORRECT session & it can be processed again. to correct the errors , first you can analyze the session to determine which screen & value produced the error, if there r small errors, correct them else modify the BDC pgm which generates session or the flat file itself.
64. How do u set up background jobs in SAP? What r the steps? What are the event driven batch jobs?
65. Is it possible to run host command from SAP environment? How do you run?
66. What kind of financial periods exist in SAP? What is the relevant table for that?
67. Does SAP handle multiple currencies? Multiple languages?
68. What is a currency factoring technique?
69. How do you document ABAP programs? Do you use program documentation menu option?
70. What is SAPscript and layout set?
Ans. Printable document such as invoices, purchase order are printed with the use of forms, SAP allows the user to define these forms by using layout sets is SAP scripts.
Layout set is used to design a document. Layout set on its own does not contain any data. Selection of data for the document is done through the print program.
71. What r the ABAP commands that link to a layout set?
Ans. dataelement ... like ( /E ELE1)
72. What is output determination?
73. What are IDOCs?
Ans. Intermediate document (IDoc) container for exchanging data between R/3, R/2 and non-SAP systems. ALE uses IDocs to exchange data between logical systems. Non-SAP systems can use IDocs as the standard interfacefor data transfer.
IDocs are created when message types and (object) methods are distributed. The message type is the format in which the data for a specific business process is transferred.
74. What are screen painter? menu painter? Gui status? ..etc.
Ans. Screen painter: Tool for creating the screens of a dialog transaction.
Menu painter: Tool for creating and designing the graphical user interface of an ABAP program.
GUI Status : Main element of the graphical user interface.A GUI status usually consists of a menu bar with menus, a standard toolbar, an application toolbar, and functions with function key settings.
Together with the GUI title, the GUI status defines the actual state of the user interface of an ABAP program.
75. What is screen flow logic? What are the sections in it? Explain PAI and PBO.
Flow logic : Code that processes a particular screen in the R/3 System.Flow logic statements are syntactically similar to ABAP statements, but you cannot use flow logic keywords in ABAP.
You define flow logic in the flow logic editor of the Screen Painter. Flow logic comprises four modules:
· PBO (Process Before Output)
· PAI (Process After Input)
· POV(Process On value request)
· POH(Process On Help request)
PBO : The processing of screen before the screen is displayed is done in this event. (event is triggered before the screen is displayed).
PAI : This event is responsible for processing of screen after the user enters the data and clicks the pushbutton.
POV : This is triggered when user clicks F4 function key (for listing all possible values for the field).
POH : This event is triggred when user places the cursor on field and press F1 , by default system displays its own HELP for that particular field one can add his own HELP by writting in POH.
76. Overall how do you write transaction programs in SAP?
- Create a module program.
- Goto Screen painter in SE51. create & add all your elements.
- Write flow logic in screen painter
- ·Save & activate.
- ·Attach a transaction code in SE93.
77. Does SAP has a GUI screen painter or not? If yes what operating systems is it available on? What is the other type of screen painter called?
78. What are step loops? How do you program pagedown/pageup in step loops?
Ans. Step Loops: these are repeated blocks of fields in a screen.
79. Is ABAP a GUI language?
80. Normally how many and what files get created when a transaction program is written? what is the XXXXXTOP program?
81. What are the include programs?
Ans. Self-contained program that executes a particular task.
An include program has two main functions:
· It contains code which can be used by several different programs.
· It helps you to modularize programs, which consist of many different logically related parts. Each of these parts is stored as a separate include program.
Include programs improve the readability of programs and make maintenance easier.
82. Can you call a subroutine of one program from another program?
Ans. yes (using PERFORM)
83. What are user exits? What is involved in writing them? What precautions are needed?
Ans. User Exits are used for enhancement of SAP Objects. Point in an SAP program where a customer's own program can be called.
84. What are RFCs? How do you write RFCs on SAP side?
Ans. Remote Function Call. RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.RFCs manage the communication process, parameter transfer and error handling.
85. What are the general naming conventions of ABAP programs?
Ans.Starting with Z or Y
86. How do you find if a logical database exists for your program requirements?
87. How do you find the tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures?
88. How do you find the menu path for a given transaction in SAP?
Ans. From the main R/3 menu choose:
Tools --> Administration ---> Data Retention Tool
89. What are the different modules of SAP?
90. What is IMG in SAP?
91. How do you get help in ABAP?
Ans. Place the cursor on the filed & press F1.
92. What are different ABAP editors? What are the differences?
93. What are the different elements in layout sets?
Ans. Header, Page, Pagewindows, Windows, Paragraph Format, Character String.
94. Can you use if then else, perform ..etc statements in sap script?
95. What type of variables normally used in sap script to output data?
Ans. system defined & user define in program
96. How do you number pages in Sapscript layout outputs?
97. What takes most time in SAP script programming?
98. How do you use tab sets in layout sets?
99. How do you backup Sapscript layout sets? Can you download and upload? How?
100. What are presentation and application servers in SAP?
Ans. Presentation server: Software layer in the R/3 System that accepts input from users and returns the results. Application Server :Server that provides a range of services to run the R/3 System. An application server consists of a dispatcher and one or more work processes for each service. The dispatcher manages processing requests, and work processes execute them.
Each application server provides at least one dialog service and one gateway.
101. In an ABAP program how do you access data that exists on a presentation server vs on an application server?
Ans. using dataset
102. What are different data types in ABAP?
Ans. There are eight predefined types in ABAP with fixed length:
Four character types: Character (C), Numeric character (N), Date (D), and Time (T).
One hexadecimal type: Byte field (X).
Three numeric types: Integer (I), Floating-point number (F) and Packed number (P).
There are two predefined types in ABAP with variable length:
STRING for character strings , XSTRING for byte strings
structure type. table type.
class reference interface reference
103. What is difference between BDC and Call Transaction?
Ans. BDC Session Method
· Data is not updated in database tables unless session is processed.
· No SY-SUBRC returned.
· Error log is created for error records.
· Updation in database table is always synchronous
Call Transaction Method.
· Immediate Updation in database table.
· SY-SUBRC retuned.
· Errors need to be handled explicitly.
· Updation in database in database table can be Synchronous or Asynchronous
104. Setting up a BDC program where you find information from?
105. What has to be done to the packed fields before submitting to a BDC session ?