You are on page 1of 162

1) 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

2) 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

73. 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_

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

A: Program execution.

B: END-OF-EVENT.

C: Another event keyword.

D: END-EVENT.

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


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

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

A: Update

B: Dialog

C: Enqueue/Dequeue

D: Spool

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

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

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

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

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

A: True

B: False

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

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

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

A: True
B: False

<[...]

Sun, 14 Sep 2008 13:38:26 -0500

ABAPTM Certification Questions

...Previous

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

73. 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_

[...]

Sun, 14 Sep 2008 13:38:26 -0500

ABAPTM Certification Questions

...Previous
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
Sun, 14 Sep 2008 13:38:26 -0500

ABAPTM Certification Questions

...Previous

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. Within the ABAP program attributes, Type = 1 represents:

A: INCLUDE program

B: Online program

C: Module pool

D: Function group

E: Subroutine pool

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

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

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

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

A: MOVE

B: WRITE

C: ASSIGN

D: VALUE
14. 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

15. Page footers are coded in the event:

A: TOP-OF-PAGE.

B: END-OF-SELECTION.

C: NEW-PAGE.

D: END-OF-PAGE.

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

17. The TABLES statement declares a data object.

A: True

B: False

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

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

A: Application

B: Title

C: Status

D: Type
20. 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

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

A: INCLUDE program

B: Online program

C: Module pool

D: Function group

E: Subroutine pool

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

A: UPDATE

B: MODIFY

C: DELETE

D: INSERT

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

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

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

A: INSERT

B: APPEND

C: COLLECT

D: GROUP

5. 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.
6. 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.

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

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

A: APPEND

B: MODIFY

C: ADD

D: INSERT

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

10. 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 ).


Sun, 14 Sep 2008 13:38:26 -0500

ABAPTM Certification Questions

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

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

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

n = n + 1.

elseif n = 5.

n = n - 5.

else.

n = n - 1.

endif.

enddo.

Write: / n.

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

a) 2-

b) 1-

c) 0

d) 3

e) 5

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<[...]

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:

123D

234

345D

456D

789d

789D

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

a) 1 2 3 D

234

345D

456D

789d

b) 2 3 4

c) 7 8 9 d
789D

d) 2 3 4

345D

456D

789d

789D

e) 2 3 4

789d

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.

[...]

Sample questionaire

1. Name the reports, interfaces, transactions, sap script programs written? Explain the
Functionality?

2. What is the typical structure of an ABAP/4 program?


Ans. = Declarative elements, Operational, control, events.

3. What are field symbols and field groups? Have you used “component idx of structure” clause
with fields groups?
Ans.: place holder for existing fields similar to fields point to point

Groups. : Common several fields under one Name.

4. What should be the approach for writing a BDC program?


Ans.: 1. Analysis the Data. 2. Generate SAP structure. 3. Develop transfer program

4. Create sequential file. 5. Create batch input program. 6. Process batch input data

5. What is batch input session?


-

6. What is the alternative to batch input session?


Ans. : Call transaction & call dialog

7. 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? (up to 3.1H)
Ans.: Run the session by RSBDCSUB explicitly by providing batch input session name Go to batch
input, Double click on session name. It gives a pop up screen for run mode enter it and run.

8. What are the problems in processing batch input sessions? How is batch input process different
from processing on line?
Ans.: Sessions cannot be run in parallel and not fast.

9. Name as many SAP Transactions as possible you are familiar with?


Ans. : SE38 - ABAP editor , SE80 – Object Browser , SE36 – logical databases

SE11 – ABAP data dictionary & SE16 SE37 – Function Module

10. What are the different types of data dictionary objects?


Ans : Tables – Data Elements – Domains - Structure – Foreign Keys

11. How many types of tables exist and What are they in data dictionary?
Ans : Transparent Tables - Pooled Tables – Cluster Tables

12. What is the step by step process to create a table in data dictionary?
Ans : Create Domain – Create Data elements – Create fields – Create Tables

13. Can a transparent table exist in data dictionary but not in the database physically?
Ans: yes ,if not activated.

14. What are the domains and data elements?


Ans : domain describes Technical Characteristics of a table fields e.g. value range

Elements describe role played by a fields in technical contains e.g. Form of field text.
15. Can you create a table with fields not referring to data elements?
Ans : yes

16. What is the advantage of structures? How do you use them in the ABAP programs?
Ans: structure is used to define the construction of data produced when calculations are carried out
within programs or when data is transferred between programs. Contain data at runtime only.

17. What does an extract statement do in the ABAP program?


Ans: Fills the fields groups with values.

18. What is a collect statement? How is it different from append?


Ans: Collect – does not allow duplicate keys and append adds a line even if it exists already.

19. What is open SQL v/s Native SQL?


Ans : Native SQL – used to include SQL stmt of RDBMS in ABAP/4 programs

Open SQL - subset of standard SQL with enhancements that are specific to SAP.

20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
Ans: it allows us to execute a SQL stmt relevant to a particular database attached to SAP.

It is not transparent. (disadvantage)

21. What is the meaning of ABAP/4 editor integrated with ABAP/4 Data dictionary?
Ans: the Graphical programming environment. We can write ABAP/4 code, control access to objects
under development, create new or access predefined database information.

22. What are the events in ABAP/4 language?


Ans: Interactive reports - At line selection – At user-command – At PF-status

Classical reports - Top of page – end of page – start of selection – end of selection.

23. What is an interactive report? What is the obvious different of such report compared with
HTML type report?
Ans : Features – Screen oriented – short basic lists – compressed data in basic list
Detailed information in secondary lists or windows.

24. What is drill down report?


Ans: A list which you create by selecting on characteristic value of a report and which contains
detailed information about that value.

25. How do you write a function module in SAP? Describe.


Ans : using function < fname> function library : parameters , importing changing tables exporting

…. Exceptions.

End function

26. What are the exceptions in a function module?


Ans: error situations that can occur within function modules EXCEPTION - return codes.

27. What is a function group?


-

28. How are the date and time fields values stored in SAP?
Ans: As character fields of length 8 and 8 as NUMC.

29. What is a Julian date format?


-

30. Name a few data dictionary objects?


Ans: Tables – Views – Structure – Domains – Data elements – Match codes – Lock objects – type
groups.

31. What happens when a table is activated in DD?


-A table definition is generated - Map to the database system

-For each table, a table of the same name with the same fields and corresponding data type is
created in database. – Primary index is generated automatically
32. What is a check table and what is a value table?
- When we define a foreign key in a table (A). If this key refers to primary key of another table (B).
Table B is check table
- Fields referring to a domain may assume values contained in the corresponding fields of the
value table. Field referring to the domain should have a foreign key

33. What are match codes? Describe.


- Tool that helps us to search data records in the system.

34. What transactions do you use for data analysis?


-

35. What is table maintenance generator?


- used to maintain tables and providing authorization for particular objects
1. One step maintenance
2. Two step maintenance

36. What are ranges? What are number ranges?


- A range of numbers that can be laid down for assignment of document numbers.
 Internal
 External
What are select options and what is the different from parameters?

- Select options are used to select a range of values where as in Parameters only one value can be
given
- Select option generates a line on selection screen, the first part of which contains a text,
followed by a range for input possibilities.

37. How do you validate the selection criteria of a report? And how do you display initial values in a
selection screen?
- Validation - AT LINE SELECTION Screen event
- Initial Values – by default statement in select options / parameters

38. What are selection texts?


- Texts that appear on the selection screen for a particular field. Default – fields name.

What is CTS and What do you know about it? [ CTS is Correction and Transport Systems ]

- Correction system manages the internal system components like objects like only original
version of the object exists. It stores all changes made to the object.
- Transport system allows to transports the object from on SAP system to another (Development
system to Production system). It allows to over write or delete existing object in target system
and import new objects to target systems.
- During development work we start by opening a task (correction) to which we can assign new
and changed objects. Once changes have been made, transport new or changed objects to other
SAP system by means of transport (Change) request.

39. When a program is created and need to be transported to production does selection texts
always go with it? If no how do you make sure? Can you change the CTS entries? How do you do
it?
-

40. What is client concept in SAP? What is the meaning of client independent?
- A client is self contain unit in an R/3 system with separate master records and its own tables.
- Client independent – records and tables can be accessed from any client.

41. Are program clients dependent?


- Yes

42. Name a few system global variables you can use in ABAP program?
- SY-TEXT SY-TVARD SY-TVAR1 SY-TVAR2

43. What are internal tables? How do you get number of lines in an internal table? How to use a
specific numbers occur statement?
- Internal Tables are Temporary tables used to store values at run time no. of lines in Internal
tables DESCRIBE TABLE ITAB LINES LIN.
- Use a Specific nos. OCCURS statement.

44. How do you take care of performance issues in your ABAP programs?
- Runtime Analysis

45. What are data sets?


- Sequential files in ABAP.

46. How to find the return code of a stmt in ABAP programs?


- SY-SUBRC

47. What are interface / Conversion programs in SAP?


- BDC
48. Have you used SAP supplied programs to load master data?
- SAP supplied BDC programs – RM06BBI0 (Purchase requisitions)
- RMDATIND (Material master) RFBIKR00 (Vendor Masters)
- RFBIDE00 (Customer Master) RVINVB00 (Sales Order)

49. What are the Techniques involved in using SAP supplied programs? Do you prefer to write your
own programs to load master data? Why?
- Identify relevant fields
- Maintain transfer structure ( Predefined – first one is always session record)
- Session record structure , Header Data, Item ( STYPE – record type )
- Fields in session structure – STYPE, GROUP , MANDT, USERNAME , NO DATA
- Fields in header structure – consists of transaction code also – STYPE, BMM00, TCODE,MATNR
and Fields in Item - ITEMS …
- Maintain transfer file – sample data set creation
- Transfer data by direct input.

50. What are logical databases? What are the advantages/disadvantages of logical databases?
- LDB consists of logically related tables grouped together – used for reading and processing data.
- Advantages = 1. No need of programming for retrieval , meaning for data selection
- 2. Easy to use standard user interface, have check completeness of user input.
- Disadvantages = 1. Fast in case of lesser no. of tables But if the table is in the lowest level of
hierarchy, all upper level tables should be read so performance is slower.

51. What specific statements do you using when writing a drill down report?
- GET CURSOR
- AT LINE SELECTION
- AT USER COMMAND
- HIDE
- SY-LISEL

52. What are different Tools to report data in SAP? What all have you used?
- ABAP QUERY

53. What are the Advantage and disadvantages of ABAP query tool?
- Advantages = no lengthy code
- Disadv. = Interactive lists drill reports are not possible and conditional reporting not possible.

54. What are the functional areas? User groups? And how does ABAP/4 query work in relation to
these?
- Functional areas = provide the user with a framework for defining a query quickly.
- Select a logical database from application system.
User groups = used to set up appropriate environment for the user or authorization for using query.
By creating fun. Areas and assigning them to user groups. System administrator determines the
range of reports the individual application depts. Or end users can generate using ABAP query.
55. Is a logical database a requirement / must to write an abap/4 query?
- Logical database is not a must for ABAP/4 query.

56. Have you created / maintained functional areas?


-

57. What are Change header / detail tables? Have you used them?
-

58. What do you do when the system crashes in the middle of a BDC batch session?
-

59. What do you do with errors in BDC batch session?


-Analysis and correct them.

60. How do you set up background jobs in SAP? What are the steps? What are events driven batch
jobs?
- Create a job using function module JOB-OPEN
- Collect the job specifications.
- Add a job step to the job with the function module JOB-SUBMIT.
- Close the job and pass it to Background processing system for execution with the function
module JOB-CLOSE
- EVENT DRIVEN BATCH JOBS :-
- Types = System events – triggered when activation of new operation mode takes place
- User events - Triggered from ABAP/4 or external program.
- Triggering an event notifies the background processing that named condition has been reached.
The Background system reacts by starting any jobs that were waiting for the event.

61. Is It possible to run host command from SAP environment? How do you run?
-

62. What kind of financial periods exist in SAP? What is the relevant Table for that?
-

63. Does SAP handle multiple currencies? Multiple Languages?


- Yes
64. What is currency factoring technique?
-

65. How do you document ABAP/4 programs? Do you use program documentation menu option?
-

66. What is sap script and layout set?


-

67. What are the ABAP/4 Commands that link to a layout set?
- Call function OPEN-form.
- Call function WRITE-from.
- Call function CLOSE-from

68. What is output determination?


-

69. What are IDOC’S?


-

70. What are Screen Painters? Menu Painter? GUI Status? …etc
- Screen Painters: - Arranging or creating elements of the screen.
- Menu Painters: - Designing and creating menu bar.
- GUI Status: - Interface between user and SAP program (PF STATUS).

71. What is screen flow logic? What are the selections in it? Explain PAI and PBO?
- Call the ABAP/4 modules for screen PBO, PAI.

72. Overall how do you write transaction program in SAP?


- Create the transaction using object browser (SE80)
- Define the objects e.g. screen, Transactions. – Modules – PBO, PAI.

73. Does SAP has a GUI screen painter? If yes What operating systems is it available on? What is the
other type of screen painter called?
- Yes
- On what OS is it available –
- Other type of screen painter – alpha numeric screen painter.
What are step loops? How do you program page down page up in step loop?

- Step loops: Method of displaying a set of records.


- Page down & Page up: decrement / increment base counter
- Index = base + sy-step1 – 1
Is ABAP a GUI language?

- Yes

74. Normally how many and what files get created when a transaction program is written? What is
top XXXXXXTOP program?
- Main program with A Includes
- I ) TOP INCLUDE – GLOBAL DATA
- II ) Include for PBO
- III) Include for PAI
- IV) include for Forms
What are Include Programs?

- Set of code which are included into the main program at runtime.

75. Can you call a subroutine of one program from another program?
- Yes

76. What are user exits? What is involved in writing them? What precautions are needed?
- User defined functionality included to predefined SAP standards.
- Should find the customer enhancements belonging to particular development class.
- Precautions =

77. What are RFC’S? How do you write RFC on SAP side?
- Remote Function Calls.
-

78. What are the general naming conventions of ABAP programs?


