ABAP Interview Faq's

1. What is the typical structure of an ABAP/4 program?
ANS: -
HEADER ,BODY,FOOTER.
2. What are field symbols and field groups.?
Have you used "component idx of structure" clause with field groups?
ANS:-
Field symbols:-
Field groups :-
3. What should be the approach for writing a BDC program?
ANS:-
STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION".
STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".
STEP 3: DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity)
ii) create sessions (sessions are created and processed.if success data will transfer).
4. What is a batch input session?
ANS:-
BATCH INPUT SESSION is an intermediate step between internal table and database table.
Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.
5. What is the alternative to batch input session?
ANS:-
Call transaction.
6. A situation: An ABAP program creates a batch input session.
We need to submit the program and the batch session in back ground. How to do it?
ANS:-
go to SM36 and create background job by giving
job name,job class and job steps (JOB SCHEDULING)
8. What are the problems in processing batch input sessions?
How is batch input process different from processing online?
ANS:-
PROBLEMS:-
i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue(log remains). However if session is processed we may delete it manually.
ii)if session processing fails data will not be transferred to SAP database table.
10. What are the different types of data dictionary objects?
ans:-
tables, structures, views, domains, data elements, lock objects, Matchcode objects.
11. How many types of tables exists and what are they in data dictionary?
ans :-
4 types of tables
i)Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used.
ii)Pool tables & iii)Cluster tables -
These are logical tables that are arranged as records of transparent tables.one cannot use native sql on these tables
(only opensql).They are not managable directly using database system tools.
iv)Internal tables - .
12. What is the step by step process to create a table in data dictionary?
ans:-
step 1: creating domains(data type,field length,range).
step 2: creating data elements(properties and type for a table
field).
step 3: creating tables(SE11).
13. Can a transparent table exist in data dictionary but not in the data base physically?
ANS:- NO.
TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS.
14. What are the domains and data elements?
ANS:-
DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE.
DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.
15. Can you create a table with fields not referring to data elements?
ANS:-
YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element.
16. What is the advantage of structures? How do you use them in the ABAP programs?
ANS:-
Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again).
17. What does an extract statement do in the ABAP program?
ANS:-
Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements:
EXTRACT .
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
EXTRACT HEADER.
When you extract the data, the record is filled with the current values of the corresponding fields.
As soon as the system has processed the first EXTRACT statement for a field group , the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs.
By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.
18. What is a collect statement? How is it different from append?
ANS:-
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.
19. What is open sql vs native sql?
ANS:-
20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
ANS:-
21. What is the meaning of ABAP/4 editor integrated with ABAP/4 data dictionary?
ANS:-
22. What are the events in ABAP/4 language?
ANS:-
Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,At LAST,AT END, AT FIRST.
23. What is an interactive report?
What is the obvious diff of such report compared with classical type reports?
ANS:-
An Interactive report is a dynamic drill down report that produces the list on users choice.
diff:-
a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the system
the list produced by interactive report allows the user to interact with the system.
b) ONCE A CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL.
c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN INTERACTIVE DRILLING IS POSSIBLE.
24. What is a drill down report?
ANS:-
Its an Interactive report where in the user can get more relavent data by selecting explicitly.
25. How do you write a function module in SAP? describe.
ANS:-
creating function module:-
called program - se37-creating funcgrp,funcmodule by assigning attributes,importing,exporting,tables,exceptions.
calling program - SE38-in pgm click pattern and write function name- provide export,import,tables,exception values.
26. What are the exceptions in function module?
ANS:-
COMMUNICATION_FAILURE
SYSTEM_FAILURE
27. What is a function group?
ANS:-
GROUP OF ALL RELATED FUNCTIONS.
28. How are the date and time field values stored in SAP?
ANS:-
DD.MM.YYYY. HH:MM:SS
30. Name a few data dictionary objects? //rep//
ANS:-
TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.
31. What happens when a table is activated in DD?
ANS:-
It is available for any insertion,modification and updation of records by any user.
32. What is a check table and what is a value table?
Check table will be at field level checking.
Value table will be at domain level checking ex: scarr table is check table for carrid.
33. What are match codes? describe?
ans:-
It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.
34. What transactions do you use for data analysis?
ANS:-
35. What is table maintenance generator?
ANS:-
36. What are ranges? What are number ranges?
ANS:-
max,min values provided in selection screens.
37. What are select options and what is the diff from parameters?
ANS:-
select options provide ranges where as parameters do not.
SELECT-OPTIONS declares an internal table which is automatically filled with values or ranges
of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table.
SELECT-OPTIONS FOR .
A selection table is an internal table with fields SIGN, OPTION, LOW and HIGH.
The type of LOW and HIGH is the same as that of .
The SIGN field can take the following values: I Inclusive (should apply) E Exclusive (should not apply)
The OPTION field can take the following values: EQ Equal GT Greater than NE Not equal BT Between LE Less
than or equal NB Not between LT Less than CP Contains pattern GE Greater than or equal NP No pattern.
diff:-
PARAMETERS allow users to enter a single value into an internal field within a report.
SELECT-OPTIONS allow users to fill an internal table with a range of values.
For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing
Goto - Text elements - Selection texts - Change.
Eg:- Parameters name(30).
when the user executes the ABAP/4 program,an input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields by using text elements as described in Selection Texts.
38. How do you validate the selection criteria of a report?
And how do you display initial values in a selection screen?
ANS:-
validate :- by using match code objects.
display :- Parameters default 'xxx'.
select-options for spfli-carrid.
39. What are selection texts?
ANS:-
40. What is CTS and what do you know about it?
ANS:-
The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape.
This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.
For practical information on working with the Change and Transport System, see Change and Transport Organizer and Transport Management System.
41. When a program is created and need to be transported to prodn 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?
ANS:-
42. What is the client concept in SAP? What is the meaning of client independent?
ANS:-
43. Are programs client dependent?
ANS:-
Yes.Group of users can access these programs with a client no.
44. Name a few system global variables you can use in ABAP programs?
ANS:-
SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX.....
SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WAS TRIGGERED.
45. 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:-
i)It is 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-organising the contents of database tables according to users need.
ii)using SY-DBCNT.
iii)The number of memory allocations the system need to allocate for the next record population.
46. How do you take care of performance issues in your ABAP programs?
Performance of ABAPs can be improved by minimizing the amount of data to be transferred.
The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic.
Some measures that can be taken are:
- Use views defined in the ABAP/4 DDIC (also has the advantage of better reusability).
- Use field list (SELECT clause) rather than SELECT *.
- Range tables should be avoided (IN operator)
- Avoid nested SELECTS.
i)system tools
ii)field symbols and field groups.
ans:-
Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does not physically reserve space for a field,but points to a field which is not known until runtime of the program.
eg:- FIELD-SYMBOL [].
Field groups : A field group combines several fields under one name.At runtime,the INSERT command is used to define which data fields are assigned to which field group.
There should always be a HEADER field group that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER field group.
47. What are datasets?
ANS:-
The sequential files(ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP.
48. How to find the return code of a statement in ABAP programs?
ANS:-
Using function modules.
49. What are interface/conversion programs in SAP?
ANS :
CONVERSION : LEGACY SYSTEM TO FLAT FILE.
INTERFACE : FLAT FILE TO SAP SYSTEM.
50. Have you used SAP supplied programs to load master data?
51. What are the techniques involved in using SAP supplied programs?
Do you prefer to write your own programs to load master data? Why?
52. What are logical databases? What are the advantages/disadvantages of logical databases?
ANS:-
To read data from a database tables we use logical database.
A logical database provides read-only access to a group of related tables to an ABAP/4 program.
adv:-
The programmer need not worry about the primary key for each table.Because Logical database knows how the different tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data.
i)An easy-to-use standard user interface.
ii)check functions which check that user input is complete,correct,and plausible.
iii)meaningful data selection.
iv)central authorization checks for database accesses.
v)good read access performance while retaining the hierarchical data view determined by the application logic.
disadv:-
i)If you donot specify a logical database in the program attributes,the GET events never occur.
ii)There is no ENDGET command,so the code block associated with an event ends with the next event
statement (such as another GET or an END-OF-SELECTION).
53. What specific statements do you using when writing a drill down report?
ans:-
AT LINE-SELECTION,AT USER-COMMAND,AT PF.
54. What are different tools to report data in SAP? What all have you used?
ans:-
55. What are the advantages and disadvantages of ABAP/4 query tool?
56. What are the functional areas? User groups? and how does ABAP/4 query work in relation to these?
57. Is a logical database a requirement/must to write an ABAP/4 query?
59. What are Change header/detail tables? Have you used them?
60. What do you do when the system crashes in the middle of a BDC batch session?
ans:-
we will look into the error log file (SM35).
61. What do you do with errors in BDC batch sessions?
ANS:-
We look into the list of incorrect session and process it again. To correct incorrect session we analyize the session to determine which screen and value produced the error.For small errors in data we correct them interactively otherwise
modify batch input program that has generated the session or many times even the datafile.
62. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
ans:-
go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)
63. Is it possible to run host command from SAP environment? How do you run?
64. What kind of financial periods exist in SAP? What is the relavent table for that?
65. Does SAP handle multiple currencies? Multiple languages?
ans:-
Yes.
66. What is a currency factoring technique?
67. How do you document ABAP/4 programs? Do you use program documentation menu option?
68. What is SAPscript and layout set?
ans:-
The tool which is used to create layout set is called SAPscript. Layout set is a design document.
69. What are the ABAP/4 commands that link to a layout set?
ans:-
control commands,system commands,
70. What is output determination?
71. What are IDOCs?
ans:-
IDOCs are intermediate documents to hold the messages as a container.
72. What are screen painter? menu painter? Gui status? ..etc.
ans:-
dynpro - flow logic + screens.
menu painter -
GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen.
The status comprises those elements that are currently needed by the transaction.
73. What is screen flow logic? What are the sections in it? Explain PAI and PBO.
ans:-
The control statements that control the screen flow.
PBO - This 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.
74. Overall how do you write transaction programs in SAP?
ans:-
Create program-SE93-create transcode-Run it from command field.
75. 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?
76. What are step loops? How do you program pagedown pageup in step loops?
ans:-
step loops are repeated blocks of field in a screen.
77. Is ABAP a GUI language?
ANS:-
Yes.
ABAP IS AN EVENT DRIVEN LANGUAGE.
78. Normally how many and what files get created when a transaction program is written?
What is the XXXXXTOP program?
ans:-
ABAP/4 program.
DYNPRO
79. What are the include programs?
ANS:-
When the same sequence of statements in several programs are to be written repeadly they are coded in include programs (External programs) and are included in ABAP/4 programs.
80. Can you call a subroutine of one program from another program?
ans:- Yes- only external subroutines Using 'SUBMIT' statement.
81. What are user exits? What is involved in writing them? What precations are needed?
82. What are RFCs? How do you write RFCs on SAP side?
83. What are the general naming conventions of ABAP programs?
ANS:-
Should start with Y or Z.
84. How do you find if a logical database exists for your program requrements?
ans:-
SLDB-F4.
85. 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?
ans:-
Transcode is entered in command field to open the table.Utilities-Table contents-display.
86. How do you find the menu path for a given transaction in SAP?
ans:-
87. What are the different modules of SAP?
ans:-
FI,CO,SD,MM,PP,HR.
89. How do you get help in ABAP?
ans:-
HELP-SAP LIBRARY,by pressing F1 on a keyword.
90. What are different ABAP/4 editors? What are the differences?
ans:-
91. What are the different elements in layout sets?
ans:-
PAGES,Page windows,Header,Paragraph,Character String,Windows.
92. Can you use if then else, perform ..etc statements in sap script?
ans:-
yes.
93. What type of variables normally used in sap script to output data?
94. How do you number pages in sapscript layout outputs?
95. What takes most time in SAP script programming?
ANS:-
LAYOUT DESIGN AND LOGO INSERTION.
96. How do you use tab sets in layout sets?
97. How do you backup sapscript layout sets? Can you download and upload? How?
98. What are presentation and application servers in SAP?
ANS:-
The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentation components, the database, and also with each other, using the message server.
99. In an ABAP/4 program how do you access data that exists on a presentation server vs on an application server?
ans:-
i)using loop statements.
ii)flat
100. What are different data types in ABAP/4?
ans:-
Elementary -
predefined C,D,F,I,N,P,T,X.
userdefined TYPES.
ex: see in intel book page no 35/65
Structured -
predefined TABLES.
userdefined Field Strings and internal tables.
101. What is difference between session method and Call Transaction?
ans:-
102. Setting up a BDC program where you find information from?
ans:-
103. What has to be done to the packed fields before submitting to a BDC session.
ans:-
fields converted into character type.
104. What is the structure of a BDC sessions.
ans:-
BDCDATA (standard structure).
105. What are the fields in a BDC_Tab Table.
ans:-
program,dynpro,dynbegin,fnam,fval.
106. What do you define in the domain and data element.
Technical details like
107. What is the difference between a pool table and a transparent table and how they are stored at the database level.
ans:-
ii)Pool tables is a logical representation of transparent tables .Hence no existence at database level. Where as transparent tables are physical tables and exist at database level.
108. What is cardinality?
For cardinality one out of two (domain or data element) should be the same for Ztest1 and Ztest2 tables. M:N
Cardinality specifies the number of dependent(Target) and independent (source) entities which can be in a relationship

ABAP CERTIFICATION QUESTIONS II


1. If a table does not have MANDT as part of the primary key, it is ____.

A: A structure
B: Invalid
C: Client-independent
D: Not mandatory


2. In regard to CALL, which of the following is NOT a valid statement?

A: CALL FUNCTION
B: CALL SCREEN
C: CALL TRANSACTION
D: CALL PROGRAM


3. Name the type of ABAP Dictionary table that has these characteristics:

Same number of fields as the database table
Same name as database table
Maps 1:1 to database table

A: Pooled
B: Cluster
C: Transparent
D: View


4. An event starts with an event keyword and ends with:

A: Program execution.
B: END-OF-EVENT.
C: Another event keyword.
D: END-EVENT.


5. What is the system field for the current date?

A: SY-DATUM
B: SY-DATE
C: SY-DATID
D: SY-SDATE


6. The following code indicates:

SELECT fld1 fld2 FROM tab1 APPENDING TABLE itab
WHERE fld1 IN sfld1.

A: Add rows to the existing rows of itab.
B: Add rows to itab after first deleting any existing rows of itab.
C: Select rows from tab1 for matching itab entries.
D: Nothing, this is a syntax error.


7. You may change the following data object as shown below so that it equals 3.14.

CONSTANTS: PI type P decimals 2 value '3.1'.
PI = '3.14'.

A: True
B: False


8. The SAP service that ensures data integrity by handling locking is called:

A: Update
B: Dialog
C: Enqueue/Dequeue
D: Spool


9. Which of these sentences most accurately describes the GET VBAK LATE. event?

A: This event is processed before the second time the GET VBAK event is processed.
B: This event is processed after all occurrences of the GET VBAK event are completed.
C: This event will only be processed after the user has selected a basic list row.
D: This event is only processed if no records are selected from table VBAK.


10. Which of the following is not a true statement in regard to a hashed internal table type?

A: Its key must always be UNIQUE.
B: May only be accessed by its key.
C: Response time for accessing a row depends on the number of entries in the table.
D: Declared using internal table type HASHED TABLE.


11. TO include database-specific SQL statements within an ABAP program, code them between:

A: NATIVE SQL_ENDNATIVE.
B: DB SQL_ENDDB.
C: SELECT_ENDSELECT.
D: EXEC SQL_ENDEXEC.


12. To measure how long a block of code runs, use the ABAP statement:

A: GET TIME .
B: SET TIME FIELD .
C: GET RUN TIME FIELD .
D: SET CURSOR FIELD .


13. When a secondary list is being processed, the data of the basic list is available by default.

A: True
B: False


14. Given:

DATA: BEGIN OF itab OCCURS 10,
qty type I,
END OF itab.

DO 25 TIMES. itab-qty = sy-index. APPEND itab. ENDDO.

LOOP AT itab WHERE qty > 10.
WRITE: /1 itab-qty.
ENDLOOP.

This will result in:

A: Output of only those itab rows with a qty field less than 10
B: Output of the first 10 itab rows with a qty field greater than 10
C: A syntax error
D: None of the above


15. After a DESCRIBE TABLE statement SY-TFILL will contain

A: The number of rows in the internal table.
B: The current OCCURS value.
C: Zero, if the table contains one or more rows.
D: The length of the internal table row structure.


