<?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: menu painter help req?? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399050#M1045760</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try the following code,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the following code, I am checking for sy-ucomm and triggering a corresponding action.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*----------------------------------------------------------------------*
*  FORM TRIGGER_ACTIONS_FOR_UCOMM                                      *
*----------------------------------------------------------------------*
*  Subroutine for performing appropriate actions when a user command is*
*  is triggered                                                        *
*----------------------------------------------------------------------*
*  There are no interface parameters to be passed to this subroutine.  *
*----------------------------------------------------------------------*
FORM trigger_actions_for_ucomm .

  CASE sy-ucomm.

    WHEN 'SALL'.

      PERFORM mark_all_checkboxes.

    WHEN 'DALL'.

      PERFORM demark_all_checkboxes.

    WHEN 'F15'.

      LEAVE SCREEN.

    WHEN '&amp;amp;F12'.

      LEAVE PROGRAM.

  ENDCASE.                             " CASE SY-UCOMM

ENDFORM.                               " TRIGGER_ACTIONS_FOR_UCOMM
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following code snippets will give you an idea on how to select or deselect all the checkboxes on the list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*----------------------------------------------------------------------*
*  FORM MARK_ALL_CHECKBOXES                                            *
*----------------------------------------------------------------------*
*  Subroutine for marking all the checkboxes on the list               *
*----------------------------------------------------------------------*
*  There are no interface parameters to be passed to this subroutine.  *
*----------------------------------------------------------------------*
FORM mark_all_checkboxes .

  DO.
    READ LINE sy-index.
    IF sy-subrc NE 0.
      EXIT.
    ENDIF.                             " IF SY-SUBRC NE 0

    READ LINE sy-index FIELD VALUE sy-lisel INTO w_lisel.
    IF w_lisel+1(1) EQ space AND w_lisel+1(1) NE '-'
                             AND w_lisel+3(1) NE space.

      w_lisel+1(1) = c_flag_x.
      MODIFY LINE sy-index FIELD VALUE sy-lisel FROM w_lisel.

    ENDIF.                             " IF W_LISEL+1(1) EQ...

  ENDDO.

ENDFORM.                               " MARK_ALL_CHECKBOXES
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*----------------------------------------------------------------------*
*  FORM DEMARK_ALL_CHECKBOXES                                          *
*----------------------------------------------------------------------*
*  Subroutine for de selecting all the checkboxes on the list          *
*----------------------------------------------------------------------*
*  There are no interface parameters to be passed to this subroutine.  *
*----------------------------------------------------------------------*
FORM demark_all_checkboxes .

  DO.
    READ LINE sy-index.
    IF sy-subrc NE 0.
      EXIT.
    ENDIF.                             " IF SY-SUBRC NE 0

    READ LINE sy-index FIELD VALUE sy-lisel INTO w_lisel.
    IF w_lisel+1(1) EQ c_flag_x.

      w_lisel+1(1) = space.
      MODIFY LINE sy-index FIELD VALUE sy-lisel FROM w_lisel.

    ENDIF.                             " IF W_LISEL+1(1) EQ...

  ENDDO.

