Sei sulla pagina 1di 68

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? Ans : Tables Data Elements Domains - Structure Foreign Keys

Page 1 of 68

ABAP FAQ 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. Ans : yes Can you create a table with fields not referring to data elements?

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 68

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. 28. How are the date and time fields values stored in SAP? Ans: As character fields of length 8 and 8 as NUMC. 29. 30. Name a few data dictionary objects? What is a Julian date format? What is a function group?

Page 3 of 68

ABAP FAQ Ans: Tables Views Structure Domains Data elements Match codes Lock objects type groups. 31. What happens when a table is activated in DD? -A table definition is generated - Map to the database system -For each table, a table of the same name with the same fields and corresponding data type is created in database. Primary index is generated automatically 32. What is a check table and what is a value table? When we define a foreign key in a table (A). If this key refers to primary key of another table (B). Table B is check table Fields referring to a domain may assume values contained in the corresponding fields of the value table. Field referring to the domain should have a foreign key

33. What are match codes? Describe. - Tool that helps us to search data records in the system. 34. 35. What is table maintenance generator? used to maintain tables and providing authorization for particular objects 1. One step maintenance 2. Two step maintenance 36. What are ranges? What are number ranges? A range of numbers that can be laid down for assignment of document numbers. Internal External What are select options and what is the different from parameters? Select options are used to select a range of values where as in Parameters only one value can be given Select option generates a line on selection screen, the first part of which contains a text, followed by a range for input possibilities. 37. How do you validate the selection criteria of a report? And how do you display initial values in a selection screen? What transactions do you use for data analysis?

Page 4 of 68

ABAP FAQ Validation - AT LINE SELECTION Screen event Initial Values by default statement in select options / parameters

38. What are selection texts? - Texts that appear on the selection screen for a particular field. Default fields name. What is CTS and What do you know about it? [ CTS is Correction and Transport Systems ] - Correction system manages the internal system components like objects like only original version of the object exists. It stores all changes made to the object. - Transport system allows to transports the object from on SAP system to another (Development system to Production system). It allows to over write or delete existing object in target system and import new objects to target systems. - During development work we start by opening a task (correction) to which we can assign new and changed objects. Once changes have been made, transport new or changed objects to other SAP system by means of transport (Change) request. 39. When a program is created and need to be transported to production does selection texts always go with it? If no how do you make sure? Can you change the CTS entries? How do you do it? 40. What is client concept in SAP? What is the meaning of client independent? A client is self contain unit in an R/3 system with separate master records and its own tables. Client independent records and tables can be accessed from any client. Are program clients dependent?

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

Page 5 of 68

ABAP FAQ 44. How do you take care of performance issues in your ABAP programs? - Runtime Analysis 45. What are data sets? - Sequential files in ABAP. 46. How to find the return code of a stmt in ABAP programs? SY-SUBRC 47. BDC What are interface / Conversion programs in SAP?

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.

Page 6 of 68

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

52. What are different Tools to report data in SAP? What all have you used? - ABAP QUERY 53. What are the Advantage and disadvantages of ABAP query tool? Advantages = no lengthy code Disadv. = Interactive lists drill reports are not possible and conditional reporting not possible.

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

Page 7 of 68

ABAP FAQ -Analysis and correct them. 60. How do you set up background jobs in SAP? What are the steps? What are events driven batch jobs? Create a job using function module JOB-OPEN Collect the job specifications. Add a job step to the job with the function module JOB-SUBMIT. Close the job and pass it to Background processing system for execution with the function module JOB-CLOSE EVENT DRIVEN BATCH JOBS :Types = System events triggered when activation of new operation mode takes place User events - Triggered from ABAP/4 or external program. Triggering an event notifies the background processing that named condition has been reached. The Background system reacts by starting any jobs that were waiting for the event. 61. run? 62. that? 63. - Yes 64. 65. How do you document ABAP/4 programs? Do you use program documentation menu option? 66. 67. What are the ABAP/4 Commands that link to a layout set? What is sap script and layout set? Does SAP handle multiple currencies? Multiple Languages? What is currency factoring technique? What kind of financial periods exist in SAP? What is the relevant Table for Is It possible to run host command from SAP environment? How do you

Page 8 of 68

ABAP FAQ 69. What are IDOCS? 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). Call function OPEN-form. Call function WRITE-from. Call function CLOSE-from 68. What is output determination?

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

Page 9 of 68

ABAP FAQ 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. - Yes Can you call a subroutine of one program from another program?

76. What are user exits? What is involved in writing them? What precautions are needed? User defined functionality included to predefined SAP standards. Should find the customer enhancements belonging to particular development class. Precautions = 77. What are RFCS? 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

Page 10 of 68

ABAP FAQ 83. What is IMG in SAP? - Implementation guide containing all IMG, activities arranged by business application components. 84. How do you get help in ABAP? - Place cursor on required field and press F1 or H keyword in command mode. 85. What are different ABAP/4 Editors? What are the differences? Command mode Editor PC Mode with line numbering PC Mode without Line numbering 86. What are different elements in layout sets? Paragraphs Character String Page Page Windows Windows Header Data Can you use if then else, perform etc. statements in SAP Script?

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

Page 11 of 68

ABAP FAQ 92. How? 93. 94. In an ABAP/4 program how do you access data that exists on a presentation server v/s on an application server? 95. Memory Management

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

What are presentation and application servers in SAP?

What are different data type in ABAP/4?

Advantages of new memory management - Quicker access to internal tables and lists - Quicker context change - Less load on CPU and disk - Performance advantages 96. Can R/3 be operated with old SAP paging? - In emergency Yes But only temporarily. 97. Reasons to continue using old SAP paging system? Os requirements for new memory mgt. Sys not met Extremely large user contexts in background jobs. Extremely large total of all dialog user contexts Extremely heavy OS paging due to too little main memory. 98. Does new memory mgt. Require more main memory? No more main memory than with old SAP paging with a large paging buffer large paging Buffer - needed for good performance.

99. What happens if main memory is not large in new memory mgt.? - OS paging increases if it exceeds a certain value, (depends on disk throughput) performance declines.

Page 12 of 68

ABAP FAQ 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 What is a dictionary?

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

Table maintenance allowed Table entries accessed using std table maintenance. Activation Type Whether table can be activated directly from ABAP/4 dictionary or whether the runtime object must first be generated by c program.
Database Utility Interface between ABAP/4 Dictionary and the database. Data Elements Describe the role played by a field in technical context. Fields of same semantic meaning refer same data elements. Domain describe technical characteristics of a table field. It specifies the value range, which describes allowed values for a field. Index Copy of database table reduced to specific fields

Function speed up scanning of table for data records satisfying a given search criteria.
Foreign key Table Table which contains the foreign key. E.g. ZEMP table. Check Table Table which has foreign key of another table as its primary key e.g. DEPT. Cardinality N: M indicates how many dependent record or referenced records. View :- used to summarize data distributed among different tables type of views Types of Views 1 Database created in database (read only) 2 Projection - used to suppress the display of table fields (all operations possible) 3 Help views Display information in online help system

- 4 Maintenance views used to realize commercially relevant views on data customizing vies

Page 13 of 68

ABAP FAQ business oriented approach to looking at data Views that cannot be used to create new views - Structure views used to generate a structure from several logically connected tables - Entity views used to represent entity type of Data Modular on tables of ABAP/4 dictionary
Maintain Status Determine if records can only be read or if it is also possible to change them. Match codes tool to help you search for data records in the system Match codes object describes the set of all possible search paths for the search term. Match codes Id describes a special search path for a search term. Match codes

fields from several tables built on the basis of transparent tables, clusters and pools restricted by stipulating selection conditions use as entry aids

Database index - fields from only table


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

- domain data elements field definition table definition


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

Type of stamp CRSTAMP most recent activation of table - ABSTAMP comparison of reports - DYSTAMP comparison with screens.
Runtime object of a table collects the information about the data elements, domain field definition in a form optimal for program access. It is created when the table is generated for first time. Mass activation program Activate large sets of objects Simultaneously.

ADV 1 large no of tables are affected by the change of domains or data elements at a time, so reactivated only once. 2 related objects and its associated value table could be activated together else we should maintain sequence correctly. Activation Procedure

Page 14 of 68