16. You may declare your own internal table type using the TYPES keyword.

A: True
B: False


17. After adding rows to an internal table with COLLECT, you should avoid adding more rows with APPEND.

A: True
B: False


18. Which of the following is not a component of control break processing when looping at an internal table?

A: AT START OF
B: AT FIRST
C: AT LAST
D: AT NEW


19. A dictionary table is made available for use within an ABAP program via the TABLES statement.

A: True
B: False


20. Which of the following would be best for hiding further selection criteria until a function is chosen?

A: AT NEW SELECTION-SCREEN
B: SELECTION-SCREEN AT LINE-SELECTION
C: SUBMIT SELECTION-SCREEN
D: CALL SELECTION-SCREEN


21. What must you code in the flow logic to prevent a module from being called unless a field contains a non-initial value (as determined by its data type)?

A: ON INPUT
B: CHAIN
C: FIELD
D: ON REQUEST


22. The AT USER-COMMAND event is triggered by functions defined in the ____.

A: screen painter
B: ABAP report
C: menu painter status
D: ABAP Dictionary


23. In regard to a function group, which of the following is NOT a true statement?

A: Combines similar function modules.
B: Shares global data with all its function modules.
C: Exists within the ABAP workbench as an include program.
D: Shares subroutines with all its function modules.


24. In regard to SET PF-STATUS, you can deactivate unwanted function codes by using ____.

A: EXCLUDING
B: IMMEDIATELY
C: WITHOUT
D: HIDE


25. In regard to data transported in PAI when the FIELD statement is used, which of the following is NOT a true statement?

A: Fields in PBO are transported directly from PAI.
B: Fields with identical names are transported to the ABAP side.
C: Fields not defined in FIELD statements are transported first.
D: Fields that are defined in FIELD statements are transported when their corresponding module is called.


26. The order in which an event appears in the ABAP code determines when the event is processed.

A: True
B: False


27. A field declared as type T has the following internal representation:

A: SSMMHH
B: HHMMSS
C: MMHHSS
D: HHSSMM


28. Which of the following is NOT a component of the default standard ABAP report header?

A: Date and Time
B: List title
C: Page number
D: Underline


29. Assuming a pushbutton with function code 'FUNC' is available in the toolbar of a list report, what event is processed when the button is clicked?

A: AT USER-COMMAND.
B: AT PFn.
C: AT SELECTION-SCREEN.
D: END-OF-SELECTION.


30. In regard to field selection, what option of the SELECT statement is required?

A: FOR ALL ENTRIES
B: WHERE
C: INTO
D: MOVE-CORRESPONDING


31. The following program outputs what?

report zjgtest1

write: /1 'Ready_'.

PARAMETER: test.

INITIALIZATION.
write: /1 'Set_'.

START-OF-SELECTION.
write: /1 'GO!!'.

A: Set_ GO!! (each on its own line)
B: Set_ Ready_ GO!! (all on their own lines)
C: Ready_ GO!! (each on its own line)
D: Ready_ Set_ GO!! (all on their own lines)


32. To declare a selection criterion that does not appear on the selection screen, use:

A: NO-DISPLAY
B: INVISIBLE
C: MODIF ID
D: OBLIGATORY


33. An internal table that is nested within another internal table should not contain a header line.

A: True
B: False


34. What is output by the following code?

DATA: BEGIN OF itab OCCURS 0, letter type c, END OF itab.

itab-letter = 'A'. APPEND itab. itab-letter = 'B'. APPEND itab.
itab-letter = 'C'. APPEND itab. itab-letter = 'D'. APPEND itab.

LOOP AT itab.
SY-TABIX = 2.
WRITE itab-letter.
EXIT.
ENDLOOP.

A: A
B: A B C D
C: B
D: B C D


35. To select all database entries for a certain WHERE clause into an internal table in one step, use

A: SELECT_INTO TABLE itab_
B: SELECT_INTO itab_
C: SELECT_APPENDING itab
D: SELECT_itab_


36. After a successful SELECT statement, what does SY-SUBRC equal?

A: 0
B: 4
C: 8
D: Null


37. This selection screen syntax forces the user to input a value:

A: REQUIRED-ENTRY
B: OBLIGATORY
C: DEFAULT
D: SELECTION-SCREEN EXCLUDE


38. If the following code results in a syntax error, the remedy is:

DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
WITH HEADER LINE.

itab-field1 = 'Company'. itab-field2 = '1234'. INSERT TABLE itab.
itab-field1 = 'Bank'. itab-field2 = 'ABC'. INSERT TABLE itab.

SORT itab.

LOOP AT itab.
write: /1 itab-field1, itab-field2.
ENDLOOP.

A: There is no syntax error here
B: Remove the SORT statement
C: Change INSERT to APPEND
D: Add a WHERE clause to the loop


39. If this code results in an error, the remedy is:

SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
WRITE: /1 tab1-fld1, tab1-fld2.
ENDSELECT.

A: Add a SY-SUBRC check.
B: Change the WHERE clause to use fld1 or fld2.
C: Remove the /1 from the WRITE statement.
D: Add INTO (tab1-fld1, tab1-fld2).


40. When modifying an internal table within LOOP AT itab. _ ENDLOOP. you must include an index number.

A: True
B: False


41. To allow the user to enter values on the screen for a list field, use:

A: OPEN LINE.
B: SET CURSOR FIELD.
C: WRITE fld AS INPUT FIELD.
D: FORMAT INPUT ON.


42. Before a function module may be tested, it must first be:

A: Linked
B: Authorized
C: Released
D: Active


43. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?

A: PBO module include program
B: TOP include program
C: PAI module include program
D: Subroutine include program


44. If a table contains many duplicate values for a field, minimize the number of records returned by using this SELECT statement addition.

A: MIN
B: ORDER BY
C: DISTINCT
D: DELETE


45. The system internal table used for dynamic screen modification is named:

A: ITAB
B: SCREEN
C: MODTAB
D: SMOD


46. Within the source code of a function module, errors are handled via the keyword:

A: EXCEPTION
B: RAISE
C: STOP
D: ABEND


47. Which system field contains the contents of a selected line?

A: SY-CUCOL
B: SY-LILLI
C: SY-CUROW
D: SY-LISEL


48. The following statement writes what type of data object?

WRITE: /1 'Total Amount:'.

A: Text literal
B: Text variable
C: In-code comment
D: Text integer


49. For the code below, second_field is of what data type?

DATA: first_field type P, second_field like first_field.

A: P
B: C
C: N
D: D


50. Which of the following describes the internal representation of a type D data object?

A: DDMMYYYY
B: YYYYDDMM
C: MMDDYYYY
D: YYYYMMDD


51. A BDC program is used for all of the following except:

A: Downloading data to a local file
B: Data interfaces between SAP and external systems
C: Initial data transfer
D: Entering a large amount of data


52. In regard to PERFORM, which of the following is NOT a true statement?

A: May be used within a subroutine.
B: Requires actual parameters.
C: Recursive calls are allowed in ABAP.
D: Can call a subroutine in another program.


53. What is the transaction code for the ABAP Editor?

A: SE11
B: SE38
C: SE36
D: SE16


54. In regard to HIDE, which of the following is NOT a true statement?

A: Saves the contents of variables in relation to a list line's row number.
B: The hidden variables must be output on a list line.
C: The HIDE area is retrieved when using the READ LINE statement.
D: The HIDE area is retrieved when an interactive event is triggered.


55. Database locks are sufficient in a multi-user environment.

A: True
B: False

56. The complete technical definition of a table field is determined by the field's:

A: Domain
B: Field name
C: Data type
D: Data element


57. In regard to LEAVE, which of the following is NOT a true statement?

A: May be used to return immediately to a calling program.
B: May be used to stop the current loop pass and get the next.
C: May be used to start a new transaction.
D: May be used to go to the next screen.


58. The following code indicates:

SELECT fld6 fld3 fld2 fld1 FROM tab1 INTO CORRESPONDING FIELDS OF TABLE itab
WHERE fld3 = pfld3.

A: The order of the fields in itab does not matter.
B: Fill the header line of itab, but not the body.
C: Table itab can only contain fields also in table tab1.
D: None of the above.


59. The ABAP statement below indicates that the program should continue with the next line of code if the internal table itab:

CHECK NOT itab[] IS INITIAL.

A: Contains no rows
B: Contains at least one row
C: Has a header line
D: Has an empty header line


