Written Test Questions

ABAP Written Test Questions 
Thanks to all contributors for these questions.

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.

Interview Questions

1. When using Open SQL statements in an ABAP/4 program, you must ensure the following.
a) The database system being addressed must be supported by SAP.
b) The database tables being addressed must be defined in the ABAP/4 dictionary.
c) Both
d) None

2. What is the difference between the TYPE and LIKE statements in data declaration?
a) LIKE is used to define variables that are similar to the ones previously defined whereas TYPE is used to define variables that exist in data dictionary.
b) LIKE is used to define variables that are similar to the ones previously defined whereas TYPE is used to define variables to refer ABAP internal data elements.
c) LIKE is used to define variables that exist in data dictionary whereas TYPE is used to define variables to refer ABAP internal data elements.
d) Both of them can be used interchangeably, there is no difference.

3. HIDE statement support deep structures?
a) True
b) False
c) Not applicable
d) Not applicable

4. Which of the following are true?
a) ABAP queries are created by associating them to a logical database or through a direct read/data retrieval program.
b) ABAP queries are created from functional areas that are created from a logical database or through a direct read/retrieval program.
c) ABAP queries are created from user groups attached to the functional areas that are created from a logical database or through a direct read/retrieval program.
d) ABAP queries are created through the regular report program.

5. A logical unit of work (LUW or transaction) begins 
a) Each time you start a transaction.
b) Each time you end a transaction.
c) When the database changes of the previous LUW have been confirmed (database commit).
d) Before the database changes of the previous LUW have been cancelled (database rollback).

6. A database commit is triggered by
a) ABAP/4 command COMMIT WORK.
b) CALL SCREEN, CALL DIALOG.
c) A Remote Function Call
d) CALL TRANSACTION

7. Open SQL vs. Native SQL
a) A database interface translates SAP’s Open SQL statements into SQL commands specific to the database in use. Native SQL statements access the database directly.
b) When you use Native SQL, the addressed database tables do not have to be known to the ABAP/4 dictionary. In Open SQL, the addressed database tables must be defined in the ABAP/4 dictionary.
c) There is automatic client handling in Native SQL whereas clients must always be specified in Open SQL.
d) None of above

8. The following are true about ‘EXEC SQL’. 
a) You can end the Native SQL with a semicolon.
b) You can end the Native SQL with a period.
c) You cannot perform reliable authorization checks using EXEC SQL.
d) Host variables in the Native SQL are identified with a preceding hash (#).

9. What are field symbols? 
a) Field symbols are like pointers in C that can point to any data object in ABAP/4 and to structures defined in ABAP/4 dictionary.
b) Field symbols have to be created with type specifications only.
c) You cannot assign one field symbol to another.
d) All operations you have programmed with the field symbol are carried out with the assigned field.

10. EXTRACT statement 
a) The first EXTRACT statement extracts the first extract record.
b) The first EXTRACT statement creates the extract dataset and adds the first extract record.
c) Each extract record contains, if specified, the fields of the field group.
d) Each extract record contains, if specified, the fields of the field symbol.

11. You cannot assign a local data object defined in a subroutine or function module to a field group. 
a) True
b) False
c) Not applicable
d) Not applicable

12. Which of the following system fields keep track of each pass in LOOP statement?
a) SY-STEPL
b) SY-INDEX
c) SY-TABIX 
d) B and C both

13.
data: begin of group1, 
f1 type I value 1, 
f2 type I value 1, 
f3 type c value '1', 
f4 type I value 1, 
end of group1. 

Data: begin of group2, 
g1 type I value 1, 
f1 type I value 1, 
f2 type I value 1, 
g4 type c value '1', 
end of group2. 

Do 2 times. 
Add-corresponding group1 to group2. 
Enddo. 

Write: group2-g1, group2-f1, group2-f2, group2-g4. 
What is the output of the above code after execution? 
a) 1221 
b) 2222 
c) 3333 
d) 1331 

14. Which one of the following SQL statements does NOT lock the affected database entries ? 
a) insert 
b) modify 
c) select single for update 
d) select * 