ABAP FAQ Step 1 internal and external characteristics check (naming convention. Relation between check table and value table. Step 2 partially active objects are checked whether external characteristics are arranged in order
Changing the structure deleting the table in database. Activate the revised table in the dictionary. Table in database is created. Data in table is lost. Changing the database catalog by ALTER TABLE. Data is preserved indexes recreated. Converting of tables original table is renamed and temporarily buffered, revised table is activated in ABAP/4 dictionary and created in database Data from temporary table is reconstructed. Conversion procedure

1 Generating a program 2 Renaming the database table Prefix of QCM is added to table name 3 Activating revised version 4 reloading data 5 secondary index we need at least 16 MB RAM for conversion

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

Clearing of locks restart adjustment attempt is made to continue conversion at the point of termination Cancel adjustment lock entry is simply deleted from table
Restart log progress of each step of conversion is noted in restart log, Adjust structures

A structured adjustment is activated by changing database catalog U structured adjustment is activated by converting tables Versions in ABAP Dictionary active or partially active / revised Temporary versions Historical versions New newly created , not activated Activated activated version of object used by other components during runtime Partially active not yet been fully activated Revised version changed after activation, but not yet re-activated Deactivated match code Id is not proposed for selection by F4 help function

Type of versions

Type of status

Page 15 of 68

ABAP FAQ
Version Management functions

Canceling changes reset revised version to active version Storing changes active version will be temporarily stored in version Switching changes switch between active and revised versions 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 Display old versions Retrieving historical or temporary versions Comparing versions in same system Comparing versions in different systems

Version catalog list of all existing versions of an object

Function provided

Buffering created locally on application server, changes in buffer are loaded in log table. Synchronization mechanism runs (1 2 min) log table is read and buffer contents changed by other servers are invalid. Synchronization of all buffers in application servers is by asynchronous procedure Tables that can be buffered transparent and pooled tables Possible buffering types

full buffering either, whole table or none of the table is located in the buffer (Tables up to 30 kb done in client dependent fully buffered tables) Generic buffering generic areas of the table are fully buffered. Generic key left justified section of primary key of a table. generic area all records for which fields of generic key correspond Single record buffering records actually being accessed are loaded to buffers, large records where few records are accessed.
When to reset a buffer?

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


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.

Page 16 of 68

ABAP FAQ
Repository Information System: - tool that makes data stored in ABAP/4 dictionary available.

Find - search for objects from a specific object class that meets certain search criteria. Where-used list: -used to determine the use of an object in other objects.
Data types in R/3: -

Layers for data and data descriptions: External layer plane at which user sees and interacts with the data ABAP/4 layer data formats used by ABAP/4 processor. Database layer data formats used in the database.
Table spaces and extents: Table space - physical storage area in the database.

Database determines in which table space the table is stored when it is created in the database. Size category describes the probable space requirement of the table in the database.

Transport system: Allows you to transport changes made to a particular development object.

Allows transporting objects from one SAP sys to another.

Table pool: - used to combine several logical tables in ABAP/4 dictionary, created for each match code object. Table clusters: Combine several logical tables in ABAP/4 dictionary. Several logical rows from different cluster tables are brought together in a single physical record.

Used to store control data, temporary data or texts e.g. documentation.

Work bench organiser: - provides assistance for organizing development projects by allowing you to distribute project work for individual developers or teams among different change requests. Request: - Objects from the areas of customizing and ABAP/4 development workbench are managed and recorded in separate requests. Request overview: - When we start the workbench organizer, we are presented with a request overview that shows all change requests available and allows us to access several levels of detail, right down to the level of the object list itself.

Page 17 of 68

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

Special development Recipient System System Transports of Originals

Consolidation System Automatic Delivery

Transportable change requests

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. Transport request List of objects to be transported. Repair request List of changed objects, which are not original.

Request Types: -

Page 18 of 68

ABAP FAQ Local change request List of local objects. Correction request List of all changed original objects. Object list List of all transport objects. Customizing request List of all changed client specific-customizing objects.
Request source client: - Client in which requests and all assigned tasks are edited. Request target client: - Client where request is imported. Private object: - Exempt from the correction system. Local object: - Exempt from both correction and transport systems. Restrictions on transport system: -

Cannot overwrite, add to or delete original objects that are under repairs. Can transport to consolidation system only with transport type K. Can transport to recipient systems only from consolidation system to which recipient systems have subscribed. 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. TSYST list of available systems. DEVL ABAP/4 Development Workbench transport layers. TWSYS consolidation routes for change requests. TASYS recipient system.

Protecting a Transport Request: - Lock the objects listed in requests so prevents users from correcting it. Task & Request Status: -

Tables associated with CTS: -

Page 19 of 68

ABAP FAQ
Memory
SAP memory (Global Memory): - is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions. External session: - when user logs on to R/3 system, the system creates a new terminal session called external session. E.g. System Create Session. Internal session: - created by calling a transaction (with CALL TRANSACTION), a dialog module (with CALL DIALOG) or a report (with SUBMIT or RETURN). For external session: - internal sessions are allowed. Read/Write from SAP memory: - GET PARAMETER / SET PARAMETER. Roll area: - Data areas of used programs are created in roll areas for each internal session. Posting data between internal sessions: - EXPORT TO MEMORY and IMPORT FROM MEMORY. Main program group: - Created when exporting an internal session. Additional program group: - If a function module belonging to a function group not so far loaded, additional program group is created. Main program: - First program of program group. Subroutine call: - When external subroutine is called, system loads the relevant program and adds it to the program group of calling program. Work areas: - Both table & common workareas with the same name are created once for each program group and then shared by all programs in the group. List system: - Consists of basic list and all details list belonging to basic list assigned to exactly one screen level. User interface: - Only program has its own user interface. Internal sessions interface is initially empty. Special user interface has to be activated using SET PF-STATUS statement. ABAP/4 memory: - Retained only during the lifetime of an external session. Data cluster: - Group of several data objects. Data objects: - Units of data, which a program processes at runtime.

101. What is ABAP? Advanced Business Application Programming is a 4th generation programming language created by SAP for the interactive development of application programs. 102. What is ABAP/4 Development workbench? An SAP CASE tool to develop standard application software or your own application 4 software That can process both tables and your own tables. 103. Describe interactive reporting. A reporting function with following features: Screen oriented Short basic lists Compressed data in the basic list

Page 20 of 68

ABAP FAQ Detailed information in secondary lists or windows Function key driven 104. What are the functions in the editor command line? Press F1 or F4 Examples include: I(nsert)-Insert new lines at end of text FIND string -Multiple text search N(ext)string-On/Off text search R(eplace)string 1 string 2 -Replace String 1 by String 2 IC abc -Insert Structure PP-Call Pretty Printer Etc 105. 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) 106. What are chain statements? A way to join together successive statements starting the same way Example: WRITE:/ 'xyz', X, COUNTER 107. Answer: Correct the syntax: data: wf_name(25) type C, wf_age(3) type C, Move myname to wf_name data: wf_name (25) type C. wf_ age (3) type n. move 'myname' to wf_name.

108. What is program attributes type I,'M'? Type: I=3D Online Type:I=3D Include StatusT=3D Test Application : m=3D Material Management or module 109. 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 68

ABAP FAQ 110. What is the syntax of the WRITE statement? WRITE <format> <value><options> Format = 3D/p(l) /- line feed p-column position l-output length value=3D output value field or literal options-format options Example: Write: /5(3)'CAPPY'. output starting at position 5 3D CAP 111. Where are text elements maintained? ABAP/4 >>Development>>Text Elements>>(headers, columns titles etc.) SE38 >> Text Elements >> (headers, column, titles etc.) 112. What functions do the ULINE and SKIP commands serve? ULINE-generates a dotted line SKIP-generates a blank line 113. What are the data types within SAP? P-Packed number I-Integer F-Floating point number N-Numeric text C-Text D-Date T-Time X-Hexadecimal 114. What purpose does LIKE serving? To define variables that are similar to those you previously defined or those that exist in the Data Dictionary 115. What is the syntax of the COMPUTE statement? COMPUTE X=3D A + B (COMPUTE is optional.) 116. How is the PARAMETERS statement defined? What does it do? PARAMETERS : PAR1 TYPE P,

Page 22 of 68

ABAP FAQ PAR2 DEFAULT 'X'. Allows a selection screen to appear for user-input when report is executed. 117. How do the field-symbol and assign statements work with each other?

