SAP ABAP MCQ Questions and Answers
(1-100)
1. What does ABAP stand for?
A. Advanced Business Application Program
B. Advanced Business Application Programming
C. Applied Business Application Programming
D. Advanced Business Advanced Programming
Answer: B
2. Which year was ABAP developed?
A. 1970
B. 1980
C. 1990
D. 2000
Answer: B
3. Which tool is used to format ABAP code?
A. Code Organizer
B. Pretty Printer
C. Code Cleaner
D. Formatter
Answer: B
4. Which type of buffering is available in ABAP tables?
A. Single Record
B. Full
C. Generic
D. All of the above
Answer: D
5. Which event is used to initialize variables in a report?
A. START-OF-SELECTION
B. END-OF-SELECTION
C. INITIALIZATION
D. AT SELECTION-SCREEN
Answer: C
6. Which keyword is used to define internal tables?
A. TABLE
B. INTAB
C. OCCURS
D. INTERNAL
Answer: C
7. What is a transparent table?
A. Stores data physically and visible in database
B. Only available in runtime
C. Logical view only
D. Table for internal use only
Answer: A
8. What are internal tables used for?
A. Permanent data storage
B. Temporary data storage
C. Database indexing
D. Memory optimization
Answer: B
9. Which ABAP keyword defines a function module?
A. FUNC
B. DEFINE
C. FUNCTION
D. MODULE
Answer: C
10. What are the components of ABAP Dictionary?
A. Tables
B. Data Elements
C. Domains
D. All of the above
Answer: D
11. What is the maximum number of secondary lists in interactive reporting?
A. 10
B. 20
C. 19
D. 99
Answer: B
12. What is the default length of a character field in ABAP?
A. 1
B. 10
C. 50
D. 255
Answer: B
13. What is the transaction code to open the ABAP editor?
A. SE11
B. SE38
C. SE80
D. SE93
Answer: B
14. What is the use of 'DATA' keyword in ABAP?
A. To delete data
B. To display data
C. To define variables
D. To store memory
Answer: C
15. Which table type is used for storing data permanently?
A. Internal table
B. Transparent table
C. Pooled table
D. Cluster table
Answer: B
16. Which keyword is used to read a line in an internal table?
A. FETCH
B. SCAN
C. READ
D. GET
Answer: C
17. Which statement is used to define ranges?
A. RANGES
B. RANGE
C. DEFINE
D. LIMIT
Answer: A
18. Which open SQL statement is used to modify database records?
A. UPDATE
B. INSERT
C. MODIFY
D. DELETE
Answer: C
19. What is the purpose of 'CLEAR' keyword?
A. Removes field from memory
B. Initializes a field to its default value
C. Deletes table data
D. None
Answer: B
20. Which control structure is used for loops in ABAP?
A. FOR
B. WHILE
C. DO
D. REPEAT
Answer: C
21. What is the full form of BDC?
A. Batch Data Control
B. Business Data Communication
C. Batch Data Communication
D. Base Data Control
Answer: C
22. Which statement is used to write output in a report?
A. DISPLAY
B. PRINT
C. SHOW
D. WRITE
Answer: D
23. What is the purpose of 'SY' fields in ABAP?
A. Holds constant values
B. Used for system-defined variables
C. Used for debugging
D. Used for looping
Answer: B
24. What does the 'TYPE' keyword do?
A. Declares subroutines
B. Defines screen types
C. Declares variable types
D. Specifies database tables
Answer: C
25. How is memory assigned to internal tables?
A. At declaration
B. At runtime
C. During compilation
D. At export
Answer: B
26. Which event is triggered when a user executes a report?
A. LOAD-OF-PROGRAM
B. INITIALIZATION
C. START-OF-SELECTION
D. END-OF-SELECTION
Answer: C
27. Which command is used to sort an internal table?
A. ORDER
B. SORT
C. ARRANGE
D. ALIGN
Answer: B
28. What is the role of 'SELECT-OPTIONS'?
A. Displays a dialog box
B. Defines input field ranges
C. Selects specific records
D. Defines SQL fields
Answer: B
29. What does the keyword 'PERFORM' do?
A. Starts a new report
B. Defines a module
C. Calls a subroutine
D. Executes a transaction
Answer: C
30. What is the maximum length of a variable name in ABAP?
A. 16
B. 20
C. 30
D. 128
Answer: C
31. Which keyword is used to define a constant in ABAP?
A. STATIC
B. DEFINE
C. CONSTANTS
D. FIXED
Answer: C
32. What is the default value of a numeric field in ABAP?
A. 0
B. NULL
C. SPACE
D. BLANK
Answer: A
33. What is the full form of ALV?
A. Application List Viewer
B. ABAP List View
C. ABAP List Viewer
D. Advanced List Viewer
Answer: C
34. What is the purpose of the 'REFRESH' statement?
A. Deletes table entries
B. Initializes the internal table
C. Clears header line
D. Restarts program
Answer: B
35. What does 'OCCURS' define in internal tables?
A. Initial size
B. Row size
C. Structure
D. Columns
Answer: A
36. Which of the following is an example of a predefined data type?
A. ZCHAR
B. XSTRING
C. MYTYPE
D. TABLE
Answer: B
37. What is a module pool in ABAP?
A. Report Program
B. Function Group
C. Dialog Program
D. None of the above
Answer: C
38. Which event is used for final output formatting in classical reports?
A. START-OF-SELECTION
B. END-OF-SELECTION
C. INITIALIZATION
D. TOP-OF-PAGE
Answer: B
39. What is the use of PARAMETERS in ABAP?
A. Used for constants
B. Used for dynamic fields
C. Used for creating selection screens
D. Used for table names
Answer: C
40. What is a subroutine in ABAP?
A. A function
B. A reusable procedure defined with FORM
C. A global variable
D. A structure
Answer: B
41. What is the maximum number of characters in a domain field label?
A. 10
B. 20
C. 30
D. 40
Answer: D
42. Which of these is a modularization technique in ABAP?
A. Subroutines
B. Function Modules
C. Includes
D. All of the above
Answer: D
43. What does the keyword 'EXPORTING' indicate?
A. Data is being imported
B. Data is being exported to calling program
C. Data is passed to internal module
D. None
Answer: B
44. Which of the following is used to declare text elements?
A. SE11
B. SE38
C. SE32
D. SE80
Answer: B
45. What does 'SE11' transaction code open?
A. ABAP Editor
B. Data Dictionary
C. Object Navigator
D. Screen Painter
Answer: B
46. What is the use of 'SELECT SINGLE'?
A. Selects all rows
B. Selects the first matching row
C. Selects last row
D. None
Answer: B
47. Which layer does ABAP lie in SAP architecture?
A. Presentation
B. Application
C. Database
D. Middleware
Answer: B
48. What is a structure in ABAP?
A. Collection of tables
B. Collection of different data types
C. Only string types
D. Only numeric types
Answer: B
49. Which keyword is used to define a loop using internal table?
A. LOOP
B. FOR
C. REPEAT
D. CYCLE
Answer: A
50. Which statement is used to terminate a loop?
A. QUIT
B. EXIT
C. STOP
D. END
Answer: B
51. Which statement is used to include another ABAP program?
A. ADD
B. APPEND
C. INCLUDE
D. MERGE
Answer: C
52. What is the use of T-CODE 'SE80'?
A. ABAP Dictionary
B. ABAP Editor
C. Object Navigator
D. Smart Forms
Answer: C
53. Which function module allows calling a transaction?
A. CALL TRANSACTION
B. START TRANSACTION
C. EXECUTE TRANSACTION
D. RUN TRANSACTION
Answer: A
54. What does the 'WRITE:' statement do?
A. Inputs data
B. Outputs data
C. Saves data
D. Modifies data
Answer: B
55. What are text elements used for?
A. To display variables
B. For program documentation
C. For internationalization
D. For output formatting
Answer: C
56. How is data retrieved from database in ABAP?
A. Using WRITE
B. Using SELECT
C. Using SHOW
D. Using PRINT
Answer: B
57. Which data type allows decimals?
A. I
B. C
C. N
D. P
Answer: D
58. What keyword is used to loop with a condition?
A. FOR
B. DO
C. WHILE
D. UNTIL
Answer: C
59. What is the primary key of a table?
A. First column
B. Unique identifier
C. Last column
D. Sorted field
Answer: B
60. Which command is used to end an ABAP program?
A. STOP
B. END
C. QUIT
D. FINISH
Answer: A
61–70
61. What is a BAPI?
A. Business Application Programming Interface
B. Basic Application Process Interface
C. Batch Application Protocol Interface
D. Business API Protocol
Answer: A
62. Which object stores reusable code?
A. Report
B. Module Pool
C. Function Group
D. Subroutine
Answer: C
63. What is the purpose of a domain?
A. Stores table data
B. Stores business logic
C. Defines data type with technical attributes
D. Defines internal table
Answer: C
64. What does the 'MODIFY' keyword do?
A. Alters table structure
B. Inserts records
C. Updates records
D. Clears records
Answer: C
65. How is a transaction created?
A. Using SE38
B. Using SE11
C. Using SE93
D. Using SE80
Answer: C
66. What is the purpose of 'CALL FUNCTION'?
A. Calls an internal table
B. Calls a function module
C. Calls an event
D. Calls a report
Answer: B
67. What is the maximum nesting level in control structures?
A. 5
B. 10
C. 15
D. 20
Answer: B
68. What keyword is used for case structures?
A. CASE
B. SWITCH
C. WHEN
D. IF
Answer: A
69. What is the purpose of 'DATA BEGIN OF...END OF'?
A. Defines screen field
B. Defines structure
C. Defines module
D. Defines report
Answer: B
70. What is 'SY-TABIX'?
A. Line number of internal table
B. Index of table
C. Number of rows
D. Page number
Answer: B
71–80
71. Which transaction is used for table maintenance generator?
A. SE11
B. SE93
C. SE54
D. SE16
Answer: C
72. What does 'EXPORT TO MEMORY' do?
A. Saves data permanently
B. Transfers data between programs
C. Deletes internal data
D. Caches display
Answer: B
73. What is the standard function module for BDC?
A. BDC_INSERT
B. BDC_OPEN
C. BDC_CLOSE
D. BDC_CALL_TRANSACTION
Answer: D
74. What type of join is supported in Open SQL?
A. Outer join
B. Inner join
C. Cross join
D. Cartesian join
Answer: B
75. What is the purpose of 'LEAVE TO LIST-PROCESSING'?
A. Exits report
B. Clears buffer
C. Enables interactive reporting
D. Ends loop
Answer: C
76. What is the max number of parameters in function module?
A. 99
B. 124
C. 255
D. Unlimited
Answer: C
77. Which keyword defines a new structure?
A. DATA STRUCT
B. TYPES
C. FIELD-GROUPS
D. DEFINE
Answer: B
78. What is the use of 'COMMIT WORK'?
A. Save changes to database
B. Cancel changes
C. Restart program
D. Print output
Answer: A
79. Which transaction shows all active background jobs?
A. SM37
B. SM35
C. SE80
D. ST22
Answer: A
80. What is 'INCLUDE STRUCTURE' used for?
A. Add table
B. Add fields from another structure
C. Define header
D. Extend domains
Answer: B
81–90
81. What is the maximum field length in Data Dictionary?
A. 50
B. 100
C. 255
D. 1333
Answer: C
82. What is 'SY-UCOMM'?
A. User input command
B. Error code
C. Report type
D. Program ID
Answer: A
83. What is the default size of a PACKED (P) field?
A. 4 bytes
B. 8 bytes
C. 2 bytes
D. 1 byte
Answer: A
84. What is the use of 'AT SELECTION-SCREEN'?
A. Executes logic at selection screen
B. Displays error
C. Writes output
D. Ends loop
Answer: A
85. Which of the following are logical databases in SAP?
A. LDB
B. DB1
C. PNP
D. None
Answer: C
86. What is 'SAPScript' used for?
A. Report writing
B. Form printing
C. Table creation
D. Memory access
Answer: B
87. What does 'TRANSLATE' statement do?
A. Translates text to other language
B. Converts case
C. Encrypts
D. Decrypts
Answer: B
88. Which keyword is used to define ranges?
A. DEFINE RANGE
B. RANGE
C. RANGES
D. EXTENT
Answer: C
89. What is 'SMARTFORMS'?
A. Dynamic tables
B. Form printing tool
C. Debugging tool
D. Performance analyzer
Answer: B
*90. What does 'SELECT ' return?
A. Only key fields
B. All fields of a table
C. Only records with NULL
D. First record
Answer: B
91–100
91. What is a hashed table used for?
A. Fast access via index
B. Fast access via key
C. Sequential access
D. Binary access
Answer: B
92. What are dialog programs used for?
A. Background jobs
B. Interactive applications
C. Database tuning
D. System logs
Answer: B
93. What is the use of 'RAISE' statement?
A. Calls exception
B. Triggers function
C. Repeats loop
D. Ends report
Answer: A
94. What is a cluster table?
A. Stores unrelated data
B. Logical view
C. Table that stores multiple logical tables
D. None
Answer: C
95. What is SE93 used for?
A. Create report
B. Create transaction codes
C. Table maintenance
D. Debugging
Answer: B
96. What is a BADI?
A. Business Add-In
B. Business API
C. Batch Add-In
D. Boolean API
Answer: A
97. What is the report type for background jobs?
A. Type 1
B. Type F
C. Type B
D. Type J
Answer: A
98. What is the result of 'DESCRIBE TABLE'?
A. Table size
B. Table length
C. Table structure
D. Number of rows
Answer: D
99. What does 'INITIALIZATION' event do?
A. Ends selection screen
B. Initializes global data
C. Sets default values
D. Ends report
Answer: C
100. What is the purpose of 'FIELD-SYMBOLS'?
A. Temporary variable
B. Pointer to memory
C. Error message
D. None
Answer: B