60. What will be output by the following code?

DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.

itab-fval = 1. APPEND itab.
itab-fval = 2. APPEND itab.

FREE itab.
WRITE: /1 itab-fval.

A: 2
B: 0
C: blank
D: 1


61. To allow the user to enter a range of values on a selection screen, use the ABAP keyword:

A: DATA.
B: RANGES.
C: PARAMETERS.
D: SELECT-OPTIONS.


62. If an internal table is declared without a header line, what else must you declare to work with the table's rows?

A: Another internal table with a header line.
B: A work area with the same structure as the internal table.
C: An internal table type using the TYPES statement.
D: A PARAMETER.


63. Assuming an internal table contains 2000 entries, how many entries will it have after the following line of code is executed?

DELETE itab FROM 1500 TO 1700.

A: This is a syntax error.
B: 1801
C: 1800
D: 1799


64. To remove lines from a database table, use ____.

A: UPDATE
B: MODIFY
C: ERASE
D: DELETE


65. All of the following may be performed using SET CURSOR except:

A: Move the cursor to a specific field on a list.
B: Move the cursor to a specific list line.
C: Move the cursor to a specific pushbutton, activating that function.
D: Move the cursor to a specific row and column on a list.


66. When is it optional to pass an actual parameter to a required formal parameter of a function module?

A: The actual parameter is type C.
B: The formal parameter contains a default value.
C: The formal parameter's \"Reference\" attribute is turned on.
D: It is never optional.


67. Coding two INITIALIZATION events will cause a syntax error.

A: True
B: False


68. Adding a COMMIT WORK statement between SELECT_ENDSELECT is a good method for improving performance.

A: True
B: False


69. To save information on a list line for use after the line is selected, use this keyword.

A: APPEND
B: EXPORT
C: WRITE
D: HIDE


70. To bypass automatic field input checks, include this in PAI.

A: AT EXIT-COMMAND
B: ON INPUT
C: ON REQUEST
D: LEAVE TO SCREEN 0.


71. Within a function module's source code, if the MESSAGE_RAISING statement is executed, all of the following system fields are filled automatically except:

A: SY-MSGTY
B: SY-MSGNO
C: SY-MSGV1
D: SY-MSGWA


72. The following code indicates:

REPORT ZLISTTST.
START-OF-SELECTION.
WRITE: text-001.
FORMAT HOTSPOT ON.
WRITE: text-002.
FORMAT HOTSPOT OFF.
AT LINE-SELECTION.
WRITE / text-003.

A: Text-002 may not be selected.
B: The value of text-002 is stored in a special memory area.
C: Text-002 may be clicked once to trigger the output of text-003.
D: None of the above.


73. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by an ABAP program using Open SQL.

A: Database view
B: Projection view
C: Help view
D: Entity view


74. A concrete field is associated with a field-symbol via ABAP keyword

A: MOVE
B: WRITE
C: ASSIGN
D: VALUE


75. The output for the following code will be:

report zabaprg.
DATA: char_field type C.

char_field = 'ABAP data'.

WRITE char_field.

A: ABAP data
B: A
C: Nothing, there is a syntax error
D: None of the above


76. Page footers are coded in the event:

A: TOP-OF-PAGE.
B: END-OF-SELECTION.
C: NEW-PAGE.
D: END-OF-PAGE.


77. The event AT SELECTION-SCREEN OUTPUT. occurs before the selection screen is displayed and is the best event for assigning default values to selection criteria.

A: True
B: False


78. The TABLES statement declares a data object.

A: True
B: False


79. Assuming tab1-fld7 is not a key field, how can you prevent reading all the table rows?

SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
WHERE fld7 = pfld7.
WRITE: /1 fld4, fld5, fld6.
ENDSELECT.

A: Take fld7 out of the WHERE clause.
B: Create an index in the ABAP Dictionary for tab1-fld7.
C: Use INTO TABLE instead of just INTO.
D: Take the WRITE statement out of the SELECT_ENDSELECT.


80. Which of the following is NOT a required attribute when creating an ABAP program?

A: Application
B: Title
C: Status
D: Type


81. When creating a transparent table in the ABAP Dictionary, which step automatically creates the table in the underlying database?

A: Adding technical settings to the table
B: Checking the table syntax
C: Saving the table
D: Activating the table


82. Within the ABAP program attributes, Type = 1 represents:

A: INCLUDE program
B: Online program
C: Module pool
D: Function group
E: Subroutine pool


83. If this code results in an error, the remedy is:

SELECT fld1 SUM( fld1 ) FROM tab1 INTO_

A: Remove the spaces from SUM( fld1 ).
B: Move SUM( fld1 ) before fld1.
C: Add GROUP BY f1.
D: Change to SUM( DISTINCT f1 ).


84. Which keyword adds rows to an internal table while accumulating numeric values?

A: INSERT
B: APPEND
C: COLLECT
D: GROUP


85. Assuming itab has a header line, what will be output by the following code?

READ TABLE itab INDEX 3 TRANSPORTING field1.
WRITE: /1 itab-field1, itab-field2.

A: The contents of the third row's itab-field1.
B: The contents of the third row's itab-field1 and itab-field2.
C: The contents of the third row's itab-field2.
D: Nothing.


86. The following code indicates:

SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: myparam(10) type C,
Myparam2(10) type N,
SELECTION-SCREEN END OF BLOCK.

A: Draw a box around myparam and myparam2 on the selection screen.
B: Allow myparam and myparam2 to be ready for input during an error dialog.
C: Do not display myparam and myparam2 on the selection screen.
D: Display myparam and myparam2 only if both fields have default values.


87. Which statement will sort the data of an internal table with fields FRUIT, QTY, and PRICE so that it appears as follows?

FRUIT QTY PRICE

Apples 12 22.50
Apples 9 18.25
Oranges 15 17.35
Bananas 20 10.20
Bananas 15 6.89
Bananas 5 2.75

A: SORT itab DESCENDING BY QTY PRICE.
B: SORT itab BY PRICE FRUIT.
C: SORT itab.
D: SORT itab BY PRICE DESCENDING.


88. Which keyword adds a line anywhere within an internal table?

A: APPEND
B: MODIFY
C: ADD
D: INSERT


89. To read a single line of an internal table, use the following:

A: LOOP AT itab. _ ENDLOOP.
B: READ itab.
C: SELECT SINGLE * FROM itab.
D: READ TABLE itab.


90. Which Open SQL statement should not be used with cluster databases?

A: UPDATE
B: MODIFY
C: DELETE
D: INSERT


91. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?

A: PBO module include program
B: TOP include program
C: PAI module include program
D: Subroutine include program


92. This flow logic statement is used to make multiple fields open for input after an error or warning message.

A: GROUP
B: FIELD-GROUP
C: CHAIN
D: LOOP AT SCREEN


93. Given:

PERFORM subroutine USING var.

The var field is known as what type of parameter?

A: Formal
B: Actual
C: Static
D: Value

ABAP Certification questions

1. What is the fastest way to move one internal table to another internal table (assuming two tables of similar structure)?

a) append lines of table1 to table2.

b) loop at table1.
Move: table1-field1 to table2-field1,
table1-field2 to table2-field2.
Append table2.
Endloop.

c) table2[] = table1[].

d) loop at table1.
Move-corresponding table1 to table2.
Endloop.

e) move table1 to table2.

2. Which one of the following is true about a function module?

a) Function modules are locally accessible objects.

b) Function modules have inbound and outbound parameters.

c) Function modules have no built-in exception handling.

d) Function modules CANNOT be created by a programmer.

e) Function modules use a shared memory area.


3.

data: field1 type I value 10.

End-of-selection.
Subtract 2 from field1.
Write: / 'field1 =', field1.

Start-of-selection.
Add 5 to field1.
Write: / 'field1 =', field1.

Initialization.
Field1 = 5.
Write: / 'field1 =', field1.

What is the result after executing the above code?

a) field1 = 10
field1 = 8

b) field1 = 8
field1 = 14
field1 = 5

c) field1 = 5
field1 = 3
field1 = 8

d) field1 = 5
field1 = 10
field1 = 8

e) field1 = 8
field1 = 14

4. Which one of the following commands is used in drill-down reporting?

a) AT LINE-SELECTION

b) MODULE SET_SCREEN

c) LEAVE SCREEN

d) END-OF-PAGE

