Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

dialog programming?

Former Member
0 Likes
1,288

why dialog programming is used?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,219

Hi,

MODULE POOL PROGRAMMING/DIALOG PROGRAMMING:

-


  • These are type M programs in SAP.

  • Screen painter is a tool used to create GUI in ABAP.

  • MPP provides screen painter to create a screen for the program.

  • These programs cannot be executed directly.

  • Customer-specified Transaction code (starting with Z or Y) should be created for each MPP program to execute.

  • We can create any number of screens for a program and we can call these screens very easily.

  • MPP programs should start with the naming convention SAPMZ or SAPMY.

  • SE80 is the Tcode to create MPP programs.

REgards,

Arunsri

10 REPLIES 10
Read only

Former Member
0 Likes
1,220

Hi,

MODULE POOL PROGRAMMING/DIALOG PROGRAMMING:

-


  • These are type M programs in SAP.

  • Screen painter is a tool used to create GUI in ABAP.

  • MPP provides screen painter to create a screen for the program.

  • These programs cannot be executed directly.

  • Customer-specified Transaction code (starting with Z or Y) should be created for each MPP program to execute.

  • We can create any number of screens for a program and we can call these screens very easily.

  • MPP programs should start with the naming convention SAPMZ or SAPMY.

  • SE80 is the Tcode to create MPP programs.

REgards,

Arunsri

Read only

Former Member
0 Likes
1,219

Dialog programming is used to have a continuous interractiob between the system and the user.

As for example, when you want to withdraw money from ATM. First you scratch the ATM card ( 1st interraction between system & User). System read the card no and display the second screen asking Password. You enter your password ( 2nd interraction). Next, if the password is correct then the system ask from where you want to withdraw the money, saving or current account. ( 3rd interraction ). You you give the system your input. The system ask for amount (4th interraction). and so on.

Where as, generally, report interraction just take the user input from selection screen ( 1st screen) and display the output to the user.

Read only

Former Member
0 Likes
1,219

Hi, Try those link Out

