<?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: module programming in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285636#M498038</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;copy the code and testing it  this is for    material  display  so    give the matrial no range so that  it will display the matrail   relateed data in the next screen ....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;create  a z transcation code for this program,   .../&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Module Pool       ZGS_MODULE_POOL_1
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*


INCLUDE ZGS_MODULE_POOL_1_TOP                   .    " global Data

* INCLUDE ZGS_MODULE_POOL_1_O01                   .  " PBO-Modules
* INCLUDE ZGS_MODULE_POOL_1_I01                   .  " PAI-Modules
* INCLUDE ZGS_MODULE_POOL_1_F01                   .  " FORM-Routines

CONSTANTS: CNTL_TRUE  TYPE I VALUE 1,
      CNTL_FALSE type i value 0.
data:
   h_picture       type ref to cl_gui_picture,
   h_pic_container type ref to cl_gui_custom_container.
*   h_tree          type ref to cl_gui_list_tree,
*   h_docking       type ref to cl_gui_docking_container,
*   h_application   type ref to lcl_application.

data: graphic_url(255),
      graphic_refresh(1),
      g_result                     like cntl_true.

data: begin of graphic_table occurs 0,
        line(255) type x,
      end of graphic_table.

data: graphic_size type i.




*&amp;amp;SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'TC1'
TYPES: BEGIN OF T_TC1,
         MATNR LIKE MARA-MATNR,
         MTART LIKE MARA-MTART,
         NTGEW LIKE MARA-NTGEW,
       END OF T_TC1.

*&amp;amp;SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'TC1'
DATA:     G_TC1_ITAB   TYPE T_TC1 OCCURS 0,
          G_TC1_WA     TYPE T_TC1. "work area
DATA:     G_TC1_COPIED.           "copy flag

*&amp;amp;SPWIZARD: DECLARATION OF TABLECONTROL 'TC1' ITSELF
CONTROLS: TC1 TYPE TABLEVIEW USING SCREEN 0200.

*&amp;amp;SPWIZARD: LINES OF TABLECONTROL 'TC1'
DATA:     G_TC1_LINES  LIKE SY-LOOPC.

DATA:     OK_CODE LIKE SY-UCOMM.

*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&amp;amp;SPWIZARD: COPY DDIC-TABLE TO ITAB
MODULE TC1_INIT OUTPUT.
  IF G_TC1_COPIED IS INITIAL.
*&amp;amp;SPWIZARD: COPY DDIC-TABLE 'MARA'
*&amp;amp;SPWIZARD: INTO INTERNAL TABLE 'g_TC1_itab'
    SELECT * FROM MARA
       INTO CORRESPONDING FIELDS
       OF TABLE G_TC1_ITAB
      WHERE MATNR BETWEEN V1_MATNR AND V2_MATNR.
    G_TC1_COPIED = 'X'.
    REFRESH CONTROL 'TC1' FROM SCREEN '0200'.
  ENDIF.
ENDMODULE.

*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&amp;amp;SPWIZARD: MOVE ITAB TO DYNPRO
MODULE TC1_MOVE OUTPUT.
  MOVE-CORRESPONDING G_TC1_WA TO MARA.
ENDMODULE.

*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&amp;amp;SPWIZARD: GET LINES OF TABLECONTROL
MODULE TC1_GET_LINES OUTPUT.
  G_TC1_LINES = SY-LOOPC.
ENDMODULE.

*&amp;amp;SPWIZARD: INPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&amp;amp;SPWIZARD: PROCESS USER COMMAND
MODULE TC1_USER_COMMAND INPUT.
  OK_CODE = SY-UCOMM.
  PERFORM USER_OK_TC USING    'TC1'
                              'G_TC1_ITAB'
                              'FLAG'
                     CHANGING OK_CODE.
  SY-UCOMM = OK_CODE.
ENDMODULE.

*----------------------------------------------------------------------*
*   INCLUDE TABLECONTROL_FORMS                                         *
*----------------------------------------------------------------------*

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_OK_TC                                               *
*&amp;amp;---------------------------------------------------------------------*
 FORM USER_OK_TC USING    P_TC_NAME TYPE DYNFNAM
                          P_TABLE_NAME
                          P_MARK_NAME
                 CHANGING P_OK      LIKE SY-UCOMM.

*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
   DATA: L_OK              TYPE SY-UCOMM,
         L_OFFSET          TYPE I.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

