<?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: ALV Documentation with programs in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622409#M602352</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Find the code samples from basic to interactive reports here....&lt;/P&gt;&lt;P&gt; ALV ALL IN ONE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMK_ALLINONE_ALV .&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; Program for displaying data using function modules :                *&lt;/P&gt;&lt;P&gt;*&amp;amp; REUSE_ALV_LIST_DISPLAY                                              *&lt;/P&gt;&lt;P&gt;*&amp;amp; REUSE_ALV_POPUP_TO_SELECT                                           *&lt;/P&gt;&lt;P&gt;*&amp;amp; REUSE_ALV_GRID_DISPLAY                                              *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&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;/P&gt;&lt;P&gt;TABLES VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA it_vbak LIKE VBAK OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: ALV1 RADIOBUTTON GROUP ALV,       "REUSE_ALV_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;            ALV2 RADIOBUTTON GROUP ALV,       "REUSE_ALV_POPUP_TO_SELECT&lt;/P&gt;&lt;P&gt;            ALV3 RADIOBUTTON GROUP ALV,       "REUSE_ALV_GRID_DISPLAY&lt;/P&gt;&lt;P&gt;            ALV4 RADIOBUTTON GROUP ALV.       " NORMAL DISPLAY&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM  VBAK&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE it_vbak&lt;/P&gt;&lt;P&gt;         UP TO 10 ROWS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF ALV1 = 'X'.&lt;/P&gt;&lt;P&gt;   PERFORM ALV_FUNC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF ALV2 = 'X'.&lt;/P&gt;&lt;P&gt;   PERFORM ALV_FUNC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF ALV3 = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM ALV_FUNC3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF ALV4 = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM NORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  ALV_FUNC1&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 ALV_FUNC1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_STRUCTURE_NAME               = 'VBAK'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = it_vbak&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;     OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_FUNC1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  ALV_FUNC2&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 ALV_FUNC2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_TITLE                       = 'SALES ORDER INFO'&lt;/P&gt;&lt;P&gt;    I_ZEBRA                       = 'X'&lt;/P&gt;&lt;P&gt;    I_TABNAME                     = 1&lt;/P&gt;&lt;P&gt;    I_STRUCTURE_NAME              = 'vbak'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                      = it_vbak&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                 = 1&lt;/P&gt;&lt;P&gt;     OTHERS                        = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_FUNC2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  ALV_FUNC3&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 ALV_FUNC3 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_STRUCTURE_NAME                  = 'vbak'&lt;/P&gt;&lt;P&gt;    I_GRID_TITLE                      = 'SALES ORDER INFO'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = it_vbak&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;     OTHERS                            = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_FUNC3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  NORM&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 NORM .&lt;/P&gt;&lt;P&gt;format intensified.&lt;/P&gt;&lt;P&gt;skip 1.&lt;/P&gt;&lt;P&gt;WRITE: /'SALES DOC.',&lt;/P&gt;&lt;P&gt;        '    Created on ',&lt;/P&gt;&lt;P&gt;        '    Time',&lt;/P&gt;&lt;P&gt;        '      Created by',&lt;/P&gt;&lt;P&gt;        '       Valid from ',&lt;/P&gt;&lt;P&gt;        '     Sold-to party'.&lt;/P&gt;&lt;P&gt;format intensified off.&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: / it_vbak-vbeln,'   ',&lt;/P&gt;&lt;P&gt;         it_vbak-erdat,'   ',&lt;/P&gt;&lt;P&gt;         it_vbak-erzet,'   ',&lt;/P&gt;&lt;P&gt;         it_vbak-ERNAM,'   ',&lt;/P&gt;&lt;P&gt;         it_vbak-ANGDT,'       ',&lt;/P&gt;&lt;P&gt;         it_vbak-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&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.                    " NORM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMK_SHIPMENT_ALV&lt;/P&gt;&lt;P&gt;         no standard page heading&lt;/P&gt;&lt;P&gt;         line-size 105&lt;/P&gt;&lt;P&gt;         line-count 50(5)&lt;/P&gt;&lt;P&gt;         message-id zz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       TABLES                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;tables : vttk, "Shipment Header&lt;/P&gt;&lt;P&gt;         vttp, " Shipment Item&lt;/P&gt;&lt;P&gt;         lips. " Delivary Item&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;***TYPE-POOLS                    *&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;*WORK AREAS                      *&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_fldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_events type slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES                  *&lt;/P&gt;&lt;P&gt;***********************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Shimpment Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       tknum like vttk-tknum,&lt;/P&gt;&lt;P&gt;       shtyp like vttk-shtyp,&lt;/P&gt;&lt;P&gt;       tpnum like vttp-tpnum,&lt;/P&gt;&lt;P&gt;       vbeln like vttp-vbeln,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       vbeln like lips-vbeln,&lt;/P&gt;&lt;P&gt;       posnr like lips-posnr,&lt;/P&gt;&lt;P&gt;       matnr like lips-matnr,&lt;/P&gt;&lt;P&gt;       lfimg like lips-lfimg,&lt;/P&gt;&lt;P&gt;       meins like lips-meins,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_fldcats type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_event type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_fldcats1 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_event1 type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;data: v_index type sy-index,&lt;/P&gt;&lt;P&gt;      v_vbeln like lips-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT-OPTIONS&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;selection-screen begin of block b with frame title text-001.&lt;/P&gt;&lt;P&gt;          select-options : s_tknum for vttk-tknum .&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*START-OF-SELCTION&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform populate-data.&lt;/P&gt;&lt;P&gt;  sort itab by tknum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt; write : 'Shipment wise Delivary Report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform build-fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform modify-fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform build-events.&lt;/P&gt;&lt;P&gt;  perform modify-events.&lt;/P&gt;&lt;P&gt;  perform set-layout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-pfstatus.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform list-display.&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  populate-data&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Retrives the Shipment data depending on the selection criteria   *&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;FORM populate-data.&lt;/P&gt;&lt;P&gt;select vttk~tknum&lt;/P&gt;&lt;P&gt;       vttk~shtyp&lt;/P&gt;&lt;P&gt;       vttp~tpnum&lt;/P&gt;&lt;P&gt;       vttp~vbeln&lt;/P&gt;&lt;P&gt;       into table itab&lt;/P&gt;&lt;P&gt;       from vttk&lt;/P&gt;&lt;P&gt;       join vttp&lt;/P&gt;&lt;P&gt;       on vttp&lt;SUB&gt;tknum = vttk&lt;/SUB&gt;tknum&lt;/P&gt;&lt;P&gt;       where vttk~tknum  in s_tknum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message e999 with 'NO DATA FOUND'.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate-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;*&amp;amp;      Form  build-fieldcatalog&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build-fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;    i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname           = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_inclname                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fldcats&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;    program_error                = 2&lt;/P&gt;&lt;P&gt;    others                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " BUILD-FIELDCATALOG&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;      Form  build-events&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 build-events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_event&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-events&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  set-layout&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 set-layout.&lt;/P&gt;&lt;P&gt;  wa_layout-zebra          = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-no_colhead = space.&lt;/P&gt;&lt;P&gt;  wa_layout-no_vline = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " set-layout&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  list-display&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 list-display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcats&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list-display&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  modify-fieldcatalog&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 modify-fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcats into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'TKNUM'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Ship No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'SHTYP'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Ship Type'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'TPNUM'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Item No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'VBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Delivary No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-emphasize = 'C311'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcats from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify-fieldcatalog&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;      Form  modify-events&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 modify-events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_event with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_event from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   read table it_event with key name =&lt;/P&gt;&lt;P&gt;slis_ev_end_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'FOOTER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_event from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;  endif.&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.                    " modify-events&lt;/P&gt;&lt;P&gt;&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;      Form  HEADER-OF-REPORT&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 HEADER-OF-REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : 'Shipment Wise Delivary Report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " HEADER-OF-REPORT&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  FOOTER-OF-REPORT&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 FOOTER-OF-REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : 'End of Report'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FOOTER-OF-REPORT&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;      Form  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      User command for Calling Transaction VT03N, Execute and Refresh&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 user_command USING    p_ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                         p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_INDEX = P_SELFIELD-TABINDEX.      " holds the selected table index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;     IF p_selfield-fieldname eq 'VBELN'.&lt;/P&gt;&lt;P&gt;      perform secondary_list.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;*&amp;amp;      Form  secondary_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;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 secondary_list.&lt;/P&gt;&lt;P&gt; perform get_data1.&lt;/P&gt;&lt;P&gt; perform build-fieldcatalog1.&lt;/P&gt;&lt;P&gt;  perform modify-fieldcatalog1.&lt;/P&gt;&lt;P&gt;  perform build-events1.&lt;/P&gt;&lt;P&gt;  perform modify-events1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-layout.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-pfstatus.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform list-display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " secondary_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  build-fieldcatalog1&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 build-fieldcatalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;    i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname           = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_inclname                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fldcats1&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;    program_error                = 2&lt;/P&gt;&lt;P&gt;    others                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-fieldcatalog1&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  modify-fieldcatalog1&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 modify-fieldcatalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcats into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'VBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Delivary No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'POSNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Item No'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'MATNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Material'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'LFIMG'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Quantity'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'MEINS'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Unit of Measure'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcats from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   endloop.&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.                    " modify-fieldcatalog1&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  build-events1&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 build-events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_event1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-events1&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  modify-events1&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 modify-events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; read table it_event1 with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER_OF_REPORT_2'.&lt;/P&gt;&lt;P&gt;    modify it_event1 from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify-events1&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  list-display1&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 list-display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FIELDCAT                    = it_fldcats1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                      = it_event1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   T_OUTTAB                       = itab1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                         = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                         = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                       = it_fldcats1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = it_event1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = itab1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;   OTHERS                            = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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.                    " list-display1&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;      Form  get_data1&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 get_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; READ TABLE itab INDEX V_INDEX.&lt;/P&gt;&lt;P&gt; v_vbeln = itab-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; select vbeln&lt;/P&gt;&lt;P&gt;        posnr&lt;/P&gt;&lt;P&gt;        matnr&lt;/P&gt;&lt;P&gt;        lfimg&lt;/P&gt;&lt;P&gt;        meins&lt;/P&gt;&lt;P&gt;        from lips&lt;/P&gt;&lt;P&gt;        into table itab1&lt;/P&gt;&lt;P&gt;        where vbeln eq v_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data1&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  header_of_report_2&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 header_of_report_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: 'Delivary item list'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_of_report_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMK_PO_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : ekko,&lt;/P&gt;&lt;P&gt;         ekpo.&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;data: begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     EBELN like ekko-ebeln,   "Purchasing Document Number&lt;/P&gt;&lt;P&gt;     BUKRS like ekko-bukrs,   "Company Code&lt;/P&gt;&lt;P&gt;     BSTYP like ekko-bstyp,	   "Purchasing document category&lt;/P&gt;&lt;P&gt;     STATU like ekko-statu,   "Status of purchasing document&lt;/P&gt;&lt;P&gt;     AEDAT like ekko-aedat,	  "Date on which the record was created&lt;/P&gt;&lt;P&gt;     LIFNR like ekko-lifnr,   "Vendor's account number&lt;/P&gt;&lt;P&gt;    end of itab.&lt;/P&gt;&lt;P&gt;data: begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;      EBELN like ekpo-ebeln,&lt;/P&gt;&lt;P&gt;      EBELP like ekpo-ebelp,&lt;/P&gt;&lt;P&gt;      MATNR like ekpo-matnr,&lt;/P&gt;&lt;P&gt;      MATKL like ekpo-matkl,&lt;/P&gt;&lt;P&gt;      MENGE like ekpo-menge,&lt;/P&gt;&lt;P&gt;      end of itab1.&lt;/P&gt;&lt;P&gt;data: begin of itab2 occurs 0,&lt;/P&gt;&lt;P&gt;      LIFNR like lfa1-lifnr,&lt;/P&gt;&lt;P&gt;      NAME1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;      ADRNR like lfa1-adrnr,&lt;/P&gt;&lt;P&gt;      ORT01 like lfa1-ort01,&lt;/P&gt;&lt;P&gt;      ORT02 like lfa1-ort02,&lt;/P&gt;&lt;P&gt;      PFACH like lfa1-pfach,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      end of itab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Specific Tables and Structures&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_repid like sy-repid,&lt;/P&gt;&lt;P&gt;       v_index like sy-index,&lt;/P&gt;&lt;P&gt;       v_eblen like ekko-ebeln,&lt;/P&gt;&lt;P&gt;       v_lifnr like ekko-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Specific Tables and Structures&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_fldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: wa_events type slis_alv_event.&lt;/P&gt;&lt;P&gt;data: wa_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;data: it_fldcat type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: it_events type slis_t_event.&lt;/P&gt;&lt;P&gt;data: it_fldcat1 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: it_events1 type slis_t_event.&lt;/P&gt;&lt;P&gt;data: it_fldcat2 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: it_events2 type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection 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;selection-screen begin of block b with frame title text-001.&lt;/P&gt;&lt;P&gt;          select-options : s_ebeln for ekko-ebeln .&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; perform build_fldcatalog.&lt;/P&gt;&lt;P&gt; perform modify_fldcatalog.&lt;/P&gt;&lt;P&gt; perform build_events.&lt;/P&gt;&lt;P&gt; perform modify_events.&lt;/P&gt;&lt;P&gt; perform build_layout.&lt;/P&gt;&lt;P&gt; perform list_display.&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;      Form  get_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;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 get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select&lt;/P&gt;&lt;P&gt;     EBELN&lt;/P&gt;&lt;P&gt;     BUKRS&lt;/P&gt;&lt;P&gt;     BSTYP&lt;/P&gt;&lt;P&gt;     STATU&lt;/P&gt;&lt;P&gt;     AEDAT&lt;/P&gt;&lt;P&gt;     LIFNR&lt;/P&gt;&lt;P&gt;     from ekko&lt;/P&gt;&lt;P&gt;     into table itab&lt;/P&gt;&lt;P&gt;     where ebeln in s_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_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;*&amp;amp;      Form  build_fldcatalog&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 build_fldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_PROGRAM_NAME               = v_repid&lt;/P&gt;&lt;P&gt;    I_INTERNAL_TABNAME           = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;P&gt;    I_INCLNAME                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;P&gt;     CT_FIELDCAT                  = it_fldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INCONSISTENT_INTERFACE       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                       = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fldcatalog&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  build_events&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 build_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_events&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events&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  modify_events&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 modify_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table it_events with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt; if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_events from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_events&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  build_layout&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 build_layout.&lt;/P&gt;&lt;P&gt;  wa_layout-zebra          = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-no_colhead = space.&lt;/P&gt;&lt;P&gt;  wa_layout-no_vline = space.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_layout&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  list_display&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 list_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_events&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 30&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list_display&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;      Form  modify_fldcatalog&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 modify_fldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcat into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'EBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Purchase Order'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-emphasize = 'C811'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'BUKRS'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Company Code'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'BSTYP'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'PO Category'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'STATU'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'PO Status'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_fldcat-tech ='X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'AEDAT'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Date Created'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'LIFNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Vendor'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;         wa_fldcat-emphasize = 'C511'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcat from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_fldcatalog&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;      Form  header-of-page&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 header-of-report.&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;write : /20 'Purchase Order List Report'.&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header-of-report&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  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      User command for Calling Transaction VT03N, Execute and Refresh&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 user_command USING    p_ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                         p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_INDEX = P_SELFIELD-TABINDEX.      " holds the selected table index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;     IF p_selfield-fieldname eq 'EBELN'.&lt;/P&gt;&lt;P&gt;       perform display_po_item.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;     IF p_selfield-fieldname eq 'LIFNR'.&lt;/P&gt;&lt;P&gt;       perform display_vendor_info.&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;*&amp;amp;      Form  secondary_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;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_po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table itab index v_index.&lt;/P&gt;&lt;P&gt;v_eblen = itab-ebeln.&lt;/P&gt;&lt;P&gt;perform get_item_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " secondary_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  display_vendor_info&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_vendor_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table itab index v_index.&lt;/P&gt;&lt;P&gt;v_lifnr = itab-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform get_vendor_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_vendor_info&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  get_item_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;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 get_item_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select  EBELN&lt;/P&gt;&lt;P&gt;        EBELP&lt;/P&gt;&lt;P&gt;        MATNR&lt;/P&gt;&lt;P&gt;        MATKL&lt;/P&gt;&lt;P&gt;        MENGE&lt;/P&gt;&lt;P&gt;        from ekpo&lt;/P&gt;&lt;P&gt;        into table itab1&lt;/P&gt;&lt;P&gt;        where ebeln eq v_eblen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;  perform build_catalog1.&lt;/P&gt;&lt;P&gt;  perform modify_catalog1.&lt;/P&gt;&lt;P&gt;  perform build_events1.&lt;/P&gt;&lt;P&gt;  perform modify_events1.&lt;/P&gt;&lt;P&gt;  perform list_display1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_item_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;*&amp;amp;      Form  build_catalog1&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 build_catalog1.&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_PROGRAM_NAME               = v_repid&lt;/P&gt;&lt;P&gt;    I_INTERNAL_TABNAME           = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_INCLNAME                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;P&gt;     CT_FIELDCAT                  = it_fldcat1&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    INCONSISTENT_INTERFACE       = 1&lt;/P&gt;&lt;P&gt;    PROGRAM_ERROR                = 2&lt;/P&gt;&lt;P&gt;    OTHERS                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_catalog1&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  modify_catalog1&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 modify_catalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_catalog1&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;      Form  build_events1&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 build_events1.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_events1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events1&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  modify_events1&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 modify_events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table it_events1 with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt; if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT1'.&lt;/P&gt;&lt;P&gt;    modify it_events1 from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_events1&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  list_display1&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 list_display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcat1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_events1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list_display1&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;      Form  header-of-report1&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 header-of-report1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write : 'ITEM WISE DEATILS OF A PURCHASE ORDER' centered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header-of-report1&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  get_vendor_info&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 get_vendor_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select LIFNR&lt;/P&gt;&lt;P&gt;       NAME1&lt;/P&gt;&lt;P&gt;       ADRNR&lt;/P&gt;&lt;P&gt;       ORT01&lt;/P&gt;&lt;P&gt;       ORT02&lt;/P&gt;&lt;P&gt;       PFACH&lt;/P&gt;&lt;P&gt;       from lfa1&lt;/P&gt;&lt;P&gt;       into table itab2&lt;/P&gt;&lt;P&gt;       where lifnr eq v_lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    perform build_catalog2.&lt;/P&gt;&lt;P&gt;  perform modify_catalog2.&lt;/P&gt;&lt;P&gt;  perform build_events2.&lt;/P&gt;&lt;P&gt;  perform modify_events2.&lt;/P&gt;&lt;P&gt;  perform list_display2.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_item_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;*&amp;amp;      Form  build_catalog1&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 build_catalog2.&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_PROGRAM_NAME               = v_repid&lt;/P&gt;&lt;P&gt;    I_INTERNAL_TABNAME           = 'ITAB2'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_INCLNAME                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;P&gt;     CT_FIELDCAT                  = it_fldcat2&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    INCONSISTENT_INTERFACE       = 1&lt;/P&gt;&lt;P&gt;    PROGRAM_ERROR                = 2&lt;/P&gt;&lt;P&gt;    OTHERS                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_catalog1&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  modify_catalog1&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 modify_catalog2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_catalog1&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;      Form  build_events1&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 build_events2.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_events2&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events1&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  modify_events1&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 modify_events2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table it_events2 with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt; if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT2'.&lt;/P&gt;&lt;P&gt;    modify it_events2 from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_events1&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  list_display1&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 list_display2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcat2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_events2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab2&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list_display1&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;      Form  header-of-report1&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 header-of-report2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write : 'VENDOR DETAILS' centered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header-of-report1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV INTERACTIVE REPORT&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMK_SHIPMENT_ALV&lt;/P&gt;&lt;P&gt;         no standard page heading&lt;/P&gt;&lt;P&gt;         line-size 105&lt;/P&gt;&lt;P&gt;         line-count 50(5)&lt;/P&gt;&lt;P&gt;         message-id zz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       TABLES                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;tables : vttk, "Shipment Header&lt;/P&gt;&lt;P&gt;         vttp, " Shipment Item&lt;/P&gt;&lt;P&gt;         lips. " Delivary Item&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;***TYPE-POOLS                    *&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;*WORK AREAS                      *&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_fldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_events type slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES                  *&lt;/P&gt;&lt;P&gt;***********************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Shimpment Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       tknum like vttk-tknum,&lt;/P&gt;&lt;P&gt;       shtyp like vttk-shtyp,&lt;/P&gt;&lt;P&gt;       tpnum like vttp-tpnum,&lt;/P&gt;&lt;P&gt;       vbeln like vttp-vbeln,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       vbeln like lips-vbeln,&lt;/P&gt;&lt;P&gt;       posnr like lips-posnr,&lt;/P&gt;&lt;P&gt;       matnr like lips-matnr,&lt;/P&gt;&lt;P&gt;       lfimg like lips-lfimg,&lt;/P&gt;&lt;P&gt;       meins like lips-meins,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_fldcats type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_event type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_fldcats1 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_event1 type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;data: v_index type sy-index,&lt;/P&gt;&lt;P&gt;      v_vbeln like lips-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT-OPTIONS&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;selection-screen begin of block b with frame title text-001.&lt;/P&gt;&lt;P&gt;          select-options : s_tknum for vttk-tknum .&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*START-OF-SELCTION&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform populate-data.&lt;/P&gt;&lt;P&gt;  sort itab by tknum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt; write : 'Shipment wise Delivary Report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform build-fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform modify-fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform build-events.&lt;/P&gt;&lt;P&gt;  perform modify-events.&lt;/P&gt;&lt;P&gt;  perform set-layout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-pfstatus.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform list-display.&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  populate-data&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Retrives the Shipment data depending on the selection criteria   *&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;FORM populate-data.&lt;/P&gt;&lt;P&gt;select vttk~tknum&lt;/P&gt;&lt;P&gt;       vttk~shtyp&lt;/P&gt;&lt;P&gt;       vttp~tpnum&lt;/P&gt;&lt;P&gt;       vttp~vbeln&lt;/P&gt;&lt;P&gt;       into table itab&lt;/P&gt;&lt;P&gt;       from vttk&lt;/P&gt;&lt;P&gt;       join vttp&lt;/P&gt;&lt;P&gt;       on vttp&lt;SUB&gt;tknum = vttk&lt;/SUB&gt;tknum&lt;/P&gt;&lt;P&gt;       where vttk~tknum  in s_tknum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message e999 with 'NO DATA FOUND'.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate-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;*&amp;amp;      Form  build-fieldcatalog&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build-fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;    i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname           = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_inclname                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fldcats&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;    program_error                = 2&lt;/P&gt;&lt;P&gt;    others                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " BUILD-FIELDCATALOG&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;      Form  build-events&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 build-events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_event&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-events&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  set-layout&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 set-layout.&lt;/P&gt;&lt;P&gt;  wa_layout-zebra          = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-no_colhead = space.&lt;/P&gt;&lt;P&gt;  wa_layout-no_vline = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " set-layout&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  list-display&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 list-display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcats&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list-display&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  modify-fieldcatalog&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 modify-fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcats into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'TKNUM'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Ship No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'SHTYP'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Ship Type'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'TPNUM'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Item No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'VBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Delivary No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcats from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify-fieldcatalog&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;      Form  modify-events&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 modify-events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_event with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_event from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   read table it_event with key name =&lt;/P&gt;&lt;P&gt;slis_ev_end_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'FOOTER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_event from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;  endif.&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.                    " modify-events&lt;/P&gt;&lt;P&gt;&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;      Form  HEADER-OF-REPORT&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 HEADER-OF-REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : 'Shipment Wise Delivary Report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " HEADER-OF-REPORT&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  FOOTER-OF-REPORT&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 FOOTER-OF-REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : 'End of Report'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FOOTER-OF-REPORT&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;      Form  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      User command for Calling Transaction VT03N, Execute and Refresh&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 user_command USING    p_ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                         p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_INDEX = P_SELFIELD-TABINDEX.      " holds the selected table index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;     IF p_selfield-fieldname eq 'VBELN'.&lt;/P&gt;&lt;P&gt;      perform secondary_list.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;*&amp;amp;      Form  secondary_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;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 secondary_list.&lt;/P&gt;&lt;P&gt; perform get_data1.&lt;/P&gt;&lt;P&gt; perform build-fieldcatalog1.&lt;/P&gt;&lt;P&gt;  perform modify-fieldcatalog1.&lt;/P&gt;&lt;P&gt;  perform build-events1.&lt;/P&gt;&lt;P&gt;  perform modify-events1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-layout.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-pfstatus.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform list-display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " secondary_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  build-fieldcatalog1&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 build-fieldcatalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;    i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname           = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_inclname                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fldcats1&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;    program_error                = 2&lt;/P&gt;&lt;P&gt;    others                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-fieldcatalog1&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  modify-fieldcatalog1&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 modify-fieldcatalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcats into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'VBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Delivary No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'POSNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Item No'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'MATNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Material'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'LFIMG'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Quantity'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'MEINS'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Unit of Measure'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcats from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   endloop.&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.                    " modify-fieldcatalog1&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  build-events1&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 build-events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_event1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-events1&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  modify-events1&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 modify-events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; read table it_event1 with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER_OF_REPORT_2'.&lt;/P&gt;&lt;P&gt;    modify it_event1 from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify-events1&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  list-display1&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 list-display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcats1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_event1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&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.                    " list-display1&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;      Form  get_data1&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 get_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; READ TABLE itab INDEX V_INDEX.&lt;/P&gt;&lt;P&gt; v_vbeln = itab-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; select vbeln&lt;/P&gt;&lt;P&gt;        posnr&lt;/P&gt;&lt;P&gt;        matnr&lt;/P&gt;&lt;P&gt;        lfimg&lt;/P&gt;&lt;P&gt;        meins&lt;/P&gt;&lt;P&gt;        from lips&lt;/P&gt;&lt;P&gt;        into table itab1&lt;/P&gt;&lt;P&gt;        where vbeln eq v_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data1&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  header_of_report_2&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 header_of_report_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: 'Delivary item list'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_of_report_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- callling a transaction code by passing the initial screen value.&lt;/P&gt;&lt;P&gt;&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;      Form  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;form user_command using    p_ucomm    like sy-ucomm&lt;/P&gt;&lt;P&gt;                         p_selfield type slis_selfield.&lt;/P&gt;&lt;P&gt;  data : l_index like sy-index,&lt;/P&gt;&lt;P&gt;         l_refbn like cooi-refbn.&lt;/P&gt;&lt;P&gt;  l_index = p_selfield-tabindex.       " holds the selected table index&lt;/P&gt;&lt;P&gt;  clear l_refbn.&lt;/P&gt;&lt;P&gt;  case p_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    when '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      clear l_refbn.&lt;/P&gt;&lt;P&gt;      read table it_outtab index l_index.&lt;/P&gt;&lt;P&gt;      if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;        l_refbn = it_outtab-refbn.&lt;/P&gt;&lt;P&gt;        if not l_refbn is initial.&lt;/P&gt;&lt;P&gt;          set parameter id 'BES' field l_refbn.&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;        endif.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        message e999 with text-014.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV WITH CHECK BOXES&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZTESTPRG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES AND DATA DECLARATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TABLES: mara,makt.",marc.&lt;/P&gt;&lt;P&gt;data syrepid like sy-repid.&lt;/P&gt;&lt;P&gt;data sydatum(10). " LIKE sy-datum.&lt;/P&gt;&lt;P&gt;data sypagno(3) type n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GROUP (TYPE-POOLS---------&amp;gt;SLIS)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE DECLARATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of t_mara occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;meins like mara-meins,&lt;/P&gt;&lt;P&gt;mtart like mara-mtart,&lt;/P&gt;&lt;P&gt;matkl like mara-matkl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end of t_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_marc occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;werks like marc-werks,&lt;/P&gt;&lt;P&gt;minbe like marc-minbe.&lt;/P&gt;&lt;P&gt;data: end of t_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_makt occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;spras like makt-spras,&lt;/P&gt;&lt;P&gt;end of t_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;chkbox(1) type c,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;meins like mara-meins,&lt;/P&gt;&lt;P&gt;maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;spras like makt-spras,&lt;/P&gt;&lt;P&gt;werks like marc-werks,&lt;/P&gt;&lt;P&gt;minbe like marc-minbe,&lt;/P&gt;&lt;P&gt;end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND THE LAYOUT FOR THE ALV.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THIS IS DONE TO MAKE THE CODE SIMPLER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAMS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MORE TABLES AND CREATE A STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;fieldlayout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP-OF-PAGE ETC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : eventstab type slis_t_event with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : heading type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading1 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading2 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading3 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading4 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading5 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading6 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading7 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading8 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : colorstruct type slis_coltypes.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INITIALIZATION. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;syrepid = sy-repid.&lt;/P&gt;&lt;P&gt;sypagno = sy-pagno.&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE COLORSTRUCT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_colorstruct using colorstruct.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform selectdata_and_sort.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_layout using fieldlayout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform merge_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE EVENTSTAB.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_eventstab tables eventstab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE HEADING TABLES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_headingtable tables heading using 'HEADING'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading1 using 'HEADING1'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading2 using 'HEADING2'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading3 using 'HEADING3'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading4 using 'HEADING4'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading5 using 'HEADING5'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading6 using 'HEADING6'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading7 using 'HEADING7'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading8 using 'HEADING8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO DISPLAY THE LIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform display_alv_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORMS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COLUMN JUSTIFICATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form populate_fieldcatalog.&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATNR' 'X' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MEINS' ' '.&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MAKTX' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MTART' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATKL' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'SPRAS' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'WERKS' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MINBE' ' ' .&lt;/P&gt;&lt;P&gt;endform. " POPULATE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FILL_FIELDS_OF_FIELDCATALOG *&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;........ *&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; FIELDCATALOG *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_TABNAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_FIELDNAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY *&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 fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;structure fieldcatalog&lt;/P&gt;&lt;P&gt;using p_tabname&lt;/P&gt;&lt;P&gt;p_fieldname&lt;/P&gt;&lt;P&gt;p_key.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;p_no_out.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcatalog-tabname = p_tabname.&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = p_fieldname.&lt;/P&gt;&lt;P&gt;fieldcatalog-key = p_key.&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = '1234'.&lt;/P&gt;&lt;P&gt;*fieldcatalog-no_out = p_no_out.&lt;/P&gt;&lt;P&gt;append fieldcatalog.&lt;/P&gt;&lt;P&gt;endform. " FILL_FIELDSOFFIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM POPULATE_LAYOUT *&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;........ *&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; FIELDLAYOUT *&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 populate_layout using fieldlayout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;fieldlayout-f2code = '&amp;amp;ETA' .&lt;/P&gt;&lt;P&gt;fieldlayout-zebra = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOR THE WINDOW TITLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-window_titlebar = 'ALV with Events'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldlayout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;fieldlayout-no_vline = ' '.&lt;/P&gt;&lt;P&gt;*fieldlayout-no_input = 'X'.&lt;/P&gt;&lt;P&gt;fieldlayout-confirmation_prompt = ''.&lt;/P&gt;&lt;P&gt;fieldlayout-key_hotspot = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This removes the column headings if the flag is set to 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-no_colhead = ' '.&lt;/P&gt;&lt;P&gt;*fieldlayout-hotspot_fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;fieldlayout-detail_popup = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldlayout-coltab_fieldname = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldlayout-box_fieldname = 'CHKBOX'.&lt;/P&gt;&lt;P&gt;fieldlayout-edit_mode = 'X'.&lt;/P&gt;&lt;P&gt;endform. " POPULATE_LAYOUT&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM SELECTDATA_AND_SORT *&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;........ *&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 selectdata_and_sort.&lt;/P&gt;&lt;P&gt;select matnr meins mtart matkl from mara&lt;/P&gt;&lt;P&gt;into corresponding fields of t_mara&lt;/P&gt;&lt;P&gt;up to 500 rows .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr maktx spras from makt&lt;/P&gt;&lt;P&gt;into corresponding fields of t_makt&lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr and&lt;/P&gt;&lt;P&gt;spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr werks minbe from marc&lt;/P&gt;&lt;P&gt;into corresponding fields of t_marc&lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;append t_marc.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;append t_makt.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;append t_mara.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;perform populate_itab1.&lt;/P&gt;&lt;P&gt;sort itab1 by matnr.&lt;/P&gt;&lt;P&gt;endform. " SELECTDATA_AND_SORT&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM MERGE_FIELDCATALOG *&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;........ *&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 merge_fieldcatalog.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_program_name = syrepid&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name = 'COLORSTRUCT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_inclname = syrepid&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;ct_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;others = 3.&lt;/P&gt;&lt;P&gt;endform. " MERGE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOLLOWS:-&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_callback_program --&amp;gt; CALLING PROGRAM NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name --&amp;gt; STRUCTURE NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is_layout --&amp;gt; LAYOUT NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_fieldcat ---&amp;gt; BODY OF THE FIELD CATALOGUE INTERNAL TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form display_alv_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_INTERFACE_CHECK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_callback_program = syrepid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_structure_name = 'ITAB1'&lt;/P&gt;&lt;P&gt;is_layout = fieldlayout&lt;/P&gt;&lt;P&gt;it_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SPECIAL_GROUPS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_DEFAULT = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOOL BAR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_VARIANT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;it_events = eventstab[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_PRINT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;t_outtab = itab1&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_ALV_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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form POPULATE_ITAB1&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;/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;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;&lt;/P&gt;&lt;P&gt;form populate_itab1.&lt;/P&gt;&lt;P&gt;loop at t_mara.&lt;/P&gt;&lt;P&gt;loop at t_makt where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;loop at t_marc where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;move-corresponding t_mara to itab1.&lt;/P&gt;&lt;P&gt;move-corresponding t_makt to itab1.&lt;/P&gt;&lt;P&gt;move-corresponding t_marc to itab1.&lt;/P&gt;&lt;P&gt;append itab1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform. " POPULATE_ITAB1&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;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_EVENTSTAB&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;/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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_EVENTSTAB 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;&lt;/P&gt;&lt;P&gt;form fill_eventstab tables p_eventstab structure eventstab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EVENTS NAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_list_type = 0&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;et_events = p_eventstab[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;list_type_wrong = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS DYNAMICALY CALLED.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_coverpage.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_COVERPAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_coverpage .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_COVERPAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_top_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_end_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_list_modify.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'LIST_MODIFY' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_list.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_LIST' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_list .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_LIST' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. " FILL_EVENTSTAB&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;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_HEADINGTABLE&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;/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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_HEADING 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;&lt;/P&gt;&lt;P&gt;form fill_headingtable tables p_heading structure heading&lt;/P&gt;&lt;P&gt;using tablename.&lt;/P&gt;&lt;P&gt;case tablename.&lt;/P&gt;&lt;P&gt;when 'HEADING'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;concatenate&lt;/P&gt;&lt;P&gt;' REPORT NAME:-' syrepid&lt;/P&gt;&lt;P&gt;' ABB Industry Pte Ltd' into p_heading-info.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;write sy-datum using edit mask '__/__/____' to sydatum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate&lt;/P&gt;&lt;P&gt;' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno&lt;/P&gt;&lt;P&gt;into p_heading-info.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING1'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-COVER-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING2'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-COVER-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING3'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-TOP-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING4'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-END-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN 'HEADING5'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-TYP = 'H'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-INFO = 'LIST-MODIFY'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND P_HEADING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;when 'HEADING6'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING7'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-LIST'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING8'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-LIST'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;endform. " FILL_HEADINGTABLE&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_PAGE *&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;........ *&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 top_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_COLORSTRUCT&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;/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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_COLORSTRUCT 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;&lt;/P&gt;&lt;P&gt;form fill_colorstruct using p_colorstruct type slis_coltypes .&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-col = 6.&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-int = 1.&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-inv = 1.&lt;/P&gt;&lt;P&gt;endform. " FILL_COLORSTRUCT&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_COVERPAGE *&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;........ *&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 top_of_coverpage.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading1[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_COVERPAGE *&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;........ *&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 end_of_coverpage.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading2[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FOREIGN_TOP_OF_PAGE *&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;........ *&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 foreign_top_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading3[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FOREIGN_END_OF_PAGE *&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;........ *&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 foreign_end_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading4[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM LIST_MODIFY *&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;........ *&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 LIST_MODIFY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_LIST_COMMENTARY = HEADING5[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_PAGE *&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;........ *&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 end_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading6[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_LIST *&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;........ *&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 end_of_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading7[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_LIST *&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;........ *&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 top_of_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading8[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- End of Program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV SUBTOTALS&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZYFI_REPT007&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-SIZE 300&lt;/P&gt;&lt;P&gt;       LINE-COUNT 50&lt;/P&gt;&lt;P&gt;       MESSAGE-ID ZYFI.&lt;/P&gt;&lt;P&gt;************************************&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MODIFICATION LOG (latest change first):                              *&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; Date         Author       Incident No       Request No             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            Description                              *&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;************************************************************************&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES : COOI, " Commitments Management: Line Items&lt;/P&gt;&lt;P&gt;         LFA1,                         " Vendor master (general section)&lt;/P&gt;&lt;P&gt;         VBEP,&lt;/P&gt;&lt;P&gt;         RKPLN.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TABLE TYPES AND INTERNAL TABLES                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF TYP_COOI ,&lt;/P&gt;&lt;P&gt;       OBJNR LIKE COOI-OBJNR,&lt;/P&gt;&lt;P&gt;       SAKTO LIKE COOI-SAKTO,&lt;/P&gt;&lt;P&gt;       MEGBTR LIKE COOI-MEGBTR,&lt;/P&gt;&lt;P&gt;       MEINH LIKE COOI-MEINH,&lt;/P&gt;&lt;P&gt;       WKGBTR LIKE COOI-WKGBTR,&lt;/P&gt;&lt;P&gt;       REFBN LIKE COOI-REFBN,&lt;/P&gt;&lt;P&gt;       RFPOS LIKE COOI-RFPOS,&lt;/P&gt;&lt;P&gt;       SGTXT LIKE COOI-SGTXT,&lt;/P&gt;&lt;P&gt;       BUDAT LIKE COOI-BUDAT,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE COOI-LIFNR,&lt;/P&gt;&lt;P&gt;       END OF TYP_COOI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF TYP_LFA1 ,&lt;/P&gt;&lt;P&gt;        LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;        NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;       END OF TYP_LFA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_OUTTAB OCCURS 0,&lt;/P&gt;&lt;P&gt;         OBJNR LIKE COOI-OBJNR,&lt;/P&gt;&lt;P&gt;         SAKTO LIKE COOI-SAKTO,&lt;/P&gt;&lt;P&gt;         MEGBTR LIKE COOI-MEGBTR,&lt;/P&gt;&lt;P&gt;         MEINH LIKE COOI-MEINH,&lt;/P&gt;&lt;P&gt;         WKGBTR LIKE COOI-WKGBTR,&lt;/P&gt;&lt;P&gt;         REFBN LIKE COOI-REFBN,&lt;/P&gt;&lt;P&gt;         RFPOS LIKE COOI-RFPOS,&lt;/P&gt;&lt;P&gt;         SGTXT LIKE COOI-SGTXT,&lt;/P&gt;&lt;P&gt;         BUDAT LIKE COOI-BUDAT,&lt;/P&gt;&lt;P&gt;         LIFNR LIKE COOI-LIFNR,&lt;/P&gt;&lt;P&gt;         NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;       END OF IT_OUTTAB.&lt;/P&gt;&lt;P&gt;DATA : IT_COOI LIKE TYP_COOI OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       IT_LFA1 LIKE TYP_LFA1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- ALV Declarations&lt;/P&gt;&lt;P&gt;TYPE-POOLS SLIS.&lt;/P&gt;&lt;P&gt;DATA: IT_EVENTS            TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      GS_EVENT             TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;      wa_fldcat            type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA: S_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      GT_PRINT TYPE SLIS_PRINT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_FLDCAT       TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: IT_SORT             TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    SELECTION SCREEN                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_KOKRS FOR COOI-KOKRS NO-EXTENSION NO INTERVALS,&lt;/P&gt;&lt;P&gt;                                       " Controlling Area&lt;/P&gt;&lt;P&gt;                 S_BUKRS FOR COOI-BUKRS NO-EXTENSION NO INTERVALS,&lt;/P&gt;&lt;P&gt;                                       " Company code&lt;/P&gt;&lt;P&gt;                 S_GJAHR FOR COOI-GJAHR NO-EXTENSION NO INTERVALS,&lt;/P&gt;&lt;P&gt;                                       " Fiscal Year&lt;/P&gt;&lt;P&gt;                 S_OBJNR FOR RKPLN-AUFNR MATCHCODE OBJECT ORDE,&lt;/P&gt;&lt;P&gt;                                                        " Internal order&lt;/P&gt;&lt;P&gt;                 S_SAKTO FOR COOI-SAKTO MATCHCODE OBJECT KART,&lt;/P&gt;&lt;P&gt;                                                          " Cost Element&lt;/P&gt;&lt;P&gt;                 S_BUDAT FOR COOI-BUDAT, " Debit Date&lt;/P&gt;&lt;P&gt;                 S_LIFNR FOR COOI-LIFNR. " Vendor&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       S T A R T   O F   S E L E C T I O N                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*-- Read data&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       E N D   O F   S E L E C T I O N                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*-- Process the data and prepare the output data&lt;/P&gt;&lt;P&gt;  PERFORM CALCULATE_FINAL_INFO.&lt;/P&gt;&lt;P&gt;*--Display Report output&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_REPORT.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM CALCULATE_FINAL_INFO                                     *&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;    Process the data and prepare final internal table               *&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 CALCULATE_FINAL_INFO.&lt;/P&gt;&lt;P&gt;  DATA : L_OBJNR LIKE COOI-OBJNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_LFA1 BY LIFNR.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM IT_LFA1 COMPARING LIFNR.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_COOI.&lt;/P&gt;&lt;P&gt;    L_OBJNR = IT_COOI-OBJNR+2(20).&lt;/P&gt;&lt;P&gt;    SHIFT L_OBJNR LEFT DELETING LEADING '0'.&lt;/P&gt;&lt;P&gt;    IF L_OBJNR IN S_OBJNR.&lt;/P&gt;&lt;P&gt;      READ TABLE IT_LFA1 WITH KEY LIFNR  = IT_COOI-LIFNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        IT_OUTTAB-NAME1 = IT_LFA1-NAME1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING IT_COOI TO IT_OUTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR IT_OUTTAB-OBJNR.&lt;/P&gt;&lt;P&gt;      IT_OUTTAB-OBJNR = L_OBJNR.&lt;/P&gt;&lt;P&gt;      APPEND IT_OUTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR IT_OUTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR IT_LFA1.&lt;/P&gt;&lt;P&gt;      CLEAR L_OBJNR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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  GET_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Fetch the Data from the table COOI and LFA1&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 GET_DATA.&lt;/P&gt;&lt;P&gt;  SELECT OBJNR&lt;/P&gt;&lt;P&gt;        SAKTO&lt;/P&gt;&lt;P&gt;        MEGBTR&lt;/P&gt;&lt;P&gt;        MEINH&lt;/P&gt;&lt;P&gt;        WKGBTR&lt;/P&gt;&lt;P&gt;        REFBN&lt;/P&gt;&lt;P&gt;        RFPOS&lt;/P&gt;&lt;P&gt;        SGTXT&lt;/P&gt;&lt;P&gt;        BUDAT&lt;/P&gt;&lt;P&gt;        LIFNR&lt;/P&gt;&lt;P&gt;        FROM COOI&lt;/P&gt;&lt;P&gt;        INTO TABLE IT_COOI&lt;/P&gt;&lt;P&gt;        WHERE   BUDAT IN S_BUDAT&lt;/P&gt;&lt;P&gt;        AND LIFNR IN S_LIFNR&lt;/P&gt;&lt;P&gt;        AND KOKRS IN S_KOKRS&lt;/P&gt;&lt;P&gt;        AND BUKRS IN S_BUKRS&lt;/P&gt;&lt;P&gt;        AND GJAHR IN S_GJAHR&lt;/P&gt;&lt;P&gt;        AND SAKTO IN S_SAKTO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Vendor name from LFA1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT LIFNR&lt;/P&gt;&lt;P&gt;           NAME1&lt;/P&gt;&lt;P&gt;           FROM LFA1&lt;/P&gt;&lt;P&gt;           INTO TABLE IT_LFA1&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN IT_COOI&lt;/P&gt;&lt;P&gt;           WHERE LIFNR EQ IT_COOI-LIFNR.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I999 WITH TEXT-013.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_DATA&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;      Form  DISPLAY_REPORT&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;       Display the output&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_REPORT.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_CATALOG.&lt;/P&gt;&lt;P&gt;  PERFORM FRM_PREPARE_EVENT_LIST TABLES IT_EVENTS.&lt;/P&gt;&lt;P&gt;  IF NOT IT_OUTTAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              I_CALLBACK_PROGRAM      = V_REPID&lt;/P&gt;&lt;P&gt;              I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;              IT_FIELDCAT             = IT_FLDCAT&lt;/P&gt;&lt;P&gt;              IT_SORT                 = IT_SORT&lt;/P&gt;&lt;P&gt;              IT_EVENTS               = IT_EVENTS&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              T_OUTTAB                = IT_OUTTAB&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              PROGRAM_ERROR           = 1&lt;/P&gt;&lt;P&gt;              OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I999 WITH TEXT-013.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " DISPLAY_REPORT&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;      Form  BUILD_CATALOG&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;      Build the Field catalog for the ALV Report&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 BUILD_CATALOG.&lt;/P&gt;&lt;P&gt;  DATA: V_INDEX LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_PROGRAM_NAME         = V_REPID&lt;/P&gt;&lt;P&gt;            I_INTERNAL_TABNAME     = 'IT_OUTTAB'&lt;/P&gt;&lt;P&gt;            I_INCLNAME             = V_REPID&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            CT_FIELDCAT            = IT_FLDCAT&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;P&gt;            PROGRAM_ERROR          = 2&lt;/P&gt;&lt;P&gt;            OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_FLDCAT WITH KEY FIELDNAME = 'WKGBTR'&lt;/P&gt;&lt;P&gt;                         TABNAME = 'IT_OUTTAB' INTO WA_FLDCAT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC  EQ 0.&lt;/P&gt;&lt;P&gt;    WA_FLDCAT-DO_SUM  = 'X'.&lt;/P&gt;&lt;P&gt;    MODIFY IT_FLDCAT FROM WA_FLDCAT INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_FLDCAT WITH KEY FIELDNAME = 'OBJNR'&lt;/P&gt;&lt;P&gt;                            TABNAME =  'IT_OUTTAB' INTO WA_FLDCAT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;     WA_FLDCAT-SELTEXT_L = 'Order'.&lt;/P&gt;&lt;P&gt;     WA_FLDCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;     WA_FLDCAT-DDICTXT = 'L'.&lt;/P&gt;&lt;P&gt;    MODIFY IT_FLDCAT FROM WA_FLDCAT INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_SORT-FIELDNAME = 'OBJNR'.&lt;/P&gt;&lt;P&gt;  LS_SORT-SPOS      = 1.&lt;/P&gt;&lt;P&gt;  LS_SORT-UP        = 'X'.&lt;/P&gt;&lt;P&gt;  LS_SORT-SUBTOT    = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND LS_SORT TO IT_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_CATALOG&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;      Form  FRM_PREPARE_EVENT_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Build the Events&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 FRM_PREPARE_EVENT_LIST TABLES IT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  CLEAR GS_EVENT.&lt;/P&gt;&lt;P&gt;  GS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  GS_EVENT-FORM = 'TOP_OF_PAGE_REPORT'.&lt;/P&gt;&lt;P&gt;  APPEND GS_EVENT TO IT_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FRM_PREPARE_EVENT_LIST&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TOP OF PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE_REPORT.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_YREPORT_HEADER'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DL_TITLE = SY-TITLE&lt;/P&gt;&lt;P&gt;            DL_REPID = SY-CPROG&lt;/P&gt;&lt;P&gt;            DL_LINSZ = SY-LINSZ&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS   = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FRM_TOP_OF_PAGE_REPORT&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  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Drill Down Functionality to Call the Transaction ME23&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 USER_COMMAND USING    P_UCOMM    LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;                           P_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  DATA : L_INDEX LIKE SY-INDEX,&lt;/P&gt;&lt;P&gt;         L_REFBN LIKE COOI-REFBN.&lt;/P&gt;&lt;P&gt;  L_INDEX = P_SELFIELD-TABINDEX.       " holds the selected table index&lt;/P&gt;&lt;P&gt;  CLEAR L_REFBN.&lt;/P&gt;&lt;P&gt;  CASE P_UCOMM.&lt;/P&gt;&lt;P&gt;*-- On Double Click&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      CLEAR L_REFBN.&lt;/P&gt;&lt;P&gt;*-- Read the Current Line&lt;/P&gt;&lt;P&gt;      READ TABLE IT_OUTTAB INDEX L_INDEX.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        L_REFBN = IT_OUTTAB-REFBN.&lt;/P&gt;&lt;P&gt;        IF NOT L_REFBN IS INITIAL.&lt;/P&gt;&lt;P&gt;*-- Set the BES Paramater Id to the Current line Purchase Order Number&lt;/P&gt;&lt;P&gt;          SET PARAMETER ID 'BES' FIELD L_REFBN.&lt;/P&gt;&lt;P&gt;*-- Call the Transaction Purchase Order Display with the above PO Number&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE E999 WITH TEXT-014.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV WITH F4 HELP ON OUTPUT&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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; Report ZALV1_14797&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;/P&gt;&lt;P&gt;REPORT ZALV1_14797.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;L_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;X_EVENTS TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;IT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;VBELN(10) type c ,&lt;/P&gt;&lt;P&gt;POSNR LIKE VBAP-POSNR,&lt;/P&gt;&lt;P&gt;CHK(1),&lt;/P&gt;&lt;P&gt;color(4),&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT VBELN&lt;/P&gt;&lt;P&gt;POSNR&lt;/P&gt;&lt;P&gt;FROM VBAP&lt;/P&gt;&lt;P&gt;UP TO 20 ROWS&lt;/P&gt;&lt;P&gt;INTO TABLE ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X_FIELDCAT-FIELDNAME = 'CHK'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-TABNAME = 'ITAB'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-INPUT = 'X'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-CHECKBOX = 'X'.&lt;/P&gt;&lt;P&gt;APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X_FIELDCAT-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-SELTEXT_L = 'VBELN'.&lt;/P&gt;&lt;P&gt;*X_FIELDCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;x_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-TABNAME = 'ITAB'.&lt;/P&gt;&lt;P&gt;x_fieldcat-ref_fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;x_fieldcat-ref_tabname = 'VBAK'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-COL_POS = 2.&lt;/P&gt;&lt;P&gt;APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X_FIELDCAT-FIELDNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-SELTEXT_L = 'POSNR'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-TABNAME = 'ITAB'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-COL_POS = 3.&lt;/P&gt;&lt;P&gt;APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;L_LAYOUT-info_fieldname = 'COLOR'.&lt;/P&gt;&lt;P&gt;*L_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = SY-REPID&lt;/P&gt;&lt;P&gt;IS_LAYOUT = L_LAYOUT&lt;/P&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = 'STATUS'&lt;/P&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = IT_FIELDCAT&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = ITAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&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; Form STATUS&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_EXTAB 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 STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;*- Pf status&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'STATUS'.&lt;/P&gt;&lt;P&gt;ENDFORM. " STATUS&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; Form 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;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;R_UCOMM text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;RS_SELFIELD 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 USER_COMMAND USING R_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GD_REPID LIKE SY-REPID, "Exists&lt;/P&gt;&lt;P&gt;REF_GRID TYPE REF TO CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;IF REF_GRID IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;E_GRID = REF_GRID.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF NOT REF_GRID IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL METHOD REF_GRID-&amp;gt;CHECK_CHANGED_DATA .&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;loop at itab where chk = 'X'.&lt;/P&gt;&lt;P&gt;itab-color = 'C300'.&lt;/P&gt;&lt;P&gt;modify itab index sy-tabix transporting color.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;RS_SELFIELD-refresh = 'X'.endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV HIERARCHICAL&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZS_REPT_SD_REPORT_47&lt;/P&gt;&lt;P&gt;       MESSAGE-ID ZSD&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-COUNT 65(2)&lt;/P&gt;&lt;P&gt;       LINE-SIZE 127.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Progname    : ZS_REPT_SD_REPORT_47                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Service MRA Report                                     *&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;LOGICAL DB  :            VERSION OF :                                *&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;DESCRIPTION : Service MRA Report                                     *&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;AUTHOR      :  DRN Kishore                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATE        :  03/10/2005                                            *&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;MODIFICATION LOG (latest change first):                              *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date       Incident          Request         Author                  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           #30445                            DRN Kishore             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           Description:                                              *&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;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : VBRK,        " Billing: Header Data&lt;/P&gt;&lt;P&gt;         VBRP,        " Billing: Item Data&lt;/P&gt;&lt;P&gt;         KONV,        " Conditions (Transaction Data)&lt;/P&gt;&lt;P&gt;         KNA1,        " General Data in Customer Master&lt;/P&gt;&lt;P&gt;         TVKO,        " Organizational Unit: Sales Organizations&lt;/P&gt;&lt;P&gt;         TVTW,        " Organizational Unit: Distribution Channels&lt;/P&gt;&lt;P&gt;         TSPA,        " Organizational Unit: Sales Divisions&lt;/P&gt;&lt;P&gt;         MARA,        " General Material Data&lt;/P&gt;&lt;P&gt;         TVFK,        " Billing: Document Types&lt;/P&gt;&lt;P&gt;         TVAU.        " Sales Documents: Order Reasons&lt;/P&gt;&lt;P&gt;&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  INTERNAL TABLES.                                                   *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold the VBRK Billing data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_VBRK OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN LIKE VBRK-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         KUNAG LIKE VBRK-KUNAG,              " Sold-to&lt;/P&gt;&lt;P&gt;         FKDAT LIKE VBRK-FKDAT,              " Bill Date&lt;/P&gt;&lt;P&gt;         FKART LIKE VBRK-FKART,              " Bill doc type&lt;/P&gt;&lt;P&gt;         KNUMV LIKE VBRK-KNUMV,              " doc cond number&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       field credit applied(TBD)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         WAERK LIKE VBRK-WAERK,              " SD document currency&lt;/P&gt;&lt;P&gt;       END OF IT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold the VBRK Billing:Item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN      LIKE VBRP-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         POSNR      LIKE VBRP-POSNR,              " Billing item&lt;/P&gt;&lt;P&gt;         FKIMG      LIKE VBRP-FKIMG,              " Blled quantity&lt;/P&gt;&lt;P&gt;         MATNR      LIKE VBRP-MATNR,              " Material number&lt;/P&gt;&lt;P&gt;         AUGRU_AUFT LIKE VBRP-AUGRU_AUFT,         " Order reason&lt;/P&gt;&lt;P&gt;         NETWR      LIKE VBRP-NETWR,              " Net val in&lt;/P&gt;&lt;P&gt;       END OF IT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold distinct doc condition no's and their&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                      condition values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_KONV OCCURS 0,&lt;/P&gt;&lt;P&gt;         KNUMV LIKE KONV-KNUMV,              " # of document condition&lt;/P&gt;&lt;P&gt;         KPOSN LIKE KONV-KPOSN,              " Condition item number&lt;/P&gt;&lt;P&gt;         KWERT LIKE KONV-KWERT,              " Condition value&lt;/P&gt;&lt;P&gt;       END OF IT_KONV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold distinct doc condition no's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_KNUMV OCCURS 0,&lt;/P&gt;&lt;P&gt;         KNUMV LIKE KONV-KNUMV,              " # of document condition&lt;/P&gt;&lt;P&gt;       END OF IT_KNUMV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Final internal table for list display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;         CUST_NO     LIKE VBRK-KUNAG,&lt;/P&gt;&lt;P&gt;         BILL_DOC    LIKE VBRK-VBELN,&lt;/P&gt;&lt;P&gt;         BILL_DATE   LIKE VBRK-FKDAT,&lt;/P&gt;&lt;P&gt;         BILL_TYPE   LIKE VBRK-FKART,&lt;/P&gt;&lt;P&gt;         MODEL       LIKE VBRP-MATNR,&lt;/P&gt;&lt;P&gt;         SHP_COST    LIKE KONV-KWERT,&lt;/P&gt;&lt;P&gt;         FLD_CR      LIKE VBRP-NETWR,          " vbrp-augru_auft = 'DU'&lt;/P&gt;&lt;P&gt;         MRA_CODE    LIKE VBRP-AUGRU_AUFT,&lt;/P&gt;&lt;P&gt;         MRA_AMOUNT  LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;         INVOICE_AMT LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;         CURRENCY    LIKE VBRK-WAERK,&lt;/P&gt;&lt;P&gt;       END OF IT_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal table to store Document header details for display&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_HEAD OCCURS 0,&lt;/P&gt;&lt;P&gt;         EXP,&lt;/P&gt;&lt;P&gt;         CUST_NO    LIKE VBRK-KUNAG,          " Customer Number&lt;/P&gt;&lt;P&gt;         BILL_DOC   LIKE VBRK-VBELN,          " Document number&lt;/P&gt;&lt;P&gt;         BILL_DATE  LIKE VBRK-FKDAT,          " Billing date&lt;/P&gt;&lt;P&gt;         BILL_TYPE  LIKE VBRK-FKART,          " Billing type&lt;/P&gt;&lt;P&gt;       END OF IT_HEAD.&lt;/P&gt;&lt;P&gt;*--Internal table to store Document item details for display&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_ITEM OCCURS 0,&lt;/P&gt;&lt;P&gt;         BILL_DOC    LIKE VBRK-VBELN,          " Document number&lt;/P&gt;&lt;P&gt;         MODEL       LIKE VBRP-MATNR,          " Material Number&lt;/P&gt;&lt;P&gt;         SHP_COST    LIKE KONV-KWERT,          " Doc Condition value&lt;/P&gt;&lt;P&gt;         FLD_CR      LIKE VBRP-NETWR,          " IF VBRP-AUGRU_AUFT='DU'&lt;/P&gt;&lt;P&gt;         MRA_CODE    LIKE VBRP-AUGRU_AUFT,     " MRA Code&lt;/P&gt;&lt;P&gt;         MRA_AMOUNT  LIKE VBRP-NETWR,          " IF VBRK-FKART = 'RE'&lt;/P&gt;&lt;P&gt;         INVOICE_AMT LIKE VBRP-NETWR,          " Invoice Amount&lt;/P&gt;&lt;P&gt;         CURRENCY    LIKE VBRK-WAERK,          " Currency&lt;/P&gt;&lt;P&gt;       END OF IT_ITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To store the second level data : Billing document, amount&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_DETAILS OCCURS 0,&lt;/P&gt;&lt;P&gt;         CUST_NO     LIKE VBRK-KUNAG,    " Customer Number&lt;/P&gt;&lt;P&gt;         BILL_DOC    LIKE VBRK-VBELN,    " Document number&lt;/P&gt;&lt;P&gt;         QUANTITY    TYPE I,"VBRP-FKIMG,    " Qty&lt;/P&gt;&lt;P&gt;         AMOUNT      LIKE VBRP-NETWR,    " Amount&lt;/P&gt;&lt;P&gt;       END OF IT_DETAILS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Structures for ALV List Display&lt;/P&gt;&lt;P&gt;DATA: LS_FIELDCAT  TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      LS_LAYOUT    TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      LS_VARIANT   TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      LS_EVENT     TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;      LS_KEYINFO   TYPE SLIS_KEYINFO_ALV,&lt;/P&gt;&lt;P&gt;      LS_SORTINFO  TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Internal Tables for ALV List Display&lt;/P&gt;&lt;P&gt;DATA: IT_FIELDCAT  TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      IT_EVENTS    TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      IT_SORTINFO  TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;DATA : V_TOTAL_SALES_QTY     TYPE I,             " Total Sales Quantity&lt;/P&gt;&lt;P&gt;       V_TOTAL_SALES_AMT     LIKE VBRP-NETWR,    " Total Sales Amount&lt;/P&gt;&lt;P&gt;       V_TOTAL_RTRNS_QTY     TYPE I,             " Total Returns Qty&lt;/P&gt;&lt;P&gt;       V_TOTAL_RTRNS_AMT     LIKE VBRP-NETWR,    " Total Returns Amt&lt;/P&gt;&lt;P&gt;       V_TOTAL_FLDCR_QTY     TYPE I,             " Total Fld Cr Qty&lt;/P&gt;&lt;P&gt;       V_TOTAL_FLDCR_AMT     LIKE VBRP-NETWR,    " Total Fld Cr Amount&lt;/P&gt;&lt;P&gt;       V_CURRENCY            LIKE VBRK-WAERK.    " Currency Key&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;    SELECTION-SCREEN.                                                *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK SEL1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_VKORG FOR VBRK-VKORG           " Sales Organization&lt;/P&gt;&lt;P&gt;                            OBLIGATORY,&lt;/P&gt;&lt;P&gt;                S_VTWEG FOR VBRK-VTWEG           " Distribution Channel&lt;/P&gt;&lt;P&gt;                            OBLIGATORY,&lt;/P&gt;&lt;P&gt;                S_SPART FOR VBRK-SPART           " Division&lt;/P&gt;&lt;P&gt;                            OBLIGATORY,&lt;/P&gt;&lt;P&gt;                S_KUNAG FOR VBRK-KUNAG,          " Sold-to-party&lt;/P&gt;&lt;P&gt;                S_MATNR FOR VBRP-MATNR,          " Material&lt;/P&gt;&lt;P&gt;                S_FKDAT FOR VBRK-FKDAT           " Billing Date&lt;/P&gt;&lt;P&gt;                            OBLIGATORY,&lt;/P&gt;&lt;P&gt;                S_FKART FOR VBRK-FKART,          " Billing Type&lt;/P&gt;&lt;P&gt;                S_AUGRU FOR VBRP-AUGRU_AUFT.     " MRA Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN ULINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS:RB_DTL RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 4(35) TEXT-002 .        " Detail Report&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;*- Product class summary by customer&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS:RB_SUM RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 4(35) TEXT-003.         " Summary&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END   OF BLOCK SEL1.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  At Selection Screen Event                                          *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Validate selection-screen. Check for inputs&lt;/P&gt;&lt;P&gt;PERFORM VALIDATE.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  TOP-OF-PAGE                                                        *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Display the standard top of page if summary is selected&lt;/P&gt;&lt;P&gt;  PERFORM TOP_OF_PAGE_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Display the standard top of page if summary is selected&lt;/P&gt;&lt;P&gt;  PERFORM TOP_OF_PAGE_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_COLUMN_HEADERS.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  START-OF-SELECTION.                                                *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Get the required data from tables&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  END-OF-SELECTION.                                                  *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Display report&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_DATA.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  AT LINE SELECTION                                                  *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Display details for the quantity or the amount selected.&lt;/P&gt;&lt;P&gt;   PERFORM DISPLAY_DETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  VALIDATE                                                 *&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;      Validate Billing date in the selection-screen                  *&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 VALIDATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Sales Organization&lt;/P&gt;&lt;P&gt;  SELECT  VKORG UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TVKO&lt;/P&gt;&lt;P&gt;    INTO TVKO-VKORG&lt;/P&gt;&lt;P&gt;    WHERE VKORG IN S_VKORG.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E001.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Distribution Channel&lt;/P&gt;&lt;P&gt;  SELECT  VTWEG UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TVTW&lt;/P&gt;&lt;P&gt;    INTO TVTW-VTWEG&lt;/P&gt;&lt;P&gt;    WHERE VTWEG IN S_VTWEG.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E002.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Division&lt;/P&gt;&lt;P&gt;  SELECT  SPART UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TSPA&lt;/P&gt;&lt;P&gt;    INTO TSPA-SPART&lt;/P&gt;&lt;P&gt;    WHERE SPART IN S_SPART.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E003.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Shipt-to&lt;/P&gt;&lt;P&gt;  SELECT  KUNNR UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM KNA1&lt;/P&gt;&lt;P&gt;    INTO KNA1-KUNNR&lt;/P&gt;&lt;P&gt;    WHERE KUNNR IN S_KUNAG.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E030.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Model Number&lt;/P&gt;&lt;P&gt;  SELECT  MATNR UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM MARA&lt;/P&gt;&lt;P&gt;    INTO MARA-MATNR&lt;/P&gt;&lt;P&gt;    WHERE MATNR IN S_MATNR.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E047.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Billing Date&lt;/P&gt;&lt;P&gt;  SELECT FKDAT UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM VBRK&lt;/P&gt;&lt;P&gt;    INTO VBRK-FKDAT&lt;/P&gt;&lt;P&gt;    WHERE FKDAT IN S_FKDAT.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E048.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Billing Type&lt;/P&gt;&lt;P&gt;  SELECT FKART UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TVFK&lt;/P&gt;&lt;P&gt;    INTO TVFK-FKART&lt;/P&gt;&lt;P&gt;    WHERE FKART IN S_FKART.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E004.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check MRA Code&lt;/P&gt;&lt;P&gt;  SELECT AUGRU UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TVAU&lt;/P&gt;&lt;P&gt;    INTO TVAU-AUGRU&lt;/P&gt;&lt;P&gt;    WHERE AUGRU IN S_AUGRU.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E049.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE&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;      Form  GET_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get the required data from tables                              *&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 GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Get Billing data from VBRK and VBRP&lt;/P&gt;&lt;P&gt;  PERFORM GET_BILLING_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Get Shipping Costs from KONV based on the Document Condition Number&lt;/P&gt;&lt;P&gt;  PERFORM GET_SHIPPING_COSTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA&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;      Form  GET_BILLING_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get Billing data from VBRK and VBRP                            *&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 GET_BILLING_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Get data Billing Document header details from VBRK&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                      based on the selection criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT VBELN                         " Billing Document&lt;/P&gt;&lt;P&gt;         KUNAG                         " Customer&lt;/P&gt;&lt;P&gt;         FKDAT                         " Billing Date&lt;/P&gt;&lt;P&gt;         FKART                         " Billing Type&lt;/P&gt;&lt;P&gt;         KNUMV                         " Document Condition Number&lt;/P&gt;&lt;P&gt;         WAERK                         " Currency&lt;/P&gt;&lt;P&gt;         INTO TABLE IT_VBRK&lt;/P&gt;&lt;P&gt;    FROM VBRK&lt;/P&gt;&lt;P&gt;   WHERE VKORG IN S_VKORG              " Sales Organisation&lt;/P&gt;&lt;P&gt;     AND VTWEG IN S_VTWEG              " Distribution Channel&lt;/P&gt;&lt;P&gt;     AND SPART IN S_SPART              " Division&lt;/P&gt;&lt;P&gt;     AND KUNAG IN S_KUNAG              " Customer&lt;/P&gt;&lt;P&gt;     AND FKDAT IN S_FKDAT              " Billing Date&lt;/P&gt;&lt;P&gt;     AND FKART IN S_FKART              " Billing Type&lt;/P&gt;&lt;P&gt;     AND VBTYP NE 'N'                  " Cancelled Ducuments&lt;/P&gt;&lt;P&gt;     AND FKSTO NE 'X'.                 " Cancellation Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_VBRK BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Get data Billing Document item details from VBRP for all selected&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        from VBRP and other criteria entered in the selection criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT IT_VBRK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT  VBELN                      " Billing Document&lt;/P&gt;&lt;P&gt;            POSNR                      " Item Number&lt;/P&gt;&lt;P&gt;            FKIMG                      " Billed Quantity&lt;/P&gt;&lt;P&gt;            MATNR                      " Material Number&lt;/P&gt;&lt;P&gt;            AUGRU_AUFT                 " MRA Code&lt;/P&gt;&lt;P&gt;            NETWR                      " Invoice Amount&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE IT_VBRP&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN IT_VBRK&lt;/P&gt;&lt;P&gt;      WHERE VBELN = IT_VBRK-VBELN      " Document Number&lt;/P&gt;&lt;P&gt;        AND MATNR IN S_MATNR           " Material Number&lt;/P&gt;&lt;P&gt;        AND AUGRU_AUFT IN S_AUGRU.     " MRA Code&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_BILLING_DATA&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;      Form  GET_SHIPPING_COSTS                                       *&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; Get Shipping Costs from KONV based on the Document Condition Number *&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 GET_SHIPPING_COSTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Get all the selected Document condition numbers into internal table&lt;/P&gt;&lt;P&gt;  IF NOT IT_VBRK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;      IT_KNUMV-KNUMV = IT_VBRK-KNUMV.&lt;/P&gt;&lt;P&gt;      APPEND IT_KNUMV.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Get the Condition values for the Cundition numbers&lt;/P&gt;&lt;P&gt;    IF NOT IT_KNUMV[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SORT IT_KNUMV BY KNUMV.&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM IT_KNUMV COMPARING KNUMV.&lt;/P&gt;&lt;P&gt;      SELECT KNUMV&lt;/P&gt;&lt;P&gt;             KPOSN&lt;/P&gt;&lt;P&gt;             KWERT&lt;/P&gt;&lt;P&gt;        INTO TABLE IT_KONV&lt;/P&gt;&lt;P&gt;        FROM KONV&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN IT_KNUMV&lt;/P&gt;&lt;P&gt;        WHERE KNUMV = IT_KNUMV-KNUMV&lt;/P&gt;&lt;P&gt;          AND KSCHL = 'ZFRT'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_SHIPPING_COSTS&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;      Form  DISPLAY_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Display report                                                 *&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_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--If data is selected, display the report&lt;/P&gt;&lt;P&gt;  IF NOT IT_VBRK[] IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT IT_VBRP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--If Detail report option is selected in the selection-screen&lt;/P&gt;&lt;P&gt;    IF RB_DTL = 'X'.&lt;/P&gt;&lt;P&gt;*--Populate the header and item details in IT_HEAD and IT_ITEM&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_HEAD_ITEM.&lt;/P&gt;&lt;P&gt;*--Build field catalog ie, display position, length, etc..of each column&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;*--Prepare the key fields info of the head and item tables&lt;/P&gt;&lt;P&gt;      PERFORM PREPARE_KEYINFO.&lt;/P&gt;&lt;P&gt;*--Add events like top-of-page to events list&lt;/P&gt;&lt;P&gt;      PERFORM PREPARE_EVENT_LIST&lt;/P&gt;&lt;P&gt;              TABLES IT_EVENTS.&lt;/P&gt;&lt;P&gt;*--Prepare the layout of the report&lt;/P&gt;&lt;P&gt;      PERFORM PREPARE_LAYOUT.&lt;/P&gt;&lt;P&gt;*--Prepare the sort info and subtotals condition info&lt;/P&gt;&lt;P&gt;      PERFORM PREPARE_SORTINFO.&lt;/P&gt;&lt;P&gt;*--Display the report using ALV&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--If Summary Option is selected in the selections-screen&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;*--Display the summary report&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_SUMMARY.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I999 WITH TEXT-004.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      No Data Available for the Given Selection Criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&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;      Form  POPULATE_HEAD_ITEM                                       *&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;    Populate the header and item details in IT_HEAD and IT_ITEM      *&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 POPULATE_HEAD_ITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; V_TABIX = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*--For each of the document header&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;*--Get the item details and append to IT_ITEM Internal tble&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN.&lt;/P&gt;&lt;P&gt;      IT_ITEM-BILL_DOC = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;      IT_ITEM-CURRENCY  = IT_VBRK-WAERK.&lt;/P&gt;&lt;P&gt;*--Get the condition value for the condition type&lt;/P&gt;&lt;P&gt;      READ TABLE IT_KONV WITH KEY KNUMV = IT_VBRK-KNUMV&lt;/P&gt;&lt;P&gt;                                  KPOSN = IT_VBRP-POSNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        IT_ITEM-SHP_COST = IT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IT_ITEM-MODEL        = IT_VBRP-MATNR.&lt;/P&gt;&lt;P&gt;      IT_ITEM-MRA_CODE     = IT_VBRP-AUGRU_AUFT.&lt;/P&gt;&lt;P&gt;*--If MRA Code is 'DU', display amount as field Credit&lt;/P&gt;&lt;P&gt;      IF IT_VBRP-AUGRU_AUFT = 'DU'.&lt;/P&gt;&lt;P&gt;        IT_ITEM-FLD_CR     = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*--If billing type is 'RE', display amount as MRA Amount&lt;/P&gt;&lt;P&gt;      IF IT_VBRK-FKART = 'RE'.&lt;/P&gt;&lt;P&gt;        IT_ITEM-MRA_AMOUNT = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IT_ITEM-INVOICE_AMT  = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      APPEND IT_ITEM.&lt;/P&gt;&lt;P&gt;      CLEAR  IT_ITEM.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;*--Append Header details to IT_HEAD Internal table&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      IT_HEAD-CUST_NO   = IT_VBRK-KUNAG.&lt;/P&gt;&lt;P&gt;      IT_HEAD-BILL_DOC  = IT_VBRK-VBELN.&lt;/P&gt;&lt;P&gt;      IT_HEAD-BILL_DATE = IT_VBRK-FKDAT.&lt;/P&gt;&lt;P&gt;      IT_HEAD-BILL_TYPE = IT_VBRK-FKART.&lt;/P&gt;&lt;P&gt;      APPEND IT_HEAD.&lt;/P&gt;&lt;P&gt;      CLEAR  IT_HEAD.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_HEAD_ITEM&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;      Form  BUILD_FIELD_CATALOG                                      *&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;Build field catalog ie, display position, length, etc..of each column*&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 BUILD_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Append Field Catalog of Header Level Data for Display&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 1 'CUST_NO' 'IT_HEAD' 'Customer Number' 15 ' ' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 2 'BILL_DOC' 'IT_HEAD' 'Billing Document' 16 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 3 'BILL_DATE' 'IT_HEAD' 'Billing Date' 12 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 4 'BILL_TYPE' 'IT_HEAD' 'Billing Type' 12 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Append Field Catalog of Item Level Data for Display&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 1 'MODEL' 'IT_ITEM' 'Model Number' 18 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 2 'SHP_COST' 'IT_ITEM' 'Shipping Cost' 18 IT_FINAL-CURRENCY 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 3 'FLD_CR' 'IT_ITEM' 'Field Credits' 21 IT_FINAL-CURRENCY 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 4 'MRA_CODE' 'IT_ITEM' 'MRA Code' 8 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt; USING 5 'MRA_AMOUNT' 'IT_ITEM' '$ Amount of MRA' 21&lt;/P&gt;&lt;P&gt;                                                 IT_FINAL-CURRENCY 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt; USING 6 'INVOICE_AMT' 'IT_ITEM' '$ Amount of Invoice' 21&lt;/P&gt;&lt;P&gt;                                                 IT_FINAL-CURRENCY 'X'.&lt;/P&gt;&lt;P&gt;*--Add Hotspot to Billing Document Number&lt;/P&gt;&lt;P&gt;LOOP AT IT_FIELDCAT INTO LS_FIELDCAT&lt;/P&gt;&lt;P&gt;        WHERE FIELDNAME = 'BILL_DOC'.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;  MODIFY IT_FIELDCAT FROM LS_FIELDCAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_FIELD_CATALOG&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;      Form  APPEND_FIELDCAT                                          *&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;  Append Field Catalog to IT_FIELDCAT Internal Table                 *&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 APPEND_FIELDCAT USING POS  FIELDNAME TABNAME&lt;/P&gt;&lt;P&gt;                           TEXT LEN       CURRENCY DOSUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-COL_POS   = POS.        " Position&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-FIELDNAME = FIELDNAME.  " Field Name in the internal table&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-TABNAME   = TABNAME.    " Internal Table name&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_M = TEXT.       " Column display text&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_L = TEXT.       " Column display text&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-OUTPUTLEN = LEN.        " Display length of the column&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-DO_SUM    = DOSUM.      " Set summation flag&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-CURRENCY = CURRENCY.    " Currency&lt;/P&gt;&lt;P&gt;  APPEND LS_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR  LS_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " APPEND_FIELDCAT&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;      Form  PREPARE_KEYINFO                                          *&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;   Prepare the key fields info of the head and item tables           *&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 PREPARE_KEYINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Key Fields Joining the Header and Item tables is Billing Document&lt;/P&gt;&lt;P&gt;  LS_keyinfo-header01 = 'BILL_DOC'.&lt;/P&gt;&lt;P&gt;  LS_keyinfo-item01   = 'BILL_DOC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_KEYINFO&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;      Form  PREPARE_EVENT_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Add events like top-of-page to events list                     *&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 PREPARE_EVENT_LIST TABLES IT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Add Top-OF-Page event to be triggered before the list is displayed&lt;/P&gt;&lt;P&gt;  CLEAR LS_EVENT.&lt;/P&gt;&lt;P&gt;  LS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  LS_EVENT-FORM = 'TOP_OF_PAGE_REPORT'.&lt;/P&gt;&lt;P&gt;  APPEND LS_EVENT TO IT_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_EVENT_LIST&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;      Form  PREPARE_LAYOUT                                           *&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;     Prepare the layout of the report                                *&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 PREPARE_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-expand_fieldname = 'EXP'.        " Field for Exp/Col Icon&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-no_uline_hs = 'X'.               " No Horizontal lines&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-subtotals_text = TEXT-015.       " Text for Sub-totals&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-totals_text    = TEXT-016.       " Text for totals&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-no_subtotals = ' '.              " Display Subtotals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_LAYOUT&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;      Form  PREPARE_SORTINFO                                         *&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;      Prepare the sort info and subtotals condition info             *&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 PREPARE_SORTINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Sort the output on Customer number and Billing Document Number and&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        display subtotals of amounts for each customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-SPOS      = 1.              " Sort Position&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-UP        = 'X'.            " Sort Sequence is Ascending&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-TABNAME   = 'IT_HEAD'.      " Table name&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-FIELDNAME = 'CUST_NO'.      " field name in the table&lt;/P&gt;&lt;P&gt;*--Subtotals of numeric fields for each customer.&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-SUBTOT    = 'X'.            " Subtotals on this field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND LS_SORTINFO TO IT_SORTINFO.&lt;/P&gt;&lt;P&gt;  CLEAR  LS_SORTINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-SPOS      = 2.              " Sort position&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-UP        = 'X'.            " Sort order is ascending&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-TABNAME   = 'IT_HEAD'.      " Table name&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-FIELDNAME = 'BILL_DOC'.     " Field Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND LS_SORTINFO TO IT_SORTINFO.&lt;/P&gt;&lt;P&gt;  CLEAR  LS_SORTINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_SORTINFO&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;      Form  DISPLAY_ALV_REPORT                                       *&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;      Display the report using ALV                                   *&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_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET PF-STATUS 'STATUS'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;   IS_LAYOUT                      = LS_LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = IT_FIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_SORT                        = IT_SORTINFO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = IT_EVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_TABNAME_HEADER               = 'IT_HEAD'&lt;/P&gt;&lt;P&gt;    I_TABNAME_ITEM                 = 'IT_ITEM'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_HEADER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_ITEM          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_KEYINFO                     = LS_KEYINFO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB_HEADER                = IT_HEAD&lt;/P&gt;&lt;P&gt;    T_OUTTAB_ITEM                  = IT_ITEM&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  MESSAGE E999 WITH TEXT-013.             " Error When Displaying Report&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALV_REPORT&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;      Form  TOP_OF_PAGE_REPORT                                       *&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;      Display the standard top of page if summary is selected        *&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 TOP_OF_PAGE_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Function module to display top of page&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT_HEADER'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DL_TITLE = SY-TITLE&lt;/P&gt;&lt;P&gt;            DL_REPID = V_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TOP_OF_PAGE_REPORT&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;      Form  DISPLAY_COLUMN_HEADERS                                   *&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;      Display the Column headers                                     *&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_COLUMN_HEADERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Set color to I Header&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 5 'X'.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(76).&lt;/P&gt;&lt;P&gt;  WRITE : /1      SY-VLINE,&lt;/P&gt;&lt;P&gt;           2(15)  'Customer Number' CENTERED,&lt;/P&gt;&lt;P&gt;           17     SY-VLINE,&lt;/P&gt;&lt;P&gt;           18(16) 'Billing Document' CENTERED,&lt;/P&gt;&lt;P&gt;           34     SY-VLINE,&lt;/P&gt;&lt;P&gt;           35(20) TEXT-008 CENTERED,     " Quantity&lt;/P&gt;&lt;P&gt;           55     SY-VLINE,&lt;/P&gt;&lt;P&gt;           56(20) TEXT-009 CENTERED,     " Amount&lt;/P&gt;&lt;P&gt;           76     SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(76).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_COLUMN_HEADERS&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;      Form  DISPLAY_SUMMARY                                          *&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;      Display the summary report                                     *&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_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : V_TOTAL_SALES_QTY,&lt;/P&gt;&lt;P&gt;          V_TOTAL_SALES_AMT,&lt;/P&gt;&lt;P&gt;          V_TOTAL_RTRNS_QTY,&lt;/P&gt;&lt;P&gt;          V_TOTAL_RTRNS_AMT,&lt;/P&gt;&lt;P&gt;          V_TOTAL_FLDCR_QTY,&lt;/P&gt;&lt;P&gt;          V_TOTAL_FLDCR_AMT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--For each item record&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRP.&lt;/P&gt;&lt;P&gt;*--Check if the item record has a corresponding header record. If yes,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            add the sums. Else, proceed to next record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE IT_VBRK WITH KEY VBELN = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;*--Increment Total Sales Quantity by 1 for each line item&lt;/P&gt;&lt;P&gt;      V_TOTAL_SALES_QTY = V_TOTAL_SALES_QTY + IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;*--Add the Amount to Total Sales Amount&lt;/P&gt;&lt;P&gt;      V_TOTAL_SALES_AMT = V_TOTAL_SALES_AMT + IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;*--If Billing type is 'RE', add to Returns&lt;/P&gt;&lt;P&gt;      IF IT_VBRK-FKART = 'RE'.&lt;/P&gt;&lt;P&gt;*--Increment Returns Quantity by 1&lt;/P&gt;&lt;P&gt;        V_TOTAL_RTRNS_QTY = V_TOTAL_RTRNS_QTY + IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;*--Add Amount to Total Returns Amount&lt;/P&gt;&lt;P&gt;        V_TOTAL_RTRNS_AMT = V_TOTAL_RTRNS_AMT + IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*--If order Reason is 'DU' add to Field Credits&lt;/P&gt;&lt;P&gt;      IF IT_VBRP-AUGRU_AUFT = 'DU'.&lt;/P&gt;&lt;P&gt;*--Increment Field Credit Quantity by 1&lt;/P&gt;&lt;P&gt;        V_TOTAL_FLDCR_QTY = V_TOTAL_FLDCR_QTY + IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;*--Add Amouint to Total Field Credits Amount&lt;/P&gt;&lt;P&gt;        V_TOTAL_FLDCR_AMT = V_TOTAL_FLDCR_AMT + IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_VBRK INDEX 1.&lt;/P&gt;&lt;P&gt;  V_CURRENCY = IT_VBRK-WAERK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;-Display Summary report&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(127).&lt;/P&gt;&lt;P&gt;*--Set color to I Header&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 5 'X'.&lt;/P&gt;&lt;P&gt;  WRITE : /1      SY-VLINE,&lt;/P&gt;&lt;P&gt;          2(41)   TEXT-005 CENTERED,  " Total Sales ( Net Sales )&lt;/P&gt;&lt;P&gt;          43      SY-VLINE,&lt;/P&gt;&lt;P&gt;          44(41)  TEXT-006 CENTERED,  " Total Returns&lt;/P&gt;&lt;P&gt;          85      SY-VLINE,&lt;/P&gt;&lt;P&gt;          86(41)  TEXT-007 CENTERED,  " Total Field Credits&lt;/P&gt;&lt;P&gt;          127     SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(127).&lt;/P&gt;&lt;P&gt;*--Set color to II Header&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 1 'X'.&lt;/P&gt;&lt;P&gt;  WRITE : /1      SY-VLINE,&lt;/P&gt;&lt;P&gt;          2(20)   TEXT-008 RIGHT-JUSTIFIED,  " Quantity&lt;/P&gt;&lt;P&gt;          22      SY-VLINE,&lt;/P&gt;&lt;P&gt;          23(20)  TEXT-009 RIGHT-JUSTIFIED,  " Amount&lt;/P&gt;&lt;P&gt;          43      SY-VLINE,&lt;/P&gt;&lt;P&gt;          44(20)  TEXT-008 RIGHT-JUSTIFIED,  " Quantity&lt;/P&gt;&lt;P&gt;          64      SY-VLINE,&lt;/P&gt;&lt;P&gt;          65(20)  TEXT-009 RIGHT-JUSTIFIED,  " Amount&lt;/P&gt;&lt;P&gt;          85      SY-VLINE,&lt;/P&gt;&lt;P&gt;          86(20)  TEXT-008 RIGHT-JUSTIFIED,  " Quantity&lt;/P&gt;&lt;P&gt;          106     SY-VLINE,&lt;/P&gt;&lt;P&gt;          107(20) TEXT-009 RIGHT-JUSTIFIED,  " Amount&lt;/P&gt;&lt;P&gt;          127     SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(127).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Set color to detail&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 2 ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   WRITE : /1      SY-VLINE,&lt;/P&gt;&lt;P&gt;           2(20)   V_TOTAL_SALES_QTY RIGHT-JUSTIFIED HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           22      SY-VLINE,&lt;/P&gt;&lt;P&gt;           23      V_TOTAL_SALES_AMT CURRENCY V_CURRENCY HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           43      SY-VLINE,&lt;/P&gt;&lt;P&gt;           44(20)  V_TOTAL_RTRNS_QTY RIGHT-JUSTIFIED HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           64      SY-VLINE,&lt;/P&gt;&lt;P&gt;           65      V_TOTAL_RTRNS_AMT CURRENCY V_CURRENCY HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           85      SY-VLINE,&lt;/P&gt;&lt;P&gt;           86(20)  V_TOTAL_FLDCR_QTY RIGHT-JUSTIFIED HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           106     SY-VLINE,&lt;/P&gt;&lt;P&gt;           107     V_TOTAL_FLDCR_AMT CURRENCY V_CURRENCY HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           127     SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_SALES_QTY.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_SALES_AMT.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_RTRNS_QTY.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_RTRNS_AMT.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_FLDCR_QTY.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_FLDCR_AMT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   WRITE SY-ULINE(127).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_SUMMARY&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  FORMAT_COLOR&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;      Format Color&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 FORMAT_COLOR USING COLOR&lt;/P&gt;&lt;P&gt;                        INTENSITY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF INTENSITY EQ 'X'.&lt;/P&gt;&lt;P&gt;    FORMAT INTENSIFIED ON COLOR = COLOR.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    FORMAT INTENSIFIED OFF COLOR = COLOR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FORMAT_COLOR&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;      Form  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Call back user command&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 USER_COMMAND USING P_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;                    P_LINE TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : LV_VBELN TYPE VBRK-VBELN.&lt;/P&gt;&lt;P&gt;*--If Billing document Is clicked&lt;/P&gt;&lt;P&gt;  IF P_LINE-TABNAME = 'IT_HEAD' AND P_LINE-FIELDNAME = 'BILL_DOC'.&lt;/P&gt;&lt;P&gt;*--Move the Selected Billing Document Number to a variable&lt;/P&gt;&lt;P&gt;    LV_VBELN = P_LINE-VALUE.&lt;/P&gt;&lt;P&gt;*--Set Parameter ID 'VF' with teh Selected Billing Document Number&lt;/P&gt;&lt;P&gt;    SET PARAMETER ID 'VF' FIELD LV_VBELN.&lt;/P&gt;&lt;P&gt;*--Call Transaction VF03 to Display the Billing Document&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*--If anything other than Billing Document is Clicked,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              Display an error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MESSAGE S999 WITH TEXT-010.        "Please select a Billing Document&lt;/P&gt;&lt;P&gt;  ENDIF..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;*&amp;amp;      Form  DISPLAY_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Display details for the quantity or the amount select&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_DETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : LV_FIELD(20).      " To store the field name selected&lt;/P&gt;&lt;P&gt;  DATA : LV_VBELN TYPE VBRK-VBELN.&lt;/P&gt;&lt;P&gt;*--If user clicks on some record in the first screen of summary report&lt;/P&gt;&lt;P&gt;  IF SY-LSIND = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Get the field that the user clicked on&lt;/P&gt;&lt;P&gt;    GET CURSOR FIELD LV_FIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--IF User Clicks on Total Sales Amount or Quantity&lt;/P&gt;&lt;P&gt;    IF LV_FIELD = 'V_TOTAL_SALES_QTY' OR&lt;/P&gt;&lt;P&gt;       LV_FIELD = 'V_TOTAL_SALES_AMT'.&lt;/P&gt;&lt;P&gt;*--Display Total Sales Details&lt;/P&gt;&lt;P&gt;      PERFORM GET_TOTAL_SALES_DETAILS.&lt;/P&gt;&lt;P&gt;*--If User Clicks on Total Returns Quantity or Amount&lt;/P&gt;&lt;P&gt;    ELSEIF LV_FIELD = 'V_TOTAL_RTRNS_QTY' OR&lt;/P&gt;&lt;P&gt;           LV_FIELD = 'V_TOTAL_RTRNS_AMT'.&lt;/P&gt;&lt;P&gt;*--Display Total Returns Details&lt;/P&gt;&lt;P&gt;      PERFORM GET_TOTAL_RETURNS_DETAILS.&lt;/P&gt;&lt;P&gt;*--If User Clicks on Total Returns Quantity or Amount&lt;/P&gt;&lt;P&gt;    ELSEIF LV_FIELD = 'V_TOTAL_FLDCR_QTY' OR&lt;/P&gt;&lt;P&gt;           LV_FIELD = 'V_TOTAL_FLDCR_AMT'.&lt;/P&gt;&lt;P&gt;*--Display Total Field Credits Details&lt;/P&gt;&lt;P&gt;      PERFORM GET_TOTAL_FLDCR_DETAILS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT IT_DETAILS[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_DETAIL_REPORT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF SY-LSIND = '2'.&lt;/P&gt;&lt;P&gt;    GET CURSOR FIELD LV_FIELD.&lt;/P&gt;&lt;P&gt;      IF LV_FIELD = 'IT_DETAILS-BILL_DOC'.&lt;/P&gt;&lt;P&gt;        IF NOT IT_DETAILS-BILL_DOC IS INITIAL.&lt;/P&gt;&lt;P&gt;*--Move the Selected Billing Document Number to a variable&lt;/P&gt;&lt;P&gt;          LV_VBELN = IT_DETAILS-BILL_DOC.&lt;/P&gt;&lt;P&gt;*--Set Parameter ID 'VF' with teh Selected Billing Document Number&lt;/P&gt;&lt;P&gt;          SET PARAMETER ID 'VF' FIELD LV_VBELN.&lt;/P&gt;&lt;P&gt;*--Call Transaction VF03 to Display the Billing Document&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;*--If anything other than Billing Document is Clicked,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              Display an error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE S999 WITH TEXT-010.  " Please select a Billing Document.&lt;/P&gt;&lt;P&gt;      ENDIF..&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_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  GET_TOTAL_SALES_DETAILS&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;      IF User Clicks on Total Sales Amount or Quantity&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 GET_TOTAL_SALES_DETAILS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold Net Value of Billing Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF LT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN      LIKE VBRP-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         POSNR      LIKE VBRP-POSNR,              " Billing item&lt;/P&gt;&lt;P&gt;         FKIMG      LIKE VBRP-FKIMG,              " Billed Quantity&lt;/P&gt;&lt;P&gt;         NETWR      LIKE VBRP-NETWR,              " Net val in&lt;/P&gt;&lt;P&gt;       END OF LT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : IT_DETAILS, IT_DETAILS[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;    CLEAR : LT_VBRP,LT_VBRP[].&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-VBELN      = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-POSNR      = IT_VBRP-POSNR.&lt;/P&gt;&lt;P&gt;      LT_VBRP-FKIMG      = IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      LT_VBRP-NETWR      = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      APPEND LT_VBRP.&lt;/P&gt;&lt;P&gt;      CLEAR  LT_VBRP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT LT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_VBRP.&lt;/P&gt;&lt;P&gt;      AT NEW VBELN.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-CUST_NO  = IT_VBRK-KUNAG.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-BILL_DOC = LT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;        CLEAR : IT_DETAILS-QUANTITY,&lt;/P&gt;&lt;P&gt;                IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-QUANTITY = IT_DETAILS-QUANTITY + LT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-AMOUNT   = IT_DETAILS-AMOUNT + LT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      AT END OF VBELN.&lt;/P&gt;&lt;P&gt;        APPEND IT_DETAILS.&lt;/P&gt;&lt;P&gt;        CLEAR IT_DETAILS.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_TOTAL_SALES_DETAILS&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;      Form  GET_TOTAL_RETURNS_DETAILS&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;      IF User Clicks on Total Returns Amount or Quantity&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 GET_TOTAL_RETURNS_DETAILS.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF LT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN      LIKE VBRP-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         POSNR      LIKE VBRP-POSNR,              " Billing item&lt;/P&gt;&lt;P&gt;         FKIMG      LIKE VBRP-FKIMG,              " Billed Quantity&lt;/P&gt;&lt;P&gt;         NETWR      LIKE VBRP-NETWR,              " Net val in&lt;/P&gt;&lt;P&gt;       END OF LT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : IT_DETAILS, IT_DETAILS[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK WHERE FKART = 'RE'.&lt;/P&gt;&lt;P&gt;    CLEAR : LT_VBRP,LT_VBRP[].&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-VBELN      = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-POSNR      = IT_VBRP-POSNR.&lt;/P&gt;&lt;P&gt;      LT_VBRP-FKIMG      = IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      LT_VBRP-NETWR      = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      APPEND LT_VBRP.&lt;/P&gt;&lt;P&gt;      CLEAR  LT_VBRP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT LT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_VBRP.&lt;/P&gt;&lt;P&gt;      AT NEW VBELN.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-CUST_NO  = IT_VBRK-KUNAG.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-BILL_DOC = LT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;        CLEAR : IT_DETAILS-QUANTITY,&lt;/P&gt;&lt;P&gt;                IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-QUANTITY = IT_DETAILS-QUANTITY + LT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-AMOUNT   = IT_DETAILS-AMOUNT + LT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      AT END OF VBELN.&lt;/P&gt;&lt;P&gt;        APPEND IT_DETAILS.&lt;/P&gt;&lt;P&gt;        CLEAR IT_DETAILS.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_TOTAL_RETURNS_DETAILS&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;      Form  GET_TOTAL_FLDCR_DETAILS&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;      IF User Clicks on Total Tield Credits Amount or Quantity&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 GET_TOTAL_FLDCR_DETAILS.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF LT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN      LIKE VBRP-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         POSNR      LIKE VBRP-POSNR,              " Billing item&lt;/P&gt;&lt;P&gt;         FKIMG      LIKE VBRP-FKIMG,              " Billed Quantity&lt;/P&gt;&lt;P&gt;         NETWR      LIKE VBRP-NETWR,              " Net val in&lt;/P&gt;&lt;P&gt;       END OF LT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : IT_DETAILS, IT_DETAILS[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;    CLEAR : LT_VBRP,LT_VBRP[].&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN AND&lt;/P&gt;&lt;P&gt;                     AUGRU_AUFT = 'DU'.&lt;/P&gt;&lt;P&gt;      LT_VBRP-VBELN      = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-POSNR      = IT_VBRP-POSNR.&lt;/P&gt;&lt;P&gt;      LT_VBRP-FKIMG      = IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      LT_VBRP-NETWR      = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      APPEND LT_VBRP.&lt;/P&gt;&lt;P&gt;      CLEAR  LT_VBRP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT LT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_VBRP.&lt;/P&gt;&lt;P&gt;      AT NEW VBELN.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-CUST_NO  = IT_VBRK-KUNAG.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-BILL_DOC = LT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;        CLEAR : IT_DETAILS-QUANTITY,&lt;/P&gt;&lt;P&gt;                IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-QUANTITY = IT_DETAILS-QUANTITY + LT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-AMOUNT   = IT_DETAILS-AMOUNT + LT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      AT END OF VBELN.&lt;/P&gt;&lt;P&gt;        APPEND IT_DETAILS.&lt;/P&gt;&lt;P&gt;        CLEAR IT_DETAILS.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_TOTAL_FLDCR_DETAILS&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;      Form  DISPLAY_DETAIL_REPORT.&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;      Display details for the quantity or the amount select&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_DETAIL_REPORT..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : LV_TOTAL_AMOUNT_CUST LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;         LV_TOTAL_QTY_CUST    TYPE I,&lt;/P&gt;&lt;P&gt;         LV_TOTAL_AMOUNT      LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;         LV_TOTAL_QTY         TYPE I,&lt;/P&gt;&lt;P&gt;         INTENSITY.&lt;/P&gt;&lt;P&gt;  SORT IT_DETAILS BY CUST_NO BILL_DOC.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_DETAILS.&lt;/P&gt;&lt;P&gt;    IF INTENSITY = ' '.&lt;/P&gt;&lt;P&gt;      INTENSITY = 'X'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      INTENSITY = ' '.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    PERFORM FORMAT_COLOR USING 2 INTENSITY.&lt;/P&gt;&lt;P&gt;    WRITE : /1      SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW CUST_NO.&lt;/P&gt;&lt;P&gt;      WRITE : 2(15)  IT_DETAILS-CUST_NO.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    WRITE :  17     SY-VLINE,&lt;/P&gt;&lt;P&gt;             18(16) IT_DETAILS-BILL_DOC HOTSPOT,&lt;/P&gt;&lt;P&gt;             34     SY-VLINE,&lt;/P&gt;&lt;P&gt;             35(20) IT_DETAILS-QUANTITY RIGHT-JUSTIFIED,&lt;/P&gt;&lt;P&gt;             55     SY-VLINE,&lt;/P&gt;&lt;P&gt;             56(20) IT_DETAILS-AMOUNT CURRENCY V_CURRENCY,&lt;/P&gt;&lt;P&gt;             76     SY-VLINE.&lt;/P&gt;&lt;P&gt;           LV_TOTAL_AMOUNT_CUST = LV_TOTAL_AMOUNT_CUST +&lt;/P&gt;&lt;P&gt;                                  IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;           LV_TOTAL_QTY_CUST    = LV_TOTAL_QTY_CUST    +&lt;/P&gt;&lt;P&gt;                                  IT_DETAILS-QUANTITY.&lt;/P&gt;&lt;P&gt;           LV_TOTAL_AMOUNT      = LV_TOTAL_AMOUNT      +&lt;/P&gt;&lt;P&gt;                                  IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;           LV_TOTAL_QTY         = LV_TOTAL_QTY         +&lt;/P&gt;&lt;P&gt;                                  IT_DETAILS-QUANTITY.&lt;/P&gt;&lt;P&gt;    HIDE IT_DETAILS-BILL_DOC.&lt;/P&gt;&lt;P&gt;    AT END OF CUST_NO.&lt;/P&gt;&lt;P&gt;      PERFORM FORMAT_COLOR USING 3 ' '.&lt;/P&gt;&lt;P&gt;      WRITE : /1 SY-VLINE,&lt;/P&gt;&lt;P&gt;               2 TEXT-015,            " Net Total&lt;/P&gt;&lt;P&gt;               34 SY-VLINE,&lt;/P&gt;&lt;P&gt;               35(20) LV_TOTAL_QTY_CUST RIGHT-JUSTIFIED,&lt;/P&gt;&lt;P&gt;               55     SY-VLINE,&lt;/P&gt;&lt;P&gt;               56(20) LV_TOTAL_AMOUNT_CUST CURRENCY V_CURRENCY,&lt;/P&gt;&lt;P&gt;               76     SY-VLINE.&lt;/P&gt;&lt;P&gt;      CLEAR : LV_TOTAL_QTY_CUST, LV_TOTAL_AMOUNT_CUST.&lt;/P&gt;&lt;P&gt;      CLEAR INTENSITY.&lt;/P&gt;&lt;P&gt;      WRITE SY-ULINE(76).&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 3 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : /1 SY-VLINE,&lt;/P&gt;&lt;P&gt;           2 TEXT-014,                " Total&lt;/P&gt;&lt;P&gt;           34 SY-VLINE,&lt;/P&gt;&lt;P&gt;           35(20) LV_TOTAL_QTY RIGHT-JUSTIFIED,&lt;/P&gt;&lt;P&gt;           55     SY-VLINE,&lt;/P&gt;&lt;P&gt;           56(20) LV_TOTAL_AMOUNT CURRENCY V_CURRENCY,&lt;/P&gt;&lt;P&gt;           76     SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(76).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_DETAIL_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="500619"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Mahesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 02 Aug 2007 15:38:15 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-02T15:38:15Z</dc:date>
    <item>
      <title>ALV Documentation with programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622406#M602349</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Foks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am new to ALV. Could you please suggess me how can I use it and get me some basic documentation please.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;make sure update points&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sekhar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Aug 2007 15:27:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622406#M602349</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-02T15:27:48Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Documentation with programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622407#M602350</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi chandra,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. This is a very simple program with simple alv of just one table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Just copy paste to get a taste of it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report abc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;DATA : alvfc TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : alvfcwa TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;data : begin of itab occurs 0.&lt;/P&gt;&lt;P&gt;        include structure usr02.&lt;/P&gt;&lt;P&gt;data : end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  select * from usr02&lt;/P&gt;&lt;P&gt;  into table itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_program_name         = sy-repid&lt;/P&gt;&lt;P&gt;      i_internal_tabname     = 'ITAB'&lt;/P&gt;&lt;P&gt;      i_inclname             = sy-repid&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = alvfc&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt; IMPORTANT&lt;/P&gt;&lt;P&gt;  LOOP AT ALVFC INTO ALVFCWA.&lt;/P&gt;&lt;P&gt;    IF ALVFCWA-FIELDNAME = 'USTYP'.&lt;/P&gt;&lt;P&gt;      ALVFCWA-NO_CONVEXT = 'X'.&lt;/P&gt;&lt;P&gt;      MODIFY ALVFC FROM ALVFCWA.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------" /&gt;&lt;P&gt; Display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_fieldcat   = alvfc&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab      = itab&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error = 1&lt;/P&gt;&lt;P&gt;      OTHERS        = 2.&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;amit m.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Aug 2007 15:31:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622407#M602350</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-02T15:31:46Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Documentation with programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622408#M602351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some important facts about ALV :&lt;/P&gt;&lt;P&gt;1. What is ALV ?&lt;/P&gt;&lt;P&gt;ALV stands for ABAP List Viewer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The &amp;#147;ALV Classic&amp;#148; is a collective term for several function modules in function group SALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The ALV Classic is a tool for the standardized output of&lt;/P&gt;&lt;P&gt;1 . Simple lists&lt;/P&gt;&lt;P&gt;2. Hierarchical/consecutive lists with two hierarchy levels&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Why ALV ?&lt;/P&gt;&lt;P&gt;Until the introduction of the ABAP List Viewer (ALV), different report tools were used in the R/3 System. &lt;/P&gt;&lt;P&gt;Every report tool had its own function and application areas.&lt;/P&gt;&lt;P&gt;The ABAP List Viewer standardizes and simplifies the usage of lists in the R/3 System&lt;/P&gt;&lt;P&gt;Logic for presentation of data is removed from the selection of data.&lt;/P&gt;&lt;P&gt;Layout of the report is changeable without making a new selection or re-writing the code.&lt;/P&gt;&lt;P&gt;Standard Tool Functions have been enhanced with Component Specific Functions.&lt;/P&gt;&lt;P&gt;A standardized data interface and a standardized list layout is available for all lists.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Programming Steps :&lt;/P&gt;&lt;P&gt;Declare data areas.&lt;/P&gt;&lt;P&gt;Declare an internal table to store selected data.&lt;/P&gt;&lt;P&gt;Select data into the internal table.&lt;/P&gt;&lt;P&gt;Build the layout.&lt;/P&gt;&lt;P&gt;Build field catalogue.&lt;/P&gt;&lt;P&gt;Build sort catalogue.&lt;/P&gt;&lt;P&gt;Build event catalogue.&lt;/P&gt;&lt;P&gt;Start viewer.&lt;/P&gt;&lt;P&gt;Process call back events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These are the facts about ALV which I have tried to highlight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can go through the following link for the details :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esnips.com/doc/ad20dca9-6182-4903-8d8f-96a66dc8590c/ALV.pdf" target="test_blank"&gt;http://esnips.com/doc/ad20dca9-6182-4903-8d8f-96a66dc8590c/ALV.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GO THROUGH THESE LINKS WHICH CONTAIN GOOD ALV DOCUMENTS&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfriends.com/HelpSAP/ABAP%20List%20Viewer%20Classic%20(ALV).pdf" target="test_blank"&gt;http://www.sapfriends.com/HelpSAP/ABAP%20List%20Viewer%20Classic%20(ALV).pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-hefte.de/download/dateien/1025/087_leseprobe.pdf" target="test_blank"&gt;http://www.sap-hefte.de/download/dateien/1025/087_leseprobe.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if ti helps..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Omkar.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Aug 2007 15:37:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622408#M602351</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-02T15:37:07Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Documentation with programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622409#M602352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Find the code samples from basic to interactive reports here....&lt;/P&gt;&lt;P&gt; ALV ALL IN ONE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMK_ALLINONE_ALV .&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; Program for displaying data using function modules :                *&lt;/P&gt;&lt;P&gt;*&amp;amp; REUSE_ALV_LIST_DISPLAY                                              *&lt;/P&gt;&lt;P&gt;*&amp;amp; REUSE_ALV_POPUP_TO_SELECT                                           *&lt;/P&gt;&lt;P&gt;*&amp;amp; REUSE_ALV_GRID_DISPLAY                                              *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&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;/P&gt;&lt;P&gt;TABLES VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA it_vbak LIKE VBAK OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: ALV1 RADIOBUTTON GROUP ALV,       "REUSE_ALV_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;            ALV2 RADIOBUTTON GROUP ALV,       "REUSE_ALV_POPUP_TO_SELECT&lt;/P&gt;&lt;P&gt;            ALV3 RADIOBUTTON GROUP ALV,       "REUSE_ALV_GRID_DISPLAY&lt;/P&gt;&lt;P&gt;            ALV4 RADIOBUTTON GROUP ALV.       " NORMAL DISPLAY&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM  VBAK&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE it_vbak&lt;/P&gt;&lt;P&gt;         UP TO 10 ROWS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF ALV1 = 'X'.&lt;/P&gt;&lt;P&gt;   PERFORM ALV_FUNC1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF ALV2 = 'X'.&lt;/P&gt;&lt;P&gt;   PERFORM ALV_FUNC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF ALV3 = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM ALV_FUNC3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF ALV4 = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM NORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  ALV_FUNC1&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 ALV_FUNC1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_STRUCTURE_NAME               = 'VBAK'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = it_vbak&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;     OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_FUNC1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  ALV_FUNC2&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 ALV_FUNC2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_TITLE                       = 'SALES ORDER INFO'&lt;/P&gt;&lt;P&gt;    I_ZEBRA                       = 'X'&lt;/P&gt;&lt;P&gt;    I_TABNAME                     = 1&lt;/P&gt;&lt;P&gt;    I_STRUCTURE_NAME              = 'vbak'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                      = it_vbak&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                 = 1&lt;/P&gt;&lt;P&gt;     OTHERS                        = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_FUNC2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  ALV_FUNC3&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 ALV_FUNC3 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_STRUCTURE_NAME                  = 'vbak'&lt;/P&gt;&lt;P&gt;    I_GRID_TITLE                      = 'SALES ORDER INFO'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = it_vbak&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;     OTHERS                            = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_FUNC3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  NORM&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 NORM .&lt;/P&gt;&lt;P&gt;format intensified.&lt;/P&gt;&lt;P&gt;skip 1.&lt;/P&gt;&lt;P&gt;WRITE: /'SALES DOC.',&lt;/P&gt;&lt;P&gt;        '    Created on ',&lt;/P&gt;&lt;P&gt;        '    Time',&lt;/P&gt;&lt;P&gt;        '      Created by',&lt;/P&gt;&lt;P&gt;        '       Valid from ',&lt;/P&gt;&lt;P&gt;        '     Sold-to party'.&lt;/P&gt;&lt;P&gt;format intensified off.&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: / it_vbak-vbeln,'   ',&lt;/P&gt;&lt;P&gt;         it_vbak-erdat,'   ',&lt;/P&gt;&lt;P&gt;         it_vbak-erzet,'   ',&lt;/P&gt;&lt;P&gt;         it_vbak-ERNAM,'   ',&lt;/P&gt;&lt;P&gt;         it_vbak-ANGDT,'       ',&lt;/P&gt;&lt;P&gt;         it_vbak-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&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.                    " NORM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMK_SHIPMENT_ALV&lt;/P&gt;&lt;P&gt;         no standard page heading&lt;/P&gt;&lt;P&gt;         line-size 105&lt;/P&gt;&lt;P&gt;         line-count 50(5)&lt;/P&gt;&lt;P&gt;         message-id zz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       TABLES                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;tables : vttk, "Shipment Header&lt;/P&gt;&lt;P&gt;         vttp, " Shipment Item&lt;/P&gt;&lt;P&gt;         lips. " Delivary Item&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;***TYPE-POOLS                    *&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;*WORK AREAS                      *&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_fldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_events type slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES                  *&lt;/P&gt;&lt;P&gt;***********************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Shimpment Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       tknum like vttk-tknum,&lt;/P&gt;&lt;P&gt;       shtyp like vttk-shtyp,&lt;/P&gt;&lt;P&gt;       tpnum like vttp-tpnum,&lt;/P&gt;&lt;P&gt;       vbeln like vttp-vbeln,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       vbeln like lips-vbeln,&lt;/P&gt;&lt;P&gt;       posnr like lips-posnr,&lt;/P&gt;&lt;P&gt;       matnr like lips-matnr,&lt;/P&gt;&lt;P&gt;       lfimg like lips-lfimg,&lt;/P&gt;&lt;P&gt;       meins like lips-meins,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_fldcats type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_event type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_fldcats1 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_event1 type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;data: v_index type sy-index,&lt;/P&gt;&lt;P&gt;      v_vbeln like lips-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT-OPTIONS&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;selection-screen begin of block b with frame title text-001.&lt;/P&gt;&lt;P&gt;          select-options : s_tknum for vttk-tknum .&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*START-OF-SELCTION&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform populate-data.&lt;/P&gt;&lt;P&gt;  sort itab by tknum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt; write : 'Shipment wise Delivary Report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform build-fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform modify-fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform build-events.&lt;/P&gt;&lt;P&gt;  perform modify-events.&lt;/P&gt;&lt;P&gt;  perform set-layout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-pfstatus.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform list-display.&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  populate-data&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Retrives the Shipment data depending on the selection criteria   *&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;FORM populate-data.&lt;/P&gt;&lt;P&gt;select vttk~tknum&lt;/P&gt;&lt;P&gt;       vttk~shtyp&lt;/P&gt;&lt;P&gt;       vttp~tpnum&lt;/P&gt;&lt;P&gt;       vttp~vbeln&lt;/P&gt;&lt;P&gt;       into table itab&lt;/P&gt;&lt;P&gt;       from vttk&lt;/P&gt;&lt;P&gt;       join vttp&lt;/P&gt;&lt;P&gt;       on vttp&lt;SUB&gt;tknum = vttk&lt;/SUB&gt;tknum&lt;/P&gt;&lt;P&gt;       where vttk~tknum  in s_tknum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message e999 with 'NO DATA FOUND'.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate-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;*&amp;amp;      Form  build-fieldcatalog&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build-fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;    i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname           = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_inclname                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fldcats&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;    program_error                = 2&lt;/P&gt;&lt;P&gt;    others                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " BUILD-FIELDCATALOG&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;      Form  build-events&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 build-events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_event&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-events&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  set-layout&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 set-layout.&lt;/P&gt;&lt;P&gt;  wa_layout-zebra          = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-no_colhead = space.&lt;/P&gt;&lt;P&gt;  wa_layout-no_vline = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " set-layout&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  list-display&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 list-display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcats&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list-display&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  modify-fieldcatalog&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 modify-fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcats into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'TKNUM'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Ship No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'SHTYP'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Ship Type'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'TPNUM'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Item No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'VBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Delivary No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-emphasize = 'C311'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcats from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify-fieldcatalog&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;      Form  modify-events&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 modify-events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_event with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_event from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   read table it_event with key name =&lt;/P&gt;&lt;P&gt;slis_ev_end_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'FOOTER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_event from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;  endif.&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.                    " modify-events&lt;/P&gt;&lt;P&gt;&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;      Form  HEADER-OF-REPORT&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 HEADER-OF-REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : 'Shipment Wise Delivary Report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " HEADER-OF-REPORT&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  FOOTER-OF-REPORT&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 FOOTER-OF-REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : 'End of Report'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FOOTER-OF-REPORT&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;      Form  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      User command for Calling Transaction VT03N, Execute and Refresh&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 user_command USING    p_ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                         p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_INDEX = P_SELFIELD-TABINDEX.      " holds the selected table index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;     IF p_selfield-fieldname eq 'VBELN'.&lt;/P&gt;&lt;P&gt;      perform secondary_list.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;*&amp;amp;      Form  secondary_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;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 secondary_list.&lt;/P&gt;&lt;P&gt; perform get_data1.&lt;/P&gt;&lt;P&gt; perform build-fieldcatalog1.&lt;/P&gt;&lt;P&gt;  perform modify-fieldcatalog1.&lt;/P&gt;&lt;P&gt;  perform build-events1.&lt;/P&gt;&lt;P&gt;  perform modify-events1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-layout.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-pfstatus.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform list-display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " secondary_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  build-fieldcatalog1&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 build-fieldcatalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;    i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname           = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_inclname                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fldcats1&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;    program_error                = 2&lt;/P&gt;&lt;P&gt;    others                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-fieldcatalog1&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  modify-fieldcatalog1&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 modify-fieldcatalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcats into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'VBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Delivary No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'POSNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Item No'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'MATNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Material'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'LFIMG'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Quantity'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'MEINS'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Unit of Measure'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcats from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   endloop.&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.                    " modify-fieldcatalog1&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  build-events1&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 build-events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_event1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-events1&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  modify-events1&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 modify-events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; read table it_event1 with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER_OF_REPORT_2'.&lt;/P&gt;&lt;P&gt;    modify it_event1 from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify-events1&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  list-display1&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 list-display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FIELDCAT                    = it_fldcats1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                      = it_event1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   T_OUTTAB                       = itab1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                         = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                         = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                       = it_fldcats1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = it_event1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = itab1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;   OTHERS                            = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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.                    " list-display1&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;      Form  get_data1&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 get_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; READ TABLE itab INDEX V_INDEX.&lt;/P&gt;&lt;P&gt; v_vbeln = itab-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; select vbeln&lt;/P&gt;&lt;P&gt;        posnr&lt;/P&gt;&lt;P&gt;        matnr&lt;/P&gt;&lt;P&gt;        lfimg&lt;/P&gt;&lt;P&gt;        meins&lt;/P&gt;&lt;P&gt;        from lips&lt;/P&gt;&lt;P&gt;        into table itab1&lt;/P&gt;&lt;P&gt;        where vbeln eq v_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data1&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  header_of_report_2&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 header_of_report_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: 'Delivary item list'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_of_report_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMK_PO_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : ekko,&lt;/P&gt;&lt;P&gt;         ekpo.&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TYPES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;data: begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     EBELN like ekko-ebeln,   "Purchasing Document Number&lt;/P&gt;&lt;P&gt;     BUKRS like ekko-bukrs,   "Company Code&lt;/P&gt;&lt;P&gt;     BSTYP like ekko-bstyp,	   "Purchasing document category&lt;/P&gt;&lt;P&gt;     STATU like ekko-statu,   "Status of purchasing document&lt;/P&gt;&lt;P&gt;     AEDAT like ekko-aedat,	  "Date on which the record was created&lt;/P&gt;&lt;P&gt;     LIFNR like ekko-lifnr,   "Vendor's account number&lt;/P&gt;&lt;P&gt;    end of itab.&lt;/P&gt;&lt;P&gt;data: begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;      EBELN like ekpo-ebeln,&lt;/P&gt;&lt;P&gt;      EBELP like ekpo-ebelp,&lt;/P&gt;&lt;P&gt;      MATNR like ekpo-matnr,&lt;/P&gt;&lt;P&gt;      MATKL like ekpo-matkl,&lt;/P&gt;&lt;P&gt;      MENGE like ekpo-menge,&lt;/P&gt;&lt;P&gt;      end of itab1.&lt;/P&gt;&lt;P&gt;data: begin of itab2 occurs 0,&lt;/P&gt;&lt;P&gt;      LIFNR like lfa1-lifnr,&lt;/P&gt;&lt;P&gt;      NAME1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;      ADRNR like lfa1-adrnr,&lt;/P&gt;&lt;P&gt;      ORT01 like lfa1-ort01,&lt;/P&gt;&lt;P&gt;      ORT02 like lfa1-ort02,&lt;/P&gt;&lt;P&gt;      PFACH like lfa1-pfach,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      end of itab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Specific Tables and Structures&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_repid like sy-repid,&lt;/P&gt;&lt;P&gt;       v_index like sy-index,&lt;/P&gt;&lt;P&gt;       v_eblen like ekko-ebeln,&lt;/P&gt;&lt;P&gt;       v_lifnr like ekko-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Specific Tables and Structures&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_fldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: wa_events type slis_alv_event.&lt;/P&gt;&lt;P&gt;data: wa_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;data: it_fldcat type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: it_events type slis_t_event.&lt;/P&gt;&lt;P&gt;data: it_fldcat1 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: it_events1 type slis_t_event.&lt;/P&gt;&lt;P&gt;data: it_fldcat2 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: it_events2 type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection 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;selection-screen begin of block b with frame title text-001.&lt;/P&gt;&lt;P&gt;          select-options : s_ebeln for ekko-ebeln .&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; perform build_fldcatalog.&lt;/P&gt;&lt;P&gt; perform modify_fldcatalog.&lt;/P&gt;&lt;P&gt; perform build_events.&lt;/P&gt;&lt;P&gt; perform modify_events.&lt;/P&gt;&lt;P&gt; perform build_layout.&lt;/P&gt;&lt;P&gt; perform list_display.&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;      Form  get_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;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 get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select&lt;/P&gt;&lt;P&gt;     EBELN&lt;/P&gt;&lt;P&gt;     BUKRS&lt;/P&gt;&lt;P&gt;     BSTYP&lt;/P&gt;&lt;P&gt;     STATU&lt;/P&gt;&lt;P&gt;     AEDAT&lt;/P&gt;&lt;P&gt;     LIFNR&lt;/P&gt;&lt;P&gt;     from ekko&lt;/P&gt;&lt;P&gt;     into table itab&lt;/P&gt;&lt;P&gt;     where ebeln in s_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_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;*&amp;amp;      Form  build_fldcatalog&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 build_fldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_PROGRAM_NAME               = v_repid&lt;/P&gt;&lt;P&gt;    I_INTERNAL_TABNAME           = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;P&gt;    I_INCLNAME                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;P&gt;     CT_FIELDCAT                  = it_fldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INCONSISTENT_INTERFACE       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                       = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fldcatalog&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  build_events&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 build_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_events&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events&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  modify_events&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 modify_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table it_events with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt; if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_events from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_events&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  build_layout&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 build_layout.&lt;/P&gt;&lt;P&gt;  wa_layout-zebra          = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-no_colhead = space.&lt;/P&gt;&lt;P&gt;  wa_layout-no_vline = space.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_layout&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  list_display&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 list_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_events&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 30&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list_display&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;      Form  modify_fldcatalog&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 modify_fldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcat into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'EBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Purchase Order'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-emphasize = 'C811'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'BUKRS'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Company Code'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'BSTYP'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'PO Category'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'STATU'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'PO Status'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_fldcat-tech ='X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'AEDAT'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Date Created'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'LIFNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Vendor'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;         wa_fldcat-emphasize = 'C511'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcat from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_fldcatalog&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;      Form  header-of-page&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 header-of-report.&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;write : /20 'Purchase Order List Report'.&lt;/P&gt;&lt;P&gt;skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header-of-report&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  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      User command for Calling Transaction VT03N, Execute and Refresh&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 user_command USING    p_ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                         p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_INDEX = P_SELFIELD-TABINDEX.      " holds the selected table index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;     IF p_selfield-fieldname eq 'EBELN'.&lt;/P&gt;&lt;P&gt;       perform display_po_item.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;     IF p_selfield-fieldname eq 'LIFNR'.&lt;/P&gt;&lt;P&gt;       perform display_vendor_info.&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;*&amp;amp;      Form  secondary_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;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_po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table itab index v_index.&lt;/P&gt;&lt;P&gt;v_eblen = itab-ebeln.&lt;/P&gt;&lt;P&gt;perform get_item_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " secondary_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  display_vendor_info&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_vendor_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table itab index v_index.&lt;/P&gt;&lt;P&gt;v_lifnr = itab-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform get_vendor_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_vendor_info&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  get_item_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;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 get_item_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select  EBELN&lt;/P&gt;&lt;P&gt;        EBELP&lt;/P&gt;&lt;P&gt;        MATNR&lt;/P&gt;&lt;P&gt;        MATKL&lt;/P&gt;&lt;P&gt;        MENGE&lt;/P&gt;&lt;P&gt;        from ekpo&lt;/P&gt;&lt;P&gt;        into table itab1&lt;/P&gt;&lt;P&gt;        where ebeln eq v_eblen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;  perform build_catalog1.&lt;/P&gt;&lt;P&gt;  perform modify_catalog1.&lt;/P&gt;&lt;P&gt;  perform build_events1.&lt;/P&gt;&lt;P&gt;  perform modify_events1.&lt;/P&gt;&lt;P&gt;  perform list_display1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_item_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;*&amp;amp;      Form  build_catalog1&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 build_catalog1.&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_PROGRAM_NAME               = v_repid&lt;/P&gt;&lt;P&gt;    I_INTERNAL_TABNAME           = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_INCLNAME                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;P&gt;     CT_FIELDCAT                  = it_fldcat1&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    INCONSISTENT_INTERFACE       = 1&lt;/P&gt;&lt;P&gt;    PROGRAM_ERROR                = 2&lt;/P&gt;&lt;P&gt;    OTHERS                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_catalog1&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  modify_catalog1&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 modify_catalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_catalog1&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;      Form  build_events1&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 build_events1.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_events1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events1&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  modify_events1&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 modify_events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table it_events1 with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt; if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT1'.&lt;/P&gt;&lt;P&gt;    modify it_events1 from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_events1&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  list_display1&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 list_display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcat1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_events1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list_display1&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;      Form  header-of-report1&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 header-of-report1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write : 'ITEM WISE DEATILS OF A PURCHASE ORDER' centered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header-of-report1&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  get_vendor_info&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 get_vendor_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select LIFNR&lt;/P&gt;&lt;P&gt;       NAME1&lt;/P&gt;&lt;P&gt;       ADRNR&lt;/P&gt;&lt;P&gt;       ORT01&lt;/P&gt;&lt;P&gt;       ORT02&lt;/P&gt;&lt;P&gt;       PFACH&lt;/P&gt;&lt;P&gt;       from lfa1&lt;/P&gt;&lt;P&gt;       into table itab2&lt;/P&gt;&lt;P&gt;       where lifnr eq v_lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    perform build_catalog2.&lt;/P&gt;&lt;P&gt;  perform modify_catalog2.&lt;/P&gt;&lt;P&gt;  perform build_events2.&lt;/P&gt;&lt;P&gt;  perform modify_events2.&lt;/P&gt;&lt;P&gt;  perform list_display2.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_item_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;*&amp;amp;      Form  build_catalog1&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 build_catalog2.&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_PROGRAM_NAME               = v_repid&lt;/P&gt;&lt;P&gt;    I_INTERNAL_TABNAME           = 'ITAB2'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_INCLNAME                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;P&gt;     CT_FIELDCAT                  = it_fldcat2&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    INCONSISTENT_INTERFACE       = 1&lt;/P&gt;&lt;P&gt;    PROGRAM_ERROR                = 2&lt;/P&gt;&lt;P&gt;    OTHERS                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt; IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_catalog1&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  modify_catalog1&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 modify_catalog2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_catalog1&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;      Form  build_events1&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 build_events2.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_events2&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events1&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  modify_events1&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 modify_events2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table it_events2 with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt; if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT2'.&lt;/P&gt;&lt;P&gt;    modify it_events2 from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_events1&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  list_display1&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 list_display2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcat2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_events2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab2&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list_display1&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;      Form  header-of-report1&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 header-of-report2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write : 'VENDOR DETAILS' centered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header-of-report1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV INTERACTIVE REPORT&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZMK_SHIPMENT_ALV&lt;/P&gt;&lt;P&gt;         no standard page heading&lt;/P&gt;&lt;P&gt;         line-size 105&lt;/P&gt;&lt;P&gt;         line-count 50(5)&lt;/P&gt;&lt;P&gt;         message-id zz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       TABLES                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;tables : vttk, "Shipment Header&lt;/P&gt;&lt;P&gt;         vttp, " Shipment Item&lt;/P&gt;&lt;P&gt;         lips. " Delivary Item&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;***TYPE-POOLS                    *&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;*WORK AREAS                      *&lt;/P&gt;&lt;P&gt;**********************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_fldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_events type slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : wa_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES                  *&lt;/P&gt;&lt;P&gt;***********************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Shimpment Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       tknum like vttk-tknum,&lt;/P&gt;&lt;P&gt;       shtyp like vttk-shtyp,&lt;/P&gt;&lt;P&gt;       tpnum like vttp-tpnum,&lt;/P&gt;&lt;P&gt;       vbeln like vttp-vbeln,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       vbeln like lips-vbeln,&lt;/P&gt;&lt;P&gt;       posnr like lips-posnr,&lt;/P&gt;&lt;P&gt;       matnr like lips-matnr,&lt;/P&gt;&lt;P&gt;       lfimg like lips-lfimg,&lt;/P&gt;&lt;P&gt;       meins like lips-meins,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_fldcats type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_event type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For field catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_fldcats1 type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Events table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_event1 type slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;P&gt;data: v_index type sy-index,&lt;/P&gt;&lt;P&gt;      v_vbeln like lips-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT-OPTIONS&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;selection-screen begin of block b with frame title text-001.&lt;/P&gt;&lt;P&gt;          select-options : s_tknum for vttk-tknum .&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*START-OF-SELCTION&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform populate-data.&lt;/P&gt;&lt;P&gt;  sort itab by tknum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt; write : 'Shipment wise Delivary Report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform build-fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform modify-fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform build-events.&lt;/P&gt;&lt;P&gt;  perform modify-events.&lt;/P&gt;&lt;P&gt;  perform set-layout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-pfstatus.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform list-display.&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  populate-data&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Retrives the Shipment data depending on the selection criteria   *&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;FORM populate-data.&lt;/P&gt;&lt;P&gt;select vttk~tknum&lt;/P&gt;&lt;P&gt;       vttk~shtyp&lt;/P&gt;&lt;P&gt;       vttp~tpnum&lt;/P&gt;&lt;P&gt;       vttp~vbeln&lt;/P&gt;&lt;P&gt;       into table itab&lt;/P&gt;&lt;P&gt;       from vttk&lt;/P&gt;&lt;P&gt;       join vttp&lt;/P&gt;&lt;P&gt;       on vttp&lt;SUB&gt;tknum = vttk&lt;/SUB&gt;tknum&lt;/P&gt;&lt;P&gt;       where vttk~tknum  in s_tknum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message e999 with 'NO DATA FOUND'.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate-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;*&amp;amp;      Form  build-fieldcatalog&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build-fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;    i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname           = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_inclname                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fldcats&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;    program_error                = 2&lt;/P&gt;&lt;P&gt;    others                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " BUILD-FIELDCATALOG&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;      Form  build-events&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 build-events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_event&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-events&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  set-layout&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 set-layout.&lt;/P&gt;&lt;P&gt;  wa_layout-zebra          = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-no_colhead = space.&lt;/P&gt;&lt;P&gt;  wa_layout-no_vline = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " set-layout&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  list-display&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 list-display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcats&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list-display&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  modify-fieldcatalog&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 modify-fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcats into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'TKNUM'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Ship No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'SHTYP'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Ship Type'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'TPNUM'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Item No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'VBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Delivary No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcats from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify-fieldcatalog&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;      Form  modify-events&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 modify-events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_event with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_event from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   read table it_event with key name =&lt;/P&gt;&lt;P&gt;slis_ev_end_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'FOOTER-OF-REPORT'.&lt;/P&gt;&lt;P&gt;    modify it_event from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;  endif.&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.                    " modify-events&lt;/P&gt;&lt;P&gt;&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;      Form  HEADER-OF-REPORT&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 HEADER-OF-REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : 'Shipment Wise Delivary Report'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " HEADER-OF-REPORT&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  FOOTER-OF-REPORT&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 FOOTER-OF-REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write : 'End of Report'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FOOTER-OF-REPORT&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;      Form  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      User command for Calling Transaction VT03N, Execute and Refresh&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 user_command USING    p_ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                         p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_INDEX = P_SELFIELD-TABINDEX.      " holds the selected table index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;     IF p_selfield-fieldname eq 'VBELN'.&lt;/P&gt;&lt;P&gt;      perform secondary_list.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;*&amp;amp;      Form  secondary_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;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 secondary_list.&lt;/P&gt;&lt;P&gt; perform get_data1.&lt;/P&gt;&lt;P&gt; perform build-fieldcatalog1.&lt;/P&gt;&lt;P&gt;  perform modify-fieldcatalog1.&lt;/P&gt;&lt;P&gt;  perform build-events1.&lt;/P&gt;&lt;P&gt;  perform modify-events1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-layout.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform set-pfstatus.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform list-display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " secondary_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  build-fieldcatalog1&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 build-fieldcatalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; exporting&lt;/P&gt;&lt;P&gt;    i_program_name               = v_repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname           = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_inclname                   = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    ct_fieldcat                  = it_fldcats1&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    inconsistent_interface       = 1&lt;/P&gt;&lt;P&gt;    program_error                = 2&lt;/P&gt;&lt;P&gt;    others                       = 3&lt;/P&gt;&lt;P&gt;           .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-fieldcatalog1&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  modify-fieldcatalog1&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 modify-fieldcatalog1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_fldcats into wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case wa_fldcat-fieldname.&lt;/P&gt;&lt;P&gt;      when 'VBELN'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Delivary No.'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when 'POSNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Item No'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'MATNR'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Material'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'LFIMG'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Quantity'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     when 'MEINS'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-seltext_l = 'Unit of Measure'.&lt;/P&gt;&lt;P&gt;        wa_fldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;        wa_fldcat-ddictxt = 'L'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   modify it_fldcats from wa_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   endloop.&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.                    " modify-fieldcatalog1&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  build-events1&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 build-events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_LIST_TYPE           = 0&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   ET_EVENTS             = it_event1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS                = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build-events1&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  modify-events1&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 modify-events1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; read table it_event1 with key name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page into wa_events.&lt;/P&gt;&lt;P&gt;   if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_events-form = 'HEADER_OF_REPORT_2'.&lt;/P&gt;&lt;P&gt;    modify it_event1 from wa_events index sy-tabix.&lt;/P&gt;&lt;P&gt;    clear wa_events.&lt;/P&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify-events1&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  list-display1&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 list-display1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = wa_layout&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = it_fldcats1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = it_event1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = itab1&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&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.                    " list-display1&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;      Form  get_data1&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 get_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; READ TABLE itab INDEX V_INDEX.&lt;/P&gt;&lt;P&gt; v_vbeln = itab-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; select vbeln&lt;/P&gt;&lt;P&gt;        posnr&lt;/P&gt;&lt;P&gt;        matnr&lt;/P&gt;&lt;P&gt;        lfimg&lt;/P&gt;&lt;P&gt;        meins&lt;/P&gt;&lt;P&gt;        from lips&lt;/P&gt;&lt;P&gt;        into table itab1&lt;/P&gt;&lt;P&gt;        where vbeln eq v_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data1&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  header_of_report_2&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 header_of_report_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: 'Delivary item list'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_of_report_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- callling a transaction code by passing the initial screen value.&lt;/P&gt;&lt;P&gt;&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;      Form  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;form user_command using    p_ucomm    like sy-ucomm&lt;/P&gt;&lt;P&gt;                         p_selfield type slis_selfield.&lt;/P&gt;&lt;P&gt;  data : l_index like sy-index,&lt;/P&gt;&lt;P&gt;         l_refbn like cooi-refbn.&lt;/P&gt;&lt;P&gt;  l_index = p_selfield-tabindex.       " holds the selected table index&lt;/P&gt;&lt;P&gt;  clear l_refbn.&lt;/P&gt;&lt;P&gt;  case p_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    when '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      clear l_refbn.&lt;/P&gt;&lt;P&gt;      read table it_outtab index l_index.&lt;/P&gt;&lt;P&gt;      if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;        l_refbn = it_outtab-refbn.&lt;/P&gt;&lt;P&gt;        if not l_refbn is initial.&lt;/P&gt;&lt;P&gt;          set parameter id 'BES' field l_refbn.&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;        endif.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        message e999 with text-014.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV WITH CHECK BOXES&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZTESTPRG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES AND DATA DECLARATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TABLES: mara,makt.",marc.&lt;/P&gt;&lt;P&gt;data syrepid like sy-repid.&lt;/P&gt;&lt;P&gt;data sydatum(10). " LIKE sy-datum.&lt;/P&gt;&lt;P&gt;data sypagno(3) type n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GROUP (TYPE-POOLS---------&amp;gt;SLIS)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE DECLARATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of t_mara occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;meins like mara-meins,&lt;/P&gt;&lt;P&gt;mtart like mara-mtart,&lt;/P&gt;&lt;P&gt;matkl like mara-matkl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end of t_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_marc occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;werks like marc-werks,&lt;/P&gt;&lt;P&gt;minbe like marc-minbe.&lt;/P&gt;&lt;P&gt;data: end of t_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_makt occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;spras like makt-spras,&lt;/P&gt;&lt;P&gt;end of t_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;chkbox(1) type c,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;meins like mara-meins,&lt;/P&gt;&lt;P&gt;maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;spras like makt-spras,&lt;/P&gt;&lt;P&gt;werks like marc-werks,&lt;/P&gt;&lt;P&gt;minbe like marc-minbe,&lt;/P&gt;&lt;P&gt;end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND THE LAYOUT FOR THE ALV.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THIS IS DONE TO MAKE THE CODE SIMPLER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAMS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MORE TABLES AND CREATE A STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;fieldlayout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP-OF-PAGE ETC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : eventstab type slis_t_event with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : heading type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading1 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading2 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading3 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading4 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading5 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading6 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading7 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading8 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : colorstruct type slis_coltypes.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INITIALIZATION. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;syrepid = sy-repid.&lt;/P&gt;&lt;P&gt;sypagno = sy-pagno.&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE COLORSTRUCT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_colorstruct using colorstruct.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform selectdata_and_sort.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_layout using fieldlayout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform merge_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE EVENTSTAB.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_eventstab tables eventstab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE HEADING TABLES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_headingtable tables heading using 'HEADING'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading1 using 'HEADING1'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading2 using 'HEADING2'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading3 using 'HEADING3'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading4 using 'HEADING4'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading5 using 'HEADING5'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading6 using 'HEADING6'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading7 using 'HEADING7'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading8 using 'HEADING8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO DISPLAY THE LIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform display_alv_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORMS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COLUMN JUSTIFICATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form populate_fieldcatalog.&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATNR' 'X' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MEINS' ' '.&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MAKTX' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MTART' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATKL' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'SPRAS' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'WERKS' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MINBE' ' ' .&lt;/P&gt;&lt;P&gt;endform. " POPULATE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FILL_FIELDS_OF_FIELDCATALOG *&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;........ *&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; FIELDCATALOG *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_TABNAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_FIELDNAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY *&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 fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;structure fieldcatalog&lt;/P&gt;&lt;P&gt;using p_tabname&lt;/P&gt;&lt;P&gt;p_fieldname&lt;/P&gt;&lt;P&gt;p_key.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;p_no_out.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcatalog-tabname = p_tabname.&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = p_fieldname.&lt;/P&gt;&lt;P&gt;fieldcatalog-key = p_key.&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = '1234'.&lt;/P&gt;&lt;P&gt;*fieldcatalog-no_out = p_no_out.&lt;/P&gt;&lt;P&gt;append fieldcatalog.&lt;/P&gt;&lt;P&gt;endform. " FILL_FIELDSOFFIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM POPULATE_LAYOUT *&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;........ *&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; FIELDLAYOUT *&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 populate_layout using fieldlayout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;fieldlayout-f2code = '&amp;amp;ETA' .&lt;/P&gt;&lt;P&gt;fieldlayout-zebra = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOR THE WINDOW TITLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-window_titlebar = 'ALV with Events'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldlayout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;fieldlayout-no_vline = ' '.&lt;/P&gt;&lt;P&gt;*fieldlayout-no_input = 'X'.&lt;/P&gt;&lt;P&gt;fieldlayout-confirmation_prompt = ''.&lt;/P&gt;&lt;P&gt;fieldlayout-key_hotspot = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This removes the column headings if the flag is set to 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-no_colhead = ' '.&lt;/P&gt;&lt;P&gt;*fieldlayout-hotspot_fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;fieldlayout-detail_popup = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldlayout-coltab_fieldname = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldlayout-box_fieldname = 'CHKBOX'.&lt;/P&gt;&lt;P&gt;fieldlayout-edit_mode = 'X'.&lt;/P&gt;&lt;P&gt;endform. " POPULATE_LAYOUT&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM SELECTDATA_AND_SORT *&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;........ *&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 selectdata_and_sort.&lt;/P&gt;&lt;P&gt;select matnr meins mtart matkl from mara&lt;/P&gt;&lt;P&gt;into corresponding fields of t_mara&lt;/P&gt;&lt;P&gt;up to 500 rows .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr maktx spras from makt&lt;/P&gt;&lt;P&gt;into corresponding fields of t_makt&lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr and&lt;/P&gt;&lt;P&gt;spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr werks minbe from marc&lt;/P&gt;&lt;P&gt;into corresponding fields of t_marc&lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;append t_marc.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;append t_makt.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;append t_mara.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;perform populate_itab1.&lt;/P&gt;&lt;P&gt;sort itab1 by matnr.&lt;/P&gt;&lt;P&gt;endform. " SELECTDATA_AND_SORT&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM MERGE_FIELDCATALOG *&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;........ *&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 merge_fieldcatalog.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_program_name = syrepid&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name = 'COLORSTRUCT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_inclname = syrepid&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;ct_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;others = 3.&lt;/P&gt;&lt;P&gt;endform. " MERGE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOLLOWS:-&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_callback_program --&amp;gt; CALLING PROGRAM NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name --&amp;gt; STRUCTURE NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is_layout --&amp;gt; LAYOUT NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_fieldcat ---&amp;gt; BODY OF THE FIELD CATALOGUE INTERNAL TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form display_alv_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_INTERFACE_CHECK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_callback_program = syrepid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_structure_name = 'ITAB1'&lt;/P&gt;&lt;P&gt;is_layout = fieldlayout&lt;/P&gt;&lt;P&gt;it_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SPECIAL_GROUPS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_DEFAULT = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOOL BAR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_VARIANT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;it_events = eventstab[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_PRINT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;t_outtab = itab1&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_ALV_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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form POPULATE_ITAB1&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;/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;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;&lt;/P&gt;&lt;P&gt;form populate_itab1.&lt;/P&gt;&lt;P&gt;loop at t_mara.&lt;/P&gt;&lt;P&gt;loop at t_makt where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;loop at t_marc where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;move-corresponding t_mara to itab1.&lt;/P&gt;&lt;P&gt;move-corresponding t_makt to itab1.&lt;/P&gt;&lt;P&gt;move-corresponding t_marc to itab1.&lt;/P&gt;&lt;P&gt;append itab1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform. " POPULATE_ITAB1&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;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_EVENTSTAB&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;/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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_EVENTSTAB 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;&lt;/P&gt;&lt;P&gt;form fill_eventstab tables p_eventstab structure eventstab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EVENTS NAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_list_type = 0&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;et_events = p_eventstab[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;list_type_wrong = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS DYNAMICALY CALLED.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_coverpage.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_COVERPAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_coverpage .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_COVERPAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_top_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_end_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_list_modify.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'LIST_MODIFY' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_list.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_LIST' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_list .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_LIST' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. " FILL_EVENTSTAB&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;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_HEADINGTABLE&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;/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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_HEADING 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;&lt;/P&gt;&lt;P&gt;form fill_headingtable tables p_heading structure heading&lt;/P&gt;&lt;P&gt;using tablename.&lt;/P&gt;&lt;P&gt;case tablename.&lt;/P&gt;&lt;P&gt;when 'HEADING'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;concatenate&lt;/P&gt;&lt;P&gt;' REPORT NAME:-' syrepid&lt;/P&gt;&lt;P&gt;' ABB Industry Pte Ltd' into p_heading-info.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;write sy-datum using edit mask '__/__/____' to sydatum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate&lt;/P&gt;&lt;P&gt;' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno&lt;/P&gt;&lt;P&gt;into p_heading-info.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING1'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-COVER-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING2'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-COVER-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING3'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-TOP-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING4'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-END-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN 'HEADING5'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-TYP = 'H'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-INFO = 'LIST-MODIFY'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND P_HEADING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;when 'HEADING6'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING7'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-LIST'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING8'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-LIST'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;endform. " FILL_HEADINGTABLE&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_PAGE *&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;........ *&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 top_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_COLORSTRUCT&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;/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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_COLORSTRUCT 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;&lt;/P&gt;&lt;P&gt;form fill_colorstruct using p_colorstruct type slis_coltypes .&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-col = 6.&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-int = 1.&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-inv = 1.&lt;/P&gt;&lt;P&gt;endform. " FILL_COLORSTRUCT&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_COVERPAGE *&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;........ *&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 top_of_coverpage.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading1[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_COVERPAGE *&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;........ *&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 end_of_coverpage.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading2[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FOREIGN_TOP_OF_PAGE *&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;........ *&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 foreign_top_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading3[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FOREIGN_END_OF_PAGE *&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;........ *&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 foreign_end_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading4[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM LIST_MODIFY *&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;........ *&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 LIST_MODIFY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_LIST_COMMENTARY = HEADING5[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_PAGE *&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;........ *&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 end_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading6[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_LIST *&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;........ *&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 end_of_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading7[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_LIST *&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;........ *&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 top_of_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading8[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- End of Program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV SUBTOTALS&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZYFI_REPT007&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-SIZE 300&lt;/P&gt;&lt;P&gt;       LINE-COUNT 50&lt;/P&gt;&lt;P&gt;       MESSAGE-ID ZYFI.&lt;/P&gt;&lt;P&gt;************************************&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MODIFICATION LOG (latest change first):                              *&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; Date         Author       Incident No       Request No             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            Description                              *&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;************************************************************************&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES : COOI, " Commitments Management: Line Items&lt;/P&gt;&lt;P&gt;         LFA1,                         " Vendor master (general section)&lt;/P&gt;&lt;P&gt;         VBEP,&lt;/P&gt;&lt;P&gt;         RKPLN.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TABLE TYPES AND INTERNAL TABLES                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF TYP_COOI ,&lt;/P&gt;&lt;P&gt;       OBJNR LIKE COOI-OBJNR,&lt;/P&gt;&lt;P&gt;       SAKTO LIKE COOI-SAKTO,&lt;/P&gt;&lt;P&gt;       MEGBTR LIKE COOI-MEGBTR,&lt;/P&gt;&lt;P&gt;       MEINH LIKE COOI-MEINH,&lt;/P&gt;&lt;P&gt;       WKGBTR LIKE COOI-WKGBTR,&lt;/P&gt;&lt;P&gt;       REFBN LIKE COOI-REFBN,&lt;/P&gt;&lt;P&gt;       RFPOS LIKE COOI-RFPOS,&lt;/P&gt;&lt;P&gt;       SGTXT LIKE COOI-SGTXT,&lt;/P&gt;&lt;P&gt;       BUDAT LIKE COOI-BUDAT,&lt;/P&gt;&lt;P&gt;       LIFNR LIKE COOI-LIFNR,&lt;/P&gt;&lt;P&gt;       END OF TYP_COOI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF TYP_LFA1 ,&lt;/P&gt;&lt;P&gt;        LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;        NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;       END OF TYP_LFA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_OUTTAB OCCURS 0,&lt;/P&gt;&lt;P&gt;         OBJNR LIKE COOI-OBJNR,&lt;/P&gt;&lt;P&gt;         SAKTO LIKE COOI-SAKTO,&lt;/P&gt;&lt;P&gt;         MEGBTR LIKE COOI-MEGBTR,&lt;/P&gt;&lt;P&gt;         MEINH LIKE COOI-MEINH,&lt;/P&gt;&lt;P&gt;         WKGBTR LIKE COOI-WKGBTR,&lt;/P&gt;&lt;P&gt;         REFBN LIKE COOI-REFBN,&lt;/P&gt;&lt;P&gt;         RFPOS LIKE COOI-RFPOS,&lt;/P&gt;&lt;P&gt;         SGTXT LIKE COOI-SGTXT,&lt;/P&gt;&lt;P&gt;         BUDAT LIKE COOI-BUDAT,&lt;/P&gt;&lt;P&gt;         LIFNR LIKE COOI-LIFNR,&lt;/P&gt;&lt;P&gt;         NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;       END OF IT_OUTTAB.&lt;/P&gt;&lt;P&gt;DATA : IT_COOI LIKE TYP_COOI OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       IT_LFA1 LIKE TYP_LFA1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- ALV Declarations&lt;/P&gt;&lt;P&gt;TYPE-POOLS SLIS.&lt;/P&gt;&lt;P&gt;DATA: IT_EVENTS            TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      GS_EVENT             TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;      wa_fldcat            type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA: S_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      GT_PRINT TYPE SLIS_PRINT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_FLDCAT       TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: IT_SORT             TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    SELECTION SCREEN                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_KOKRS FOR COOI-KOKRS NO-EXTENSION NO INTERVALS,&lt;/P&gt;&lt;P&gt;                                       " Controlling Area&lt;/P&gt;&lt;P&gt;                 S_BUKRS FOR COOI-BUKRS NO-EXTENSION NO INTERVALS,&lt;/P&gt;&lt;P&gt;                                       " Company code&lt;/P&gt;&lt;P&gt;                 S_GJAHR FOR COOI-GJAHR NO-EXTENSION NO INTERVALS,&lt;/P&gt;&lt;P&gt;                                       " Fiscal Year&lt;/P&gt;&lt;P&gt;                 S_OBJNR FOR RKPLN-AUFNR MATCHCODE OBJECT ORDE,&lt;/P&gt;&lt;P&gt;                                                        " Internal order&lt;/P&gt;&lt;P&gt;                 S_SAKTO FOR COOI-SAKTO MATCHCODE OBJECT KART,&lt;/P&gt;&lt;P&gt;                                                          " Cost Element&lt;/P&gt;&lt;P&gt;                 S_BUDAT FOR COOI-BUDAT, " Debit Date&lt;/P&gt;&lt;P&gt;                 S_LIFNR FOR COOI-LIFNR. " Vendor&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       S T A R T   O F   S E L E C T I O N                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*-- Read data&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       E N D   O F   S E L E C T I O N                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*-- Process the data and prepare the output data&lt;/P&gt;&lt;P&gt;  PERFORM CALCULATE_FINAL_INFO.&lt;/P&gt;&lt;P&gt;*--Display Report output&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_REPORT.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM CALCULATE_FINAL_INFO                                     *&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;    Process the data and prepare final internal table               *&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 CALCULATE_FINAL_INFO.&lt;/P&gt;&lt;P&gt;  DATA : L_OBJNR LIKE COOI-OBJNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_LFA1 BY LIFNR.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM IT_LFA1 COMPARING LIFNR.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_COOI.&lt;/P&gt;&lt;P&gt;    L_OBJNR = IT_COOI-OBJNR+2(20).&lt;/P&gt;&lt;P&gt;    SHIFT L_OBJNR LEFT DELETING LEADING '0'.&lt;/P&gt;&lt;P&gt;    IF L_OBJNR IN S_OBJNR.&lt;/P&gt;&lt;P&gt;      READ TABLE IT_LFA1 WITH KEY LIFNR  = IT_COOI-LIFNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        IT_OUTTAB-NAME1 = IT_LFA1-NAME1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING IT_COOI TO IT_OUTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR IT_OUTTAB-OBJNR.&lt;/P&gt;&lt;P&gt;      IT_OUTTAB-OBJNR = L_OBJNR.&lt;/P&gt;&lt;P&gt;      APPEND IT_OUTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR IT_OUTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR IT_LFA1.&lt;/P&gt;&lt;P&gt;      CLEAR L_OBJNR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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  GET_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Fetch the Data from the table COOI and LFA1&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 GET_DATA.&lt;/P&gt;&lt;P&gt;  SELECT OBJNR&lt;/P&gt;&lt;P&gt;        SAKTO&lt;/P&gt;&lt;P&gt;        MEGBTR&lt;/P&gt;&lt;P&gt;        MEINH&lt;/P&gt;&lt;P&gt;        WKGBTR&lt;/P&gt;&lt;P&gt;        REFBN&lt;/P&gt;&lt;P&gt;        RFPOS&lt;/P&gt;&lt;P&gt;        SGTXT&lt;/P&gt;&lt;P&gt;        BUDAT&lt;/P&gt;&lt;P&gt;        LIFNR&lt;/P&gt;&lt;P&gt;        FROM COOI&lt;/P&gt;&lt;P&gt;        INTO TABLE IT_COOI&lt;/P&gt;&lt;P&gt;        WHERE   BUDAT IN S_BUDAT&lt;/P&gt;&lt;P&gt;        AND LIFNR IN S_LIFNR&lt;/P&gt;&lt;P&gt;        AND KOKRS IN S_KOKRS&lt;/P&gt;&lt;P&gt;        AND BUKRS IN S_BUKRS&lt;/P&gt;&lt;P&gt;        AND GJAHR IN S_GJAHR&lt;/P&gt;&lt;P&gt;        AND SAKTO IN S_SAKTO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Vendor name from LFA1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT LIFNR&lt;/P&gt;&lt;P&gt;           NAME1&lt;/P&gt;&lt;P&gt;           FROM LFA1&lt;/P&gt;&lt;P&gt;           INTO TABLE IT_LFA1&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN IT_COOI&lt;/P&gt;&lt;P&gt;           WHERE LIFNR EQ IT_COOI-LIFNR.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I999 WITH TEXT-013.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_DATA&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;      Form  DISPLAY_REPORT&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;       Display the output&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_REPORT.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_CATALOG.&lt;/P&gt;&lt;P&gt;  PERFORM FRM_PREPARE_EVENT_LIST TABLES IT_EVENTS.&lt;/P&gt;&lt;P&gt;  IF NOT IT_OUTTAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              I_CALLBACK_PROGRAM      = V_REPID&lt;/P&gt;&lt;P&gt;              I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;              IT_FIELDCAT             = IT_FLDCAT&lt;/P&gt;&lt;P&gt;              IT_SORT                 = IT_SORT&lt;/P&gt;&lt;P&gt;              IT_EVENTS               = IT_EVENTS&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              T_OUTTAB                = IT_OUTTAB&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              PROGRAM_ERROR           = 1&lt;/P&gt;&lt;P&gt;              OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I999 WITH TEXT-013.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " DISPLAY_REPORT&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;      Form  BUILD_CATALOG&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;      Build the Field catalog for the ALV Report&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 BUILD_CATALOG.&lt;/P&gt;&lt;P&gt;  DATA: V_INDEX LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_PROGRAM_NAME         = V_REPID&lt;/P&gt;&lt;P&gt;            I_INTERNAL_TABNAME     = 'IT_OUTTAB'&lt;/P&gt;&lt;P&gt;            I_INCLNAME             = V_REPID&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            CT_FIELDCAT            = IT_FLDCAT&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;P&gt;            PROGRAM_ERROR          = 2&lt;/P&gt;&lt;P&gt;            OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_FLDCAT WITH KEY FIELDNAME = 'WKGBTR'&lt;/P&gt;&lt;P&gt;                         TABNAME = 'IT_OUTTAB' INTO WA_FLDCAT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC  EQ 0.&lt;/P&gt;&lt;P&gt;    WA_FLDCAT-DO_SUM  = 'X'.&lt;/P&gt;&lt;P&gt;    MODIFY IT_FLDCAT FROM WA_FLDCAT INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_FLDCAT WITH KEY FIELDNAME = 'OBJNR'&lt;/P&gt;&lt;P&gt;                            TABNAME =  'IT_OUTTAB' INTO WA_FLDCAT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;     WA_FLDCAT-SELTEXT_L = 'Order'.&lt;/P&gt;&lt;P&gt;     WA_FLDCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;     WA_FLDCAT-DDICTXT = 'L'.&lt;/P&gt;&lt;P&gt;    MODIFY IT_FLDCAT FROM WA_FLDCAT INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_SORT-FIELDNAME = 'OBJNR'.&lt;/P&gt;&lt;P&gt;  LS_SORT-SPOS      = 1.&lt;/P&gt;&lt;P&gt;  LS_SORT-UP        = 'X'.&lt;/P&gt;&lt;P&gt;  LS_SORT-SUBTOT    = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND LS_SORT TO IT_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_CATALOG&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;      Form  FRM_PREPARE_EVENT_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Build the Events&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 FRM_PREPARE_EVENT_LIST TABLES IT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  CLEAR GS_EVENT.&lt;/P&gt;&lt;P&gt;  GS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  GS_EVENT-FORM = 'TOP_OF_PAGE_REPORT'.&lt;/P&gt;&lt;P&gt;  APPEND GS_EVENT TO IT_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FRM_PREPARE_EVENT_LIST&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TOP OF PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE_REPORT.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_YREPORT_HEADER'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DL_TITLE = SY-TITLE&lt;/P&gt;&lt;P&gt;            DL_REPID = SY-CPROG&lt;/P&gt;&lt;P&gt;            DL_LINSZ = SY-LINSZ&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS   = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FRM_TOP_OF_PAGE_REPORT&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  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Drill Down Functionality to Call the Transaction ME23&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 USER_COMMAND USING    P_UCOMM    LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;                           P_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  DATA : L_INDEX LIKE SY-INDEX,&lt;/P&gt;&lt;P&gt;         L_REFBN LIKE COOI-REFBN.&lt;/P&gt;&lt;P&gt;  L_INDEX = P_SELFIELD-TABINDEX.       " holds the selected table index&lt;/P&gt;&lt;P&gt;  CLEAR L_REFBN.&lt;/P&gt;&lt;P&gt;  CASE P_UCOMM.&lt;/P&gt;&lt;P&gt;*-- On Double Click&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      CLEAR L_REFBN.&lt;/P&gt;&lt;P&gt;*-- Read the Current Line&lt;/P&gt;&lt;P&gt;      READ TABLE IT_OUTTAB INDEX L_INDEX.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        L_REFBN = IT_OUTTAB-REFBN.&lt;/P&gt;&lt;P&gt;        IF NOT L_REFBN IS INITIAL.&lt;/P&gt;&lt;P&gt;*-- Set the BES Paramater Id to the Current line Purchase Order Number&lt;/P&gt;&lt;P&gt;          SET PARAMETER ID 'BES' FIELD L_REFBN.&lt;/P&gt;&lt;P&gt;*-- Call the Transaction Purchase Order Display with the above PO Number&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE E999 WITH TEXT-014.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV WITH F4 HELP ON OUTPUT&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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; Report ZALV1_14797&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;/P&gt;&lt;P&gt;REPORT ZALV1_14797.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;L_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;X_EVENTS TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;IT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;VBELN(10) type c ,&lt;/P&gt;&lt;P&gt;POSNR LIKE VBAP-POSNR,&lt;/P&gt;&lt;P&gt;CHK(1),&lt;/P&gt;&lt;P&gt;color(4),&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT VBELN&lt;/P&gt;&lt;P&gt;POSNR&lt;/P&gt;&lt;P&gt;FROM VBAP&lt;/P&gt;&lt;P&gt;UP TO 20 ROWS&lt;/P&gt;&lt;P&gt;INTO TABLE ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X_FIELDCAT-FIELDNAME = 'CHK'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-TABNAME = 'ITAB'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-INPUT = 'X'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-CHECKBOX = 'X'.&lt;/P&gt;&lt;P&gt;APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X_FIELDCAT-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-SELTEXT_L = 'VBELN'.&lt;/P&gt;&lt;P&gt;*X_FIELDCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;x_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-TABNAME = 'ITAB'.&lt;/P&gt;&lt;P&gt;x_fieldcat-ref_fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;x_fieldcat-ref_tabname = 'VBAK'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-COL_POS = 2.&lt;/P&gt;&lt;P&gt;APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X_FIELDCAT-FIELDNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-SELTEXT_L = 'POSNR'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-TABNAME = 'ITAB'.&lt;/P&gt;&lt;P&gt;X_FIELDCAT-COL_POS = 3.&lt;/P&gt;&lt;P&gt;APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;L_LAYOUT-info_fieldname = 'COLOR'.&lt;/P&gt;&lt;P&gt;*L_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = SY-REPID&lt;/P&gt;&lt;P&gt;IS_LAYOUT = L_LAYOUT&lt;/P&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = 'STATUS'&lt;/P&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = IT_FIELDCAT&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = ITAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&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; Form STATUS&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_EXTAB 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 STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;*- Pf status&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'STATUS'.&lt;/P&gt;&lt;P&gt;ENDFORM. " STATUS&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; Form 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;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;R_UCOMM text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;RS_SELFIELD 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 USER_COMMAND USING R_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GD_REPID LIKE SY-REPID, "Exists&lt;/P&gt;&lt;P&gt;REF_GRID TYPE REF TO CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;IF REF_GRID IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;E_GRID = REF_GRID.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF NOT REF_GRID IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL METHOD REF_GRID-&amp;gt;CHECK_CHANGED_DATA .&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;loop at itab where chk = 'X'.&lt;/P&gt;&lt;P&gt;itab-color = 'C300'.&lt;/P&gt;&lt;P&gt;modify itab index sy-tabix transporting color.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;RS_SELFIELD-refresh = 'X'.endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALV HIERARCHICAL&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZS_REPT_SD_REPORT_47&lt;/P&gt;&lt;P&gt;       MESSAGE-ID ZSD&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-COUNT 65(2)&lt;/P&gt;&lt;P&gt;       LINE-SIZE 127.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Progname    : ZS_REPT_SD_REPORT_47                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Service MRA Report                                     *&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;LOGICAL DB  :            VERSION OF :                                *&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;DESCRIPTION : Service MRA Report                                     *&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;AUTHOR      :  DRN Kishore                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATE        :  03/10/2005                                            *&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;MODIFICATION LOG (latest change first):                              *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date       Incident          Request         Author                  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           #30445                            DRN Kishore             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           Description:                                              *&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;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : VBRK,        " Billing: Header Data&lt;/P&gt;&lt;P&gt;         VBRP,        " Billing: Item Data&lt;/P&gt;&lt;P&gt;         KONV,        " Conditions (Transaction Data)&lt;/P&gt;&lt;P&gt;         KNA1,        " General Data in Customer Master&lt;/P&gt;&lt;P&gt;         TVKO,        " Organizational Unit: Sales Organizations&lt;/P&gt;&lt;P&gt;         TVTW,        " Organizational Unit: Distribution Channels&lt;/P&gt;&lt;P&gt;         TSPA,        " Organizational Unit: Sales Divisions&lt;/P&gt;&lt;P&gt;         MARA,        " General Material Data&lt;/P&gt;&lt;P&gt;         TVFK,        " Billing: Document Types&lt;/P&gt;&lt;P&gt;         TVAU.        " Sales Documents: Order Reasons&lt;/P&gt;&lt;P&gt;&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  INTERNAL TABLES.                                                   *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold the VBRK Billing data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_VBRK OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN LIKE VBRK-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         KUNAG LIKE VBRK-KUNAG,              " Sold-to&lt;/P&gt;&lt;P&gt;         FKDAT LIKE VBRK-FKDAT,              " Bill Date&lt;/P&gt;&lt;P&gt;         FKART LIKE VBRK-FKART,              " Bill doc type&lt;/P&gt;&lt;P&gt;         KNUMV LIKE VBRK-KNUMV,              " doc cond number&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       field credit applied(TBD)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         WAERK LIKE VBRK-WAERK,              " SD document currency&lt;/P&gt;&lt;P&gt;       END OF IT_VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold the VBRK Billing:Item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN      LIKE VBRP-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         POSNR      LIKE VBRP-POSNR,              " Billing item&lt;/P&gt;&lt;P&gt;         FKIMG      LIKE VBRP-FKIMG,              " Blled quantity&lt;/P&gt;&lt;P&gt;         MATNR      LIKE VBRP-MATNR,              " Material number&lt;/P&gt;&lt;P&gt;         AUGRU_AUFT LIKE VBRP-AUGRU_AUFT,         " Order reason&lt;/P&gt;&lt;P&gt;         NETWR      LIKE VBRP-NETWR,              " Net val in&lt;/P&gt;&lt;P&gt;       END OF IT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold distinct doc condition no's and their&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                      condition values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_KONV OCCURS 0,&lt;/P&gt;&lt;P&gt;         KNUMV LIKE KONV-KNUMV,              " # of document condition&lt;/P&gt;&lt;P&gt;         KPOSN LIKE KONV-KPOSN,              " Condition item number&lt;/P&gt;&lt;P&gt;         KWERT LIKE KONV-KWERT,              " Condition value&lt;/P&gt;&lt;P&gt;       END OF IT_KONV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold distinct doc condition no's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_KNUMV OCCURS 0,&lt;/P&gt;&lt;P&gt;         KNUMV LIKE KONV-KNUMV,              " # of document condition&lt;/P&gt;&lt;P&gt;       END OF IT_KNUMV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Final internal table for list display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF IT_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;         CUST_NO     LIKE VBRK-KUNAG,&lt;/P&gt;&lt;P&gt;         BILL_DOC    LIKE VBRK-VBELN,&lt;/P&gt;&lt;P&gt;         BILL_DATE   LIKE VBRK-FKDAT,&lt;/P&gt;&lt;P&gt;         BILL_TYPE   LIKE VBRK-FKART,&lt;/P&gt;&lt;P&gt;         MODEL       LIKE VBRP-MATNR,&lt;/P&gt;&lt;P&gt;         SHP_COST    LIKE KONV-KWERT,&lt;/P&gt;&lt;P&gt;         FLD_CR      LIKE VBRP-NETWR,          " vbrp-augru_auft = 'DU'&lt;/P&gt;&lt;P&gt;         MRA_CODE    LIKE VBRP-AUGRU_AUFT,&lt;/P&gt;&lt;P&gt;         MRA_AMOUNT  LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;         INVOICE_AMT LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;         CURRENCY    LIKE VBRK-WAERK,&lt;/P&gt;&lt;P&gt;       END OF IT_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal table to store Document header details for display&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_HEAD OCCURS 0,&lt;/P&gt;&lt;P&gt;         EXP,&lt;/P&gt;&lt;P&gt;         CUST_NO    LIKE VBRK-KUNAG,          " Customer Number&lt;/P&gt;&lt;P&gt;         BILL_DOC   LIKE VBRK-VBELN,          " Document number&lt;/P&gt;&lt;P&gt;         BILL_DATE  LIKE VBRK-FKDAT,          " Billing date&lt;/P&gt;&lt;P&gt;         BILL_TYPE  LIKE VBRK-FKART,          " Billing type&lt;/P&gt;&lt;P&gt;       END OF IT_HEAD.&lt;/P&gt;&lt;P&gt;*--Internal table to store Document item details for display&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_ITEM OCCURS 0,&lt;/P&gt;&lt;P&gt;         BILL_DOC    LIKE VBRK-VBELN,          " Document number&lt;/P&gt;&lt;P&gt;         MODEL       LIKE VBRP-MATNR,          " Material Number&lt;/P&gt;&lt;P&gt;         SHP_COST    LIKE KONV-KWERT,          " Doc Condition value&lt;/P&gt;&lt;P&gt;         FLD_CR      LIKE VBRP-NETWR,          " IF VBRP-AUGRU_AUFT='DU'&lt;/P&gt;&lt;P&gt;         MRA_CODE    LIKE VBRP-AUGRU_AUFT,     " MRA Code&lt;/P&gt;&lt;P&gt;         MRA_AMOUNT  LIKE VBRP-NETWR,          " IF VBRK-FKART = 'RE'&lt;/P&gt;&lt;P&gt;         INVOICE_AMT LIKE VBRP-NETWR,          " Invoice Amount&lt;/P&gt;&lt;P&gt;         CURRENCY    LIKE VBRK-WAERK,          " Currency&lt;/P&gt;&lt;P&gt;       END OF IT_ITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To store the second level data : Billing document, amount&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_DETAILS OCCURS 0,&lt;/P&gt;&lt;P&gt;         CUST_NO     LIKE VBRK-KUNAG,    " Customer Number&lt;/P&gt;&lt;P&gt;         BILL_DOC    LIKE VBRK-VBELN,    " Document number&lt;/P&gt;&lt;P&gt;         QUANTITY    TYPE I,"VBRP-FKIMG,    " Qty&lt;/P&gt;&lt;P&gt;         AMOUNT      LIKE VBRP-NETWR,    " Amount&lt;/P&gt;&lt;P&gt;       END OF IT_DETAILS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Structures for ALV List Display&lt;/P&gt;&lt;P&gt;DATA: LS_FIELDCAT  TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      LS_LAYOUT    TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      LS_VARIANT   TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      LS_EVENT     TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;      LS_KEYINFO   TYPE SLIS_KEYINFO_ALV,&lt;/P&gt;&lt;P&gt;      LS_SORTINFO  TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Internal Tables for ALV List Display&lt;/P&gt;&lt;P&gt;DATA: IT_FIELDCAT  TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      IT_EVENTS    TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      IT_SORTINFO  TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;DATA : V_TOTAL_SALES_QTY     TYPE I,             " Total Sales Quantity&lt;/P&gt;&lt;P&gt;       V_TOTAL_SALES_AMT     LIKE VBRP-NETWR,    " Total Sales Amount&lt;/P&gt;&lt;P&gt;       V_TOTAL_RTRNS_QTY     TYPE I,             " Total Returns Qty&lt;/P&gt;&lt;P&gt;       V_TOTAL_RTRNS_AMT     LIKE VBRP-NETWR,    " Total Returns Amt&lt;/P&gt;&lt;P&gt;       V_TOTAL_FLDCR_QTY     TYPE I,             " Total Fld Cr Qty&lt;/P&gt;&lt;P&gt;       V_TOTAL_FLDCR_AMT     LIKE VBRP-NETWR,    " Total Fld Cr Amount&lt;/P&gt;&lt;P&gt;       V_CURRENCY            LIKE VBRK-WAERK.    " Currency Key&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;    SELECTION-SCREEN.                                                *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK SEL1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_VKORG FOR VBRK-VKORG           " Sales Organization&lt;/P&gt;&lt;P&gt;                            OBLIGATORY,&lt;/P&gt;&lt;P&gt;                S_VTWEG FOR VBRK-VTWEG           " Distribution Channel&lt;/P&gt;&lt;P&gt;                            OBLIGATORY,&lt;/P&gt;&lt;P&gt;                S_SPART FOR VBRK-SPART           " Division&lt;/P&gt;&lt;P&gt;                            OBLIGATORY,&lt;/P&gt;&lt;P&gt;                S_KUNAG FOR VBRK-KUNAG,          " Sold-to-party&lt;/P&gt;&lt;P&gt;                S_MATNR FOR VBRP-MATNR,          " Material&lt;/P&gt;&lt;P&gt;                S_FKDAT FOR VBRK-FKDAT           " Billing Date&lt;/P&gt;&lt;P&gt;                            OBLIGATORY,&lt;/P&gt;&lt;P&gt;                S_FKART FOR VBRK-FKART,          " Billing Type&lt;/P&gt;&lt;P&gt;                S_AUGRU FOR VBRP-AUGRU_AUFT.     " MRA Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN ULINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS:RB_DTL RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 4(35) TEXT-002 .        " Detail Report&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;*- Product class summary by customer&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS:RB_SUM RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 4(35) TEXT-003.         " Summary&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END   OF BLOCK SEL1.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  At Selection Screen Event                                          *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Validate selection-screen. Check for inputs&lt;/P&gt;&lt;P&gt;PERFORM VALIDATE.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  TOP-OF-PAGE                                                        *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Display the standard top of page if summary is selected&lt;/P&gt;&lt;P&gt;  PERFORM TOP_OF_PAGE_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Display the standard top of page if summary is selected&lt;/P&gt;&lt;P&gt;  PERFORM TOP_OF_PAGE_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_COLUMN_HEADERS.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  START-OF-SELECTION.                                                *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Get the required data from tables&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  END-OF-SELECTION.                                                  *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Display report&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY_DATA.&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  AT LINE SELECTION                                                  *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Display details for the quantity or the amount selected.&lt;/P&gt;&lt;P&gt;   PERFORM DISPLAY_DETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;      Form  VALIDATE                                                 *&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;      Validate Billing date in the selection-screen                  *&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 VALIDATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Sales Organization&lt;/P&gt;&lt;P&gt;  SELECT  VKORG UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TVKO&lt;/P&gt;&lt;P&gt;    INTO TVKO-VKORG&lt;/P&gt;&lt;P&gt;    WHERE VKORG IN S_VKORG.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E001.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Distribution Channel&lt;/P&gt;&lt;P&gt;  SELECT  VTWEG UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TVTW&lt;/P&gt;&lt;P&gt;    INTO TVTW-VTWEG&lt;/P&gt;&lt;P&gt;    WHERE VTWEG IN S_VTWEG.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E002.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Division&lt;/P&gt;&lt;P&gt;  SELECT  SPART UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TSPA&lt;/P&gt;&lt;P&gt;    INTO TSPA-SPART&lt;/P&gt;&lt;P&gt;    WHERE SPART IN S_SPART.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E003.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Shipt-to&lt;/P&gt;&lt;P&gt;  SELECT  KUNNR UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM KNA1&lt;/P&gt;&lt;P&gt;    INTO KNA1-KUNNR&lt;/P&gt;&lt;P&gt;    WHERE KUNNR IN S_KUNAG.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E030.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Model Number&lt;/P&gt;&lt;P&gt;  SELECT  MATNR UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM MARA&lt;/P&gt;&lt;P&gt;    INTO MARA-MATNR&lt;/P&gt;&lt;P&gt;    WHERE MATNR IN S_MATNR.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E047.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Billing Date&lt;/P&gt;&lt;P&gt;  SELECT FKDAT UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM VBRK&lt;/P&gt;&lt;P&gt;    INTO VBRK-FKDAT&lt;/P&gt;&lt;P&gt;    WHERE FKDAT IN S_FKDAT.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E048.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check Billing Type&lt;/P&gt;&lt;P&gt;  SELECT FKART UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TVFK&lt;/P&gt;&lt;P&gt;    INTO TVFK-FKART&lt;/P&gt;&lt;P&gt;    WHERE FKART IN S_FKART.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E004.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- To Check MRA Code&lt;/P&gt;&lt;P&gt;  SELECT AUGRU UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    FROM TVAU&lt;/P&gt;&lt;P&gt;    INTO TVAU-AUGRU&lt;/P&gt;&lt;P&gt;    WHERE AUGRU IN S_AUGRU.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E049.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE&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;      Form  GET_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get the required data from tables                              *&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 GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Get Billing data from VBRK and VBRP&lt;/P&gt;&lt;P&gt;  PERFORM GET_BILLING_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Get Shipping Costs from KONV based on the Document Condition Number&lt;/P&gt;&lt;P&gt;  PERFORM GET_SHIPPING_COSTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA&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;      Form  GET_BILLING_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get Billing data from VBRK and VBRP                            *&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 GET_BILLING_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Get data Billing Document header details from VBRK&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                      based on the selection criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT VBELN                         " Billing Document&lt;/P&gt;&lt;P&gt;         KUNAG                         " Customer&lt;/P&gt;&lt;P&gt;         FKDAT                         " Billing Date&lt;/P&gt;&lt;P&gt;         FKART                         " Billing Type&lt;/P&gt;&lt;P&gt;         KNUMV                         " Document Condition Number&lt;/P&gt;&lt;P&gt;         WAERK                         " Currency&lt;/P&gt;&lt;P&gt;         INTO TABLE IT_VBRK&lt;/P&gt;&lt;P&gt;    FROM VBRK&lt;/P&gt;&lt;P&gt;   WHERE VKORG IN S_VKORG              " Sales Organisation&lt;/P&gt;&lt;P&gt;     AND VTWEG IN S_VTWEG              " Distribution Channel&lt;/P&gt;&lt;P&gt;     AND SPART IN S_SPART              " Division&lt;/P&gt;&lt;P&gt;     AND KUNAG IN S_KUNAG              " Customer&lt;/P&gt;&lt;P&gt;     AND FKDAT IN S_FKDAT              " Billing Date&lt;/P&gt;&lt;P&gt;     AND FKART IN S_FKART              " Billing Type&lt;/P&gt;&lt;P&gt;     AND VBTYP NE 'N'                  " Cancelled Ducuments&lt;/P&gt;&lt;P&gt;     AND FKSTO NE 'X'.                 " Cancellation Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_VBRK BY VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Get data Billing Document item details from VBRP for all selected&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        from VBRP and other criteria entered in the selection criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT IT_VBRK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT  VBELN                      " Billing Document&lt;/P&gt;&lt;P&gt;            POSNR                      " Item Number&lt;/P&gt;&lt;P&gt;            FKIMG                      " Billed Quantity&lt;/P&gt;&lt;P&gt;            MATNR                      " Material Number&lt;/P&gt;&lt;P&gt;            AUGRU_AUFT                 " MRA Code&lt;/P&gt;&lt;P&gt;            NETWR                      " Invoice Amount&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE IT_VBRP&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN IT_VBRK&lt;/P&gt;&lt;P&gt;      WHERE VBELN = IT_VBRK-VBELN      " Document Number&lt;/P&gt;&lt;P&gt;        AND MATNR IN S_MATNR           " Material Number&lt;/P&gt;&lt;P&gt;        AND AUGRU_AUFT IN S_AUGRU.     " MRA Code&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_BILLING_DATA&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;      Form  GET_SHIPPING_COSTS                                       *&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; Get Shipping Costs from KONV based on the Document Condition Number *&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 GET_SHIPPING_COSTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Get all the selected Document condition numbers into internal table&lt;/P&gt;&lt;P&gt;  IF NOT IT_VBRK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;      IT_KNUMV-KNUMV = IT_VBRK-KNUMV.&lt;/P&gt;&lt;P&gt;      APPEND IT_KNUMV.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Get the Condition values for the Cundition numbers&lt;/P&gt;&lt;P&gt;    IF NOT IT_KNUMV[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SORT IT_KNUMV BY KNUMV.&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM IT_KNUMV COMPARING KNUMV.&lt;/P&gt;&lt;P&gt;      SELECT KNUMV&lt;/P&gt;&lt;P&gt;             KPOSN&lt;/P&gt;&lt;P&gt;             KWERT&lt;/P&gt;&lt;P&gt;        INTO TABLE IT_KONV&lt;/P&gt;&lt;P&gt;        FROM KONV&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN IT_KNUMV&lt;/P&gt;&lt;P&gt;        WHERE KNUMV = IT_KNUMV-KNUMV&lt;/P&gt;&lt;P&gt;          AND KSCHL = 'ZFRT'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_SHIPPING_COSTS&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;      Form  DISPLAY_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Display report                                                 *&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_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--If data is selected, display the report&lt;/P&gt;&lt;P&gt;  IF NOT IT_VBRK[] IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT IT_VBRP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--If Detail report option is selected in the selection-screen&lt;/P&gt;&lt;P&gt;    IF RB_DTL = 'X'.&lt;/P&gt;&lt;P&gt;*--Populate the header and item details in IT_HEAD and IT_ITEM&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_HEAD_ITEM.&lt;/P&gt;&lt;P&gt;*--Build field catalog ie, display position, length, etc..of each column&lt;/P&gt;&lt;P&gt;      PERFORM BUILD_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;*--Prepare the key fields info of the head and item tables&lt;/P&gt;&lt;P&gt;      PERFORM PREPARE_KEYINFO.&lt;/P&gt;&lt;P&gt;*--Add events like top-of-page to events list&lt;/P&gt;&lt;P&gt;      PERFORM PREPARE_EVENT_LIST&lt;/P&gt;&lt;P&gt;              TABLES IT_EVENTS.&lt;/P&gt;&lt;P&gt;*--Prepare the layout of the report&lt;/P&gt;&lt;P&gt;      PERFORM PREPARE_LAYOUT.&lt;/P&gt;&lt;P&gt;*--Prepare the sort info and subtotals condition info&lt;/P&gt;&lt;P&gt;      PERFORM PREPARE_SORTINFO.&lt;/P&gt;&lt;P&gt;*--Display the report using ALV&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--If Summary Option is selected in the selections-screen&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;*--Display the summary report&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_SUMMARY.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I999 WITH TEXT-004.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      No Data Available for the Given Selection Criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&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;      Form  POPULATE_HEAD_ITEM                                       *&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;    Populate the header and item details in IT_HEAD and IT_ITEM      *&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 POPULATE_HEAD_ITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; V_TABIX = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*--For each of the document header&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;*--Get the item details and append to IT_ITEM Internal tble&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN.&lt;/P&gt;&lt;P&gt;      IT_ITEM-BILL_DOC = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;      IT_ITEM-CURRENCY  = IT_VBRK-WAERK.&lt;/P&gt;&lt;P&gt;*--Get the condition value for the condition type&lt;/P&gt;&lt;P&gt;      READ TABLE IT_KONV WITH KEY KNUMV = IT_VBRK-KNUMV&lt;/P&gt;&lt;P&gt;                                  KPOSN = IT_VBRP-POSNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        IT_ITEM-SHP_COST = IT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IT_ITEM-MODEL        = IT_VBRP-MATNR.&lt;/P&gt;&lt;P&gt;      IT_ITEM-MRA_CODE     = IT_VBRP-AUGRU_AUFT.&lt;/P&gt;&lt;P&gt;*--If MRA Code is 'DU', display amount as field Credit&lt;/P&gt;&lt;P&gt;      IF IT_VBRP-AUGRU_AUFT = 'DU'.&lt;/P&gt;&lt;P&gt;        IT_ITEM-FLD_CR     = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*--If billing type is 'RE', display amount as MRA Amount&lt;/P&gt;&lt;P&gt;      IF IT_VBRK-FKART = 'RE'.&lt;/P&gt;&lt;P&gt;        IT_ITEM-MRA_AMOUNT = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IT_ITEM-INVOICE_AMT  = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      APPEND IT_ITEM.&lt;/P&gt;&lt;P&gt;      CLEAR  IT_ITEM.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;*--Append Header details to IT_HEAD Internal table&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      IT_HEAD-CUST_NO   = IT_VBRK-KUNAG.&lt;/P&gt;&lt;P&gt;      IT_HEAD-BILL_DOC  = IT_VBRK-VBELN.&lt;/P&gt;&lt;P&gt;      IT_HEAD-BILL_DATE = IT_VBRK-FKDAT.&lt;/P&gt;&lt;P&gt;      IT_HEAD-BILL_TYPE = IT_VBRK-FKART.&lt;/P&gt;&lt;P&gt;      APPEND IT_HEAD.&lt;/P&gt;&lt;P&gt;      CLEAR  IT_HEAD.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_HEAD_ITEM&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;      Form  BUILD_FIELD_CATALOG                                      *&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;Build field catalog ie, display position, length, etc..of each column*&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 BUILD_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Append Field Catalog of Header Level Data for Display&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 1 'CUST_NO' 'IT_HEAD' 'Customer Number' 15 ' ' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 2 'BILL_DOC' 'IT_HEAD' 'Billing Document' 16 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 3 'BILL_DATE' 'IT_HEAD' 'Billing Date' 12 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 4 'BILL_TYPE' 'IT_HEAD' 'Billing Type' 12 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Append Field Catalog of Item Level Data for Display&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 1 'MODEL' 'IT_ITEM' 'Model Number' 18 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 2 'SHP_COST' 'IT_ITEM' 'Shipping Cost' 18 IT_FINAL-CURRENCY 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 3 'FLD_CR' 'IT_ITEM' 'Field Credits' 21 IT_FINAL-CURRENCY 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt;  USING 4 'MRA_CODE' 'IT_ITEM' 'MRA Code' 8 ' ' ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt; USING 5 'MRA_AMOUNT' 'IT_ITEM' '$ Amount of MRA' 21&lt;/P&gt;&lt;P&gt;                                                 IT_FINAL-CURRENCY 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM APPEND_FIELDCAT&lt;/P&gt;&lt;P&gt; USING 6 'INVOICE_AMT' 'IT_ITEM' '$ Amount of Invoice' 21&lt;/P&gt;&lt;P&gt;                                                 IT_FINAL-CURRENCY 'X'.&lt;/P&gt;&lt;P&gt;*--Add Hotspot to Billing Document Number&lt;/P&gt;&lt;P&gt;LOOP AT IT_FIELDCAT INTO LS_FIELDCAT&lt;/P&gt;&lt;P&gt;        WHERE FIELDNAME = 'BILL_DOC'.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;  MODIFY IT_FIELDCAT FROM LS_FIELDCAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_FIELD_CATALOG&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;      Form  APPEND_FIELDCAT                                          *&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;  Append Field Catalog to IT_FIELDCAT Internal Table                 *&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 APPEND_FIELDCAT USING POS  FIELDNAME TABNAME&lt;/P&gt;&lt;P&gt;                           TEXT LEN       CURRENCY DOSUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-COL_POS   = POS.        " Position&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-FIELDNAME = FIELDNAME.  " Field Name in the internal table&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-TABNAME   = TABNAME.    " Internal Table name&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_M = TEXT.       " Column display text&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_L = TEXT.       " Column display text&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-OUTPUTLEN = LEN.        " Display length of the column&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-DO_SUM    = DOSUM.      " Set summation flag&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-CURRENCY = CURRENCY.    " Currency&lt;/P&gt;&lt;P&gt;  APPEND LS_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR  LS_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " APPEND_FIELDCAT&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;      Form  PREPARE_KEYINFO                                          *&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;   Prepare the key fields info of the head and item tables           *&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 PREPARE_KEYINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Key Fields Joining the Header and Item tables is Billing Document&lt;/P&gt;&lt;P&gt;  LS_keyinfo-header01 = 'BILL_DOC'.&lt;/P&gt;&lt;P&gt;  LS_keyinfo-item01   = 'BILL_DOC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_KEYINFO&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;      Form  PREPARE_EVENT_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Add events like top-of-page to events list                     *&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 PREPARE_EVENT_LIST TABLES IT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Add Top-OF-Page event to be triggered before the list is displayed&lt;/P&gt;&lt;P&gt;  CLEAR LS_EVENT.&lt;/P&gt;&lt;P&gt;  LS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  LS_EVENT-FORM = 'TOP_OF_PAGE_REPORT'.&lt;/P&gt;&lt;P&gt;  APPEND LS_EVENT TO IT_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_EVENT_LIST&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;      Form  PREPARE_LAYOUT                                           *&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;     Prepare the layout of the report                                *&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 PREPARE_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-expand_fieldname = 'EXP'.        " Field for Exp/Col Icon&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-no_uline_hs = 'X'.               " No Horizontal lines&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-subtotals_text = TEXT-015.       " Text for Sub-totals&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-totals_text    = TEXT-016.       " Text for totals&lt;/P&gt;&lt;P&gt;    LS_LAYOUT-no_subtotals = ' '.              " Display Subtotals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_LAYOUT&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;      Form  PREPARE_SORTINFO                                         *&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;      Prepare the sort info and subtotals condition info             *&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 PREPARE_SORTINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Sort the output on Customer number and Billing Document Number and&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        display subtotals of amounts for each customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-SPOS      = 1.              " Sort Position&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-UP        = 'X'.            " Sort Sequence is Ascending&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-TABNAME   = 'IT_HEAD'.      " Table name&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-FIELDNAME = 'CUST_NO'.      " field name in the table&lt;/P&gt;&lt;P&gt;*--Subtotals of numeric fields for each customer.&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-SUBTOT    = 'X'.            " Subtotals on this field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND LS_SORTINFO TO IT_SORTINFO.&lt;/P&gt;&lt;P&gt;  CLEAR  LS_SORTINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-SPOS      = 2.              " Sort position&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-UP        = 'X'.            " Sort order is ascending&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-TABNAME   = 'IT_HEAD'.      " Table name&lt;/P&gt;&lt;P&gt;  LS_SORTINFO-FIELDNAME = 'BILL_DOC'.     " Field Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND LS_SORTINFO TO IT_SORTINFO.&lt;/P&gt;&lt;P&gt;  CLEAR  LS_SORTINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_SORTINFO&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;      Form  DISPLAY_ALV_REPORT                                       *&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;      Display the report using ALV                                   *&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_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET PF-STATUS 'STATUS'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;   IS_LAYOUT                      = LS_LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = IT_FIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_SORT                        = IT_SORTINFO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                      = IT_EVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_TABNAME_HEADER               = 'IT_HEAD'&lt;/P&gt;&lt;P&gt;    I_TABNAME_ITEM                 = 'IT_ITEM'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_HEADER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_ITEM          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_KEYINFO                     = LS_KEYINFO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB_HEADER                = IT_HEAD&lt;/P&gt;&lt;P&gt;    T_OUTTAB_ITEM                  = IT_ITEM&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;P&gt;   OTHERS                         = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  MESSAGE E999 WITH TEXT-013.             " Error When Displaying Report&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALV_REPORT&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;      Form  TOP_OF_PAGE_REPORT                                       *&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;      Display the standard top of page if summary is selected        *&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 TOP_OF_PAGE_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Function module to display top of page&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT_HEADER'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DL_TITLE = SY-TITLE&lt;/P&gt;&lt;P&gt;            DL_REPID = V_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TOP_OF_PAGE_REPORT&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;      Form  DISPLAY_COLUMN_HEADERS                                   *&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;      Display the Column headers                                     *&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_COLUMN_HEADERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Set color to I Header&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 5 'X'.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(76).&lt;/P&gt;&lt;P&gt;  WRITE : /1      SY-VLINE,&lt;/P&gt;&lt;P&gt;           2(15)  'Customer Number' CENTERED,&lt;/P&gt;&lt;P&gt;           17     SY-VLINE,&lt;/P&gt;&lt;P&gt;           18(16) 'Billing Document' CENTERED,&lt;/P&gt;&lt;P&gt;           34     SY-VLINE,&lt;/P&gt;&lt;P&gt;           35(20) TEXT-008 CENTERED,     " Quantity&lt;/P&gt;&lt;P&gt;           55     SY-VLINE,&lt;/P&gt;&lt;P&gt;           56(20) TEXT-009 CENTERED,     " Amount&lt;/P&gt;&lt;P&gt;           76     SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(76).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_COLUMN_HEADERS&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;      Form  DISPLAY_SUMMARY                                          *&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;      Display the summary report                                     *&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_SUMMARY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : V_TOTAL_SALES_QTY,&lt;/P&gt;&lt;P&gt;          V_TOTAL_SALES_AMT,&lt;/P&gt;&lt;P&gt;          V_TOTAL_RTRNS_QTY,&lt;/P&gt;&lt;P&gt;          V_TOTAL_RTRNS_AMT,&lt;/P&gt;&lt;P&gt;          V_TOTAL_FLDCR_QTY,&lt;/P&gt;&lt;P&gt;          V_TOTAL_FLDCR_AMT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--For each item record&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRP.&lt;/P&gt;&lt;P&gt;*--Check if the item record has a corresponding header record. If yes,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            add the sums. Else, proceed to next record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE IT_VBRK WITH KEY VBELN = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;*--Increment Total Sales Quantity by 1 for each line item&lt;/P&gt;&lt;P&gt;      V_TOTAL_SALES_QTY = V_TOTAL_SALES_QTY + IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;*--Add the Amount to Total Sales Amount&lt;/P&gt;&lt;P&gt;      V_TOTAL_SALES_AMT = V_TOTAL_SALES_AMT + IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;*--If Billing type is 'RE', add to Returns&lt;/P&gt;&lt;P&gt;      IF IT_VBRK-FKART = 'RE'.&lt;/P&gt;&lt;P&gt;*--Increment Returns Quantity by 1&lt;/P&gt;&lt;P&gt;        V_TOTAL_RTRNS_QTY = V_TOTAL_RTRNS_QTY + IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;*--Add Amount to Total Returns Amount&lt;/P&gt;&lt;P&gt;        V_TOTAL_RTRNS_AMT = V_TOTAL_RTRNS_AMT + IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*--If order Reason is 'DU' add to Field Credits&lt;/P&gt;&lt;P&gt;      IF IT_VBRP-AUGRU_AUFT = 'DU'.&lt;/P&gt;&lt;P&gt;*--Increment Field Credit Quantity by 1&lt;/P&gt;&lt;P&gt;        V_TOTAL_FLDCR_QTY = V_TOTAL_FLDCR_QTY + IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;*--Add Amouint to Total Field Credits Amount&lt;/P&gt;&lt;P&gt;        V_TOTAL_FLDCR_AMT = V_TOTAL_FLDCR_AMT + IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_VBRK INDEX 1.&lt;/P&gt;&lt;P&gt;  V_CURRENCY = IT_VBRK-WAERK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;-Display Summary report&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(127).&lt;/P&gt;&lt;P&gt;*--Set color to I Header&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 5 'X'.&lt;/P&gt;&lt;P&gt;  WRITE : /1      SY-VLINE,&lt;/P&gt;&lt;P&gt;          2(41)   TEXT-005 CENTERED,  " Total Sales ( Net Sales )&lt;/P&gt;&lt;P&gt;          43      SY-VLINE,&lt;/P&gt;&lt;P&gt;          44(41)  TEXT-006 CENTERED,  " Total Returns&lt;/P&gt;&lt;P&gt;          85      SY-VLINE,&lt;/P&gt;&lt;P&gt;          86(41)  TEXT-007 CENTERED,  " Total Field Credits&lt;/P&gt;&lt;P&gt;          127     SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(127).&lt;/P&gt;&lt;P&gt;*--Set color to II Header&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 1 'X'.&lt;/P&gt;&lt;P&gt;  WRITE : /1      SY-VLINE,&lt;/P&gt;&lt;P&gt;          2(20)   TEXT-008 RIGHT-JUSTIFIED,  " Quantity&lt;/P&gt;&lt;P&gt;          22      SY-VLINE,&lt;/P&gt;&lt;P&gt;          23(20)  TEXT-009 RIGHT-JUSTIFIED,  " Amount&lt;/P&gt;&lt;P&gt;          43      SY-VLINE,&lt;/P&gt;&lt;P&gt;          44(20)  TEXT-008 RIGHT-JUSTIFIED,  " Quantity&lt;/P&gt;&lt;P&gt;          64      SY-VLINE,&lt;/P&gt;&lt;P&gt;          65(20)  TEXT-009 RIGHT-JUSTIFIED,  " Amount&lt;/P&gt;&lt;P&gt;          85      SY-VLINE,&lt;/P&gt;&lt;P&gt;          86(20)  TEXT-008 RIGHT-JUSTIFIED,  " Quantity&lt;/P&gt;&lt;P&gt;          106     SY-VLINE,&lt;/P&gt;&lt;P&gt;          107(20) TEXT-009 RIGHT-JUSTIFIED,  " Amount&lt;/P&gt;&lt;P&gt;          127     SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(127).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Set color to detail&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 2 ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   WRITE : /1      SY-VLINE,&lt;/P&gt;&lt;P&gt;           2(20)   V_TOTAL_SALES_QTY RIGHT-JUSTIFIED HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           22      SY-VLINE,&lt;/P&gt;&lt;P&gt;           23      V_TOTAL_SALES_AMT CURRENCY V_CURRENCY HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           43      SY-VLINE,&lt;/P&gt;&lt;P&gt;           44(20)  V_TOTAL_RTRNS_QTY RIGHT-JUSTIFIED HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           64      SY-VLINE,&lt;/P&gt;&lt;P&gt;           65      V_TOTAL_RTRNS_AMT CURRENCY V_CURRENCY HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           85      SY-VLINE,&lt;/P&gt;&lt;P&gt;           86(20)  V_TOTAL_FLDCR_QTY RIGHT-JUSTIFIED HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           106     SY-VLINE,&lt;/P&gt;&lt;P&gt;           107     V_TOTAL_FLDCR_AMT CURRENCY V_CURRENCY HOTSPOT ON,&lt;/P&gt;&lt;P&gt;           127     SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_SALES_QTY.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_SALES_AMT.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_RTRNS_QTY.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_RTRNS_AMT.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_FLDCR_QTY.&lt;/P&gt;&lt;P&gt;   HIDE V_TOTAL_FLDCR_AMT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   WRITE SY-ULINE(127).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_SUMMARY&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  FORMAT_COLOR&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;      Format Color&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 FORMAT_COLOR USING COLOR&lt;/P&gt;&lt;P&gt;                        INTENSITY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF INTENSITY EQ 'X'.&lt;/P&gt;&lt;P&gt;    FORMAT INTENSIFIED ON COLOR = COLOR.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    FORMAT INTENSIFIED OFF COLOR = COLOR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FORMAT_COLOR&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;      Form  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Call back user command&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 USER_COMMAND USING P_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;                    P_LINE TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : LV_VBELN TYPE VBRK-VBELN.&lt;/P&gt;&lt;P&gt;*--If Billing document Is clicked&lt;/P&gt;&lt;P&gt;  IF P_LINE-TABNAME = 'IT_HEAD' AND P_LINE-FIELDNAME = 'BILL_DOC'.&lt;/P&gt;&lt;P&gt;*--Move the Selected Billing Document Number to a variable&lt;/P&gt;&lt;P&gt;    LV_VBELN = P_LINE-VALUE.&lt;/P&gt;&lt;P&gt;*--Set Parameter ID 'VF' with teh Selected Billing Document Number&lt;/P&gt;&lt;P&gt;    SET PARAMETER ID 'VF' FIELD LV_VBELN.&lt;/P&gt;&lt;P&gt;*--Call Transaction VF03 to Display the Billing Document&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*--If anything other than Billing Document is Clicked,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              Display an error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MESSAGE S999 WITH TEXT-010.        "Please select a Billing Document&lt;/P&gt;&lt;P&gt;  ENDIF..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;*&amp;amp;      Form  DISPLAY_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Display details for the quantity or the amount select&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_DETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : LV_FIELD(20).      " To store the field name selected&lt;/P&gt;&lt;P&gt;  DATA : LV_VBELN TYPE VBRK-VBELN.&lt;/P&gt;&lt;P&gt;*--If user clicks on some record in the first screen of summary report&lt;/P&gt;&lt;P&gt;  IF SY-LSIND = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Get the field that the user clicked on&lt;/P&gt;&lt;P&gt;    GET CURSOR FIELD LV_FIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--IF User Clicks on Total Sales Amount or Quantity&lt;/P&gt;&lt;P&gt;    IF LV_FIELD = 'V_TOTAL_SALES_QTY' OR&lt;/P&gt;&lt;P&gt;       LV_FIELD = 'V_TOTAL_SALES_AMT'.&lt;/P&gt;&lt;P&gt;*--Display Total Sales Details&lt;/P&gt;&lt;P&gt;      PERFORM GET_TOTAL_SALES_DETAILS.&lt;/P&gt;&lt;P&gt;*--If User Clicks on Total Returns Quantity or Amount&lt;/P&gt;&lt;P&gt;    ELSEIF LV_FIELD = 'V_TOTAL_RTRNS_QTY' OR&lt;/P&gt;&lt;P&gt;           LV_FIELD = 'V_TOTAL_RTRNS_AMT'.&lt;/P&gt;&lt;P&gt;*--Display Total Returns Details&lt;/P&gt;&lt;P&gt;      PERFORM GET_TOTAL_RETURNS_DETAILS.&lt;/P&gt;&lt;P&gt;*--If User Clicks on Total Returns Quantity or Amount&lt;/P&gt;&lt;P&gt;    ELSEIF LV_FIELD = 'V_TOTAL_FLDCR_QTY' OR&lt;/P&gt;&lt;P&gt;           LV_FIELD = 'V_TOTAL_FLDCR_AMT'.&lt;/P&gt;&lt;P&gt;*--Display Total Field Credits Details&lt;/P&gt;&lt;P&gt;      PERFORM GET_TOTAL_FLDCR_DETAILS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT IT_DETAILS[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM DISPLAY_DETAIL_REPORT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF SY-LSIND = '2'.&lt;/P&gt;&lt;P&gt;    GET CURSOR FIELD LV_FIELD.&lt;/P&gt;&lt;P&gt;      IF LV_FIELD = 'IT_DETAILS-BILL_DOC'.&lt;/P&gt;&lt;P&gt;        IF NOT IT_DETAILS-BILL_DOC IS INITIAL.&lt;/P&gt;&lt;P&gt;*--Move the Selected Billing Document Number to a variable&lt;/P&gt;&lt;P&gt;          LV_VBELN = IT_DETAILS-BILL_DOC.&lt;/P&gt;&lt;P&gt;*--Set Parameter ID 'VF' with teh Selected Billing Document Number&lt;/P&gt;&lt;P&gt;          SET PARAMETER ID 'VF' FIELD LV_VBELN.&lt;/P&gt;&lt;P&gt;*--Call Transaction VF03 to Display the Billing Document&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;*--If anything other than Billing Document is Clicked,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              Display an error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE S999 WITH TEXT-010.  " Please select a Billing Document.&lt;/P&gt;&lt;P&gt;      ENDIF..&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_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  GET_TOTAL_SALES_DETAILS&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;      IF User Clicks on Total Sales Amount or Quantity&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 GET_TOTAL_SALES_DETAILS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal table To hold Net Value of Billing Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF LT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN      LIKE VBRP-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         POSNR      LIKE VBRP-POSNR,              " Billing item&lt;/P&gt;&lt;P&gt;         FKIMG      LIKE VBRP-FKIMG,              " Billed Quantity&lt;/P&gt;&lt;P&gt;         NETWR      LIKE VBRP-NETWR,              " Net val in&lt;/P&gt;&lt;P&gt;       END OF LT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : IT_DETAILS, IT_DETAILS[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;    CLEAR : LT_VBRP,LT_VBRP[].&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-VBELN      = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-POSNR      = IT_VBRP-POSNR.&lt;/P&gt;&lt;P&gt;      LT_VBRP-FKIMG      = IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      LT_VBRP-NETWR      = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      APPEND LT_VBRP.&lt;/P&gt;&lt;P&gt;      CLEAR  LT_VBRP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT LT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_VBRP.&lt;/P&gt;&lt;P&gt;      AT NEW VBELN.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-CUST_NO  = IT_VBRK-KUNAG.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-BILL_DOC = LT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;        CLEAR : IT_DETAILS-QUANTITY,&lt;/P&gt;&lt;P&gt;                IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-QUANTITY = IT_DETAILS-QUANTITY + LT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-AMOUNT   = IT_DETAILS-AMOUNT + LT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      AT END OF VBELN.&lt;/P&gt;&lt;P&gt;        APPEND IT_DETAILS.&lt;/P&gt;&lt;P&gt;        CLEAR IT_DETAILS.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_TOTAL_SALES_DETAILS&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;      Form  GET_TOTAL_RETURNS_DETAILS&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;      IF User Clicks on Total Returns Amount or Quantity&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 GET_TOTAL_RETURNS_DETAILS.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF LT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN      LIKE VBRP-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         POSNR      LIKE VBRP-POSNR,              " Billing item&lt;/P&gt;&lt;P&gt;         FKIMG      LIKE VBRP-FKIMG,              " Billed Quantity&lt;/P&gt;&lt;P&gt;         NETWR      LIKE VBRP-NETWR,              " Net val in&lt;/P&gt;&lt;P&gt;       END OF LT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : IT_DETAILS, IT_DETAILS[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK WHERE FKART = 'RE'.&lt;/P&gt;&lt;P&gt;    CLEAR : LT_VBRP,LT_VBRP[].&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-VBELN      = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-POSNR      = IT_VBRP-POSNR.&lt;/P&gt;&lt;P&gt;      LT_VBRP-FKIMG      = IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      LT_VBRP-NETWR      = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      APPEND LT_VBRP.&lt;/P&gt;&lt;P&gt;      CLEAR  LT_VBRP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT LT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_VBRP.&lt;/P&gt;&lt;P&gt;      AT NEW VBELN.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-CUST_NO  = IT_VBRK-KUNAG.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-BILL_DOC = LT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;        CLEAR : IT_DETAILS-QUANTITY,&lt;/P&gt;&lt;P&gt;                IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-QUANTITY = IT_DETAILS-QUANTITY + LT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-AMOUNT   = IT_DETAILS-AMOUNT + LT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      AT END OF VBELN.&lt;/P&gt;&lt;P&gt;        APPEND IT_DETAILS.&lt;/P&gt;&lt;P&gt;        CLEAR IT_DETAILS.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_TOTAL_RETURNS_DETAILS&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;      Form  GET_TOTAL_FLDCR_DETAILS&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;      IF User Clicks on Total Tield Credits Amount or Quantity&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 GET_TOTAL_FLDCR_DETAILS.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF LT_VBRP OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN      LIKE VBRP-VBELN,              " Billing document&lt;/P&gt;&lt;P&gt;         POSNR      LIKE VBRP-POSNR,              " Billing item&lt;/P&gt;&lt;P&gt;         FKIMG      LIKE VBRP-FKIMG,              " Billed Quantity&lt;/P&gt;&lt;P&gt;         NETWR      LIKE VBRP-NETWR,              " Net val in&lt;/P&gt;&lt;P&gt;       END OF LT_VBRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : IT_DETAILS, IT_DETAILS[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_VBRK.&lt;/P&gt;&lt;P&gt;    CLEAR : LT_VBRP,LT_VBRP[].&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBRP WHERE VBELN = IT_VBRK-VBELN AND&lt;/P&gt;&lt;P&gt;                     AUGRU_AUFT = 'DU'.&lt;/P&gt;&lt;P&gt;      LT_VBRP-VBELN      = IT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;      LT_VBRP-POSNR      = IT_VBRP-POSNR.&lt;/P&gt;&lt;P&gt;      LT_VBRP-FKIMG      = IT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      LT_VBRP-NETWR      = IT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      APPEND LT_VBRP.&lt;/P&gt;&lt;P&gt;      CLEAR  LT_VBRP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT LT_VBRP BY VBELN.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_VBRP.&lt;/P&gt;&lt;P&gt;      AT NEW VBELN.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-CUST_NO  = IT_VBRK-KUNAG.&lt;/P&gt;&lt;P&gt;        IT_DETAILS-BILL_DOC = LT_VBRP-VBELN.&lt;/P&gt;&lt;P&gt;        CLEAR : IT_DETAILS-QUANTITY,&lt;/P&gt;&lt;P&gt;                IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-QUANTITY = IT_DETAILS-QUANTITY + LT_VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;      IT_DETAILS-AMOUNT   = IT_DETAILS-AMOUNT + LT_VBRP-NETWR.&lt;/P&gt;&lt;P&gt;      AT END OF VBELN.&lt;/P&gt;&lt;P&gt;        APPEND IT_DETAILS.&lt;/P&gt;&lt;P&gt;        CLEAR IT_DETAILS.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_TOTAL_FLDCR_DETAILS&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;      Form  DISPLAY_DETAIL_REPORT.&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;      Display details for the quantity or the amount select&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_DETAIL_REPORT..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : LV_TOTAL_AMOUNT_CUST LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;         LV_TOTAL_QTY_CUST    TYPE I,&lt;/P&gt;&lt;P&gt;         LV_TOTAL_AMOUNT      LIKE VBRP-NETWR,&lt;/P&gt;&lt;P&gt;         LV_TOTAL_QTY         TYPE I,&lt;/P&gt;&lt;P&gt;         INTENSITY.&lt;/P&gt;&lt;P&gt;  SORT IT_DETAILS BY CUST_NO BILL_DOC.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_DETAILS.&lt;/P&gt;&lt;P&gt;    IF INTENSITY = ' '.&lt;/P&gt;&lt;P&gt;      INTENSITY = 'X'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      INTENSITY = ' '.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    PERFORM FORMAT_COLOR USING 2 INTENSITY.&lt;/P&gt;&lt;P&gt;    WRITE : /1      SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW CUST_NO.&lt;/P&gt;&lt;P&gt;      WRITE : 2(15)  IT_DETAILS-CUST_NO.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    WRITE :  17     SY-VLINE,&lt;/P&gt;&lt;P&gt;             18(16) IT_DETAILS-BILL_DOC HOTSPOT,&lt;/P&gt;&lt;P&gt;             34     SY-VLINE,&lt;/P&gt;&lt;P&gt;             35(20) IT_DETAILS-QUANTITY RIGHT-JUSTIFIED,&lt;/P&gt;&lt;P&gt;             55     SY-VLINE,&lt;/P&gt;&lt;P&gt;             56(20) IT_DETAILS-AMOUNT CURRENCY V_CURRENCY,&lt;/P&gt;&lt;P&gt;             76     SY-VLINE.&lt;/P&gt;&lt;P&gt;           LV_TOTAL_AMOUNT_CUST = LV_TOTAL_AMOUNT_CUST +&lt;/P&gt;&lt;P&gt;                                  IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;           LV_TOTAL_QTY_CUST    = LV_TOTAL_QTY_CUST    +&lt;/P&gt;&lt;P&gt;                                  IT_DETAILS-QUANTITY.&lt;/P&gt;&lt;P&gt;           LV_TOTAL_AMOUNT      = LV_TOTAL_AMOUNT      +&lt;/P&gt;&lt;P&gt;                                  IT_DETAILS-AMOUNT.&lt;/P&gt;&lt;P&gt;           LV_TOTAL_QTY         = LV_TOTAL_QTY         +&lt;/P&gt;&lt;P&gt;                                  IT_DETAILS-QUANTITY.&lt;/P&gt;&lt;P&gt;    HIDE IT_DETAILS-BILL_DOC.&lt;/P&gt;&lt;P&gt;    AT END OF CUST_NO.&lt;/P&gt;&lt;P&gt;      PERFORM FORMAT_COLOR USING 3 ' '.&lt;/P&gt;&lt;P&gt;      WRITE : /1 SY-VLINE,&lt;/P&gt;&lt;P&gt;               2 TEXT-015,            " Net Total&lt;/P&gt;&lt;P&gt;               34 SY-VLINE,&lt;/P&gt;&lt;P&gt;               35(20) LV_TOTAL_QTY_CUST RIGHT-JUSTIFIED,&lt;/P&gt;&lt;P&gt;               55     SY-VLINE,&lt;/P&gt;&lt;P&gt;               56(20) LV_TOTAL_AMOUNT_CUST CURRENCY V_CURRENCY,&lt;/P&gt;&lt;P&gt;               76     SY-VLINE.&lt;/P&gt;&lt;P&gt;      CLEAR : LV_TOTAL_QTY_CUST, LV_TOTAL_AMOUNT_CUST.&lt;/P&gt;&lt;P&gt;      CLEAR INTENSITY.&lt;/P&gt;&lt;P&gt;      WRITE SY-ULINE(76).&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  PERFORM FORMAT_COLOR USING 3 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : /1 SY-VLINE,&lt;/P&gt;&lt;P&gt;           2 TEXT-014,                " Total&lt;/P&gt;&lt;P&gt;           34 SY-VLINE,&lt;/P&gt;&lt;P&gt;           35(20) LV_TOTAL_QTY RIGHT-JUSTIFIED,&lt;/P&gt;&lt;P&gt;           55     SY-VLINE,&lt;/P&gt;&lt;P&gt;           56(20) LV_TOTAL_AMOUNT CURRENCY V_CURRENCY,&lt;/P&gt;&lt;P&gt;           76     SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE SY-ULINE(76).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_DETAIL_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="500619"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Mahesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Aug 2007 15:38:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622409#M602352</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-02T15:38:15Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Documentation with programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622410#M602353</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are new in ALV, you can try learn about NEW ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Look this articles:&lt;/P&gt;&lt;P&gt;	&lt;/P&gt;&lt;P&gt;&amp;lt;a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/acdefb13-0701-0010-f1a2-8eeefa7d3780"&amp;gt;Utilizing The New ALV Object Model&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b0f03986-046c-2910-a5aa-e5364e96ea2c"&amp;gt;ALV Object Model - Hierarchical Sequential List - The Basics&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/cda3992d-0e01-0010-90b2-c4e1f899ac01"&amp;gt;ALV Object Model - Simple 2D Table - Event Handling&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/eac1fa0b-0e01-0010-0990-8530de4908a6"&amp;gt;ALV Object Model - Simple 2D Table - The Basics&amp;lt;/a&amp;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;&lt;/P&gt;&lt;P&gt;Marcelo Ramos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Aug 2007 15:55:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622410#M602353</guid>
      <dc:creator>marcelo_ramos1</dc:creator>
      <dc:date>2007-08-02T15:55:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Documentation with programs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622411#M602354</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SAP has some sample programs which are easy to follow. Look for programs starts with BCALV* and you will find a lot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also check out the following link for sample codes:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/alvhome.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/alvhome.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;Please reward points for helpful answer.&amp;lt;/i&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Aug 2007 18:19:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-documentation-with-programs/m-p/2622411#M602354</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-02T18:19:46Z</dc:date>
    </item>
  </channel>
</rss>

