You are on page 1of 5

Module Pool

Definition
Module Pool is also known as Dialog Programming or Screen Programming. It is useful to develop
GUI(application). Creating GUI between the system and the user. Transaction code creation is
mandatory to execute a Module Pool Program.
3 Types
Main Program: declarations, validations, selections, processing's
Flow Logic: it is just an interface b/w main program and screen. It consists of mandatory fields.
Screen: is also known as dynpro. we can include push button, table controls. we can give commands
only here. we design the screen.
Module Pool Events
Process before output (PBO): Created by default and mandatory fields in flow logic, first step to get
triggered in debugging process.
Process after input (PAI): Created by default and mandatory fields in flow logic, execution will be done in
this step.
Process on value-request (POV): F4 Functionality.
Process on help-request (POH) F1 Functionality.
Creation of Module Pool Program SE38 or SE80
SE38:
Program - zmodule_pool01 and click on create
Select Module Pool in the Type of Attributes
Click on Save and save it in local object.
Program: zmodule_pool01
*declarations *
data: var 1 type i,
var 2 type i,
var 3 type i.

click on activate button (ctrl+F3)


Go to screen painter (SE51) to create screen
Give the program name and key in random program number
program: zmodule_pool01
screen number:0100
select flow logic radio button
Click on create button
Attributes tab:
Short description : additions
select normal in screen type
click on layout button(tool box)
click on dictionary /program fields window (F6)
Specify Table/Field name as * and click on Get from Program and the variables specified in SE38 screen
will be displayed, select var1, var2, var3 fields and press enter button and delete the input/output field
boxes and drag & drop new input/output fields. select 3 text fields as:
specify any name E.g.: VAR1 and text E.g.: Input Field One (double click on input/output field, go to
program tab in attributes and select required instead of possible from the drop down list.)
specify any name E.g.: VAR2 and text E.g.: Input Field Two
specify any name E.g.: VAR3 and text E.g.: Result (in order to disable uncheck input field in attributes
program tab)
select the INT4 Format for above variables
select the push button, drag and drop into the screen (for output processing), double click on push
button and specify the name E.g.: Submit, text E.g.: Submit FoCode E.g.: Submit (name and FoCode
description should be same)
Save the entire process and click on flow logic (back to f9)
un command Process after input (ctrl+>)activate and double click on user_command_100, it shows a
pop-up (PAI Module USER_COMMAND_0100 does not exist Create object) and click on yes button, it
shows another dialog screen, select the Main Program: ZMODULE_POOL01 and click on enter. Save it.
IF SY-UCOMM = 'SUBMIT'.

VAR3 = VAR1 + VAR2


ENDIF.
Activate the program (Ctrl+F3) on parallel with activate the screen program (se51).
T.Code to create the Transaction Tode - SE93
Specify the Transaction Code E.g.: ZMOD1 and click on create button
Specify the short text E.g.: TCODE FOR MODULE_POOL01
Check Program and screen (dialog transaction)
and Save it. ( The object will be created in the original language English (EN))
Specify the Program name: ZMODULE_POOL01
Screen number:0100
Check all the three radio buttons under GUI support and save it in $tmp temporary local object.
Copy ZMOD1 and open a new session and enter ZMOD1 in command screen.
INPUT FIELD ONE 100
INPUT FIELD TWO 200
RESULT 300
SUBMIT
Inorder to insert any back or any other button go to screen painter and create a push button and specify
the name, text and Focode as EXIT.
Activate the se38 and se51.
Un command MODULE STATUS_0100, Activate and double click on it. it shows a pop-up (PBO Module
USER_COMMAND_0100 does not exist Create object) and click on yes button, it shows another dialog
screen, select the Main Program: ZMODULE_POOL01 and click on enter. Save it.
Un command SET PF-STATUS 'xxxxxxxxx'. edit the name painter as 'ZCO1'. (name should start with z or
y), save and double click on it and click on yes button . Specify Short Text as APPLN BAR, select normal
screen and save it.
Select Function Keys as BACK EXIT and CANC and go back (F3)
Activate the Main Program.(SE51)

IF SY-UCOMM = 'SUBMIT'.
VAR3 = VAR1 + VAR2.
ELSEIF SY-UCOMM = 'EXIT'.
LEAVE TO SCREEN 0.
AND ACTIVATE THE ENTIRE PROGRAM (SE38 and SE51)
SEE THE FINAL OUTPUT.