MPP Q

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

MODULE POOL PROGRAMMING

1. What are the events in module pool programming


a. Process Before Output
b. Process After Input
c. Process on Value-Request
d. Process on Help-Request
2. What is a dynpro? What are its components?
A dynpro (DYnamic PROgram) consists of a screen and its flow logic and

controls exactly one dialog step.


Dynpro components:
1. Flow logic: Calls of the ABAP/4 modules for a screen
2. Screen layout: Positions of the texts, fields, pushbuttons, and so on for a screen
3. Screen attributes: Number of the screen, number of the subsequent screen, and others
4. Field attributes: Definition of the attributes of the individual fields on a screen
3. 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.
4. 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.
5. 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.

6. What controls the screen flow ?


The SET SCREEN and LEAVE SCREEN statements control screen flow.
7. 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.
8. 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.
9. What are conditional chain statements?
ON CHAIN-INPUT is 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.
10. 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.
11. 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.
12. What is the 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 (or screen
chain) is called in.

The called screen can then return to the suspended chain with the statement LEAVE SCREEN
TO SCREEN 0. Sometimes we might want to let an user call a popup screen from the main
application screen to let them 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.
13. Can we specify the next-screen number with a variable? (Yes /No).
Yes.
14. What does the field SY-DYNNR refers to?
Number of the current screen.
15. What is the difference between CALL SCREEN <scr>, SET SCREEN ### and 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.
After a CALL SCREEN command where does the processing return after the screen has been
executed?
It returns the processing to the calling screen.
16. Which is the more similar to a call with return, the SET SCREEN or the CALL SCREEN?
The CALL SCREEN command.
17. What function is performed by the SET SCREEN 0 command?
Returns to the original screen.
18. What is the effect of an ON CHAIN-REQUEST command in your flow logic?
When value of any of the fields between CHAIN..ENDCHAIN is attempted to change.
19. What is 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:
i.
Title bar
ii.
Menu bar
iii.
Application tool bar
iv.
Push buttons
To create and edit GUI status and GUI title, we use the Menu Painter.

20. What is to be defined for a push button in the screen attributes?


A function code has to be defined in the screen attributes for the push buttons in a screen.
21. What controls the screen flow?
The SET SCREEN and LEAVE SCREEN statements controls screen flow.
22. Of the two next screen attributes the attributes that has more priority is for _____?
Dynamic.
23. Navigation to a subsequent screen can be specified statically/dynamically. (TRUE/FALSE).
TRUE.
24. Dynamic screen sequence for a screen can be set using ______ and ______commands
Set Screen, Call screen.
25. 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>.
26. 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 sonn as th e 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.
27. Can we specify the next screen number with a variable (*Yes/No)?
Yes

28. The Syntax used to call a screen as dialog box (pop up) is--------CALL SCREEN <screen number>
STARTING AT <start column><start line>
ENDING AT <end column> <end line>.
29. What is call mode?
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.
30. The max number of calling modes stacked at one time is?
Nine.
31. 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.
32. What is the 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.
33. What does the SUPPRESS DIALOG do?
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.
34. 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.

35. What are the fields in the memory table SCREEN?


Name
NAME
GROUP1
GROUP2
GROUP3
GROUP4
ACTIVE
REQUIRED
INPUT
OUTPUT
INTENSIFIED
INVISIBLE
LENGTH
DISPLAY_3D
VALUE_HELP

Length
30
3
3
3
3
1
1
1
1
1
1
1
1
1

Description
Name of the screen field
Field belongs to field group 1
Field belongs to field group 2
Field belongs to field group 3
Field belongs to field group4
Field is visible and ready for input
Field input is mandatory
Field is ready for input
Field is display only
Field is highlighted
Field is suppressed
Field output length is reduced
Field is displayed with 3D frames
Field is displayed with value help

36. 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.
37. What are the attributes of a field that can be activated or deactivated during runtime?
Input, Output, Mandatory, Active, Highlighted, Invisible.
38. 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 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.
39. What is a Sub screen? How can we use a Sub screen?
A subscreen is an independent screen that is displayed in a n 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 stratement 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 the main program should look as follows:


PROCESS BEFORE OUTPUT.
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 subscreens number.
40. 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.

41. How can we use / display table 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.
42. 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.

43. What are the dynpro keywords?


FIELD, MODULE, SELECT, VALUES and CHAIN.
44. 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.
45. What does the field SY-STEPL refers to?
It is 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.
46. How can we declare a table control in the ABAP/4 program?
controls <table control name> type tableview using screen <scr num>.
47. Differentiate between static and dynamic step loops.
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.
48. When will the current screen processing terminates?
A current screen processing terminates when control reaches either a Leave-screen or the
end of PAI.
49. How is the command Suppress-Dialog useful?
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.
50. What happens if we use Leave to list-processing without using Suppress-Dialog?
If we dont use Suppress-Dialog to next screen will be displayed but as empty, when the user
presses ENTER, the standard list output is displayed.

You might also like