15. Which one of the following is an example of an asynchronous update? 
a) insert wa into ztable. 
b) call function 'update_table' in update task. 
c) update ztable from ztable. 
d) modify ztable from wa. 

16. REPORT ZTEST. 

TABLES: MARC. 

DATA: ZWERKS LIKE MARC-WERKS. 

Which one of the following contains the length definition of ZWERKS? 

a) The DATA statement 
b) The Data Element used in MARC-WERKS
c) Table MARC 
d) The Domain used in Data Element of MARC-WERKS

17. 
1. Data: Begin of imara occurs 0. 
2. Include structure mara. 
3. Data: End of imara. 
4 Data: number like mara-matnr value ‘123’. 
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) Line 5 
b) Line 6 
c) Line 8 
d) Line 10 

18. 
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 
3 3 

c) 1 1 
3 3 
3 3 
1 1 

d) 1 1 
3 3 
3 3 
3 3

19. 
data: begin of period, 
f1 type I value 5, 
f2 type I value 5, 
f3 type I value 5, 
f4 type I value 5, 
f5 type I value 2, 
end of period.

Data: amt type I, 
total type I. 

do 5 times varying amt from period-f1 next period-f2. 
if sy-index <= 4. 
add amt to total. 
endif. 
enddo. 

Write: / 'Amt:',amt, 'Total', total. 

What is the output of the above code after execution? 
a) Amt: 2 Total: 22 
b) Amt: 2 Total: 20 
c) Amt: 5 Total: 20 
d) Amt: 5 Total: 10 

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

if field1 co 'ABCD'. 

endif. 

If the above statement is evaluated as true, what is the value of sy-fdpos? 
a) 0 
b) D 
c) ABCD 
d) A 

21. 
1 case number. 
2 when 1. Write '1'. 
3 when 2. Write '2'. 
4 when 3. Write: / '3'. 
5 when number > 5. Write '>5'. 
6 endcase. 

Which line in the above code contains a syntax error? 

a) Line 2 
b) Line 4 
c) Line 5 
d) Line 6 

22. Which of the following are elementary types in ABAP? 
a) C,D,F,I,N,P,Q,T 
b) C,D,F,I,N,P,T,X 
c) A,D,F,H,N,P,T,X 
d) A,D,F,I,N,P,T,X 

Tables

23. Which of the following are true?
a) TABLE is used as a synonym for STANDARD TABLE 
b) You can only access a hashed table using the generic key operations. Explicit or implicit index operations (such as LOOP ... FROM oe INSERT itab within a LOOP) are not allowed.
c) All hashed tables are index tables.
d) We have to define the hash procedure explicitly for HASHED TABLE.

24. Can a transparent table exist in data dictionary but not in the database physically? 
a) True
b) False
c) Not Applicable
d) Not Applicable

25. Which statement is used to get the number of lines in an internal table?

a) DESCRIBE table 
b) LINES 
c) LINE
d) All of the above

26. If CHECK statement is outside the loop structure and if the condition fails?
a) Subsequent statements in the current processing blocks are executed
b) Subsequent statements in the current processing blocks are not executed
c) Program gets terminated
d) There is an error message

27. SORT statement can sort
a) External as well as internal table
b) Database tables
c) Internal Tables
d) B and C

28. Join statements can be used with Cluster tables?
a) True
b) False
c) Not Applicable
d) Not Applicable

29. It is always faster to use the Into Table version of a Select statement than to use Append statements?
a) True
b) False
c) Not Applicable
d) Not Applicable

30. From the performance point of view, if you want to process the data only once, which of the following will you use?
a) Selecting the data into an internal table and then LOOP through internal table.
b) Do the processing in SELECT..END SELECT
c) Select the records in the loop and then process each individually
d) Each of the above will be equally efficient

31. Two internal tables are equal if 
a) Internal tables cannot be compared for equality
b) It has same number of lines 
c) Each pair of corresponding lines is equal
d) A and B both

32. Which of the following will happen if you write ‘DELETE itab’ statement in your program?
a) All entries of Internal table will be deleted
b) Only the header line will be deleted
c) The row corresponding to header line will be deleted from the internal table
d) The program will give syntax error.