e) ON VALUE-REQUEST


5. What is an object which CANNOT be transported?

a) A local object

b) A change request

c) A development object

d) A class

e) A task

6. A GUI-Status is created in which transaction?

a) Flow Logic

b) Menu Painter

c) GUI Painter

d) Screen Painter

e) Status Painter

7. Which one of the following statements creates a GUI-status in a dialog program?

a) set pf-status '0100'.

b) set screen '0100'.

c) set gui-status '0100'.

d) set gui-status = '0100'.

e) set status '0100'.

8. Dialog programs have which naming convention?

a) ZPBOxxx

b) SAPMZxxx

c) ZDIAxxx

d) ZPAIxxx

e) Zxxx

9. Which dictionary structure contains system fields?

a) SYSTEM

b) SYTAB

c) SYST

d) SY

e) SYS

10.

An internal table ICODE contains the following entries:
field1 field2
--------------
John 12345
Alice 23478
Sam 54321
Bob 10000

IF NOT ICODE[] IS INITIAL.
SORT ICODE BY FIELD1 DESCENDING.
READ TABLE ICODE WITH KEY FIELD1 = 'Sam'.
WRITE: / SY-TABIX.
ENDIF.

What is the output of the above code after execution?

a) 1

b) 2

c) 3

d) 4

e) Sam


11.

Data: number type i.

while number <>

What does NUMBER equal after executing the above code?

a) 4

b) 8

c) 10

d) 12

e) 14

12. Which one of the following statements would occur in the PBO of a dialog program using table control?

a) loop at itab.

b) loop at itab with control itab_tc.

c) module exit at exit-command.

d) module user_command.

e) set screen '0100'


13.

data: begin of itab occurs 0,
field1(10),
field2(10),
end of itab.

Move: 'A' to itab-field1,
'B' to itab-field2.
Append itab.
Append itab.
Move: 'B' to itab-field1.
Append itab.
Clear itab.
Move: 'A' to itab-field2.
Append itab.

What are the contents of itab after executing the above code?

a) A B
A B
B B
A

b) A B
A B
B
A

c) A B
B
A

d) A B
B A
A

e) A B
B A
B A
B A

14. When debugging a BDC session, which command is used to exit the session?

a) /n

b) /bend

c) /nexit

d) /nquit

e) /exit


15. Which system field returns the number of records returned after a select?

a) sy-index

b) sy-recno

c) sy-lncnt

d) sy-dbcnt

e) sy-tabix

16. Which statement regarding Logical databases is FALSE?

a) Logical databases use a tree structure.

b) Logical databases use a standard selection-screen for selection criteria.

c) More than one logical database can be used in a report.

d) Any change to a logical database is reflected in all reports using that logical database.

e) Logical databases simplify and encapsulate data retrieval

17. Which one of the following is an example of an asynchronous update?

a) modify ztable from wa.

b) update ztable set field1 = '123'.

c) update ztable from ztable.

d) insert wa into ztable.

e) call function 'update_table' in update task


18. Which return code is associated with a failed authority check due to lack of user authorization for the chosen action?

a) 0

b) 4

c) 8

d) 12

e) 24

19. Which transaction is used to monitor, release, and reprocess BDC sessions?

a) SM36

b) SE37

c) SE35

d) SP35

e) SM35

20. What is the structure for the following select-options? Select-options: zname like ztable-name.

a) zname-sign
zname-value
zname-low
zname-high

b) zname-low
zname-high
zname-pattern

c) zname-sign
zname-option
zname-low
zname-high

d) zname-sign
zname-option
zname-low

e) zname-sign
zname-option
zname-low


21. Which of the following are elementary types in ABAP?

a) C,D,F,H,I,N,P,T

b) C,D,F,I,N,P,Q,T

c) A,D,F,I,N,P,T,X

d) A,D,F,H,N,P,T,X

e) C,D,F,I,N,P,T,X

22.

data: f1 type I value 1,
f2 type I value 1.
Write: / f1, f2.
Do 2 times.
Perform scope.
Enddo.
Write: / f1, f2.

Form scope.
Data: f1 type I value 2,
f2 type I value 2.
Add: 1 to f1, 1 to f2.
Write: / f1, f2.
Endform.

What is the output of this program after execution?

a) 1 1
3 3
4 4
4 4

b) 1 1
2 2
3 3
1 1

c) 1 1
3 3
3 3
3 3

d) 1 1
2 2
3 3
3 3

e) 1 1
3 3
3 3
1 1

23. Program specs call for screen 100 to appear in a modal dialog box.

PAI
------------
module do_something.
If field1 = 'X'.
Call screen '0100'.
Endif.
Endmodule.

Why does the above code fail to produce a modal box?

a) The addition 'starting at X' is left out.

b) The screen should be numbered 900.

c) The code must occur in the PBO.

d) The screen is of the wrong type.

e) Screens are not called within modules.

24. Field-symbols are defined in which of the following ways?

a) field-symbols f1 for f1.

b) field-symbols [f1].

c) field-symbols like f1.

d) field-symbols (f1) like f1.

e) field-symbols {f1}.


25.

1 TABLES: MARC.

2 DATA: BEGIN OF ITAB OCCURS 0,
3 FIELD1(5),
4 FIELD2(5),
5 END OF ITAB.

6 READ ITAB WITH KEY MATNR = '12345'.
7 IF SY-SUBRC = 0.
8 WRITE:/ ITAB-MATNR.
9 ENDIF.

Referring to the above code, which line contains an error?

a) Line 2

b) Line 5

c) Line 6

d) Line 7

e) Line 8

26.

Loop at itab.
Write itab.
Endloop.

From where is the written line derived in the above loop statement?

a) The table work area

b) sy-subrc

c) sy-index

d) The table header

e) sy-lisel


27.

An internal table icode contains the following entries:


Field1 Field2
--------------
John 12345
Alice 23478
Sam 54321
john 50000


DATA: BEGIN OF ICODE OCCURS 0,
FIELD1(5),
FIELD2(5),
END OF ICODE.

READ TABLE ICODE WITH KEY FIELD1 = 'John' BINARY SEARCH.

Why does executing the above code return a sy-subrc of 4?

a) Icode-field2 must be a numeric field.

b) The internal table has an incorrect structure.

c) Both internal table fields must be used in the search.

d) The internal table must be sorted first.

e) 'John' should not be capitalized.


28.

Data: pos like sy-index,
index(1).

do 10 times.
Check sy-index between 2 and 6.
Add 1 to pos.
Move sy-index to index.
Write at pos index.
Enddo.

What is the output of the above code after execution?

a) 26

b) 1789

c) 23456

d) 132578910

e) 178910

29. Dialog programs are of which type?

a) Type B

b) Type 1

c) Type *

d) Type M

e) Type S


30.

data: f1(12) type c value 'Test Variant',
f2(6) type c,
f3(8) type c.

Move: f1 to f2,
f2 to f3.

What do f1, f2, and f3 contain after executing the above code?

a) f1: 'Test Variant'
f2: 'ariant'
f3: ' ariant'

b) f1: 'Test Variant'
f2: 'ariant'
f3: ' Variant'

c) f1: 'Test Variant'
f2: 'Test V'
f3: 'st Varia'

d) f1: 'Test Variant'
f2: 'Test V'
f3: 'Test V '

e) f1: 'Test Variant'
f2: 'Test V'
f3: 'Test Var'

31.

1. Data: Begin of itab occurs 0,
field1,
End of itab.
2. Data: Itab1 like itab occurs 0.
3. Data: Itab1 type itab occurs 0.
4. Data: Begin of itab1 occurs 0.
Include structure itab.
Data: End of itab1.

Which of the above statements code internal tables with a header line?

a) Lines 1 and 4

b) Lines 1 and 3

c) Lines 2 and 4

d) Lines 1 and 2

e) Lines 2 and 3


32. Which one of the following SQL statements does NOT lock the affected database entries ?

a) select *

b) Insert

c) Delete

d) select single for update

e) modify

33.

data: begin of itab occurs 0,
num1 type I,
num2 type I,
num3 type I,
mark,
end of itab.

Delete from itab where mark eq 'D'.

Itab entries:
1 2 3 D
2 3 4
3 4 5 D
4 5 6 D
7 8 9 d
7 8 9 D

Given the ITAB entries, what are the contents of ITAB after executing the above code?