Name 3 ways to activate the debugger. Via menu navigation Set breakpoints in the program Type '/h' in the command field when executing the program Describe the functions of the debugger screen. Single step -Process the next program line Execute- In contrast to the single step,executes all processing steps belonging to one line Continue-Processing continues until the next breakpoint or until the end of program Table--Display the contents of internal tables Editor-to go to the ABAP/4 editor Hexadecimal display-Data contents can be displayed in hexadecimal format Replace-to change the data contents during debugging 118. What is the basic format of the SELECT statement? Select * from <table-name> where <logical expression> EX:SELECT * from TABNA WHERE COUNTRY=3D 'USA' 119. WHERE 120. NEVER How do you limit the data retrieved by a SELECT statement? Where and where do you use a goto command?

121. Are the following logical expressions true or false? T a) value1 LT value3 T b) value3 > value1 T c) value2 between value1 and value 3 F d) value2 LE value1(?) T e) value3 <> value1 F f) value3 CS '+5' T g) value2 CA '0A9GB' **NOTE wildcards +,*, # only work with CP 122. What is the output of the following?

Page 23 of 68

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

123. What do CHECK, EXITS do in a program? CHECK<logical expression> terminates the current loop or subroutine if logical expression is not fulfilled;Outside of a loop structure , subsequent statements in the current processing block are not executed (Syntax CHECK FLAG NE SPACE) EXIT-terminates the current loop or subroutine; outside of a loop structure, subsequent statements in the current processing block are not executed. 124. 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 tablecorresponds to many records 125. 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? 126. T or F: An append will add a record to a database table? You can only append to an internal table. 127. What is the effect of an include structure statement?

Page 24 of 68

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. 128. T or F:The COLLECT statement will total up all P,I,F fields in database table If non-numeric entries in the header line match those in the internal table, COLLECT will add all numeric entries in the internal table header line to table entries where match was found. When no match is found the contents of the header line is added to the end of the table. 129. T or F: The SELECT statement allows the processing in internal table. Use the LOOP AT ENDLOOP instead 130. T or F: The LOOP at command allows you to use the where clause. If there is no table entry satisfying the 'where' logical expression ,the loop cannot be executed And the system field SY_SUBRC is set to a value not equal to zero .In any case the entire table is read. 131. 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. 132. 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 133. 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. 134. 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 dont use the LOOP command an index must be used to change and internal table.

Page 25 of 68

ABAP FAQ 135. What does the CLEAR and REFRESH commands do? CLEAR : Initializes(CLEARS) the header line REFRESH : Deletes all table lines (deletes the body).Paging is released does not clear the header FREE : Deletes all table lines ,Memory is released does not clear the header(deallocates the memory). **CLEAR and REFRESH are typically used together. 136. Why would you use describe table command? To gather information about an internal table (i.e. OCCURS value ,LINES existing table entries) 137. What are the subroutines used for? Subroutines are used in three different ways; 1) Subroutines and its call are in the same ABAP/4 program(internal call ) 2) The subroutine is an external program 3) Function modules are stored centrally in the function library where they are assigned to a function group. Unlike external subroutines function modules have clearly defined interfaces. 138. 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. 139. What is the difference between internal and external calls? INTERNAL-within program EXTERNAL-outside program 140. Explain pass by value, reference and changing value? By Value:When the subroutine is called ,the formal parameters are copies of the actual parameters(with their own storage location) By Value and Result : the formal parameters have a separate storage location .At the end of subroutine the value of the formal parameter is passed to the storage location of the actual parameter Assigned

Page 26 of 68

ABAP FAQ By Reference: when called the formal parameters are not allocated separate storage locations. Instead the address of the actual parameter is passed. Changes to the values of the formal parameters therefore have a direct effect on the assigned main program fields. 141. 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 142. How is data passed to a function module? Using the EXPORTING clause 143. What are exceptions? The EXCEPTIONS parameter is a section in the CALL FUNCTION statement where exceptional situations can be processed. 144. 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 145. 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.)

Page 27 of 68

ABAP FAQ 146. What is global Vs local data? Local data data relevant only within a subroutine Global data data relevant within the entire program. 147. What is ABAP workbench? ABAP/4 workbench is used to implement both simple and complex projects. It allows access To the following tools -R/3 Repository -ABAP/4 program development -Screen Painter -Menu Painter 148. What is its use? It can be used to develop ABAP/4 programs 149. What are the three categories of DATA in the SAP? Master Data changes relatively rarely Transaction Data kept for only a limited time in the system together with any associated index tables. System-specific Data data, texts, ABAP/4 programs and so on. 150. 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. 151. 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. 152. 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. 153. What is the RSDBST00 report program used for?

Page 28 of 68

ABAP FAQ RSDBST00 provides information about logical databases. 154. How is the GET LATE command utilized? It occurs when all subordinate segments have been processed and before the system requests the next table entry of the same table (hierarchy) 155. 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. 156. 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. 157. What is the syntax to declare values? SELECT-OPTIONS Variable_name FOR table_ element DEFAULT range TO range 158. Does SELECT statement perform an authorization check? SELECT statement does not carry out any authorization checks. 159. Why is it important to know this? To remind the programmer that he/she should do this checks. 160. What are the attributes associated with SAPSQL? SAP-SQL has the following attributes: 1) SAP-SQL syntax corresponds to that of standard SQLs 2) SAP-SQL is a subset of standard SQL 3) SAP-SQL contains SAP short forms. 161. The most important thing to remember about the SELECT SINGLE is? There are several things to remember: 1) It retrieves only one row 2) It does not need an ENDSELECT statement 3) THE FULL KEY OF THE TABLE MUST BE INCLUDED IN THE WHERE CLAUSE OF THE SELECT STATEMENT 162. How do the BETWEEN, LIKE and IN comparisons work? BETWEEN <f1> AND <f2> is inclusive

Page 29 of 68

ABAP FAQ LIKE <with % and _ masked literal> - string and character wild characters IN (<field1> , <field2> , . ,<field3>) 163. 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 164. 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) 165. Can you select a database record and place it directly into an internal table? Yes, using the SELECT * from tablename INTO TABLE itab. 166. 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. 167. 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 168. 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 169. 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. 170. 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 171. Describe the activities of the TOP-OF-PAGE event.

Page 30 of 68

ABAP FAQ If you want to improve layout of the report output, you can use the keywords TOP-OFPAGE and END-OF-PAGE, HEADING. 172. 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. 173. 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. 174. Explain the HIDE command. You can use the HIDE command to hide line specific field contents in a list. 175. 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> 176. How does the system interpret pull down menus 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. 177. What are the components of the status or menu? Pushbuttons, menu lists, function keys and codes. 178. Wh at are the advantages of using AT USER-COMMAND (SYUCOMM) 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 68

ABAP FAQ 179. 180. 181. 182. 183. What is the MARKFIELD command how does it work? Explain the READ LINE and MODIFY LINE commands. What does a command window do? Know the syntax of the SCROLL functions. Explain the GET CURSOR command.

184. 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 . 185. 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? 186. What are the differences between calling a program, transaction with return and without return and how can each be accomplished? 187. 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 188. How can you pass more than one group of data by using IMPORT commands? 189. You have a program that needs to call a separate?

190. How can you exit out of a submitted program and return to the original program? Submit report 191. What are the characteristics and phases of background processing?

Page 32 of 68

ABAP FAQ - Execution of ABAP/4 programs w/o dialog - Complete integration in the SAP system - Parallel background and online operation - Ease of use - Distributed processing=09 Phases Job scheduling->job processing->job overview 192. How is the spool list is used? To list jobs during the scheduling process. 193. 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. 194. What are the function modules for generating jobs? JOB_OPEN , JOB_CLOSE , JOB_SUBMIT 195. 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> 196. What is the process for transferring data from legacy system to SAP? FTP file transfer, Manufacturer specific field transfer NFS(network file system) 197. 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

Page 33 of 68

ABAP FAQ 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. 198. What is binary mode? The content of the data is not interpreted by the reading and writing operations. Data are entered or displayed directly. Does not interpret carriage returns. 199. Explain the process to transfer a record to a dataset? TRANSFER <field> to <dataset name> 200. Why batch input? To input a large amount of information at off peak times. 201. Can data be put directly into the database? No, only after the data has been checked. 202. 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 203. What are the function modules associated with batch input? BDC_OPEN_GROUP , BDC_CLOSE_GROUP , BDC_INSERT 204. What is the structure of the BDC table? Program/Dynpro/start/field name/ field content 205. How do you find the transaction number, program number and field names? F1, Technical help 206. 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