33. Which of the following statements is/are syntactically correct?

a) PERFORM sub1 TABLES itab
CHANGING var1.
b) PERFORM sub1 CHANGING var1
TABLES itab .
c) Both of the above
d) None of the above

34. Which of the following will happen if you write ‘DELETE itab’ statement?
a) All entries of Internal table will be deleted
b) Only the header line will be deleted
c) The row corresponding to header line will be deleted from the internal table
d) The program will give syntax error.

35. Transparent table ztable consists of field1 and field2. 
Internal Table Itab has structure like ztable. 
Which one of the following is the fastest way to fill an internal table given the information above? 
a) select * into corresponding-fields of itab 
from ztable where field1 = '10'. 
b) select field1 field2 into (itab-field1, itab-field2) 
from ztable where field1 = '10'. 
Append itab. 
Endselect. 
c) select * into table itab from ztable 
where field1 = '10'. 
d) select * from ztable 
where field1 = '10'. 
Move ztable to wa. 
Append itab from wa. 
Endselect. 

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

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 

Delete from itab where mark eq 'D'.

Given the ITAB entries, what are the contents of ITAB after executing the above code? 
a) 2 3 4 
3 4 5 D 
4 5 6 D 
7 8 9 d 
7 8 9 D 

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

c) 2 3 4 
7 8 9 d 

d) 2 3 4 

Which of the following statements define internal tables with a header line? 

a) Data: Begin of itab occurs 0, 
field1, 
End of itab. 
b) Data: Itab1 like itab occurs 0. 
c) Data: Itab1 type itab occurs 0. 
d) Data: Begin of itab1 occurs 0. 
Include structure itab. 
Data: End of itab1. 

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

The internal table icode contains the following entries: 
Field1 Field2 
------- ------ 
John 12345 
Alice 23478 
Sam 54321 
john 50000 

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

Why does executing the above code return a sy-subrc of 4? 
a) The internal table has an incorrect structure. 
b) Icode-field2 must be a numeric field. 
c) Both internal table fields must be used in the search. 
d) The internal table must be sorted first. 

38. Which of the following are true?
a) COLLECT can only be used with STANDARD TABLE.
b) To use COLLECT, the internal table should be derived from a database table with an explicit key.
c) If the system finds a numeric component, that is not part of the key, the numeric fields that are not part of the table key (see ABAP number types) are added to the sum total of the existing entries. If it does not find an entry, control passes on to the next record in the internal table.
d) If the system finds a numeric component, that is not part of the key, the numeric fields that are not part of the table key (see ABAP number types) are added to the sum total of the existing entries. If it does not find an entry, the system creates a new entry instead.

39. 
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 

40. Loop at itab. 
Write itab. 
Endloop. 

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

a) The table header 
b) The table work area 
c) sy-index 
d) sy-lisel 

41. 
DATA TEXT(72). 

DATA CODE LIKE TABLE OF TEXT. 

TEXT = 'This is the first line.'. 

APPEND TEXT TO CODE. 

TEXT = 'This is the second line. '. 

APPEND TEXT TO CODE. 

TEXT = 'This is the third line.'. 

APPEND TEXT TO CODE. 

WRITE 'not' TO CODE+8 INDEX 3. 
WRITE 'modified line.' to code+12 INDEX 2. 

LOOP AT CODE INTO TEXT. 

WRITE / TEXT. 

ENDLOOP. 

What is the result of the above code after execution? 
a) This is the first line. 
This is the modified line. 
This is not the third line. 

b) This is the first line. 
This is the modified line. 
This is not third line. 

c) This is the first line. 
This is the modified second line. 
This is not third line. 

d) This is the first line. 
This is the second line. 
This is the third line. 

ABAP/4 Data Dictionary

42. Can you create a table with fields not referring to data elements?
a) Yes
b) No
c) Not Applicable
d) Not Applicable

43. Which transaction code is used for deleting entire table contents?
a) SE17
b) SE30
c) SE14
d) SE09

44. Which of the following are true?
a) Pooled tables can be used to store control data like screen sequences, program parameters etc.
b) Several cluster tables are stored in one corresponding table on the database.
c) Both
d) None