- Start with Z or Y followed by Char or Nos.
- 8 Letters long / 20 letters (4.0b onwards)
-
79. How do you find if a logical database exists for your program requirements?
- Get table command
- Table name – where used list – logical database
- Attribute

80. 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 structure?
- Go to transaction. F1 and go to technical information.
81. How do you find the menu path for a given transaction in SAP?
- Go to dynamic menu, Give the search term i.e. transaction name
- SAP std menu – ABAP/4 workbench – Development / utilities.

82. What are the Different Modules of SAP?


- PP PM MM FI SD HR

83. What is IMG in SAP?


- Implementation guide containing all IMG, activities arranged by business application components.

84. How do you get help in ABAP?


- Place cursor on required field and press F1 or H keyword in command mode.

85. What are different ABAP/4 Editors? What are the differences?
- Command mode Editor
- PC Mode with line numbering
- PC Mode without Line numbering

86. What are different elements in layout sets?


- Paragraphs
- Character String
- Page
- Page Windows
- Windows
- Header Data

87. Can you use if then else, perform etc. statements in SAP Script?
- YES

88. What type of variables normally used in sap script to output data?
- & Tables name- fields &.

89. How do you number pages in sap script layout outputs?


- & page &
- &next Page &

90. What takes most time in SAP script programming?


- Defining layout set up / sets.
91. How do you use tab sets in layout sets?
- Define paragraph with defined tabs.

92. How do you backup sap script layout sets? Can you download and upload? How?
-

93. What are presentation and application servers in SAP?


-

94. In an ABAP/4 program how do you access data that exists on a presentation server v/s on an
application server?
-

95. What are different data type in ABAP/4?


-

Memory Management
Advantages of new memory management

- Quicker access to internal tables and lists


- Quicker context change
- Less load on CPU and disk
- Performance advantages

96. Can R/3 be operated with old SAP paging?


- In emergency – Yes But only temporarily.

97. Reasons to continue using old SAP paging system?


- Os requirements for new memory mgt. Sys – not met
- Extremely large user contexts in background jobs.
- Extremely large total of all dialog user contexts
- Extremely heavy OS paging due to too little main memory.

98. Does new memory mgt. Require more main memory?


- No more main memory than with old SAP paging with a large paging buffer large paging
- Buffer - needed for good performance.
99. What happens if main memory is not large in new memory mgt.?
- OS paging increases if it exceeds a certain value, (depends on disk throughput) performance
declines.

100. How to use the new two-part roll area?


- Some data must be held in roll area and must be rolled into and out of work processes. Roll area
must not drop below a minimum size. In two part roll area implementation, you can limit amount of
data in roll area before extended memory is used remaining portion of roll area is used only if no
further extended memory can be allocated to a user context.

DICTIONARY
101. What is a dictionary?
- Dictionary contains Meta data or information for the data in data management system.
- It supports redundancy free data storage and data integrity.
Primary Key – field or combination of fields used to uniquely identify a row of the table
Foreign Key - Combination of fields in a table acting as a primary key in another table.
Difference between structure and a Table – Using tables, data can’t be stored
permanently in Database, and Structures contain data only during the runtime of a program.
Structures – Used for defining data at the interface between module pools and screens and for
standardizing parameters of functional modules.
Table attributes – Determine who is responsible for maintaining the table and which type of access
is allowed for the table e.g.:
Delivery class – table maintained by sap or customer.
Table maintenance allowed – Table entries accessed using std table maintenance.

Activation Type – Whether table can be activated directly from ABAP/4 dictionary or

whether the runtime object must first be generated by c program.

Database Utility – Interface between ABAP/4 Dictionary and the database.


Data Elements – Describe the role played by a field in technical context. Fields of same semantic
meaning refer same data elements.
Domain – describe technical characteristics of a table field. It specifies the value range, which
describes allowed values for a field.
Index – Copy of database table reduced to specific fields
Function – speed up scanning of table for data records satisfying a given search criteria.

Foreign key Table – Table which contains the foreign key. E.g. ZEMP table.
Check Table – Table which has foreign key of another table as its primary key e.g. DEPT.
Cardinality – N: M indicates how many dependent record or referenced records.
View :- used to summarize data distributed among different tables type of views
Types of Views
– 1 Database – created in database (read only)
– 2 Projection - used to suppress the display of table fields (all operations possible)
– 3 Help views – Display information in online help system
- 4 Maintenance views – used to realize commercially relevant views on data customizing
vies
business oriented approach to looking at data Views that cannot be used to create new
views

- Structure views – used to generate a structure from several logically connected tables
- Entity views – used to represent entity type of Data Modular on tables of ABAP/4
dictionary
Maintain Status – Determine if records can only be read or if it is also possible to change them.

Match codes – tool to help you search for data records in the system
Match codes object – describes the set of all possible search paths for the search term.
Match codes Id – describes a special search path for a search term.
Match codes
- fields from several tables
- built on the basis of transparent tables, clusters and pools
- restricted by stipulating selection conditions
- use as entry aids

Database index - fields from only table

Lock Objects – simultaneous access of records by two users synchronized by lock objects.
Activation – During activation, the runtime object of aggregate object or tables is created. The runtime object is
buffered so that the application program can access it quickly. Runtime object has information about the
following objects of table
- domain – data elements – field definition – table definition

Time stamp – whenever the table is activated, a time stamp is created and stored activation of table in ABAP/4
dictionary affects time stamp of all reports using it. When the program is called we can determine whether to
execute it or regenerate it by comparing the time stamps

Type of stamp – CRSTAMP – most recent activation of table

- ABSTAMP – comparison of reports


- DYSTAMP – comparison with screens.

Runtime object – of a table collects the information about the data elements, domain field definition in a form
optimal for program access. It is created when the table is generated for first time.

Mass activation program – Activate large sets of objects Simultaneously.


ADV –

1 – large no of tables are affected by the change of domains or data elements at a time, so
reactivated only once.

2 – related objects and its associated value table could be activated together else we should
maintain sequence correctly.

Activation Procedure –

Step 1 – internal and external characteristics check (naming convention. Relation between check
table and value table.

Step 2 – partially active objects are checked whether external characteristics are arranged in order
Changing the structure – deleting the table in database. Activate the revised table in the dictionary. Table in
database is created. Data in table is lost.

Changing the database catalog by ALTER TABLE. Data is preserved indexes – recreated.

Converting of tables – original table is renamed and temporarily buffered, revised table is activated in ABAP/4
dictionary and created in database Data from temporary table is reconstructed.
Conversion procedure –
- 1 Generating a program
- 2 Renaming the database table Prefix of QCM is added to table name
- 3 Activating revised version
- 4 reloading data
- 5 secondary index
- we need at least 16 MB RAM for conversion

Lock Mechanism – prevents a new database operation being started an existing one has been correctly
completed. When conversion is done, lock is created automatically and released only when conversion is
successful.
Clearing of locks

– restart adjustment – attempt is made to continue conversion at the point of termination


– Cancel adjustment – lock entry is simply deleted from table
Restart log – progress of each step of conversion is noted in restart log,
Adjust structures –
- A – structured adjustment is activated by changing database catalog
- U – structured adjustment is activated by converting tables

Type of versions –
- Versions in ABAP Dictionary – active or partially active / revised
- Temporary versions
- Historical versions

Type of status
- New – newly created , not activated
- Activated – activated version of object used by other components during runtime
- Partially active – not yet been fully activated
- Revised – version changed after activation, but not yet re-activated
- Deactivated – match code Id is not proposed for selection by F4 help function
Version Management functions –
- Canceling changes – reset revised version to active version
- Storing changes – active version will be temporarily stored in version
- Switching changes – switch between active and revised versions

Version catalog – list of all existing versions of an object


- Revised version – produced when we edit an existing object
- Active version – produced when we activate an object
- Temporary version – produced when we copy the active version temporarily to the database
with store version functions
- Historical versions – created when 1. Correction is created 2 correction is released

Function provided
- Display old versions
- Retrieving historical or temporary versions
- Comparing versions in same system
- Comparing versions in different systems
Buffering – created locally on application server, changes in buffer are loaded in log table. Synchronization
mechanism runs (1 –2 min) log table is read and buffer contents changed by other servers are invalid.
Synchronization of all buffers in application servers is by asynchronous procedure
Tables that can be buffered – transparent and pooled tables
Possible buffering types
- full buffering – either, whole table or none of the table is located in the buffer (Tables up to 30
kb done in client dependent fully buffered tables)
- Generic buffering – generic areas of the table are fully buffered.
- Generic key – left justified section of primary key of a table.
- generic area – all records for which fields of generic key correspond
- Single record buffering – records actually being accessed are loaded to buffers, large records
where few records are accessed.

102. When to reset a buffer?


A) If consistencies occurred between the buffer contents and the database.

103. What is Database Utility?


A) Interface between ABAP/4 dictionary and relational database in SAP system. It allows to create, delete and
convert objects from ABAP/4 dictionary in the database.
Processing types :-
Direct – Changes carried out immediately.

Background – background job is scheduled.

Enter mass processing - entries are generated with relevant function in system table TBATG.

Repository Information System: - tool that makes data stored in ABAP/4 dictionary available.
Find - search for objects from a specific object class that meets certain search criteria.

Where-used list: -used to determine the use of an object in other objects.

Data types in R/3: -


Layers for data and data descriptions:

 External layer – plane at which user sees and interacts with the data
 ABAP/4 layer – data formats used by ABAP/4 processor.
 Database layer – data formats used in the database.

Table spaces and extents: -


 Table space - physical storage area in the database.
 Database – determines in which table space the table is stored when it is created in the
database.
 Size category – describes the probable space requirement of the table in the database.

Transport system: -
 Allows you to transport changes made to a particular development object.
 Allows transporting objects from one SAP sys to another.
Table pool: - used to combine several logical tables in ABAP/4 dictionary, created for each match code object.

Table clusters: -
 Combine several logical tables in ABAP/4 dictionary. Several logical rows from different cluster tables are
brought together in a single physical record.
 Used to store control data, temporary data or texts e.g. documentation.

Work bench organiser: - provides assistance for organizing development projects by allowing you to
distribute project work for individual developers or teams among different change requests.

Request: - Objects from the areas of customizing and ABAP/4 development workbench are managed
and recorded in separate requests.

Request overview: - When we start the workbench organizer, we are presented with a request
overview that shows all change requests available and allows us to access several levels of detail,
right down to the level of the object list itself.

Task: - Developments, correction and repairs recorded in tasks.


Change request: - Tasks are transported using change requests.
Development class: - Indicates which area the object belongs to. (Set of repository objects, which are mutually
different.)
Production system: - Development projects are carried out here.
Transport log: - Enables you to immediately find out which objects were transported, by whom and why.
Transport system: -Used for moving objects from SAP development system to production system or between
different systems.
System types: -
 Development system (development work).
 Quality assurance system: - Development and customizing settings are tested here.
 Production system: - After successful testing, cust. Setting released here.
 Training or demo systems: - For presentation of completed developments.
 Relationship between system types.

Special development system: - used for programming critical paths of development projects.
Integration system: - developing applications and testing systems.
Consolidated (production) system: - receives transports from integration system. It contains released versions.
Recipient system: - receive transportable change requests as soon as they are imported successfully into
consolidation system.
Transport layer: - describes the transport route for distributing the developer class objects among various
systems in the group. All development classes are distributed via same route belong to same transport layer.
Correction system: - prevents parallel, uncoordinated changes to the same object, even if many copies of the
objects exists, connected by SAP system. It saves all changes to repository and customizing objects in original
system on a version database. It is activated each time the user edits Repository object.

Request category: -
 CUST – client-specific customizing.
 SYST – SAP Repository and customizing for all clients.

Request Types: -
 Transport request – List of objects to be transported.
 Repair request – List of changed objects, which are not original.
 Local change request – List of local objects.
 Correction request – List of all changed original objects.
 Object list – List of all transport objects.
 Customizing request – List of all changed client specific-customizing objects.
Request source client: - Client in which requests and all assigned tasks are edited.
Request target client: - Client where request is imported.
Private object: - Exempt from the correction system.
Local object: - Exempt from both correction and transport systems.
Restrictions on transport system: -
 Cannot overwrite, add to or delete original objects that are under repairs.
 Can transport to consolidation system only with transport type K.
 Can transport to recipient systems only from consolidation system to which recipient systems
have subscribed.
Protecting a Transport Request: - Lock the objects listed in requests so prevents users from correcting it.
Task & Request Status: -
 DOCUMENT – still editing a task or request and have not protected or released yet (not locked).
 LOCKED – shows that you have tried to lock a task or request, but not all objects are locked.
 LOCKED ALL – objects in task or transport layer-locked successfully.
 RELEASED – task or request released.
 OPEN – released but not yet transported.

Tables associated with CTS: -


 TSYST – list of available systems.
 DEVL – ABAP/4 Development Workbench transport layers.
 TWSYS – consolidation routes for change requests.
 TASYS – recipient system.

Memory
SAP memory (Global Memory): - is available to a user during the entire duration of a terminal session. Its
contents are retained across transaction boundaries as well as external and internal sessions.
External session: - when user logs on to R/3 system, the system creates a new terminal session called external
session. E.g. System  Create Session.

Internal session: - created by calling a transaction (with CALL TRANSACTION), a dialog module (with CALL
DIALOG) or a report (with SUBMIT or RETURN).
For external session: - internal sessions are allowed.

Read/Write from SAP memory: - GET PARAMETER / SET PARAMETER.


Roll area: - Data areas of used programs are created in roll areas for each internal session.
Posting data between internal sessions: - EXPORT TO MEMORY and IMPORT FROM MEMORY.
Main program group: - Created when exporting an internal session.
Additional program group: - If a function module belonging to a function group not so far loaded, additional
program group is created.
Main program: - First program of program group.
Subroutine call: - When external subroutine is called, system loads the relevant program and adds it to the
program group of calling program.
Work areas: - Both table & common workareas with the same name are created once for each program group
and then shared by all programs in the group.
List system: - Consists of basic list and all details list belonging to basic list assigned to exactly one screen level.
User interface: - Only program has its own user interface. Internal sessions interface is initially empty. Special
user interface has to be activated using SET PF-STATUS statement.
ABAP/4 memory: - Retained only during the lifetime of an external session.
Data cluster: - Group of several data objects.
Data objects: - Units of data, which a program processes at runtime.

104. What is ABAP?


Advanced Business Application Programming is a 4th generation programming language created by
SAP for the interactive development of application programs.
105. What is ABAP/4 Development workbench?
An SAP CASE tool to develop standard application software or your own application 4 software

That can process both tables and your own tables.

106. Describe interactive reporting.


A reporting function with following features:

Screen –oriented

Short basic lists

Compressed data in the basic list

Detailed information in secondary lists or windows

Function key driven

107. What are the functions in the editor command line?


Press F1 or F4

Examples include:

I(nsert)-Insert new lines at end of text

FIND string -Multiple text search

N(ext)string-On/Off text search

R(eplace)string 1 string 2 -Replace String 1 by String 2

IC abc -Insert Structure

PP-Call Pretty Printer

Etc…

108. How do you: move, copy, insert, delete lines in the editor?
Enter the M,C,I,D line command in the number area M,C,D can function as block commands
(ie.MM,CC,DD) C,M must be accompanied by a direction indicators B(efore) and A(fter)

109. What are chain statements?


A way to join together successive statements starting the same way
Example: WRITE:/ 'xyz', X, COUNTER

110. Correct the syntax: data: wf_name(25) type C,


wf_age(3) type C,

Move myname to wf_name

Answer: data: wf_name (25) type C.

wf_ age (3) type n.

move 'myname' to wf_name.

111. What is program attributes type ‘I’,'M'?


Type: I=3D Online Type:I=3D Include

StatusT=3D Test

Application : m=3D Material Management or module

112. What is the program application field used for?


The attributes "type”, "application”, "class" are used for management of ABAP/4 programs.

"Type" and "application" are the only ones required to create program.

113. What is the syntax of the WRITE statement?


WRITE <format> <value><options>

Format = 3D/p(l)

/- line feed

p-column position

l-output length

value=3D output value field or literal

options-format options

Example: Write: /5(3)'CAPPY'.

output starting at position 5 3D CAP


114. Where are text elements maintained?
ABAP/4 >>Development>>Text Elements>>(headers, columns titles etc.)

SE38 >> Text Elements >> (headers, column, titles etc.)

115. What functions do the ULINE and SKIP commands serve?


ULINE-generates a dotted line

SKIP-generates a blank line

116. What are the data types within SAP?


P-Packed number

I-Integer

F-Floating point number

N-Numeric text

C-Text

D-Date

T-Time

X-Hexadecimal

117. What purpose does LIKE serving?


To define variables that are similar to those you previously defined or those that exist in the Data
Dictionary

118. What is the syntax of the COMPUTE statement?


COMPUTE X=3D A + B (COMPUTE is optional.)

119. How is the PARAMETERS statement defined? What does it do?


PARAMETERS : PAR1 TYPE P,

PAR2 DEFAULT 'X'.

Allows a selection screen to appear for user-input when report is executed.

120. How do the field-symbol and assign statements work with each other?
Name 3 ways to activate the debugger.

Via menu navigation

Set breakpoints in the program

Type '/h' in the command field when executing the program

Describe the functions of the debugger screen.

Single step -Process the next program line

Execute- In contrast to the single step,executes all processing steps belonging to one line

Continue-Processing continues until the next breakpoint or until the end of program

Table--Display the contents of internal tables

Editor-to go to the ABAP/4 editor

Hexadecimal display-Data contents can be displayed in hexadecimal format

Replace-to change the data contents during debugging

121. What is the basic format of the SELECT statement?


Select * from <table-name> where <logical expression>

EX:SELECT * from TABNA

WHERE COUNTRY=3D 'USA'

122. How do you limit the data retrieved by a SELECT statement?


WHERE

123. Where and where do you use a goto command?


NEVER

124. Are the following logical expressions true or false?


T a) value1 LT value3

T b) value3 > value1

T c) value2 between value1 and value 3


F d) value2 LE value1(?)

T e) value3 <> value1

F f) value3 CS '+5'

T g) value2 CA '0A9GB'

**NOTE wildcards +,*, # only work with CP

125. What is the output of the following?


Given TABA:

Country City

A NewYorkNews

A Johannesville

A MartinMarietta

A Rockville

B Littleton

B Sr.Charles

PROGRAM Program

TABLES: TABA.

SELECT*FROMTABA.
ON CHANGE OF TABA-COUNTRY.

WRITE: /TABA-COUNTRY, TABA_CITY.

ENDON.

ENDSELECT.

B Littleton.

126. What do CHECK, EXITS do in a program?


CHECK<logical expression> terminates the current loop or subroutine if logical expression is not

fulfilled;Outside of a loop structure , subsequent statements in the current processing block are

not executed (Syntax CHECK FLAG NE SPACE)

EXIT-terminates the current loop or subroutine; outside of a loop structure, subsequent statements
in the current processing block are not executed.
127. What is the difference between a field string and an internal table?
The declaration of an internal table includes an OCCURS parameter (the number of entries in the
main storage roll area) field string-corresponds to one record internal table-corresponds to many
records

128. T or F: Move corresponding is an effective way to move fields with like names from a DB
table record to an internal table header line?

129. T or F: An append will add a record to a database table?


You can only append to an internal table.

130. What is the effect of an include structure statement?


Allows you to quickly declare field strings and /or internal tables that are similar in structure to R/3
Repository Tables defined in the Data Dictionary.

131. T or F:The COLLECT statement will total up all P,I,F fields in database table
If non-numeric entries in the header line match those in the internal table, COLLECT will add all
numeric entries in the internal table header line to table entries where match was found. When no
match is found the contents of the header line is added to the end of the table.

132. T or F: The SELECT statement allows the processing in internal table.


Use the LOOP AT … ENDLOOP instead

133. T or F: The LOOP at command allows you to use the where clause.
If there is no table entry satisfying the 'where' logical expression ,the loop cannot be executed

And the system field SY_SUBRC is set to a value not equal to zero .In any case the entire table is
read.

134. T or F: The read table command using the key clause is similar to the select single.
Yes in that they both return only one entry from table But the READ is associated with an
internal And SELECT is associated with a database table.

135. How does the READ with KEY statement work?


READ TABLE <tab> WITH KEY <'string' or FIELD-NAME>
The search argument is compared character by character with the start of the 'tab' internal table
lines and returns one entry that matches

136. What field within the SY table contains the table index?
The SY_TABIX system field holds the index value of the table line which has been placed in the

Header line of an internal table.

137. T or F: An internal table can be deleted, modified, or inserted without the use of an index?
Within a LOOP you can make changes to an internal table. The line affected is always the current
line. If you don’t use the LOOP command an index must be used to change and internal table.

138. What does the CLEAR and REFRESH commands do?


CLEAR : Initializes(CLEARS) the header line

REFRESH : Deletes all table lines (deletes the body).Paging is released does not clear the header

FREE : Deletes all table lines ,Memory is released does not clear the header(deallocates the
memory).

**CLEAR and REFRESH are typically used together.

139. Why would you use describe table command?


To gather information about an internal table (i.e. OCCURS value ,LINES existing table entries)

140. What are the subroutines used for?


Subroutines are used in three different ways;

1) Subroutines and its call are in the same ABAP/4 program(internal call )
2) The subroutine is an external program
3) Function modules are stored centrally in the function library where they are assigned to a
function group. Unlike external subroutines function modules have clearly defined interfaces.

141. When should you use an include versus a perform versus a function module?
All are modularization techniques but typically the INCLUDE is for data structures, the PERFORM is
for ABAP/4 subroutines and function modules are for non-ABAP/4 subroutines.

142. What is the difference between internal and external calls?


INTERNAL-within program
EXTERNAL-outside program

143. Explain pass by value, reference and changing value?


By Value:When the subroutine is called ,the formal parameters are copies of the actual
parameters(with their own storage location)

By Value and Result : the formal parameters have a separate storage location .At the end of
subroutine the value of the formal parameter is passed to the storage location of the actual
parameter

Assigned

By Reference: when called the formal parameters are not allocated separate storage locations.
Instead the address of the actual parameter is passed. Changes to the values of the formal
parameters therefore have a direct effect on the assigned main program fields.

144. What is the syntax of perform, include and function modules?


Perform:

PERFORM <name> USING <a1> <a2> <a3> <a4>

FORM <name > [TABLES <table name>] USING VALUE (<f1>) CHANGING VALUE (<f2>)

Include:

INCLUDE <name>

Function modules:

CALL FUNCTION ‘function name’

EXPORTING …

IMPORTING …

145. How is data passed to a function module?


Using the EXPORTING clause

146. What are exceptions?


The EXCEPTIONS parameter is a section in the CALL FUNCTION statement where exceptional
situations can be processed.
147. How are they called and handled in the code?
CALL FUNCTION ‘function name’

EXPORTING…

IMPORTING…

EXCEPTIONS NOT_FOUND = 3D1

NOT_VALID = 3D2

OTHERS = 3D3

CASE SY-SUBRC

WHEN 1

WHEN 2

148. How can internal tables be passed to forms and function modules?
Internal tables are passed by reference in function modules and forms.

(For PERFORM –FORM statements use the TABLES parameter.)

149. What is global Vs local data?


Local data – data relevant only within a subroutine

Global data – data relevant within the entire program.

150. What is ABAP workbench?


ABAP/4 workbench is used to implement both simple and complex projects. It allows access

To the following tools

-R/3 Repository

-ABAP/4 program development

-Screen Painter

-Menu Painter

151. What is its use?


It can be used to develop ABAP/4 programs
152. What are the three categories of DATA in the SAP?
Master Data – changes relatively rarely

Transaction Data – kept for only a limited time in the system together with any associated index
tables.

System-specific Data – data, texts, ABAP/4 programs and so on.

153. What are the table types in SAP?


Internal Structure – Structures and attributes, which have no associated data records in the
database, belong to type INTTAB.

Transparent Table – Data Records are stored in the database in a table flagged in the Dictionary as
transparent. The name of the physical table corresponds to the name of the logical table definition
in the R/3 Repository.

154. What is Logical Database? What ABAP/4 command is used to process the Logical Database?
A Logical Database is a hierarchical structure of tables. Use the GET statement to process Logical
Databases.

155. What event is executed when START OF SELECTION event exits?


The statement END-OF-SELECTION is executed. This is different from STOP statement, which
terminates report processing all together.

156. What is the RSDBST00 report program used for?


RSDBST00 provides information about logical databases.

157. How is the GET LATE command utilized?


It occurs when all subordinate segments have been processed and before the system requests the
next table entry of the same table (hierarchy)

158. How do you use the STOP command?


The STOP is specified within the processing block END-OF-SELECTION, report processing is
terminated immediately and the list is displayed.

159. Explain the select-options statement.


It generates a line on the selection screen, the first part of which contains a text, followed by a range
for the input possibilities.
160. What is the syntax to declare values?
SELECT-OPTIONS

Variable_name FOR table_ element DEFAULT ‘range’ TO ‘range’

161. Does SELECT statement perform an authorization check?


SELECT statement does not carry out any authorization checks.

162. Why is it important to know this?


To remind the programmer that he/she should do this checks.

163. What are the attributes associated with SAPSQL?


SAP-SQL has the following attributes:

1) SAP-SQL syntax corresponds to that of standard SQL’s

2) SAP-SQL is a subset of standard SQL

3) SAP-SQL contains SAP short forms.

164. The most important thing to remember about the SELECT SINGLE is?
There are several things to remember:

1) It retrieves only one row


2) It does not need an ENDSELECT statement
3) THE FULL KEY OF THE TABLE MUST BE INCLUDED IN THE WHERE CLAUSE OF THE SELECT
STATEMENT

165. How do the BETWEEN, LIKE and IN comparisons work?


BETWEEN <f1> AND <f2> is inclusive

LIKE <with ‘%’ and ‘_’ masked literal> - string and character wild characters

IN (<field1> , <field2> , ……. ,<field3>)

166. Can Meta Characters be used in a where clause?


Meta characters are wild characters , i.e. ‘%’, and ‘_’ Yes they can be used in where clause

167. How do the command ranges work?


It is similar to the DATA statement for an internal table with the columns ,SIGN, OPTION

LOW and HIGH (It replaces the need to define a data structure with above statement)

168. Can you select a database record and place it directly into an internal table?
Yes, using the SELECT * from tablename INTO TABLE itab.

169. Describe the syntax and function of the AUTHORITY CHECK command?
AUTHORITY – CHECK OBJECT <object name>

ID <name1> FIELD <f1>

ID <name2> FIELD <f2>

IF SY-SUBRC NE 0.

170. How does the MESSAGE statement work?


Displays a message at the lower right-hand corner of the screen instead of a user note with WRITE.

MESSAGE-ID <class>

A message has a class, id and Qualifier

171. What is Data cluster?


It is grouping of data objects. It is divided according to various points of view into work areas
comprising data clusters

172. Explain the EXPORT and IMPORT commands?


You use EXPORT to specify the data objects of your cluster as a list. For an IMPORT, you need Only a
subset of the objects in your cluster in any order.

173. What is an event? And how (in what order) do they get processed in SAP?
An action within the SAP system beginning with a key word that introduces a new processing block

174. Describe the activities of the TOP-OF-PAGE event.


If you want to improve layout of the report output, you can use the keywords TOP-OF-PAGE and
END-OF-PAGE, HEADING.
175. How many detail lists can exist on top of the originally generated list? How can you keep
track of the number of lists?
Nine detail lists can exist. The system field SY-LSIND contains the index of the list, which is currently
being generated by the report.

176. What is contained in the field SY-LISEL? How and when is it loaded?
You often want to select a line in the current list and have additional information displayed
interactively for this line .For this purpose, you need to provide the appropriate data for the selected
line. The selected line is automatically transported to SY-LISEL.

177. Explain the HIDE command.


You can use the HIDE command to “hide” line specific field contents in a list.

178. What is the syntax to call a specific status, titlebar?


