<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Dialog Programming in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357580#M805625</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;STATUS ICON &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Status icon is used in screens to indicate visually about the status of the &lt;/P&gt;&lt;P&gt;program.Before the status icon can be used ,it should be placed on the &lt;/P&gt;&lt;P&gt;screen,it is a type of screen element. &lt;/P&gt;&lt;P&gt;To use the status icon we have to write some abap code and also to &lt;/P&gt;&lt;P&gt;change icons whenever required in the program. First step is to create &lt;/P&gt;&lt;P&gt;a variable of type ICONS-TEXT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g. DATA: status TYPE ICONS-TEXT. &lt;/P&gt;&lt;P&gt;The name of the variable in the abap program should be same as that &lt;/P&gt;&lt;P&gt;of in the screen. &lt;/P&gt;&lt;P&gt;Declaring it merely wont show anything , we have to use the function module ICON_CREATE to fill it with the required icon, generally PBO of the screen is used for this purpose. There are 3 parameters to be passed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'ICON_CREATE' &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;NAME = 'icon name' &lt;/P&gt;&lt;P&gt;TEXT = 'text to be displayed' &lt;/P&gt;&lt;P&gt;INFO = 'tooltip text' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here name can be anything like ICON_RED_LIGHT,ICON_GREEN_LIGHT etc. Infact any icon can be shown that exists but we should adhere to SAP &lt;/P&gt;&lt;P&gt;recommended style guidelines &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONTEXT MENU &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Context menu can be used in relation with the various screen elements &lt;/P&gt;&lt;P&gt;like I/O fields, subscreen,group box,table control but not with push buttons,radio,check buttons. &lt;/P&gt;&lt;P&gt;It can be used to show related options when the user right clicks on the screen elements. It is a type of status. SAP automatically creates a default context menu for dialog statuses consisting of all the function codes available. &lt;/P&gt;&lt;P&gt;We can create a context menu statically using the menu painter(SE41) &lt;/P&gt;&lt;P&gt;or dynamically by using the methods of the global class CL_CTMENU. &lt;/P&gt;&lt;P&gt;All context menus are objects of this global class. &lt;/P&gt;&lt;P&gt;There are number of methods which can be used to create and modify context menu dynamically . These are: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD_GUI_STATUS &lt;/P&gt;&lt;P&gt;This method is used to load a static context menu already defined using &lt;/P&gt;&lt;P&gt;menu painter.The exporting parameters are PROGRAM ,STATUS and MENU. Where MENU indicates the menu to which the context menu will be attached . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ADD_FUNCTION &lt;/P&gt;&lt;P&gt;This method adds a function code to the menu ,The exporting parameters are FCODE and TEXT. These are used to specify the function code and the corresponding text in the men. &lt;/P&gt;&lt;P&gt;ADD_MENU &lt;/P&gt;&lt;P&gt;This method adds a context menu to another one. &lt;/P&gt;&lt;P&gt;ADD_SEPARATOR &lt;/P&gt;&lt;P&gt;This method adds a separator line. &lt;/P&gt;&lt;P&gt;ADD_SUBMENU &lt;/P&gt;&lt;P&gt;This method adds a menu to another one as a sub menu the exporting parameters are MENU and the TEXT that will be displayed. &lt;/P&gt;&lt;P&gt;HIDE_FUNCTIONS &lt;/P&gt;&lt;P&gt;SHOW_FUNCTIONS &lt;/P&gt;&lt;P&gt;DISABLE_FUNCTIONS &lt;/P&gt;&lt;P&gt;ENABLE_FUNCTIONS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These functions are used to modify the context menu by hiding,enabling etc them. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET_DEFAULT_FUNCTION &lt;/P&gt;&lt;P&gt;This method will mark a particular menu item as the default one ,the corresponding function code is passed as an exporting parameter. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The context menu should be linked to the screen element in the screen painte(SE51) by specifying an ID which is known as CONTEXT in the context menu field. &lt;/P&gt;&lt;P&gt;We can specify the same context for different screen elements or different context for different elements. &lt;/P&gt;&lt;P&gt;For each context specified in the screen painter a special call back &lt;/P&gt;&lt;P&gt;subroutine is used in the abap program. the syntax of this special routine &lt;/P&gt;&lt;P&gt;is: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ON_CTLMENU_context USING menu TYPE REF TO CL_CTMENU &lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;ENDFORM &lt;/P&gt;&lt;P&gt;This subroutine can be used to modify or load or create a context menu at runtime when the user right clicks the screen element. &lt;/P&gt;&lt;P&gt;In the above subroutine the context is the context assigned to the screen element and menu is the menu object that was passed to this call back routine which is initially blank, we have to use methods of the class as stated above to create a working menu or load an existing static context menu previously build in the menu painter. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g. To load an existing context menu &lt;/P&gt;&lt;P&gt;FORM on_ctmenu_text USING menu TYPE REF TO cl_ctmenu. &lt;/P&gt;&lt;P&gt;CALL METHOD menu-&amp;gt;load_gui_status &lt;/P&gt;&lt;P&gt;EXPORTING program = prog &lt;/P&gt;&lt;P&gt;status = 'CON_MENU' &lt;/P&gt;&lt;P&gt;menu = menu . &lt;/P&gt;&lt;P&gt;CALL METHOD menu-&amp;gt;set_default_function &lt;/P&gt;&lt;P&gt;EXPORTING fcode = 'list'. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g. CREATING A NEW CONTEXT MENU DYNAMICALLY. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM on_ctmenu_text USING menu TYPE REF TO cl_ctmenu. &lt;/P&gt;&lt;P&gt;DATA new_menu TYPE REF TO cl_ctmenu. &lt;/P&gt;&lt;P&gt;CREATE OBJECT new_menu. &lt;/P&gt;&lt;P&gt;CALL METHOD new_menu-&amp;gt;add_function &lt;/P&gt;&lt;P&gt;EXPORTING fcode = 'list' &lt;/P&gt;&lt;P&gt;text = text-001. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD new_menu-&amp;gt;add_function &lt;/P&gt;&lt;P&gt;EXPORTING fcode = 'add' &lt;/P&gt;&lt;P&gt;text = text-002. CALL METHOD new_menu-&amp;gt;add_function &lt;/P&gt;&lt;P&gt;EXPORTING fcode = 'delete' &lt;/P&gt;&lt;P&gt;text = text-003. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD new_menu-&amp;gt;add_submenu &lt;/P&gt;&lt;P&gt;EXPORTING menu = new_menu &lt;/P&gt;&lt;P&gt;text = text-005. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The ABAP program should check for the OK_CODE field to find out whichmenu item was selected by the user. Selecting a function code will trigger a PAI while right clicking will not trigger the PAI. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCREEN KEYWORDS &lt;/P&gt;&lt;P&gt;Screen language is used to create Screen Flow Logic, It is similar to ABAP but with limited functionality .Only certain keywords can be used &lt;/P&gt;&lt;P&gt;and these are: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS &lt;/P&gt;&lt;P&gt;MODULE &lt;/P&gt;&lt;P&gt;FIELD &lt;/P&gt;&lt;P&gt;ON &lt;/P&gt;&lt;P&gt;LOOP &lt;/P&gt;&lt;P&gt;ENDLOOP &lt;/P&gt;&lt;P&gt;CHAIN &lt;/P&gt;&lt;P&gt;ENDCHAIN &lt;/P&gt;&lt;P&gt;CALL &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCREEN EVENTS &lt;/P&gt;&lt;P&gt;Screen Flow Logic serves as the cotainer for screen processing blocks.There are four events processing block supported out of which &lt;/P&gt;&lt;P&gt;FIRST two are automatically inserted when we create a new screen. The 4 events are: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT &lt;/P&gt;&lt;P&gt;This event is fired just before the screen is displayed . &lt;/P&gt;&lt;P&gt;e.g. MODULE LOAD_STATUS_1000 . &lt;/P&gt;&lt;P&gt;PROCESSS AFTER INPUT &lt;/P&gt;&lt;P&gt;This event is fired when user selects a function code or presses enter key &lt;/P&gt;&lt;P&gt;e.g. MODULE USER_COMMAND_1000 . &lt;/P&gt;&lt;P&gt;PROCESS ON HELP-REQUEST &lt;/P&gt;&lt;P&gt;This event is fired when the user presses F1 key. &lt;/P&gt;&lt;P&gt;PROCESS ON VALUE-REQUEST &lt;/P&gt;&lt;P&gt;This event is fired when the user presses F4 key. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These events are triggered by the runtime environment.The ABAP &lt;/P&gt;&lt;P&gt;program serves as the container for the processing blocks associated with &lt;/P&gt;&lt;P&gt;these events.Each processing block in ABAP starts with the keyword MODULE . &lt;/P&gt;&lt;P&gt;PBO modules have OUTPUT keyword attached to them while for remaining 3 events there associated modules have INPUT keyword attached to them in the ABAP program. &lt;/P&gt;&lt;P&gt;e.g. MODULE LOAD_STATUS_1000 OUTPUT. &lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_1000 INPUT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE name AT EXIT-COMMAND &lt;/P&gt;&lt;P&gt;The specified module is called when the user selects a function code of type E like BACK,EXIT and CANCEL in PAI all other dialog modules are bypassed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GUI STATUS &amp;amp; TITLE &lt;/P&gt;&lt;P&gt;SET PF-STATUS status OF PROGRAM prog EXCLUDING f statement is used &lt;/P&gt;&lt;P&gt;to set the status of a ABAP program.The status provides user interface.It consists &lt;/P&gt;&lt;P&gt;of standard toolbar,application toolbar and menu.When ever the user selects a function the function code is placed in the OK_CODE field and structure SYST-UCOMM. The status is set in PBO event. &lt;/P&gt;&lt;P&gt;The title is set using &lt;/P&gt;&lt;P&gt;SET TITLEBAR title OF PROGRAM program WITH p1 p2 &lt;/P&gt;&lt;P&gt;where the values for p1 p2 can be specified at run time. Menu Painter (SE41) is used to create GUI status and titlebar. &lt;/P&gt;&lt;P&gt;SCREEN FIelds &amp;amp; OK_CODE &lt;/P&gt;&lt;P&gt;Screen fields are fields in the working memory of the screen ,these are attached &lt;/P&gt;&lt;P&gt;to the screen elements.There contents are passed to similarly named fields in abap program during PAI and viceversa in PBO. &lt;/P&gt;&lt;P&gt;OK_CODEeld is a 20 char field which is found in every screen , it stores the function code selected by the user.It's contents are same as that of SY_UCOMM.It is a screen element.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 29 Jan 2008 11:53:33 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-29T11:53:33Z</dc:date>
    <item>
      <title>Dialog Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357579#M805624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can anyone send me some good tutorials on Dialog Programming, explaining the basic words and documents?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Jan 2008 11:51:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357579#M805624</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-29T11:51:21Z</dc:date>
    </item>
    <item>
      <title>Re: Dialog Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357580#M805625</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;STATUS ICON &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Status icon is used in screens to indicate visually about the status of the &lt;/P&gt;&lt;P&gt;program.Before the status icon can be used ,it should be placed on the &lt;/P&gt;&lt;P&gt;screen,it is a type of screen element. &lt;/P&gt;&lt;P&gt;To use the status icon we have to write some abap code and also to &lt;/P&gt;&lt;P&gt;change icons whenever required in the program. First step is to create &lt;/P&gt;&lt;P&gt;a variable of type ICONS-TEXT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g. DATA: status TYPE ICONS-TEXT. &lt;/P&gt;&lt;P&gt;The name of the variable in the abap program should be same as that &lt;/P&gt;&lt;P&gt;of in the screen. &lt;/P&gt;&lt;P&gt;Declaring it merely wont show anything , we have to use the function module ICON_CREATE to fill it with the required icon, generally PBO of the screen is used for this purpose. There are 3 parameters to be passed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'ICON_CREATE' &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;NAME = 'icon name' &lt;/P&gt;&lt;P&gt;TEXT = 'text to be displayed' &lt;/P&gt;&lt;P&gt;INFO = 'tooltip text' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here name can be anything like ICON_RED_LIGHT,ICON_GREEN_LIGHT etc. Infact any icon can be shown that exists but we should adhere to SAP &lt;/P&gt;&lt;P&gt;recommended style guidelines &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONTEXT MENU &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Context menu can be used in relation with the various screen elements &lt;/P&gt;&lt;P&gt;like I/O fields, subscreen,group box,table control but not with push buttons,radio,check buttons. &lt;/P&gt;&lt;P&gt;It can be used to show related options when the user right clicks on the screen elements. It is a type of status. SAP automatically creates a default context menu for dialog statuses consisting of all the function codes available. &lt;/P&gt;&lt;P&gt;We can create a context menu statically using the menu painter(SE41) &lt;/P&gt;&lt;P&gt;or dynamically by using the methods of the global class CL_CTMENU. &lt;/P&gt;&lt;P&gt;All context menus are objects of this global class. &lt;/P&gt;&lt;P&gt;There are number of methods which can be used to create and modify context menu dynamically . These are: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD_GUI_STATUS &lt;/P&gt;&lt;P&gt;This method is used to load a static context menu already defined using &lt;/P&gt;&lt;P&gt;menu painter.The exporting parameters are PROGRAM ,STATUS and MENU. Where MENU indicates the menu to which the context menu will be attached . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ADD_FUNCTION &lt;/P&gt;&lt;P&gt;This method adds a function code to the menu ,The exporting parameters are FCODE and TEXT. These are used to specify the function code and the corresponding text in the men. &lt;/P&gt;&lt;P&gt;ADD_MENU &lt;/P&gt;&lt;P&gt;This method adds a context menu to another one. &lt;/P&gt;&lt;P&gt;ADD_SEPARATOR &lt;/P&gt;&lt;P&gt;This method adds a separator line. &lt;/P&gt;&lt;P&gt;ADD_SUBMENU &lt;/P&gt;&lt;P&gt;This method adds a menu to another one as a sub menu the exporting parameters are MENU and the TEXT that will be displayed. &lt;/P&gt;&lt;P&gt;HIDE_FUNCTIONS &lt;/P&gt;&lt;P&gt;SHOW_FUNCTIONS &lt;/P&gt;&lt;P&gt;DISABLE_FUNCTIONS &lt;/P&gt;&lt;P&gt;ENABLE_FUNCTIONS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These functions are used to modify the context menu by hiding,enabling etc them. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET_DEFAULT_FUNCTION &lt;/P&gt;&lt;P&gt;This method will mark a particular menu item as the default one ,the corresponding function code is passed as an exporting parameter. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The context menu should be linked to the screen element in the screen painte(SE51) by specifying an ID which is known as CONTEXT in the context menu field. &lt;/P&gt;&lt;P&gt;We can specify the same context for different screen elements or different context for different elements. &lt;/P&gt;&lt;P&gt;For each context specified in the screen painter a special call back &lt;/P&gt;&lt;P&gt;subroutine is used in the abap program. the syntax of this special routine &lt;/P&gt;&lt;P&gt;is: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ON_CTLMENU_context USING menu TYPE REF TO CL_CTMENU &lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;ENDFORM &lt;/P&gt;&lt;P&gt;This subroutine can be used to modify or load or create a context menu at runtime when the user right clicks the screen element. &lt;/P&gt;&lt;P&gt;In the above subroutine the context is the context assigned to the screen element and menu is the menu object that was passed to this call back routine which is initially blank, we have to use methods of the class as stated above to create a working menu or load an existing static context menu previously build in the menu painter. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g. To load an existing context menu &lt;/P&gt;&lt;P&gt;FORM on_ctmenu_text USING menu TYPE REF TO cl_ctmenu. &lt;/P&gt;&lt;P&gt;CALL METHOD menu-&amp;gt;load_gui_status &lt;/P&gt;&lt;P&gt;EXPORTING program = prog &lt;/P&gt;&lt;P&gt;status = 'CON_MENU' &lt;/P&gt;&lt;P&gt;menu = menu . &lt;/P&gt;&lt;P&gt;CALL METHOD menu-&amp;gt;set_default_function &lt;/P&gt;&lt;P&gt;EXPORTING fcode = 'list'. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g. CREATING A NEW CONTEXT MENU DYNAMICALLY. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM on_ctmenu_text USING menu TYPE REF TO cl_ctmenu. &lt;/P&gt;&lt;P&gt;DATA new_menu TYPE REF TO cl_ctmenu. &lt;/P&gt;&lt;P&gt;CREATE OBJECT new_menu. &lt;/P&gt;&lt;P&gt;CALL METHOD new_menu-&amp;gt;add_function &lt;/P&gt;&lt;P&gt;EXPORTING fcode = 'list' &lt;/P&gt;&lt;P&gt;text = text-001. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD new_menu-&amp;gt;add_function &lt;/P&gt;&lt;P&gt;EXPORTING fcode = 'add' &lt;/P&gt;&lt;P&gt;text = text-002. CALL METHOD new_menu-&amp;gt;add_function &lt;/P&gt;&lt;P&gt;EXPORTING fcode = 'delete' &lt;/P&gt;&lt;P&gt;text = text-003. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD new_menu-&amp;gt;add_submenu &lt;/P&gt;&lt;P&gt;EXPORTING menu = new_menu &lt;/P&gt;&lt;P&gt;text = text-005. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The ABAP program should check for the OK_CODE field to find out whichmenu item was selected by the user. Selecting a function code will trigger a PAI while right clicking will not trigger the PAI. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCREEN KEYWORDS &lt;/P&gt;&lt;P&gt;Screen language is used to create Screen Flow Logic, It is similar to ABAP but with limited functionality .Only certain keywords can be used &lt;/P&gt;&lt;P&gt;and these are: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS &lt;/P&gt;&lt;P&gt;MODULE &lt;/P&gt;&lt;P&gt;FIELD &lt;/P&gt;&lt;P&gt;ON &lt;/P&gt;&lt;P&gt;LOOP &lt;/P&gt;&lt;P&gt;ENDLOOP &lt;/P&gt;&lt;P&gt;CHAIN &lt;/P&gt;&lt;P&gt;ENDCHAIN &lt;/P&gt;&lt;P&gt;CALL &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCREEN EVENTS &lt;/P&gt;&lt;P&gt;Screen Flow Logic serves as the cotainer for screen processing blocks.There are four events processing block supported out of which &lt;/P&gt;&lt;P&gt;FIRST two are automatically inserted when we create a new screen. The 4 events are: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT &lt;/P&gt;&lt;P&gt;This event is fired just before the screen is displayed . &lt;/P&gt;&lt;P&gt;e.g. MODULE LOAD_STATUS_1000 . &lt;/P&gt;&lt;P&gt;PROCESSS AFTER INPUT &lt;/P&gt;&lt;P&gt;This event is fired when user selects a function code or presses enter key &lt;/P&gt;&lt;P&gt;e.g. MODULE USER_COMMAND_1000 . &lt;/P&gt;&lt;P&gt;PROCESS ON HELP-REQUEST &lt;/P&gt;&lt;P&gt;This event is fired when the user presses F1 key. &lt;/P&gt;&lt;P&gt;PROCESS ON VALUE-REQUEST &lt;/P&gt;&lt;P&gt;This event is fired when the user presses F4 key. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These events are triggered by the runtime environment.The ABAP &lt;/P&gt;&lt;P&gt;program serves as the container for the processing blocks associated with &lt;/P&gt;&lt;P&gt;these events.Each processing block in ABAP starts with the keyword MODULE . &lt;/P&gt;&lt;P&gt;PBO modules have OUTPUT keyword attached to them while for remaining 3 events there associated modules have INPUT keyword attached to them in the ABAP program. &lt;/P&gt;&lt;P&gt;e.g. MODULE LOAD_STATUS_1000 OUTPUT. &lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_1000 INPUT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE name AT EXIT-COMMAND &lt;/P&gt;&lt;P&gt;The specified module is called when the user selects a function code of type E like BACK,EXIT and CANCEL in PAI all other dialog modules are bypassed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GUI STATUS &amp;amp; TITLE &lt;/P&gt;&lt;P&gt;SET PF-STATUS status OF PROGRAM prog EXCLUDING f statement is used &lt;/P&gt;&lt;P&gt;to set the status of a ABAP program.The status provides user interface.It consists &lt;/P&gt;&lt;P&gt;of standard toolbar,application toolbar and menu.When ever the user selects a function the function code is placed in the OK_CODE field and structure SYST-UCOMM. The status is set in PBO event. &lt;/P&gt;&lt;P&gt;The title is set using &lt;/P&gt;&lt;P&gt;SET TITLEBAR title OF PROGRAM program WITH p1 p2 &lt;/P&gt;&lt;P&gt;where the values for p1 p2 can be specified at run time. Menu Painter (SE41) is used to create GUI status and titlebar. &lt;/P&gt;&lt;P&gt;SCREEN FIelds &amp;amp; OK_CODE &lt;/P&gt;&lt;P&gt;Screen fields are fields in the working memory of the screen ,these are attached &lt;/P&gt;&lt;P&gt;to the screen elements.There contents are passed to similarly named fields in abap program during PAI and viceversa in PBO. &lt;/P&gt;&lt;P&gt;OK_CODEeld is a 20 char field which is found in every screen , it stores the function code selected by the user.It's contents are same as that of SY_UCOMM.It is a screen element.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Jan 2008 11:53:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357580#M805625</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-29T11:53:33Z</dc:date>
    </item>
    <item>
      <title>Re: Dialog Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357581#M805626</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;Structure of a Dialog Program&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A dialog program consists of the following basic components: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Screens (dynpros)&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Each dialog in an SAP system is controlled by dynpros. A dynpro (DYnamic PROgram) consists of a screen and its flow logic and controls exactly one dialog step. The flow logic determines which processing takes place before displaying the screen (PBO-Process Before Output) and after receiving the entries the user made on the screen (PAI-Process After Input). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The screen layout fixed in the Screen Painter determines the positions of input/output fields, text fields, and graphical elements such as radio buttons and checkboxes. In addition, the Menu Painter allows to store menus, icons, pushbuttons, and function keys in one or more GUI statuses. Dynpros and GUI statuses refer to the ABAP/4 program that control the sequence of the dynpros and GUI statuses at runtime. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ABAP/4 module pool&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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. The flow logic of a dynpro contains calls of modules from the corresponding module pool. Interactive modules called at the PBO event are used to prepare the screen template in accordance to the context, for example by setting field contents or by suppressing fields from the display that are not needed. Interactive modules called at the PAI event are used to check the user input and to trigger appropriate dialog steps, such as the update task.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All dynpros to be called from within one transaction refer to a common module pool. The dynpros of a module pool are numbered. By default, the system stores for each dynpro the dynpro to be displayed next. This dynpro sequence or chain can be linear as well as cyclic. From within a dynpro chain, you can even call another dynpro chain and, after processing it, return to the original chain.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this link for basics.&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap.mis.cmich.edu/sap-abap/abap09/index.htm" target="test_blank"&gt;http://sap.mis.cmich.edu/sap-abap/abap09/index.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this link for Dialog Programming/Table Control&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.planetsap.com/Tips_and_Tricks.htm#dialog" target="test_blank"&gt;http://www.planetsap.com/Tips_and_Tricks.htm#dialog&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this SAP Help for Dialog Program doc.&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this SAP Help link for Subscreens.&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbabfe35c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbabfe35c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this link for subscreen demo program.&lt;/P&gt;&lt;P&gt;&lt;A href="http://abapcode.blogspot.com/2007/05/demo-program-to-create-subscreen-in.html" target="test_blank"&gt;http://abapcode.blogspot.com/2007/05/demo-program-to-create-subscreen-in.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also check this link too.&lt;/P&gt;&lt;P&gt;&lt;A href="http://abapcode.blogspot.com/2007/06/dialog-programming-faq.html" target="test_blank"&gt;http://abapcode.blogspot.com/2007/06/dialog-programming-faq.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap.mis.cmich.edu/sap-abap/abap09/sld004.htm" target="test_blank"&gt;http://sap.mis.cmich.edu/sap-abap/abap09/sld004.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9ccf35c111d1829f0000e829fbfe/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9ccf35c111d1829f0000e829fbfe/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if it is useful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Jan 2008 11:53:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357581#M805626</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-29T11:53:44Z</dc:date>
    </item>
    <item>
      <title>Re: Dialog Programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357582#M805627</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jaspreet,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this website: [http://abapprogramming.blogspot.com/|http://abapprogramming.blogspot.com/]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sukhbold&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Jan 2008 11:56:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dialog-programming/m-p/3357582#M805627</guid>
      <dc:creator>sukhbold_altanbat</dc:creator>
      <dc:date>2008-01-29T11:56:04Z</dc:date>
    </item>
  </channel>
</rss>