Page 34 of 68

ABAP FAQ <field2> TO <bdc table>-FVAL APPEND <bdc table> 207. What are the processing modes for Batch Input? Process on screen , Display errors only and process in the background 208. 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 209. 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 210. Where is processing logic located in an on-line program? ABAP/4 program (module pool) 211. Describe the online processor. What is its function? Controls the flow of online program 212. 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 213. What does PBO stands for? When is the PBO logic performed? PROCESS BEFORE OUTPUT Processed before the screen is displayed 214. What does PAI stands for? When is the PAI logic performed? PROCESS AFTER INPUT Processed after the user has pressed ENTER. 215. How is data passed from the screen fields to the ABAP/4 program? Through the flow logic

Page 35 of 68

ABAP FAQ 216. 217. What does the TOP Include do for you as a programmer? What are the steps in creating screen?

218. 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. 219. 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. 220. Describe the fields on the screen Attributes screen , Screen types ,follow up screens , cursor position etc After you have entered the screen number, the screen branches to the screen attribute maintenance. Enter a short description , select the type NORMAL and specify the number of the Follow-up screen. 221. What are the three components of ON-LINE program? Screen , ABAP/4 program and transaction code 222. What is gained by using the Dictionary Fields menu option when creating your screen? The fields you have created inherits the same attributes as those in the Data Dictionary. Create a checkbox , frame, pushbuttons and radio buttons on a screen Just type a name and go to graphic element push button. 223. How do you assign an OK_CODE for a push button? How it is used in your ABAP? In the field list ,name the element and give it the value that it will represent when pushed You must make sure that you clear the field that represents the pushbutton after every check. 224. What automatic checks does the screen perform? (should be four)Describe all four and how they are used?

Page 36 of 68

ABAP FAQ The field format, required input, a foreign key table, parameters 225. 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. 226. 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. 227. What are the two effects of the foreign key from a user standpoint? Possible entries & a check against the key field contents. 228. What is user defined validation checks in the flow logic? FIELDSELECT FIELDVALUES or in the module pool FIELDMODULE 229. PAI 230. 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. 231. 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. 232. 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 233. What are the 5 different message types and how are they handled by the system? What is then difference between the Warning and Error messages? A : Abend Message displayed on the current screen and subsequent task terminated I : Information Message displayed on the current screen , but user can continue program by pressing ENTER Does the value command in the flow logic go in the PAI or the PBO event?

Page 37 of 68

ABAP FAQ E: Error Message displayed on the current screen. With FIELD statements , the fields concerned become ready again for input and user is required to make the entry /entries again W : Warning As E message , but correcting input is optional S: Success Message displayed on the follow-up screen as an I message. 234. What does WITH statement add to a message? In the place of the & or $ the fields or values are placed in the error message. 235. 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. 236. What is the importance of the chain statement? The CHAIN statement allows you to include multiple FIELDS for reenter. 237. Where are the messages displayed on the screen? At the bottom 238. 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. 239. Where does the GET PARAMETER statement get its values? Which field gets populated with the new value? From the buffer 240. Where can the SET CURSOR command be executed? What is its effect?

241. What are the matchcodes and how do they affect the screen field? Where are they specified in the online program? 242. logic? 243. 244. What is the effect of an ON CHAIN-REQUEST command in your flow What commands are used to change database table entries? How can you check if the changes to the database were successful?

Page 38 of 68

ABAP FAQ 245. What is the difference between the Long form and the short form of making database changes? 246. What is the advantages using the SAP long form over the short form of database changes? 247. 248. 249. 250. Can where clause be used when updating database entries? Describe array operations and their advantages? What is logical unit of work? How is it defined? What function is performed by the commit work command?

251. 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. 252. 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. 253. 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. 254. 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.

Page 39 of 68

ABAP FAQ 255. What is the difference between CALL SCREEN # # # and SET SCREEN ### LEAVE SCREEN? SET SCRREN statement sets or overwrites the follow-up screen. LEAVE SCREEN executes the screen number currently in the follow-screen field CALL SCREEN interrupts the processing of the current screen to call a new screen or a chain of screens, processing of the current screen is resumed directly after the call. 256. After a CALL SCREEN command where does the processing return after the screen has been executed? It returns the processing to the calling screen 257. Which is the more similar to a call with return, the SET SCREEN or the CALL SCREEN? The CALL SCREEN command. 258. What function is performed by the SET SCREEN 0 command? Returns to the original screen 259. What are the main differences between the repot status and screen status?

260. Where must you place the SET PF-STATUS command in your online program? Place it in the PBO module of the screen 261. 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. 262. 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 263. 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 264. What are screen groups? A group of screen fields such as radio buttons or checkboxes.

Page 40 of 68

ABAP FAQ 265. What is the correct syntax for dynamically modifying a large number of screen fields? MODULE MODIFY _SCREEN_OUTPUT . . . LOOP AT SCREEN IF SCREEN GROUP = 3D GR1 SCREEN-INPUT=3D 1 ENDIF. IF SCREEN-NAME = 3D TAB-FIELD SCREEN-ACTIVE=3D 0. ENDIF. MODIFY SCREEN. ENDLOOP. 266. SCREEN. What is the name of the internal table that stores the screen information?

267. What is the purpose of the MODIFY command when performing the dynamic screen modifications? After you activate or deactivate the field attributes by assigning them 1 or 0, you save the modifications via MODIFY SCREEN command. Technical Questions from the BC team (Group 1) Set 1: 1. Direction for the use of view object within the program? View object A view object is a virtual table tailored to the needs of an application .This allows Direct access to specific data. View object is used in within an ABAP/4 program the same way a table is used. If you have created a view object ZVIEW , you can display its contents using following example program REPORT ZEXAMPLE. TABLES: ZVIEW. SELECT * FROM ZVIEW. WRITE: / ZVIEW. ENDSELECT.

Page 41 of 68

ABAP FAQ 2. Direction for the use of check box and radio buttons in screen painter? Creating Radio Button and Check Boxes on the screen 1) Go to the full screen editor. 2) Place an underscore at the point where you want to place the field. 3) Define the name of the field using <Field Attributes> 4) Place the cursor on the field and press <Graphic element> 5) Then press <Radio Buttons> or <Check boxes> depending on which graphic element you want 6) Then you group related check boxes and radio boxes. Difference between Radio Buttons and Check boxes. Radio buttons force one and only one entry to be active (Value X. Inactive has value '') for each group before control is passes back to the program. Check boxes allow for any combinations of entries on the screen. 3. When table in data dictionary is created , the relationship between cardinality factor and table Cardinality: The following values are allowed when inserting data: C - 1 To 1 (Optional) CN - 1 To M (Optional) N - 1 To M (Mandatory) I - 1 To 1 (Mandatory) Dependency factor: This defines the foreign key relationship when applying updates. 4. When an internal table is created, the settings criteria for the value of occurs? The objective of setting the value of an occurs for an internal table is a question of optimization. The following facts should be taken into account when making such decision. 1) The complete data area of a program is 64000 bytes. 2) The initial size declared is kept in roll area (quicker access to program) 3) Data entered that exceeds the initial size stores in the roll file (Slower access to program) You should also analyze the expected volume and access rates before making the decision. 5. When entering values on table related with foreign key using on-line program (using insert), why checking on possible entries on foreign key is not carried out? 6. Direction for the use of area menu?

Page 42 of 68