45. Which database object is used for storing the system variables?

a) SYST table
b) SYST structure
c) SYSTEM table
d) SYSTEM structure

46. What makes a text table?
a) The type of foreign key field defined must be “No Key/Candidates”
b) The key of the text table consists of the key of the check table plus an additional language key
c) Cardinality must be defined as 1:1
d) The table has to be client independent

47. From the list below which is not a data class in the Dictionary?
a) Master Data
b) Organizational Data
c) Project Data
d) System Data

48. Identify the case where table buffering is set to off.
a) When the most current data is required
b) When the most current data is not required
c) Small static tables i.e. tables do not change much
d) b and c

49. When using SAP Buffering on database tables, which statement does NOT result in database access? 
a) select distinct.. 
b) select single.. 
c) using (Is null) in the where clause 
d) using aggregate functions in the select clause 

50. A structured type in the ABAP dictionary that has no physical table definition in the underlying database is referred to as :
a) Table
b) Table Type
c) Structured Type
d) Structure

51. When are Dictionary changes made available to a program?
a) Immediately provided object is activated
b) Next time user logs on
c) Next time program is regenerated
d) After Database is re-organized

52. Which of the following do not exist in the underlying database?
a) Transparent Table
b) Structure
c) View
d) Internal tables

53. Full buffering would be appropriate for what type of tables:
a) Small static tables
b) Transaction Tables
c) Tables with generic keys
d) b and c

54. You have added an append structure to a standard SAP table. What happens to the standard table when a new version of table is imported during an SAP version 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 added to the standard table
d) When the standard tables are activated, the append structure is automatically added to the standard table

55. Which of the following are TRUE for SQL trace utility (tcode ST05) in SAP -
a) SQL trace utility traces database access for a specific program 
b) SQL trace utility traces database access for all transactions by a specific user
c) SQL trace result shows details of queries on database tables
d) SQL trace result can show details of queries on internal tables

56. A table ztest has the following secondary index: tnum, tcode. 

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

Why does a SQL trace confirm that the secondary index is NOT used in the code above? 
a) Client is not in the where clause 
b) NE invalidates the use of an index 
c) Variables must be used, NOT literals 
d) Indexes are not allowed on Z tables 

Batch Data Communication

57. How do you create a batch input session for a transaction?
a) We create a bdc and use ‘call transaction’ in background mode.
b) We create a bdc and use ‘call transaction’ in error mode.
c) We create a bdc and use ‘bdc_insert’ for the transaction.
d) None of the above.

58. What is the alternative to batch input session?
a) Load module
b) Call transaction
c) BAPI
d) Idoc segment

59. Which SAP table stores the BDC session queue information?
a) APQD
b) APQL
c) APQQ
d) APQI

60. Which program can be used to release BDC sessions within a job? 
a) RSBDCSUB 
b) RSBDCJOB 
c) RSSUBBDC 
d) BDCRECXX 

61. Which one of the following is output to the job log when included in an ABAP program running in the background? 
a) Write statements 
b) message statements 
c) report parameters 
d) Submit statements 

62. Your program specs call for you to read the first 10 records from a text file (fname1), and write them out to another text file (fname2). 

Which block of code will accomplish the result desired in the above scenario? 
a) Open dataset fname2 for input in text mode. 
Do 10 times. 
Read dataset fname1 into hold_var. 
Transfer hold_var to fname2. 
Enddo. 

b) open file fname1 for output. 
Open file fname2 for input. 
Read dataset fname1 into hold_var 10 times. 
Transfer hold_var to fname2. 

c) open file fname1 for input. 
Open file fname2 for output. 
Do 10 times. 
Read file fname1 into hold_var. 
Transfer hold_var into fname2. 
Enddo.

d) open dataset fname1 for input in text mode. 
Open dataset fname2 for output in text mode. 
Do 10 times. 
Read fname1 into hold_var. 
Write hold_var to fname2. 
Enddo. 

63. sy-dynpro is 
a) screen no
b) program
c) table
d) field name

64. Which of the following are NOT correct usage of BDC_cursor?
a) To position the cursor on a particular field.
-FNAM = 'BDC_CURSOR'.
-FVAL = ‘fieldx’ .

