<?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 screen programing in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429104#M823698</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what is a basic steps of screen programing?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Feb 2008 06:44:03 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-26T06:44:03Z</dc:date>
    <item>
      <title>screen programing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429104#M823698</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what is a basic steps of screen programing?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2008 06:44:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429104#M823698</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-26T06:44:03Z</dc:date>
    </item>
    <item>
      <title>Re: screen programing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429105#M823699</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for Screen programming u must need a screen and objects to process.. for creating a screen&lt;/P&gt;&lt;P&gt;             1.GOTO SE80 (object browser) in that take ur program&lt;/P&gt;&lt;P&gt;             2.Right Click and create a screen&lt;/P&gt;&lt;P&gt;  now screen us created.. u need to place the objects.. Goto objects box and take the things.. change the properties by double clicking it.. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    Two types of Programming Techs r dr in Screen&lt;/P&gt;&lt;P&gt; PBO (before Screen is Displayed)&lt;/P&gt;&lt;P&gt;PAI ( after Giving inputs &amp;amp; press ENTER)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U use whatever needed by including new includes in their modules..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this is major overview of Screen Prog.. Any doubts in Flow post a reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewarrd if useful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Karthik.T&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2008 06:50:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429105#M823699</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-26T06:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: screen programing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429106#M823700</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE POOL PROGRAMMING (MPP):&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;These are type M programs in SAP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;These programs cannot be executed directly.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transaction Codes (Tcodes) are used to execute MPP programs.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Graphical Screen PAinter is the tool used to create GUI in MPP (SE51).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MPP programs are created using the transaction code SE80.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MPP programs should start with the naming convention SAPMZ or SAPMY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EVENTS ASSOCIATED WITH SELECTION-SCREEN:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN&lt;/P&gt;&lt;P&gt;START-OF-SELECTION&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE&lt;/P&gt;&lt;P&gt;END-OF-PAGE&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EVENTS ASSOCIATED WITH MPP:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;P&gt;1. PROCESS BEFORE OUTPUT (PBO) - Used to specify initial attributes for the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. PROCESS AFTER INPUT (PAI) - Used to specify &lt;/P&gt;&lt;P&gt;event functionalities for the components of the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COMPONENTS OF MPP PROGRAM:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. ATTRIBUTES - It holds description about the screen.&lt;/P&gt;&lt;P&gt;2. FLOW LOGIC - This is an editor for MPP programs to specify event functionality for the screen components.&lt;/P&gt;&lt;P&gt;3. ELEMENT LIST - This provides description about the components created in the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES OF SCREEN IN MPP:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. NORMAL SCREEN - A screen which has maximizing, minimizing and closing options &lt;/P&gt;&lt;P&gt;is referred to as normal screen.&lt;/P&gt;&lt;P&gt;2. SUBSCREEN - A screen within a normal screen with either of above three options &lt;/P&gt;&lt;P&gt;is referred to as subscreen.&lt;/P&gt;&lt;P&gt;3. MODAL DIALOG BOX - A screen with only closing option which is used to provide &lt;/P&gt;&lt;P&gt;information to the end user is referred to as modal dialog box.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NAVIGATIONS TO CREATE A SIMPLE MPP PROGRAM:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SE80 -&amp;gt; Select Program from the dropdown list -&amp;gt; SPecify program name starting with SAPMZ or SAPMY (eg. SAPMYFIRSTMPP) -&amp;gt; Press Enter -&amp;gt; Click on Yes to Create object -&amp;gt; Opens another dialog box -&amp;gt; Click on Continue to create Top Include File for the program -&amp;gt; Opens another dialog box specifying TOP INCLUDE FILE name (MYFIRSTMPPTOP) -&amp;gt; Click on Continue -&amp;gt; Opens Program Attributes screen -&amp;gt; Enter short description -&amp;gt; The default program type is M -&amp;gt; Save under a package -&amp;gt; Assign Request number -&amp;gt; A folder with specified program name(SAPMYFIRSTMPP) is created with Top Include File.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To create a screen, right click on program name -&amp;gt; Create -&amp;gt; SCreen -&amp;gt; Opens dialog box &lt;/P&gt;&lt;P&gt;-&amp;gt; Specify Screen number (100) -&amp;gt; Continue -&amp;gt; Opens an interface -&amp;gt; Enter short description &lt;/P&gt;&lt;P&gt;-&amp;gt; Select Screen type as Normal -&amp;gt; Click on LAYOUT pushbutton from appn. toolbar &lt;/P&gt;&lt;P&gt;-&amp;gt; Opens Graphical Screen painter -&amp;gt; Drag and drop two input fields, two pushbuttons and &lt;/P&gt;&lt;P&gt;two text fields -&amp;gt; Double click on each component to specify attributes as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INPUT FIELDS: IO1, IO2&lt;/P&gt;&lt;P&gt;FIRST PUSHBUTTON : PB1, PRINT, PRINT&lt;/P&gt;&lt;P&gt;SECOND PUSHBUTTON : PB2, EXIT, EXIT&lt;/P&gt;&lt;P&gt;TEXT FIELDS : LB1 (ENTER NAME), LB2 (ENTER CITY)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&amp;gt; Save -&amp;gt; Click on Flowlogic Pushbutton from appn. toolbar -&amp;gt; Opens Flow Logic editor &lt;/P&gt;&lt;P&gt;with two events (PA1 and PBO).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To specify event functionalities for screen components, &lt;/P&gt;&lt;P&gt;decomment PAI Module name (USER_COMMAND_0100) &lt;/P&gt;&lt;P&gt;-&amp;gt; Double click on module name -&amp;gt; Click on Yes to create object -&amp;gt; Opens an interface &lt;/P&gt;&lt;P&gt;-&amp;gt; Select Program name from the list -&amp;gt; Continue -&amp;gt; Click on Yes to save the editor &lt;/P&gt;&lt;P&gt;-&amp;gt; Opens PAI module and specify following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'PRINT'.&lt;/P&gt;&lt;P&gt;LEAVE TO LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; IO1, IO2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In TOP INCLUDE FILE, declare input fields as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IO1(20), IO2(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Save -&amp;gt; Activate -&amp;gt; Right click on Program name -&amp;gt; Activate (to activate all inactive objects).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To execute MPP program, right click on program name -&amp;gt; Create -&amp;gt; Transaction &lt;/P&gt;&lt;P&gt;-&amp;gt; Opens an interface -&amp;gt; Specify Tcode starting with Z or Y (zfirstmpp) -&amp;gt; Enter short description -&amp;gt; Continue -&amp;gt; Specify Main program name (SAPMYFIRSTMPP) and initial Screen number (100) -&amp;gt; Save under a package -&amp;gt; Assign a request number -&amp;gt; Execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP INCLUDE FILE is an area to declare variables for the program, and the variables declared here becomes globally accessed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCREEN VALIDATION USING MPP:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;SCREEN is a predefined structure used to make MPP screen validations dynamically. SCREEN has following components:&lt;/P&gt;&lt;P&gt;GROUP1&lt;/P&gt;&lt;P&gt;INVISIBLE&lt;/P&gt;&lt;P&gt;REQUIRED&lt;/P&gt;&lt;P&gt;INPUT&lt;/P&gt;&lt;P&gt;OUTPUT&lt;/P&gt;&lt;P&gt;INTENSIFIED&lt;/P&gt;&lt;P&gt;IF SCREEN-INVISIBLE = 0 - Sets the input field values as visible.&lt;/P&gt;&lt;P&gt;   SCREEN-INVISIBLE = 1 - Sets the input field as password field.&lt;/P&gt;&lt;P&gt;   SCREEN-REQUIRED = 0 - Not a mandatory field.&lt;/P&gt;&lt;P&gt;   SCREEN-REQUIRED = 1 - Sets input field as mandatory one.&lt;/P&gt;&lt;P&gt;Eg. code to perform validation dynamically for a login screen:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;1. Create an MPP program.&lt;/P&gt;&lt;P&gt;2. Create a Normal Screen like initial login screen.&lt;/P&gt;&lt;P&gt;3. Assign IO1, IO2 to group GR1, IO3 to GR2.&lt;/P&gt;&lt;P&gt;4. In Top Include file, declare variables.&lt;/P&gt;&lt;P&gt;5. In PBO, specify following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'GR1'.&lt;/P&gt;&lt;P&gt;SCREEN-REQUIRED = '1'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'GR2'.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '1'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.  * to update the changes made to the predefined 		  structure.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. In PAI, specify following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;WHEN 'LOGIN'.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'SE38'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7. Create a Tcode -&amp;gt; Activate all -&amp;gt; Execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INSERTING RECORDS FROM MPP SCREEN INTO DATABASE TABLE:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Create an MPP program.&lt;/P&gt;&lt;P&gt;2. In Top Include File, declare an internal table as follows:&lt;/P&gt;&lt;P&gt;	&lt;/P&gt;&lt;P&gt;	DATA IT_KNA1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; -&amp;gt; Save -&amp;gt; Activate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Create a screen -&amp;gt; In Screen Painter, click DICTIONARY/PROGRAM FIELDS (F6) &lt;/P&gt;&lt;P&gt;pushbutton from appn. toolbar -&amp;gt; Opens an interface &lt;/P&gt;&lt;P&gt;-&amp;gt; Specify internal table name -&amp;gt; Click on GET FROM PROGRAM pushbutton &lt;/P&gt;&lt;P&gt;-&amp;gt; Select required fields -&amp;gt; Continue -&amp;gt; Paste on Screen Painter &lt;/P&gt;&lt;P&gt;-&amp;gt; Create two pushbuttons (INSERT, EXIT) -&amp;gt; Save -&amp;gt; Flow logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. In PAI, specify following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'INSERT'.&lt;/P&gt;&lt;P&gt;INSERT INTO KNA1 VALUES IT_KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MESSAGE S000(ZMSG).&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE W001(ZMSG).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;*LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;SET SCREEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Create a Tcode -&amp;gt; Activate all -&amp;gt; Execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LIST OF VALUES:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;Adding dropdown facility to the input fields is called as LIST OF VALUES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VRM is a predefined type group which has the following structure and internal table:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VRM_VALUE is a structure with the components KEY and TEXT.&lt;/P&gt;&lt;P&gt;VRM_VALUES is an internal table declared for the above structure without header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The above type group is used to fetch values from the internal table declared with user-defined records and insert into the input field in the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'VRM_SET_VALUES' is a function module used to carry the records from the internal table and populate in the input field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NAVIGATIONS TO CREATE DROPDOWN FACILITY FOR INPUT BOX:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------" /&gt;&lt;P&gt;1. Create MPP program.&lt;/P&gt;&lt;P&gt;2. Create a screen.&lt;/P&gt;&lt;P&gt;3. Add a input box -&amp;gt; Double click -&amp;gt; Specify name (IO1) -&amp;gt; Select LISTBOX from the dropdown list -&amp;gt; A dropdown facility is added for the input field in the screen.&lt;/P&gt;&lt;P&gt;4. Create two pushbuttons (PRINT, EXIT).&lt;/P&gt;&lt;P&gt;5. In Top Include File, specify following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS VRM.&lt;/P&gt;&lt;P&gt;DATA IO1(20).&lt;/P&gt;&lt;P&gt;DATA A TYPE I.&lt;/P&gt;&lt;P&gt;DATA ITAB TYPE VRM_VALUES. * To create an internal table of an existing 			     type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA WA LIKE LINE OF ITAB. * To create a temporary structure of same 	                	     line type of internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. In PBO, specify following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF A = 0.&lt;/P&gt;&lt;P&gt;WA-KEY = 'ABAP'.&lt;/P&gt;&lt;P&gt;WA-TEXT = 'ADVANCED PROGRAMMING'.&lt;/P&gt;&lt;P&gt;APPEND WA TO ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA-KEY = 'BW'.&lt;/P&gt;&lt;P&gt;WA-TEXT = 'BUSINESS WAREHOUSING'.&lt;/P&gt;&lt;P&gt;APPEND WA TO ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA-KEY = 'EP'.&lt;/P&gt;&lt;P&gt;WA-TEXT = 'ENTERPRISE PORTAL'.&lt;/P&gt;&lt;P&gt;APPEND WA TO ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'VRM_SET_VALUES'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ID                    =  'IO1'&lt;/P&gt;&lt;P&gt;    VALUES                =   ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A = 1.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7. In PAI, specify following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;WHEN 'PRINT'.&lt;/P&gt;&lt;P&gt;LEAVE TO LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; IO1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;8. Create a Tcode -&amp;gt; Activate all -&amp;gt; Execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATING TABSTRIPS IN MPP:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;In a normal screen, we can add only maximum of 40 components.&lt;/P&gt;&lt;P&gt;To make a screen hold more than 40 components, we can use tabstrip controls.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NAVIGATIONS TO CREATE TABSTRIP CONTROL:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------" /&gt;&lt;P&gt;1. Create an MPP program.&lt;/P&gt;&lt;P&gt;2. Create a normal screen (100) &lt;/P&gt;&lt;P&gt;-&amp;gt; Add Tabstrip Control component from toolbar &lt;/P&gt;&lt;P&gt;-&amp;gt; By default, a tabstrip control is created with 2 tab buttons &lt;/P&gt;&lt;P&gt;-&amp;gt; Double click on tabstrip control &lt;/P&gt;&lt;P&gt;-&amp;gt; Specify name (TBSTR) in Attributes box &lt;/P&gt;&lt;P&gt;-&amp;gt; Click on First tab button &lt;/P&gt;&lt;P&gt;-&amp;gt; Add Subscreen Area from toolbar to first tab button &lt;/P&gt;&lt;P&gt;-&amp;gt; Double click on subscreen area &lt;/P&gt;&lt;P&gt;-&amp;gt; Specify name (SUB1) &lt;/P&gt;&lt;P&gt;-&amp;gt; Click on Second tab button &lt;/P&gt;&lt;P&gt;-&amp;gt; Repeat same process for adding subscreen area (SUB2) &lt;/P&gt;&lt;P&gt;-&amp;gt; Double click on First tab button &lt;/P&gt;&lt;P&gt;-&amp;gt; Specify attributes (TAB1,FIRST,TAB1) &lt;/P&gt;&lt;P&gt;-&amp;gt; Double click on Second tab button &lt;/P&gt;&lt;P&gt;-&amp;gt; Specify attributes (TAB2, SECOND, TAB2) &lt;/P&gt;&lt;P&gt;-&amp;gt; SAve &lt;/P&gt;&lt;P&gt;-&amp;gt; Flowlogic. &lt;/P&gt;&lt;P&gt;3. Create two subscreens (10, 20) -&amp;gt; Add required components in each subscreen.&lt;/P&gt;&lt;P&gt;4. In Top Include File, specify following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IO1(10), IO2(10), IO3(10), IO4(10).&lt;/P&gt;&lt;P&gt;CONTROLS TBSTR TYPE TABSTRIP.&lt;/P&gt;&lt;P&gt;DATA A LIKE SY-DYNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'CONTROLS' statement is used to allocate a memory area for the tabstrip created in the normal screen. 'TABSTRIP' itself is a data type for the tabstrip control. Whenever a tabstrip is created, SAP creates an object called 'ACTIVETAB' which is used to call the corresponding subscreens for each tab button in PAI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. In Flowlogic editor, write following code to initiate the subscreens to the corresponding subscreen areas of each tab button when the main screen is called:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT.&lt;/P&gt;&lt;P&gt;MODULE STATUS_0100.&lt;/P&gt;&lt;P&gt;CALL SUBSCREEN SUB1 INCLUDING 'SAPMZTABSTRIP' '10'.&lt;/P&gt;&lt;P&gt;CALL SUBSCREEN SUB2 INCLUDING 'SAPMZTABSTRIP' '20'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS AFTER INPUT.&lt;/P&gt;&lt;P&gt; MODULE USER_COMMAND_0100.&lt;/P&gt;&lt;P&gt; CALL SUBSCREEN SUB1.&lt;/P&gt;&lt;P&gt; CALL SUBSCREEN SUB2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. In PAI, specify following code for click events on each tab button:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'TAB1'.&lt;/P&gt;&lt;P&gt;A = '10'.		   * calls specified subscreen during PAI	&lt;/P&gt;&lt;P&gt;TBSTR-ACTIVETAB = 'TAB1'.  * makes entire tab button in active status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'TAB2'.&lt;/P&gt;&lt;P&gt;A = '20'.&lt;/P&gt;&lt;P&gt;TBSTR-ACTIVETAB = 'TAB2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'DISPLAY'.&lt;/P&gt;&lt;P&gt;LEAVE TO LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; IO1, IO2, IO3, IO4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7. Create a Tcode -&amp;gt; Activate all -&amp;gt; Execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLE CONTROLS:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;Table Control component is used to view the internal table contents in the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Navigations to create Table control component:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------" /&gt;&lt;P&gt;1. Create an MPP program.&lt;/P&gt;&lt;P&gt;2. In Top include File, declare variables as follows:&lt;/P&gt;&lt;P&gt;	&lt;/P&gt;&lt;P&gt;DATA ITAB LIKE KNA1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA ITAB1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;CONTROLS TBCL TYPE TABLEVIEW USING SCREEN 100.&lt;/P&gt;&lt;P&gt;DATA CUR TYPE I VALUE 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&amp;gt; Save -&amp;gt; Activate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Create a Screen (100) -&amp;gt; Select Table control component from toolbar -&amp;gt; Double Click and specify name (TBCL) -&amp;gt; Press F6 and specify internal table name (ITAB) -&amp;gt; Select required fields -&amp;gt; Paste on the Table control -&amp;gt; To separate the fields, use Separators option in Table control Attributes -&amp;gt; Specify labels if necessary -&amp;gt; Create pushbuttons (FETCH, MODIFY, PRINT, EXIT) -&amp;gt; Save -&amp;gt; Flowlogic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. In PAI module, specify following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;WHEN 'FETCH'.&lt;/P&gt;&lt;P&gt;SELECT * FROM KNA1 INTO TABLE ITAB.&lt;/P&gt;&lt;P&gt;TBCL-LINES = SY-DBCNT.  * To create Vertical Scrollbar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'PRINT'.&lt;/P&gt;&lt;P&gt;GET CURSOR LINE CUR.&lt;/P&gt;&lt;P&gt;READ TABLE ITAB INDEX CUR.&lt;/P&gt;&lt;P&gt;LEAVE TO LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; ITAB-KUNNR, ITAB-NAME1, ITAB-ORT01, ITAB-LAND1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'MODIFY'.&lt;/P&gt;&lt;P&gt;LOOP AT ITAB1.&lt;/P&gt;&lt;P&gt;MODIFY KNA1 FROM ITAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MESSAGE S002(ZMSG).&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE E003(ZMSG).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM KNA1 INTO TABLE ITAB.&lt;/P&gt;&lt;P&gt;TBCL-LINES = SY-DBCNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. In FlowLogic editor, specify following step loops:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT.&lt;/P&gt;&lt;P&gt; MODULE STATUS_0100.&lt;/P&gt;&lt;P&gt; LOOP AT ITAB CURSOR CUR WITH CONTROL TBCL.&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS AFTER INPUT.&lt;/P&gt;&lt;P&gt; MODULE USER_COMMAND_0100.&lt;/P&gt;&lt;P&gt; LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    MODULE NEW.     * New module to move records from ITAB to 		      ITAB1. Double click on Module Name (New) 		      to create a new one.&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. Specify following code in the NEW module:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   MODULE NEW INPUT.&lt;/P&gt;&lt;P&gt;	APPEND ITAB TO ITAB1.&lt;/P&gt;&lt;P&gt;   ENDMODULE.                 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7. Create a Tcode -&amp;gt; Activate all -&amp;gt; Execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USING TABLE CONTROL WIZARD:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;P&gt;This is a predefined SAP-specific component to create table control using predefined navigations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Create an executable program (Z_TABLEWIZARD) in SE38 editor. Write the following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&amp;gt; Save -&amp;gt; Activate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Goto SE51 -&amp;gt; Specify program name created earlier (Z_TABLEWIZARD) -&amp;gt; Specify Screen number (200) -&amp;gt; Layout -&amp;gt; Select Table Control (Wizard) component from toolbar -&amp;gt; Opens Table control Wizard -&amp;gt; Follow the navigations -&amp;gt; Save and Activate the table control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Execute the program (Z_TABLEWIZARD).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Priya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2008 06:52:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429106#M823700</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-26T06:52:22Z</dc:date>
    </item>
    <item>
      <title>Re: screen programing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429107#M823701</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;verify the following link&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.mail-archive.com/xfree86@xfree86.org/msg11258.html" target="test_blank"&gt;http://www.mail-archive.com/xfree86@xfree86.org/msg11258.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;sreelatha gullapalli&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2008 06:56:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429107#M823701</guid>
      <dc:creator>sreelatha_gullapalli</dc:creator>
      <dc:date>2008-02-26T06:56:29Z</dc:date>
    </item>
    <item>
      <title>Re: screen programing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429108#M823702</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Aditya,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Module pool programming:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. you need to create screens.&lt;/P&gt;&lt;P&gt;2. calling of screens according to requirement.&lt;/P&gt;&lt;P&gt;3. maintaining GUI status of the screens.&lt;/P&gt;&lt;P&gt;4. Creating a transaction for that modulepool program and give the starting screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These are the main things you need to keep in mind apart form attribute ( Program type, M ), logic and code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look at the following standard programs from ABAPDOCU transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAPMDEMO_TRANSACTION&lt;/P&gt;&lt;P&gt;SAPMDEMO_SCREEN_FLOW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and these are the links where you can find the good material on modulepool program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/example_code.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/example_code.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/" target="test_blank"&gt;http://www.sap-img.com/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/links/abap.htm" target="test_blank"&gt;http://www.sapgenie.com/links/abap.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/c9/5472fc787f11d194c90000e8353423/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/dialog/dialoghome.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/dialog/dialoghome.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward If Helpful.&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;Sasidhar Reddy Matli.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Feb 2008 07:00:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/screen-programing/m-p/3429108#M823702</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-26T07:00:11Z</dc:date>
    </item>
  </channel>
</rss>