*&amp;amp;SPWIZARD: Table control specific operations                          *
*&amp;amp;SPWIZARD: evaluate TC name and operations                            *
   SEARCH P_OK FOR P_TC_NAME.
   IF SY-SUBRC &amp;lt;&amp;gt; 0.
     EXIT.
   ENDIF.
   L_OFFSET = STRLEN( P_TC_NAME ) + 1.
   L_OK = P_OK+L_OFFSET.
*&amp;amp;SPWIZARD: execute general and TC specific operations                 *
   CASE L_OK.
     WHEN 'INSR'.                      "insert row
       PERFORM FCODE_INSERT_ROW USING    P_TC_NAME
                                         P_TABLE_NAME.
       CLEAR P_OK.

     WHEN 'DELE'.                      "delete row
       PERFORM FCODE_DELETE_ROW USING    P_TC_NAME
                                         P_TABLE_NAME
                                         P_MARK_NAME.
       CLEAR P_OK.

     WHEN 'P--' OR                     "top of list
          'P-'  OR                     "previous page
          'P+'  OR                     "next page
          'P++'.                       "bottom of list
       PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
                                             L_OK.
       CLEAR P_OK.
*     WHEN 'L--'.                       "total left
*       PERFORM FCODE_TOTAL_LEFT USING P_TC_NAME.
*
*     WHEN 'L-'.                        "column left
*       PERFORM FCODE_COLUMN_LEFT USING P_TC_NAME.
*
*     WHEN 'R+'.                        "column right
*       PERFORM FCODE_COLUMN_RIGHT USING P_TC_NAME.
*
*     WHEN 'R++'.                       "total right
*       PERFORM FCODE_TOTAL_RIGHT USING P_TC_NAME.
*
     WHEN 'MARK'.                      "mark all filled lines
       PERFORM FCODE_TC_MARK_LINES USING P_TC_NAME
                                         P_TABLE_NAME
                                         P_MARK_NAME   .
       CLEAR P_OK.

     WHEN 'DMRK'.                      "demark all filled lines
       PERFORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
                                           P_TABLE_NAME
                                           P_MARK_NAME .
       CLEAR P_OK.

*     WHEN 'SASCEND'   OR
*          'SDESCEND'.                  "sort column
*       PERFORM FCODE_SORT_TC USING P_TC_NAME
*                                   l_ok.

   ENDCASE.

 ENDFORM.                              " USER_OK_TC

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_INSERT_ROW                                         *
*&amp;amp;---------------------------------------------------------------------*
 FORM fcode_insert_row
               USING    P_TC_NAME           TYPE DYNFNAM
                        P_TABLE_NAME             .

*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
   DATA L_LINES_NAME       LIKE FELD-NAME.
   DATA L_SELLINE          LIKE SY-STEPL.
   DATA L_LASTLINE         TYPE I.
   DATA L_LINE             TYPE I.
   DATA L_TABLE_NAME       LIKE FELD-NAME.
   FIELD-SYMBOLS &amp;lt;TC&amp;gt;                 TYPE CXTAB_CONTROL.
   FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;              TYPE STANDARD TABLE.
   FIELD-SYMBOLS &amp;lt;LINES&amp;gt;              TYPE I.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

*&amp;amp;SPWIZARD: get looplines of TableControl                              *
   CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.
   ASSIGN (L_LINES_NAME) TO &amp;lt;LINES&amp;gt;.

*&amp;amp;SPWIZARD: get current line                                           *
   GET CURSOR LINE L_SELLINE.
   IF SY-SUBRC &amp;lt;&amp;gt; 0.                   " append line to table
     L_SELLINE = &amp;lt;TC&amp;gt;-LINES + 1.
*&amp;amp;SPWIZARD: set top line                                               *
     IF L_SELLINE &amp;gt; &amp;lt;LINES&amp;gt;.
       &amp;lt;TC&amp;gt;-TOP_LINE = L_SELLINE - &amp;lt;LINES&amp;gt; + 1 .
     ELSE.
       &amp;lt;TC&amp;gt;-TOP_LINE = 1.
     ENDIF.
   ELSE.                               " insert line into table
     L_SELLINE = &amp;lt;TC&amp;gt;-TOP_LINE + L_SELLINE - 1.
     L_LASTLINE = &amp;lt;TC&amp;gt;-TOP_LINE + &amp;lt;LINES&amp;gt; - 1.
   ENDIF.
*&amp;amp;SPWIZARD: set new cursor line                                        *
   L_LINE = L_SELLINE - &amp;lt;TC&amp;gt;-TOP_LINE + 1.