b) To position the cursor on a particular field.
-FNAM = ‘fieldx’ 
-FVAL = 'BDC_CURSOR'. .

c) For fifth row of Table control 
-FVAL = 'fieldx(5)'.

d) For fifth row of Table control 
-FNAM = 'BDC_CURSOR(5) '.

65. In case of background processing of a BI session, which authorization is checked?
a) Developer of the program that schedules BI Session 
b) User who executes the BI session 
c) User who executes the program that schedules BI Session 
d) User ID that is passed to the BDC_OPN_GROUP function module inside the calling program 

66. Which of the following are TRUE about Transaction Recorder?
a) Transaction Code is SHDB 
b) Transaction Code is SM35 
c) It can generate ABAP code for the BDC program automatically 
d) It can generate ABAP code for the Call Transaction program automatically 
SAP Script

67. The following are true about SAPscript control commands. 
a) If a control command is unknown or it contains syntax errors, the line containing it will be printed out as it is.
b) If a control command is unknown or it contains syntax errors, the line containing it will be treated as a comment line.
c) A maximum of one control command may appear in each line.
d) A maximum of six control commands may appear in each line.


68. To output SAPscript layout sets, in the print program
a) You must always start the output with OPEN_FORM and end it with CLOSE_FORM.
b) Within one transaction, you can use only one OPEN_FORM and CLOSE_FORM to open and close a layout set.
c) WRITE_FORM should be used within an OPEN_FORM and CLOSE_FORM.
d) WRITE_FORM can be used without an OPEN_FORM and CLOSE_FORM.

69. Which transaction do we use for debugging SAP Script?
a) SE61
b) SE72
c) SE71
d) None of the above.
SAP Enhancements

70. The transaction cmod and smod are
a) Used to create enhancements to standard SAP programs.
b) Used to create enhancements to ABAP queries.
c) Used to create the user exits, menu exits and screen exits.
d) Used to modify the standard function groups.


Interfaces and Queries

71. What happens if we write COMMIT WORK is written within SELECT..END SELECT.
a) All the transactions will be committed.
b) The first transaction is committed and the program exits the loop.
c) Program will create a short dump
d) A runtime error will occur.

72. How many function modules can be present in a function group?

a) 30
b) 49
c) 99
d) There is no such limit

73. Can you call a subroutine of one program from another program, which is not an include program?
a) True
b) False
c) Not Applicable
d) Not Applicable

74. Which of the following statements is TRUE?
a) The ABAP statement ‘IMPORT ... TO MEMORY’ overwrites the old data in ABAP memory.
b) The ABAP statement ‘EXPORT ... TO MEMORY’ appends to the already existing data in ABAP memory.
c) The ABAP statement ‘EXPORT ... TO MEMORY’ overwrites the old data in ABAP memory.
d) The ABAP statement ‘IMPORT ... TO MEMORY’ appends to the already existing data in ABAP memory.

75. SAP Memory and ABAP/4 memory refer to the same memory space?
a) True
b) False
c) Not Applicable
d) Not Applicable

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

a) SAP memory is also referred to as Global Memory. 
b) SAP memory is available across transactions. 
c) IMPORT/EXPORT (TO MEMORY) statements are used for SAP memory. 
d) You can use ABAP memory to pass data between internal sessions. 

77. Which one of the following are true about a function module? 
a) Function modules CANNOT be created by a programmer. 
b) Function modules are locally accessible objects. 
c) Function modules use a memory area separate from calling program. 
d) Function modules have inbound and outbound parameters. 

IDOC

78. An IDOC structure is composed of
a) One substructure, substructure consists of several fields
b) Several segments, each segments has several data elements
c) Several substructures, each one made up of several data fields
d) Several segments, each segment consists of several data fields

79. Read the 2 statements below and pick the right answer choice
A. Archived files can be analyzed without reloading the file
B. An archived IDOC can be reloaded and then archived 

a) A & B are true
b) Only B 
c) Only A
d) Both are false

80. The transaction for archiving IDOC’s is
a) WARC
b) WEAR
c) SARA
d) SARC