ENDFORM.                               " DEMARK_ALL_CHECKBOXES
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 16 Aug 2008 08:44:21 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-08-16T08:44:21Z</dc:date>
    <item>
      <title>menu painter help req??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399048#M1045758</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;i had made an pf status for my report,in which i had list 1 with check box,I had placed an icon for select all &amp;amp; de select all,please tell me the code or logic which needs top be put there inside user commnad,so that if i click on select all icon,my all check shd be ticked,else all ticked shd be removed if deselect icon is clicked.&lt;/P&gt;&lt;P&gt;also plz tell me on my list 2 i don;t want to show this select &amp;amp; deslect icon.&lt;/P&gt;&lt;P&gt;but not able to exclude 2 fcode at same time,please tell me way to do so.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regds&lt;/P&gt;&lt;P&gt;vipin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Aug 2008 07:36:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399048#M1045758</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-16T07:36:21Z</dc:date>
    </item>
    <item>
      <title>Re: menu painter help req??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399049#M1045759</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi vipin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check the report , in that i have created some subroutines like clear_all_selected etc,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; REPORT  ZPO_DISPLAY1 NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        MESSAGE-ID ZMESS&lt;/P&gt;&lt;P&gt;        LINE-SIZE 105&lt;/P&gt;&lt;P&gt;        LINE-COUNT 32.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Program Includes for Data declaration and program subroutines&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE ZDATA_TOP4.         "Contains Data Declaration&lt;/P&gt;&lt;P&gt;INCLUDE ZFORM_ROUTINES4.    "Contains Form Statements used in Program&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Initialazation Section&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;     CLEAR S_AEDAT.&lt;/P&gt;&lt;P&gt;     S_AEDAT-SIGN     = 'I'.&lt;/P&gt;&lt;P&gt;     S_AEDAT-OPTION   = 'BT'.&lt;/P&gt;&lt;P&gt;     S_AEDAT-LOW      = SY-DATUM - 90.&lt;/P&gt;&lt;P&gt;     S_AEDAT-HIGH     = SY-DATUM.&lt;/P&gt;&lt;P&gt;     APPEND S_AEDAT.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Selection screen parameters validation&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;     LOOP AT S_LIFNR.&lt;/P&gt;&lt;P&gt;     CHECK S_LIFNR-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;     SELECT SINGLE * FROM LFA1 INTO CORRESPONDING FIELDS OF LFA1&lt;/P&gt;&lt;P&gt;            WHERE LIFNR = S_LIFNR-LOW.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;             MESSAGE E001 WITH 'Vendor' S_LIFNR-LOW 'not found in LFA1'.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  At Selection screen on value request&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_LIFNR-LOW.&lt;/P&gt;&lt;P&gt;*CALL SCREEN 101 STARTING AT 50 03&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 ENDING AT 70 07.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Start of selection - Main Program Processing&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;     GET TIME.&lt;/P&gt;&lt;P&gt;     STATS-START_TIME = SY-UZEIT.&lt;/P&gt;&lt;P&gt;     SET PF-STATUS 'MAIN'.   "Copy status 'PICK' From SAPMSSY0 (SE41)&lt;/P&gt;&lt;P&gt;     PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;     PERFORM PROCESS_DATA2.&lt;/P&gt;&lt;P&gt;     PERFORM DISPLAY_LIST.&lt;/P&gt;&lt;P&gt;     PERFORM WRITE_STATISTICS.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   User selection - AT LINE SELECTION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;   CHECK NOT SELECT-EBELN IS INITIAL.   "To select valid line from list&lt;/P&gt;&lt;P&gt;   PERFORM DISPLAY_ITEM_DETAIL USING SELECT-EBELN.&lt;/P&gt;&lt;P&gt;   CLEAR SELECT-EBELN.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   User selection - AT USER COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT USER-COMMAND.&lt;/P&gt;&lt;P&gt;    OK_CODE = SY-UCOMM.&lt;/P&gt;&lt;P&gt;      CASE OK_CODE.&lt;/P&gt;&lt;P&gt;         WHEN 'DSA'.&lt;/P&gt;&lt;P&gt;           PERFORM CLEAR_ALL_SELECTED.&lt;/P&gt;&lt;P&gt;         WHEN 'DSL'.&lt;/P&gt;&lt;P&gt;           PERFORM DISPLAY_ALL_SELECTED.&lt;/P&gt;&lt;P&gt;         WHEN 'CHNG'.&lt;/P&gt;&lt;P&gt;           PERFORM DISPLAY_ALL_CHANGE.&lt;/P&gt;&lt;P&gt;         WHEN 'DISP'.&lt;/P&gt;&lt;P&gt;           PERFORM DISPLAY_ALL_ME23.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Program Pages and Coloum Heading&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;      CASE WRK-HDRSW.&lt;/P&gt;&lt;P&gt;           WHEN '1'.&lt;/P&gt;&lt;P&gt;                WRK-TITLE2 = 'PROGRAM SELECTION'(003).&lt;/P&gt;&lt;P&gt;           WHEN '2'.&lt;/P&gt;&lt;P&gt;                WRK-TITLE2 = 'PROGRAM DETAILS'(004).&lt;/P&gt;&lt;P&gt;           WHEN '3'.&lt;/P&gt;&lt;P&gt;                WRK-TITLE2 = 'PROGRAM SUMMARY'(005).&lt;/P&gt;&lt;P&gt;           WHEN '4'.&lt;/P&gt;&lt;P&gt;                WRK-TITLE2 = 'PROGRAM STATISTICS'(006).&lt;/P&gt;&lt;P&gt;       ENDCASE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_HEADING INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;PERFORM PGH_STANDARD_HEADER USING TEXT-111 WRK-TITLE2.&lt;/P&gt;&lt;P&gt;IF WRK-HDRSW = '2'.&lt;/P&gt;&lt;P&gt;    WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;           02 'VENDOR #'(103),&lt;/P&gt;&lt;P&gt;           18 SY-VLINE,&lt;/P&gt;&lt;P&gt;           19 'P.O #'(104),&lt;/P&gt;&lt;P&gt;           34 SY-VLINE,&lt;/P&gt;&lt;P&gt;           35 'ENTRY DATE'(105),&lt;/P&gt;&lt;P&gt;           45 SY-VLINE,&lt;/P&gt;&lt;P&gt;           46 'USER'(106),&lt;/P&gt;&lt;P&gt;           61 SY-VLINE,&lt;/P&gt;&lt;P&gt;           62 'LINES'(107),&lt;/P&gt;&lt;P&gt;           72 SY-VLINE,&lt;/P&gt;&lt;P&gt;           82 'AMOUNT'(108),&lt;/P&gt;&lt;P&gt;           105 SY-VLINE.&lt;/P&gt;&lt;P&gt;     WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;FORMAT RESET.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Program Pages and Coloum Heading for detail list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&lt;/P&gt;&lt;P&gt;CASE WRK-HDRSW.&lt;/P&gt;&lt;P&gt;  WHEN '5'.&lt;/P&gt;&lt;P&gt;  WRK-TITLE2 = 'DETAIL LISTING'(201).&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;      PERFORM PGH_STANDARD_HEADER USING TEXT-111 WRK-TITLE2.&lt;/P&gt;&lt;P&gt; IF WRK-HDRSW = '5'.&lt;/P&gt;&lt;P&gt;   WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;           02 'VENDOR #'(103),&lt;/P&gt;&lt;P&gt;           16 SY-VLINE,&lt;/P&gt;&lt;P&gt;           17 'P.O #'(104),&lt;/P&gt;&lt;P&gt;           32 SY-VLINE,&lt;/P&gt;&lt;P&gt;           33 'ENTRY DATE'(105),&lt;/P&gt;&lt;P&gt;           43 SY-VLINE,&lt;/P&gt;&lt;P&gt;           44 'USER'(106),&lt;/P&gt;&lt;P&gt;           105 SY-VLINE.&lt;/P&gt;&lt;P&gt;     WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_KEY INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;           02 RESULTS-LIFNR,&lt;/P&gt;&lt;P&gt;           16 SY-VLINE,&lt;/P&gt;&lt;P&gt;           17 RESULTS-EBELN,&lt;/P&gt;&lt;P&gt;           32 SY-VLINE,&lt;/P&gt;&lt;P&gt;           33 RESULTS-AEDAT MM/DD/YY,&lt;/P&gt;&lt;P&gt;           43 SY-VLINE,&lt;/P&gt;&lt;P&gt;           44 RESULTS-ERNAM,&lt;/P&gt;&lt;P&gt;           105 SY-VLINE.&lt;/P&gt;&lt;P&gt;     WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;FORMAT RESET.&lt;/P&gt;&lt;P&gt;  WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;         02 'P.O #'(104),&lt;/P&gt;&lt;P&gt;         14 SY-VLINE,&lt;/P&gt;&lt;P&gt;         15 'LINE'(301),&lt;/P&gt;&lt;P&gt;         22 SY-VLINE,&lt;/P&gt;&lt;P&gt;          23 'DESCRIPTION'(302),&lt;/P&gt;&lt;P&gt;          54 SY-VLINE,&lt;/P&gt;&lt;P&gt;          58 'QTY ORDERED'(303),&lt;/P&gt;&lt;P&gt;          70 SY-VLINE,&lt;/P&gt;&lt;P&gt;          71 'QTY RECEIVED'(304),&lt;/P&gt;&lt;P&gt;          86 SY-VLINE,&lt;/P&gt;&lt;P&gt;          96 'AMOUNT'(305),&lt;/P&gt;&lt;P&gt;          105 SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           ZDATA_TOP4                                       *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include for Data Definition and Declaration&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;    Database Tables Used in the Program&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:  EKKO,          "P.O Header Data&lt;/P&gt;&lt;P&gt;         EKPO,          "P.O Line Data&lt;/P&gt;&lt;P&gt;         EKET,          "Scheduling Agreement Schedule Lines&lt;/P&gt;&lt;P&gt;         LFA1.          "Vendor master data Check table for EKKO-EBELN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Program Selection - Selection Screen Parameters&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_LIFNR FOR EKKO-LIFNR,      "Vendor on P.O.&lt;/P&gt;&lt;P&gt;                S_BSART FOR EKKO-BSART,      "P.O Type.&lt;/P&gt;&lt;P&gt;                S_AEDAT FOR EKKO-AEDAT.      "P.O Creation Date.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK block1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Data Definition - Internal Tables&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF LINE_EKKO,              "purchase order header&lt;/P&gt;&lt;P&gt;          LIFNR LIKE EKKO-LIFNR,        "vendor number&lt;/P&gt;&lt;P&gt;          EBELN LIKE EKKO-EBELN,        "PO number&lt;/P&gt;&lt;P&gt;          AEDAT LIKE EKKO-AEDAT,        "creation date&lt;/P&gt;&lt;P&gt;          ERNAM LIKE EKKO-ERNAM,        "created by&lt;/P&gt;&lt;P&gt;       END OF LINE_EKKO.&lt;/P&gt;&lt;P&gt;DATA: ITAB_EKKO TYPE STANDARD TABLE OF LINE_EKKO WITH HEADER LINE ,&lt;/P&gt;&lt;P&gt;      WA_EKKO TYPE LINE_EKKO.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF LINE_EKPO,               "purchase order line item&lt;/P&gt;&lt;P&gt;           EBELN LIKE EKPO-EBELN,        "PO number&lt;/P&gt;&lt;P&gt;           EBELP LIKE EKPO-EBELP,        "PO line number&lt;/P&gt;&lt;P&gt;           LINES(3) TYPE N,              "number of lines&lt;/P&gt;&lt;P&gt;           NETWR LIKE EKPO-NETWR,        "total PO amount&lt;/P&gt;&lt;P&gt;           MENGE LIKE EKPO-MENGE,        "Quantity ordered&lt;/P&gt;&lt;P&gt;           TXZ01 LIKE EKPO-TXZ01,        "Line item text&lt;/P&gt;&lt;P&gt;       END OF LINE_EKPO.&lt;/P&gt;&lt;P&gt;DATA: ITAB_EKPO TYPE STANDARD TABLE OF LINE_EKPO WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      WA_EKPO TYPE LINE_EKPO.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF LINETYPE_RESULTS,&lt;/P&gt;&lt;P&gt;          LIFNR LIKE EKKO-LIFNR,        "vendor number&lt;/P&gt;&lt;P&gt;          EBELN LIKE EKKO-EBELN,        "PO number&lt;/P&gt;&lt;P&gt;          EBELP LIKE EKPO-EBELP,        "PO line number&lt;/P&gt;&lt;P&gt;          AEDAT LIKE EKKO-AEDAT,        "creation date&lt;/P&gt;&lt;P&gt;          ERNAM LIKE EKKO-ERNAM,        "created by&lt;/P&gt;&lt;P&gt;          LINES(3) TYPE N,              "number of lines&lt;/P&gt;&lt;P&gt;          NETWR LIKE EKPO-NETWR,        "total PO amount&lt;/P&gt;&lt;P&gt;          MENGE LIKE EKPO-MENGE,        "Quantity ordered&lt;/P&gt;&lt;P&gt;          WEMNG LIKE EKET-WEMNG,        "Quantity received&lt;/P&gt;&lt;P&gt;          TXZ01 LIKE EKPO-TXZ01,        "Line item text&lt;/P&gt;&lt;P&gt;      END OF LINETYPE_RESULTS.&lt;/P&gt;&lt;P&gt;DATA: RESULTS TYPE STANDARD TABLE OF LINETYPE_RESULTS WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      WA_RESULTS TYPE LINETYPE_RESULTS.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Internal table for header and sub-heading&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF WRK,&lt;/P&gt;&lt;P&gt;      HDRSW(1),&lt;/P&gt;&lt;P&gt;      TITLE2(40),&lt;/P&gt;&lt;P&gt;      END OF WRK.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Internal table for Statistical Data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF STATS,&lt;/P&gt;&lt;P&gt;      START_TIME LIKE SY-UZEIT,&lt;/P&gt;&lt;P&gt;      END_TIME   LIKE SY-UZEIT,&lt;/P&gt;&lt;P&gt;      PROC_TIME  LIKE SY-UZEIT,&lt;/P&gt;&lt;P&gt;      RECS_EKPO  LIKE SY-DBCNT,&lt;/P&gt;&lt;P&gt;      RECS_EKKO  LIKE SY-DBCNT,&lt;/P&gt;&lt;P&gt;      RECS_EKET  LIKE SY-DBCNT,&lt;/P&gt;&lt;P&gt;      END OF STATS.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Internal table For HIDE Selection&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF SELECT OCCURS 0 ,&lt;/P&gt;&lt;P&gt;      EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;      CHECKBOX(1) TYPE C,&lt;/P&gt;&lt;P&gt;      END OF SELECT.&lt;/P&gt;&lt;P&gt;DATA: MARK(1) TYPE C VALUE 'X'.&lt;/P&gt;&lt;P&gt;DATA: LINE(3) TYPE N.&lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM.      "For AT USER-COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           ZFORM_ROUTINES4                                  *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Program Subroutines&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Subroutine to Retrive Data From Database Tables EKKO and EKPO&lt;/P&gt;&lt;P&gt;*&amp;amp;    Main Processing Logic&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL .&lt;/P&gt;&lt;P&gt;SELECT LIFNR EBELN AEDAT ERNAM&lt;/P&gt;&lt;P&gt;       FROM EKKO INTO TABLE ITAB_EKKO&lt;/P&gt;&lt;P&gt;         WHERE BSART IN S_BSART&lt;/P&gt;&lt;P&gt;           AND AEDAT IN S_AEDAT&lt;/P&gt;&lt;P&gt;           AND LIFNR IN S_LIFNR.&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE&lt;/P&gt;&lt;P&gt;  ITAB_EKKO LINES LINE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;STATS-RECS_EKKO = LINE.&lt;/P&gt;&lt;P&gt;*ADD SY-DBCNT TO STATS-RECS_EKKO.&lt;/P&gt;&lt;P&gt;SORT ITAB_EKKO BY EBELN.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM ITAB_EKKO.&lt;/P&gt;&lt;P&gt;SELECT * FROM EKPO&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN ITAB_EKKO&lt;/P&gt;&lt;P&gt;           WHERE EBELN = ITAB_EKKO-EBELN.&lt;/P&gt;&lt;P&gt;           CLEAR ITAB_EKPO.&lt;/P&gt;&lt;P&gt;              WA_EKPO-EBELN = EKPO-EBELN.&lt;/P&gt;&lt;P&gt;              ADD 1 TO WA_EKPO-LINES.&lt;/P&gt;&lt;P&gt;              ADD EKPO-NETWR TO WA_EKPO-NETWR.&lt;/P&gt;&lt;P&gt;              ADD 1 TO STATS-RECS_EKPO.&lt;/P&gt;&lt;P&gt;              WA_EKPO-EBELP = EKPO-EBELP.&lt;/P&gt;&lt;P&gt;              WA_EKPO-MENGE = EKPO-MENGE.&lt;/P&gt;&lt;P&gt;              WA_EKPO-TXZ01 = EKPO-TXZ01.&lt;/P&gt;&lt;P&gt;           APPEND WA_EKPO TO ITAB_EKPO.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;*ADD SY-DBCNT TO STATS-RECS_EKPO.&lt;/P&gt;&lt;P&gt;SORT ITAB_EKPO BY EBELN.&lt;/P&gt;&lt;P&gt;LOOP AT ITAB_EKPO INTO WA_EKPO.&lt;/P&gt;&lt;P&gt;READ TABLE ITAB_EKKO INTO WA_EKKO WITH KEY EBELN = WA_EKPO-EBELN.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING WA_EKKO TO WA_RESULTS.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING WA_EKPO TO WA_RESULTS.&lt;/P&gt;&lt;P&gt;APPEND WA_RESULTS TO RESULTS.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Equivalent Select Statement for fetching data from EKKO and EKPO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;  SELECT * FROM EKKO WHERE BSART IN S_BSART&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       AND AEDAT IN S_AEDAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       AND LIFNR IN S_LIFNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          CLEAR RESULTS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            SELECT * FROM EKPO WHERE EBELN = EKKO-EBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               ADD 1 TO WA_RESULTS-LINES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               ADD EKPO-NETWR TO WA_RESULTS-NETWR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            ENDSELECT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            WA_RESULTS-LIFNR = EKKO-LIFNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            WA_RESULTS-EBELN = EKKO-EBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            WA_RESULTS-AEDAT = EKKO-AEDAT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            WA_RESULTS-ERNAM = EKKO-ERNAM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            APPEND WA_RESULTS TO RESULTS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDSELECT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Subroutine to Display Basic list for Purchase order&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_LIST .&lt;/P&gt;&lt;P&gt;DATA: TOT_LINES(3) TYPE N.&lt;/P&gt;&lt;P&gt;DATA: TOT_AMT LIKE EKPO-NETWR.&lt;/P&gt;&lt;P&gt;DATA: WRT_FLAG(1) TYPE C.&lt;/P&gt;&lt;P&gt;SORT RESULTS BY LIFNR EBELN.&lt;/P&gt;&lt;P&gt;NEW-PAGE.&lt;/P&gt;&lt;P&gt;WRK-HDRSW = '2'.&lt;/P&gt;&lt;P&gt;LOOP AT RESULTS INTO WA_RESULTS.&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;AT END OF EBELN.&lt;/P&gt;&lt;P&gt; MOVE 'X' TO WRT_FLAG.&lt;/P&gt;&lt;P&gt; ENDAT.&lt;/P&gt;&lt;P&gt; ADD 1 TO TOT_LINES.&lt;/P&gt;&lt;P&gt; ADD WA_RESULTS-NETWR TO TOT_AMT.&lt;/P&gt;&lt;P&gt; IF WRT_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;    WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;           02 SELECT-CHECKBOX AS CHECKBOX,&lt;/P&gt;&lt;P&gt;           04 WA_RESULTS-LIFNR,&lt;/P&gt;&lt;P&gt;           18 SY-VLINE,&lt;/P&gt;&lt;P&gt;           19  WA_RESULTS-EBELN HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           34 SY-VLINE,&lt;/P&gt;&lt;P&gt;           35 WA_RESULTS-AEDAT MM/DD/YY,&lt;/P&gt;&lt;P&gt;           45 SY-VLINE,&lt;/P&gt;&lt;P&gt;           46 WA_RESULTS-ERNAM,&lt;/P&gt;&lt;P&gt;           61 SY-VLINE,&lt;/P&gt;&lt;P&gt;           62 TOT_LINES,&lt;/P&gt;&lt;P&gt;           72 SY-VLINE,&lt;/P&gt;&lt;P&gt;           73 TOT_AMT,&lt;/P&gt;&lt;P&gt;           105 SY-VLINE.&lt;/P&gt;&lt;P&gt;     SELECT-EBELN = WA_RESULTS-EBELN.&lt;/P&gt;&lt;P&gt;     HIDE: SELECT-EBELN.&lt;/P&gt;&lt;P&gt;     CLEAR SELECT-EBELN.&lt;/P&gt;&lt;P&gt;     WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;     CLEAR: WRT_FLAG,&lt;/P&gt;&lt;P&gt;            TOT_LINES,&lt;/P&gt;&lt;P&gt;            TOT_AMT.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;FORMAT RESET.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_GROUP INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;     AT END OF LIFNR.&lt;/P&gt;&lt;P&gt;         SUM.&lt;/P&gt;&lt;P&gt;        WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;               02 'Total For Vendor:'(002),&lt;/P&gt;&lt;P&gt;                   WA_RESULTS-LIFNR,&lt;/P&gt;&lt;P&gt;               34 SY-VLINE,&lt;/P&gt;&lt;P&gt;               45 SY-VLINE,&lt;/P&gt;&lt;P&gt;               61 SY-VLINE,&lt;/P&gt;&lt;P&gt;               72 SY-VLINE,&lt;/P&gt;&lt;P&gt;               73  WA_RESULTS-NETWR,&lt;/P&gt;&lt;P&gt;               105 SY-VLINE.&lt;/P&gt;&lt;P&gt;          WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PGH_STANDARD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Subroutine for printing page header and coloum heading&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PGH_STANDARD_HEADER USING L_TITLE1 L_TITLE2.&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_HEADING INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;PERFORM PGH_WRITE_DATE_TIME.&lt;/P&gt;&lt;P&gt;PERFORM PGH_WRITE_TITLE USING L_TITLE1.&lt;/P&gt;&lt;P&gt;PERFORM PGH_WRITE_REPORT_PAGE.&lt;/P&gt;&lt;P&gt;PERFORM PGH_WRITE_USERID.&lt;/P&gt;&lt;P&gt;PERFORM PGH_WRITE_TITLE USING L_TITLE2.&lt;/P&gt;&lt;P&gt;PERFORM PGH_WRITE_SYSTEM_CLIENT.&lt;/P&gt;&lt;P&gt;FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PGH_STANDARD&lt;/P&gt;&lt;P&gt;FORM PGH_WRITE_USERID.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:02 'USERID:',&lt;/P&gt;&lt;P&gt;      10 SY-UNAME.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;FORM PGH_WRITE_DATE_TIME.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-ULINE.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:02 'DATE:',&lt;/P&gt;&lt;P&gt;      10 SY-DATUM MM/DD/YYYY,&lt;/P&gt;&lt;P&gt;      105 SY-VLINE.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;FORM PGH_WRITE_TITLE USING L_TITLE.&lt;/P&gt;&lt;P&gt;DATA: L_LINSZ LIKE SY-LINSZ.&lt;/P&gt;&lt;P&gt;DATA: L_TITLEL LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;DATA: L_START  LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;     L_LINSZ = SY-LINSZ.&lt;/P&gt;&lt;P&gt;     L_TITLEL = STRLEN( L_TITLE ).&lt;/P&gt;&lt;P&gt;     L_START = ( L_LINSZ / 2 ) - ( L_TITLEL / 2 ).&lt;/P&gt;&lt;P&gt;     POSITION L_START.&lt;/P&gt;&lt;P&gt;     WRITE: L_TITLE.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;FORM PGH_WRITE_REPORT_PAGE.&lt;/P&gt;&lt;P&gt;DATA: L_LINSZ LIKE SY-LINSZ.&lt;/P&gt;&lt;P&gt;DATA: L_START LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;      L_LINSZ = SY-LINSZ.&lt;/P&gt;&lt;P&gt;      L_START = L_LINSZ - 24.&lt;/P&gt;&lt;P&gt;      POSITION L_START.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;       02 'REPORT:', SY-REPID, 47 'PAGE NO:', (2) SY-PAGNO.&lt;/P&gt;&lt;P&gt;      POSITION L_LINSZ.&lt;/P&gt;&lt;P&gt;      WRITE: SY-VLINE.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;FORM PGH_WRITE_SYSTEM_CLIENT.&lt;/P&gt;&lt;P&gt;DATA: L_LINSZ LIKE SY-LINSZ.&lt;/P&gt;&lt;P&gt;DATA: L_START LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;      L_LINSZ = SY-LINSZ.&lt;/P&gt;&lt;P&gt;      L_START = L_LINSZ - 30.&lt;/P&gt;&lt;P&gt;      POSITION L_START.&lt;/P&gt;&lt;P&gt;      WRITE: 'SYSTEM:', SY-SYSID, '/', SY-MANDT.&lt;/P&gt;&lt;P&gt;      POSITION L_LINSZ.&lt;/P&gt;&lt;P&gt;      WRITE: SY-VLINE.&lt;/P&gt;&lt;P&gt;      WRITE:/01 SY-ULINE.&lt;/P&gt;&lt;P&gt;      ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_SELECTION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Subroutine to Display Statistical data For Program&lt;/P&gt;&lt;P&gt;*&amp;amp; i.e Start time, End time, Process time, and No. of Records fetched&lt;/P&gt;&lt;P&gt;*&amp;amp; from tables&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM WRITE_STATISTICS .&lt;/P&gt;&lt;P&gt;NEW-PAGE.&lt;/P&gt;&lt;P&gt;WRK-HDRSW = '4'.&lt;/P&gt;&lt;P&gt;GET TIME.&lt;/P&gt;&lt;P&gt;STATS-END_TIME = SY-UZEIT.&lt;/P&gt;&lt;P&gt;IF STATS-END_TIME &amp;gt; STATS-START_TIME.&lt;/P&gt;&lt;P&gt;   STATS-PROC_TIME = STATS-END_TIME - STATS-START_TIME.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;   STATS-PROC_TIME = '240000'.&lt;/P&gt;&lt;P&gt;   STATS-PROC_TIME = STATS-PROC_TIME - STATS-START_TIME.&lt;/P&gt;&lt;P&gt;   STATS-PROC_TIME = STATS-PROC_TIME + STATS-END_TIME.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_NEGATIVE INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;       02 'START TIME'(113),&lt;/P&gt;&lt;P&gt;       25 SY-VLINE,&lt;/P&gt;&lt;P&gt;       36 STATS-START_TIME USING EDIT MASK '__:__:__',&lt;/P&gt;&lt;P&gt;       105 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;       02 'END TIME'(114),&lt;/P&gt;&lt;P&gt;       25 SY-VLINE,&lt;/P&gt;&lt;P&gt;       36 STATS-END_TIME USING EDIT MASK '__:__:__',&lt;/P&gt;&lt;P&gt;       105 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;       02 'PROCESSING TIME'(115),&lt;/P&gt;&lt;P&gt;       25 SY-VLINE,&lt;/P&gt;&lt;P&gt;       36 STATS-PROC_TIME USING EDIT MASK '__:__:__',&lt;/P&gt;&lt;P&gt;       105 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;       02 'EKKO RECORDS READ'(116),&lt;/P&gt;&lt;P&gt;       25 SY-VLINE,&lt;/P&gt;&lt;P&gt;       31 STATS-RECS_EKKO,&lt;/P&gt;&lt;P&gt;       105 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;       02 'EKPO RECORDS READ'(116),&lt;/P&gt;&lt;P&gt;       25 SY-VLINE,&lt;/P&gt;&lt;P&gt;       31 STATS-RECS_EKPO,&lt;/P&gt;&lt;P&gt;       105 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;       02 'EKET RECORDS READ'(116),&lt;/P&gt;&lt;P&gt;       25 SY-VLINE,&lt;/P&gt;&lt;P&gt;       31 STATS-RECS_EKET,&lt;/P&gt;&lt;P&gt;       105 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;FORMAT RESET.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_SELECTION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESS_DATA2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Subroutine to Fetch Data from EKET table for Detailed List&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM PROCESS_DATA2 .&lt;/P&gt;&lt;P&gt;LOOP AT RESULTS INTO WA_RESULTS .&lt;/P&gt;&lt;P&gt; CLEAR WA_RESULTS-WEMNG.&lt;/P&gt;&lt;P&gt; SELECT * FROM EKET WHERE  EBELN = WA_RESULTS-EBELN&lt;/P&gt;&lt;P&gt;                       AND EBELP = WA_RESULTS-EBELP.&lt;/P&gt;&lt;P&gt;      ADD EKET-WEMNG TO WA_RESULTS-WEMNG.&lt;/P&gt;&lt;P&gt;      ADD 1 TO STATS-RECS_EKET.&lt;/P&gt;&lt;P&gt;                      ENDSELECT.&lt;/P&gt;&lt;P&gt;MODIFY RESULTS FROM WA_RESULTS .&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PROCESS_DATA2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ITEM_DETAIL&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;   Subroutine to Display Detailed list for selected purchase order's&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ITEM_DETAIL USING L_EBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SET PARAMETER ID 'BES' FIELD L_EBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRK-HDRSW = '5'.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'STLI'.  "Standard Status From SAPMSSY0 (SE41)&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_GROUP INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;LOOP AT RESULTS WHERE EBELN = L_EBELN.&lt;/P&gt;&lt;P&gt;  WRITE: /01 SY-VLINE,&lt;/P&gt;&lt;P&gt;          02 RESULTS-EBELN,&lt;/P&gt;&lt;P&gt;          14 SY-VLINE,&lt;/P&gt;&lt;P&gt;          15 RESULTS-EBELP,&lt;/P&gt;&lt;P&gt;          22 SY-VLINE,&lt;/P&gt;&lt;P&gt;          23 RESULTS-TXZ01,&lt;/P&gt;&lt;P&gt;          54 SY-VLINE,&lt;/P&gt;&lt;P&gt;          58(15) RESULTS-MENGE,&lt;/P&gt;&lt;P&gt;          70 SY-VLINE,&lt;/P&gt;&lt;P&gt;          71(15) RESULTS-WEMNG,&lt;/P&gt;&lt;P&gt;          86 SY-VLINE,&lt;/P&gt;&lt;P&gt;          87 RESULTS-NETWR,&lt;/P&gt;&lt;P&gt;          105 SY-VLINE.&lt;/P&gt;&lt;P&gt;          WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;     AT END OF EBELN.&lt;/P&gt;&lt;P&gt;     SUM.&lt;/P&gt;&lt;P&gt;     WRITE:/01 SY-VLINE,&lt;/P&gt;&lt;P&gt;            02 'TOTAL FOR P.O #', RESULTS-EBELN,&lt;/P&gt;&lt;P&gt;            54 SY-VLINE,&lt;/P&gt;&lt;P&gt;            70 SY-VLINE,&lt;/P&gt;&lt;P&gt;            86 SY-VLINE,&lt;/P&gt;&lt;P&gt;            87 RESULTS-NETWR,&lt;/P&gt;&lt;P&gt;            105 SY-VLINE.&lt;/P&gt;&lt;P&gt;             WRITE:/01 SY-ULINE(105).&lt;/P&gt;&lt;P&gt;     ENDAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;FORMAT RESET.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ITEM_DETAIL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ALL_SELECTED&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Subroutine to Display All selected P.O on Basic list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALL_SELECTED .&lt;/P&gt;&lt;P&gt;DATA: LINE_NUMBER LIKE SY-LILLI.&lt;/P&gt;&lt;P&gt;      LINE_NUMBER = 1.&lt;/P&gt;&lt;P&gt;        DO.&lt;/P&gt;&lt;P&gt;          CLEAR:  SELECT-CHECKBOX,&lt;/P&gt;&lt;P&gt;                  SELECT-EBELN.&lt;/P&gt;&lt;P&gt;                  READ LINE LINE_NUMBER FIELD VALUE SELECT-CHECKBOX&lt;/P&gt;&lt;P&gt;                                                    SELECT-EBELN.&lt;/P&gt;&lt;P&gt;                  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                  ADD 1 TO LINE_NUMBER.&lt;/P&gt;&lt;P&gt;                  CHECK SELECT-CHECKBOX = 'X'.&lt;/P&gt;&lt;P&gt;                  NEW-PAGE.&lt;/P&gt;&lt;P&gt;                  PERFORM DISPLAY_ITEM_DETAIL USING SELECT-EBELN.&lt;/P&gt;&lt;P&gt;        ENDDO.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALL_SELECTED&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CLEAR_ALL_SELECTED&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Subroutine to Clear All selected P.O on Basic list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CLEAR_ALL_SELECTED .&lt;/P&gt;&lt;P&gt;DATA: LINE_NUMBER LIKE SY-LILLI.&lt;/P&gt;&lt;P&gt;      LINE_NUMBER = 1.&lt;/P&gt;&lt;P&gt;      DO.&lt;/P&gt;&lt;P&gt;                  READ LINE LINE_NUMBER FIELD VALUE SELECT-CHECKBOX&lt;/P&gt;&lt;P&gt;                                                    SELECT-EBELN.&lt;/P&gt;&lt;P&gt;                  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                  IF SELECT-CHECKBOX = 'X'.&lt;/P&gt;&lt;P&gt;                  CLEAR: SELECT-CHECKBOX.&lt;/P&gt;&lt;P&gt;                  MODIFY LINE LINE_NUMBER FIELD VALUE SELECT-CHECKBOX&lt;/P&gt;&lt;P&gt;                                                    SELECT-EBELN.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                  ADD 1 TO LINE_NUMBER.&lt;/P&gt;&lt;P&gt;      ENDDO.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CLEAR_ALL_SELECTED&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ALL_CHANGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALL_CHANGE .&lt;/P&gt;&lt;P&gt;DATA: LINE_NUMBER LIKE SY-LILLI.&lt;/P&gt;&lt;P&gt;      LINE_NUMBER = 1.&lt;/P&gt;&lt;P&gt;        DO.&lt;/P&gt;&lt;P&gt;          CLEAR:  SELECT-CHECKBOX,&lt;/P&gt;&lt;P&gt;                  SELECT-EBELN.&lt;/P&gt;&lt;P&gt;                  READ LINE LINE_NUMBER FIELD VALUE SELECT-CHECKBOX&lt;/P&gt;&lt;P&gt;                                                    SELECT-EBELN.&lt;/P&gt;&lt;P&gt;                  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                  ADD 1 TO LINE_NUMBER.&lt;/P&gt;&lt;P&gt;                  CHECK SELECT-CHECKBOX = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 NEW-PAGE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  PERFORM DISPLAY_ITEM_DETAIL_CHANGE USING SELECT-EBELN.&lt;/P&gt;&lt;P&gt;        ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALL_CHANGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ITEM_DETAIL_CHANGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;     --&amp;gt;P_SELECT_EBELN  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ITEM_DETAIL_CHANGE  USING    L_EBELN.&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'BES' FIELD L_EBELN.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'ME22' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ITEM_DETAIL_CHANGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ALL_ME23&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALL_ME23 .&lt;/P&gt;&lt;P&gt;DATA: LINE_NUMBER LIKE SY-LILLI.&lt;/P&gt;&lt;P&gt;      LINE_NUMBER = 1.&lt;/P&gt;&lt;P&gt;        DO.&lt;/P&gt;&lt;P&gt;          CLEAR:  SELECT-CHECKBOX,&lt;/P&gt;&lt;P&gt;                  SELECT-EBELN.&lt;/P&gt;&lt;P&gt;                  READ LINE LINE_NUMBER FIELD VALUE SELECT-CHECKBOX&lt;/P&gt;&lt;P&gt;                                                    SELECT-EBELN.&lt;/P&gt;&lt;P&gt;                  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                  ADD 1 TO LINE_NUMBER.&lt;/P&gt;&lt;P&gt;                  CHECK SELECT-CHECKBOX = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 NEW-PAGE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  PERFORM DISPLAY_ITEM_DETAIL_ME23 USING SELECT-EBELN.&lt;/P&gt;&lt;P&gt;        ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALL_ME23&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ITEM_DETAIL_ME23&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;     --&amp;gt;P_SELECT_EBELN  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ITEM_DETAIL_ME23  USING L_EBELN.&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'BES' FIELD L_EBELN.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ITEM_DETAIL_ME23&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yogesh N&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Aug 2008 07:52:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399049#M1045759</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-16T07:52:43Z</dc:date>
    </item>
    <item>
      <title>Re: menu painter help req??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399050#M1045760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try the following code,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the following code, I am checking for sy-ucomm and triggering a corresponding action.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*----------------------------------------------------------------------*