*&amp;amp;SPWIZARD: insert initial line                                        *
   INSERT INITIAL LINE INTO &amp;lt;TABLE&amp;gt; INDEX L_SELLINE.
   &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES + 1.
*&amp;amp;SPWIZARD: set cursor                                                 *
   SET CURSOR LINE L_LINE.

 ENDFORM.                              " FCODE_INSERT_ROW

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_DELETE_ROW                                         *
*&amp;amp;---------------------------------------------------------------------*
 FORM fcode_delete_row
               USING    P_TC_NAME           TYPE DYNFNAM
                        P_TABLE_NAME
                        P_MARK_NAME   .

*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
   DATA L_TABLE_NAME       LIKE FELD-NAME.

   FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
   FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
   FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
   FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

*&amp;amp;SPWIZARD: delete marked lines                                        *
   DESCRIBE TABLE &amp;lt;TABLE&amp;gt; LINES &amp;lt;TC&amp;gt;-LINES.

   LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     IF &amp;lt;MARK_FIELD&amp;gt; = 'X'.
       DELETE &amp;lt;TABLE&amp;gt; INDEX SYST-TABIX.
       IF SY-SUBRC = 0.
         &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES - 1.
       ENDIF.
     ENDIF.
   ENDLOOP.

 ENDFORM.                              " FCODE_DELETE_ROW

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  COMPUTE_SCROLLING_IN_TC
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*      --&amp;gt;P_OK       ok code
*----------------------------------------------------------------------*
 FORM COMPUTE_SCROLLING_IN_TC USING    P_TC_NAME
                                       P_OK.
*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
   DATA L_TC_NEW_TOP_LINE     TYPE I.
   DATA L_TC_NAME             LIKE FELD-NAME.
   DATA L_TC_LINES_NAME       LIKE FELD-NAME.
   DATA L_TC_FIELD_NAME       LIKE FELD-NAME.

   FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
   FIELD-SYMBOLS &amp;lt;LINES&amp;gt;      TYPE I.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.
*&amp;amp;SPWIZARD: get looplines of TableControl                              *
   CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
   ASSIGN (L_TC_LINES_NAME) TO &amp;lt;LINES&amp;gt;.


*&amp;amp;SPWIZARD: is no line filled?                                         *
   IF &amp;lt;TC&amp;gt;-LINES = 0.
*&amp;amp;SPWIZARD: yes, ...                                                   *
     L_TC_NEW_TOP_LINE = 1.
   ELSE.
*&amp;amp;SPWIZARD: no, ...                                                    *
     CALL FUNCTION 'SCROLLING_IN_TABLE'
          EXPORTING
               ENTRY_ACT             = &amp;lt;TC&amp;gt;-TOP_LINE
               ENTRY_FROM            = 1
               ENTRY_TO              = &amp;lt;TC&amp;gt;-LINES
               LAST_PAGE_FULL        = 'X'
               LOOPS                 = &amp;lt;LINES&amp;gt;
               OK_CODE               = P_OK
               OVERLAPPING           = 'X'
          IMPORTING
               ENTRY_NEW             = L_TC_NEW_TOP_LINE
          EXCEPTIONS
*              NO_ENTRY_OR_PAGE_ACT  = 01
*              NO_ENTRY_TO           = 02
*              NO_OK_CODE_OR_PAGE_GO = 03
               OTHERS                = 0.
   ENDIF.

*&amp;amp;SPWIZARD: get actual tc and column                                   *
   GET CURSOR FIELD L_TC_FIELD_NAME
              AREA  L_TC_NAME.

   IF SYST-SUBRC = 0.
     IF L_TC_NAME = P_TC_NAME.
*&amp;amp;SPWIZARD: et actual column                                           *
       SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
     ENDIF.
   ENDIF.

*&amp;amp;SPWIZARD: set the new top line                                       *
   &amp;lt;TC&amp;gt;-TOP_LINE = L_TC_NEW_TOP_LINE.


 ENDFORM.                              " COMPUTE_SCROLLING_IN_TC

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_TC_MARK_LINES
*&amp;amp;---------------------------------------------------------------------*
*       marks all TableControl lines
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*----------------------------------------------------------------------*
FORM FCODE_TC_MARK_LINES USING P_TC_NAME
                               P_TABLE_NAME
                               P_MARK_NAME.