81. An IDOC contains data for 3 purchase orders (type ORDERS01, with 1 mandatory segment, 11 other segments which are permitted to be multiple). Read the following statements which could describe the content of the idoc, and pick the right combination:
A. It will have 3 control records
B. It will have 1 control record
C. It will have a minimum of 3 data records
D. It will have a minimum of 1 data record
E. It will have a minimum of 48 data records
F. It will have at least 1 status record
G. It will have at least 3 status records
a) A, C, F
b) B, C, F
c) B, C, G
d) A, E, G

82. Which of the following statements is true?
A. An IDoc type can have many messages types associated with it.
B. An IDoc can have many messages associated with it.
C. A message type can be associated with many IDoc types.
a) A and C
b) A and B
c) Only A
d) All the statements

83. Pick the right answer
A. An idoc type is dependent on the direction of data flow (inbound/outbound).
B. The control record has a field ‘DOCTYP’ which indicates whether the IDOC is of the type inbound or outbound
a) Only A is true
b) Only B is true
c) A and B are true
d) Neither A nor B are true

84. The control record field which determines the direction of the IDoc can have values
e) ‘X’ and ‘ ‘ (space)
f) ‘1’ and ‘2’, 
The meaning of the values is
C. X inbound, space outbound
D. X outbound, space inbound
E. 1 inbound, 2 outbound
F. 1 outbound, 2 inbound 
Pick the right combinations of statements, which are true
a) A, C
b) A, D
c) B, E
d) B, F

85. The area menu from which EDI tools can be accessed is
a) WALE
b) WEDI
c) SALE
d) SEDI

86. The transactions for documentation on IDOC structures are
a) WE60 to WE64
b) SA60 to SA64
c) WE80 to WE84
d) SA20 to SA24

Report Programming

87. How do you check whether a report is submitted in background?
a) The system variable, sy-batch is set to ‘X’.
b) The system variable, sy-binpt is set to ‘X’.
c) The system variable, sy-calld is set to ‘X’.
d) Not applicable

88. Which transaction code is used executing a report (type 1 program)?

a) SE38
b) SA38 
c) SM38
d) All of the above

89. When is the TOP-OF-PAGE event triggered?
a) After executing first write statement in start-of-selection event.
b) At every new page in the report output
c) After the REPORT statement
d) A and B

90. Which of the following additions for SELECT-OPTIONS would disable the ranges on selection screen?
a) NO-RANGES
b) NO INTERVALS
c) NO RANGES
d) NO-INTERVALS  

91. What is the structure for the following select-options? Select-options: zname like ztable-name. 
a) zname-sign 
    zname-value 
    zname-low 
    name-high 

b) zname -sign 
    zname-option 
    zname-low 
    zname-high 

c) zname -include 
    zname-pattern 
    zname-range 

d) zname-sign 
    zname-option 
    zname-low 

92. Following properties are given:
· Must use mara-matnr's conversion exit 
· Is a required field 
· Appears as 100 on the selection screen 
· Check for a valid mara-matnr 

Which one of the following is the correct way to define a selection-screen parameter (n) with the above properties? 
a) parameters: n type I default '100'. 
b) parameters: n like mara-matnr default ‘100’ obligatory. 
At selection-screen on n. 
Select single * from mara where matnr = n. 
If sy-subrc ne 0. 
Message e000(00) with 'Incorrect number'. 
Endif. 
c) parameters: n like mara-matnr default 100 obligatory. 
d) parameters: n type I default 100 required. 
At selection-screen on n. 
Select single * from mara where matnr = n. 
If sy-subrc ne 0. 
Message e000 with 'Incorrect number'. 
Endif. 

93. Report specs call for a selection screen with 1 parameter inside a frame. Which code block will accomplish this? 

a) Selection-screen begin of frame b1 with frame title t-001. 
Parameters: p1 like ztable-field1.
Selection-screen end of frame b1. 

b) Selection-screen begin-of-frame b1 with frame title t-001. 
Parameters: p1 like ztable-field1.
Selection-screen end-of-frame b1. 