*  FORM TRIGGER_ACTIONS_FOR_UCOMM                                      *
*----------------------------------------------------------------------*
*  Subroutine for performing appropriate actions when a user command is*
*  is triggered                                                        *
*----------------------------------------------------------------------*
*  There are no interface parameters to be passed to this subroutine.  *
*----------------------------------------------------------------------*
FORM trigger_actions_for_ucomm .

  CASE sy-ucomm.

    WHEN 'SALL'.

      PERFORM mark_all_checkboxes.

    WHEN 'DALL'.

      PERFORM demark_all_checkboxes.

    WHEN 'F15'.

      LEAVE SCREEN.

    WHEN '&amp;amp;F12'.

      LEAVE PROGRAM.

  ENDCASE.                             " CASE SY-UCOMM

ENDFORM.                               " TRIGGER_ACTIONS_FOR_UCOMM
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following code snippets will give you an idea on how to select or deselect all the checkboxes on the list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*----------------------------------------------------------------------*
*  FORM MARK_ALL_CHECKBOXES                                            *
*----------------------------------------------------------------------*
*  Subroutine for marking all the checkboxes on the list               *
*----------------------------------------------------------------------*
*  There are no interface parameters to be passed to this subroutine.  *
*----------------------------------------------------------------------*
FORM mark_all_checkboxes .

  DO.
    READ LINE sy-index.
    IF sy-subrc NE 0.
      EXIT.
    ENDIF.                             " IF SY-SUBRC NE 0

    READ LINE sy-index FIELD VALUE sy-lisel INTO w_lisel.
    IF w_lisel+1(1) EQ space AND w_lisel+1(1) NE '-'
                             AND w_lisel+3(1) NE space.

      w_lisel+1(1) = c_flag_x.
      MODIFY LINE sy-index FIELD VALUE sy-lisel FROM w_lisel.

    ENDIF.                             " IF W_LISEL+1(1) EQ...

  ENDDO.

