23-Dialog Module Pool Programming

21
Dialog Module Pool Programming Designing SAP screens using dialog or module pool programming in SAP ABAP programming Introduction to module pool programming Introduction to module pool programming and screen, flow login in module pool programs It is a special type of programming which is used to create custom SAP screens. Transaction code for creating module pool programs is SE80. Every module pool program must be executed with a transaction (T-code). Events in Module pool programming There are four events available in module pool programming. PBO (Process Before Output):Triggered before MPP screen is displayed. PAI (Process After Input): Triggered after MPP screen is displayed whenever user raises an action. Also,Now PBO is also triggered. POV (Process On Value Request): Triggered when User Clicks on search help or F4 Button. POH (Process On Help Request): Triggered when User Clicks on search help or F4 Button.

description

Dialog Module Pool Programming

Transcript of 23-Dialog Module Pool Programming

Page 1: 23-Dialog Module Pool Programming

Dialog Module Pool Programming

Designing SAP screens using dialog or module pool

programming in SAP ABAP programming

Introduction to module pool programming Introduction to module pool programming and screen, flow login in module

pool programs

It is a special type of programming which is used to create custom SAP screens.

Transaction code for creating module pool programs is SE80.

Every module pool program must be executed with a transaction (T-code).

Events in Module pool programming

There are four events available in module pool programming.

PBO (Process Before Output):Triggered before MPP screen is displayed.

PAI (Process After Input): Triggered after MPP screen is displayed whenever user raises an

action. Also,Now PBO is also triggered.

POV (Process On Value Request): Triggered when User Clicks on search help or F4 Button.

POH (Process On Help Request): Triggered when User Clicks on search help or F4 Button.

Page 2: 23-Dialog Module Pool Programming

Modularization techniques in Module Pool

Basically there are four include programs which are created automatically for an MPP program.

<MPP name>_TOP "top include program ,All data declarations.

<MPP name>_O01 "PBO include program , All logic related to PBO event

<MPP name>_I01 "PAI include program , All logic related to PAI event

<MPP name>_F01 "Forms include program , All logic related to subroutines

SCREEN

It is a visible layout which is displayed in the output. The components of the Screen are

Components of Screen:

Attributes : Properties of screen

Element List : List of UI/Library elements

Flow-Logic : Abap logic related to MPP

Layout : Screen Designing Area

Page 3: 23-Dialog Module Pool Programming

Flow Logic in module pool

It will contain the logic related to screen in the form of modules By default, 2 events will be

available with their corresponding modules as below: Just uncomment the modules and create

them and write the abap logic.

PROCESS BEFORE OUTPUT.

*MODULE STATUS_0100.

PROCESS AFTER INPUT.

*MODULE USER_COMMAND_0100.

MODULE:

It is an sub-program which contains the ABAP code for a screen .

Flow-Logic cannot understand ABAP statements. So the entire ABAP code is written in

the form of modules.

Since the entire abap logic is divided in the form of modules, that is why it is called

MODULE POOL PROGRAMMING

Page 4: 23-Dialog Module Pool Programming

First Module Pool Program in SAP In the below example we will create a simple Module Pool Program to display hello world.

Go to SE80, select program from drop down, provide name as ZSAPN_HELLO_WORLD and

press enter.

A pop up will open click Yes.

Provide a program name ZSAPN_HELLO_WORLD (same name as given above), select create

with top include check box and enter.

Page 5: 23-Dialog Module Pool Programming

Provide a top include name, enter.

Click Save on the pop up window.

Save it in a local object.

Page 6: 23-Dialog Module Pool Programming

Go to change mode, double click on program name, uncomment all include programs, double

click on each include and create (TIP- Just double click on each include enter, enter, save in

local object, save, back(F3)) .Now to double click on program name, right click , activate.

Right click on program name, create, screen.

Provide Screen number as (0100), enter.

Page 7: 23-Dialog Module Pool Programming

Provide short description and click on flow logic tab.

Uncomment the available MODULES, double click to create them.

Page 8: 23-Dialog Module Pool Programming

Double click on MODULE STATUS_0100,yes, select main include and enter.

Save, click back (F3) and create another module.

Click on Layout ( toolbar button), it will open Module Pool layout designer (If you are using it first

time it might take some time...If you failed to open layout it might be due to some missing

configuration, at that time contact basis/admin).

The layout will be like below, drag and drop Text Field element on to screen area.

Page 9: 23-Dialog Module Pool Programming

Provide name and text.

Save, close windows, go to flow logic, double click on each module and add below code.

Page 10: 23-Dialog Module Pool Programming

Double click on menu name and title to create GUI status for the program...checkout creating a

custom menu in SAP to create menu.

Double click on program name, right click, activate.

To execute a module pool program we need to create a t-code, to create a t-code right click on

program name, create, transaction.

Provide a T-code name, short text and enter.

Page 11: 23-Dialog Module Pool Programming

Provide program name, screen number, save.

Now T-code is created, execute the T-code and test.

Page 12: 23-Dialog Module Pool Programming
Page 13: 23-Dialog Module Pool Programming

Module Pool Program to Display Material Details Example module pool program to display material details, module pool

program using form and button

Requirement: Display material details for a material input by designing a module pool screen.

Go to SE80, select program from drop down, provide name and press enter.

A popup will come just click yes.

Check 'Create with TOP module' and enter.

Page 14: 23-Dialog Module Pool Programming

Provide a top include name and enter.

Select module pool and save.

Expand program, double click on top include and add below code.

Page 15: 23-Dialog Module Pool Programming

Right click on program name, create -> screen.

Provide a screen number and enter.

Page 16: 23-Dialog Module Pool Programming

Provide short description and click on layout.

Module Pool layout designer will open, click on 'Dictionary/Program fields icon' (see below

image), a popup will open, provide name as WA_MARA, click on 'Get from program', select all

rows and enter.

Move mouse cursor on layout and place the form in suitable position.

Page 17: 23-Dialog Module Pool Programming

Now click on text icon, put it before any input field and enter text.

Similarly create labels for all fields.

Page 18: 23-Dialog Module Pool Programming

Insert button, provide text as 'Get Data', double click, provide a name , fct code, enter and close.

Save and Activate.

Close the layout and go to program and click on flow logic.

uncomment modules.

Page 19: 23-Dialog Module Pool Programming

Double click on each module and create them in main program.

After creating two modules, go to PAI and add below code.

IF SY-UCOMM = 'GETM' .

SELECT SINGLE * FROM MARA INTO CORRESPONDING FIELDS OF WA_MARA

WHERE MATNR = WA_MARA-MATNR.

ENDIF.

Right click on program, create -> transaction.

Page 20: 23-Dialog Module Pool Programming

Provide transaction code as ZSAPN_MAT_MPP, provide short text and enter.

Provide program name as ZSAPN_MPP_MATERIAL, screen no as 100 and save in a local

object.

Page 21: 23-Dialog Module Pool Programming

Now go to t-code ZSAPN_MAT_MPP, provide a material no and click on get data button, it will

get output.