*&amp;amp;SPWIZARD: EGIN OF LOCAL DATA-----------------------------------------*
  DATA L_TABLE_NAME       LIKE FELD-NAME.

  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

*&amp;amp;SPWIZARD: mark all filled lines                                      *
  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     &amp;lt;MARK_FIELD&amp;gt; = 'X'.
  ENDLOOP.
ENDFORM.                                          "fcode_tc_mark_lines

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_TC_DEMARK_LINES
*&amp;amp;---------------------------------------------------------------------*
*       demarks all TableControl lines
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*----------------------------------------------------------------------*
FORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
                                 P_TABLE_NAME
                                 P_MARK_NAME .
*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
  DATA L_TABLE_NAME       LIKE FELD-NAME.

  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

*&amp;amp;SPWIZARD: demark all filled lines                                    *
  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     &amp;lt;MARK_FIELD&amp;gt; = SPACE.
  ENDLOOP.
ENDFORM.                                          "fcode_tc_mark_lines
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.

data: g_stxbitmaps type STXBITMAPS,
      l_bytecount  type i,
      l_content   TYPE  standard table of bapiconten initial size 0.

g_stxbitmaps-tdobject = 'GRAPHICS'.
g_stxbitmaps-tdname = 'ENJOY'.
g_stxbitmaps-tdid = 'BMAP'.
g_stxbitmaps-tdbtype = 'BCOL'.  "(BMON = black&amp;amp;white, BCOL = colour)

call function 'SAPSCRIPT_GET_GRAPHIC_BDS'
     exporting
          i_object       = g_stxbitmaps-tdobject
          i_name         = g_stxbitmaps-tdname
          i_id           = g_stxbitmaps-tdid
          i_btype        = g_stxbitmaps-tdbtype
     importing
          e_bytecount    = l_bytecount
     tables
          content        = l_content
     exceptions
          not_found      = 1
          bds_get_failed = 2
          bds_no_content = 3
          others         = 4.

call function 'SAPSCRIPT_CONVERT_BITMAP'
     exporting
          old_format               = 'BDS'
          new_format               = 'BMP'
          bitmap_file_bytecount_in = l_bytecount
     importing
          bitmap_file_bytecount  = graphic_size
     tables
          bds_bitmap_file        = l_content
          bitmap_file            = graphic_table
     exceptions
          others                 = 1.

call function 'DP_CREATE_URL'
     exporting
        type                 = 'image'            "#EC NOTEXT
        subtype              = cndp_sap_tab_unknown
        size                 = graphic_size
        lifetime             = cndp_lifetime_transaction
     tables
        data                 = graphic_table
     changing
        url                  = graphic_url
     exceptions
        others               = 4 .

create object h_pic_container
       exporting container_name =  'CUST_CONTROL'.

create object h_picture exporting parent = h_pic_container.

call method h_picture-&amp;gt;set_display_mode
     exporting
          display_mode = cl_gui_picture=&amp;gt;display_mode_normal.

call method h_picture-&amp;gt;load_picture_from_url
     exporting url    = graphic_url
     importing result = g_result.

ENDMODULE.                 " STATUS_0100  OUTPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward  points .....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Girish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 May 2007 11:39:09 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-24T11:39:09Z</dc:date>
    <item>
      <title>module programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285633#M498035</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI  all&lt;/P&gt;&lt;P&gt;            There is a screen in which i have to enter values in two input fileds, a fter clicking a push button, there is adisplay for 4 fields.if there are no values in any field,that fields should get grayed out. i know that loop at screen and modify screen to be used, but at which part the code is to written?.can we insert some conditions in pbo also?.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2007 11:34:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285633#M498035</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-24T11:34:14Z</dc:date>
    </item>
    <item>
      <title>Re: module programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285634#M498036</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;write that in PAI

MODULE USER_COMMAND.

MODULE USER_COMMAND.
 ok_code = sy-ucomm.
 case ok_code.
  WHEN 'DISPLAY'.
      if field1 is initial.
         loop at screen.
           ...........................
           ..........................
      endloop.
 endcase.