Place the cursor on the status name with the statement SET PF-STATUS <status> and double click or
press F2 (similar for SET TITLEBAR <code>

179. How does the system interpret pull down menu’s push buttons, PF-keys etc in the ABAP/4
code? OK-code
A GUI interface is associated with an ABAP/4 program. The different GUI interfaces are classified
according to their status .You can assign menus to each status:

- function key menu for defining the function key

- Pushbutton menu for defining the pushbutton sequence


- Menu bar for defining the pull-own menus.

180. What are the components of the status or menu?


Pushbuttons, menu lists, function keys and codes.

181. Wh at are the advantages of using AT USER-COMMAND (SY-UCOMM) Vs AT PF-KEY?


- A function can be assigned to another function key without program change required
- If a function key can be used in different lists or list levels you assign specific function texts to
the different status of this key
- An event triggered by a command Vs a pf-key

182. What is the MARKFIELD command how does it work?


183. Explain the READ LINE and MODIFY LINE commands.

184. What does a command window do?

185. Know the syntax of the SCROLL functions.

186. Explain the GET CURSOR command.

187. What can be gained using the GET CJURSOR command in the conjunction i.e. program
(ZZTEST01)
That has parameter of CUSTNO, customer number and a select options statements of DATE .

188. How would you call (Submit) program ZZTEST01 from your main program with return,
loading the customer number parameter with the value of Z66 and a date range of 19940102 to
19950102? I.e. What is the proper Syntactically correct command?

189. What are the differences between calling a program, transaction ‘with return’ and ‘without
return’ and how can each be accomplished?

190. What are the differences between the parameter SET and GET and the IMPORT EXPORT
commands? … Note each parameter can only store one field value.
IMPORT- from memory

EXPORT – to memory

191. How can you pass more than one group of data by using IMPORT commands?

192. You have a program that needs to call a separate?

193. How can you exit out of a submitted program and return to the original program?
Submit report

194. What are the characteristics and phases of background processing?


- Execution of ABAP/4 programs w/o dialog
- Complete integration in the SAP system
- Parallel background and online operation
- Ease of use
- Distributed processing=09
Phases
Job scheduling->job processing->job overview

195. How is the spool list is used?


To list jobs during the scheduling process.

196. Can data be transferred from one job step to another?


You can use ABAP/4 global memory to pass on the contents of fields, records, and internal tables to
subsequent steps, IMPORT/EXPORT statements.

197. What are the function modules for generating jobs?


JOB_OPEN , JOB_CLOSE , JOB_SUBMIT

198. WHAT are the commands that allow you to process sequential file? And what is their syntax?
READ DATASET (reading) and TRANSFER (writing)

OPEN DTASET <dataset name> for <input output appending> in <binary text > mode at POSITION
<position> MESSAGE <field>

READ DATASET <dataset name > INTO <field>

CLOSE DATASET <dataset name>

DELETE DATASET <dataset name>

TRANSFER <field> to <dataset name>

199. What is the process for transferring data from legacy system to SAP?
FTP file transfer, Manufacturer –specific field transfer NFS(network file system)

200. What is the difference between opening a dataset for input, output, appending?
FOR OUTPUT

Opens the file for writing if exists it is overwritten if not then it is created

FOR INPUT

Opens an existing file for reading

FOR APPENDING
Opens the file for writing at the end of the file .If it does not exist, it is created, if opened, you return
to the end.

201. What is binary mode?


The content of the data is not interpreted by the reading and writing operations. Data are entered or
displayed directly. Does not interpret carriage returns.

202. Explain the process to transfer a record to a dataset?


TRANSFER <field> to <dataset name>

203. Why batch input?


To input a large amount of information at off peak times.

204. Can data be put directly into the database?


No, only after the data has been checked.

205. Explain at high level, the batch input process?


Batch data is placed into queues called batch input sessions , then placed into the application
programs for maintenance into the database

206. What are the function modules associated with batch input?
BDC_OPEN_GROUP , BDC_CLOSE_GROUP , BDC_INSERT

207. What is the structure of the BDC table?


Program/Dynpro/start/field name/ field content

208. How do you find the transaction number, program number and field names?
F1, Technical help

209. Write out a coding example for filling a BDC Table?


FORM <NAME>

REFEESH <bdc table>

CLEAR <bdc table>


MOVE <program name > to <bdc table>-PROGRAM

<number1> TO <bdc table>-DYNPRO

‘X’ TO <bdc table>-DYNBEGIN

APPEND <bdc table>

CLEAR <bdc table>

MOVE: <field1> TO <bdc table>-FNAM

<field2> TO <bdc table>-FVAL

APPEND <bdc table>

210. What are the processing modes for Batch Input?


Process on screen , Display errors only and process in the background

211. What are the available OK Codes that can be utilized during batch input processing?
/n – terminates current batch input transaction and marks as incorrect.

/bdel – delete current batch input transaction from session

/bend – terminate batch input processing and mark session as incorrect

/bda – change display mode to process the session on screen instead of displaying only errors

/bde – change display mode to display only errors instead of processing the session on the screen

212. What is the effect of the BDC_CURSOR field name in the BDC table?
You can set the cursor and enter as a corresponding field value the name of the field on which the
cursor is to be positioned

213. Where is processing logic located in an on-line program?


ABAP/4 program (module pool)

214. Describe the online processor. What is its function?


Controls the flow of online program

215. How are screen names defined? Do you create a screen first or define your program first?
Define the program first and then create a screen
216. What does PBO stands for? When is the PBO logic performed?
PROCESS BEFORE OUTPUT –Processed before the screen is displayed

217. What does PAI stands for? When is the PAI logic performed?
PROCESS AFTER INPUT –Processed after the user has pressed ENTER.

218. How is data passed from the screen fields to the ABAP/4 program?
Through the flow logic

219. What does the TOP Include do for you as a programmer?

220. What are the steps in creating screen?

221. Where are the module statement declared? Where is the logic within each module?
Module statements are in the flow logic within each module is in the ABAP/4 module pool
Program.

222. What is the significance of the word ‘OUTPUT’ in the declaration?


MODULE TEST_KNOWLEDGE OUTPUT

ENDMODULE.

Then we know that it is part of the PBO, therefore is processed before the screen is presented.

223. Describe the fields on the screen


Attributes screen , Screen types ,follow up screens , cursor position etc

After you have entered the screen number, the screen branches to the screen attribute
maintenance. Enter a short description , select the type NORMAL and specify the number of the
Follow-up screen.

224. What are the three components of ON-LINE program?


Screen , ABAP/4 program and transaction code

225. What is gained by using the Dictionary Fields menu option when creating your screen?
The fields you have created inherits the same attributes as those in the Data Dictionary.

Create a checkbox , frame, pushbuttons and radio buttons on a screen

Just type a name and go to graphic element push button.

226. How do you assign an OK_CODE for a push button? How it is used in your ABAP?
In the field list ,name the element and give it the value that it will represent when pushed

You must make sure that you clear the field that represents the pushbutton after every check.

227. What automatic checks does the screen perform? (should be four)Describe all four and how
they are used?
The field format, required input, a foreign key table, parameters

228. What are the two methods to declare input field as mandatory?
In the field list placing a question mark as the first entry in the input field.

229. How does foreign key work? What you have to put in your screen to identify the foreign
key?
No? Then where is the foreign key identified?

You have defined a screen field by referring to a Data Dictionary, which has a check table. When the
foreign key is checked the system compares the values of the fields to be checked with the contents
of the key fields of the corresponding table.

230. What are the two effects of the foreign key from a user standpoint?
Possible entries & a check against the key field contents.

231. What is user defined validation checks in the flow logic?


FIELD…SELECT FIELD…VALUES or in the module pool FIELD…MODULE

232. Does the value command in the flow logic go in the PAI or the PBO event?
PAI

233. If an error occurs in the module pool, which fields are available for entry and which are
display only fields?
Only those fields defined with the FIELD statement before MODULE & relevant checks in a chain.

234. When is the chain command used in the PBO event?


If you want to make more than one field ready for input after an error.

235. What table stores the online messages? What is the message class and what is its
significance?
Table T100. The message class is a specific class of messages for a group of transactions

236. What are the 5 different message types and how are they handled by the system? What is
then difference between the Warning and Error messages?
A : Abend Message displayed on the current screen and subsequent task terminated

I : Information Message displayed on the current screen , but user can continue program by pressing
ENTER

E: Error Message displayed on the current screen. With FIELD statements , the fields concerned
become ready again for input and user is required to make the entry /entries again

W : Warning As E message , but correcting input is optional

S: Success Message displayed on the follow-up screen as an I message.

237. What does WITH statement add to a message?


In the place of the & or $ the fields or values are placed in the error message.

238. What effect does the FIELD statement have within the flow logic?
The field statement resets the fields so those fields are ready for input again.

239. What is the importance of the chain statement?


The CHAIN statement allows you to include multiple FIELDS for reenter.

240. Where are the messages displayed on the screen?


At the bottom

241. Is the SET PARAMETER statement to be issued in PBO or PAI module? Why?
PAI, the value must be input into the fields first before it can be placed in the buffer.
242. Where does the GET PARAMETER statement get its values? Which field gets populated with
the new value?
From the buffer

243. Where can the SET CURSOR command be executed? What is its effect?

244. What are the matchcodes and how do they affect the screen field? Where are they specified
in the online program?

245. What is the effect of an ON CHAIN-REQUEST command in your flow logic?

246. What commands are used to change database table entries?

247. How can you check if the changes to the database were successful?

248. What is the difference between the Long form and the short form of making database
changes?

249. What is the advantages using the SAP long form over the short form of database changes?

250. Can ‘where’ clause be used when updating database entries?

251. Describe array operations and their advantages?

252. What is logical unit of work? How is it defined?

253. What function is performed by the commit work command?

254. Why is it so important for a programmer to check the lock entries?


To find out if record is locked and also to maintain data integrity.

255. How can you find a lock entry for a database table?
The function module ‘ENQUEUE <lock object>’ checks whether a lock was triggered for the same
object. Otherwise an exception FOREIGN_LOCK is carried out. If the object is not locked the function
module sets the lock.
256. What steps are necessary to set a lock on a record within a database table?
Execute CALL FUNCTION statement

CALL FUNCTION “ENQUEUE <lock object’>

EXPORTING…

EXCEPTIONS…

CASE SY-SUBRC.

ENDCASE.

257. How do you unlock the entry? Why is this necessary?


Execute the CALL FUNCTION statement

CALL FUNCTION ‘DEQUEUE <lock object>’

EXPORTING…

It is important to unlock the entry so others can update it.

258. What is the difference between ‘CALL SCREEN # # # ‘ and ‘SET SCREEN ### ’ … LEAVE
SCREEN?
SET SCRREN statement sets or overwrites the follow-up screen.

LEAVE SCREEN executes the screen number currently in the follow-screen field

CALL SCREEN interrupts the processing of the current screen to call a new screen or a chain of
screens, processing of the current screen is resumed directly after the call.

259. After a CALL SCREEN command where does the processing return after the screen has been
executed?
It returns the processing to the calling screen

260. Which is the more similar to a call with return, the SET SCREEN or the CALL SCREEN?
The CALL SCREEN command.
261. What function is performed by the SET SCREEN 0 command?
Returns to the original screen

262. What are the main differences between the repot status and screen status?

263. Where must you place the SET PF-STATUS command in your online program?
Place it in the PBO module of the screen

264. Why is it good idea to clear OK_CODE field after deciding which action to take?
You need to clear the OK code to avoid sending a screen that already has a function code.

265. How do you specify that a function is an exit type command?


By specifying function type E for the pushbuttons or menu options in the screen painter or menu
painter

266. What is the purpose of the ‘AT EXIT-COMMAND’?


Usually there are many ways to leave a screen (back,exit,cancel) .This command will perform
termination logic for all functions of type E

267. What are screen groups?


A group of screen fields such as radio buttons or checkboxes.

268. What is the correct syntax for dynamically modifying a large number of screen fields?
MODULE MODIFY _SCREEN_OUTPUT

LOOP AT SCREEN

IF SCREEN –GROUP = 3D ‘GR1’

SCREEN-INPUT=3D 1

ENDIF.

IF SCREEN-NAME = 3D ‘TAB-FIELD’
SCREEN-ACTIVE=3D 0.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

269. What is the name of the internal table that stores the screen information?
SCREEN.

270. What is the purpose of the MODIFY command when performing the dynamic screen
modifications?
After you activate or deactivate the field attributes by assigning them 1 or 0, you save the
modifications via MODIFY SCREEN command.

Technical Questions from the BC team (Group 1)

Set 1:

1. Direction for the use of view object within the program?


View object – A view object is a virtual table tailored to the needs of an application .This allows

Direct access to specific data.

View object is used in within an ABAP/4 program the same way a table is used. If you have created a
view object ZVIEW , you can display its contents using following example program

REPORT ZEXAMPLE.

TABLES: ZVIEW.

SELECT * FROM ZVIEW.

WRITE: / ZVIEW.

ENDSELECT.

2. Direction for the use of check box and radio buttons in screen painter?
Creating Radio Button and Check Boxes on the screen

1) Go to the full screen editor.


2) Place an underscore at the point where you want to place the field.
3) Define the name of the field using <Field Attributes>
4) Place the cursor on the field and press <Graphic element>
5) Then press <Radio Buttons> or <Check boxes> depending on which graphic element you want
6) Then you group related check boxes and radio boxes.

Difference between Radio Buttons and Check boxes.

Radio buttons force one and only one entry to be active (Value ‘X’. Inactive has value '') for each
group before control is passes back to the program.

Check boxes allow for any combinations of entries on the screen.

3. When table in data dictionary is created , the relationship between cardinality factor and table
Cardinality:
The following values are allowed when inserting data:

C - 1 To 1 (Optional)

CN - 1 To M (Optional)

N - 1 To M (Mandatory)

I - 1 To 1 (Mandatory)

Dependency factor:

This defines the foreign key relationship when applying updates.

4. When an internal table is created, the settings criteria for the value of occurs?
The objective of setting the value of an occurs for an internal table is a question of optimization. The
following facts should be taken into account when making such decision.

1) The complete data area of a program is 64000 bytes.


2) The initial size declared is kept in roll area (quicker access to program)
3) Data entered that exceeds the initial size stores in the roll file (Slower access to program)
You should also analyze the expected volume and access rates before making the decision.

5. When entering values on table related with foreign key using on-line program (using insert),
why checking on possible entries on foreign key is not carried out?

6. Direction for the use of area menu?


Area menus are used purely for the pathing to transactions. They contain the same information