a) 1 2 3 D
2 3 4
3 4 5 D
4 5 6 D
7 8 9 d

b) 2 3 4

c) 7 8 9 d
7 8 9 D

d) 2 3 4
3 4 5 D
4 5 6 D
7 8 9 d
7 8 9 D

e) 2 3 4
7 8 9 d

34.

data: f1 type I value 1,
f2 type I value 1.

Do 2 times.
Perform scope.
Enddo.

Form scope.
Statics: f1 type I value 2,
f2 type I value 2.

Add: 1 to f1, 1 to f2.
Write: / f1, f2.

Perform scope2.

Endform.

Form scope2.
Write: / f1, f2.
Endform.

What is the output of the above program after execution?

a) 3 3
1 1
4 4
1 1

b) 3 3
3 3
3 3
3 3

c) 3 3
3 3
4 4
4 4

d) 3 3
0 0
4 4
0 0

e) 3 3
1 1
4 4
3 3


35. An ABAP Screen is created in which transaction?

a) Screen Editor

b) Screen Painter

c) Menu Painter

d) ABAP Editor

e) Status Painter

36. Data written to the database would be reversed under which of the following circumstances?

a) Dequeue

b) Enqueue

c) Commit

d) Message Xnnn

e) End of Transaction

37. Program specifications ask for error checking on a selection-screen which contains a parameter inside a frame.

a) at selection-screen on block b1

b) selection-screen check block b1

c) at selection-screen

d) selection-screen on field f1

e) check selection-screen


38. Table ztest has a secondary index on the following fields:

tnum, tcode.


Select * from ztest where tnum ne '123' and tcode = '456'.

Why is the index not used in the above case?

a) Indexes are not allowed on Z tables

b) Variables must be used, NOT literals

c) Select individual fields, not select *

d) Client is not in the where clause

e) NE invalidates the use of an index

39. An internal table has two fields :

Field1

Field2

Which of the following is the fastest way to fill an internal table of the structure above.

a) select field1 field2 into (itab-field1, itab-field2)
from ztable where field1 = '10'.
Append itab.
Endselect.

b) select * from ztable
where field1 = '10'.
Move ztable to wa.
Append itab from wa.
Endselect.

c) select * into corresponding-fields of itab
from ztable where field1 = '10'.

d) select * from ztable
where field1 = '10'.
Append itab.
Endselect.

e) select * into table itab from ztable
where field1 = '10'.


40. Update Bundling can occur within which of the following?

a) Within dialog tasks and dequeue processes

b) Within dialog and update tasks

c) Within enqueue processes

d) Within enqueue and dequeue processes

e) Within update tasks and enqueue processes

41.

data: begin of itab occurs 0,
field1,
end of itab.

Do 3 times.
Append initial line to itab.
Append 'X' to itab.
Enddo.

Describe table itab.
Write: sy-tfill.

What is the value of sy-tfill after executing the above code?

a) 1

b) 2

c) 3

d) 6

e) 12


42.

Table zinfo Entries:
-------------------- a1 Smith 100.00 50.00
Field Type a1 Jones 100.00 50.00
-------------------- a2 Bob 100.00 50.00
id C a3 Bob 100.00 50.00
name C a4 Mike 100.00 50.00
sales P a5 Mary 100.00 50.00
sales2 P a5 Mary 100.00 50.00

Using the above information, what is the result of the following code?

Loop at zinfo.
At new name.
Sum.
Write: / zinfo-id, zinfo-name, zinfo-sales.
Endat.
Endloop.

a) a1 Smith 100.00
a1 Jones 100.00
a2 Bob 100.00
a3 Bob 100.00
a4 Mike 100.00
a5 Mary 200.00

b) a1 Smith 100.00
a1 Jones 100.00
a2 Bob 200.00
a4 Mike 100.00
a5 Mary 100.00

c) a1 Jones 200.00
a2 Bob 200.00
a4 Mike 100.00
a5 Mary 100.00
a5 Mary 100.00

d) a1 Jones 200.00
a2 Bob 200.00
a4 Mike 100.00
a5 Mary 100.00

e) a1 Smith 200.00
a2 Bob 100.00
a3 Bob 100.00
a4 Mike 100.00
a5 Mary 200.00


43. Which one of the following is an INCORRECT form of the WRITE statement?

a) write x no-sign.

b) write x no-decimals.

c) write x left-justified no-gap.

d) write x no-zero.

e) write x under y currency us.

44.

1. Data: Begin of imara occurs 0.
2. Include structure mara.
3. Data: End of imara.
4 Data: number like mara-matnr.

5. Select * into table imara
6. From mara where matnr = number.
7. If sy-subrc = 0.
8. Write:/ imara.
9. Endif.
10. Endselect.

Which line in the above code contains a syntax error?

a) 2

b) 5

c) 6

d) 8

e) 10

45.

data: field1(4) type c value 'ABCD'.

if field1 co 'ABCD'.

endif.

What is the value of sy-fdpos after this block of code is executed ?

a) D

b) 4

c) ABCD

d) A

e) 0

46. Which statement is INCORRECT when referring to SAP memory or ABAP memory?

a) ABAP memory is only stored during the lifetime of an external session.

b) You can use ABAP memory to pass data between internal sessions.

c) SAP memory is also referred to as Global Memory.

d) SAP memory is available across transactions.

e) IMPORT/EXPORT (TO MEMORY) statements are used for SAP memory.

47.A standard type internal table ICODE contains the following entries:
field1 field2
-------------
001 New York
002 Boston
003 Houston
008 Denver
010 San Diego
020 Seattle

READ TABLE ICODE WITH KEY FIELD1 = '015' BINARY SEARCH.
WRITE: / SY-TABIX.

What is the value of sy-tabix after executing the above code?

a) 0

b) 2

c) 5

d) 6

e) 7


48.

data: field1 type I value 10.

End-of-selection.
Subtract 2 from field1.
Write: / 'field1 =', field1.

Start-of-selection.
Add 5 to field1.
Write: / 'field1 =', field1.

Initialization.
Field1 = 5.
Write: / 'field1 =', field1.

What is the result after executing the above code?

a) field1 = 5
field1 = 10
field1 = 8

b) field1 = 8
field1 = 14

c) field1 = 10
field1 = 8

d) field1 = 5
field1 = 3
field1 = 8

e) field1 = 8
field1 = 14
field1 = 5


49.

data: f1 type I value 1,
f2 type I value 1.

Do 2 times.
Perform scope.
Enddo.

Form scope.
Statics: f1 type I value 2,
f2 type I value 2.

Add: 1 to f1, 1 to f2.
Write: / f1, f2.

Perform scope2.

Endform.

Form scope2.
Write: / f1, f2.
Endform.

What is the output of the above program after execution?

a) 3 3
1 1
4 4
3 3

b) 3 3
3 3
4 4
4 4

c) 3 3
3 3
3 3
3 3

d) 3 3
1 1
4 4
1 1

e) 3 3
0 0
4 4
0 0


50.

Table ZNAME Table ZINFO
------------- --------------------------
field key field key
------------- --------------------------
mandt X mandt X
id X id X
lname X dept
fname X division
address
phone
fax

Using the above table definitions, which one of the following selects uses proper syntax?

a) select * from zinfo where id = '0025'.
Loop at zinfo.
Write: / id.
Endloop.
Endselect.

b) select mandt id lname into (client, id, lname)
from zname where id = '0025'.

Write: / id.
Endselect.

c) select * into table itab from zname
where id = '0025'.
Select * from zinfo for all entries in itab
where id = itab-id.
Write: / zinfo-dept.
Endselect.

d) select a~id a~lname a~fname b~dept into table itab
from zname as a INNER JOIN zinfo as b
on a~id = b~id
where lname = 'Smith'.

Loop at zname.
Write: / zname-id, zname-lname.
Endloop.

e) select count ( id ) sum ( lname ) into (num, lname)
from zname where id = '0025'.
Write: / num, lname.
Endselect.


51. Which one of the following statements is FALSE?

a) Local objects CANNOT be transported to another instance.

b) After a CHANGE REQUEST is released, no further changes to its' objects are allowed.

c) Development classes can be viewed by using transaction SE80.

d) A CHANGE REQUEST contains objects that can be transported to QA-PRD.

e) A CHANGE REQUEST only contains one task.

52. Which one of the following statements would occur in the PBO of a dialog program using table control?

a) loop at itab with control itab_tc.