ENDMODULE.&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2007 11:37:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285634#M498036</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-24T11:37:01Z</dc:date>
    </item>
    <item>
      <title>Re: module programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285635#M498037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ganesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the screen attributes of that field keep those fields as output_only(check that check box).&lt;/P&gt;&lt;P&gt;For this you need to the coidng in the Screen PBO(Process Before Output). There you can get the screen table and change it to enable proprty. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make use of screen modifications by assigning them to a Group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in PBO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at screen.&lt;/P&gt;&lt;P&gt;  if screen-group1 = 'ABC'.&lt;/P&gt;&lt;P&gt;   screen-input = 0.&lt;/P&gt;&lt;P&gt;  modify screen.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt; endlooop.&lt;/P&gt;&lt;P&gt;&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;Jayant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2007 11:37:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285635#M498037</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-24T11:37:11Z</dc:date>
    </item>
    <item>
      <title>Re: module programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285636#M498038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;copy the code and testing it  this is for    material  display  so    give the matrial no range so that  it will display the matrail   relateed data in the next screen ....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;create  a z transcation code for this program,   .../&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Module Pool       ZGS_MODULE_POOL_1
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*


INCLUDE ZGS_MODULE_POOL_1_TOP                   .    " global Data

* INCLUDE ZGS_MODULE_POOL_1_O01                   .  " PBO-Modules
* INCLUDE ZGS_MODULE_POOL_1_I01                   .  " PAI-Modules
* INCLUDE ZGS_MODULE_POOL_1_F01                   .  " FORM-Routines

CONSTANTS: CNTL_TRUE  TYPE I VALUE 1,
      CNTL_FALSE type i value 0.
data:
   h_picture       type ref to cl_gui_picture,
   h_pic_container type ref to cl_gui_custom_container.
*   h_tree          type ref to cl_gui_list_tree,
*   h_docking       type ref to cl_gui_docking_container,
*   h_application   type ref to lcl_application.

data: graphic_url(255),
      graphic_refresh(1),
      g_result                     like cntl_true.

data: begin of graphic_table occurs 0,
        line(255) type x,
      end of graphic_table.

data: graphic_size type i.




*&amp;amp;SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'TC1'
TYPES: BEGIN OF T_TC1,
         MATNR LIKE MARA-MATNR,
         MTART LIKE MARA-MTART,
         NTGEW LIKE MARA-NTGEW,
       END OF T_TC1.

*&amp;amp;SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'TC1'
DATA:     G_TC1_ITAB   TYPE T_TC1 OCCURS 0,
          G_TC1_WA     TYPE T_TC1. "work area
DATA:     G_TC1_COPIED.           "copy flag

*&amp;amp;SPWIZARD: DECLARATION OF TABLECONTROL 'TC1' ITSELF
CONTROLS: TC1 TYPE TABLEVIEW USING SCREEN 0200.

*&amp;amp;SPWIZARD: LINES OF TABLECONTROL 'TC1'
DATA:     G_TC1_LINES  LIKE SY-LOOPC.

DATA:     OK_CODE LIKE SY-UCOMM.

*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&amp;amp;SPWIZARD: COPY DDIC-TABLE TO ITAB
MODULE TC1_INIT OUTPUT.
  IF G_TC1_COPIED IS INITIAL.
*&amp;amp;SPWIZARD: COPY DDIC-TABLE 'MARA'
*&amp;amp;SPWIZARD: INTO INTERNAL TABLE 'g_TC1_itab'
    SELECT * FROM MARA
       INTO CORRESPONDING FIELDS
       OF TABLE G_TC1_ITAB
      WHERE MATNR BETWEEN V1_MATNR AND V2_MATNR.
    G_TC1_COPIED = 'X'.
    REFRESH CONTROL 'TC1' FROM SCREEN '0200'.
  ENDIF.
ENDMODULE.

*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&amp;amp;SPWIZARD: MOVE ITAB TO DYNPRO
MODULE TC1_MOVE OUTPUT.
  MOVE-CORRESPONDING G_TC1_WA TO MARA.
ENDMODULE.

*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&amp;amp;SPWIZARD: GET LINES OF TABLECONTROL
MODULE TC1_GET_LINES OUTPUT.
  G_TC1_LINES = SY-LOOPC.
ENDMODULE.

*&amp;amp;SPWIZARD: INPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!
*&amp;amp;SPWIZARD: PROCESS USER COMMAND
MODULE TC1_USER_COMMAND INPUT.
  OK_CODE = SY-UCOMM.
  PERFORM USER_OK_TC USING    'TC1'
                              'G_TC1_ITAB'
                              'FLAG'
                     CHANGING OK_CODE.
  SY-UCOMM = OK_CODE.
ENDMODULE.