ABAP FAQ Area menus are used purely for the pathing to transactions. They contain the same information As a transaction except for the part that is defined by the screen painter component. Details of the Area menu screen : Title : Workbench : Maintain area menu initial screen Transaction : SE43 Path : Tools ->CASE->Development->Maintain area menu Creating an area menu: 1) Enter the name of the new area menu. Since there are no SAP area menus starting with "Z, an appropriate naming convention would be for all user created area menus to start with "Z". 2)Hit <Create> 3)Enter: -Maintain Language (must be "E") -Short text (description of area menu) -Hit<Continue> 4) You should be now in the area menu editor. The fields that you can maintain are as follows: -Title : Text at the top of your area menu -Menu bar: Text for pulldown menu options & functions or sub menus. -Push button settings: - Number(s) of the corresponding function key(s) defined. -Function key settings: - Text and associated definitions for function keys. 7. Description on roll area, work area, roll in? Answer: Roll area: Contains data that is automatically copied into the process ' private memory at the beginning of the dialog step (Rolled in). Page area: I believe that the page area is a section of memory, which is the size of 11/0 operation. Work area: Contains the graphical user interface elements for the display and entry of data. Roll in: When data is copied from the role file to the roll area. Technical Questions from the BC team (Group 1) Set 2: It is possible to delete data entered with ABA/4 program in table maintenance. However, deletion of data uploaded from SAM file in table maintenance is not possible. Definitions: I am not sure if I understand this question. Are you asking if it is possible to delete data from a SAP table using information stored on a Unix file or are you asking me

Page 43 of 68

ABAP FAQ if the contents of a SAP file can be deleted before a Unix file is loaded? I need more information to be able to answer this question. The difference between two SYNTAX. Insert table name & insert table name, commit work. The difference can be demonstrated by the examples below. Start of Program I. Database update statements Run-time error occurs here End of program 1= 20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= 3D=20 Start of program 2. Database update statements. Commit work statements =20 Run time error occurs here =20 End of program 2=20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= 20=20 Program I will not update the database & program 2 will. Structured Logic 1. What is the difference between Structure & Intab table? 2. BDC program - How do you prepare? When you run BDC Program? 3. What is a Transaction for job definition, Explain those 3 modes. 4. Call transaction module, give syntax. 5. How do BDC program using Call Transaction - What are modes - A , N , E 6. "Check " statements, how it works. 7. Explain "Chain input" fields. 8. What is the difference when use fields in Chain, End Chain and when use in Subroutine? 9. Difference between Append and Collect statement? 10. How you populate internal table. 11. Syntax to create for internal table. Why you use occur parameter? 12. Debugging a program - give how you set breaks points? 13. Explain Field Group. 14. What is a Field symbol?

Page 44 of 68

ABAP FAQ 15. Transaction for Menu painter? 16. Transaction for Screen painter? What is flow logic? Explain 17. Transaction for MM creation? 18. Transaction for Sales Order (S /D) - Create, Display & Change? 19. Transaction for Delivery (S / D) - Create, Display & Change? 20. Where you specify logical database, while you are creating a program? 21. If you want to run two programs , within one program how you run 22. Another program instead of opening another session? 22. Parameter, Select Option -difference? 23. Example of nested "Select " statement syntax? 24. Give some System Fields. 25. At line - selection how it works. Which system field contains information? 26. How do you declare and call subroutines? 27. What is the difference between Move & assign statement? 28. What it does "New-Page" statement? 29. What is a Transaction for creating a Job and how you navigate from menu path? 30. What is Internal Table? Internal Table is a temporary table, where you store the data temporarily in a BAP program. Types of Table types - Logical level Transparent, Pooled, cluster Database Table 31. What is BDC and How you use it? Batched Data Communication. Batch input is an automatic procedure for the non-online data transfer of data into the system. BDC is used mainly to port data from legacy system to New system Using file access command like OPEN DATASET, READ DATASET. We populate the data into database tables. This can be run as a batch job using BDC. SAP strongly recommends that you use same screen flow to populate a table because that way referential integrity and additional checks are done properly.User dialog is simulated 32. What is Dataset and How you use it? To open operating system file you use OPEN DATASET function FOR OUTPUT or INPUT or Append Mode. Ex : OPEN DATASET Dataset _ I FOR OUTPUT

Page 45 of 68

ABAP FAQ 33. What is a variant and Where do you use this? Variant contains parameters for a program. You can run a program either using variant or directly. If you run directly you have to enter all the parameters and if you use variants you do not need to enter parameters. You can have many variants for a program. 34. What is Set Parameter and Get Parameter? We can store parameters in memory (SPA /GPA Memory) using Set Parameter and Get Parameter commands. Set Parameter sets the value in the memory and and Get Parameter retrieves the value from memory. Ex : SET PARAMETER ID USER _ID FIELD EMPLOYEE-USERID 35. What is Field Symbol? Field Symbol are variables. Main advantage of the Field Symbol is you do not have to define field Type it can be of any type and any length depending on the field you assign at the runtime. Ex. FIELD_SYMBOLS <F> ASSIGN LFAI - NAMEI TO <F> 36. What is Menu painter? And How do use it in your application? Menu painter is tool to create Menus, Push Buttons assignments and from Screens. During run time you can assign any menu status to a screen. You assign a four-character function code for each function and you use OK-CODE to identify which function need to be run. You write code in PAI module for each function. 37. What are the variables that start with SY-? These are system variables like SY-DATUM System Date SY-SUBRC System Return Code 0- Success, 4 - failure These are the System Fields, you use this to generate a list SY-Title SY-pagct SY-Srows SY-scols These are used for interactive reporting SY-Curow SY-CUCOL 38. What is Logical database and Explain about GET and PUT modules?

Page 46 of 68

ABAP FAQ Faster Way of executing for selecting records. Logical database is not a physical database. It is logical database structure of tables where you specify the relationship between a set of related tables. Every logical database has root table & child nodes. If you want to use GET table command in your program you need to declare that related structure as a logical database. Once you specify the structure you set SELECT-OPTIONS and then Database Program and modify the code for PUT Forms. This PUT forms are executed whenever you use GET function in the code. 39. What are PBO and PAI? PBO is process Before Output and PAI is process After Input. System runs code in PBO module before displaying the screen. Code in PAI is executed for any user like clicking a button or pressing function key and etc. 40. How you use PERFORM command? PERFORM command is used to call a sub routine from any module. Ex. : PERFORM Message_ Handler USING 0 41. What is Screen Painter? And How do you write a script for command Button? Screen Painter is a tool to create a screens which can have User Input fields, Command buttons, Frames, Radio Buttons, Combo boxes, and Check boxes. Key point here is you need to specify OK-CODE (you can give any name but normally you use OK-CODE) For OK function and you declare same variable in Module Pool also. In PAI module using Case statements to determine which key was pressed. CASE OK-CODE WHEN DELE MODULE Delete _ Function. 42. What are Events? Start of Selection Get <table> End of selection 43. What kind of On line programs did you write or use? On-line program is a program, which is not off line or Background job. Transaction and Dialog modules are online programs.
RHO Consulting

1. Explains what are the BDC Components?

Page 47 of 68

ABAP FAQ 2. What is the difference between TRANSP and POOL TABLE? 3. HIDE Statement, how it works? 4. RANGES statements, why you use in ABAP/4 programming? 5. In internal table how you get how many lines in it? 6. What kind of Transaction did you use? Where did you use? Why did you use? SE38 ABAP Program SE51 Data dictionary 7. What are the commands, which can be used only in screen, flow logic but not in ABAP? 8. How do you change the text (description which normally appears as non-editable on the screen) of the Table field? You can change the text for Data element. For data element you have Three different description text (short, medium and long). You can Use any one of the texts. 9. Where do you store BDC information? (Which table?) and What are the fields in table? In BDCDATA table. Fields are DYNPRO Screen Number PROGRAM Program Name FNAM Field Name FVAL Field Value DYNBEGIN 10. What do you know about profiles? How can you give an authorization to particular user? A Profile is made up authorization. There are two types ;of Profiles single and composite. Material setup 1. How did you do pricing? (including menu flow ) about policy Table ----> (Customer/Material ) ------> Access Sequence (price Customer discount Material ) ------> Condition type ------> Pricing Procedure ----------> procedure determination

Page 48 of 68

ABAP FAQ SD config -----> Functions ------> Pricing -------> Control Data -----> Environment -----> Create tables. 1. Maintain condition tables of fields that can be used as Conditions to check for in pricing. There is a fixed list of fields that can be checked. 2. What did you do in payroll? 3. What did you do in customizing Org. structure? Set up Company group, company code, controlling area, business Area, credit control area, financial management area, plants, storage Organization, distribution channel, division , shipping Points, loading points, plant sections, person groups, person subgroups, and Payroll subunits and mapped them. 4. What did you do in Account Assignment in material management? And also about valuation class 5. What are number ranges? How did you assign? 6. What did you do in Time Data? 7. What are infotypes? How did you use it? Do you remember any info types you used? 8. What type of materials did you use? ROH Raw material HAWA Trading FERT Finished goods PROD Product Group WETT Competitive product 9. What are the logical databases and tables did you use in MM and SD? EMM Purchasing documents for material EKKO (Purchase Document Header) EKPO (Purchase document item) EKET (Delivery Schedules) EKPB (Material provided item in purchasing document) EKKN (Account assignment) EKBE (History of purchasing document)