b) loop at itab.

c) set screen '0100'.

d) module user_command.

e) module exit at exit-command

53.

data n type i.

do 5 times.
If n > 0 and n < n =" n" n =" 5." n =" n" n =" n">

If n = 3, what is the output of this code after execution?

a) 2-

b) 1-

c) 0

d) 3

e) 5

SAP ABAP Certification Examination Questions

54. You have added an append structure to a standard SAP table. What happens to the standard table when a new version of the table is imported during an upgrade?

a) The standard table is returned to standard.Therefore, the append structure must be manually re-applied

b) The append fields are automatically appended to the table upon activation but you must still convert the table

c) All append structures are deleted. A new append structure must be created and then appended to the standard table

d) When the standard tables are activated, the append structure is automatically appended to the standard table

55. What can you NOT attach a search help to?

a) type

b) field of a table

c) check table

d) data element

e) table

56. Which of the following does not physically exist in the underlying database? More than one answer is correct.

a) View

b) Internal table

c) Structure

d) Transparent Table

e) Domain

57. What conditoins apply for a LEFT Outer Join in OPEN SQL?

a) Only 'Or' can be used as a logical operator in the ON condition

b) A join statement is found to the right of the join operator

c) At least one field from the table on the right is required for comparison in the ON condition

d) A Left Outer Join is not permitted in OPEN SQL

58. What is true about a check table?

a) Foreign key fields can accept only values which exist in the check table

b) Check table fields can accept only values which exist in the check table

c) Foreign key fields can accept any values regardless of the check table

d) Check tables are not used for restricting values in the foreign key tables

59. Full buffering would be appropriate for what type of tables?

a) Small Static tables

b) Transaction Tables

c) Tables with generic Keys

d) Internal Tables

60. Where does information come from when you press F1 on a screen field?

a) Domain short text

b) Search help

c) Data element documentation

d) Domain Help values

61. What are the main functions of a Data Dictionary? More than one answer is correct.

a) To insulate the ABAP/4 developer from the database

b) To support the creation and management of metadata (data about data)

c) To provide data security at the application level

d) To connect to the operating system


62. Structure MY_STRUCTURE is created in the dictionary. When does the structure get created in the underlying database ?

a) At the beginning of the table creation

b) When the database administrator physically creates the table

c) When the table is activated

d) At the end of the table creation after it is saved.

e) It does not correspond to an object in the underlying database and does not get created

63. What is the recommended method to modify a standard search help to include customer defined search paths?

a) Add an elementary search help to the standard search help

b) Enhance the standard search help with an append search help

c) Add a collective search help to the standard search help

d) Perform a modification to the standard search help

64. Where are Dictionary runtime objects used ?

a) in the dictionary

b) in structures

c) in table "nametab"

d) in work processes

65. If you want a subroutine U to have a formal parameter P that is used to return a value to the actual parameter . Which of the following definitions of U would you use to ensure that the value is passed back to the calling program only if the processing of U ends normally and is not terminated with a message statement ?

a) Form U changing P.

b) Form U using P.

c) Form U changing value(P).

d) Form U using value(P).

e) Form U using P local P.


66. You want to go from dialog processing to list processing using a selection screen . Which statements would you use?

a) call screen .

b) read list.

c) call transaction .

d) leave to ist processing followed by call selection-screen .

e) selection-screen followed by parameters.

67. Which component on the application server controls the data traffic between work process and presentation server?

a) SapGui.

b) message handler.

c) dispatcher.

d) Dynpro processor.

e) frontend processor.

68. Which options exist for extending a table without having to modify a table within the ABAP Dictionary? More than one answer is correct.

a) append fields to the table.

b) use append structures.

c) use customer includes.

d) CI includes.

e) Insert new table fields.

69. Which of the following steps should be carried out in a transaction that implements updates ? More than one answer is correct.

a) read the record that is to be updated.

b) lock the record that is to be updated.

c) pass the changed data to the update process.

d) unlock the record that is to be updated.

e) call the Abap command commit work.

70. Which enhancements planned by SAP are maintained in transaction CMOD (SAP enhancements)? More than one answer is correct.

a) Table appends

b) Menu exits

c) function module exits

d) User exits

e) Screen exits

71. Why would you group corrections together? More than one answer is correct.

a) To enable several corrections to be assigned to the same transport.

b) To transport objects from different development classes.

c) To prevent other developers from processing the same objects.

d) To enable several developers to process the same object in parallel.

e) To retain versions of several objects together.

72. Which statements are allowed if you are working with an internal table of type sorted? More than one answer is correct.

a) Append

b) Collect

c) Sort

d) Read

e) Modify

73. How can you set the status and title for a modal dialog box?

a) In the attributes of the corresponding screen.

b) Before the corresp. call screen statement.

c) In a PBO module of the corresponding screen.

d) In the PAI module of the corresponding screen.

74. Which ABAP datatype would you use for calculations which require high degree of precision?

a) P

b) I

c) F

d) N

e) X

75. Which of the following statements about R/3 instances are correct? More than one answer is correct.

a) An R/3 instance is an administrative unit that combines together all the components of a R/3 system that provide one or more services.

b) A central R/3 system consists of one or more Instances.

c) Each instance has its own SAP buffer area.

d) Each instance contains atleast one dialog service .

76. Where can you find the SET/GET parameters that has been assigned to a screen field? More than one answer is correct.

a) in table TPARA.

b) in the object list of the module pool.

c) in the F1 help for the screen field under technical info.

d) in the field list of the screen in the screen painter.

e) in the window with possible values.


77. Which letters are allowed to be the first letter in the names of customer defined tables,structures and global types? More than one answer is correct.

a) Y

b) Z

c) W

d) T

78. What must you do to undo DB changes previously issued in a dialog? More than one answer is correct.

a) output E message.

b) perform rollback work.

c) raise exception.

d) Analyze log record.

e) code rollback LUW.

79. An update function module VF is called within subprogram VU .The program contains the call , VU on commit . At which point are the parameters for the update function VF evaluated ?

a) when perform is executed

b) at the beginning of function

c) at commit work

d) at start of v1 update

e) at the end of the dialog step

80. Which events and statements determine the end of an SAP LUW in an online program with synchronous update? More than one answer is correct.

a) call function in update task

b) the start of the next dialog step

c) commit work (explicit)

d) call screen

e) leave to list processing

81. What methods can be used to set the values for printing an online list? More than one answer is correct.

a) Include SET_PRINT_PARAMTERS

b) Function SET_PRINT_PARAMETERS

c) NEW-PAGE PRINT ON

d) Function GET_PRINT_PARAMETERS

82. What does a LDB(Logical Database) provide?

a) Consistent and flexible user interface

b) Central performance improvements for update accesses

c) A method to access the data in a random manner

d) Centrally defined authorization checks

83. When you EXPORT an internal table that has a header line to ABAP/4 memory, what is the result?

a) Only the contents of the internal table is stored

b) Only the header line is stored

c) The header line and contents of the internal table are stored

d) You cannot EXPORT an internal table with a header line.

84. Which Report Statement option determines the width of a list?

a) Line-Size

b) Line-Count

c) Line-Width

d) Report Size

85. What happens to memory when the Export is executed without specifying ID. i.e EXPORT object to memory ?

a) The ABAP memory is completely overwritten

b) SAP Memory is overwritten

c) ABAP memory sets up a new default area


86. Mark the valid values for a checkbox . More than one answer is correct.

a) Any Alpha Character

b) Space

c) 0

d) 1

e) X

87. When does the processing block for a Get statement end?

a) When the next keyword event is encountered

b) When all data has been retrieved for the Get

c) After each PUT in the LDB

d) When the END GET statement is encountered

88. What technique would you use to fix the 10 leftmost columns on a list when scrolling to the right?

a) Set Left Scroll-Boundary Column 10

b) Set Right Scroll-Boundary Column 10

c) Scroll List PS+<10>

d) Scroll List Left

89. When does the system reset the formatting on a Write statement?

a) When explicitly changed using the Format statement

b) At any New Event

c) Using the Reset option of the Format statement

d) All of the above

90. Which type is not a valid GUI Status type?

a) Online(Dialog) Status

b) List Status

c) Dialog Box

d) Context Menu

91. What does the following code achieve?

At Selection-Screen on value-request for sales.

Call screen 100.

a) When the user presses F4, Screen 100 is displayed in addition to the normal help screen