*----------------------------------------------------------------------*
*   INCLUDE TABLECONTROL_FORMS                                         *
*----------------------------------------------------------------------*

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_OK_TC                                               *
*&amp;amp;---------------------------------------------------------------------*
 FORM USER_OK_TC USING    P_TC_NAME TYPE DYNFNAM
                          P_TABLE_NAME
                          P_MARK_NAME
                 CHANGING P_OK      LIKE SY-UCOMM.

*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
   DATA: L_OK              TYPE SY-UCOMM,
         L_OFFSET          TYPE I.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

*&amp;amp;SPWIZARD: Table control specific operations                          *
*&amp;amp;SPWIZARD: evaluate TC name and operations                            *
   SEARCH P_OK FOR P_TC_NAME.
   IF SY-SUBRC &amp;lt;&amp;gt; 0.
     EXIT.
   ENDIF.
   L_OFFSET = STRLEN( P_TC_NAME ) + 1.
   L_OK = P_OK+L_OFFSET.
*&amp;amp;SPWIZARD: execute general and TC specific operations                 *
   CASE L_OK.
     WHEN 'INSR'.                      "insert row
       PERFORM FCODE_INSERT_ROW USING    P_TC_NAME
                                         P_TABLE_NAME.
       CLEAR P_OK.

     WHEN 'DELE'.                      "delete row
       PERFORM FCODE_DELETE_ROW USING    P_TC_NAME
                                         P_TABLE_NAME
                                         P_MARK_NAME.
       CLEAR P_OK.

     WHEN 'P--' OR                     "top of list
          'P-'  OR                     "previous page
          'P+'  OR                     "next page
          'P++'.                       "bottom of list
       PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
                                             L_OK.
       CLEAR P_OK.
*     WHEN 'L--'.                       "total left
*       PERFORM FCODE_TOTAL_LEFT USING P_TC_NAME.
*
*     WHEN 'L-'.                        "column left
*       PERFORM FCODE_COLUMN_LEFT USING P_TC_NAME.
*
*     WHEN 'R+'.                        "column right
*       PERFORM FCODE_COLUMN_RIGHT USING P_TC_NAME.
*
*     WHEN 'R++'.                       "total right
*       PERFORM FCODE_TOTAL_RIGHT USING P_TC_NAME.
*
     WHEN 'MARK'.                      "mark all filled lines
       PERFORM FCODE_TC_MARK_LINES USING P_TC_NAME
                                         P_TABLE_NAME
                                         P_MARK_NAME   .
       CLEAR P_OK.

     WHEN 'DMRK'.                      "demark all filled lines
       PERFORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
                                           P_TABLE_NAME
                                           P_MARK_NAME .
       CLEAR P_OK.

*     WHEN 'SASCEND'   OR
*          'SDESCEND'.                  "sort column
*       PERFORM FCODE_SORT_TC USING P_TC_NAME
*                                   l_ok.

   ENDCASE.

 ENDFORM.                              " USER_OK_TC

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_INSERT_ROW                                         *
*&amp;amp;---------------------------------------------------------------------*
 FORM fcode_insert_row
               USING    P_TC_NAME           TYPE DYNFNAM
                        P_TABLE_NAME             .

*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
   DATA L_LINES_NAME       LIKE FELD-NAME.
   DATA L_SELLINE          LIKE SY-STEPL.
   DATA L_LASTLINE         TYPE I.
   DATA L_LINE             TYPE I.
   DATA L_TABLE_NAME       LIKE FELD-NAME.
   FIELD-SYMBOLS &amp;lt;TC&amp;gt;                 TYPE CXTAB_CONTROL.
   FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;              TYPE STANDARD TABLE.
   FIELD-SYMBOLS &amp;lt;LINES&amp;gt;              TYPE I.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

*&amp;amp;SPWIZARD: get looplines of TableControl                              *
   CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.
   ASSIGN (L_LINES_NAME) TO &amp;lt;LINES&amp;gt;.

*&amp;amp;SPWIZARD: get current line                                           *
   GET CURSOR LINE L_SELLINE.
   IF SY-SUBRC &amp;lt;&amp;gt; 0.                   " append line to table
     L_SELLINE = &amp;lt;TC&amp;gt;-LINES + 1.
*&amp;amp;SPWIZARD: set top line                                               *
     IF L_SELLINE &amp;gt; &amp;lt;LINES&amp;gt;.
       &amp;lt;TC&amp;gt;-TOP_LINE = L_SELLINE - &amp;lt;LINES&amp;gt; + 1 .
     ELSE.
       &amp;lt;TC&amp;gt;-TOP_LINE = 1.
     ENDIF.
   ELSE.                               " insert line into table
     L_SELLINE = &amp;lt;TC&amp;gt;-TOP_LINE + L_SELLINE - 1.
     L_LASTLINE = &amp;lt;TC&amp;gt;-TOP_LINE + &amp;lt;LINES&amp;gt; - 1.
   ENDIF.