As a transaction except for the part that is defined by the screen painter component.

Details of the Area menu screen :


Title : Workbench : Maintain area menu initial screen

Transaction : SE43

Path : Tools ->CASE->Development->Maintain area menu

Creating an area menu:

1) Enter the name of the new area menu.

Since there are no SAP area menus starting with "Z”, an appropriate naming convention would be
for all user created area menus to start with "Z".

2)Hit <Create>

3)Enter:

-Maintain Language (must be "E")

-Short text (description of area menu)

-Hit<Continue>

4) You should be now in the area menu editor.

The fields that you can maintain are as follows:

-Title : Text at the top of your area menu

-Menu bar: Text for pulldown menu options & functions or sub menus.

-Push button settings: - Number(s) of the corresponding function key(s) defined.

-Function key settings: - Text and associated definitions for function keys.

7. Description on roll area, work area, roll in?


Answer:

Roll area: Contains data that is automatically copied into the process ' private memory at the
beginning of the dialog step (Rolled in).

Page area: I believe that the page area is a section of memory, which is the size of 11/0 operation.

Work area: Contains the graphical user interface elements for the display and entry of data.

Roll in: When data is copied from the role file to the roll area.

Technical Questions from the BC team (Group 1)

Set 2:
It is possible to delete data entered with ABA/4 program in table maintenance. However, deletion of
data uploaded from SAM file in table maintenance is not possible.

Definitions: I am not sure if I understand this question. Are you asking if it is possible to delete
data from a SAP table using information stored on a Unix file or are you asking me if the contents of
a SAP file can be deleted before a Unix file is loaded? I need more information to be able to answer
this question.

The difference between two SYNTAX. Insert table name & insert table name, commit work.

The difference can be demonstrated by the examples below.

Start of Program I.

Database update statements

Run-time error occurs here

End of program 1= 20

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20

Start of program 2.

Database update statements.

Commit work statements =20

Run time error occurs here

…………=20

End of program 2=20

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20=20

Program I will not update the database & program 2 will.

Structured Logic

1. What is the difference between Structure & Intab table?


2. BDC program - How do you prepare? When you run BDC Program?
3. What is a Transaction for job definition, Explain those 3 modes.
4. Call transaction module, give syntax.
5. How do BDC program using Call Transaction - What are modes - A , N , E
6. "Check " statements, how it works.
7. Explain "Chain input" fields.
8. What is the difference when use fields in Chain, End Chain and when use in Subroutine?
9. Difference between Append and Collect statement?
10. How you populate internal table.
11. Syntax to create for internal table. Why you use occur parameter?
12. Debugging a program - give how you set breaks points?
13. Explain Field Group.
14. What is a Field symbol?
15. Transaction for Menu painter?
16. Transaction for Screen painter? What is flow logic? Explain
17. Transaction for MM creation?
18. Transaction for Sales Order (S /D) - Create, Display & Change?
19. Transaction for Delivery (S / D) - Create, Display & Change?
20. Where you specify logical database, while you are creating a program?
21. If you want to run two programs , within one program how you run
22. Another program instead of opening another session? 22. Parameter, Select Option -difference?
23. Example of nested "Select " statement syntax?
24. Give some System Fields.
25. At line - selection how it works. Which system field contains information?
26. How do you declare and call subroutines?
27. What is the difference between Move & assign statement?
28. What it does "New-Page" statement?
29. What is a Transaction for creating a Job and how you navigate from menu path?

30. What is Internal Table?


Internal Table is a temporary table, where you store the data temporarily in a BAP program.

Types of Table types - Logical level

Transparent,

Pooled, cluster

Database Table

31. What is BDC and How you use it?


Batched Data Communication. Batch input is an automatic procedure for the non-online data
transfer of data into the system. BDC is used mainly to port data from legacy system to New system
Using file access command like OPEN DATASET, READ DATASET. We populate the data into database
tables. This can be run as a batch job using BDC. SAP strongly recommends that you use same screen
flow to populate a table because that way referential integrity and additional checks are done
properly.User dialog is simulated

32. What is Dataset and How you use it?


To open operating system file you use OPEN DATASET function FOR OUTPUT or INPUT or Append
Mode.

Ex : OPEN DATASET Dataset _ I FOR OUTPUT

33. What is a variant and Where do you use this?


Variant contains parameters for a program. You can run a program either using variant or directly. If
you run directly you have to enter all the parameters and if you use variants you do not need to
enter parameters. You can have many variants for a program.

34. What is Set Parameter and Get Parameter?


We can store parameters in memory (SPA /GPA Memory) using Set Parameter and Get Parameter
commands. Set Parameter sets the value in the memory and and Get Parameter retrieves the value
from memory.

Ex : SET PARAMETER ID USER _ID FIELD EMPLOYEE-USERID

35. What is Field Symbol?


Field Symbol are variables. Main advantage of the Field Symbol is you do not have to define field

Type it can be of any type and any length depending on the field you assign at the runtime.

Ex. FIELD_SYMBOLS <F>

ASSIGN LFAI - NAMEI TO <F>

36. What is Menu painter? And How do use it in your application?


Menu painter is tool to create Menus, Push Buttons assignments and from Screens. During run time
you can assign any menu status to a screen.

You assign a four-character function code for each function and you use OK-CODE to identify which
function need to be run. You write code in PAI module for each function.

37. What are the variables that start with SY-?


These are system variables like

SY-DATUM System Date

SY-SUBRC System Return Code 0- Success, 4 - failure

These are the System Fields, you use this to generate a list

SY-Title

SY-pagct

SY-Srows

SY-scols

These are used for interactive reporting


SY-Curow

SY-CUCOL

38. What is Logical database and Explain about GET and PUT modules?
Faster Way of executing for selecting records.

Logical database is not a physical database. It is logical database structure of tables where you
specify the relationship between a set of related tables. Every logical database has root table & child
nodes. If you want to use GET table command in your program you need to declare that related
structure as a logical database. Once you specify the structure you set SELECT-OPTIONS and then
Database Program and modify the code for PUT Forms. This PUT forms are executed whenever you
use GET function in the code.

39. What are PBO and PAI?


PBO is process Before Output and PAI is process After Input. System runs code in PBO module before
displaying the screen. Code in PAI is executed for any user like clicking a button or pressing function
key and etc. …

40. How you use PERFORM command?


PERFORM command is used to call a sub routine from any module.

Ex. : PERFORM Message_ Handler USING 0

41. What is Screen Painter? And How do you write a script for command Button?
Screen Painter is a tool to create a screens which can have User Input fields, Command buttons,
Frames, Radio Buttons, Combo boxes, and Check boxes. Key point here is you need to specify OK-
CODE (you can give any name but normally you use OK-CODE) For OK function and you declare same
variable in Module Pool also. In PAI module using Case statements to determine which key was
pressed.

CASE OK-CODE

WHEN DELE

MODULE Delete _ Function.

42. What are Events?


Start of Selection

Get <table>
End of selection

43. What kind of On line programs did you write or use?


On-line program is a program, which is not off line or Background job. Transaction and Dialog
modules are online programs.

RHO Consulting
1. Explains what are the BDC Components?

2. What is the difference between TRANSP and POOL TABLE?

3. HIDE Statement, how it works?

4. RANGES statements, why you use in ABAP/4 programming?

5. In internal table how you get how many lines in it?

6. What kind of Transaction did you use? Where did you use? Why did you use?
SE38 ABAP Program

SE51 Data dictionary

7. What are the commands, which can be used only in screen, flow logic but not in ABAP?

8. How do you change the text (description which normally appears as non-editable on the screen)
of the Table field?
You can change the text for Data element. For data element you have Three different description
text (short, medium and long). You can Use any one of the texts.

9. Where do you store BDC information? (Which table?) and What are the fields in table?
In BDCDATA table. Fields are DYNPRO Screen Number

PROGRAM Program Name

FNAM Field Name

FVAL Field Value

DYNBEGIN
10. What do you know about profiles? How can you give an authorization to particular user?
A Profile is made up authorization. There are two types ;of Profiles single and composite.

Material setup

1. How did you do pricing? (including menu flow ) about policy


Table ----> (Customer/Material ) ------> Access Sequence (price Customer discount Material )

------> Condition type ------> Pricing Procedure ----------> procedure determination

SD config -----> Functions ------> Pricing -------> Control Data -----> Environment -----> Create tables.

1. Maintain condition tables of fields that can be used as Conditions to check for in pricing.
There is a fixed list of fields that can be checked.

2. What did you do in payroll?

3. What did you do in customizing Org. structure?


Set up Company group, company code, controlling area, business Area, credit control area, financial
management area, plants, storage Organization, distribution channel, division , shipping Points,
loading points, plant sections, person groups, person subgroups, and Payroll subunits and mapped
them.

4. What did you do in Account Assignment in material management? And also about valuation
class

5. What are number ranges? How did you assign?

6. What did you do in Time Data?

7. What are infotypes? How did you use it? Do you remember any info types you used?

8. What type of materials did you use?


ROH Raw material

HAWA Trading

FERT Finished goods

PROD Product Group


WETT Competitive product

9. What are the logical databases and tables did you use in MM and SD?
EMM Purchasing documents for material

EKKO (Purchase Document Header)

EKPO (Purchase document item)

EKET (Delivery Schedules)

EKPB (Material provided item in purchasing document)

EKKN (Account assignment)

EKBE (History of purchasing document)

MSM Material Master

MARAV View tabelle fuer die logische DB MGM

MARM Quantity unit

MBEWV View f=FCr logische Datebanken

MVKE Material Master : Sales Data

MARCV View f=FCr logische Datebanken MSM

PROPF Forecast parameters

MARD Material master : storage location / batch segment

MCHB Batch stocks

MKOL Special Stocks from vendor

MLGN Material data for storage number

MLGT Material data for storage type

VFV Invoices in sales & Distribution

VBRK Billing : Header Data

VBUK Sales Document : Header Status and Administrative D

VBPA Sales Document : Partner

VBRP Billing : Item Data

VBFA Sales Document Flow


VBFAVG SD Document : Flow Records

VBPAPO Item Partner in SD Document

KONV Conditions (Procedure Data)

10. How do you create logical database? Menu Sequence also.


CASE  Development  Work Bench  Other Object  EDIT  Logical Databases

OR

CASE  Development  Program Maintenance  ABAP Development  Utilities 

Development / Test  Logical Databases

11. Hierarchy of Data Dictionary?


Table contain fields Tables

Fields data elements Data

Elements

Data elements domains Domains

12. What is the difference between Data elements and Domain?


Ans: - A domain (Generic data types) describes the technical attributes of a field, such as the data
type or the number of positions in a field. The domain defines primarily a value range
describing the valid data values for the fields referring

To this domain.

Data elements (Specific data types) A data element is an elementary type. It describes the
type attributes (data type, field length and possibly the number of decimal places) and screen
information (explanatory text or field help) about unstructured data objects (table fields and
structure fields or variables).

Table fields and structure fields with the same contents should refer to the same data
element. This ensures that the attributes of these fields are always consistent.

A data element can be referenced in ABAP programs with TYPE. This permits you to define variables
that take on the type attributes of the data element in an ABAP program.

13. How the tables in logical databases are related to each other?
14. What are the different relations between two entities?
One-One, One-Many and Many-Many

It is also called as cardinality.

CN 0,1,More

C 0, 1

N 1 or More

1 1

15. What is 3-tier architecture? What does that middle layer do?
Client, Server and Application Layer.

16. What did you do in shipping? About the process?


Ans: - Shipping Conditions are defined in Customer Master. (Table KNA1 (General Data))

Transportation groups are defined in Material Master. (Table MARA (General Data))

All valid leg combos must be configured in the system. (A leg is the link between a starting and a
finishing point).
The shipping point is defined for each order item

The route groups legs together.

Shipping  Delivery Order (create and save)  Picking  transfer orders (create & confirm)

17. What are the different sections in Functions?


IMPORTING, EXPORTING and EXCEPTIONS

18. What are Field Groups?


Ans: - An extract dataset consists of a sequence of records. These records may have
different structures. All records with the same structure form a record type. You must
define each record type of an extract dataset as a field group, using the FIELD-
GROUPS statement.

FIELD-GROUPS <fg>.

This statement defines a field group <fg>. A field group combines several fields under one name. For
clarity, you should declare your field groups at the end of the declaration part of your program.

19. In your experience programming AMAP/4, What guidelines do you follow as best practices?
Ans: - a) Store data in internal tables to reduce duplicate processing.
b) Copy an existing process and changes it.

c) Follow prescribed naming conventions for programs.

d) Use an include statement (ZIU0001) from the main documentation block.

e) For describing the content of the program, such as date, program author, purpose, list of
parameters and specifies, list SAP tables used, and list external input/output, tables/files are used.

20. What are some of the SAP ABAP/4 control statements that you used to write one of your more
complicated programs.
AT END OF…END AT

AT NEW…ENDAT

CALL

CASE...WHEN…ENDCASE

CHECK

DO…ENDDO

EXIT

FORM…ENDFORM

IF...ELSE...ENDLOOP

LEAVE

LOOP...ENDLOOP

MODULE...ENDMODULE

ON CHANGE OF...ENDON

PERFORM…USING

SELECT…ENDSELECT

STOP

WHILE…ENDWHILE

21. What are the different data types that are supported by SAP ABAP/4?

And how did you use them in your programming experience?


Packed, numeric, Character, and Date

22. What are the various data structures (table processing) used in the ABAP/4 environment?
Ans: - The data structures are field string, internal tables, append and collect.

23. Have you ever developed a batch-input program? If so, what approach did you use to get data
into SAP?
Ans: - Batch Input is a SAP method for transfering data into SAP System. The transfer consists of two
phases:

1) Create the batch input data for the target SAP system (ASCII data files are specially prepared for
SAP batch input processing).
2) Processing the batch input data in the target system.
There are three approaches for submitting data for batch processing:

1. Batch Session
2. CALL DIALOG Statement
3. CALL TRANSACTION Statement

24. Have you ever done any transaction program/development using ABAP/4, screen painter, and
menu painter? If so, describe the steps or technique used to develop transactions?
Ans: - The following list outlines the general steps that should be followed when developing a new
SAP R/3 transaction. I do not have to be performed specifically to this sequence, but these
topics/steps should be performed.

