SAP Transactions Interview Questions
SAP Transactions Interview Questions
1. What is a transaction?
- A transaction is dialog program that change data objects in a consistent way.
- Format and consistency checks for the data entered by the user.
- Each dialog in an SAP system is controlled by dynpros. A dynpros consists of a screen
And its flow logic and controls exactly one dialog step.
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.
PBO- Process Before Output-It determines the flow logic before displaying the screen.
PAI-Process After Input-It determines the flow logic after the display of the screen and after receiving
inputs from the User.
- A dynpro (Dynamic Program) consists of a screen and its flow logic and controls exactly
one dialog steps.
Screen layout: Positions of the text, fields, pushbuttons and so on for a screen
Screen Attributes: Number of the screen, number of the subsequent screen, and others
-Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog program is also called
7.Can we use WRITE statements 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 fields names with ABAP/4 variable names. If both names are the same, it
transfers screen fields values to ABAP/4 programs fields and Vice Versa. This happens immediately
after displaying the screen.
8.Can we use flow logic control key words in ABAP/4 and vice-versa?
- The flow control of a dynpro consists of a few statements that syntactically resemble
ABAP/4 statements .However ,we cannot use flow control keywords in ABAP/4 and vice-
versa.
-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.
-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 the screen, thereby triggering the appropriate
ABAP/4 processing of each screen .For each screen, The system executes the flow logic that contains
the corresponding ABAP/4 processing. The controls passes from screen flow logic to ABAP/4 code and
back.
- when an action is performed ,the system triggers the PROCESS AFTER INPUT (PAI)
event. The data passed includes field screen data ,data entered by the user and a function
code. A function code is a technical name that has been allocated in a screen Painter or
Menu Painter to a menu entry, a push button, 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 push button fields in the screen attributes?
- A function code has to be defined in the screen attributes for the push buttons in a
screen.
- 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 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.
- The SET SCREEN and LEAVE SCREEN statements controls screen flow.
- The function code currently active in a Program can be ascertained from the SY-
UCOMM Variable.
- ON INPUT
The ABAP/4 module is called only if a field contains the Value other than the initial Value.
This initial Value is determined by the field’s Data Type: blanks for character Fields
,Zeroes for numeric. If the user changes the Fields Value back to its initial value, ON
INPUT does not trigger a call.
- ON REQUEST
The ABAP/4 Module is called only if the user has entered the 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
ON *-INPUT
- The ABAP/4 module is called if the user has entered the “*” 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.
The ABAP/4 module is called if any one of the fields in the chain contains a value other than its initial
value(blank 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.
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 ?
- E: ERROR
- W-WARNING
- I –INFORMATION
- S-SUCCESS
24. Of the two “ next screen “ attributes the attributes that has more priority is -------------------.
Dynamic.
TRUE.
26. Dynamic screen sequence for a screen can be set using ------------- and -----------------
commands
27. The commands through Which an ABAP/4 Module can “branch to “ or “call” the next screen are
1.------------,2--------------,3---------------,4------------.
- Set screen<scr no>,Call screen<scr no> ,Leave screen, Leave to screen <scr no>.
28. What is difference between SET SCREEN and CALL SCREEN ?
- With SET SCREEN the current screen simply specifies the next screen in the chain ,
control branches to this next screen as soon as the current screen has been
processed .Return from next screen to current screen is not automatic .It does not
interrupt processing of the current screen. If we want to branch to the next screen
without finishing the current one ,use LEAVE SCREEN.
- With CALL SCREEN , the current (calling) chain is suspended , and a next screen
(screen chain) is called .The called can then return to the suspended chain with the
statement LEAVE SCREEN TO SCREEN 0 .Sometime we might want to let an user call a
pop up screen from the main application screen to let him enter secondary information.
After they have completed their entries, the users should be able to close the popup and
return directly to the place where they left off in the main screen. Here comes CALL
SCREEN into picture .This statement lets us insert such a sequence into the current one.
29. Can we specify the next screen number with a variable (*Yes/No)?
- Yes
- A dialog Module is a callable sequence of screens that does not belong to a particular
transaction. Dialog modules have their module pools , and can be called by any
transaction.
32. The Syntex used to call a screen as dialog box (pop up)is---------
- In the ABAP/4 WORLD each stackable sequence of screens is a “call mode”, This is
IMP because of the way u return from the given 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 u 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 (that is , without having
stacked any additional call modes),you returned from the transaction altogether.
34. The max number of calling modes stacked at one time is?
- NINE
- 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
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).
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.
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.
Suppressing of entire screens is possible with this command. This command allows us to
perform screen processing “in the background”. Suppressing 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.
42. Why grouping of fields is required? What is the max no of modification groups for each
field?
If the same attribute 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?
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 SY-DNGR field. Rather than
maintaining field selection separately for each screen of a program, we can combine logically
associated screens together in a screen group.
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?
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 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 time 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 control
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.
FIELD, MODULE, SELECT, VALUES and CHAIN are the dynapro keywords.
50. Why do we need to code a LOOP statement in both the PBO and PAI events for each
table in the screen?
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.
51. The field SY-STEPL refers to the index of the screen table row that is currently being
processed. The system variable SY-stepl only has a meaning within the confines of
LOOP….ENDLOOP processing. Outside the loop, it has no valid value.
Using the syntax controls <table control name> type tableview using screen <scr no>.
Step loops fall into two classes: Static and Dynamic. Static step loops have a fixed size that
cannot be changed at runtime. Dynamic step loops are variable in size. If the user re-sizes
the window the system automatically increases or decreases the number of step loop blocks
displayed. In any given screen you can define any number of static step loops but only a
single dynamic one.
54. What are the two ways of producing a list within a transaction?
A current screen processing terminates when control reaches either a Leave-screen or the end
of PAI.
Suppressing entire screens is possible using this command. This command allows us to
perform screen processing “in the background”. The system carries out all PBO and PAI logic,
but does not display the screen to the user. Suppressing screens is useful when we are
branching to list-mode from a transaction dialog step.
If we don’t use Suppress-Dialog to next screen will be displayed but as empty, when the user
presses ENTER, the standard list output is displayed.
59. How the transaction that are programmed by the user can be protected?
60. What are the modes in which any update tasks work?
A program asks the system to perform a certain task, and then either waits or doesn’t wait for
the task to finish. In synchronous processing, the program waits: control returns to the
program only when the task has been completed. In asynchronous processing, the program
does not wait: the system returns control after merely logging the request for execution.
62. SAP system configuration includes Dialog tasks and Update tasks.
Shared lock
Exclusive lock.
72. What are the events by which we can program “help texts” and display “possible value
lists”?
A matchcode is an aid to finding records stored in the system whenever an object key is
required in an input field but the user only knows other (non-key) information about the object.
74. In what ways we can get the context sensitive F1 help on a field?
A roll area contains the program’s runtime context. In addition to the runtime stack and other
structures, all local variables and any data known to the program are stored here.
76. How does the system handle roll areas for external program components?
77. Does the external program run in the same SAP LUW as the caller, or in a separate one?
- Dialog modules run in the same SAP LUW as the caller
- Function modules run in the same SAP LUW as the caller.
The only exceptions to the above rules are function modules called with IN UPDATE
TASK (V2 function only) or IN BACKGROUND TASK (ALE applications). These always
run in their own (separate) update transactions.
Function modules are general-purpose library routines that are available system-wide.
- IMPORTING: for receiving data returned from the function module.
- TABLES: for passing internal tables only, by reference (that is, by address).
80. What is the difference between Leave Transaction and Call Transaction?
There are three options for passing selection and parameter data to the report.
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:
SPA/GPA parameters are field values saved globally in memory. There are two ways to use
SPA/GPA parmeters: