96
ABAP FAQ SAP 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. Page 1 of 96

Sap Questionaire

Embed Size (px)

Citation preview

Page 1: Sap Questionaire

ABAP FAQ

SAP 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?

Page 1 of 67

Page 2: Sap Questionaire

ABAP FAQ

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)

Page 2 of 67

Page 3: Sap Questionaire

ABAP FAQ

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.

Page 3 of 67

Page 4: Sap Questionaire

ABAP FAQ

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

Page 4 of 67

Page 5: Sap Questionaire

ABAP FAQ

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?

Page 5 of 67

Page 6: Sap Questionaire

ABAP FAQ

- 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

Page 6 of 67

Page 7: Sap Questionaire

ABAP FAQ

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

Page 7 of 67

Page 8: Sap Questionaire

ABAP FAQ

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

Page 8 of 67

Page 9: Sap Questionaire

ABAP FAQ

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?

Page 9 of 67

Page 10: Sap Questionaire

ABAP FAQ

- 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

Page 10 of 67

Page 11: Sap Questionaire

ABAP FAQ

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 ManagementAdvantages of new memory management

Page 11 of 67

Page 12: Sap Questionaire

ABAP FAQ

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

Page 12 of 67

Page 13: Sap Questionaire

ABAP FAQ

Primary Key – field or combination of fields used to uniquely identify a row of the tableForeign 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 viewsTypes 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

Page 13 of 67

Page 14: Sap Questionaire

ABAP FAQ

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 tableLock 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 definitionTime 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

Page 14 of 67

Page 15: Sap Questionaire

ABAP FAQ

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

Page 15 of 67

Page 16: Sap Questionaire

ABAP FAQ

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 systemsBuffering – 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 tablesPossible 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.

Page 16 of 67

Page 17: Sap Questionaire

ABAP FAQ

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.

Page 17 of 67

Page 18: Sap Questionaire

ABAP FAQ

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 Integration Consolidation Recipient System System System System Transports of Transportable Automatic Originals change requests Delivery

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.

Page 18 of 67

Page 19: Sap Questionaire

ABAP FAQ

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.

Page 19 of 67

Page 20: Sap Questionaire

ABAP FAQ

MemorySAP 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 softwareThat can process both tables and your own tables.

106. Describe interactive reporting.A reporting function with following features:Screen –orientedShort basic listsCompressed data in the basic list

Page 20 of 67

Page 21: Sap Questionaire

ABAP FAQ

Detailed information in secondary lists or windowsFunction key driven

107. What are the functions in the editor command line?Press F1 or F4Examples include:I(nsert)-Insert new lines at end of textFIND string -Multiple text searchN(ext)string-On/Off text searchR(eplace)string 1 string 2 -Replace String 1 by String 2IC abc -Insert StructurePP-Call Pretty PrinterEtc…

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 wayExample: WRITE:/ 'xyz', X, COUNTER

110. Correct the syntax: data: wf_name(25) type C, wf_age(3) type C, Move myname to wf_nameAnswer: 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 IncludeStatusT=3D TestApplication : 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.

Page 21 of 67

Page 22: Sap Questionaire

ABAP FAQ

113. What is the syntax of the WRITE statement?WRITE <format> <value><options>Format = 3D/p(l)/- line feedp-column positionl-output lengthvalue=3D output value field or literaloptions-format optionsExample: 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 lineSKIP-generates a blank line

116. What are the data types within SAP?P-Packed numberI-IntegerF-Floating point numberN-Numeric textC-TextD-DateT-TimeX-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,

Page 22 of 67

Page 23: Sap Questionaire

ABAP FAQ

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 lineExecute- In contrast to the single step,executes all processing steps belonging to one lineContinue-Processing continues until the next breakpoint or until the end of programTable--Display the contents of internal tablesEditor-to go to the ABAP/4 editorHexadecimal display-Data contents can be displayed in hexadecimal formatReplace-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 value3T b) value3 > value1T c) value2 between value1 and value 3F d) value2 LE value1(?)T e) value3 <> value1F f) value3 CS '+5'T g) value2 CA '0A9GB'**NOTE wildcards +,*, # only work with CP125. What is the output of the following?

Page 23 of 67

Page 24: Sap Questionaire

ABAP FAQ

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 notfulfilled;Outside of a loop structure , subsequent statements in the current processing block arenot 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?

Page 24 of 67

Page 25: Sap Questionaire

ABAP FAQ

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

Page 25 of 67

Page 26: Sap Questionaire

ABAP FAQ

138. What does the CLEAR and REFRESH commands do?CLEAR : Initializes(CLEARS) the header lineREFRESH : Deletes all table lines (deletes the body).Paging is released does not clear the headerFREE : 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 program3) 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 programEXTERNAL-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 AssignedBy 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.

Page 26 of 67

Page 27: Sap Questionaire

ABAP FAQ

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 subroutineGlobal data – data relevant within the entire program.

Page 27 of 67

Page 28: Sap Questionaire

ABAP FAQ

150. What is ABAP workbench?ABAP/4 workbench is used to implement both simple and complex projects. It allows accessTo 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 rarelyTransaction 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?

Page 28 of 67

Page 29: Sap Questionaire

ABAP FAQ

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-OPTIONSVariable_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’s2) SAP-SQL is a subset of standard SQL3) 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 row2) It does not need an ENDSELECT statement3) 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 inclusiveLIKE <with ‘%’ and ‘_’ masked literal> - string and character wild charactersIN (<field1> , <field2> , ……. ,<field3>)

Page 29 of 67