1. Preliminary work: Design the transaction, specify the transaction code in the system and enter
the transaction attributes.
2. Define global data in the data dictionary. Determine which domains, data elements, and tables
you want to use.
3. Create an ABAP/4 module pool. Create a module pool for the transaction and assign a name and
attributes according to the customer naming conventions.
4. Define screens (Screen Painter): Paint your screens, that defines the positions and texts of the
fields on the screen and assign appropriate names. In doing this, you point the Data Dictionary
fields you have defined in the Data Dictionary, Define the attributes of all screens.
5. Define menus, windows, and function keys (Menu Painter): Define the interface for your
transaction with menus, pop-up windows and function keys for each individual screen. Assign
function code to each function that the user can execute.
6. Define screen flow logic.
7. Program the individual modules: Write the detailed processing logic, program and modules
called in the screen flow logic, pass the data between the module pool and SAP memory,
process the function codes from the interface and process the reports.
8. Create and program on-line messages: Create on-line messages and document them (in the form
of texts) Call the messages in the appropriate modules. Observe the rules for error dialog.
9. Test the transaction. Test the transaction with the on-line debugging facility.
Transport transaction programs : Transport your completed transaction to the production
system
Instance.

25. Have you ever created a user-defined database in SAP/R3? If so how did you go about adding a
user-defined database to the system?
To add a user-defined database to the system, the following steps are required.

1) Define the structure in the data dictionary.

A. Go to the Data dictionary Maintenance screen. Fill in the name of the database you are
defining
B. Define the database structure
To do this, select the object class tables for editing. In the resulting screen, fill in the necessary
information about the database.

C. Provide the database fields. Go to the field’s screen so those new fields can be entered into
the system. You must atleast enter MANDT, RELID, SRTFD, SRTF2, CLUSTR and CLUSTD. When
you have entered all the required fields save the record structure.
D. Active the table. The table is now defined in the Data Dictionary and known to the system at
large.
Add the database to the system by going to the Database Create screen.

There select processing method of in -line, so that the database has been created, you can now
create database clusters with the EXPORT command or access the database records using SQL.

26. Describe the basic framework of an ABAP/4 program?


The basic structure of an ABAP/4 program is as follows:

REPORT report_name

DATA : pagebreak (12) TYPE C,

DATA : title (10) TYPE C,

TABLES: ABC, DEF, XYZ.

PARAMETERS: ABC-DSC.

FIELD-GROUPS:

FIELD-SYMBOLS

<name>

<street> = 7F
<city>

INSERT

INITIALISATION

INCLUDE ASD0001

START-OF-SELECTION.

Call to extract data from the database are performed here

END-OF SELECTION.

TOP-OF-PAGE

END-OF-PAGE

FORM Form_Name

ENDFORM.

27. What are the functional modules you have strong background?

28. What is the difference between a step-loop using internal table and a transparent table?

Section A
1. Please circle T(rue) or F(alse) for each of the following questions:-
2. Move Corresponding is an effective way to move fields with like names from a DB table
record to an internal table header line. (T / F)
3. An append will add a record to a database table. (T / F)
4. The COLLECT statement will total up all P, I and F fields in a database table. (T / F)
5. The SELECT statement allows processing of an internal table. (T / F)
6. The Loop at command allows you to use the WHERE clause. (T / F)
7. An internal table can be deleted. Modified, or inserted without the use of index. (T / F)
8. The SELECT command performs its own authorization check. (T / F)
9. The WHERE clause in the SELECT SINGLE command is optional. (T / F)
10. When using the GET and SET PARAMETER ID command the memory id must be defined to
the Data Dictionary?
11. The SET PARAMETER command’s function is to create a storage location in memory and
retrieve its contents?

Section B

There is only (1) correct answer for each of the following questions. Please circle the letter, which
you think corresponds to the correct answer.
1. A ‘LIKE’ statement is used to:
(a) Move similar fields between the header areas of internal tables.
(b) Set declared data fields to the same characteristics as a different data field.
(c) Assign a default value to a parameter.
(d) Pass parameters to a subroutine.
2. All are examples of SAP events except:
(a) Start of Selection.
(b) End of Selection.
(c) Top of Page.
(d) New Page.

3. The best definition of the ABAP.4 workbench is:


(a) A method of finding fields within the data dictionary.
(b) A method of navigating between SAP objects and a method of establishing a hierarchy between
related SAP objects.
(c) A screen that contains the attributes for screens, programs, transactions, etc.
(d) An easy way of creating objects in SAP.

4. Which is correct for reading an entire table, DBTAB, into an internal table, ITAB, structure that
was previously defined?
(a) SELECT * FROM DBTAB INTO ITAB.
(b) SELECT SINGLE * FROM DBTAB INTO TABLE ITAB.
(c) SELECT * FROM DBTAB INTO TABLE ITAB.
(d) READ DBTAB INTO TABLE ITAB.

5. Which is an example of ‘passing by reference’?


(a) PERFORM CHECK_FIELDS USING F1 F2 F3.
FORM CHECK_FIELDS USING VALUE F1 VALUE F2 VALUE F3.

(b) PERFORM CHECK_FIELDS USING F1 F2 F3.


FORM CHECK_FIELDS USING VALUE F1 VALUE F2 F3.

(c) PERFORM CHECK_FIELDS USING F1 F2 CHANGING F3.


(d) FORM CHECK_FIELDS USING VALUE F1 VALUE F2 CHANGING F3.

6. A ‘MOVE-CORRESPONDING’ command:
(a) Moves all data from an internal table into a database table.
(b) Moves all like named fields from one field string to another.
(c) Adds all numeric fields in a totals column.
(d) Allows you to declare an internal table to have the same structure as database table.

7. A ten byte long character field, WS-CUSTNUM, would be declared as:


(a) WS_CUSTNUM TYPE C.
(b) DATA WS_CUSTNUM LIKE SPLAN-TIDI.
(c) DATA WS_CUSTNUM (10) TYPE CHAR.
(d) DATA WS_CUSTNUM (10) TYPE C.
8. Each record within a database table is specified by:
(a) A specific index number or SY-TABIX.
(b) A unique key structure which can be same for multiple records within the table.
(c) One field, Known as the key field, that is specified to each record.
(d) A unique key structure which consists of any number of fields and must be unique for each
record within the database.

9. To set an initial value in the parameter, CUSTNO, what word is required in the following
statement to complete the syntax: PARAMETERS: CUSTNO(10) TYPE
C____________’0000111008’=20
(a) Value.
(b) Default.
(c) Initial.
(d) Like.

10. Which of the following does not have an END associated with it?
(a) LOOP.
(b) DO.
(c) GET.
(d) SELECT.

11. Which is the best example of a foreign key?


(a) Data element.
(b) Domain.
(c) A ‘VALUES’ statement within the PAI module of the flow logic.
(d) A check table.

12. An on-line program consists of:


(a) Flow Logic, a screen, and an ABAP program module pool.
(b) A Screen, an ABAP program module pool, and a transaction.
(c) Flow logic, screen and a PAI event.

13. PBO’s:
(a) Are events performed in the screen after the user has entered some data?
(b) Is a module pool for an on-line screen?
(c) Is an on-line event?
(d) Contains all logic for error messaging.

14. All of the following are examples of automatic screen field checks except for:
(a) Data formatting.
(b) Check tables.
(c) Values table.
(d) ‘VALUES’ statement in the PAI of the flow logic.

15. A ‘COMMIT WORK’ command:


(a) Reads in a logical database.
(b) Closes a logical unit of work and confirms the changes in the database.
(c) Cancels a logical unit of work and rolls back all changes made with the UPDATE.
(d) Is automatically performs at each ‘UPDATE dbtab’ command line

16. The following is an example of a call ‘without return’:


(a) CALL TRANSACTION ‘VAO1’.
(b) SUBMIT ‘SAPMV45A’.
(c) CALL SCREEN 0.09.

Provide short answers for each of the following questions in the space provided:-

1. Why would you use the DESCRIBE table command?


2. What do the CLEAR, REFRESH and free commands do?
3. What is the difference between internal and external calls?
4. Explain: Pass by value, Pass by Reference, Pass by value and result?
5. Name the 4 interface parameters of a function module?
6. What are the 3 categories of DATA in the SAP system?
7. What are the table TYPES in the SAP system?
8. What ABAP/4 command is used to process a logical database?
9. At what 2 points in the ABAP code can the STOP command branch to?
10. What is the difference between the templates ‘%’ and ‘_’ during string comparison?
11. Where is the processing logic located in an on-line program?
12. Describe the on-line processor. What is its function?
13. What does PBO stand for? When is the PBO logic performed?
14. What does PAI stands for? Where is it located? When does it get performed?
15. How is data passed from the screen fields to the ABAP/4 program?
16. What does the TOP Include do for you as a coder?
17. What are the steps in creating a screen?
18. Where are the module statements declared? Where is the logic within each module?
19. What is the significance of the word ‘OUTPUT’ in the declaration?
MODULE TEST_KNOWLEDGE OUTPUT

ENDMODULE.

Describe the fields on the screen attributes screen. Screen types, follow up screens, cursor
position, etc.

20. What are the three components of an ON-LINE program?


21. What is gained by using the Dictionary Fields menu option when creating your screen?
22. How do you assign an OK_CODE for a push button? How is it used in your ABAP?
23. What automatic checks does the screen perform? (Should be four.) Describe all four and how
they are used.
24. What are the two methods to declare input field as mandatory?
25. What are the two effects of a foreign key from a user standpoint?
26. What are user defined validation checks in the flow logic?
27. Does the VALUES command in the flow logic go in the PAI or the PBO event?
28. If an error occurs in the module pool, which fields are available for entry and which are display
only fields?
29. When is the chain command used in the flow logic?
30. Which table stores the one-line messages? What is the message class and what is its
significance?
31. What are the 5 different message types and how are they handled by the system? What is the
difference between the Warning and Error messages?
32. What does the ‘WITH’ statement add to a message?
33. What effect does the FIELD statement have within the flow logic?
34. Where are messages displayed on the screen?
35. Is the SET PARAMETER statement to be issued in the PBO or the PAI module? Why?
36. Where does the GET PARAMETER statement get its values? Which field gets populated with the
new value?
37. Where can the SET CURSOR command be executed? What is its effect?
38. What are matchcodes and how do they effect a screen field? Where are they specified in the
on-line program?
39. What is the effect of an ON CHAIN-REQUEST command in your flowlogic?
40. What commands are used to change database table entries?
41. How can you check if the changes to the database were successful?
42. What is the difference between the long form and the short form of making database changes?
43. What is the advantage of using the SAP long form over the short form of database changes?
44. Can ‘Where’ clause be used when updating database entries?
45. Describe array operations and their advantages?
46. What is Logical Unit of Work? How is it defined?
47. What function is performed by the commit work command?
48. Why is it so important for a programmer to check the lock entries in the database?
49. How can you find a lock entry for a database table?
50. What steps are necessary to set a lock on a record within a database table?
51. How do you unlock the entry? Why is this necessary?
52. What is the difference between ‘SET SCREEN ###’ and ‘SET SCREEN ###. LEAVE SCREEN.’?
53. After a ‘CALL SCREEN ###’ command, where does the processing return after the screen has
been executed?
54. Which is more similar to a call with return, the ‘SET SCREEN’ or the ‘CALL SCREEN’?
55. What function is performed by the ‘SET SCREEN 0’ command?
56. Where must you place the ‘SET PF-STATUS.’ Command in your on-line program?
57. Why it is a good idea to clear the ok_code after deciding which action to take?
58. How do you specify that a function is an exit type command?
59. What are screen groups?
60. What is the correct syntax for dynamically modifying a large number of screen fields?
61. What is the purpose of the MODIFY command when performing dynamic screen modifications?

62. Various Event for a screen?


A) Clicking Push Button, Function Key, Menu Option.

63. How do you run a report for a row in table?


A) Using Graphics Multiplexer. There is an option some thing similar to screen capture which
captures data only. Using that data you can draw graphs (3D and 2D). This option is available all the
time from Menu! -> Generate Graphics which captures the data then you need to drag and select
the data you want to draw a graph on. Once you select you can click on Graphics, which launches
graphics multiplexer.

64. What are reports? And How do you set up reports?

65. What are user Exits and transactions?


A) Generally, user exits are the forms defined within SAP standard code (usually starting with user
exit). These predefined areas in the code allow programmers to insert custom defined code into the
standard processing of a transaction (e.g. allow resorting of the batch sequence in VA01 batch
processing). There are many specific examples if you are interested, but usually user exits are
searched for when a specific use is being analysed.

66. What table is used for BDC?


A) BDC DATA
PROGRAM Program name

DYNPRO Screen number

DYNBEGIN

FNAM Field name

FVAL Field value

67. How do you set up a batch process?


A) If you are planning to import data then you need to prepare the data first.
You need to remember or note down the user actions (Function Key clicks or Push button clicks).

Need to simulate those user events using Batch process technique that is BDC_INSERT_GROUP,
BDC_INSERT, and BDC_CLOSE_GROUP.

Schedule the Batch job.

68. What are different types of programs?


1 Online report (Executable Program4.6d)

J Job Report

I Include Report

M Module Pool
U Update Program

F Function Modules

S External Subroutines

69. What does GET LATE do?


A) In report, if you want to print Title on the top and Totals at the bottom then you need to use GET
LATE to print.

70. What does CHAIN…END CHAIN do?


A) You use chain statement to define processing chain. If a check or a processing module refers to
several fields at the same time, you must place these fields together with FIELD statement in a chain
starting with CHAIN and ending with END CHAIN.

71. What are the differences between SELECT-OPTIONS, VARIANTS and PARAMETERS?
A) If you use Select options then you can define range of values like From-To. You can include
ranges or exclude ranges or You can specify single value.
If you use Parameters you can only enter a particular value to a field.

If you use Variants, you can have several variants for a program. You can save values of set of
parameters as a variant and you can have several variants with different combinations of parameter
values. You can run program with variant, In that case you do not have to enter parameters.

72. How do you import a UNIX program using BDC?

73. What is a variant?


A) A Variant is a selection set of input parameters.

74. What are the advantages of using variant?


