Professional Documents
Culture Documents
Abap Faq: Sap Questionaire
Abap Faq: Sap Questionaire
SAP QUESTIONAIRE
1. Name the reports, interfaces, transactions, sap script programs written? Explain the
Functionality?
2. What is the typical structure of an ABAP/4 program?
Ans. = Declarative elements, Operational, control, events.
3. What are field symbols and field groups? Have you used component idx of
structure clause with fields groups?
Ans.: place holder for existing fields similar to fields point to point
Groups. : Common several fields under one Name.
4. What should be the approach for writing a BDC program?
Ans.: 1. Analysis the Data.
2. Generate SAP structure.
3. Develop transfer
program
4. Create sequential file. 5. Create batch input program. 6. Process batch input data
5. What is batch input session?
6. What is the alternative to batch input session?
Ans. : Call transaction & call dialog
7. A situation: An ABAP program creates a batch input session. We need to submit the
program and the batch session in back ground. How to do it? (up to 3.1H)
Ans.: Run the session by RSBDCSUB explicitly by providing batch input session name
Go to batch input, Double click on session name. It gives a pop up screen for run mode
enter it and run.
8. What are the problems in processing batch input sessions? How is batch input
process different from processing on line?
Ans.: Sessions cannot be run in parallel and not fast.
9. Name as many SAP Transactions as possible you are familiar with?
Ans. : SE38 - ABAP editor , SE80 Object Browser , SE36 logical databases
SE11 ABAP data dictionary & SE16
SE37 Function Module
10. What are the different types of data dictionary objects?
Page 1 of 146
ABAP FAQ
Ans : Tables Data Elements Domains - Structure Foreign Keys
11. How many types of tables exist and What are they in data dictionary?
Ans : Transparent Tables - Pooled Tables Cluster Tables
12. What is the step by step process to create a table in data dictionary?
Ans : Create Domain Create Data elements Create fields Create Tables
13. Can a transparent table exist in data dictionary but not in the database physically?
Ans: yes ,if not activated.
14. What are the domains and data elements?
Ans : domain describes Technical Characteristics of a table fields e.g. value range
Elements describe role played by a fields in technical contains e.g. Form of field
text.
15. Can you create a table with fields not referring to data elements?
Ans : yes
16. What is the advantage of structures? How do you use them in the ABAP programs?
Ans: structure is used to define the construction of data produced when calculations are
carried out within programs or when data is transferred between programs. Contain data
at runtime only.
17. What does an extract statement do in the ABAP program?
Ans: Fills the fields groups with values.
18. What is a collect statement? How is it different from append?
Ans: Collect does not allow duplicate keys and append adds a line even if it exists
already.
19. What is open SQL v/s Native SQL?
Ans : Native SQL used to include SQL stmt of RDBMS in ABAP/4 programs
Open SQL - subset of standard SQL with enhancements that are specific to SAP.
20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
Ans: it allows us to execute a SQL stmt relevant to a particular database attached to SAP.
It is not transparent. (disadvantage)
Page 2 of 146
ABAP FAQ
21. What is the meaning of ABAP/4 editor integrated with ABAP/4 Data dictionary?
Ans: the Graphical programming environment. We can write ABAP/4 code, control
access to objects under development, create new or access predefined database
information.
22. What are the events in ABAP/4 language?
Ans: Interactive reports - At line selection At user-command At PF-status
Classical reports - Top of page end of page start of selection end of selection.
23. What is an interactive report? What is the obvious different of such report compared
with HTML type report?
Ans : Features Screen oriented short basic lists compressed data in basic list
Detailed information in secondary lists or windows.
24. What is drill down report?
Ans: A list which you create by selecting on characteristic value of a report and which
contains detailed information about that value.
25. How do you write a function module in SAP? Describe.
Ans : using function < fname>
function library : parameters , importing changing
tables exporting
.
Exceptions.
End function
26. What are the exceptions in a function module?
Ans: error situations that can occur within function modules EXCEPTION - return codes.
27. What is a function group?
28. How are the date and time fields values stored in SAP?
Ans: As character fields of length 8 and 8 as NUMC.
29. What is a Julian date format?
30. Name a few data dictionary objects?
Ans: Tables Views Structure Domains Data elements Match codes Lock
objects type groups.
Page 3 of 146
ABAP FAQ
31. What happens when a table is activated in DD?
-A table definition is generated
- Map to the database system
-For each table, a table of the same name with the same fields and corresponding data
type is created in database.
Primary index is
generated automatically
32. What is a check table and what is a value table?
- When we define a foreign key in a table (A). If this key refers to primary key of
another table (B). Table B is check table
- Fields referring to a domain may assume values contained in the corresponding fields
of the value table. Field referring to the domain should have a foreign key
33. What are match codes? Describe.
- Tool that helps us to search data records in the system.
34. What transactions do you use for data analysis?
35. What is table maintenance generator?
- used to maintain tables and providing authorization for particular objects
1. One step maintenance
2. Two step maintenance
36. What are ranges? What are number ranges?
- A range of numbers that can be laid down for assignment of document numbers.
Internal
External
What are select options and what is the different from parameters?
- Select options are used to select a range of values where as in Parameters only one
value can be given
- Select option generates a line on selection screen, the first part of which contains a
text, followed by a range for input possibilities.
37. How do you validate the selection criteria of a report? And how do you display initial
values in a selection screen?
- Validation - AT LINE SELECTION Screen event
- Initial Values by default statement in select options / parameters
Page 4 of 146
ABAP FAQ
38. What are selection texts?
- Texts that appear on the selection screen for a particular field. Default fields name.
What is CTS and What do you know about it? [ CTS is Correction and Transport
Systems ]
- Correction system manages the internal system components like objects like only
original version of the object exists. It stores all changes made to the object.
- Transport system allows to transports the object from on SAP system to another
(Development system to Production system). It allows to over write or delete existing
object in target system and import new objects to target systems.
- During development work we start by opening a task (correction) to which we can
assign new and changed objects. Once changes have been made, transport new or
changed objects to other SAP system by means of transport (Change) request.
39. When a program is created and need to be transported to production does selection
texts always go with it? If no how do you make sure? Can you change the CTS
entries? How do you do it?
40. What is client concept in SAP? What is the meaning of client independent?
- A client is self contain unit in an R/3 system with separate master records and its own
tables.
- Client independent records and tables can be accessed from any client.
41. Are program clients dependent?
- Yes
42. Name a few system global variables you can use in ABAP program?
- SY-TEXT SY-TVARD SY-TVAR1 SY-TVAR2
43. What are internal tables? How do you get number of lines in an internal table? How
to use a specific numbers occur statement?
- Internal Tables are Temporary tables used to store values at run time no. of lines in
Internal tables DESCRIBE TABLE ITAB LINES LIN.
- Use a Specific nos. OCCURS statement.
44. How do you take care of performance issues in your ABAP programs?
- Runtime Analysis
45. What are data sets?
Page 5 of 146
ABAP FAQ
- Sequential files in ABAP.
46. How to find the return code of a stmt in ABAP programs?
SY-SUBRC
47. What are interface / Conversion programs in SAP?
- BDC
48. Have you used SAP supplied programs to load master data?
- SAP supplied BDC programs RM06BBI0 (Purchase requisitions)
- RMDATIND (Material master) RFBIKR00 (Vendor Masters)
RFBIDE00 (Customer Master) RVINVB00 (Sales Order)
49. What are the Techniques involved in using SAP supplied programs? Do you prefer
to write your own programs to load master data? Why?
- Identify relevant fields
- Maintain transfer structure ( Predefined first one is always session record)
- Session record structure , Header Data, Item ( STYPE record type )
- Fields in session structure STYPE, GROUP , MANDT, USERNAME , NO DATA
- Fields in header structure consists of transaction code also STYPE, BMM00,
TCODE,MATNR and Fields in Item - ITEMS
- Maintain transfer file sample data set creation
- Transfer data by direct input.
50. What are logical databases? What are the advantages/disadvantages of logical
databases?
- LDB consists of logically related tables grouped together used for reading and
processing data.
- Advantages = 1. No need of programming for retrieval , meaning for data selection
2. Easy to use standard user interface, have check completeness of user
input.
- Disadvantages = 1. Fast in case of lesser no. of tables But if the table is in the lowest
level of hierarchy, all upper level tables should be read so performance is slower.
51. What specific statements do you using when writing a drill down report?
- GET CURSOR
- AT LINE SELECTION
- AT USER COMMAND
- HIDE
Page 6 of 146
ABAP FAQ
-
SY-LISEL
52. What are different Tools to report data in SAP? What all have you used?
- ABAP QUERY
53. What are the Advantage and disadvantages of ABAP query tool?
- Advantages
= no lengthy code
- Disadv. = Interactive lists drill reports are not possible and conditional reporting not
possible.
54. What are the functional areas? User groups? And how does ABAP/4 query work in
relation to these?
- Functional areas = provide the user with a framework for defining a query quickly.
Select a logical database from application system.
User groups = used to set up appropriate environment for the user or authorization for
using query. By creating fun. Areas and assigning them to user groups. System
administrator determines the range of reports the individual application depts. Or end
users can generate using ABAP query.
55. Is a logical database a requirement / must to write an abap/4 query?
- Logical database is not a must for ABAP/4 query.
56. Have you created / maintained functional areas?
57. What are Change header / detail tables? Have you used them?
58. What do you do when the system crashes in the middle of a BDC batch session?
59. What do you do with errors in BDC batch session?
-Analysis and correct them.
60. How do you set up background jobs in SAP? What are the steps? What are events
driven batch jobs?
- Create a job using function module JOB-OPEN
- Collect the job specifications.
- Add a job step to the job with the function module JOB-SUBMIT.
Page 7 of 146
ABAP FAQ
-
Close the job and pass it to Background processing system for execution with the
function module JOB-CLOSE
EVENT DRIVEN BATCH JOBS :Types = System events triggered when activation of new operation mode takes
place
User events - Triggered from ABAP/4 or external program.
Triggering an event notifies the background processing that named condition has been
reached. The Background system reacts by starting any jobs that were waiting for the
event.
61. Is It possible to run host command from SAP environment? How do you run?
62. What kind of financial periods exist in SAP? What is the relevant Table for that?
63. Does SAP handle multiple currencies? Multiple Languages?
- Yes
64. What is currency factoring technique?
65. How do you document ABAP/4 programs? Do you use program documentation
menu option?
66. What is sap script and layout set?
67. What are the ABAP/4 Commands that link to a layout set?
- Call function OPEN-form.
- Call function WRITE-from.
Call function CLOSE-from
68. What is output determination?
69. What are IDOCS?
-
Page 8 of 146
ABAP FAQ
70. What are Screen Painters? Menu Painter? GUI Status? etc
- Screen Painters: - Arranging or creating elements of the screen.
- Menu Painters: - Designing and creating menu bar.
- GUI Status: - Interface between user and SAP program (PF STATUS).
71. What is screen flow logic? What are the selections in it? Explain PAI and PBO?
- Call the ABAP/4 modules for screen PBO, PAI.
72. Overall how do you write transaction program in SAP?
- Create the transaction using object browser (SE80)
- Define the objects e.g. screen, Transactions. Modules PBO, PAI.
73. Does SAP has a GUI screen painter? If yes What operating systems is it available
on? What is the other type of screen painter called?
- Yes
- On what OS is it available
- Other type of screen painter alpha numeric screen painter.
What are step loops? How do you program page down page up in step loop?
- Step loops: Method of displaying a set of records.
- Page down & Page up: decrement / increment base counter
- Index = base + sy-step1 1
Is ABAP a GUI language?
- Yes
74. Normally how many and what files get created when a transaction program is
written? What is top XXXXXXTOP program?
- Main program with A Includes
- I ) TOP INCLUDE GLOBAL DATA
- II ) Include for PBO
- III) Include for PAI
- IV) include for Forms
What are Include Programs?
- Set of code which are included into the main program at runtime.
75. Can you call a subroutine of one program from another program?
- Yes
76. What are user exits? What is involved in writing them? What precautions are
needed?
Page 9 of 146
ABAP FAQ
-
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
83. What is IMG in SAP?
- Implementation guide containing all IMG, activities arranged by business application
components.
84. How do you get help in ABAP?
- Place cursor on required field and press F1 or H keyword in command mode.
85. What are different ABAP/4 Editors? What are the differences?
- Command mode Editor
- PC Mode with line numbering
- PC Mode without Line numbering
Page 10 of 146
ABAP FAQ
86. What are different elements in layout sets?
- Paragraphs
- Character String
- Page
- Page Windows
- Windows
- Header Data
87. Can you use if then else, perform etc. statements in SAP Script?
- YES
88. What type of variables normally used in sap script to output data?
- & Tables name- fields &.
89. How do you number pages in sap script layout outputs?
- & page &
- &next Page &
90. What takes most time in SAP script programming?
- Defining layout set up / sets.
91. How do you use tab sets in layout sets?
- Define paragraph with defined tabs.
92. How do you backup sap script layout sets? Can you download and upload? How?
93. What are presentation and application servers in SAP?
94. In an ABAP/4 program how do you access data that exists on a presentation server
v/s on an application server?
95. What are different data type in ABAP/4?
Memory Management
Page 11 of 146
ABAP FAQ
-
Dictionary contains Meta data or information for the data in data management
system.
It supports redundancy free data storage and data integrity.
Page 12 of 146
ABAP FAQ
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.
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
Page 13 of 146
ABAP FAQ
Maintain Status Determine if records can only be read or if it is also possible to change them.
Match codes tool to help you search for data records in the system
Match codes object describes the set of all possible search paths for the search term.
Match codes Id describes a special search path for a search term.
Match codes
ADV
1 large no of tables are affected by the change of domains or data elements at a time, so
reactivated only once.
2 related objects and its associated value table could be activated together else we
should maintain sequence correctly.
Activation Procedure
Step 1 internal and external characteristics check (naming convention. Relation
between check table and value table.
Step 2 partially active objects are checked whether external characteristics are arranged
in order
Page 14 of 146
ABAP FAQ
Changing the structure deleting the table in database. Activate the revised table in the dictionary. Table in
database is created. Data in table is lost.
Changing the database catalog by ALTER TABLE. Data is preserved indexes recreated.
Converting of tables original table is renamed and temporarily buffered, revised table is activated in
ABAP/4 dictionary and created in database Data from temporary table is reconstructed.
Conversion procedure
1 Generating a program
2 Renaming the database table Prefix of QCM is added to table name
3 Activating revised version
4 reloading data
5 secondary index
we need at least 16 MB RAM for conversion
Lock Mechanism prevents a new database operation being started an existing one has been correctly
completed. When conversion is done, lock is created automatically and released only when
conversion is successful.
Clearing of locks
restart adjustment attempt is made to continue conversion at the point of
termination
Cancel adjustment lock entry is simply deleted from table
Restart log progress of each step of conversion is noted in restart log,
Adjust structures
Type of versions
Type of status
Page 15 of 146
ABAP FAQ
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.
Find - search for objects from a specific object class that meets certain search criteria.
Where-used list: -used to determine the use of an object in other objects.
Page 16 of 146
ABAP FAQ
Data types in R/3: -
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.
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.
Page 17 of 146
ABAP FAQ
Production system: - Development projects are carried out here.
Transport log: - Enables you to immediately find out which objects were transported, by whom and why.
Transport system: -Used for moving objects from SAP development system to production system or
between different systems.
System types: Development system (development work).
Quality assurance system: - Development and customizing settings are tested here.
Production system: - After successful testing, cust. Setting released here.
Training or demo systems: - For presentation of completed developments.
Relationship between system types.
Special development
Recipient
System
System
Transports of
Originals
Integration
System
Consolidation
Transportable
change requests
System
Automatic
Delivery
Special development system: - used for programming critical paths of development projects.
Integration system: - developing applications and testing systems.
Consolidated (production) system: - receives transports from integration system. It contains released
versions.
Recipient system: - receive transportable change requests as soon as they are imported successfully into
consolidation system.
Transport layer: - describes the transport route for distributing the developer class objects among various
systems in the group. All development classes are distributed via same route belong to same transport
layer.
Correction system: - prevents parallel, uncoordinated changes to the same object, even if many copies of
the objects exists, connected by SAP system. It saves all changes to repository and customizing
objects in original system on a version database. It is activated each time the user edits Repository
object.
Request category: -
Request Types: -
Page 18 of 146
ABAP FAQ
Cannot overwrite, add to or delete original objects that are under repairs.
Can transport to consolidation system only with transport type K.
Can transport to recipient systems only from consolidation system to which recipient
systems have subscribed.
Protecting a Transport Request: - Lock the objects listed in requests so prevents users from correcting it.
Task & Request Status: -
DOCUMENT still editing a task or request and have not protected or released yet
(not locked).
LOCKED shows that you have tried to lock a task or request, but not all objects are
locked.
LOCKED ALL objects in task or transport layer-locked successfully.
RELEASED task or request released.
OPEN released but not yet transported.
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.
Page 19 of 146
ABAP FAQ
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.
Page 20 of 146
ABAP FAQ
108. How do you: move, copy, insert, delete lines in the editor?
Enter the M,C,I,D line command in the number area M,C,D can function as block
commands (ie.MM,CC,DD) C,M must be accompanied by a direction indicators B(efore)
and A(fter)
109. What are chain statements?
A way to join together successive statements starting the same way
Example: WRITE:/ 'xyz', X, COUNTER
110.
Page 21 of 146
ABAP FAQ
ABAP/4 >>Development>>Text Elements>>(headers, columns titles etc.)
SE38 >> Text Elements >> (headers, column, titles etc.)
115. What functions do the ULINE and SKIP commands serve?
ULINE-generates a dotted line
SKIP-generates a blank line
116. What are the data types within SAP?
P-Packed number
I-Integer
F-Floating point number
N-Numeric text
C-Text
D-Date
T-Time
X-Hexadecimal
117. What purpose does LIKE serving?
To define variables that are similar to those you previously defined or those that exist in
the Data Dictionary
118. What is the syntax of the COMPUTE statement?
COMPUTE X=3D A + B (COMPUTE is optional.)
119. How is the PARAMETERS statement defined? What does it do?
PARAMETERS : PAR1 TYPE P,
PAR2 DEFAULT 'X'.
Allows a selection screen to appear for user-input when report is executed.
120. How do the field-symbol and assign statements work with each other?
Name 3 ways to activate the debugger.
Via menu navigation
Set breakpoints in the program
Type '/h' in the command field when executing the program
Describe the functions of the debugger screen.
Single step -Process the next program line
Execute- In contrast to the single step,executes all processing steps belonging to one line
Continue-Processing continues until the next breakpoint or until the end of program
Page 22 of 146
ABAP FAQ
Table--Display the contents of internal tables
Editor-to go to the ABAP/4 editor
Hexadecimal display-Data contents can be displayed in hexadecimal format
Replace-to change the data contents during debugging
121. What is the basic format of the SELECT statement?
Select * from <table-name> where <logical expression>
EX:SELECT * from TABNA
WHERE COUNTRY=3D 'USA'
122. How do you limit the data retrieved by a SELECT statement?
WHERE
123. Where and where do you use a goto command?
NEVER
124. Are the following logical expressions true or false?
T a) value1 LT value3
T b) value3 > value1
T c) value2 between value1 and value 3
F d) value2 LE value1(?)
T e) value3 <> value1
F f) value3 CS '+5'
T g) value2 CA '0A9GB'
**NOTE wildcards +,*, # only work with CP
125. What is the output of the following?
Given TABA:
Country City
A
NewYorkNews
A
Johannesville
A
MartinMarietta
A
Rockville
B
Littleton
B
Sr.Charles
PROGRAM Program
TABLES: TABA.
SELECT*FROMTABA.
ON CHANGE OF TABA-COUNTRY.
WRITE: /TABA-COUNTRY, TABA_CITY.
Page 23 of 146
ABAP FAQ
ENDON.
ENDSELECT.
Littleton.
Page 24 of 146
ABAP FAQ
If there is no table entry satisfying the 'where' logical expression ,the loop cannot be
executed
And the system field SY_SUBRC is set to a value not equal to zero .In any case the entire
table is read.
134. T or F: The read table command using the key clause is similar to the select
single.
Yes in that they both return only one entry from table But the READ is associated
with an internal And SELECT is associated with a database table.
135. How does the READ with KEY statement work?
READ TABLE <tab> WITH KEY <'string' or FIELD-NAME>
The search argument is compared character by character with the start of the 'tab' internal
table lines and returns one entry that matches
136. What field within the SY table contains the table index?
The SY_TABIX system field holds the index value of the table line which has been
placed in the
Header line of an internal table.
137. T or F: An internal table can be deleted, modified, or inserted without the use of
an index?
Within a LOOP you can make changes to an internal table. The line affected is
always the current line. If you dont use the LOOP command an index must be used to
change and internal table.
138. What does the CLEAR and REFRESH commands do?
CLEAR : Initializes(CLEARS) the header line
REFRESH : Deletes all table lines (deletes the body).Paging is released does not clear the
header
FREE : Deletes all table lines ,Memory is released does not clear the header(deallocates
the memory).
**CLEAR and REFRESH are typically used together.
139. Why would you use describe table command?
To gather information about an internal table (i.e. OCCURS value ,LINES existing table
entries)
140. What are the subroutines used for?
Page 25 of 146
ABAP FAQ
Subroutines are used in three different ways;
1) Subroutines and its call are in the same ABAP/4 program(internal call )
2)
The subroutine is an external program
3) Function modules are stored centrally in the function library where they are
assigned to a function group. Unlike external subroutines function modules have
clearly defined interfaces.
141. When should you use an include versus a perform versus a function module?
All are modularization techniques but typically the INCLUDE is for data structures, the
PERFORM is for ABAP/4 subroutines and function modules are for non-ABAP/4
subroutines.
142. What is the difference between internal and external calls?
INTERNAL-within program
EXTERNAL-outside program
143. Explain pass by value, reference and changing value?
By Value:When the subroutine is called ,the formal parameters are copies of the actual
parameters(with their own storage location)
By Value and Result : the formal parameters have a separate storage location .At the end
of subroutine the value of the formal parameter is passed to the storage location of the
actual parameter
Assigned
By Reference: when called the formal parameters are not allocated separate storage
locations. Instead the address of the actual parameter is passed. Changes to the values of
the formal parameters therefore have a direct effect on the assigned main program fields.
144. What is the syntax of perform, include and function modules?
Perform:
PERFORM <name> USING <a1> <a2> <a3> <a4>
FORM <name > [TABLES <table name>] USING VALUE (<f1>) CHANGING VALUE
(<f2>)
Include:
INCLUDE <name>
Function modules:
CALL FUNCTION function name
EXPORTING
Page 26 of 146
ABAP FAQ
IMPORTING
145. How is data passed to a function module?
Using the EXPORTING clause
146. What are exceptions?
The EXCEPTIONS parameter is a section in the CALL FUNCTION statement where
exceptional situations can be processed.
147. How are they called and handled in the code?
CALL FUNCTION function name
EXPORTING
IMPORTING
EXCEPTIONS NOT_FOUND = 3D1
NOT_VALID = 3D2
OTHERS = 3D3
CASE SY-SUBRC
WHEN 1
WHEN 2
148. How can internal tables be passed to forms and function modules?
Internal tables are passed by reference in function modules and forms.
(For PERFORM FORM statements use the TABLES parameter.)
149. What is global Vs local data?
Local data data relevant only within a subroutine
Global data data relevant within the entire program.
150. What is ABAP workbench?
ABAP/4 workbench is used to implement both simple and complex projects. It allows
access
To the following tools
-R/3 Repository
-ABAP/4 program development
-Screen Painter
-Menu Painter
151. What is its use?
It can be used to develop ABAP/4 programs
Page 27 of 146
ABAP FAQ
152. What are the three categories of DATA in the SAP?
Master Data changes relatively rarely
Transaction Data kept for only a limited time in the system together with any associated
index tables.
System-specific Data data, texts, ABAP/4 programs and so on.
153. What are the table types in SAP?
Internal Structure Structures and attributes, which have no associated data records in
the database, belong to type INTTAB.
Transparent Table Data Records are stored in the database in a table flagged in the
Dictionary as transparent. The name of the physical table corresponds to the name of the
logical table definition in the R/3 Repository.
154. What is Logical Database? What ABAP/4 command is used to process the
Logical Database?
A Logical Database is a hierarchical structure of tables. Use the GET statement to process
Logical Databases.
155. What event is executed when START OF SELECTION event exits?
The statement END-OF-SELECTION is executed. This is different from STOP
statement, which terminates report processing all together.
156. What is the RSDBST00 report program used for?
RSDBST00 provides information about logical databases.
157. How is the GET LATE command utilized?
It occurs when all subordinate segments have been processed and before the system
requests the next table entry of the same table (hierarchy)
158. How do you use the STOP command?
The STOP is specified within the processing block END-OF-SELECTION, report
processing is terminated immediately and the list is displayed.
159. Explain the select-options statement.
It generates a line on the selection screen, the first part of which contains a text, followed
by a range for the input possibilities.
160. What is the syntax to declare values?
SELECT-OPTIONS
Page 28 of 146
ABAP FAQ
Variable_name FOR table_ element DEFAULT range TO range
161. Does SELECT statement perform an authorization check?
SELECT statement does not carry out any authorization checks.
162. Why is it important to know this?
To remind the programmer that he/she should do this checks.
163. What are the attributes associated with SAPSQL?
SAP-SQL has the following attributes:
1) SAP-SQL syntax corresponds to that of standard SQLs
2) SAP-SQL is a subset of standard SQL
3) SAP-SQL contains SAP short forms.
164. The most important thing to remember about the SELECT SINGLE is?
There are several things to remember:
1)
It retrieves only one row
2)
It does not need an ENDSELECT statement
3)
THE FULL KEY OF THE TABLE MUST BE INCLUDED IN THE WHERE
CLAUSE OF THE SELECT STATEMENT
165. How do the BETWEEN, LIKE and IN comparisons work?
BETWEEN <f1> AND <f2> is inclusive
LIKE <with % and _ masked literal> - string and character wild characters
IN (<field1> , <field2> , . ,<field3>)
166. Can Meta Characters be used in a where clause?
Meta characters are wild characters , i.e. %, and _ Yes they can be used in where
clause
167. How do the command ranges work?
It is similar to the DATA statement for an internal table with the columns ,SIGN,
OPTION
LOW and HIGH (It replaces the need to define a data structure with above statement)
168. Can you select a database record and place it directly into an internal table?
Yes, using the SELECT * from tablename INTO TABLE itab.
169. Describe the syntax and function of the AUTHORITY CHECK command?
Page 29 of 146
ABAP FAQ
AUTHORITY CHECK OBJECT <object name>
ID <name1> FIELD <f1>
ID <name2> FIELD <f2>
IF SY-SUBRC NE 0.
170. How does the MESSAGE statement work?
Displays a message at the lower right-hand corner of the screen instead of a user note
with WRITE.
MESSAGE-ID <class>
A message has a class, id and Qualifier
171. What is Data cluster?
It is grouping of data objects. It is divided according to various points of view into work
areas comprising data clusters
172. Explain the EXPORT and IMPORT commands?
You use EXPORT to specify the data objects of your cluster as a list. For an IMPORT,
you need Only a subset of the objects in your cluster in any order.
173. What is an event? And how (in what order) do they get processed in SAP?
An action within the SAP system beginning with a key word that introduces a new
processing block
174. Describe the activities of the TOP-OF-PAGE event.
If you want to improve layout of the report output, you can use the keywords TOP-OFPAGE and END-OF-PAGE, HEADING.
175. How many detail lists can exist on top of the originally generated list? How can
you keep track of the number of lists?
Nine detail lists can exist. The system field SY-LSIND contains the index of the list,
which is currently being generated by the report.
176. What is contained in the field SY-LISEL? How and when is it loaded?
You often want to select a line in the current list and have additional information
displayed interactively for this line .For this purpose, you need to provide the appropriate
data for the selected line. The selected line is automatically transported to SY-LISEL.
177. Explain the HIDE command.
Page 30 of 146
ABAP FAQ
You can use the HIDE command to hide line specific field contents in a list.
178. What is the syntax to call a specific status, titlebar?
Place the cursor on the status name with the statement SET PF-STATUS <status> and
double click or press F2 (similar for SET TITLEBAR <code>
179. How does the system interpret pull down 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.
180. What are the components of the status or menu?
Pushbuttons, menu lists, function keys and codes.
181. Wh
at are the advantages of using AT USER-COMMAND (SY-UCOMM) Vs
AT PF-KEY?
A function can be assigned to another function key without program
change required
If a function key can be used in different lists or list levels you assign
specific function texts to the different status of this key
An event triggered by a command Vs a pf-key
182. What is the MARKFIELD command how does it work?
183. Explain the READ LINE and MODIFY LINE commands.
184. What does a command window do?
185. Know the syntax of the SCROLL functions.
186. Explain the GET CURSOR command.
187. What can be gained using the GET CJURSOR command in the conjunction i.e.
program (ZZTEST01)
That has parameter of CUSTNO, customer number and a select options statements of
DATE .
Page 31 of 146
ABAP FAQ
188. How would you call (Submit) program ZZTEST01 from your main program with
return, loading the customer number parameter with the value of Z66 and a date
range of 19940102 to 19950102? I.e. What is the proper Syntactically correct
command?
189. What are the differences between calling a program, transaction with return and
without return and how can each be accomplished?
190. What are the differences between the parameter SET and GET and the IMPORT
EXPORT commands? Note each parameter can only store one field value.
IMPORT- from memory
EXPORT to memory
191. How can you pass more than one group of data by using IMPORT commands?
192. You have a program that needs to call a separate?
193. How can you exit out of a submitted program and return to the original program?
Submit report
194. What are the characteristics and phases of background processing?
- Execution of ABAP/4 programs w/o dialog
- Complete integration in the SAP system
- Parallel background and online operation
- Ease of use
- Distributed processing=09
Phases
Job scheduling->job processing->job overview
195. How is the spool list is used?
To list jobs during the scheduling process.
196. Can data be transferred from one job step to another?
You can use ABAP/4 global memory to pass on the contents of fields, records, and
internal tables to subsequent steps, IMPORT/EXPORT statements.
197. What are the function modules for generating jobs?
JOB_OPEN , JOB_CLOSE , JOB_SUBMIT
Page 32 of 146
ABAP FAQ
198. WHAT are the commands that allow you to process sequential file? And what is
their syntax?
READ DATASET (reading) and TRANSFER (writing)
OPEN DTASET <dataset name> for <input output appending> in <binary text > mode at
POSITION <position> MESSAGE <field>
READ DATASET <dataset name > INTO <field>
CLOSE DATASET <dataset name>
DELETE DATASET <dataset name>
TRANSFER <field> to <dataset name>
199. What is the process for transferring data from legacy system to SAP?
FTP file transfer, Manufacturer specific field transfer NFS(network file system)
200. What is the difference between opening a dataset for input, output, appending?
FOR OUTPUT
Opens the file for writing if exists it is overwritten if not then it is created
FOR INPUT
Opens an existing file for reading
FOR APPENDING
Opens the file for writing at the end of the file .If it does not exist, it is created, if
opened, you return to the end.
201. What is binary mode?
The content of the data is not interpreted by the reading and writing operations. Data are
entered or displayed directly. Does not interpret carriage returns.
202. Explain the process to transfer a record to a dataset?
TRANSFER <field> to <dataset name>
203. Why batch input?
To input a large amount of information at off peak times.
204. Can data be put directly into the database?
No, only after the data has been checked.
205. Explain at high level, the batch input process?
Page 33 of 146
ABAP FAQ
Batch data is placed into queues called batch input sessions , then placed into the
application programs for maintenance into the database
206. What are the function modules associated with batch input?
BDC_OPEN_GROUP , BDC_CLOSE_GROUP , BDC_INSERT
207. What is the structure of the BDC table?
Program/Dynpro/start/field name/ field content
208. How do you find the transaction number, program number and field names?
F1, Technical help
209. Write out a coding example for filling a BDC Table?
FORM <NAME>
REFEESH <bdc table>
CLEAR <bdc table>
MOVE <program name > to <bdc table>-PROGRAM
<number1> TO <bdc table>-DYNPRO
X TO <bdc table>-DYNBEGIN
APPEND <bdc table>
CLEAR <bdc table>
MOVE: <field1> TO <bdc table>-FNAM
<field2> TO <bdc table>-FVAL
APPEND <bdc table>
210. What are the processing modes for Batch Input?
Process on screen , Display errors only and process in the background
211. What are the available OK Codes that can be utilized during batch input
processing?
/n terminates current batch input transaction and marks as incorrect.
/bdel delete current batch input transaction from session
/bend terminate batch input processing and mark session as incorrect
/bda change display mode to process the session on screen instead of displaying only
errors
/bde change display mode to display only errors instead of processing the session on
the screen
212. What is the effect of the BDC_CURSOR field name in the BDC table?
Page 34 of 146
ABAP FAQ
You can set the cursor and enter as a corresponding field value the name of the field on
which the cursor is to be positioned
213. Where is processing logic located in an on-line program?
ABAP/4 program (module pool)
214. Describe the online processor. What is its function?
Controls the flow of online program
215. How are screen names defined? Do you create a screen first or define your
program first?
Define the program first and then create a screen
216. What does PBO stands for? When is the PBO logic performed?
PROCESS BEFORE OUTPUT Processed before the screen is displayed
217. What does PAI stands for? When is the PAI logic performed?
PROCESS AFTER INPUT Processed after the user has pressed ENTER.
218. How is data passed from the screen fields to the ABAP/4 program?
Through the flow logic
219. What does the TOP Include do for you as a programmer?
220. What are the steps in creating screen?
221. Where are the module statement declared? Where is the logic within each
module?
Module statements are in the flow logic within each module is in the ABAP/4
module pool Program.
222. What is the significance of the word OUTPUT in the declaration?
MODULE TEST_KNOWLEDGE OUTPUT
ENDMODULE.
Then we know that it is part of the PBO, therefore is processed before the screen is
presented.
223. Describe the fields on the screen
Page 35 of 146
ABAP FAQ
Attributes screen , Screen types ,follow up screens , cursor position etc
After you have entered the screen number, the screen branches to the screen attribute
maintenance. Enter a short description , select the type NORMAL and specify the number
of the Follow-up screen.
224. What are the three components of ON-LINE program?
Screen , ABAP/4 program and transaction code
225. What is gained by using the Dictionary Fields menu option when creating your
screen?
The fields you have created inherits the same attributes as those in the Data Dictionary.
Create a checkbox , frame, pushbuttons and radio buttons on a screen
Just type a name and go to graphic element push button.
226. How do you assign an OK_CODE for a push button? How it is used in your
ABAP?
In the field list ,name the element and give it the value that it will represent when pushed
You must make sure that you clear the field that represents the pushbutton after every
check.
227. What automatic checks does the screen perform? (should be four)Describe all
four and how they are used?
The field format, required input, a foreign key table, parameters
228. What are the two methods to declare input field as mandatory?
In the field list placing a question mark as the first entry in the input field.
229. How does foreign key work? What you have to put in your screen to identify the
foreign key?
No? Then where is the foreign key identified?
You have defined a screen field by referring to a Data Dictionary, which has a check
table. When the foreign key is checked the system compares the values of the fields to be
checked with the contents of the key fields of the corresponding table.
230. What are the two effects of the foreign key from a user standpoint?
Possible entries & a check against the key field contents.
231. What is user defined validation checks in the flow logic?
FIELDSELECT FIELDVALUES or in the module pool FIELDMODULE
Page 36 of 146
ABAP FAQ
232. Does the value command in the flow logic go in the PAI or the PBO event?
PAI
233. If an error occurs in the module pool, which fields are available for entry and
which are display only fields?
Only those fields defined with the FIELD statement before MODULE & relevant checks
in a chain.
234. When is the chain command used in the PBO event?
If you want to make more than one field ready for input after an error.
235. What table stores the online messages? What is the message class and what is its
significance?
Table T100. The message class is a specific class of messages for a group of transactions
236. What are the 5 different message types and how are they handled by the system?
What is then difference between the Warning and Error messages?
A : Abend Message displayed on the current screen and subsequent task terminated
I : Information Message displayed on the current screen , but user can continue program
by pressing ENTER
E: Error Message displayed on the current screen. With FIELD statements , the fields
concerned become ready again for input and user is required to make the entry /entries
again
W : Warning As E message , but correcting input is optional
S: Success Message displayed on the follow-up screen as an I message.
237. What does WITH statement add to a message?
In the place of the & or $ the fields or values are placed in the error message.
238. What effect does the FIELD statement have within the flow logic?
The field statement resets the fields so those fields are ready for input again.
239. What is the importance of the chain statement?
The CHAIN statement allows you to include multiple FIELDS for reenter.
240. Where are the messages displayed on the screen?
At the bottom
Page 37 of 146
ABAP FAQ
241. Is the SET PARAMETER statement to be issued in PBO or PAI module? Why?
PAI, the value must be input into the fields first before it can be placed in the buffer.
242. Where does the GET PARAMETER statement get its values? Which field gets
populated with the new value?
From the buffer
243. Where can the SET CURSOR command be executed? What is its effect?
244. What are the matchcodes and how do they affect the screen field? Where are they
specified in the online program?
245. What is the effect of an ON CHAIN-REQUEST command in your flow logic?
246. What commands are used to change database table entries?
247. How can you check if the changes to the database were successful?
248. What is the difference between the Long form and the short form of making
database changes?
249. What is the advantages using the SAP long form over the short form of database
changes?
250. Can where clause be used when updating database entries?
251. Describe array operations and their advantages?
252. What is logical unit of work? How is it defined?
253. What function is performed by the commit work command?
254. Why is it so important for a programmer to check the lock entries?
To find out if record is locked and also to maintain data integrity.
255. How can you find a lock entry for a database table?
The function module ENQUEUE <lock object> checks whether a lock was triggered for
the same object. Otherwise an exception FOREIGN_LOCK is carried out. If the object is
not locked the function module sets the lock.
Page 38 of 146
ABAP FAQ
256. What steps are necessary to set a lock on a record within a database table?
Execute CALL FUNCTION statement
CALL FUNCTION ENQUEUE <lock object>
EXPORTING
EXCEPTIONS
CASE SY-SUBRC.
.
.
ENDCASE.
257. How do you unlock the entry? Why is this necessary?
Execute the CALL FUNCTION statement
CALL FUNCTION DEQUEUE <lock object>
EXPORTING
It is important to unlock the entry so others can update it.
258. What is the difference between CALL SCREEN # # # and SET SCREEN ###
LEAVE SCREEN?
SET SCRREN statement sets or overwrites the follow-up screen.
LEAVE SCREEN executes the screen number currently in the follow-screen field
CALL SCREEN interrupts the processing of the current screen to call a new screen or a
chain of screens, processing of the current screen is resumed directly after the call.
259. After a CALL SCREEN command where does the processing return after the
screen has been executed?
It returns the processing to the calling screen
260. Which is the more similar to a call with return, the SET SCREEN or the CALL
SCREEN?
The CALL SCREEN command.
261. What function is performed by the SET SCREEN 0 command?
Returns to the original screen
262. What are the main differences between the repot status and screen status?
263. Where must you place the SET PF-STATUS command in your online program?
Place it in the PBO module of the screen
Page 39 of 146
ABAP FAQ
264. Why is it good idea to clear OK_CODE field after deciding which action to take?
You need to clear the OK code to avoid sending a screen that already has a function code.
265. How do you specify that a function is an exit type command?
By specifying function type E for the pushbuttons or menu options in the screen painter
or menu painter
266. What is the purpose of the AT EXIT-COMMAND?
Usually there are many ways to leave a screen (back,exit,cancel) .This command will
perform termination logic for all functions of type E
267. What are screen groups?
A group of screen fields such as radio buttons or checkboxes.
268. What is the correct syntax for dynamically modifying a large number of screen
fields?
MODULE MODIFY _SCREEN_OUTPUT
.
.
.
LOOP AT SCREEN
IF SCREEN GROUP = 3D GR1
SCREEN-INPUT=3D 1
ENDIF.
IF SCREEN-NAME = 3D TAB-FIELD
SCREEN-ACTIVE=3D 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
269. What is the name of the internal table that stores the screen information?
SCREEN.
270. What is the purpose of the MODIFY command when performing the dynamic
screen modifications?
After you activate or deactivate the field attributes by assigning them 1 or 0, you save the
modifications via MODIFY SCREEN command.
Page 40 of 146
ABAP FAQ
Technical Questions from the BC team (Group 1)
Set 1:
1.
Direction for the use of view object within the program?
View object A view object is a virtual table tailored to the needs of an application .This
allows
Direct access to specific data.
View object is used in within an ABAP/4 program the same way a table is used. If you
have created a view object ZVIEW , you can display its contents using following
example program
REPORT ZEXAMPLE.
TABLES: ZVIEW.
SELECT * FROM ZVIEW.
WRITE: / ZVIEW.
ENDSELECT.
2.
Direction for the use of check box and radio buttons in screen painter?
Creating Radio Button and Check Boxes on the screen
1)
Go to the full screen editor.
2)
Place an underscore at the point where you want to place the field.
3)
Define the name of the field using <Field Attributes>
4)
Place the cursor on the field and press <Graphic element>
5)
Then press <Radio Buttons> or <Check boxes> depending on which graphic
element you want
6)
Then you group related check boxes and radio boxes.
Difference between Radio Buttons and Check boxes.
Radio buttons force one and only one entry to be active (Value X. Inactive has value '')
for each group before control is passes back to the program.
Check boxes allow for any combinations of entries on the screen.
3.
Page 41 of 146
ABAP FAQ
4.
When an internal table is created, the settings criteria for the value of occurs?
The objective of setting the value of an occurs for an internal table is a question of
optimization. The following facts should be taken into account when making such
decision.
1) The complete data area of a program is 64000 bytes.
2) The initial size declared is kept in roll area (quicker access to program)
3) Data entered that exceeds the initial size stores in the roll file (Slower access to
program)
You should also analyze the expected volume and access rates before making the
decision.
5.
When entering values on table related with foreign key using on-line program
(using insert), why checking on possible entries on foreign key is not carried out?
6.
Direction for the use of area menu?
Area menus are used purely for the pathing to transactions. They contain the same
information
As a transaction except for the part that is defined by the screen painter component.
Details of the Area menu screen :
Title : Workbench : Maintain area menu initial screen
Transaction : SE43
Path : Tools ->CASE->Development->Maintain area menu
Creating an area menu:
1) Enter the name of the new area menu.
Since there are no SAP area menus starting with "Z, an appropriate naming convention
would be for all user created area menus to start with "Z".
2)Hit <Create>
3)Enter:
-Maintain Language (must be "E")
-Short text (description of area menu)
-Hit<Continue>
4) You should be now in the area menu editor.
The fields that you can maintain are as follows:
-Title : Text at the top of your area menu
-Menu bar: Text for pulldown menu options & functions or sub menus.
-Push button settings: - Number(s) of the corresponding function key(s) defined.
-Function key settings: - Text and associated definitions for function keys.
Page 42 of 146
ABAP FAQ
7.
Description on roll area, work area, roll in?
Answer:
Roll area: Contains data that is automatically copied into the process ' private memory at
the beginning of the dialog step (Rolled in).
Page area: I believe that the page area is a section of memory, which is the size of 11/0
operation.
Work area: Contains the graphical user interface elements for the display and entry of
data.
Roll in: When data is copied from the role file to the roll area.
Technical Questions from the BC team (Group 1)
Set 2:
It is possible to delete data entered with ABA/4 program in table maintenance. However,
deletion of data uploaded from SAM file in table maintenance is not possible.
Definitions: I am not sure if I understand this question. Are you asking if it is possible
to delete data from a SAP table using information stored on a Unix file or are you asking
me if the contents of a SAP file can be deleted before a Unix file is loaded? I need more
information to be able to answer this question.
The difference between two SYNTAX. Insert table name & insert table name, commit
work.
The difference can be demonstrated by the examples below.
Start of Program I.
Database update statements
Run-time error occurs here
End of program 1= 20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=20
Start of program 2.
Database update statements.
Commit work statements =20
Run time error occurs here
=20
End of program 2=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20=20
Program I will not update the database & program 2 will.
Page 43 of 146
ABAP FAQ
Structured Logic
1.
What is the difference between Structure & Intab table?
2.
BDC program - How do you prepare? When you run BDC Program?
3.
What is a Transaction for job definition, Explain those 3 modes.
4.
Call transaction module, give syntax.
5.
How do BDC program using Call Transaction - What are modes - A , N , E
6.
"Check " statements, how it works.
7.
Explain "Chain input" fields.
8.
What is the difference when use fields in Chain, End Chain and when use in
Subroutine?
9.
Difference between Append and Collect statement?
10. How you populate internal table.
11.
Syntax to create for internal table. Why you use occur parameter?
12. Debugging a program - give how you set breaks points?
13. Explain Field Group.
14. What is a Field symbol?
15. Transaction for Menu painter?
16. Transaction for Screen painter? What is flow logic? Explain
17. Transaction for MM creation?
18. Transaction for Sales Order (S /D) - Create, Display & Change?
19. Transaction for Delivery (S / D) - Create, Display & Change?
20. Where you specify logical database, while you are creating a program?
21. If you want to run two programs , within one program how you run
22. Another program instead of opening another session? 22. Parameter, Select
Option -difference?
23. Example of nested "Select " statement syntax?
24. Give some System Fields.
25. At line - selection how it works. Which system field contains information?
26. How do you declare and call subroutines?
27. What is the difference between Move & assign statement?
28. What it does "New-Page" statement?
29. What is a Transaction for creating a Job and how you navigate from menu path?
30. What is Internal Table?
Internal Table is a temporary table, where you store the data temporarily in a BAP
program.
Types of Table types - Logical level
Transparent,
Pooled, cluster
Page 44 of 146
ABAP FAQ
Database Table
31. What is BDC and How you use it?
Batched Data Communication. Batch input is an automatic procedure for the non-online
data transfer of data into the system. BDC is used mainly to port data from legacy system
to New system Using file access command like OPEN DATASET, READ DATASET. We
populate the data into database tables. This can be run as a batch job using BDC. SAP
strongly recommends that you use same screen flow to populate a table because that way
referential integrity and additional checks are done properly.User dialog is simulated
32. What is Dataset and How you use it?
To open operating system file you use OPEN DATASET function FOR OUTPUT or
INPUT or Append Mode.
Ex : OPEN DATASET Dataset _ I FOR OUTPUT
33. What is a variant and Where do you use this?
Variant contains parameters for a program. You can run a program either using variant or
directly. If you run directly you have to enter all the parameters and if you use variants
you do not need to enter parameters. You can have many variants for a program.
34. What is Set Parameter and Get Parameter?
We can store parameters in memory (SPA /GPA Memory) using Set Parameter and Get
Parameter commands. Set Parameter sets the value in the memory and and Get Parameter
retrieves the value from memory.
Ex : SET PARAMETER ID USER _ID FIELD EMPLOYEE-USERID
35. What is Field Symbol?
Field Symbol are variables. Main advantage of the Field Symbol is you do not have to
define field
Type it can be of any type and any length depending on the field you assign at the
runtime.
Ex. FIELD_SYMBOLS <F>
ASSIGN LFAI - NAMEI TO <F>
36. What is Menu painter? And How do use it in your application?
Menu painter is tool to create Menus, Push Buttons assignments and from Screens.
During run time you can assign any menu status to a screen.
You assign a four-character function code for each function and you use OK-CODE to
identify which function need to be run. You write code in PAI module for each function.
Page 45 of 146
ABAP FAQ
37. What are the variables that start with SY-?
These are system variables like
SY-DATUM System Date
SY-SUBRC System Return Code 0- Success, 4 - failure
These are the System Fields, you use this to generate a list
SY-Title
SY-pagct
SY-Srows
SY-scols
These are used for interactive reporting
SY-Curow
SY-CUCOL
38. What is Logical database and Explain about GET and PUT modules?
Faster Way of executing for selecting records.
Logical database is not a physical database. It is logical database structure of tables where
you specify the relationship between a set of related tables. Every logical database has
root table & child nodes. If you want to use GET table command in your program you
need to declare that related structure as a logical database. Once you specify the structure
you set SELECT-OPTIONS and then Database Program and modify the code for PUT
Forms. This PUT forms are executed whenever you use GET function in the code.
39. What are PBO and PAI?
PBO is process Before Output and PAI is process After Input. System runs code in PBO
module before displaying the screen. Code in PAI is executed for any user like clicking a
button or pressing function key and etc.
40. How you use PERFORM command?
PERFORM command is used to call a sub routine from any module.
Ex. : PERFORM Message_ Handler USING 0
41. What is Screen Painter? And How do you write a script for command Button?
Screen Painter is a tool to create a screens which can have User Input fields, Command
buttons, Frames, Radio Buttons, Combo boxes, and Check boxes. Key point here is you
need to specify OK-CODE (you can give any name but normally you use OK-CODE)
For OK function and you declare same variable in Module Pool also. In PAI module
using Case statements to determine which key was pressed.
CASE OK-CODE
Page 46 of 146
ABAP FAQ
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.
2.
3.
4.
5.
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
Page 47 of 146
ABAP FAQ
FNAM Field Name
FVAL Field Value
DYNBEGIN
10.
What do you know about profiles? How can you give an authorization to
particular user?
A Profile is made up authorization. There are two types ;of Profiles single and composite.
Material setup
1.
How did you do pricing? (including menu flow ) about policy
Table ----> (Customer/Material ) ------> Access Sequence (price Customer discount
Material )
------> Condition type ------> Pricing Procedure ----------> procedure determination
SD config -----> Functions ------> Pricing -------> Control Data -----> Environment ----->
Create tables.
1.
Maintain condition tables of fields that can be used as Conditions to check for in
pricing.
There is a fixed list of fields that can be checked.
2.
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.
6.
7.
What are infotypes? How did you use it? Do you remember any info types you
used?
8.
Page 48 of 146
ABAP FAQ
HAWA
FERT
PROD
WETT
9.
Trading
Finished goods
Product Group
Competitive product
What are the logical databases and tables did you use in MM and SD?
EMM
Purchasing documents for material
EKKO
(Purchase Document Header)
EKPO
(Purchase document item)
EKET
(Delivery Schedules)
EKPB
(Material provided item in purchasing document)
EKKN
(Account assignment)
EKBE
(History of purchasing document)
MSM
Material Master
MARAV View tabelle fuer die logische DB MGM
MARM
Quantity unit
MBEWV View f=FCr logische Datebanken
MVKE
Material Master : Sales Data
MARCV View f=FCr logische Datebanken MSM
PROPF
Forecast parameters
MARD
Material master : storage location / batch segment
MCHB
Batch stocks
MKOL
Special Stocks from vendor
MLGN
Material data for storage number
MLGT
Material data for storage type
VFV
Invoices in sales & Distribution
VBRK
Billing : Header Data
VBUK
Sales Document : Header Status and Administrative D
VBPA
Sales Document : Partner
VBRP
Billing : Item Data
VBFA
Sales Document Flow
VBFAVG SD Document : Flow Records
VBPAPO Item Partner in SD Document
KONV Conditions (Procedure Data)
10.
Page 49 of 146
ABAP FAQ
CASE Development Program Maintenance ABAP Development Utilities
Page 50 of 146
ABAP FAQ
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).
19.
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
Page 51 of 146
ABAP FAQ
CHECK
DOENDDO
EXIT
FORMENDFORM
IF...ELSE...ENDLOOP
LEAVE
LOOP...ENDLOOP
MODULE...ENDMODULE
ON CHANGE OF...ENDON
PERFORMUSING
SELECTENDSELECT
STOP
WHILEENDWHILE
21.
What are the different data types that are supported by SAP ABAP/4?
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?
Page 52 of 146
ABAP FAQ
Ans: - The following list outlines the general steps that should be followed when
developing a new SAP R/3 transaction. I do not have to be performed specifically to this
sequence, but these topics/steps should be performed.
1. Preliminary work: Design the transaction, specify the transaction code in the system
and enter the transaction attributes.
2. Define global data in the data dictionary. Determine which domains, data elements,
and tables you want to use.
3. Create an ABAP/4 module pool. Create a module pool for the transaction and assign a
name and attributes according to the customer naming conventions.
4. Define screens (Screen Painter): Paint your screens, that defines the positions and
texts of the fields on the screen and assign appropriate names. In doing this, you point
the Data Dictionary fields you have defined in the Data Dictionary, Define the
attributes of all screens.
5. Define menus, windows, and function keys (Menu Painter): Define the interface for
your transaction with menus, pop-up windows and function keys for each individual
screen. Assign function code to each function that the user can execute.
6. Define screen flow logic.
7. Program the individual modules: Write the detailed processing logic, program and
modules called in the screen flow logic, pass the data between the module pool and
SAP memory, process the function codes from the interface and process the reports.
8. Create and program on-line messages: Create on-line messages and document them
(in the form of texts) Call the messages in the appropriate modules. Observe the rules
for error dialog.
9. Test the transaction. Test the transaction with the on-line debugging facility.
Transport transaction programs : Transport your completed transaction to the
production system
Instance.
25.
Have you ever created a user-defined database in SAP/R3? If so how did you go
about adding a user-defined database to the system?
To add a user-defined database to the system, the following steps are required.
1) Define the structure in the data dictionary.
A. Go to the Data dictionary Maintenance screen. Fill in the name of the database you
are defining
B. Define the database structure
To do this, select the object class tables for editing. In the resulting screen, fill in the
necessary information about the database.
C. Provide the database fields. Go to the fields screen so those new fields can be
entered into the system. You must atleast enter MANDT, RELID, SRTFD, SRTF2,
Page 53 of 146
ABAP FAQ
CLUSTR and CLUSTD. When you have entered all the required fields save the
record structure.
D. Active the table. The table is now defined in the Data Dictionary and known to the
system at large.
Add the database to the system by going to the Database Create screen.
There select processing method of in -line, so that the database has been created, you can
now create database clusters with the EXPORT command or access the database records
using SQL.
26. Describe the basic framework of an ABAP/4 program?
The basic structure of an ABAP/4 program is as follows:
REPORT report_name
DATA : pagebreak (12) TYPE C,
DATA : title (10) TYPE C,
TABLES: ABC, DEF, XYZ.
PARAMETERS: ABC-DSC.
FIELD-GROUPS:
FIELD-SYMBOLS
<name>
<street> = 7F
<city>
INSERT
INITIALISATION
INCLUDE ASD0001
START-OF-SELECTION.
Call to extract data from the database are performed here
END-OF SELECTION.
TOP-OF-PAGE
END-OF-PAGE
FORM Form_Name
ENDFORM.
27.
28.
Page 54 of 146
ABAP FAQ
Section A
1. Please circle T(rue) or F(alse) for each of the following questions:2. Move Corresponding is an effective way to move fields with like names from a
DB table record to an internal table header line. (T / F)
3. An append will add a record to a database table. (T / F)
4. The COLLECT statement will total up all P, I and F fields in a database table. (T /
F)
5. The SELECT statement allows processing of an internal table. (T / F)
6. The Loop at command allows you to use the WHERE clause. (T / F)
7. An internal table can be deleted. Modified, or inserted without the use of index.
(T / F)
8. The SELECT command performs its own authorization check. (T / F)
9. The WHERE clause in the SELECT SINGLE command is optional. (T / F)
10. When using the GET and SET PARAMETER ID command the memory id must
be defined to the Data Dictionary?
11. The SET PARAMETER 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.
Page 55 of 146
ABAP FAQ
4.
Which is correct for reading an entire table, DBTAB, into an internal table, ITAB,
structure that was previously defined?
(a) SELECT * FROM DBTAB INTO ITAB.
(b)SELECT SINGLE * FROM DBTAB INTO TABLE ITAB.
(c) SELECT * FROM DBTAB INTO TABLE ITAB.
(d)READ DBTAB INTO TABLE ITAB.
5.
Which is an example of passing by reference?
(a) PERFORM CHECK_FIELDS USING F1 F2 F3.
FORM CHECK_FIELDS USING VALUE F1 VALUE F2 VALUE F3.
(b)PERFORM CHECK_FIELDS USING F1 F2 F3.
FORM CHECK_FIELDS USING VALUE F1 VALUE F2 F3.
(c) PERFORM CHECK_FIELDS USING F1 F2 CHANGING F3.
(d)FORM CHECK_FIELDS USING VALUE F1 VALUE F2 CHANGING F3.
6.
A MOVE-CORRESPONDING command:
(a) Moves all data from an internal table into a database table.
(b)Moves all like named fields from one field string to another.
(c) Adds all numeric fields in a totals column.
(d)Allows you to declare an internal table to have the same structure as database table.
7.
A ten byte long character field, WS-CUSTNUM, would be declared as:
(a) WS_CUSTNUM TYPE C.
(b)DATA WS_CUSTNUM LIKE SPLAN-TIDI.
(c) DATA WS_CUSTNUM (10) TYPE CHAR.
(d)DATA WS_CUSTNUM (10) TYPE C.
8.
Each record within a database table is specified by:
(a) A specific index number or SY-TABIX.
(b)A unique key structure which can be same for multiple records within the table.
(c) One field, Known as the key field, that is specified to each record.
(d)A unique key structure which consists of any number of fields and must be unique for
each record within the database.
9.
To set an initial value in the parameter, CUSTNO, what word is required in the
following statement to complete the syntax: PARAMETERS: CUSTNO(10) TYPE
C____________0000111008=20
(a) Value.
(b)Default.
Page 56 of 146
ABAP FAQ
(c) Initial.
(d)Like.
10. Which of the following does not have an END associated with it?
(a) LOOP.
(b)DO.
(c) GET.
(d)SELECT.
11.
Which is the best example of a foreign key?
(a) Data element.
(b)Domain.
(c) A VALUES statement within the PAI module of the flow logic.
(d)A check table.
12.
(a)
(b)
(c)
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.
Page 57 of 146
ABAP FAQ
(a) CALL TRANSACTION VAO1.
(b) SUBMIT SAPMV45A.
(c) CALL SCREEN 0.09.
Provide short answers for each of the following questions in the space provided:1.
Why would you use the DESCRIBE table command?
2.
What do the CLEAR, REFRESH and free commands do?
3.
What is the difference between internal and external calls?
4.
Explain: Pass by value, Pass by Reference, Pass by value and result?
5.
Name the 4 interface parameters of a function module?
6.
What are the 3 categories of DATA in the SAP system?
7.
What are the table TYPES in the SAP system?
8.
What ABAP/4 command is used to process a logical database?
9.
At what 2 points in the ABAP code can the STOP command branch to?
10. What is the difference between the templates % and _ during string
comparison?
11.
Where is the processing logic located in an on-line program?
12. Describe the on-line processor. What is its function?
13. What does PBO stand for? When is the PBO logic performed?
14. What does PAI stands for? Where is it located? When does it get performed?
15. How is data passed from the screen fields to the ABAP/4 program?
16. What does the TOP Include do for you as a coder?
17. What are the steps in creating a screen?
18. Where are the module statements declared? Where is the logic within each
module?
19. What is the significance of the word OUTPUT in the declaration?
MODULE TEST_KNOWLEDGE OUTPUT
ENDMODULE.
Describe the fields on the screen attributes screen. Screen types, follow up screens,
cursor position, etc.
20. What are the three components of an ON-LINE program?
21. What is gained by using the Dictionary Fields menu option when creating your
screen?
22. How do you assign an OK_CODE for a push button? How is it used in your
ABAP?
23. What automatic checks does the screen perform? (Should be four.) Describe all
four and how they are used.
Page 58 of 146
ABAP FAQ
24.
25.
26.
27.
28.
Page 59 of 146
ABAP FAQ
53.
After a CALL SCREEN ### command, where does the processing return after
the screen has been executed?
54. Which is more similar to a call with return, the SET SCREEN or the CALL
SCREEN?
55. What function is performed by the SET SCREEN 0 command?
56. Where must you place the SET PF-STATUS. Command in your on-line
program?
57. Why it is a good idea to clear the ok_code after deciding which action to take?
58. How do you specify that a function is an exit type command?
59. What are screen groups?
60. What is the correct syntax for dynamically modifying a large number of screen
fields?
61. What is the purpose of the MODIFY command when performing dynamic screen
modifications?
62. Various Event for a screen?
A) Clicking Push Button, Function Key, Menu Option.
63. How do you run a report for a row in table?
A) Using Graphics Multiplexer. There is an option some thing similar to screen capture
which captures data only. Using that data you can draw graphs (3D and 2D). This option
is available all the time from Menu! -> Generate Graphics which captures the data then
you need to drag and select the data you want to draw a graph on. Once you select you
can click on Graphics, which launches graphics multiplexer.
64.
Page 60 of 146
ABAP FAQ
FNAM
Field name
FVAL
Field value
67. How do you set up a batch process?
A) If you are planning to import data then you need to prepare the data first.
You need to remember or note down the user actions (Function Key clicks or Push button
clicks).
Need to simulate those user events using Batch process technique that is
BDC_INSERT_GROUP, BDC_INSERT, and BDC_CLOSE_GROUP.
Schedule the Batch job.
68. What are different types of programs?
1 Online report (Executable Program4.6d)
J Job Report
I Include Report
M Module Pool
U Update Program
F Function Modules
S External Subroutines
69. What does GET LATE do?
A) In report, if you want to print Title on the top and Totals at the bottom then you need
to use GET LATE to print.
70. What does 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.
Page 61 of 146
ABAP FAQ
72.
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.
Page 62 of 146
ABAP FAQ
A) You need to create a transaction for this screen first. If you go to Screen -> Test then it
will show a radio button where you can either check with Screen Flow Logic or with Out
Screen Flow Logic.
81. What happens if you choose Hold Data option in screen attributes?
A) System automatically shows the data if the user returns to the screen.
82. What happens if you enter 0 in NEXT Screen attribute?
A) It does not go to any other screen and it moves back one level. However you can
control this in run-time using SET SCREEN command.
83. Where do you use Pop-Up Windows?
1. Data Input (prompting the user to enter data).
2. Online Control (Define or restrict the online flow for the user).
3. Data backup (Do you want to save the data? Yes or No).
4. Confirmation messages and Include messages.
84.
Page 63 of 146
ABAP FAQ
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?
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.
Page 64 of 146
ABAP FAQ
97.
98.
99.
100. What is a Transaction for Job definition, Explain those 3 modes when you run
BDC Program?
101. Call Transaction Modes A, N, E. Explain?
102. Check statement, how it works?
103. Difference between Append and Collect statement?
104. How do you populate internal table?
105. Syntax to create Internal Table. When you use occur parameter?
106. Debugging a program, How you set break points?
107. Explain Field Groups?
108. What is a field symbol?
109. Transaction code for Menu Painter?
110.
111.
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?
Page 65 of 146
ABAP FAQ
115. If you want to run two programs within one program, how do you run another
program instead of opening another session?
116.
117.
118.
119.
True/False
1. SAP offers standard batch interface programs with dynamic record layout
capability?
2. SAP standard batch input programs structure descriptions are in the Data
Dictionary?
3. Data analysis should proceed data transfer?
4. All data conversion must take place prior to the data transfer?
5. The parameters MODE and UPDATE are optional?
6. The BDC table has a different layout for the CALL TRANSACTION?
7. A file can be transferred from the presentation server?
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.
Page 66 of 146
ABAP FAQ
e) Spool Spool requests are generated online or during background processing and
placed in a spool database with information about the printer a print format.
3.
What function does the message server perform?
A) Exchanges short internal messages (Ex. Triggering work processes).
4.
What enables communications between R2, R3, and external applications using
the CPI-C protocol?
A) SAP Gateway.
Page 67 of 146
ABAP FAQ
Management of buffer areas in main memory
Integration of the presentation levels
Organization of communication activies
7. What is a work process ?
- A work process is where individual dialog steps are actually processed
and the work is done. Each work process
handles one type of request.
8. Name various work processes of R/3 system ?
- Dialog or Online ( processes only one request at a time )
Background ( started at a specified time )
Update ( primary or secondary )
Enque( lock mechanism )
Spool ( generated online or during back ground processing
For printing )
9. Explain about the two services that are used to deal with communication .
- Message service : used by the application servers to exchange short
internal messages , all system communications.
Gateway service : enables communication between R/3
and external applications , using CPI-C protocol.
10. Which work process triggers database changes ?
- Update work process
11. Define service( within R/3) ?
- A service is a process or group of processes that perform
a specific system function and often provide an application
programming interface for other processes to call.
12. What are the roll and page areas ?
- Roll and page areas are SAP R/3 buffers used to store
user contexts ( process requests ) . The SAP dispatcher assigns
process requests to work processes as they are received. If
the work process is unavailable the process requests are queued in the roll
and page areas.
Paging area holds data from the application programs.
Page 68 of 146
ABAP FAQ
Roll area holds data from previous dialog steps and data that characterizes the
user.
13. What are the different layers in R/3 system ?
- Presentation layer
Application layer
Database layer
14. What are the phases of background processing ?
- Job scheduling
Job processing
Job overview
15. What components of the R/3 system initiates the start of
background jobs at the specified time ?
- The batch scheduler initiates the start of background job.
The dispatcher then sends this request to an available background
work process for processing.
Page 69 of 146
ABAP FAQ
-
Page 70 of 146
ABAP FAQ
27. What are different type of Log records?
- V1 and V2. V1 must be processed before V2. But, we can have more than one V2
logs.
28. What are the types of Update requests ?
- An update request can be divided into one primary (V1) and several Secondary
update components (V2). Time-critical operations are placed in V1 component
and those whose timing are less critical are placed in V2 components. If a V1
update fails, V2 compnents will not be processed.
29. Dialog work processes perform only one dialog step and then available for the next
request.
30. Explain what is a transaction in SAP terminology.
- In SAP terminology, a transaction is series of logically connected dialog steps.
31. Explain how SAP GUI handles output screen for the user.
The SAP front-end software can either run on the same computer or on different
computers provided for that purpose. User terminal input is accepted by the SAP
terminal program SAP GUI, converted to SAP proprietary format and sent to the
SAP dispatcher. The dispatcher co-ordinates the information exchange between
the SAP GUIs and the work processes. The dispatcher first places the processing
request in request queues which it then processes. The dispatcher dispatches the
requests one after another, to the available work process. The actual processing
takes place in the work process. When processing is complete, the result of a
work process is returned via the dispatcher to the SAP GUI. The SAP GUI
interprets the recieved data and generates the output screen for the user.
32. SQL used in ABAP/4 is known as ____________.
OPEN SQL.
33. What is the transport protocol used in R/3 system ?
TCP/IP Transmission Control Protocol / Internet Protocol.
34. What is isolated Database server ?
Server which is not accessible from the front end.
Page 71 of 146
ABAP FAQ
DATA DICTIONARY
1. What are the layers of data descriptions in R/3?
The external layer
The ABAP/4 layer
The database layer
2. Define external layer.
The external layer is the plane at which the user sees and interacts
With the data, that is, the data format in the user interface. This data
Format is independent of the database system used.
3. Define ABAP/4 layer?
The ABAP/4 layer describes the data formats used by the ABAP/4 processor.
4. Define Database layer ?
The database layer describes the data formats used in the database.
5. What is a Data Class?
The Data class determines in which table space the table is stored when it
is created in the database.
6. What is a Size Category?
The Size category describes the probable space requirement of the table
in the database.
7. How Many types of size categories and data classes are there?
There are five size categories (0-4) and 11 data classes, only three of
which are appropriate for application tables:
- APPL0 - Master data (data frequently accessed but rarely updated)
- APPL1 - Transaction data (data that is changed frequently)
- APPL2 - Organizational data (customizing data that is entered when system is
Configured and then rarely changed)
The other two types are:
- USR
- USR1 - Intended for customers own developments
8. What are control tables?
Page 72 of 146
ABAP FAQ
The values specified for the size category and data class are mapped to
database-specific values via control tables.
9. What is the function of the transport system and workbench organizer?
The function of the transport system and the Workbench Organizer is to
manage any changes made to objects of the ABAP/4 Development Workbench
and to transport these changes between different SAP systems.
10. What is a table pool?
A table pool (or pool) is used to combine several logical tables in the
ABAP/4 Dictionary. The definition of a pool consists of at least two keys
Fields and a long argument field (VARDATA).
11. What are pooled tables?
These are logical tables which must be assigned to a table pool when they
are defined. Pooled tables can be used to store control data (such as
Screen sequences or program parameters).
12. What is a table cluster?
A table cluster combines several logical tables in the ABAP/4 Dictionary.
Several logical rows from different cluster tables are brought together
in a single physical record. The records from the cluster tables
assigned to a cluster are thus stored in a single common table in the
database.
13. How can we access the correction and transport system?
Each time you create a new object or change an existing object in the
ABAP/4 Dictionary, you branch automatically to the Workbench Organizer
or correction and transport system.
14. Which objects are independent transport objects?
Domains, Data elements, Tables, Technical settings for tables,
Secondary indexes for transparent tables,Structures, Views,
Match code objects, Match code IDs,Lock objects.
15. How is conversion of data types done between ABAP/4 & DB layer?
Conversion between ABAP/4 data types and the database layer is
done within the database interface.
Page 73 of 146
ABAP FAQ
16. How is conversion of data types done between ABAP/4 & external level?
Conversion between the external layer and the ABAP/4 layer is done in the SAP
dialog manager DYNP.
17. What are the Data types of the external layer?
ACCP, CHAR, CLNT, CUKY, CURR, DATS, DEC, FLTP, INT1, INT2, INT4,
LANG, LCHR, LRAW, NUMC, PREC, QUAN, RAW, TIMS, UNIT, VARC.
Page 74 of 146
ABAP FAQ
20. What are local objects?
Local objects (Dev class $TMP) are independent of correction and
transport system.
21. What is a Development class?
Related objects from the ABAP/4 repository are assigned to the same
development class.This enables you to correct and transport related
objects as a unit.
22. What is a data dictionary ?
Data dictionary is a central source of data in a data management system. Its main
function is to support the creation and management of data definitions. It has details
about
- What data is contained ?
- What are the attributes of the data ?
- What is the relationship existing between the various data elements ?
Page 75 of 146
ABAP FAQ
- Matchcode and help views search utitlities.
26.What are the basic objects of the data dictionary ?
- Tables
- Domains
- Data elements
- Structures
- Foreign keys
27. What are the aggregate objects in the data dictionary?
- Views
- Matchcodes
- Lock objects
28.In the ABAP/4 Dictionary Tables can be defined independent of the underlying
database (T/F)
True
29. ABAP/4 Dictionary contains the Logical _ (Logical/Physical) definition of the table.
30. A field containing currency amounts (data type CURR) must be assigned to a
reference table and a reference field. Explain.
As a reference table, a system table containing all the valid currencies is assigned or any
other table which contains a field with the currency key format. This field is called as
reference field.
The assignment of the field containing currency amounts to the reference field is made at
runtime. The value in the reference field determines the currency of the amount.
31. A field containing quantity amounts (data type QUAN) must be assigned to a
reference table and a reference field. Explain.
As a reference table, a system table containing all the valid quantity units is assigned or
any other table which contains a field with the format for quantity units (data type UNIT).
This field is called as reference field.
The assignment of the field containing quantity amounts to the reference field is made at
runtime. The value in the reference field determines the quantity unit of the amount.
32. What is the significance of Technical settings (specified while creating a table in the
data dictionary) ?
Page 76 of 146
ABAP FAQ
By specifying technical settings we can control how database tables are created in the
database.
The technical settings allows us to
- optimize storage space requiremnets
- table access behaviour
- buffering required
- changes to entries logged
33.What is a Table attribute ?
The table attributes determine who is responsible for maintaining a table and which types
of access are allowed for the table. The most important table attributes are:
a. Delivery class
b. Table maintenance allowed
c. Activation type.
34. What is the significance of Delivery Class ?
- The delivery class controls the degree to which the SAP or the customer is
responsible for table maintenance
- whether SAP provides the table with or without contents.
- determines the table type.
- determines how the table behaves when it is first installed, at upgrade, when it
is transported, and when a client copy is performed.
35. What is the maximum number of structures that can be included in a table or structure
- Nine.
36. What are the two methods of modifying Sap standard tables ?
- Append Structures and
- Customizing Includes.
39. What is the difference between a Substructure and an Append Structure ?
- In case of a substructure, the reference originates in the table itself, in the forma
of a statement .include... .
- In case of an append structure, the table itself remains unchanged and the
refrence originates in the append structure.
40. To how many tables can an append structure be assigned ?
- One.
Page 77 of 146
ABAP FAQ
41. If a table that is to be extended contains a long field, we cannot use append structures.
Why?
Long fields in a table must always be located in the end, as the last field of the table. If a
table has an append structure the append line must also be on the last field of the table.
42.Can we include customizing include or an append structure with Pooled or Cluster
tables ?
- No.
43. What are the two ways for restricting the value range for a domain ?
- By specifying fixed values.
- By stipulating a value table.
44. Structures can contain data only during the run time of a program (T/F)
- True.
45. What are the aggregate objects in the Dictionary?
- Views
- Match Code
- Lock object
46.What are base tables of an aggregate object?
The tables making up an aggregate object (primary and secondary) are called aggregate
object.
47.The data of a view is not physically stored, but derived from one or more tables. (T/F).
-True.
48. What are the 2 other types of Views, which are not allowed in Release 3.0?
- Structure Views
- Entity Views.
49. What is a Match Code?
Match Code is a tool to help us to search for data records in the system. Match codes are
an efficient and user-friendly search aid where key of a record is unknown.
50. What are the two levels in defining a Match Code?
- Match Code object
- Match Code Id.
Page 78 of 146
ABAP FAQ
51. What is the maximum number of match code Id's that can be defined for one Match
code object ?
- 36. A match code Id is a one character ID that can be a letter or a number.
52. . Can we define our own Match Code ID's for SAP Matchcodes ?
Yes, the numbers 0 to 9 are reserved for us to create our own Match Code IDs for a SAP
defined Matchcode object.
Page 79 of 146
ABAP FAQ
- Match Code can contain fields from severeal tables whereas an index can
contain fields from only one table.
- Match code objects can be built on transparent tables and pooled and cluster
tables.
58. What is the function of a Domain?
- A domian describes the technical settings of a table field.
- A domain defines a value range, which sets the permissible data values for the
fields, which refers to this domain.
- A single domain can be used as basis for any number of fields that are identical in
structure.
59. Can you delete a domain which is being used by data elements ?
- No.
60. What are conversion routines ?
- Non standard conversions from display format to sap internal format and viceversa are implemented with so called conversion routines.
61. What is the function of a data element ?
- A data element describes the role played by a domain in a technical context. A
data element contains semantic information.
62. Can a domain, assigned to a data element be changed ?
Yes. We can do so by just overwriting the entry in the field domain).
63. Can you delete data element which is being used by table fields .
- No.
64. Can you define a field without a data element ?
- Yes. If you want to specify no data element and therefore no domain for a field,
you can enter data type and field length and a ashort text directly in the table
maintenance.
65. What are null values ?
- If the value of a field in a table is undefined or unknown, it is called a null value.
66. What is the difference between a structure and a table ?
Page 80 of 146
ABAP FAQ
-
Structures are constructed the almost the same way as tables, the only difference
using that no database table is generated from them.
MODULARIZATION
1. Does every ABAP/4 have a modular Structure?
Page 81 of 146
ABAP FAQ
Yes
B
C
4. How can we create callable modules of program code within one ABAP/4 Program?
A. By defining macros.
B. By creating include programs in the library.
5. _____ is the attribute type of the module program.
M
6. Is it posible to pass data to and from include programs explicitly?
No. If it is required to pass data to and from modules it is required to use subroutines
or function modules.
7. What are subroutines?
Subroutines are program modules which can be called from other ABAP/4 programs
or within the same program.
8. What are the types of Subroutines?
A. Internal Subroutines: The source code of the internal subroutines will be in the
same ABAP/4 program as the calling procedure (internal call).
B. External Subroutines: The source code of the external subroutines will be in an
ABAP/4 program other than the calling procedure.
9. It is not possible to create an ABAP/4 program which contains only Subroutines.
( True / False)
Page 82 of 146
ABAP FAQ
False.
10. A subroutine can contain nested form and end form blocks. (True / False)
False.
11. Data can be passed between calling programs and the subroutines using ________.
Parameters.
12. What are the different types of parameters?
Formal parameters: Parameters that are defined during the definition of subroutine
with the FORM statement.
Actual parameters: Parameters which are specified during the call of a subroutine
with the PERFORM statement.
13. How can one distinguish between different kinds of parameters?
A. Input parameters are used to pass data to subroutines.
B. Output parameters are used to pass data from subroutines.
14. What are the different methods of passing data?
A. Calling by reference: During a subroutine call, only the address of the actual
parameter is transferred to the formal parameters. The formal parameter has no
memory of its own, and we work with the field of the calling program within the
subroutine. If we change the formal parameter, the field contents in the calling
program also change.
B. Calling by value: During a subroutine call, the formal parameters are created as
copies of the actual parameters. The formal parameters have memory of their
own. Changes to the formal parameters have no effect on the actual parameters.
C. Calling by value and result: During a subroutine call, the formal parameters are
created as copies of the actual parameters. The formal parameters have their own
memory space. Changes to the formal parameters are copied to the actual
parameters at the end of the subroutine.
15. The method by which internal tables are passed is ___________.
By Reference.
Page 83 of 146
ABAP FAQ
16. How can an internal table with Header line and one without header line be
distinguished when passed to a subroutine?
Itab[ ] is used in the form and endform if the internal table is passed with a header
line.
17. What should be declared explicitly in the corresponding ABAP/4 Statements to
access internal tables without header lines & why?
Work Area. This is required as the Work Area is the interface for transferring data to
and from the table.
18. A subroutine can be terminated unconditionally using EXIT. (TRUE / FALSE)
True.
19. A subroutine can be terminated upon a condition using _____________.
CHECK Statement.
20. Function Modules are also external Subroutines. (TRUE / FALSE).
True.
21. What is the difference between the function module and a normal ABAP/4
subroutine?
In contrast to normal subroutines function modules have uniquely defined interface.
Declaring data as common parts is not possible for function modules. Function
modules are stored in a central library.
22. What is a function group?
A function group is a collection of logically related modules that share global data
with each other. All the modules in the group are included in the same main program.
When an ABAP/4 program contains a CALL FUNCTION statement, the system loads
the entire function group in with the program code at runtime. Every function module
belongs to a function group.
23. What is the disadvantage of a call by reference?
During a call by reference damage or loss of data is not restricted to the subroutine,
but will instantly lead to changes to the original data objects.
Page 84 of 146
ABAP FAQ
24. A function module can be called from a transaction screen outside an ABAP/4
program. (TRUE /FALSE)
TRUE.
25. What is an update task?
It is an SAP provided procedure for updating a database.
26. What happens if a function module runs in an update task?
The system performs the module processing asynchronously. Instead of carrying out
the call immediately, the system waits until the next database update is triggered with
the COMMIT WORK command.
27. The function modules are created and stored in the ______________.
Function Library.
28. When a function module is activated syntax checking is performed automatically.
(TRUE / FALSE)
TRUE.
29. What is the use of the RAISING exception.
The raising exception determines whether the calling program will handle the
exception itself or leave the exception to the system.
30. What is the difference between internal tables and extract datasets?
A. The lines of an internal table always have the same structure. By using extract
datasets, you can handle groups of data with different structure and get statistical
figures from the grouped data.
B. You have to define the structure of the internal table at the begining. You need not
define the structure of the extract dataset.
C. In contrast to internal tables, the system partly compresses extract datasets when
storing them. This reduces the storage space required.
D. Internal tables require special work area for interface whereas extract datasets do
not need a special work area for interface.
31. It is possible to assign a local data object defined in a subroutine or function module
to a field group. (TRUE / FALSE)
Page 85 of 146
ABAP FAQ
FALSE.
32. What is the difference between field-group header and other field groups?
The header field group is a special field group for the sort criteria. The system
automatically prefixes any other field groups with the header field group.
33. Can a field occur in several field groups.
Yes. But it leads to unnecessary data redundancy.
34. When sorting the extract dataset the fields used as default sort key lie in the
_____________.
Header field group.
35. What does the insert statement in extract datasets do?
It defines the fields of a field group.
36. What does the extract statement do in extract datasets?
The data is written to virtual memory by extract commands.
37. A field-groups statement or an insert statement reserves storage space and transfers
values. (TRUE / FALSE)
FALSE.
38. While using extract datasets it is required to have a special work area for interface.
(TRUE / FALSE).
FALSE.
39. The LOOP-ENDLOOP on extract datasets can be used without any kind of errors.
(TRUE / FALSE).
FALSE. It causes runtime errors.
40. The Maximum no of key fields that can be used in a header is _____________.
50.
Page 86 of 146
ABAP FAQ
41. While sorting field groups we cannot use more than one key field. (TRUE / FALSE)
FALSE.
42. While sorting, if the main storage space available is not enough, the system writes
data to an external help file. The SAP profile parameter, which determines this help
file, is _________________.
DIR_SORTTMP.
43. The extract statements in field groups can be used before or after processing the sort
statements. (TRUE / FALSE).
FALSE.
Page 87 of 146
ABAP FAQ
LOGICAL DATABASE
1. Preparation of the data records by the L.D.B and reading of the data records in the
actual report are accomplished with the command pair _________ and _________.
- Put and Get.
2. The three main elements of LDB are _____________.
- Structure, Selections, Database Program.
3. In LDB what determines hierarchy of the tables?
- Structure.
4. In general what are the two ways in which one can retrieve data from tables?
- Using Select statements and using LDB.
5. With LDB one can modify the pre-generated selection screen to their needs.
(True / False).
- Yes.
6. Logical databases are programs that read data from _________________.
- Database tables (Dictionary structures).
7. The event GET <table name> LATE process all tables that are hierarchically
superior to the < table name>.
(True / False).
- False. It processes all tables that are hierarchically inferior to the <table
name>.
8. The Database Program of LDB is a collection of __________________ which
selects the data and passes it to the report. (SUBROUTINES / FUNCTIONS ).
- Subroutines.
9. The layout of the Database program is determined by both ________________ and
_________________ .
- Structure and Selections.
Page 88 of 146
ABAP FAQ
10. The order in which data is made available to the report depends on ______________
of the LDB.
- Structure.
11. Apart from the structure and selections of the LDB the ____________ statements in
the report determines the behavior of the database at runtime.
- GET.
12. Node at the highest level in the structure is knows as ______________.
- Root.
13. There can be more than one node at the highest level in the structure.
( True /
False ).
- False. One can define only one node at the highest level in the structure on
LDB.
14. All nodes in the structure of LDB need not be defined in the ABAP/4 Dictionary.
(True / False).
- False. One has to define all nodes in the Dictionary or one has to select all
nodes that are defined in the Dictionary.
15. It is not possible to use ABAP/4 Dictionary Structures without an underlying
database using LDB.
(TRUE / False).
-
False. One can use additionally related tables, along with the tables defined in
the structure of LDB.
16. ________________ selections allow the user to define further selections for database
access in addition to the selection criteria already defined in the LDB selections.
-
Dynamic.
17. ________________ statement can be used along with the event GET in the report for
checking the selections which are not table-specific values.
-
Check.
Page 89 of 146
ABAP FAQ
-
False.
19. It is not necessary to maintain the Parent-Child relationship between the tables in
Logical Database Structure.
( True / False ).
-
20. Is it possible to extract data from tables without using the event GET in the report
with an appropriate LDB. ( True / False ).
-
False. One can extract data from tables using Select statements in a report,
though the report is having a LDB attribute.
21. What sort of tables one can use in designing the hierarchy of a LDB ?
- Tables which are having Foreign key relations.
22. A report program which uses only SELECT statements is called ___________
report. --- SQL Report .
23. One cannot use SELECT statements in a report
Logical Database.
( True / False ).
- False.
program
linked
to
24. Is it true that the Logical Database reads the data from the database tables using
Select Statements. ( True / False ).
- Yes. ( We are coding that in Database part of LDB ).
25. In a report with an LDB attribute, you do not have to define how the information
should be retrieved from the database tables, but only how the data should be
represeneted on the screen. ( True / False ).
-
True.
26. One can use the event GET in a report without LDB attribute.
True / False ).
-
False.
Page 90 of 146
ABAP FAQ
28. The structure of Logical Databases reflects the ________________
of hierarchical tables in the SAP System.
- Foreign key
dependencies
29. It is mandatory that for each table in the LDB hierarchy there should exists one GET
statement in the report. ( True / False ).
-
30. What happens if a report does not contain a GET statement for a particular node of a
Logica Database.
-
31. In a Logical Database, one can define input fields on the selection screen with
_____________ and ____________ statements.
- Select-options & Parameters.
32. Suppose a logical database program contains the following lines:
SELECT-OPTIONS CONNID FOR SPFLI-CONNID.
PARAMETERS CARRID LIKE SFLIGHT-CARRID FOR TABLE
SFLIGHT.
SFLIGHT
If the tables statement in a report declares only SPFLI but not SFLIGHT what
will be the output, for the above two statements.
- Only select-options connid for spfli-carrid will be displayed on the screen.
33. Consider a report with F1S attribute, what will be the output for the following code.
Whether you will get the data from spfli and sflight or not, with corresponding
tables statement.
GET SBOOK.
Write: / spfli-carrid, spfli-connid, sflight-fldate, sbook-bookid.
- Yes, you will get the data from spfli and sflight.
34. Consider a report with F1S attribute, what will be the output of the following code.
Whether you will get the data from sbook or not, with corresponding
tables statement.
GET SPFLI.
GET SFLIGHT.
Write: / spfli-carrid, spfli-connid, sflight-fldate, sbook-bookid.
- You cannot extract data from sbook.
Page 91 of 146
ABAP FAQ
35. Identify any errors in the following code and correct the same, and what will be the
output, if there exists corresponding tables statement, for spfli, sflight, sbook.
GET SPFLI.
GET SBOOK.
Write : / spfli-carrid, spfli-connid, sflight-fldate, sbook-bookid,
sbook-class.
- No syntax errors. You will get data from all the three tables.
36. Does the following two statements do the same task ? If so which one takes takes
less time and which one is recomended.
SELECT * from spfli.
SELECT * from spfli.
Check : spfli-carrid = LH
Where spfli-carrid = LH
And
spfli-connid = 400.
And
spfli-connid = 400.
ENDSELECT.
ENDSELECT.
-
Yes they will do the same task. Second Select statement takes less time and it
is recomended.
37. If you want to improve the response time ( time to access data ) Logical DataBases
permits you to achieve this using __VIEWS____ .
38. Is there any upper limit (max) to the possible number of nodes in a logical database
structure ? If so what is that limit ?
-
39. In the structure of Logical DataBase nodes at different levels are displayed in the
same columns. ( True / False ). If false what type of nodes are displayed in the
same columns. If True what type of nodes are not displayed in the same columns.
- False. Nodes at same level are displayed in the same columns.
40. What are the advantages of Logical DataBases ?
-
Page 92 of 146
ABAP FAQ
It offers reasonable data selections.
It contains central authorization checks for database
accesses.
Enhancements such as improved performance immediately
apply to all report programs that use the logical database.
41. Though the all the ABAP/4 Dictionary Structures that exists in the structure of the
LDB, being defined in Database Program, we are defining the Dictionary
Structures in the Report. What is the reason for such a declaration?
-
42. Is it mandatory to declare all the tables in Report by the key word tables for all the
tables that exists in the structure of LDB, and are being defined in the Database part
of LDB.
- No, it is not mandatory to declare all tables in report.
43. If one wants to access data using Logical DataBase, the use of events is unavoidable.
( True / False ).
- True .
Page 93 of 146
ABAP FAQ
Page 94 of 146
ABAP FAQ
9. The no of decimal places for output can be defined within a write statement. ( TRUE /
FALSE ).
TRUE. Write:/ <F> decimals 2.
10. Date can be moved from one field to another using a 'Write:' Statement and stored in
the desired format. (TRUE / FALSE).
TRUE. Write: Date_1 to Date_2 format DD/MM/YY.
11. In the statement
Write:/ 15 (10) lfa1-lifnr.
the values 15 and 11 can also be defined by variables ( TRUE / FALSE ).
FALSE.
12. Differentiate between the following two statements if any.
ULINE.
Write: sy-uline.
No-difference. Except that uline is used outside the Write Statement.
13. In order to skip a single line the number of lines need not be given as an argument
(TRUE / FALSE).
TRUE.
14. The "SKIP TO LINE line number" is dependent on the ____________statement
included in the report statement of the program.
LINE-COUNT.
15. In order to skip columns the command used is __________.
POSITION <n>.
16. In order to have boldfaced text as output the command used is _____________.
Write: <f> INTENSIFIED.
17. Background and foreground colors can be interchanged using the command
__________.
Format inverse.
Page 95 of 146
ABAP FAQ
18. In order to restore the system defaults for all changes made with the format statement
is
" Format Reset ". ( TRUE / FALSE ).
TRUE.
19. Like ULINE the statement VLINE is used to insert vertical lines. (TRUE / FALSE).
FALSE.
20. Suppressing the number signs (+ / -) is carried out using the addition NO-SIGNS to
the Write statement. ( TRUE / FALSE ).
FALSE.
21. If SY-UZEIT has the value 6:34:45 it can be displayed as 063445 using
_____________.
No Edit Mask.
22. If the variable "Text" has the value 'ABCDEF' the output for the statement Write:/
Text+2(3)will be ___________.
Very simple. Work it out.
23. The fields specified by select-options and parameters statement cannot be grouped
together in the selection screen. (TRUE / FALSE).
FALSE.
24. When calling an external report the parameters or select-options specified in the
external report cannot be called. (TRUE / FALSE).
FALSE.
25. _______________ In the text elements of the program helps in changing the
displayed names of variables in the parameters statement.
Selection Texts.
26. __________ Data type cannot be used to define parameters.
Type F.
27. Rounding off of values can be carried out using the write statement.
(TRUE / FALSE ).
TRUE.
Page 96 of 146
ABAP FAQ
28. How would you define the exponents for a type ' f ' field ?
Exponent <e>.
29. How would you format the output as left, centered or right-justified using the write
statement.
Left-justified,
Centered,
Right-justified.
30. If the same formatting options were used for a WRITE statement that follows the
FORMAT statement, which settings would take precedence?
The settings in the Write Statement.
31. For each new event, the system resets all formatting options to their default values.
(TRUE / FALSE).
TRUE.
32. All formatting options have the default value OFF. (TRUE / FALSE).
TRUE.
33. How would you set the formatting options statically and dynamically within a report?
Statically:
FORMAT <option1> [ON|OFF] <option2> [ON|OFF]....
Dynamically:
FORMAT <option1> = <var1> <option2> = <var2>....
34. The page footer is defined using the statement _________________.
END-OF-PAGE.
35. The processing block following END-OF-PAGE is processed only if you reserve
lines for the footer in the LINE-COUNT option of the REPORT statement.
(TRUE / FALSE ).
TRUE.
36. To execute a page break under the condition that less than a certain number of lines is
left on a page is achieved by ________________________.
RESERVE n lines.
Page 97 of 146
ABAP FAQ
37. The RESERVE statement only takes effect if output is written to the subsequent page.
No blank pages are created and it defines a block of lines that must be output as a
whole. ( TRUE / FALSE)
TRUE.
38. To set the next output line to the first line of a block of lines defined with the
RESERVE statement the statement _______________ is used.
BACK.
39. What is the limit for the length of a page if the page length is not specified in the
report statement?
60,000 Lines.
40. How would you start the printing process from within the program while creating a
list?
NEW-PAGE PRINT ON.
41. You can change the width of pages within list levels triggered by page breaks.
(TRUE / FALSE).
FALSE.
42. Hotspots are special areas of an output list used to trigger events. (TRUE /FALSE).
TRUE.
43. To designate fields as hotspots at runtime, use _________________.
FORMAT HOTSPOT = <h>.
44. Horizontal lines created with ULINE and blank lines created with SKIP can be
formatted as hotspots.
(TRUE / FALSE).
FALSE.
45. How would you suppress the display of a parameter on the selection screen ?
Parameters <p> ............. No-Display.
46. Can you assign a matchcode object to a parameter? If so how?
Yes. PARAMETERS <p> ... MATCHCODE OBJECT <obj> ...
Page 98 of 146
ABAP FAQ
47. For each SELECT-OPTIONS statement, the system creates a selection table.
(TRUE / FALSE ).
TRUE.
48. To position a set of parameters or comments on a single line on the selection screen,
you
must
declare
the
elements
in
a
block
enclosed
by
____________________________________________.
SELECTION-SCREEN BEGIN OF LINE.
...
SELECTION-SCREEN END OF LINE.
49. How can Symbols or R/3 icons be output on the screen?
WRITE <symbol-name> AS SYMBOL.
WRITE <icon-name> AS ICON.
50. In the standard setting, you cannot create empty lines with the WRITE statement
alone.
(TRUE / FALSE)
TRUE.
REPORTING GENERAL.
1. The system field, which indicates success or failure of a SQL operation, is
__________.
SY-SUBRC.
2. What is the syntax for specifying database table name at runtime in SELECT
statement?
NAME = 'SPFLI'.
SELECT * FROM (NAME).
--------------------------ENDSELECT.
3. How do you read selected lines of database table into an internal table in packages of
predefined size?
SELECT * FROM <SPFLI> INTO TABLE <ITAB> PACKAGE SIZE <N>.
Page 99 of 146
ABAP FAQ
4. Name the WILDCARD characters which are used for comparisons with character
table.
UPDATE or MODIFY.
7. How to specify a client for database table processing.
TABLES SPFLI.
SELECT * FROM SPFLI CLIENT SPECIFIED
WHERE MANDT BETWEEN '001' AND '003'.
...
ENDSELECT.
8. How do you write a DATA object from ABAP/4 program to ABAP/4 memory and
ABAP FAQ
13. How will you transfer data into a file in application server ?
Data fname(60) value 'mYFILE'.
Data num type i.
Open dataset fname for output.
Do 10 times.
Num = Num + 1.
Transfer num to fname.
Enddo.
...Etc.
14. Name the function modules to write data from an Internal Table to the Presentation
Server.
DOWNLOAD and WS_DOWNLOAD.
15. Name the function modules to read data from Presentation Server into an
Internal
Table.
UPLOAD and WS_UPLOAD.
16. Name the function module that can be used to give information about files on
Table.
CLEAR <itab>.
18. Name the ABAP/4 key words to initialize an Internal Table with and without header
line.
REFRESH <itab>.
19. How to determine the attributes of an internal table?
DESCRIBE TABLE <itab> [LINES <lin>] [OCCURS <occ>].
20. Name the ABAP/4 key word for searching a string in an Internal Table.
SEARCH <itab> FOR <str> <options>.
The different options (<options>) for the search in an internal table are:
ABAP FAQ
ABBREVIATED
Searches table <itab> for a word containing the character string specified in <str>, where the
characters might be separated by other characters. The first letter of the word and the string
<str> must be the same.
STARTING AT <lin1>
Searches table <itab> for <str>, starting at line <lin1>. <lin1> can be a variable.
ENDING AT <n2>
Searches table <itab> for <str> up to line <lin2>. <lin2> can be a variable.
AND MARK
If the search string is found, all the characters in the search string (and all the characters in
between when using ABBREVIATED) are converted to upper case.
21. What are the different attributes that can be assigned to a variant?
Background only
Specify whether you want to use the variant in background processing only, or in online environment as well.
Protected variant
Mark this field if you want to protect your variant against being changed by other users.
For the selections you cover in a variant, you can enter the following attributes:
Type
The system displays whether the field is a parameter or a select option.
Protected
Mark this field for each field on the selection screen you want to protect from being overwritten. Values that you mark this way
are displayed to the users, but they cannot change them, that is they are not ready to accept input.
Invisible
If you mark this column, the system will not display the corresponding field on the selection screen the user sees when starting
the report program.
Variable
Mark this column if you want to set the value for this field at runtime.
ABAP FAQ
22. Is it possible to create new dynamic programs during runtime of an ABAP/4
program? If so how?
To create new dynamic programs during the runtime of an ABAP/4 program, you must use an
internal table. For this purpose, you should create this internal table with one character type
column and a line width of 72. You can use any method you like from Filling Internal Tables
to write the code of your new program into the internal table. Especially, you can use internal
fields in which the contents are dependent on the flow of the program that you use to create a
new one, to influence the coding of the new program dynamically. The following example
shows how to proceed in principal:
DATA CODE(72) OCCURS 10.
APPEND 'REPORT ZDYN1.'
TO CODE.
APPEND 'WRITE / ''Hello, I am dynamically created!''.'
TO CODE.
Two lines of a very simple program are written into the internal table CODE.
In the next step you have to put the new module, in the above example it is a report, into the
library. For this purpose you can use the following statement:
Syntax
INSERT REPORT <prog> FROM <itab>.
The program <prog> is inserted in your present development class in the R/3 Repository. If a
program with this name does not already exists, it is newly created with the following
attributes:
Title: none,
Type: 1 (Reporting),
Application: S (Basis).
You can specify the name of the program <prog> explicitly within single quotation marks or
you can write the name of a character field, which contains the program name. The name of
the program must not necessarily be the same as given in the coding, but it is recommended
to do so. <itab> is the internal table containing the source code. For the above example you
could write:
INSERT REPORT 'ZDYN1' FROM CODE.
or
DATA REP(8).
REP = 'ZDYN1'
INSERT REPORT REP FROM CODE.
ABAP FAQ
23. Data types can be elementary or structured (TRUE/ FALSE)
TRUE.
24. The amount of memory associated with a data type is ___________
ZERO.
25. Data objects are the physical units a program uses at runtime. (TRUE / FALSE).
TRUE.
26. The data object does not occupy any space in memory. (TRUE / FALSE).
FALSE.
27. What are the three hierarchical levels of data types and objects?
program-independent data, defined in the ABAP/4 Dictionary
internal data used globally in one program
data used locally in a procedure (subroutine, function module)
28. How would you find the attributes of a data type or data object?
DESCRIBE FIELD <f> [LENGTH <l>] [TYPE <t> [COMPONENTS <n>]]
[OUTPUT-LENGTH <o>] [DECIMALS <d>]
[EDIT MASK <m>].
29. The components of a field string cannot have different data types. (TRUE / FALSE).
FALSE.
30. Field strings are also called as __________________________.
Records or Structures.
31. If a field string is aligned (Left, centered, right justified etc.), the filler fields are also
ABAP FAQ
34. Defining a field group as HEADER is optional. ( TRUE / FALSE).
FALSE.
35. How would you define a field symbol ?
FIELD-SYMBOLS <FS>.
36. Which function module would you use to check the user's authorization to access files
ABAP/4 programs.
FILE_GET_NAME.
38. Parameters, which are defined during the definition of a subroutine with the FORM
INTERACTIVE REPORTING
1. What is interactive reporting?
A. Interactive reporting helps you to create easy-to-read lists. You can display an overview list
first that contains general information and provide the user with the possibility of choosing
detailed information that you display on further lists.
ABAP FAQ
A. With interactive reporting, the user can actively control data retrieval and display during the
session. Instead of an extensive and detailed list, you create a basic list with condensed
information from which the user can switch to detailed displays by positioning the cursor and
entering commands. The detailed information appears in secondary lists.
Event
AT LINE-SELECTION
AT USER-COMMAND
ABAP FAQ
include additional functionality, such as pushbuttons, you must define your own interface
status. To create a new status, the Development Workbench offers the Menu Painter. With the
Menu Painter, you can create menus and application toolbars. And you can assign Function
keys to certain functions. At the beginning of the statement block of AT END-OFSELECTION, activate the status of the basic list using the statement: SET PF-STATUS
'STATUS'.
ABAP FAQ
A. To return from a high list level to the next-lower level (SY-LSIND), the user chooses Back on
a secondary list.The system then releases the currently displayed list and activates the list
created one step earlier.The system deletes the contents of the released list.To explicitly
specify the list level into which you want to place output, set the SY-LSIND field. The
system accepts only index values which correspond to existing list levels.It then deletes all
existing list levels whose index is greater or equal to the index you specify.For example, if
you set SY-LSIND to 0, the system deletes all secondary lists and overwrites the basic list
with the current secondary list.
the event TOP-OF-PAGE.To create page headers for secondary list, you must enhance TOPOF-PAGE:
Syntax TOP-OF-PAGE DURING LINE-SELECTION. The system triggers this event for
each secondary list. If you want to create different page headers for different list levels, you
must program the processing block of this event accordingly, for example by using system
fields such as SY-LSIND or SY-PFKEY in control statements (IF, CASE).
ABAP FAQ
A. If you want the user to communicate with the system during list display, the list must be
interactive. You can define specific interactive possibilities in the status of the list's user
interface (GUI). To define the statuses of interfaces in the R/3 system, use the Menu Painter
tool.In the Menu Painter, assign function codes to certain interactive functions.After an user
action occurs on the completed interface, the ABAP/4 processor checks the function code
and, if valid, triggers the corresponding event.
15. What are the drill-down features provided by abap/4 in interactive lists ?
A. ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION(double
click) or AT USER-COMMAND(pressing a button).you can use these events to move
through layers of information about individual items in a list.
17. Is the basic list deleted when the new list is created?
A. NO.It is not deleted and you can return back to it using one of the standard navigation
functions like clicking on the back button or the cancel button.
20. Can we create a gui status in a program from the object browser ?
A. Yes. You can create a GUI STATUS in a program using SET PF-STATUS.
21. In which system field does the name of current gui status is there ?
A. The name of the current GUI STATUS is available in the system field SY-PFKEY.
22. Can we display a list in a pop-up screen other than full-size stacked list ?
ABAP FAQ
A. Yes, we can display a list in a po-up screen using the command WINDOW with the additions
starting at X1 Y1 and ending at X2 Y2 to set the upper-left and the lower-right corners where
x1 y1 and x2 y2 are the coordinates.
25. How can you display frames (horizontal and vertical lines) in lists ?
A. You can display tabular lists with horizontal and vertical lines (FRAMES) using the ULINE
command and the system field SY-VLINE.The corners arising at the intersections of
horizontal and vertical lines are automatically drawn by the system.
26. What are the events used for page headers and footers ?
A. The events TOP-OF-PAGE and END-OF-PAGE are used for page headers and footers.
27. How can you access the function code from menu painter ?
A. From within the program, you can use the SY-UCOMM system field to access the function
code. You can define individual interfaces for your report and assign them in the report to any
list level. If you do not specify self-defined interfaces in the report but use at least one of the
three interactive event keywords AT LINE-SELECTION, AT PF<nn>, or AT USERCOMMAND in the program, the system automatically uses appropriate predefined standard
interfaces. These standard interfaces provide the same functions as the standard list described
under the standard list.
ABAP FAQ
---Passing list attributes
30. How can you manipulate the presentation and attributes of interactive lists ?
A. ---Scrolling through Interactive Lists
---Setting the Cursor from within the Program
---Modifying List Lines
Report
Transaction
CALL TRANSACTION
LEAVE TO TRANSACTION
TRANSACTIONS
1. What is a transaction ?
ABAP FAQ
-
ABAP FAQ
-
Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog
program is also
called a module pool, since it consists of interactive
modules.
7. Can we use WRITE statement in screen fields ? If not how is data transferred from
field data to screen fields ?
- We cannot write field data to the screen using the WRITE statement. The system
instead transfers data by comparing screen field names with ABAP/4 variable
names. If both names are the same, it transfers screen field values to ABAP/4
program fields and vice-versa. This happens immediately before and
immediately after displaying the screen.
8. Can we use flow logic control key words in ABAP/4 and vice versa ?
- The flow control code of a dynpro consists of a few statements that syntactically
ressemble ABAP/4 statements. However, We cannot use flow control keywords in
ABAP/4 and vice versa.
9. What is a GUI status ? How to create/edit GUI status ?
- A GUI status is a subset of the interface elements used for a certain screen. The
status comprises those elements that are currently needed by the transaction. The
GUI status for a transaction may be composed of the following elements:
-
Title bar
Menu bar
Application tool bar
Push buttons.
To create and edit GUI status and GUI title, we use the Menu Painter.
10. How does the interaction between the Dynpro and the ABAP/4 modules takes place ?
- A transaction is a collection of screens and ABAP/4 routines, controlled and
executed by a Dialog processor. The Dialog processor processes screen after
screen, thereby triggering the appropriate ABAP/4 processing for each screen.
For each screen, the system executes the flow logic that contains the
corresponding ABAP/4 processing. The control passes from screen flow logic to
ABAP/4 code and back.
ABAP FAQ
11. How does the Dialog handle user requests ?
- When an action is performed, the system triggers the PROCESS AFTER INPUT
event. The data passed includes field screen data entered by the user and a
function code. A function code is a technical name that has been allocated in the
Screen Painter or Menu Painter to a menu entry, a pushbutton, the ENTER key or
a function key of a screen. An internal work field (ok-code) in the PAI module
evaluates the function code, and the appropriate
action is taken.
12. What is to be defined for a pushbutton field in the screen attributes ?
- A function code has to be defined in the screen attributes for the pushbuttons in a
screen.
13. How are the function codes handled in flow logic ?
- When the user selects a function in a transaction, the system copies the function
code into a specially designated work field called OK_CODE. This field is global
in the ABAP/4 module pool. The OK_CODE can then be evaluated in the
corresponding PAI module.
The function code is always passed in exactly the same way, regardless of
whether it comes from a screen's pushbutton, a menu option, function key or other
GUI element.
14. What controls the screen flow ?
- The SET SCREEN and LEAVE SCREEN statements control screen flow.
15. The function code currently active is ascertained by what variable ?
- The function code currently active in a program can be ascertained from the SYUCOMM variable.
16. What are field and chain statements ?
- The FIELD and CHAIN flow logic statements let you program your own field
checks. FIELD and CHAIN tell the system which fields you are checking,and
whether the system should perform checks in the flow logic or call an ABAP/4
module.
17. What is an on input field statement ?
- ON INPUT
ABAP FAQ
The ABAP/4 module is called only if the field contains a value other than its initial
value. This initial value is determined by the field's data type: blanks for character
fields, zeroes for numerics. If the user changes a field value back to its initial
value, ON INPUT does not
trigger a call.
18. What is an on request field statement ?
- ON REQUEST
The ABAP/4 module is called only if the user has entered a value in the field
value since the last screen display. The value counts as changed even if the user
simply types in the value that was already there. In general, the ON REQUEST
condition is triggered through any form of "manual input".
19. What is an on *-input field statement ?
- ON *-INPUT
The ABAP/4 module is called if the user has entered a "*" in the first character of
the field, and the field has the attribute *-entry in the Screen Painter. You can use
this option in exceptional cases where you want to check only fields with certain
kinds of input.
20. What are conditional chain statements ?
- ON CHAIN-INPUT similar to ON INPUT.
The ABAP/4 module is called if any one of the fields in the chain contains a value
other than its initial value (blanks or nulls).
ON CHAIN-REQUEST
This condition functions just like ON REQUEST, but the ABAP/4 module is
called if any one of the fields in the chain changes value.
21. What is at exit-command ?
- The flow logic keyword AT EXIT-COMMAND is a special addition to the
MODULE statement in the flow logic. AT EXIT-COMMAND lets you call a
module before the system executes the automatic field checks.
22. Which function type has to be used for using at exit-command ?
- To use AT EXIT-COMMAND, we must assign a function type E to the relevant
function in the Menu Painter or Screen Painter.
23. What are the different message types available in the ABAP/4 ?
- There are altogether 5 types of message types available.
ABAP FAQ
-
E Error
W Warning
I Information
A Abnormal termination
S Success
ABAP FAQ
29. Can we specify the next-screen number with a variable. ( Yes / No ).
- Yes.
30. The field SY-DYNNR refers to ___Number of the current screen___.
31. What is a dialog module ?
- A dialog module is a callable sequence of screens that does not belong to a
particular transaction. Dialog modules have their own module pools, and can be
called by any transaction.
32. The syntax used to call a screen as a dialog box ( popup ) is _________________.
- CALL SCREEN <screen number>
STARTING AT <start column> <start line>
ENDING AT <end column> <end line> .
33. What is a call mode ?
- In the ABAP/4 world, each stackable sequence of screens is a "call mode". This is
important because of the way you return from a given current sequence. To
terminate a call mode and return to a suspended chain, set the "next screen" to 0
and leave to it:
LEAVE TO SCREEN 0 or ( SET SCREEN 0 and LEAVE SCREEN ). When you
return to the suspended chain, execution resumes with the statement directly
following the original CALL SCREEN statement. The original sequence of
screens in a transaction is itself is a
calling mode. If you LEAVE TO SCREEN 0 in this sequence ( that is, without
having stacked any additional call modes ), you return from the transaction
altogether.
34. The maximum number of calling modes stacked at one time is _Nine_____.
35. What is LUW or Database LUW or Database Transaction ?
- A LUW ( logical unit of work ) is the span of time during which any database
updates must be performed in an all or nothing manner. Either they are all
performed ( committed ) , or they are all thrown away ( rolled back ). In the
ABAP/4 world, LUWs and transactions can have several meanings:
LUW ( or database LUW or database transaction )
ABAP FAQ
This is the set of updates terminated by a database commit. A LUW lasts, at most,
from one screen change to the next ( because the SAP system triggers database
commits automatically at every screen change ).
36. What is SAP LUW or Update Transaction ?
- Update transaction ( or SAP LUW)
This is a set of updates terminated by an ABAP/4 commit. A SAP LUW may last
much longer than a database LUW, since most update processing extends over
multiple transaction screens.The programmer terminates an update transaction by
issuing a COMMIT WORK statement.
37. What happens if only one of the commands SET SCREEN and LEAVE SCREEN is
used without using the other?
- If we use SET SCREEN without LEAVE SCREEN, the program finishes
processing for the current screen before branching to <scr no>. If we use LEAVE
SCREEN without a SET SCREEN before it, the current screen process will be
terminated and branch directly to the screen specified as the default next-screen
in the screen attributes.
38. What is significance of the screen number 0 ?
- In "calling mode", the special screen number 0 (LEAVE TO SCREEN 0) causes
the system to jump back to the previous call level. That is, if you have called a
screen sequence with CALL SCREEN leaving to screen 0 terminates the sequence
and returns to the calling screen. If you have not called a screen sequence,
LEAVE TO SCREEN 0 terminates the transaction.
39. What does the command SUPPRESS DIALOG do ?
- Suppressing of entire screens is possible with this command. This command
allows us to perform screen processing in the background. Suppresing screens
is useful when we are branching to list-mode from a transaction dialog step.
40. What is the significance of the memory table SCREEN ?
- At runtime, attributes for each screen field are stored in the memory table called
SCREEN. We need not declare this table in our program. The system maintains
the table for us internally and updates it with every screen change.
41. What are the fields in the memory table SCREEN ?
- Name
Length
Description
ABAP FAQ
NAME
GROUP1
GROUP2
GROUP3
GROUP4
ACTIVE
REQUIRED
INPUT
OUTPUT
INTENSIFIED
INVISIBLE
LENGTH
DISPLAY_3D
VALUE_HELP
30
3
3
3
3
1
1
1
1
1
1
1
1
1
42. Why grouping of fields is required ? What is the maximum number of modification
groups for each field ?
- If the same attributes need to be changed for several fields at the same time these
fields can be grouped together. We can specify up to four modification groups for
each field.
43. What are the attributes of a field that can be activated or deactivated during runtime ?
- Input , Output , Mandatory , Active , Highlighted , Invisible .
44. What is a screen group ? How it is useful ?
- Screen group is a field in the Screen Attributes of a screen. Here we can define a
string of up to four characters which is available at the screen runtime in the SYDNGR field. Rather than maintaining field selection separately for each screen of
a program, we can combine logically associated screens together in a screen
group.
45. What is a Subscreen ? How can we use a Subscreen ?
- A subscreen is an independent screen that is displayed in an area of another
("main") screen. To use a subscreen we must call it in the flow logic ( both PBO
and PAI ) of the main screen. The CALL SUBSCREEN statement tells the
system to execute the PBO and PAI events for the subscreen as part of the PBO or
PAI events of the main screen. The flow logic of your main program should look
as follows:
ABAP FAQ
PROCESS BEFORE OUPTPUT.
CALL SUBSCREEN <area> INCLUDING '<program>' '<screen>'.
PROCESS AFTER INPUT.
CALL SUBSCREEN <area>.
Area is the name of the subscreen area you defined in your main screen. This
name can have up to ten characters. Program is the name of the program to
which the subscreen belongs and screen is the subscreen's number.
46. What are the restrictions on Subscreens ?
- Subscreens have several restrictions. They cannot:
Set their own GUI status
Have a named OK code
Call another screen
Contain an AT EXIT-COMMAND module
Support positioning of the cursor
47. How can we use / display table data in a screen ?
- ABAP/4 offers two mechanisms for displaying and using table data in a screen.
These mechanisms are TABLE CONTROLS and STEP LOOPS.
48. What are the differences between TABLE CONTROLS and STEP LOOPS ?
- TABLE CONTROLS are simply enhanced STEP LOOPS that display data with
the look and feel of a table widget in a desktop application. But from a
programming standpoint, TABLE CONTROLS and STEP LOOPS are almost
exactly the same. One major difference between STEP LOOPS and TABLE
CONTROLS is in STEP LOOPS their table rows can span more than one line on
the screen. By contrast the rows in a TABLE CONTROLS are always single
lines, but can be very long. ( Table control rows are scrollable ). The structure of
table controls is different from step loops. A step loop, as a screen object, is
simply a series of field rows that appear as a repeating block. A table control, as a
screen object consists of : i ) table fields ( displayed in the screen ) ii ) a
control structure that governs the table display and what the user can do with it.
49. What are the dynpro keywords ?
- FIELD, MODULE, SELECT, VALUES and CHAIN are the dynpro keywords.
50. Why do we need to code a LOOP statement in both the PBO and PAI events for each
table in the screen ?
ABAP FAQ
-
We need to code a LOOP statement in both PBO and PAI events for each table in
the screen. This is because the LOOP statement causes the screen fields to be
copied back and forth between the ABAP/4 program and the screen field. For this
reason, at least an empty LOOP......ENDLOOP must be there.
ABAP FAQ
screens is useful when we are branching to list-mode from a transaction dialog
step.
ABAP FAQ
-
Semantic integrity
Relational integrity
Primary key integrity
Value set integrity
Foreign key integrity and
Operational integrity.
ABAP FAQ
-
ABAP FAQ
81. How can we pass selection and parameter data to a report ?
- There are three options for passing selection and parameter data to the report.
. using SUBMIT...WITH
. using a report variant
. using a RANGE table
82. How to send a report to the printer instead of displaying it on the screen ?
- We can send a report to the printer instead of displaying it on the screen. To do
this, use the keywords TO SAP-SPOOL:
SUBMIT RSFLFIND ... TO SAP-SPOOL DESTINATION 'LT50'.
83. How can we send data to external programs ?
- Using SPA/GPA parameters (SAP memory)
- Using EXPORT/IMPORT data (ABAP/4 memory)
84. What are SPA/GPA parameters and how can we use them ?
- SPA/GPA parameters are field values saved globally in memory. There are two
ways to use SPA/GPA parameters:
by setting field attributes in the Screen Painter
by using the SET PARAMETER or GET PARAMETER statements
BDC
1. What is full form of BDC Session ?
- Batch Data Communications Session.
2. What are the steps in a BDC session ?
- The first step in a BDC session is to identify the screens of the transaction that the
program will process. Next step is to write a program to build the BDC table that
will be used to submit the data to SAP. The final step is to submit the BDC table to
the system in the batch mode or as a single transaction by the CALL
TRANSACTION command.
3. How do you find the information on the current screen ?
- The information on the current screen can be found by System Status
command from any menu.
4. How do you save data in BDC tables ?
ABAP FAQ
-
The data in BDC tables is saved by using the field name BDC_OKCODE and
field value of /11.
TYPE
CHAR(8)
CHAR(4)
CHAR(1)
CHAR(35)
Fval
CHAR(80)
DESCRIPTION
Program name of transaction
Screen number of transaction
Indicator for new screen
Name of database field from
Screen
Value to submit to field
ABAP FAQ
-
ABAP FAQ
-
In Classical Batch Input an ABAP/4 program reads the external data that is to be
entered in the SAP system and stores the data in a Batch Input session. This
session stores the actions that are required to enter your data using normal SAP
transactions.
ABAP FAQ
ABAP FAQ
-
L : Local
SAP SCRIPT
1. The most important areas in the SAP Script text processing screen are
Format column , input lines for entering text.
2. The two characters which we should not use while naming a SAP Script are Asterix ,
Comma.
3. What is Compare Tool in SAP Script ?
ABAP FAQ
SAP Script offers tools for comparing objects across clients. We can compare or copy
the following kinds of objects.
Styles
Layout sets
Documents
With the Compare tool we can do the following :
Check whether an object exists in both clients
Display the differences between the versions of an object
4. Layout Sets are used to control page layout and text formatting in documents .
5. SAP Standard styles and layout sets are always held in Client 000.
6. In what format does SAP Script store text ?
SAPscript texts are stored in Interchange Text Format (ITF). SAPscript offers
conversion programs for the text file formats Rich Text Format (RTF) and ASCII as
an interface to other word processors.
7. The various window types in SAP Script are Main, Variable and Constant.
8. The New-Page command is used to force a Page break in the text at any point.
9. Protect ... Endprotect command pairs can be nested (True / False).
False.
10. Delimiter & must be used immediately before and after the symbol.
11. SAPscript is the SAP System's own text-processing system. SAP
script is tightly integrated into the SAP System. You'll therefore be using it for many
different text-processing tasks all over the SAP System.
12. Layout sets are used for the page layout of SAPscript documents.
If a text is formatted for output to the screen or printer, it must be
assigned a layout set. If a layout set has not been assigned to a text, the layout set
SYSTEM, which contains minimal definitions for text formatting, is used
Automatically.
13. There are two ways of formatting texts using layout sets:
ABAP FAQ
The text is entered and output in standard text maintenance. You can assign any
layout set. Text can also be entered via the layout set a letter header, for example.
The text is formatted via an ABAP/4 program using a layout set. The program can
either dynamically output individual predefined text modules, text elements or
transfer entire texts, which are to be output in the layout set.
14. You can use styles to define the formatting of the text in your documents. A style
determines text formatting by setting the paragraph and character formats used in a
document. You can, for example, use a style to highlight character strings or whole
paragraphs. You can assign a style to any text. Typically, however, youll use styles
primarily in the main windows of layout sets, where users type or enter text directly
in documents.
15. Header data is found in both style and layout set maintenance.
In style maintenance, it is used primarily to present important information - designed
to make it easier for the end user to select a style. The header data in layout set
maintenance, on the other hand, is used for information and control purposes.
16. Windows are defined in layout set maintenance. They represent areas
which are positioned on pages as page windows and in which text is
later output. At least one window must be defined for each layout set. If
not, a text cannot be formatted by SAP script.
17. The following window types can be used:
- MAIN Main window in which continuous text is output. This is the window
used by dialog users of a print program and layout set. For example the body text
of a letter would be entered in MAIN.
- VAR Window with variable contents. The text can vary on each page in which
the window is positioned. Variable windows are formatted for each page.
- CONST Window with constant contents which is only formatted once.
ABAP FAQ
18. A layout set has the following elements:
- Header data - Data related to development (created by, development class, etc.)
and layout set information (which elements are used) are both stored in the header
data. A start page must be entered here.
- Paragraph formats - Paragraph formats are required in layout sets - as in styles in order to format texts. However, they are also used for word processing in
layout sets, for example, to format text elements.
- Character formats - You can also use character formats to format texts or
paragraphs. Unlike paragraph formats, however, they are used to format text
within a paragraph.
- Windows - Windows are names and window types, which are not physically
positioned until they are allocated to pages and units of measurement are
specified.
- Pages - Pages are defined to provide the system with a start and end point in text
formatting.
- Page windows - Page windows are the combination of windows and pages, where
the dimensions of a window and its position on a page are specified.
19. The purpose of SAP script control commands is to allow control of the
output formatting. These commands are not interpreted by the SAPscript
editor, but are passed through to the SAPscript Composer for processing. The
composer is the program that converts text from the form displayed in the editor to
the form used for printing.
SAP ENHANCEMENTS
1. What are the different ways in which you can make
changes to SAP standard software ?
Customizing
Enhancements to the SAP Standard
Modifications to the SAP Standard
Customer Development
2. What is customizing ?
Customizing is the setting of system parameters via SAP's own interface.
3. Why do you need enhancements ?
ABAP FAQ
The standard applications do not offer some of the functionality you need. The R/3
enchancement concept allows you to add your own functionality to SAP's standard
business applications.
4. What are the different types of enhancements ?
Enhancements using customer exits
Customers' potential requirements which are not included in the standard software are
incorporated in the standard as empty modification 'shells'. Customers can then fill these
with their own coding. Enhancements can relate to programs, menus and screens.
Upward compatibility is assured. In other words, SAP guarantees that the jump from the
standard software to the exit and the interface which call the exit will remain valid in
future releases.
Enhancements to ABAP/4 Dictionary elements
These are ABAP/4 Dictionary enhancements (creation of table appends), text
enhancements (customer-specific key words and documentation for data elements) and
field exits (creation of additional coding for data elements).
5. What is customer development ?
Creating customer-specific objects within the customer name range.
6. What is SSCR ?
SSCR (SAP Software Change Registration) is a procedure, for registering all manual
changes to SAP source coding and SAP Dictionary objects.
7.What is the difference between modifications and enhancements ?
Modifications mean making changes to the SAP standard functionality.
Enhancements mean adding some functionality to SAP standard functionality.
8. What are the disadvantages of modification ?
Modifying standard code can lead to errors
Modifications mean more work during software upgrades
ABAP FAQ
9. What are the advantages of enhancements ?
Do not affect standard SAP source code
Do not affect software upgrades
10. when do you opt for modification ?
Customer exits are not available for all programs and screens within the R/3 standard
applications. You can only use exits if they already exist within the SAP R/3 System .
Otherwise you have to opt for modifications .
11. What are the various types of customer exits ?
Menu exits
Screen exits
Function module exits
Keyword exits
12. What is a menu exit ?
Adding items to the pulldown menus in standard R/3 applications .
13.What is a screen exit ?
Adding fields to the screens within R/3 applications. SAP creates screen exits by
placing special subscreen areas within a standard R/3 screen and calling a customer
subscreen from within the standard dynpro's flow logic.
14. What is a function module exit ?
Adding functionality to R/3 applications. Function module exits play a role in both
menu and screen exits.
15. What is a keyword exit ?
Add documentation to the data elements of key words defined in the ABAP/4 Dictionary.
The system displays this documentation whenever a user presses F1 to get online help for
a screen field.
16. How do SAP organizes its exits ?
ABAP FAQ
SAP organizes its exits in packages that are called SAP enhancements. Each SAP
enhancement can contain many individual exits.
17. What is an add-on project ?
To take advantage of the exits available within standard R/3 applications, you need to
create an add-on project. This project lets you organize the enhancement packages and
exits you want to use. The add-on project also allows you to hang add-on functionality
onto the exit hooks contained with SAP enhancements.
RFC
1. What are the types of remote communications ?
communications between two independent SAP System
client-server communications between an external client and an SAP System acting as
the server
client-server communications between an SAP System acting as the client and an
external server.
2. RFC is SAP's platform-independent core technology for all the three types of remote
communications.
3. What is OLE ?
For Windows frontends, SAP provides interfaces based on Microsoft's Object
Linking and Embedding technology (OLE Automation).
4. What is RFC?
A remote function call is a call to a function module running in a system different
from the caller's. The remote function can also be called from within the same
system (as a remote call), but usually caller and callee will be in different systems.
5. How is ABAP/4 used as OLE Automation Controller ?
An ABAP/4 program can call up an OLE Automation Server (such as Excel) on
the desktop. The ABAP/4 OLE Automation Controller consists of a set of
ABAP/4 language elements that an ABAP/4 client program can use to drive an
OLE Automation server on either Windows or Apple Macintosh frontends.
ABAP FAQ
6. What is the statement used for calling RFC in ABAP/4 programs?
Any ABAP/4 program can call a remote function using the CALL
FUNCTION...DESTINATION statement.
7. RFC functions must be registered in SAP systems as _______________.
Remote.
8. Destination parameter are defined in which table?
Logical destinations are defined in the RFCDES table (or the TRFCD table in
R/2 Systems) via transaction SM59
9. How to Call interfaces for non-SAP programs ?
To help implement RFC partner programs in non-SAP Systems, SAP provides :
The RFC Generator to create stub programs
External Interfaces
10. What is RFC generator ?
The function library in R/3 provides a facility for generating and then
downloading RFC programs to a workstation or PC. This facility is the RFC
Interface Generator. With this tool, you can create RFC stub programs (that call
SAP function modules) and example programs (that show how to call stub
programs).
11. What is RFC stub program?
RFC stub programs contain all the parameter-handling and communications
necessary to call SAP function modules from a non-SAP System.
12. What is RFC-API?
The RFC-API on OS/2, Windows, Windows NT and all R/3-based UNIX
platforms makes it possible to use the RFC functionality between an SAP System
(R/3 from Release 2.1 and R/2 from Release 5.0D onwards) and a C program on
the above platforms. It is of no significance to the caller whether the remote
function is provided in an SAP System or in a C program.
13. How does processing of RFC interface take place in ABAP/4?
The RFC interface is effectively invisible to the ABAP/4 programmer. Processing
for calling remote programs is built into the CALL FUNCTION statement.
Processing for being called is generated automatically (in the form of an RFC
ABAP FAQ
stub) for every function module registered as remote. This stub serves as an
interface between the calling program and the function module.
14. Distiningish between RFC client & RFC server.
RFC client is the instance that calls up the Remote Function Call to execute the
function that is provided by an RFC server. In the following, the functions that
can be executed remotely will be called RFC functions and the functions provided
via RFC API will be called RFC calls
15. All RFC functions available in a remote RFC server system, which are called by an
RFC
client, are processed transactionally
16. When is RFC connection closed ?
When the context of the calling ABAP/4 program has ended or
explicitly by RfcAbort or RfcClose in the external program.
17. What is Transactional RFC?
To make the execution of RFC functions reliable, safe and independent from the
availability of the RFC server or RFC server system, the transactional RFC
(tRFC) was introduced for R/3 systems from Release 3.0 onwards,data can be
tranferred between two R/3 systems. This ensures that the called function module
is executed only once in the RFC server system.
18. Where system logs the remote call request in DB tables?
The system logs the remote call request in the database tables ARFCSSTATE and
ARFCSDATA with all of its parameter values. You can display the log file using
transaction SM58. When the calling program reaches a COMMIT WORK, the
remote call is forwarded to the requested system for execution.
19. Transactional RFC requests are transferred, with parameter data in byte-stream form,
using
TCP/IP or X400.
20. What are restrictions for Transactional calls?
There are two restrictions on writing remote functions that are to be called
transactionally:
Transactional calls cannot return parameter values. As a result, the interface
for these functions should not specify any EXPORT parameters.
ABAP FAQ
Functions that run transactionally may not perform call-backs: the caller's
context does not necessarily still exist when the call-back is relayed back to the
original system.
21. What exceptions raise in a remote funcation?
System raises COMMUNICATION_FAILURE and SYSTEM_FAILURE
internally, there is no reason for you to raise them in your program.
22. How call-back mechanism used in RFC calls?
You can trigger this call-back mechanism by using the special destination name
"BACK". If this name is specified in an RFC call on the system acting as the
server, the system uses the same RFC connection that was established when the
server received the first call. Once an RFC connection is established, it is
maintained until it is either explicitly closed or until the calling program
terminates
23. What are technical requirements for RFC programming in ABAP/4?
External Systems
systems must support TCP/IP.
OS/2:
TCP/IP for OS/2 from IBM.
Windows 3.1/3.11: All TCP/IP products that support the socket
interface.
Windows NT/95: Microsoft standard
UNIX platforms:
Manufacturer's standard
The RFCSDK for the respective platforms contains the following libraries and
includes:
saprfc.h This include file contains all data types and structures required and the
prototypes (declarations) of the RFC calls.
sapitab.h
This include file contains all the RFC calls required to manipulate
internaltables
librfc
Depending on the platform, the following libraries are required:
OS/2:
librfc.dll and librfc.lib for Compile/Link
Windows 3.1/3.11: librfc16.dll, librfc2.dll, librfc3.dll, librfc4.dll
and librfc5.dll and librfc16.lib for Compile/Link
Windows NT/95:
librfc32.dll and librfc32.lib for Compile/Link
UNIX-Platforms:
librfc.a
ABAP FAQ
SAP R/3 Systems
For RFC between external systems and R/3, there are no specific
requirements in the R/3 System, except that the R/3 System has to be
Release >= 2.1.
Topics for further discussion
ABAP/4 I BATCH
1. Performance Enhancements in reports
-
Other methods.
2. SAP scripts
-
Inserting images
ABAP FAQ
The different types of text elements include
1. Report or program titles
2. List headers
3. Column headers
4. Selection texts
5. Text symbols
Text-symbols?
Text constant specified and maintained outside an ABAP program.
You use text symbols instead of text literals in programs, because they allow you to keep
programs language-independent and make them easier to maintain.
Each text symbol must have a three-character identifier
2.Can you specify field names and table names dynamically in a SELECT?
3.When do you use the statements GET CURSOR---HIDE---READ LINE in the interactive
reporting?
Get-cursor?
Transfers the name of the field at the cursor position to the field f.
Hide?
Retains the contents of f related to the current output line. When the user selects the line from the
list f is automatically filled with the retained value.
Read-line?
Reads line number line of the list, usually after a line selection ( AT LINE-SELECTION, AT PFxx,
AT USER-COMMAND).
The line is placed in the field SY-LISEL, and all 'hidden' information (HIDE) is automatically
placed into its original fields.
4.Explain the use of: GET PARAMETER, SET PARAMETER, EXPORT TO MEMORY, and
IMPORT FROM MEMORY
ABAP memory?
Area of memory assigned to a particular transaction and any modules called from there.
ABAP memory does not depend on the ABAP program that generates it during a transaction. This
means that any ABAP program can read any object stored there during the same transaction.
In contrast to ABAP memory, which exists only for the life of one transaction, there is also global
SAP memory, which extends beyond transaction limits.
Export to memory:
Stores a data cluster in ABAP memory. The specified objects obj1 ... objn (fields, structures,
complex structures, or tables) are stored as one cluster in ABAP memory
Import to memory:
ABAP FAQ
Imports the data objects obj1 ... objn (fields, structures, complex structures, or tables) from a data
cluster in ABAP memory
SAP memory?
Global, user-related memory that extends beyond transaction limits.
Access to the SAP memory is via SPA/GPA parameters.
Get parameter:
Transfers the value stored under the key pid from the global user-related SAP memory to the field
f
Set parameter:
Writes the contents of the field f to the global user-specific SAP memory under the ID pid. SAPMemory
5.What are the facilities in ABAP debugging tool? How many ways you can set a Break point.
The ABAP Debugger is an integrated test tool within the ABAP Workbench. You use it to find
errors in the source code of an ABAP program. In the Debugger, you can step through the source
code of a program. The running program is interrupted after each step, allowing you to check its
processing logic and the results of individual statements.
The Debugger provides an efficient means of identifying errors in ABAP programs.
It contains the following functions:
Ways of starting the Debugger
Choosing Debugger settings
Choosing different execution options in the Debugger
Displaying source code in the Debugger
Setting and deleting breakpoints
Setting and deleting watchpoints
Stopping a program at a particular statement, event, subroutine, or function module
Displaying and changing field contents at runtime
Displaying objects in ABAP Objects
Displaying and positioning strings
Opening the ABAP Editor, ABAP Dictionary, or Object Navigator
The Debugger contains different breakpoint variants:
Static
The BREAK-POINT statement in an ABAP program. Static breakpoints are not normally userspecific. However, you can make them user-specific.
ABAP FAQ
Breakpoint at statement
The Debugger stops the program directly before the specified statement is executed. You set this
special kind of dynamic breakpoint in the Debugger.
Breakpoint at event
The Debugger stops the program directly before an event, subroutine, or module pool is called.
You set this special kind of dynamic breakpoint in the Debugger.
Breakpoint at function module
The Debugger stops the program directly before the specified function module is called.
Breakpoints at System Exceptions
The Debugger stops the program directly after a system exception, that is, after a runtime error
has been intercepted by a CATCH statement
8.What are lock objects and what are the functions used for this?
The R/3 System synchronizes simultaneous access of several users to the same data records
with a lock mechanism. When interactive transactions are programmed, locks are set and
ABAP FAQ
released by calling function modules (see Function Modules for Lock Requests). These function
modules are automatically generated from the definition of lock objects in the ABAP Dictionary.
Activating a lock object in the ABAP Dictionary automatically creates function modules for setting
(ENQUEUE_<lock object name>) and releasing (DEQUEUE_<lock object name>) locks.
9.How do you use debugger in lay out?
10.Can we process sessions from within the programs?
Through RSBDCBTC program one can process the sessions within the programs.
RSBDCBTC accepts the qid of the session.
11.What are FULL CONTROL METHOD and EASY METHOD in back ground job scheduling?
By easy method or express method: one ca.n schedule the job in the background but need to
have a variant and start time to execute the job.
Function modules used are: bc_jobvariant_schedule, and bc_jobvariant_overwiew.
Full control method: one has the full control over the jobs to be scheduled in the background.
Function modules used are: job_open, job_submit, job_close.
12.What are the difference between CALL SCREEN, LEAVE SCREEN and SET SCREEN?
Call screen:
Calls the screen scr; scr is the number of a screen of the main program. You use SET SCREEN
0. or LEAVE SCREEN. to define the return from the CALL screen.
Leave screen: Leaves the current screen and processes the next screen.
Set screen: Sets the number of the next screen.
Screen number scr is then processed when the current screen has finished.
13.What is the different between STEP LOOP and TABLE CONTROL?
Step loops:
Sequence of repeated screen elements.
A step loop defines a kind of table, which contains the elements in a number of repeated lines or
blocks. You can define a step loop as fixed or variable.
Step loops are similar to table controls, but have less functional scope. You can convert step
loops to table controls.
Table control:
Area on a screen for efficient entry and display of one-line tabular data, which is processed in a
loop at runtime.
There can be several table controls on one screen and, as with subscreens, each has a unique
name.
The main features of a table control are as follows:
1. Vertical scroll bar
2. Horizontal scroll bar
ABAP FAQ
3. One-line (there is no equivalent of multiple line loop blocks as found in step loops)
4. Table controls are similar to step loops, but have greater functional scope. For this
reason, they can be regarded as enhanced step loops.
14.What is update building/LUW? How you do it?
Update bundling and the R/3 lock system maintain data integrity in processes that cover several
database LUWs, and fulfill the requirements regarding rollback. This means that all of the data
changes can be reversed if a runtime error occurs during the update.
Bundling is an ABAP programming technique, which collects database changes and performs
these together at the end of a transaction.
U achieves it by collecting all the updations in a routine and then performs the updations upon the
explicit calling of the COMMIT WORK by the ABAP program.
15.What is the peculiarity in the naming of function modules?
16.What is the difference between Messages and Message Types? (IN EDI)
Messages: display message to help analyze errors that occurred during the allocation run.
Message types: define the business document and also defines the logic of the selection and
posting programs.
17.What is Filtering?
In Customizing for Distribution (ALE), you can define filter values for each receiving system and
for specific business application programming interface (BAPI) parameters (IDoc segments). You
do this in the activity Maintain Distribution Model. The system then filters the data records for the
corresponding BAPI parameter, distributing only those with the defined filter values
18.What is a service file? What is the hierarchy in service files? (IN ITS)
All Internet applications developed in the SAP@Web Studio are known to the Internet Transaction
Server (ITS) as services.
An ITS service is the set of files required by the ITS to run an Internet application from a Web
browser. Each service can consist of up to five ITS file types:
A service file
HTMLBusiness templates
Flow files
Language resources
Multipurpose Internet Mail Extension (MIME) files
Service File
The service file contains the service description, which is the set of parameters that determines
how a service runs. If this information is incomplete at runtime, the ITS may derive some details
ABAP FAQ
from the global service file (see below), or require the user to enter logon information. In any
case, there must be one service file for each application.
Each service can be divided into one or more themes. Themes are instances of services that
differ only in look and feel (appearance, graphics, layout or language). Each theme has its own
set of HTMLBusiness templates, flow files (if applicable), language resources, and Multipurpose
Internet Mail Extension (MIME) files, but the functionality of the service is identical. In the
SAP@Web Studio, themes are stored in subdirectories of the service directory.
19. How does the ITS Debug tool work.
It is a function of the Internet Transaction Server (ITS) that allows you to debug Web applications
by starting a normal SAP GUI window alongside the application.
This means that you can run the application in a Web browser and the SAP GUI at the same
time, use the ABAP debugger in the R/3 System to identify and eliminate errors.
The capability for debugging Web transactions using the SAPgui is usually only active in ITS
development systems. In standard ITS installations, the ITS debugger is deactivated.
You activate the ITS debugger in the ITS Administration Tool.
Procedure
Log on to the ITS Administration Tool
In the Main frame, choose the relevant ITS instance.
In the frame for the ITS instance, choose Configuration.
In the Configuration frame, choose Debug.
If the value for Debug is set to OFF, choose Debug and select ON.
This activates the debugger.
Choose Save.
20.How can the ITS architecture be scaled.