Page 30: Sap Questionaire

ABAP FAQ

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.

Page 30 of 67

Page 31: Sap Questionaire

ABAP FAQ

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

Page 31 of 67

Page 32: Sap Questionaire

ABAP FAQ

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

Page 32 of 67

Page 33: Sap Questionaire

ABAP FAQ

- Ease of use- Distributed processing=09Phases

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?

Page 33 of 67

Page 34: Sap Questionaire

ABAP FAQ

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?

Page 34 of 67

Page 35: Sap Questionaire

ABAP FAQ

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?

Page 35 of 67

Page 36: Sap Questionaire

ABAP FAQ

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 etcAfter 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 screenJust 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 pushedYou 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.

Page 36 of 67

Page 37: Sap Questionaire

ABAP FAQ

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 terminatedI : Information Message displayed on the current screen , but user can continue program by pressing ENTERE: 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 againW : Warning As E message , but correcting input is optionalS: Success Message displayed on the follow-up screen as an I message.

Page 37 of 67

Page 38: Sap Questionaire

ABAP FAQ

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?

Page 38 of 67

Page 39: Sap Questionaire

ABAP FAQ

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 fieldCALL 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?

Page 39 of 67

Page 40: Sap Questionaire

ABAP FAQ

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’

Page 40 of 67

Page 41: Sap Questionaire

ABAP FAQ

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 programREPORT 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 screen1) 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 want6) Then you group related check boxes and radio boxes.

Difference between Radio Buttons and Check boxes.

Page 41 of 67

Page 42: Sap Questionaire

ABAP FAQ

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 screenTransaction : SE43Path : Tools ->CASE->Development->Maintain area menuCreating an area menu:1) Enter the name of the new area menu.

Page 42 of 67

Page 43: Sap Questionaire

ABAP FAQ

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 statementsRun-time error occurs hereEnd of program 1= 20

Page 43 of 67

Page 44: Sap Questionaire

ABAP FAQ

=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 =20Run time error occurs here…………=20End 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=20Program I will not update the database & program 2 will.

Structured Logic1. 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 , E6. "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? Explain17. 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?

Page 44 of 67

Page 45: Sap Questionaire

ABAP FAQ

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.

Page 45 of 67

Page 46: Sap Questionaire

ABAP FAQ

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-scolsThese 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?

Page 46 of 67

Page 47: Sap Questionaire

ABAP FAQ

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 SelectionGet <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 Consulting1. 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?

Page 47 of 67

Page 48: Sap Questionaire

ABAP FAQ

SE38 ABAP ProgramSE51 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 setup1. How did you do pricing? (including menu flow ) about policy

Table ----> (Customer/Material ) ------> Access Sequence (price Customer discount Material )------> Condition type ------> Pricing Procedure ----------> procedure determinationSD 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,

Page 48 of 67

Page 49: Sap Questionaire

ABAP FAQ

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

Page 49 of 67

Page 50: Sap Questionaire

ABAP FAQ

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

Page 50 of 67

Page 51: Sap Questionaire

ABAP FAQ

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-ManyIt is also called as cardinality.CN 0,1,MoreC 0, 1N 1 or More1 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 itemThe 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?

Page 51 of 67

Page 52: Sap Questionaire

ABAP FAQ

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 ATAT NEW…ENDAT CALLCASE...WHEN…ENDCASECHECKDO…ENDDOEXITFORM…ENDFORMIF...ELSE...ENDLOOPLEAVELOOP...ENDLOOPMODULE...ENDMODULEON CHANGE OF...ENDONPERFORM…USINGSELECT…ENDSELECTSTOPWHILE…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?

Page 52 of 67

Page 53: Sap Questionaire

ABAP FAQ

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 Session2. CALL DIALOG Statement3. 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

Page 53 of 67

Page 54: Sap Questionaire

ABAP FAQ

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_nameDATA : 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

Page 54 of 67

Page 55: Sap Questionaire

ABAP FAQ

INCLUDE ASD0001START-OF-SELECTION. Call to extract data from the database are performed hereEND-OF SELECTION.TOP-OF-PAGEEND-OF-PAGEFORM Form_NameENDFORM.

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

Page 55 of 67

Page 56: Sap Questionaire

ABAP FAQ

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.

Page 56 of 67

Page 57: Sap Questionaire

ABAP FAQ

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.

Page 57 of 67

Page 58: Sap Questionaire

ABAP FAQ

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?

Page 58 of 67

Page 59: Sap Questionaire

ABAP FAQ

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?

Page 59 of 67

Page 60: Sap Questionaire

ABAP FAQ

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?

Page 60 of 67

Page 61: Sap Questionaire

ABAP FAQ

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 nameDYNPRO Screen numberDYNBEGIN 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 ReportI Include ReportM Module PoolU Update ProgramF Function ModulesS 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?

Page 61 of 67

Page 62: Sap Questionaire

ABAP FAQ

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.

Page 62 of 67

Page 63: Sap Questionaire

ABAP FAQ

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?

Page 63 of 67

Page 64: Sap Questionaire

ABAP FAQ

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

87. How do you create Message class?A) Tools Case Development Program maintenance MessagesEnter 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.

Page 64 of 67

Page 65: Sap Questionaire

ABAP FAQ

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?

Page 65 of 67

Page 66: Sap Questionaire

ABAP FAQ

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/False1. 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?

Study Questions & Answers for SAP Partner Academy1. 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.

Page 66 of 67

Page 67: Sap Questionaire

ABAP FAQ

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.

Page 67 of 67