A) If a report is run with same selection set at regular intervals, variants would save user work.
Variants also reduce load on the system, as restricting selection to a small essential amount of data
reduces the number of database accesses and hence the load on the system.

75. What is variable selection with variants?


A) It is possible to fetch values for variants from table TVARV fields. In this case the value of TVARV
field is set before running the program with the variant. This is variable selection since variant runs
with different values. This is especially useful for batch mode runs.
76. How do you run programs with variant?
A) Current screen will have “Execute with variant” and “Overview of variants” buttons if variants can
be used. Choose to run with “Execute with variant” and run with a variant.

77. What is SPA/GPA? When do you use it?


A) You can set and display default values in fields. You make the assignment using PID in field
attributes and check SPA or GPA option. Other way of using this is using SET PARAMETER and
GET PARAMETER commands.
Ex:- SET PARAMETER FIELD EMPL-EMPID ID ‘EMP’

GET PARAMETER ID ‘EMP’ FIELD EMPL-EMPID

78. What are PBO and PAI?


A) Process Before Output and Process After Input.

79. What is Screen Painter and What are steps involved in writing Scripts for Command Buttons?
A) Entering OK-CODE for OK, declaring OK-CODE in Module Pool, and Writing script using case OK-
CODE statement and using function names.

80. How can you test Flow Logic?


A) You need to create a transaction for this screen first. If you go to Screen -> Test then it will show a
radio button where you can either check with Screen Flow Logic or with Out Screen Flow Logic.

81. What happens if you choose Hold Data option in screen attributes?
A) System automatically shows the data if the user returns to the screen.

82. What happens if you enter 0 in NEXT Screen attribute?


A) It does not go to any other screen and it moves back one level. However you can control this in
run-time using SET SCREEN command.

83. Where do you use Pop-Up Windows?


1. Data Input (prompting the user to enter data).
2. Online Control (Define or restrict the online flow for the user).
3. Data backup (Do you want to save the data? Yes or No).
4. Confirmation messages and Include messages.
84. How many menu titles can you have in a main menu?

85. Why and How do you display a message?


A) Message is used to INFORM, WARN, EXIT with MSG, or CANCEL with MSG in a transaction.
Message is displayed using:-
MESSAGE xnnn

Where x is Type and nnn is the number of message. In addition Message class is set at Program
name line, e.g., PROGRAM xyz MESSAGE-ID cc where cc is message class.

86. What are various message types?


A) I-Info, W-Warning, E-Error, A-Abend, S-Success.

87. How do you create Message class?


A) Tools  Case  Development  Program maintenance  Messages
Enter name and go to next screen to enter messages.

88. What is BDC?


A) Batch Data Communication. Batch Input is a SAP method for transfering data into SAP System.
The transfer consists of two phases:
1) Create the batch input data for the target SAP system (ASCII data files are specially prepared
for SAP batch input processing),
2) Processing the batch input data in the target system.

89. Where did you use it?


A) Exported data from the legacy system to new SAP system. In Purchasing, you can import vendor
data and other information about vendor’s can be brought over to the new system using this
technique.

90. Can you explain how you imported data to the new system?
A) First step in this BDC is preparing data for the target SAP system (A
SCII data files).
Second step is to process data file and insert into SAP system. For example if you want to get all
customer’s information including general data and other’s. If you do not have this technique,
you need to key in all the information manually using SAP screens. Using this technique, what
you need to do is remember or note down all key sequences including entering data and
pressing Function keys or Push buttons to save the data and move on to the next screens. You
need to simulate same sequences using BDC. For data entry you need to read in record by
record from the data file and assign those field values on the screen and simulate function keys
to save data. That way system will check referential integrity and other checks. The reason this
is normally run off line is, performance wise this is so slow because it has to load each screen.
Other alternative to these loading tables directly but SAP does not recommend that because in
some cases referential integrity is violated. That is how you import the data using BDC.

NOTE: BDC does not always mean that it is used for importing data and that is it. You can run any
time intensive or laborious tasks (Off line) using this technique. For example Monthly reports, no
body needs to be there to run this you can schedule a Batch Job.

91. What has to be done to the packed fields before submitting to a BDC session?

92. What is the structure of BDC sessions?

93. What are the fields in a BDC_TAB table?

94. Did you use full graphical user interface in SAP R/3?

95. What are the versions you have worked?

96. How do you find the string length of a variable?

97. What do you define in the domain and data element?

98. What is the difference between a pool table and transparent table and how they are stored at
the database level. II. What are the functional modules you have strong background?

99. What is the difference between Structure and Internal table?

100. What is a Transaction for Job definition, Explain those 3 modes when you run BDC Program?

101. Call Transaction Modes – A, N, E. Explain?

102. Check statement, how it works?

103. Difference between Append and Collect statement?

104. How do you populate internal table?


105. Syntax to create Internal Table. When you use occur parameter?

106. Debugging a program, How you set break points?

107. Explain Field Groups?

108. What is a field symbol?

109. Transaction code for Menu Painter?

110. Transaction for Screen Painter? What is flow logic? Explain.

111. Transaction code for MM creation?

112. Transaction for Sales Order (S/D) – Create, display and Change?
113.
Transaction for Delivery (S/D) – Create, Display and Change?

114. Where you specify logical database, when you are using tables in a program?

115. If you want to run two programs within one program, how do you run another program
instead of opening another session?

116. Give some system fields?

117. At-line-selection how it works. Which system field contains information?

118. How do you declare and call subroutines?

119. What is the difference between Move and assign statement?

True/False
1. SAP offers standard batch interface programs with dynamic record layout capability?
2. SAP standard batch input programs structure descriptions are in the Data Dictionary?
3. Data analysis should proceed data transfer?
4. All data conversion must take place prior to the data transfer?
5. The parameters MODE and UPDATE are optional?
6. The BDC table has a different layout for the CALL TRANSACTION?
7. A file can be transferred from the presentation server?
1. What is the purpose of SAP Dispatcher?
A) Manages the resources for the R/3 Applications. Distributes work to the work processes.

Main Tasks:

Equal distribution of transaction load to the work processes.

Management of buffer areas in main memory.

Integration of the presentation level.

Organisation of communication activities.

2. There are five specialized work processes. What are they? And which task do they control?
a) Online – Processes one dialog step and then is available for next request.

b) Enqueue – A locking mechanism to prevent the applications from interfering with each other
when accessing data.

c) Update – To trigger database changes.

d) Background – Used to plan the start of ABAP/4 programs.

e) Spool – Spool requests are generated online or during background processing and placed in a
spool database with information about the printer a print format.

3. What function does the message server perform?


A) Exchanges short internal messages (Ex. Triggering work processes).

4. What enables communications between R2, R3, and external applications using the CPI-C
protocol?
A) SAP Gateway.

Online bits

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 a and b
d) None
Ans. c
____________________________________________________________________________

2. Which of the following statements are correct?


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.
Ans. a,b
____________________________________________________________________________

3. 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.
Ans. a, b
____________________________________________________________________________

4. Can a transparent table exist in data dictionary but not in the database physically?
a) True
b) False
Ans. b
_____________________________________________________________________________

5. Can you create a table with fields not referring to data elements?
a) Yes
b) No
Ans. a
_____________________________________________________________________________

6. How do you create a batch input session for a transaction?


a) ‘Call transaction’ in background mode.
b) ‘Call transaction’ in error mode.
c) ‘Bdc_insert’ for the transaction.
d) None of the above.
Ans. c
____________________________________________________________________________

7. What is the alternative to batch input session?


a) Load module
b) Call transaction
c) BAPI
d) Idoc segment
Ans. b
____________________________________________________________________________

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 (#).
Ans. a, c
____________________________________________________________________________

9. The following are true about database locking.


a) Database systems set physical locks on all lines affected by a database call.
b) Read locks prevent the setting of further read locks for the objects in question.
c) Read locks prevent other transactions from setting write locks for the objects in question.
d) Write locks allow other transactions to set read locks for the objects in question.
Ans. a, c
____________________________________________________________________________

10. 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.
Ans. a, d
____________________________________________________________________________

11. 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.
Ans. b, c
____________________________________________________________________________

12. You cannot assign a local data object defined in a subroutine or function module to a field
group.
a) True
b) False
Ans. a
____________________________________________________________________________

13. 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.
Ans. d
_________________________________________________________________________

14. 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.
Ans. c
____________________________________________________________________________

15. 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).
Ans. a, d.
____________________________________________________________________________

16. 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
Ans. a, b, c, d
____________________________________________________________________________

17. 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.
Ans. b, c
____________________________________________________________________________

18. 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.
Ans. a, c
____________________________________________________________________________

19. 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.
Ans. a, c
____________________________________________________________________________

20. Which of the following are tools to report data in ABAP?


e) ALV
f) ALE
g) LSMW
h) SmartForms
Ans: a
____________________________________________________________________________

21. ABAP Query tool is used to:


a) Enquire about a running-program status
b) Automatically generate code for reporting
c) Perform database operations for user-written programs
d) None of the above

Ans: b.
____________________________________________________________________________

22. In ABAP Query tool...


e) Each user can be assigned to several user-groups
f) Each user can be assigned to several functional areas
g) Each functional area can be assigned to several user-groups
h) One user can be assigned only to one user-group.

Ans: a, b, c
____________________________________________________________________________

23. Logical databases must be used to create an ABAP Query


a) True
b) False

Ans: b
____________________________________________________________________________

24. In a BDC program, how would you handle errored records? Would you…
a) Rerun the program
b) Report the errored records
c) Generate a batch-input session with errored records
d) Create an output file, to be run again after corrections

Ans: b, c, d
____________________________________________________________________________

25. What are IDocs?


a) Documentation of executable programs
b) Documents used for data-transport between SAP and non-SAP s/w.
c) Documents used for data-transport between two different SAP systems
d) Documents used for one-time data-migration activities.

Ans: b, c
____________________________________________________________________________

26. For transportation of data from a presentation server into SAP, the function module used is
a) UPLOAD
b) WS_UPLOAD
c) FILE_UPLOAD
d) DATA_UPLOAD

Ans: a, b
____________________________________________________________________________
27. For one-time high volume data-uploads into SAP from non-reliable systems, the following are
generally used:
a) BDC
b) LSMW
c) Direct table update
d) Idocs

Ans: a, b
____________________________________________________________________________

28. In an ABAP program, the INITIALIZATION event is invoked


a) Before the AT-SELECTION-SCREEN event
b) After the AT-SELECTION-SCREEN event
c) Could be either way
d) Cannot be predicted

Ans: a
____________________________________________________________________________

29. The statement to check whether an internal table itab_test has no records, is:
IF itab_test is initial.
a) TRUE
b) FALSE

Ans: b.
____________________________________________________________________________

30. The statement used to clear all the contents of an internal table is:
a) CLEAR itab.
b) REFRESH itab.
c) FREE itab.
d) DELETE itab.

Ans: b, c
____________________________________________________________________________

31. The AT-SELECTION-SCREEN event is triggered when…


a) ENTER key is hit on the selection-screen
b) F8 key is hit on the selection-screen
c) Any field on selection-screen is populated
d) F4 key is hit on the selection-screen

Ans: a, b
____________________________________________________________________________

32. What is the transaction-code for viewing batch-runs of a program?


a) SE37
b) SM37
c) SM35
d) SM30

Ans: b
____________________________________________________________________________
33. SY-BATCH can be used to determine whether a program is being run in batch-mode, within
the AT-SELECTION-SCREEN event.
a) TRUE
b) FALSE

Ans: b
____________________________________________________________________________

34. The following statements will clear the header-line of an internal table:
a) DELETE ITAB.
b) FREE ITAB.
c) REFRESH ITAB.
d) CLEAR ITAB.

Ans: d
____________________________________________________________________________

35. The SAP Logon password is always case-insensitive.


a) TRUE
b) FALSE

Ans: b
36. Data: BEGIN OF ITAB OCCURS 0,
FIELD1(10),
FIELD2(10),
END OF ITAB.

DO 20 TIMES.
ITAB-FIELD1 = ‘Field1’.
ITAB-FIELD2 = ‘Field2’.
ENDDO.
a) The internal table has 20 entries.
b) The internal table has one entry.
c) The internal table has no entry.
d) Unpredictable.

Ans: c
____________________________________________________________________________

37. READ TABLE ITAB_TEST WITH KEY


VBELN = k_vbeln.
If multiple records in table ITAB satisfy the condition, then
a) All records are fetched
b) The last record is fetched
c) The first record is fetched
d) Compilation error

Ans: c
____________________________________________________________________________

38. If ITAB has 1000 entries, and DBTAB is a large table, which is better in terms of performance?
i) LOOP AT ITAB.
SELECT * INTO ITAB_2 FROM DBTAB WHERE
KEY1 = ITAB-KEY1.
APPEND ITAB_2.
ENDSELECT.
ENDLOOP.
ii) LOOP AT ITAB.
SELECT * INTO TABLE ITAB_2 FROM DBTAB WHERE
KEY1 = ITAB-KEY1.
ENDLOOP.
iii) SELECT * INTO TABLE ITAB_2 FROM DBTAB
FOR ALL ENTRIES IN ITAB WHERE
KEY1 = ITAB-KEY1.
a) (i) is better than (ii), and (ii) is better than (iii).
b) (ii) is better than (iii), and (iii) is better than (i).
c) (iii) is better than (i) and (i) is better than (ii).
d) (iii) is better than (ii) and (ii) is better than (i).

Ans: d
____________________________________________________________________________

39. DATA: BEGIN OF ITAB OCCURS 0,


Fld1 (1),
Fld2 (1),
Fld3 (1),
END OF ITAB.

ITAB has 5 records – [ (1,1,1), (1,1,2), (1,2, 2), (2,2,2), (2,2,3) ].

The code segment:


LOOP AT ITAB.
AT NEW fld3.
WRITE fld3.
ENDAT.
ENDLOOP.
Produces the output:
a) 1 2 2 2 3
b) 1 2 3
c) 1 1 2 2 2
d) 1 1 1 2 2

Ans: a
____________________________________________________________________________

40. TYPES: BEGIN OF TYPE1,


FLD1,
FLD2,
FLD3,
END OF TYPE1.
DATA: ITAB1 TYPE STANDARD TABLE OF TYPE1.