*&amp;amp;SPWIZARD: set new cursor line                                        *
   L_LINE = L_SELLINE - &amp;lt;TC&amp;gt;-TOP_LINE + 1.

*&amp;amp;SPWIZARD: insert initial line                                        *
   INSERT INITIAL LINE INTO &amp;lt;TABLE&amp;gt; INDEX L_SELLINE.
   &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES + 1.
*&amp;amp;SPWIZARD: set cursor                                                 *
   SET CURSOR LINE L_LINE.

 ENDFORM.                              " FCODE_INSERT_ROW

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_DELETE_ROW                                         *
*&amp;amp;---------------------------------------------------------------------*
 FORM fcode_delete_row
               USING    P_TC_NAME           TYPE DYNFNAM
                        P_TABLE_NAME
                        P_MARK_NAME   .

*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
   DATA L_TABLE_NAME       LIKE FELD-NAME.

   FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
   FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
   FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
   FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

*&amp;amp;SPWIZARD: delete marked lines                                        *
   DESCRIBE TABLE &amp;lt;TABLE&amp;gt; LINES &amp;lt;TC&amp;gt;-LINES.

   LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     IF &amp;lt;MARK_FIELD&amp;gt; = 'X'.
       DELETE &amp;lt;TABLE&amp;gt; INDEX SYST-TABIX.
       IF SY-SUBRC = 0.
         &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES - 1.
       ENDIF.
     ENDIF.
   ENDLOOP.

 ENDFORM.                              " FCODE_DELETE_ROW

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  COMPUTE_SCROLLING_IN_TC
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*      --&amp;gt;P_OK       ok code
*----------------------------------------------------------------------*
 FORM COMPUTE_SCROLLING_IN_TC USING    P_TC_NAME
                                       P_OK.
*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
   DATA L_TC_NEW_TOP_LINE     TYPE I.
   DATA L_TC_NAME             LIKE FELD-NAME.
   DATA L_TC_LINES_NAME       LIKE FELD-NAME.
   DATA L_TC_FIELD_NAME       LIKE FELD-NAME.

   FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
   FIELD-SYMBOLS &amp;lt;LINES&amp;gt;      TYPE I.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.
*&amp;amp;SPWIZARD: get looplines of TableControl                              *
   CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
   ASSIGN (L_TC_LINES_NAME) TO &amp;lt;LINES&amp;gt;.


*&amp;amp;SPWIZARD: is no line filled?                                         *
   IF &amp;lt;TC&amp;gt;-LINES = 0.
*&amp;amp;SPWIZARD: yes, ...                                                   *
     L_TC_NEW_TOP_LINE = 1.
   ELSE.
*&amp;amp;SPWIZARD: no, ...                                                    *
     CALL FUNCTION 'SCROLLING_IN_TABLE'
          EXPORTING
               ENTRY_ACT             = &amp;lt;TC&amp;gt;-TOP_LINE
               ENTRY_FROM            = 1
               ENTRY_TO              = &amp;lt;TC&amp;gt;-LINES
               LAST_PAGE_FULL        = 'X'
               LOOPS                 = &amp;lt;LINES&amp;gt;
               OK_CODE               = P_OK
               OVERLAPPING           = 'X'
          IMPORTING
               ENTRY_NEW             = L_TC_NEW_TOP_LINE
          EXCEPTIONS
*              NO_ENTRY_OR_PAGE_ACT  = 01
*              NO_ENTRY_TO           = 02
*              NO_OK_CODE_OR_PAGE_GO = 03
               OTHERS                = 0.
   ENDIF.

*&amp;amp;SPWIZARD: get actual tc and column                                   *
   GET CURSOR FIELD L_TC_FIELD_NAME
              AREA  L_TC_NAME.

   IF SYST-SUBRC = 0.
     IF L_TC_NAME = P_TC_NAME.
*&amp;amp;SPWIZARD: et actual column                                           *
       SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
     ENDIF.
   ENDIF.