[http://www.sapdevelopment.co.uk/dialog/dialoghome.htm]

[http://help.sap.com/saphelp_webas630/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm]

[http://www.sap-img.com/]

[http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm]

[http://www.sapgenie.com/links/abap.htm]

[http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm]

[http://www.sapdevelopment.co.uk/dialog/dialoghome.htm]

[http://help.sap.com]

[http://www.sapgenie.com/abap/example_code.htm]

[http://help.sap.com/saphelp_47x200/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm]

[http://www.allsaplinks.com/dialog_programming.html]

[http://www.sapbrain.com/TUTORIALS/default.html]

[http://www.sappoint.com/abap/spmp.pdf]

Edited by: Sandipan Ghosh on Mar 4, 2008 5:56 AM

Read only

Former Member
0 Likes
1,219

Hi Shaikh,

Assume this scenario,There is a need to develop ur own screens.And those screens you want to place ur own fields or table control and else at that time u go for MODULE POOL PROGRAMING..Generally the screens u seen (se38,se11) all these things all developed using the MODULE POOL PROGRAMING..

Reward points if helpful

Kiran Kumar.G.A

Read only

0 Likes
1,219

can any one explain me using a simple scenario why dialog programming is used?

Read only

0 Likes
1,219

hi waseem shaikh ,

Chk out below intro will get a clear idea abt DIALOG prog. it has simple program with step by step procedure.

MODULE POOL PROGRAMMING:

-


  • These are type M programs in SAP.

  • MPP programs should start with the naming convention SAPMZ or SAPMY.

  • MPP programs are used to create and assign a user-defined screen to the Transaction Code.

  • Each screen created in MPP is assigned a screen number. This screen number is assigned to a Tcode.

  • MPP programs cannot be executed directly. Tcodes are used to execute these programs.

EVENTS IN MPP:

-


PROCESS BEFORE OUTPUT (PBO)

PROCESS AFTER INPUT (PAI)

PROCESS ON VALUE REQUEST - To provide F4 functionality to MPP program screen i/p fields.

PROCESS ON HELP REQUEST - To provide F1 functionality to MPP program screen components.

Navigations to create a simple MPP program:

-


SE80 -> Select Program from drop-down list -> Specify program name starting with SAPMZ or SAPMY -> Press Enter -> Click on Yes to create object -> Create Top Include File by clicking on Continue icon in pop-up screens -> Save under a package -> Assign a request number -> MPP program with specified name is created with Top include File.

To create screen, Right click on program name -> Select Create -> Screen -> Opens Screen Description page -> Enter short description for screen -> Select screen type as NORMAL -> Click on LAYOUT pushbutton from application toolbar -> Opens Screen Painter -> Drag and drop two input fields from toolbar -> Likewise, create two pushbuttons -> Double click on each component -> Opens Attributes box -> Specify attributes for each screen component -> For pushbutton, specify FCT code -> Save the screen -> Click on Flowlogic pushbutton from application toolbar -> Opens Flow logic editor to create event functionalities for screen components -> Decomment PAI module -> Double click on PAI module name -> Click on Yes to create PAI module object -> Opens PAI module -> Specify the following code within module-endmodule statements:

CASE SY-UCOMM.

WHEN 'DISPLAY'.

LEAVE TO LIST-PROCESSING.

WRITE 😕 IO1, IO2.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

-> Save.

Now double click on 'Includes' Folder (TOP INCLUDE FILE) -> Declare variables for input fields as follows:

DATA : IO1(10), IO2(10).

Save -> Activate.

Now To create Transaction Code, right click on Main Program Name -> Create -> Transaction -> Opens an interface -> Enter Tcode name starting with Z or Y -> Enter short description -> Continue -> Opens interface -> Enter Main program name and Screen number to be called first -> Save under a package -> Assign a request number.

Activate all the objects of MPP program by right clicking on Main program Name -> Click on Activate -> Raises 'Objects Activated' message.

To execute the MPP program, specify Tcode name in the Command Prompt area -> Press Enter.

MPP SCREEN VALIDATIONS:

-


Eg. code to make field validations in MPP program:

-


Using screen painter, design a screen consisting of four input fields for client, username, password and language as we have in login screen of SAP.

Assign the first two input fields to one group called GR1, the third input field to a group GR2.

Create two pushbuttons and assign FCT codes.

In the TOP INCLUDE FILE, declare following variables:

PROGRAM SAPMYSCREENVALID.

DATA : IO1(3), IO2(8), IO3(8), IO4(2).

DATA A TYPE I.

Save -> Activate.

In Flow logic editor, decomment PAI MODULE, double click on module name, and inside the module, write the following code:

module USER_COMMAND_0200 input.

case sy-ucomm.

WHEN 'LOGIN'.

CALL TRANSACTION 'SE38'.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

endmodule. " USER_COMMAND_0200 INPUT

Save -> Activate.

In PBO module, write the following code to assign default input field attributes:

module STATUS_0200 output.

  • SET PF-STATUS 'xxxxxxxx'.

  • SET TITLEBAR 'xxx'.

IF A = 0.

MESSAGE S010(ZMSG).

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'GR1'.

SCREEN-REQUIRED = '1'.

ENDIF.

IF SCREEN-GROUP1 = 'GR2'.

SCREEN-INVISIBLE = '1'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

A = 1.

ENDIF.

endmodule. " STATUS_0200 OUTPUT

Save -> Activate.

Create a Transaction Code -> Execute the program.

ADDING USER-DEFIND MENUS TO THE INTERACTIVE REPORTS:

-


Menu Painter is a tool used to create user-defined menus, application toolbar and function keys.

SET PF-STATUS '<menu_name>' is the syntax used in reports to access Menu Painter directly to create user-defined menus.

A menu bar consists of set of menus.

Menu contains set of menu items.

Each menu item may have its own sub menu items.

Another way of accessing Menu Painter is using SE41 Tcode.

Eg. code:

-


WRITE 😕 'SELECT ONE FROM THE MENU'.

SET PF-STATUS 'MYMENU'.

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'SHABANA1'.

MESSAGE S000(ZSHABMSG).

WHEN 'SHABANA2'.

MESSAGE S001(ZSHABMSG).

WHEN 'SHABANA3'.

LEAVE PROGRAM.

WHEN 'SUBMENU11'.

CALL TRANSACTION 'SE38'.

WHEN 'SUBMENU12'.

CALL TRANSACTION 'SE37'.

ENDCASE.

-> Save -> Activate -> Execute.

Dialog prog is used to create screens with which the user acn interact.

We can create any number of screens for a program and we can call these screens very easily.

hope this helps u,

Arunsri

Edited by: Arunsri on Mar 4, 2008 6:29 AM

Read only

0 Likes
1,219

hai Shaikh

An SAP dialog program is an ABAP development which consists of many screens which when linked together make up an application which allows the user to perform a specific piece of functionality such as creating a purchase order (ME21). These screens are referred too as dynpros (DYnamic PROgrams) and are made up of the actual user screen and its associated flow logic which are all stored within an SAP module pool. It is the flow logic via the use of the PBO and PAI that controls the process and functionality of the screen and depending on the user actions the appropriate event or relevant next dynpro is called.

The PBO module controls all events and functionality that needs to be performed before a screen is displayed to the user. i.e. populating default fields, hiding fields based on certain criteria.

The PAI module controls all the events and functionality which needs to be performed after the user performs an action. This includes things like field validation, checking the ok code to see what action the selected and performing the associated functionality etc etc...

Read only

Former Member
0 Likes
1,219

Dear Wasim,

Dilalog program deals eith screens.

In general reprting u may have reports and interactive reports. but u can enter data only in the starting report. but not in all in interactive reports.

In case of dialog programming . Where ever u want to enter input, u can. And this is more flexible programming practice when comapared with Normal reports.

Regards,

Ajay

Read only

Former Member
0 Likes
1,219

Hi

In R/3 system dialog programming is an operation that lets the user to make nessary changes to the database.The entire R/3 system is nothing but set of business transactions.The data transfer from old system to SAP R/3 database or modifing data or deleting data.Which is not required is done through this dialog programming is nothing but transaction.

Read only

Former Member
0 Likes
1,219

Why Dialog Programming

Most of Business applications now a days require manual input of data that must be available at a later time.

Interface between system and user should be as comfortable and friendly as possible.

Logical coherence of the data and correct processing should also be guaranteed.

A dialog program allows you to work interactively with the system and to change the contents of the database tables. Each dialog program has a certain sequence of screens that are processed by the system one after the other.

From the view of a user, a dialog step consists of receiving a screen for entering data, then after the users clicks a button or selects a menu entry, processing is started. From the view of the SAP system, the screen is prepared and sent. After this, the user receives it and fills it out. Then the system analyzes and processes the data contained on the screen after receiving it from the user.

A dialog program must offer:

a user-friendly user interface

format and consistency checks for the data entered by the user

easy correction of input errors

access to data by storing it in the database.

Reward if useful

Thanks and regards

Palak Behal