c) Selection-screen begin-of-block b1 with frame title t-001. 
Parameters: p1 like ztable-field1.
Selection-screen end-of-block b1. 

d) Selection-screen begin of block b1 with frame title t-001. 
Parameters: p1 like ztable-field1.
Selection-screen end of block b1. 

94. 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 

95. You are required to create a selection screen with 1 input parameter: A date range which defaults to the last 1 week (today-7,today) 

Which is the correct block of code for the above request? 
a) select-options: s_date type date. 

Initialization. 
Move: sy-datum to s_date-high, 
sy-datum - 7 to s_date-low. 
Append s_date. 

b) select-options: s_date for sy-datum. 

Initialization. 
Move: sy-datum - 7 to s_date-low, 
sy-datum to s_date-high. 
Append s_date. 

c) select-options: s_date type d default sy-datum - 7, sy-datum. 

d) select-options: s_date for sy-datum default sy-week, 

96. Which one of the following statements is a valid use of the write command? 
a) write text(3)(4). 
b) write text(3)4. 
c) write text+(3)(4). 
d) write text+3(4). 

97. When using an edit mask, which one of the following fields will be output with a leading sign? 
a) field1 using edit mask '**_LLV' 
b) field1 using edit mask 'RR__,_' 
c) field1 using edit mask 'LL__,_' 
d) field1 using edit mask 'V__' 


98. For the events in Classical Reports :
1. Initialisation
2. At Selection Screen
3. Start Of Selection ( Get & Get Late in case of Logical Database )
4. End of Selection
5. Top of Page
6. End of Page
sequence of calling is :
a) 1,2,3,4, 5, 6
b) 2,1, 3,4, 5, 6
c) 1,2, 5, 6, 3,4
d) 2,1, 5, 6, 3,4


99. The sequence of events in Interactive Reports is
1. At Line Selection
2. At User Command
3. At PFKEY
4. Get Cursor
5. Read

a) 1,2,3,4, 5
b) 1,2,3,5, 4,
c) 1, 2, 4, 5, 3
d) 1, 3, 5, 4, 2

100. What is max no of lists u can attach to basic list?(interactive report)
a) 22
b) 20
c) 18
d) 1

General

101. If a break-point statement is written in an ABAP program and the program is run in the background mode, which of the following is true.
a) Break-point statement will be ignored and program will complete the execution.
b) System generates a Sys log message
c) Program will create a short dump
d) None of the above

102. When a program is created and transported the selections texts are always transported along with the program.
a) True
b) False
c) Not Applicable
d) Not Applicable

103. Programs and reports are client dependent.
a) True
b) False
c) Not Applicable
d) Not Applicable

104. Which transaction code is used for creating a background job?

a) SM37
b) SM35 
c) SM36
d) SM38

105. Can variants be transported across systems?

a) Yes
b) No
c) Not Applicable
d) Not Applicable

106. Are variants client dependent?
a) Yes
b) No
c) Not Applicable
d) Not Applicable

107. What are the functions in the editor command line?
a) F1
b) F4
c) F3
d) F8

108. What does the transaction code /i1 do?
a) Shifts to the first session of the user
b) This terminates the first session of the user
c) Terminates the current session of the user
d) No transaction with this code exists.

109. Which transaction code is used for deleting the user lock on tables?
a) SE12
b) SE11
c) SM12
d) SM11

110. What transaction is used to create background jobs? 
a) SM30 
b) SM35 
c) SM36 
d) SM37 
111. Which one of the following transaction types is INVALID? 
a) Area 
b) Modal 
c) Variant 
d) Report 

112. Which one of the following statements are TRUE? 
a) After a TRANSPORT REQUEST is released, no further changes to its' objects are allowed. 
b) Development classes can be viewed by using transaction SE80. 
c) Local objects CANNOT be transported to another instance. . 
d) A TRANSPORT REQUEST contains objects that can be transported to Quality or Production SAP instances.

113. Which one of the following statements are FALSE about Inactive objects in SAP?
a) Development Objects are always saved as inactive versions.
b) An inactive version of a Development Object is written to developer’s pc 
c) In DISPLAY mode, other users can NOT access the code of inactive version of a developer 
d) Generating a runtime object is same as activating a development object.