b) When the user presses F1, Screen 100 is displayed instead of the normal possible values search help

c) When the user presses F4, Screen 100 is displayed instead of the normal possible values search help

d) When the user presses F1, Screen 100 is displayed in addition to the normal help screen

92. Which of the following are valid logical database types? More than one answer is correct.

a) Table

b) Structure

c) File

d) Complex Data Object

e) Node

93. Program A issues the following statement SUBMIT PROGRAM B. What takes place?

a) Program B becomes active in the same internal session of Program A

b) Program A becomes active in the same internal session of Program B

c) Program B runs in a new internal session

d) User Context is flushed

94. What is the code required in order to scroll the 3rd detail list to page 5 ?

a) Scroll LIST 3 5

b) Scroll LIST Index 3 to Page 5

c) Scroll LIST sy-index 3 to Page 5

d) Scroll LIST sy-lsind 3 to Page 5

95. For called program components that are of type transaction or report, what is true about the roll area (assuming processing will resume in the calling program).

a) They run in their own roll area

b) They run in the roll area of the caller

c) Share the same roll area

96. Select the line that would execute in the following code after the EXIT statement

10 get spfli.

20 * Processing of SPFLI records

30 write: spfli-carrid, spfli-connid.

40 counter = counter + 1.

60 if counter > 1.

70 Exit.

80 endif.

90 write:/ ‘No more processing for this Carrier’.

100 get sflight.

110 write: sflight-fldate, spfli-price.

120 end-of-selection.

130 write: / text-002, text-003.

a) 80

b) 100

c) 120

d) 130

e) Exits the Program

97. What is not a valid functional area type?

a) LDB

b) Sequential Data Set

c) Program

d) Search Help

e) Joined Tables


98. Which is not a valid option of the Write Statement?

a) NO-GAP

b) Input

c) Centered

d) Under

e) No-Zero

f) As RadioBox

99. What are the 3 main sub objects of a LDB? More than one answer is correct.

a) Structure

b) Selection Screen

c) Search Helps

d) Tables

e) DB Program

100. What is needed to ensure a check field is verified against the referenced key field of the check table?

a) same data element is required for check field and referenced field

b) same domain is required for check field and referenced field

c) same data type only is required for check field and referenced field

d) all key fields MUST have domain equality between check table andn foreign key table

101. What is true about the primary index of a table? More than one answer is correct.

a) The key fields of the table make up the primary index

b) The primary index ID is designated by the Database Adminstrator

c) The developer designates the fields to be used as the primary index

d) The primary index is automatically created when the table is activated


102. Which of the following gets stored as a Runtime Object?

a) Programs

b) Tables

c) Aggregate Objects

d) Fixed Values belonging to a domain

103. When is it better to buffer the table?

a) When a table is read infrequently

b) When a table is read frequently and the data seldom changes

c) When a table is read frequently and the data is always changing

d) When a table is linked to check tables

104. Identify the different type categories in the ABAP dictionary. More than one answer is correct.

a) Data Elements

b) Structures

c) Data definitions

d) Table Types

e) Data Models

105. What is true about views? More than one answer is correct.

a) A view is automatically created on the database upon activation

b) A view contains data

c) Maintenance Views are not updateable

d) Views can be buffered

106. Identify the case where table buffering should be set off.

a) When the most current data is required

b) When the most current data is not required

c) For Small Static non volatile tables

d) For Global Master Data

107. Table T1 wants to ensure that the key field t1-fielda entered is valid against a field t2-fielda in table T2. Which is the foreign key table?

a) T1

b) T2

c) T3 from the dictionary

d) Cannot be determined

108. Identify the one addition that is not part of the interface of a method

a) Importing

b) Result

c) Exception

d) Returning

109. What is the effect when a CLEAR statement is used on an internal table without header line?

a) The work area is intitialized

b) All the lines of the table are deleted

c) All the lines of the table are initialized

d) Nothing

110. What is the default mode for passing actual parameters in a Perform?

a) By Value

b) By Reference

c) By Changing


111. In the case of a function, Identify the item that is not a valid interface element.

a) Import parameters

b) Export parameters

c) Tables

d) Source Code

e) Exceptions

112. How would you clear the body of an internal table (with a header line). More than one answer is correct.

a) Clear ITAB[]

b) Refresh ITAB []

c) Clear ITAB

d) Refresh ITAB

113. When catching errors using the CATCH…ENDCATCH statement, where does the runtime error return code get placed?

a) sy-subrc

b) sy-fdpos

c) error class

d) system-exceptions

114. What is the value of ZFIELDB after the last line of the following code is executed?

Data: ZFIELDA(5) type c value 'ABCDE'.

ZFIELDB(4) type c.

ZFIELDA = ‘XX’.

Clear ZFIELDA.

ZFIELDB = ZFIELDA.

a) ABCDE

b) Spaces

c) ABCD

d) BCDE

115. Mark the valid use of the data statement. Assume that ZBOOK-ID is a dictionary object.

a) Data fielda value zbook-id

b) Data fielda type c like zbook-id

c) Data fielda(5) like zbook-id

d) Data fielda like zbook-id

116. Assuming you have created a data object of type c with the name ZFIELDA in your program. Which of the following is allowed?

a) Data: ZFIELDA type n

b) Types: ZFIELDA type I

c) Data: ZFIELDA type c

d) Constants: ZFIELDA type n

117. What do search statements REPLACE, SHIFT, CONCATENATE, SPLIT have in common? More than one answer is correct.

a) They all set sy-subrc

b) They all set sy-fdpos

c) They all distinguish between upper and lower case

d) They all treat the operands as type C regardless of their actual type

e) The actual type of each operand determines how the string processing is performed

118. What are valid uses of a variant? More than one answer is correct.

a) Hiding input fields

b) Pre-assigning values

c) Input validation

d) Security checking


119. How can you perform a direct database read from a buffered table?

a) Do not have buffering in the technical attributes

b) Add the BYPASSING BUFFER clause on the select statement

c) Buffering can be turned off on the application server by the programmer using the ABAP Workbench

120. What is the Effect of not Typing Formal parameters in a Form?

a) Conversion always occurs

b) Conversion never occurs

c) Forms are more flexible but prone to a short dump if conversion does not work

d) No effect

e) Forms are less flexible and are guaranteed no chance of a run time error

121. What requirement exists if a field is defined in the dictionary of type CURR?

a) The field must be numeric

b) Decimals must be defined in the domain

c) The field must be linked to another field of type CUKY

d) No other requirement exists

122. Which of the following is not a valid ABAP data statement?

a) Data fielda(5) type c

b) Data fielda(5) type n

c) Data fielda(5) type t

d) Data fielda(5) type x


123. What is the result of the following date calculation? Assume current date is 20001220.

Data: Today(8) type C.

Today = sy-datum.

Today = 10.

a) 10

b) 20001220

c) 10001220

d) 20011210

124. Mark the default size for a packed field

a) 1

b) 2

c) 4

d) 8

e) size must be specified

125. Refer to the following Code. What is the value of sy-fdpos and sy-subrc after the search is executed?

Data: mystring type c value 'ARAMCO'.

Search mystring for 'X'

a) sy-fdpos = 0 and sy-subrc = 0

b) sy-fdpos = 0 and sy-subrc = 4

c) sy-fdpos = 4 and sy-subrc = 0

d) sy-fdpos = 4 and sy-subrc = 4


126. What is true of passing by value and result in the following code? More than one answer is correct.

Perform calculate_sales using amount.

FORM calculate_sales changing value(f_amount)

a) Formal Parameter f_amount is allocated it’s own memory space

b) The address of the actual parameter is passed to the formal parameter

c) Formal parameter is copied to memory space of actual parameter at the end of the form

d) Formal parameter is not copied to memory space of actual parameter

127. Define a Logical Database.

a) An ABAP/4 Reading Program used to read and process data

b) A method to update data

c) A Reporting Tool

d) Defintion of a Relational Data Model


128. What happens if message E046 is raised?

At Selection-Screen on sales.

If sales-low <>

Message E046.

Endif.

a) The initialization event is fired again

b) Field Sales is open for input and all other fields are not available for input

c) All fields are open for input and cursor is positioned on field sales

d) The program ends

129. What is a structured type in the ABAP dictionary that has no physical table defintion in the underlying database referred to as?

a) table

b) structured data type

c) structure

d) table type