*&amp;amp;SPWIZARD: set the new top line                                       *
   &amp;lt;TC&amp;gt;-TOP_LINE = L_TC_NEW_TOP_LINE.


 ENDFORM.                              " COMPUTE_SCROLLING_IN_TC

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_TC_MARK_LINES
*&amp;amp;---------------------------------------------------------------------*
*       marks all TableControl lines
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*----------------------------------------------------------------------*
FORM FCODE_TC_MARK_LINES USING P_TC_NAME
                               P_TABLE_NAME
                               P_MARK_NAME.
*&amp;amp;SPWIZARD: EGIN OF LOCAL DATA-----------------------------------------*
  DATA L_TABLE_NAME       LIKE FELD-NAME.

  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

*&amp;amp;SPWIZARD: mark all filled lines                                      *
  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     &amp;lt;MARK_FIELD&amp;gt; = 'X'.
  ENDLOOP.
ENDFORM.                                          "fcode_tc_mark_lines

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_TC_DEMARK_LINES
*&amp;amp;---------------------------------------------------------------------*
*       demarks all TableControl lines
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*----------------------------------------------------------------------*
FORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
                                 P_TABLE_NAME
                                 P_MARK_NAME .
*&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
  DATA L_TABLE_NAME       LIKE FELD-NAME.

  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*&amp;amp;SPWIZARD: END OF LOCAL DATA------------------------------------------*

  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

*&amp;amp;SPWIZARD: demark all filled lines                                    *
  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     &amp;lt;MARK_FIELD&amp;gt; = SPACE.
  ENDLOOP.
ENDFORM.                                          "fcode_tc_mark_lines
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.

data: g_stxbitmaps type STXBITMAPS,
      l_bytecount  type i,
      l_content   TYPE  standard table of bapiconten initial size 0.

g_stxbitmaps-tdobject = 'GRAPHICS'.
g_stxbitmaps-tdname = 'ENJOY'.
g_stxbitmaps-tdid = 'BMAP'.
g_stxbitmaps-tdbtype = 'BCOL'.  "(BMON = black&amp;amp;white, BCOL = colour)

call function 'SAPSCRIPT_GET_GRAPHIC_BDS'
     exporting
          i_object       = g_stxbitmaps-tdobject
          i_name         = g_stxbitmaps-tdname
          i_id           = g_stxbitmaps-tdid
          i_btype        = g_stxbitmaps-tdbtype
     importing
          e_bytecount    = l_bytecount
     tables
          content        = l_content
     exceptions
          not_found      = 1
          bds_get_failed = 2
          bds_no_content = 3
          others         = 4.

call function 'SAPSCRIPT_CONVERT_BITMAP'
     exporting
          old_format               = 'BDS'
          new_format               = 'BMP'
          bitmap_file_bytecount_in = l_bytecount
     importing
          bitmap_file_bytecount  = graphic_size
     tables
          bds_bitmap_file        = l_content
          bitmap_file            = graphic_table
     exceptions
          others                 = 1.

call function 'DP_CREATE_URL'
     exporting
        type                 = 'image'            "#EC NOTEXT
        subtype              = cndp_sap_tab_unknown
        size                 = graphic_size
        lifetime             = cndp_lifetime_transaction
     tables
        data                 = graphic_table
     changing
        url                  = graphic_url
     exceptions
        others               = 4 .

create object h_pic_container
       exporting container_name =  'CUST_CONTROL'.

create object h_picture exporting parent = h_pic_container.

call method h_picture-&amp;gt;set_display_mode
     exporting
          display_mode = cl_gui_picture=&amp;gt;display_mode_normal.

call method h_picture-&amp;gt;load_picture_from_url
     exporting url    = graphic_url
     importing result = g_result.

ENDMODULE.                 " STATUS_0100  OUTPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward  points .....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Girish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2007 11:39:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285636#M498038</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-24T11:39:09Z</dc:date>
    </item>
    <item>
      <title>Re: module programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285637#M498039</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ganesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Write the following code in PBO of second screen. while designing 2nd screen for 4 fields u have to assign group1 as ABC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PAI of first screen .
module pai_100.

form pai_100.
if all fields are empty set flag
flag = 1.
endform.

PBO of second screen
Module pbo_200.

form pbo_200
if flag = 1.
 loop at screen.
  if screen-group1 = 'ABC'.
    screen-input = 0.
   modify screen.
  endif.
 endlooop.
endif.
clear flag.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz close the thread and reward points if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Suma.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2007 11:53:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-programming/m-p/2285637#M498039</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-24T11:53:13Z</dc:date>
    </item>
  </channel>
</rss>