ENDFORM.                               " MARK_ALL_CHECKBOXES
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*----------------------------------------------------------------------*
*  FORM DEMARK_ALL_CHECKBOXES                                          *
*----------------------------------------------------------------------*
*  Subroutine for de selecting all the checkboxes on the list          *
*----------------------------------------------------------------------*
*  There are no interface parameters to be passed to this subroutine.  *
*----------------------------------------------------------------------*
FORM demark_all_checkboxes .

  DO.
    READ LINE sy-index.
    IF sy-subrc NE 0.
      EXIT.
    ENDIF.                             " IF SY-SUBRC NE 0

    READ LINE sy-index FIELD VALUE sy-lisel INTO w_lisel.
    IF w_lisel+1(1) EQ c_flag_x.

      w_lisel+1(1) = space.
      MODIFY LINE sy-index FIELD VALUE sy-lisel FROM w_lisel.

    ENDIF.                             " IF W_LISEL+1(1) EQ...

  ENDDO.

ENDFORM.                               " DEMARK_ALL_CHECKBOXES
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Aug 2008 08:44:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399050#M1045760</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-16T08:44:21Z</dc:date>
    </item>
    <item>
      <title>Re: menu painter help req??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399051#M1045761</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;please also tell me.if i just need to display the only 1 icon on a display list,than how to hide them through pf status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;set pf status 'TEST' excluding 'PRNT' 'DSA'.&lt;/P&gt;&lt;P&gt;this is not working,do i need to write again n again for each icon.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Aug 2008 09:22:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399051#M1045761</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-16T09:22:45Z</dc:date>
    </item>
    <item>
      <title>Re: menu painter help req??</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399052#M1045762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt;set pf status 'TEST' excluding 'PRNT' 'DSA'.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;type-pools: slis.
data: it_ucomm type slis_t_extab.

append 'PRNT' to it_ucomm.
append 'DSA' to it_ucomm.

set pf-status 'TEST' excluding it_ucomm.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you have multiple functions to exclude then you have to use the above approach.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Aug 2008 09:30:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/menu-painter-help-req/m-p/4399052#M1045762</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-16T09:30:33Z</dc:date>
    </item>
  </channel>
</rss>