Page 49 of 68

ABAP FAQ MSM Material Master MARAV View tabelle fuer die logische DB MGM MARM Quantity unit MBEWV View f=FCr logische Datebanken MVKE Material Master : Sales Data MARCV View f=FCr logische Datebanken MSM PROPF Forecast parameters MARD Material master : storage location / batch segment MCHB Batch stocks MKOL Special Stocks from vendor MLGN Material data for storage number MLGT Material data for storage type VFV Invoices in sales & Distribution VBRK Billing : Header Data VBUK Sales Document : Header Status and Administrative D VBPA Sales Document : Partner VBRP Billing : Item Data VBFA Sales Document Flow VBFAVG SD Document : Flow Records VBPAPO Item Partner in SD Document KONV Conditions (Procedure Data) How do you create logical database? Menu Sequence also. CASE Development Work Bench Other Object EDIT Logical Databases OR CASE Development Program Maintenance ABAP Development Utilities Development / Test Logical Databases 11. Hierarchy of Data Dictionary? Table contain fields Tables Fields data elements Data Elements Data elements domains Domains 12. What is the difference between Data elements and Domain? 10.

Page 50 of 68

ABAP FAQ Ans: - A domain (Generic data types) describes the technical attributes of a field, such as the data type or the number of positions in a field. The domain defines primarily a value range describing the valid data values for the fields referring To this domain. Data elements (Specific data types) A data element is an elementary type. It describes the type attributes (data type, field length and possibly the number of decimal places) and screen information (explanatory text or field help) about unstructured data objects (table fields and structure fields or variables). Table fields and structure fields with the same contents should refer to the same data element. This ensures that the attributes of these fields are always consistent. A data element can be referenced in ABAP programs with TYPE. This permits you to define variables that take on the type attributes of the data element in an ABAP program. 13. How the tables in logical databases are related to each other?

14. What are the different relations between two entities? One-One, One-Many and Many-Many It is also called as cardinality. CN 0,1,More C 0, 1 N 1 or More 1 1 15. What is 3-tier architecture? What does that middle layer do? Client, Server and Application Layer. 16. What did you do in shipping? About the process? Ans: - Shipping Conditions are defined in Customer Master. (Table KNA1 (General Data)) Transportation groups are defined in Material Master. (Table MARA (General Data))
All valid leg combos must be configured in the system. (A leg is the link between a starting and a finishing point).

The shipping point is defined for each order item The route groups legs together. Shipping Delivery Order (create and save) Picking transfer orders (create & confirm) 17. What are the different sections in Functions? IMPORTING, EXPORTING and EXCEPTIONS

Page 51 of 68

ABAP FAQ 18. What are Field Groups? Ans: - An extract dataset consists of a sequence of records. These records may have different structures. All records with the same structure form a record type. You must define each record type of an extract dataset as a field group, using the FIELD-GROUPS statement. FIELD-GROUPS <fg>.
This statement defines a field group <fg>. A field group combines several fields under one name. For clarity, you should declare your field groups at the end of the declaration part of your program.

19. In your experience programming AMAP/4, What guidelines do you follow as best practices? Ans: - a) Store data in internal tables to reduce duplicate processing. b) Copy an existing process and changes it. c) Follow prescribed naming conventions for programs. d) Use an include statement (ZIU0001) from the main documentation block. e) For describing the content of the program, such as date, program author, purpose, list of parameters and specifies, list SAP tables used, and list external input/output, tables/files are used. 20. What are some of the SAP ABAP/4 control statements that you used to write one of your more complicated programs. AT END OFEND AT AT NEWENDAT CALL CASE...WHENENDCASE CHECK DOENDDO EXIT FORMENDFORM IF...ELSE...ENDLOOP LEAVE LOOP...ENDLOOP MODULE...ENDMODULE ON CHANGE OF...ENDON PERFORMUSING SELECTENDSELECT STOP WHILEENDWHILE

Page 52 of 68

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

And how did you use them in your programming experience? Packed, numeric, Character, and Date 22. What are the various data structures (table processing) used in the ABAP/4 environment? Ans: - The data structures are field string, internal tables, append and collect. 23. Have you ever developed a batch-input program? If so, what approach did you use to get data into SAP? Ans: - Batch Input is a SAP method for transfering data into SAP System. The transfer consists of two phases: 1) Create the batch input data for the target SAP system (ASCII data files are specially prepared for SAP batch input processing). 2) Processing the batch input data in the target system. There are three approaches for submitting data for batch processing: 1. Batch Session 2. CALL DIALOG Statement 3. CALL TRANSACTION Statement 24. Have you ever done any transaction program/development using ABAP/4, screen painter, and menu painter? If so, describe the steps or technique used to develop transactions? Ans: - The following list outlines the general steps that should be followed when developing a new SAP R/3 transaction. I do not have to be performed specifically to this sequence, but these topics/steps should be performed. 1. Preliminary work: Design the transaction, specify the transaction code in the system and enter the transaction attributes. 2. Define global data in the data dictionary. Determine which domains, data elements, and tables you want to use. 3. Create an ABAP/4 module pool. Create a module pool for the transaction and assign a name and attributes according to the customer naming conventions. 4. Define screens (Screen Painter): Paint your screens, that defines the positions and texts of the fields on the screen and assign appropriate names. In doing this, you point the Data Dictionary fields you have defined in the Data Dictionary, Define the attributes of all screens.

Page 53 of 68

ABAP FAQ 5. Define menus, windows, and function keys (Menu Painter): Define the interface for your transaction with menus, pop-up windows and function keys for each individual screen. Assign function code to each function that the user can execute. 6. Define screen flow logic. 7. Program the individual modules: Write the detailed processing logic, program and modules called in the screen flow logic, pass the data between the module pool and SAP memory, process the function codes from the interface and process the reports. 8. Create and program on-line messages: Create on-line messages and document them (in the form of texts) Call the messages in the appropriate modules. Observe the rules for error dialog. 9. Test the transaction. Test the transaction with the on-line debugging facility. Transport transaction programs : Transport your completed transaction to the production system Instance. 25. Have you ever created a user-defined database in SAP/R3? If so how did you go about adding a user-defined database to the system? To add a user-defined database to the system, the following steps are required. 1) Define the structure in the data dictionary. A. Go to the Data dictionary Maintenance screen. Fill in the name of the database you are defining B. Define the database structure To do this, select the object class tables for editing. In the resulting screen, fill in the necessary information about the database. C. Provide the database fields. Go to the fields screen so those new fields can be entered into the system. You must atleast enter MANDT, RELID, SRTFD, SRTF2, CLUSTR and CLUSTD. When you have entered all the required fields save the record structure. D. Active the table. The table is now defined in the Data Dictionary and known to the system at large. Add the database to the system by going to the Database Create screen. There select processing method of in -line, so that the database has been created, you can now create database clusters with the EXPORT command or access the database records using SQL. 26. Describe the basic framework of an ABAP/4 program? The basic structure of an ABAP/4 program is as follows: REPORT report_name DATA : pagebreak (12) TYPE C,

Page 54 of 68

ABAP FAQ DATA : title (10) TYPE C, TABLES: ABC, DEF, XYZ. PARAMETERS: ABC-DSC. FIELD-GROUPS: FIELD-SYMBOLS <name> <street> = 7F <city> INSERT INITIALISATION INCLUDE ASD0001 START-OF-SELECTION. Call to extract data from the database are performed here END-OF SELECTION. TOP-OF-PAGE END-OF-PAGE FORM Form_Name ENDFORM. 27. What are the functional modules you have strong background?

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

1. Please circle T(rue) or F(alse) for each of the following questions:2. Move Corresponding is an effective way to move fields with like names from a DB table record to an internal table header line. (T / F) 3. An append will add a record to a database table. (T / F) 4. The COLLECT statement will total up all P, I and F fields in a database table. (T / F) 5. The SELECT statement allows processing of an internal table. (T / F) 6. The Loop at command allows you to use the WHERE clause. (T / F) 7. An internal table can be deleted. Modified, or inserted without the use of index. (T / F) 8. The SELECT command performs its own authorization check. (T / F) 9. The WHERE clause in the SELECT SINGLE command is optional. (T / F)