ITAB1-FLD1 = ‘a’.
ITAB1-FLD2 = ‘b’.
ITAB1-FLD3 = ‘c’.
APPEND ITAB1.

a) The table has one record, with values (a, b, c ).


b) The table has no records.
c) Compilation error due to method of declaration of type.
d) Compilation error due to method of declaration of table.

Ans: d
____________________________________________________________________________

41. The fastest way to read a value in an internal table is to:


a) Specify key, and do a binary search
b) Specify the table-keys
c) Directly specify the index value
d) Use a work-area with same structure as the internal table.

Ans: c
____________________________________________________________________________

42. If COLLECT is used on an internal table, which has a non-key character field,
a) The first record’s value is used in the collected version.
b) The last record’s value is used in the collected version.
c) Compilation error
d) Cannot be predicted

Ans: c
____________________________________________________________________________

43. Which is the correct syntax for sorting an internal table?


a) SORT ITAB USING key1 key2.
b) SORT ITAB BY key1 key2.
c) SORT ITAB WITH key1 key2.
d) SORT ITAB key1 key2.

Ans: b
____________________________________________________________________________

44. If we need to fetch all database entries corresponding to a given key,


X records at a time, the syntax to be used is:
a) SELECT…PACKET SIZE X….
b) SELECT…PACKAGE SIZE X…
c) SELECT…UPTO X RECORDS….
d) This facility is not available in ABAP.

Ans: b
____________________________________________________________________________

45. LOOP AT ITAB_DTL_1.


COLLECT ITAB_DTL_1 INTO ITAB_FINAL.
ENDLOOP.
If the tables contain character fields, which table should be declared with the keys
Explicitly specified?
a) ITAB_DTL_1
b) ITAB_FINAL
c) Either one will do.
d) Neither needs a key to be specified

Ans: b
____________________________________________________________________________
46. The syntax to concatenate a set of values into one variable is:
a) CONCATENATE source1, source2 INTO target.
b) CONCATENATE source1 source2 INTO target.
c) CONCATENATE source1 and source2 INTO target.
d) None of the above.

Ans: b
____________________________________________________________________________

47. On the selection-screen, if, while using SELECT-OPTIONS, we specify NO INTERVALS,


we can guarantee that the user will not be able to enter a range of values.
a) TRUE
b) FALSE

Ans: b
____________________________________________________________________________

48. ABAP programmers can create their own data types?


a) YES
b) NO

Ans: a
____________________________________________________________________________

49. MOVE can be used to copy:


a) One field’s contents to another field
b) One structure’s contents to another compatible structure
c) One table’s contents to another compatible table
d) A part of one field to another field

Ans: a, b, c, d
____________________________________________________________________________

50. PERFORM ROUTINE1 USING val1.


…..
FORM ROUTINE1 USING temp1.
Temp1 = 10.
ENDFORM.

Is the value of val1 changed?


a) YES
b) NO

Ans. a
____________________________________________________________________________

51. Within an IF-ENDIF block,


a) ELSE must be used
b) ELSEIF must be used
c) If ELSEIF is used, ELSE must be used
d) None of the above

Ans: d
____________________________________________________________________________
52. The user-list in a given SAP client can be found using transaction
a) STO4
b) SE04
c) SM04
d) None of the above

Ans: c
____________________________________________________________________________

53. The DESCRIBE statement on internal tables is used to:


a) Find the number of lines currently in table
b) Find initial size of the table
c) Find type of the internal table
d) Give the line size, in number of characters, of the table

Ans: a, b, c
____________________________________________________________________________

54. Which of the following statements can work without a corresponding END-statement?
a) DO
b) AT
c) IF
d) SELECT

Ans: d
____________________________________________________________________________

55. In an ABAP program, we can specify a variable to be of HEXADECIMAL type.


a) TRUE
b) FALSE

Ans: a
____________________________________________________________________________

56. In an ABAP program, we can specify a variable to be of OCTAL type.


a) TRUE
b) FALSE

Ans: b
____________________________________________________________________________

57. The default length of a field of type “time”(‘T’) in an ABAP program is:
a) 6
b) 8
c) 14
d) 0

Ans: a
____________________________________________________________________________

58. The various numeric types definable in an ABAP program are:


a) I, F, P, N
b) I, F, P
c) I, F, N
d) I, P, N

Ans: b
____________________________________________________________________________

59. Variables in an ABAP code can be defined as being similar to data-dictionary elements, using:
a) LIKE
b) FOR
c) TYPE
d) None of the above

Ans: a, b, c
____________________________________________________________________________

60. Constants and internal tables are defined using the keywords (respectively):
a) CONSTANTS and TABLES
b) DATA and DATA
c) DATA and TABLES
d) CONSTANTS and DATA

Ans: a
____________________________________________________________________________

61. There are 8 elementary data-types, and hence, 64 possible conversions. Of these,
a) Type D and T cannot be inter-converted
b) None of the other types can be converted into D and T.
c) D and T cannot be converted into any other type.
d) Only C can convert into D/T and vice-versa.

Ans: a
____________________________________________________________________________

62. MOVE f1 TO f2 is equivalent to f2 = f1


a) TRUE
b) FALSE

Ans: a
____________________________________________________________________________

63. If a structure does not contain internal tables as components, we can equate two structures of
incompatible types.
a) TRUE
b) FALSE

Ans: a
____________________________________________________________________________

64. For an inequality check between two variables, the symbol used is:
a) NE
b) <>
c) ><
d) NEQ

Ans: a, b, c
____________________________________________________________________________

65. S1 = ‘ABCAB’.
S2 = ‘ABCD ‘.
IF S1 CN S2.
WRITE ‘a’.
ELSE.
WRITE ‘b’.
ENDIF.
Output of above code is:
a) a
b) b
c) Compilation error
d) Blank

Ans: b
____________________________________________________________________________

66. The statement


IF NUM IS BETWEEN 3 AND 7.
Is a valid syntax?
a) TRUE
b) FALSE

Ans: B
____________________________________________________________________________

67. Is it possible to call a subroutine of one program from another program?


a) True
b) False

Ans: A
____________________________________________________________________________

68. Can ABAP control statements be used within a sap script?


a) YES
b) NO

Ans: a
____________________________________________________________________________

69. The presentation server is actually the program named SAPGUI.


a) True
b) False

Ans: a
____________________________________________________________________________

70. When is Top-of-page event executed

a) Triggered by a New-page statement


b) When the First Write Statement of the program is encountered.
c) Before outputting the first line on a new page.

Ans: b, c
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.
<bdc_tab>-FNAM = 'BDC_CURSOR'.
<bdc_tab>-FVAL = ‘fieldx’ .

b) To position the cursor on a particular field.


<bdc_tab>-FNAM = ‘fieldx’
<bdc_tab>-FVAL = 'BDC_CURSOR'. .

c) For fifth row of Table control


<bdc_tab>-FVAL = 'fieldx(5)'.

d) For fifth row of Table control


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

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

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
1. Define Generic Key?
Combination of left-justified keyfield

1. How many layers are there in business object? What are they?

A. Integrity
B. Interface
C. Access
D. All the above
1. The IDoc is a key component of both the R/3 EDI (Electronic Data Interchange)
subsystem and the R/3 ALE (Application Link Enabling) subsystem.

2. BAPIs (Business Application Programming Interface) are RFC-(Remote Function Call)


enabled function calls provided by SAP to allow external real-time access to SAP data and
business processes.

3. SAP Standard Load Programs (also called DMIs or Data Migration Interfaces) are ABAP
programs provided by SAP for the purpose of loading data into SAP.

4. Inbound interface techniques:

A. SAP standard load program(DMI)


B. Custom ABAP load program
C. ALE/EDI(IDoc)
D. BAPI

5. Inbound Interface Update Methods:

A. BDC
B. Call Transaction
C. Direct update

6.

1. The visibility of attributes and methods (i.e., components) are defined by assigning each
component to a particular SECTION. These are the three sections:

A. PUBLIC - components are visible outside the class


B. PROTECTED - components are only visible to subclasses of that class
C. PRIVATE - components are only visible within the class itself

2. The code for the methods is written in the IMPLEMENTATION part of the class.

3. Classes can be defined either locally within a program or globally within the ABAP
Dictionary (starting in release 4.5).

4. In the definition part, it is possible to refer to a maximum of one basic class called
(SINGLE INHERITANCE). Inheritance is the use of an existing class to derive a new class.

6.
7. Attributes:
A. Store an object’s properties, which can be public, private, or protected
B. Reference other objects
C. Are virtual, controlled by SET/GET methods
D. Can be read-only

8. The methods of an object are the means of performing operations.

A. A method always operates on a particular instance of a class.


B. Methods can read and change attributes of an instance and can interact with other
objects.

9. Interface definitions do not contain an implementation section. An interface definition


only describes the interaction that is possible with an object of any class that supports the
interface.

10. Interface implementation and use:

A. Classes can implement interfaces by including a method implementation for all method
definitions.
B. Classes support multiple interfaces.
C. Classes that support a particular interface can be addressed regularly using an interface
reference.
D. An object reference can be assigned to an interface reference if a relevant class supports
that interface.
E. Interface methods within a class implementation can be identified by using the resolution
operator.

11. If an object raises an event, every event-handling method currently registered for this
kind of event is informed of it. The object that raised the event can pass parameters to the event.

A. Before an object is in position to react to the events raised by another object, at least one
of its methods must be registered as an event-handling method for that object.

An event-handling method may be registered for the events of a single object, multiple individual
objects, all instances of a class, or all instances that implement a certain interface.
1. Event Handlers:

A. Provide methods to handle events raised by other objects


B. Support implicit and type-safe declaration through event interface
C. Are declared in the definition part of the handling class using the FOR EVENTS addition
D. All the above

2. Events that are triggered within methods must be declared in the definition part of a class
using the EVENTS statement.

3. A business object is a real world object modeled within an application system.


1. Using objects, an ABAP program can work with any number of runtime instances based
on the same template.

2. An object is a self-contained entity having a state and a behavior

3. Every object belongs to a class.

4. Objects belonging to a class have the same attributes and respond to the same methods.
5. The objects belonging to a class are also referred to as the instances of the class.

6. Classes are reusable blocks of source code that are used to generate runtime objects in
memory.
What are the disadvantages of modification?

A. Modifying standard code can lead to errors


B. Modifications mean more work during software upgrades

1. Object orientation in programming redefines modularization so that programmers


produce sub-components instead of complete solutions.

2. Encapsulation concept of Object oriented programming restricts the effects of change by


placing a wall of code around each piece of data.

3. Object orientation is the level at which external objects models communicate with one
another called Distribution

4. User exits are used to add user defined functionality to the predefined SAP standards.

5. What is involved in writing User exits to the SAP standard?


- Should find the customer enhancements belonging to particular development class.

6.Implementation part is mandatory for class definition (True/False)?


7. Events are raised by RAISE EVENT Statement (True / False)?

8.1. Constant Variables are defined (True / False)?

9. Local variables within the subroutine can be defined by using ____

A. Data
B. Local
C. Statics
D. All the above
1. PARAMETERS doesn’t support ______data type.
Float

2. ABAP programs are Client Dependent (True / False).


False

3. Program Type which is self executable

A. Type 1 B. Type I C. Type M D. Type T

4. Select-options creates _____

A. variable B. constant variable C. internal table D. parameter variable

5. Which is not a numeric data type?

A. INT B. FLTP C. DEC D. NUMC

6. VALUE addition is mandatory while defining constant variable (True / False).

7. System Field which displays application server date is ________


Sy-Datum

8. Separator used to differentiate between structure and component

A. space B. Hyphen C. Tilda D. Colon

9. Custom Data types can be defined by using _______keyword.


TYPES

10. Time Stamp consists of _______ & __________.


Date & Time
11. Advantages of Text Elements.

A. reusable text
B. supports to write language independent programs
C. avoids hard coded text
D. All the above.

12. Length specification is not allowed with ______data type.

A. Type c B. Type n C. Type string D. None of the above

13. String operation used to join two strings is __________.


Concatenate

14. Not equals to operator is denoted as _____.


<> or >< or NE

15. Loops can be terminated unconditionally by using _________statement.


EXIT

16. Tcode to create function group is ___________.


SE37

17. Which keyword doesn’t create data object.

A. DATA B.CONSTANTS C. TYPES D. none of the above

18. While populating data, if the internal table uses MATNR field of MARA table,
then that internal table type is ________.
Hashed Tables

19. Prerequisite to use binary search in the internal table?


Table must be Sorted Order

20. Index based operations can’t be performed on __________type of internal


tables.

Hashed Internal Table


21. Insert without index leads to short dump (True / False).

22. Free statement removes ______& _____ of internal table body.


Contents & Memory

23. _________statement is used to remove duplicate records of internal tables.


Collect or Delete adjacent duplicates

24. System Field which gives total number of records in the internal table
is________.
SY-TFILL

25. _____keyword is used to assign variable to field-symbols.


ASSIGN

26. Packages are created in _________.


SE21

27. SAP reserved screen number range is __________.


1000 TO 1010

28. Using INCLUDES, parameter passing is not possible (True /False).

29. Global Data is stored in

A. include top
B. include i01
C. include o01
D. include f01

30. Passing Internal table to Function Module is always by _____.


Pass by Ref

31. ______& _____keywords are used to define local variables in subroutine.


Data & Statics

32. Function Group belongs to program type _____.


Type ‘F’

33. Which message leads to next screen _________.


Information

34. Tcode for short dump analysis is _____.


ST22

35. ________keyword used to make field as required entry along with parameters.
OBLIGATORY

36. Preconfigured values for selection-screen fields can be provided by using


____________.
Variant

37. Select-options internal table fields are ____, ____, ____&____.


Sign , Option, low, High

38. Addition is used to suppress the upper limit of select-options internal


table.

A. No-display B. No- Extension C. No Intervals D. No-Intervals

39. ______ addition is used to fetch the data from other client.
CLIENT SPECIFIED

40. Find out theTrue Statement?

A. ABAP Memory can be shared by external sessions


B. Leave to transaction statement leads to SAP Easy Access
C. Parameter ID can be defined along with Domain
For all entries can be used for single internal table

You might also like