Dialog Programming
114. Program specs call for screen 100 to appear in a modal dialog box. 

Process After Input. 
module do_something. 

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

Why does the above code fail to produce a modal box? 
a) The code must occur in the PBO. 
b) The screen is of the wrong type. 
c) The screen should be numbered 900. 
d) Screens are not called within modules. 

115. Which one of the following statements would occur in the PBO of a dialog program using table control? 
a) module user_command. 
b) set screen '0100'. 
c) loop at itab. 
d) loop at itab with control itab_tc. 

Technical Questions

  • What is the typical structure of an ABAPTM program?
  • What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups?
  • What should be the approach for writing a BDC program?
  • What is a batch input session?
  • What is the alternative to batch input session?
  • A situation: An ABAPTM program creates a batch input session. We need to submit the program and the batch session in background. How to do it?
  • What is the difference between a pool table and a transparent table and how they are stored at the database level?
  • What are the problems in processing batch input sessions? How is batch input process different from processing on line?
  • What do you define in the domain and data element?
  • What are the different types of data dictionary objects?
  • How many types of tables exist and what are they in data dictionary?
  • What is the step-by-step process to create a table in data dictionary?
  • Can a transparent table exist in data dictionary but not in the database physically?
  • What are the domains and data elements?
  • Can you create a table with fields not referring to data elements?
  • What is the advantage of structures? How do you use them in the ABAPTM programs?
  • What does an extract statement do in the ABAPTM program?
  • What is a collect statement? How is it different from append?
  • What is open sql vs native sql?
  • What does an EXEC SQL stmt do in ABAPTM? What is the disadvantage of using it?
  • What is the meaning of ABAPTM editor integrated with ABAPTM data dictionary?
  • What are the events in ABAPTM language?
  • What is an interactive report? What is the obvious diff of such report compared with classical type reports?
  • What is a drill down report?
  • How do you write a function module in SAP®? Describe.
  • What are the exceptions in function module?
  • What is a function group?
  • How are the date abd time field values stored in SAP®?
  • What are the fields in a BDC_Tab Table?
  • Name a few data dictionary objects?
  • What happens when a table is activated in DD?
  • What is a check table and what is a value table?
  • What are match codes? Describe?
  • What transactions do you use for data analysis?
  • What is table maintenance generator?
  • What are ranges? What are number ranges?
  • What are select options and what is the diff from parameters?
  • How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?
  • What are selection texts?
  • What is CTS and what do you know about it?
  • 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?
  • What is the client concept in SAP®? What is the meaning of client independent?
  • Are programs client dependent?
  • Name a few system global variables you can use in ABAPTM programs?
  • What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?
  • How do you take care of performance issues in your ABAPTM programs?
  • What are datasets?
  • How to find the return code of a stmt in ABAPTM programs?
  • What are interface/conversion programs in SAP®?
  • Have you used SAP® supplied programs to load master data?
  • What are the techniques involved in using SAP® supplied programs? Do you prefer to write your own programs to load master data? Why?
  • What are logical databases? What are the advantages/disadvantages of logical databases?
  • What specific statements do you using when writing a drill down report?
  • What are different tools to report data in SAP®? What all have you used?
  • What are the advantages and disadvantages of ABAPTM query tool?
  • What are the functional areas? User groups? How does ABAPTM query work in relation to these?
  • Is a logical database a requirement/must to write an ABAPTM query?
  • What is the structure of a BDC sessions.
  • What are Change header/detail tables? Have you used them?
  • What do you do when the system crashes in the middle of a BDC batch session?
  • What do you do with errors in BDC batch sessions?
  • How do you set up background jobs in SAP®? What are the steps? What are the event driven batch jobs?
  • Is it possible to run host command from SAP® environment? How do you run?
  • What kind of financial periods exist in SAP®? What is the relevant table for that?
  • Does SAP® handle multiple currencies? Multiple languages?
  • What is a currency factoring technique?
  • How do you document ABAPTM programs? Do you use program documentation menu option?
  • What is SAPscript and layout set?
  • What are the ABAPTM commands that link to a layout set?
  • What is output determination?