Page 55 of 68

ABAP FAQ 10. When using the GET and SET PARAMETER ID command the memory id must be defined to the Data Dictionary? 11. The SET PARAMETER commands function is to create a storage location in memory and retrieve its contents? Section B There is only (1) correct answer for each of the following questions. Please circle the letter, which you think corresponds to the correct answer. 1. A LIKE statement is used to: (a) Move similar fields between the header areas of internal tables. (b)Set declared data fields to the same characteristics as a different data field. (c) Assign a default value to a parameter. (d)Pass parameters to a subroutine. 2. All are examples of SAP events except: (a) Start of Selection. (b)End of Selection. (c) Top of Page. (d)New Page. 3. The best definition of the ABAP.4 workbench is: (a) A method of finding fields within the data dictionary. (b)A method of navigating between SAP objects and a method of establishing a hierarchy between related SAP objects. (c) A screen that contains the attributes for screens, programs, transactions, etc. (d)An easy way of creating objects in SAP. 4. Which is correct for reading an entire table, DBTAB, into an internal table, ITAB, structure that was previously defined? (a) SELECT * FROM DBTAB INTO ITAB. (b)SELECT SINGLE * FROM DBTAB INTO TABLE ITAB. (c) SELECT * FROM DBTAB INTO TABLE ITAB. (d)READ DBTAB INTO TABLE ITAB. 5. Which is an example of passing by reference? (a) PERFORM CHECK_FIELDS USING F1 F2 F3. FORM CHECK_FIELDS USING VALUE F1 VALUE F2 VALUE F3. (b)PERFORM CHECK_FIELDS USING F1 F2 F3. FORM CHECK_FIELDS USING VALUE F1 VALUE F2 F3. (c) PERFORM CHECK_FIELDS USING F1 F2 CHANGING F3.

Page 56 of 68

ABAP FAQ (d)FORM CHECK_FIELDS USING VALUE F1 VALUE F2 CHANGING F3. 6. A MOVE-CORRESPONDING command: (a) Moves all data from an internal table into a database table. (b)Moves all like named fields from one field string to another. (c) Adds all numeric fields in a totals column. (d)Allows you to declare an internal table to have the same structure as database table. 7. A ten byte long character field, WS-CUSTNUM, would be declared as: (a) WS_CUSTNUM TYPE C. (b)DATA WS_CUSTNUM LIKE SPLAN-TIDI. (c) DATA WS_CUSTNUM (10) TYPE CHAR. (d)DATA WS_CUSTNUM (10) TYPE C. 8. Each record within a database table is specified by: (a) A specific index number or SY-TABIX. (b)A unique key structure which can be same for multiple records within the table. (c) One field, Known as the key field, that is specified to each record. (d)A unique key structure which consists of any number of fields and must be unique for each record within the database. 9. To set an initial value in the parameter, CUSTNO, what word is required in the following statement to complete the syntax: PARAMETERS: CUSTNO(10) TYPE C____________0000111008=20 (a) Value. (b)Default. (c) Initial. (d)Like. 10. Which of the following does not have an END associated with it? (a) LOOP. (b)DO. (c) GET. (d)SELECT. 11. Which is the best example of a foreign key? (a) Data element. (b)Domain. (c) A VALUES statement within the PAI module of the flow logic.

Page 57 of 68

ABAP FAQ (d)A check table. 12. (a) (b) (c) An on-line program consists of: Flow Logic, a screen, and an ABAP program module pool. A Screen, an ABAP program module pool, and a transaction. Flow logic, screen and a PAI event.

13. PBOs: (a) Are events performed in the screen after the user has entered some data? (b)Is a module pool for an on-line screen? (c) Is an on-line event? (d)Contains all logic for error messaging. 14. All of the following are examples of automatic screen field checks except for: (a) Data formatting. (b)Check tables. (c) Values table. (d)VALUES statement in the PAI of the flow logic. 15. A COMMIT WORK command: (a) Reads in a logical database. (b)Closes a logical unit of work and confirms the changes in the database. (c) Cancels a logical unit of work and rolls back all changes made with the UPDATE. (d) Is automatically performs at each UPDATE dbtab command line 16. The following is an example of a call without return: (a) CALL TRANSACTION VAO1. (b) SUBMIT SAPMV45A. (c) CALL SCREEN 0.09. Provide short answers for each of the following questions in the space provided:1. Why would you use the DESCRIBE table command? 2. What do the CLEAR, REFRESH and free commands do? 3. What is the difference between internal and external calls? 4. Explain: Pass by value, Pass by Reference, Pass by value and result? 5. Name the 4 interface parameters of a function module? 6. What are the 3 categories of DATA in the SAP system? 7. What are the table TYPES in the SAP system?

Page 58 of 68

ABAP FAQ 8. What ABAP/4 command is used to process a logical database? 9. At what 2 points in the ABAP code can the STOP command branch to? 10. What is the difference between the templates % and _ during string comparison? 11. Where is the processing logic located in an on-line program? 12. Describe the on-line processor. What is its function? 13. What does PBO stand for? When is the PBO logic performed? 14. What does PAI stands for? Where is it located? When does it get performed? 15. How is data passed from the screen fields to the ABAP/4 program? 16. What does the TOP Include do for you as a coder? 17. What are the steps in creating a screen? 18. Where are the module statements declared? Where is the logic within each module? 19. What is the significance of the word OUTPUT in the declaration? MODULE TEST_KNOWLEDGE OUTPUT ENDMODULE. Describe the fields on the screen attributes screen. Screen types, follow up screens, cursor position, etc. 20. What are the three components of an ON-LINE program? 21. What is gained by using the Dictionary Fields menu option when creating your screen? 22. How do you assign an OK_CODE for a push button? How is it used in your ABAP? 23. What automatic checks does the screen perform? (Should be four.) Describe all four and how they are used. 24. What are the two methods to declare input field as mandatory? 25. What are the two effects of a foreign key from a user standpoint? 26. What are user defined validation checks in the flow logic? 27. Does the VALUES command in the flow logic go in the PAI or the PBO event? 28. If an error occurs in the module pool, which fields are available for entry and which are display only fields? 29. When is the chain command used in the flow logic? 30. Which table stores the one-line messages? What is the message class and what is its significance?

Page 59 of 68

ABAP FAQ 31. What are the 5 different message types and how are they handled by the system? What is the difference between the Warning and Error messages? 32. What does the WITH statement add to a message? 33. What effect does the FIELD statement have within the flow logic? 34. Where are messages displayed on the screen? 35. Is the SET PARAMETER statement to be issued in the PBO or the PAI module? Why? 36. Where does the GET PARAMETER statement get its values? Which field gets populated with the new value? 37. Where can the SET CURSOR command be executed? What is its effect? 38. What are matchcodes and how do they effect a screen field? Where are they specified in the on-line program? 39. What is the effect of an ON CHAIN-REQUEST command in your flowlogic? 40. What commands are used to change database table entries? 41. How can you check if the changes to the database were successful? 42. What is the difference between the long form and the short form of making database changes? 43. What is the advantage of using the SAP long form over the short form of database changes? 44. Can Where clause be used when updating database entries? 45. Describe array operations and their advantages? 46. What is Logical Unit of Work? How is it defined? 47. What function is performed by the commit work command? 48. Why is it so important for a programmer to check the lock entries in the database? 49. How can you find a lock entry for a database table? 50. What steps are necessary to set a lock on a record within a database table? 51. How do you unlock the entry? Why is this necessary? 52. What is the difference between SET SCREEN ### and SET SCREEN ###. LEAVE SCREEN.? 53. After a CALL SCREEN ### command, where does the processing return after the screen has been executed? 54. Which is more similar to a call with return, the SET SCREEN or the CALL SCREEN? 55. What function is performed by the SET SCREEN 0 command? 56. Where must you place the SET PF-STATUS. Command in your on-line program?

Page 60 of 68

ABAP FAQ 57. Why it is a good idea to clear the ok_code after deciding which action to take? 58. How do you specify that a function is an exit type command? 59. What are screen groups? 60. What is the correct syntax for dynamically modifying a large number of screen fields? 61. What is the purpose of the MODIFY command when performing dynamic screen modifications? 62. Various Event for a screen? A) Clicking Push Button, Function Key, Menu Option. 63. How do you run a report for a row in table? A) Using Graphics Multiplexer. There is an option some thing similar to screen capture which captures data only. Using that data you can draw graphs (3D and 2D). This option is available all the time from Menu! -> Generate Graphics which captures the data then you need to drag and select the data you want to draw a graph on. Once you select you can click on Graphics, which launches graphics multiplexer. 64. What are reports? And How do you set up reports?

65. What are user Exits and transactions? A) Generally, user exits are the forms defined within SAP standard code (usually starting with user exit). These predefined areas in the code allow programmers to insert custom defined code into the standard processing of a transaction (e.g. allow resorting of the batch sequence in VA01 batch processing). There are many specific examples if you are interested, but usually user exits are searched for when a specific use is being analysed. 66. What table is used for BDC? A) BDC DATA PROGRAM Program name DYNPRO Screen number DYNBEGIN FNAM Field name FVAL Field value 67. How do you set up a batch process? A) If you are planning to import data then you need to prepare the data first.

Page 61 of 68

ABAP FAQ You need to remember or note down the user actions (Function Key clicks or Push button clicks). Need to simulate those user events using Batch process technique that is BDC_INSERT_GROUP, BDC_INSERT, and BDC_CLOSE_GROUP. Schedule the Batch job. 68. What are different types of programs? 1 Online report (Executable Program4.6d) J Job Report I Include Report M Module Pool U Update Program F Function Modules S External Subroutines 69. What does GET LATE do? A) In report, if you want to print Title on the top and Totals at the bottom then you need to use GET LATE to print. 70. What does CHAINEND CHAIN do? A) You use chain statement to define processing chain. If a check or a processing module refers to several fields at the same time, you must place these fields together with FIELD statement in a chain starting with CHAIN and ending with END CHAIN. 71. What are the differences between SELECT-OPTIONS, VARIANTS and PARAMETERS? A) If you use Select options then you can define range of values like From-To. You can include ranges or exclude ranges or You can specify single value. If you use Parameters you can only enter a particular value to a field. If you use Variants, you can have several variants for a program. You can save values of set of parameters as a variant and you can have several variants with different combinations of parameter values. You can run program with variant, In that case you do not have to enter parameters. 72. How do you import a UNIX program using BDC?

73. What is a variant? A) A Variant is a selection set of input parameters.

Page 62 of 68

ABAP FAQ 74. What are the advantages of using variant? A) If a report is run with same selection set at regular intervals, variants would save user work. Variants also reduce load on the system, as restricting selection to a small essential amount of data reduces the number of database accesses and hence the load on the system. 75. What is variable selection with variants? A) It is possible to fetch values for variants from table TVARV fields. In this case the value of TVARV field is set before running the program with the variant. This is variable selection since variant runs with different values. This is especially useful for batch mode runs. 76. How do you run programs with variant? A) Current screen will have Execute with variant and Overview of variants buttons if variants can be used. Choose to run with Execute with variant and run with a variant. 77. What is SPA/GPA? When do you use it? A) You can set and display default values in fields. You make the assignment using PID in field attributes and check SPA or GPA option. Other way of using this is using SET PARAMETER and GET PARAMETER commands. Ex:- SET PARAMETER FIELD EMPL-EMPID ID EMP GET PARAMETER ID EMP FIELD EMPL-EMPID 78. What are PBO and PAI? A) Process Before Output and Process After Input. 79. What is Screen Painter and What are steps involved in writing Scripts for Command Buttons? A) Entering OK-CODE for OK, declaring OK-CODE in Module Pool, and Writing script using case OK-CODE statement and using function names. 80. How can you test Flow Logic? A) You need to create a transaction for this screen first. If you go to Screen -> Test then it will show a radio button where you can either check with Screen Flow Logic or with Out Screen Flow Logic. 81. What happens if you choose Hold Data option in screen attributes? A) System automatically shows the data if the user returns to the screen. 82. What happens if you enter 0 in NEXT Screen attribute?

Page 63 of 68

ABAP FAQ 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. 1. 2. 3. 4. 83. Where do you use Pop-Up Windows? Data Input (prompting the user to enter data). Online Control (Define or restrict the online flow for the user). Data backup (Do you want to save the data? Yes or No). Confirmation messages and Include messages. 84. How many menu titles can you have in a main menu?

85. Why and How do you display a message? A) Message is used to INFORM, WARN, EXIT with MSG, or CANCEL with MSG in a transaction. Message is displayed using:MESSAGE xnnn Where x is Type and nnn is the number of message. In addition Message class is set at Program name line, e.g., PROGRAM xyz MESSAGE-ID cc where cc is message class. 86. What are various message types? A) I-Info, W-Warning, E-Error, A-Abend, S-Success. 87. How do you create Message class? A) Tools Case Development Program maintenance Messages Enter name and go to next screen to enter messages. 88. What is BDC? A) Batch Data Communication. Batch Input is a SAP method for transfering data into SAP System. The transfer consists of two phases: 1) Create the batch input data for the target SAP system (ASCII data files are specially prepared for SAP batch input processing), 2) Processing the batch input data in the target system. 89. Where did you use it? A) Exported data from the legacy system to new SAP system. In Purchasing, you can import vendor data and other information about vendors can be brought over to the new system using this technique. 90. Can you explain how you imported data to the new system?

Page 64 of 68

ABAP FAQ 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 customers information including general data and others. If you do not have this technique, you need to key in all the information manually using SAP screens. Using this technique, what you need to do is remember or note down all key sequences including entering data and pressing Function keys or Push buttons to save the data and move on to the next screens. You need to simulate same sequences using BDC. For data entry you need to read in record by record from the data file and assign those field values on the screen and simulate function keys to save data. That way system will check referential integrity and other checks. The reason this is normally run off line is, performance wise this is so slow because it has to load each screen. Other alternative to these loading tables directly but SAP does not recommend that because in some cases referential integrity is violated. That is how you import the data using BDC. NOTE: BDC does not always mean that it is used for importing data and that is it. You can run any time intensive or laborious tasks (Off line) using this technique. For example Monthly reports, no body needs to be there to run this you can schedule a Batch Job. 91. What has to be done to the packed fields before submitting to a BDC session? 92. 93. 94. 95. 96. 97. What is the structure of BDC sessions? What are the fields in a BDC_TAB table? Did you use full graphical user interface in SAP R/3? What are the versions you have worked? How do you find the string length of a variable? 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?

Page 65 of 68

ABAP FAQ 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. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. Call Transaction Modes A, N, E. Explain? Check statement, how it works? Difference between Append and Collect statement? How do you populate internal table? Syntax to create Internal Table. When you use occur parameter? Debugging a program, How you set break points? Explain Field Groups? What is a field symbol? Transaction code for Menu Painter? Transaction for Screen Painter? What is flow logic? Explain. 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?

Page 66 of 68

ABAP FAQ 117. 118. 119.


True/False

At-line-selection how it works. Which system field contains information? How do you declare and call subroutines? What is the difference between Move and assign statement?

1. SAP offers standard batch interface programs with dynamic record layout capability? 2. SAP standard batch input programs structure descriptions are in the Data Dictionary? 3. Data analysis should proceed data transfer? 4. All data conversion must take place prior to the data transfer? 5. The parameters MODE and UPDATE are optional? 6. The BDC table has a different layout for the CALL TRANSACTION? 7. A file can be transferred from the presentation server?
Study Questions & Answers for SAP Partner Academy

1. What is the purpose of SAP Dispatcher? A) Manages the resources for the R/3 Applications. Distributes work to the work processes. Main Tasks: Equal distribution of transaction load to the work processes. Management of buffer areas in main memory. Integration of the presentation level. Organisation of communication activities. 2. There are five specialized work processes. What are they? And which task do they control? a) Online Processes one dialog step and then is available for next request. b) Enqueue A locking mechanism to prevent the applications from interfering with each other when accessing data. c) Update To trigger database changes. d) Background Used to plan the start of ABAP/4 programs. e) Spool Spool requests are generated online or during background processing and placed in a spool database with information about the printer a print format. 3. What function does the message server perform? A) Exchanges short internal messages (Ex. Triggering work processes).

Page 67 of 68

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

Page 68 of 68

Potrebbero piacerti anche