<?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: Reports in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/reports/m-p/2394084#M532624</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;BOTH ARE USED TO HOLD SELECTED FIELD VALUE,&lt;/P&gt;&lt;P&gt;check the example:&lt;/P&gt;&lt;P&gt;ALV Interactive report&lt;/P&gt;&lt;P&gt;REPORT  ZSR_ALV_INTERACTIVE2.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAK,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;END OF I_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAP,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;END OF I_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_MAKT,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;END OF I_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_LIPS,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VL,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;END OF I_LIPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_REASON,&lt;/P&gt;&lt;P&gt;SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;END OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBPA,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN,&lt;/P&gt;&lt;P&gt;PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;END OF I_VBPA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_KNA1,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;END OF I_KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_FINAL,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;END OF I_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES&lt;/P&gt;&lt;P&gt;DATA: IT_VBAK TYPE STANDARD TABLE OF I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: IT_VBAP TYPE STANDARD TABLE OF I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: IT_MAKT TYPE STANDARD TABLE OF I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: IT_LIPS TYPE STANDARD TABLE OF I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: IT_VBPA TYPE STANDARD TABLE OF I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: IT_KNA1 TYPE STANDARD TABLE OF I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: IT_FINAL TYPE STANDARD TABLE OF I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: IT_REASON TYPE STANDARD TABLE OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*WORK AREA&lt;/P&gt;&lt;P&gt;DATA: WA_VBAK TYPE I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: WA_VBAP TYPE I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: WA_MAKT TYPE I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: WA_LIPS TYPE I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: WA_VBPA TYPE I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: WA_KNA1 TYPE I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: WA_FINAL TYPE I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: WA_REASON TYPE I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;DATA: V_PROGNAME TYPE SY-REPID.&lt;/P&gt;&lt;P&gt;DATA: V_VBELN TYPE VBAK-VBELN.&lt;/P&gt;&lt;P&gt;DATA: V_GRIDTITLE TYPE LVC_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;*DATA: I_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;*DATA: P_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION FOR CATALOGS LAYOUT SORT EVENTCATALOG TOPOFPAGE.&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION - First point of execution of program&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To initialize Any variables that are to be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;used in the program, even before selection screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;appears.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_PROGNAME = SY-REPID.&lt;/P&gt;&lt;P&gt;  V_FLAG = SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM Z_DEFAULT_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION SCREEN&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS: S_VBELN FOR V_VBELN.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK BLK1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Variable for ALV Variant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF BLOCK B_VAR WITH FRAME TITLE TEXT-020.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION-SCREEN END OF BLOCK B_VAR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SLECTION-SCREEN.&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM Z_VALIDATIONS.&lt;/P&gt;&lt;P&gt;*AT SELECTION SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;CHECK FOR THE EXISTENCE OF THE VARIANT SELECTED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM ZF_CHECK_VAR_EXIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON VALUE-REQUEST FOR D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;PROVIDE THE F4-HELP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM ZF_VARIANT_F4.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SELECT.&lt;/P&gt;&lt;P&gt;  PERFORM CHECK_VALIDATION_FLAG.&lt;/P&gt;&lt;P&gt;  PERFORM Z_FIELDCAT USING I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LAYOUT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SORTINFO USING I_SORTINFO.&lt;/P&gt;&lt;P&gt;  PERFORM Z_EVENTCAT USING I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_GRIDTITLE.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LISTHEADER USING I_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM Z_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 Z_VALIDATIONS&lt;/P&gt;&lt;P&gt;&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 Z_VALIDATIONS .&lt;/P&gt;&lt;P&gt;  SELECT VBELN INTO V_VBELN&lt;/P&gt;&lt;P&gt;  UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;  FROM VBAK&lt;/P&gt;&lt;P&gt;  WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Records'.&lt;/P&gt;&lt;P&gt;    V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_VALIDATIONS&lt;/P&gt;&lt;P&gt;&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 Z_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;P&gt;FORM Z_FIELDCAT USING P_I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;*VBAK-VELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '1'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'VBELN'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-KEY = 'X'. " SO THAT THIS FIELD IS NOT SCROLLABLE AND&lt;/P&gt;&lt;P&gt;*HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-JUST = 'C'. " FOR JUSTIFICATION.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'SALES ORDER'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 15. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*THE DDIC TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-SPRAS&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '2'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'SPRAS'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'LANGUAGE'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*VBAP-AUGRU&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '3'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'AUGRU'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'REASON'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-bezei&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '4'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'BEZEI'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DESCRIPTION'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-POSNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '5'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'POSNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'ITEM'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 8. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-MATNR.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '6'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'MATNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'MATERIAL'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-ZMENG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '7'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'ZMENG'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'QUANT'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*MAKT-MAKTX&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '8'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'MAKTX'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DESCRIPTION'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'MAKT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-VBELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '9'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'VBELN'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DELIVERY'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 15. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-LFIMG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '10'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'LFIMG'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'LFIMG'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*parvw&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '11'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'PARVW'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'PARTNER FUN'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*KUNNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '12'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'KUNNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'SHIP'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*NAME1&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '13'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'NAME1'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'NAME'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'KNA1'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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;P&gt;*&amp;amp; Form Z_SELECT&lt;/P&gt;&lt;P&gt;&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 Z_SELECT .&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;  AUGRU INTO CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;  FROM VBAK&lt;/P&gt;&lt;P&gt;  WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&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;    ZMENG INTO CORRESPONDING FIELDS OF TABLE IT_VBAP&lt;/P&gt;&lt;P&gt;    FROM VBAP&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;    WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      SELECT SPRAS&lt;/P&gt;&lt;P&gt;      AUGRU&lt;/P&gt;&lt;P&gt;      BEZEI INTO CORRESPONDING FIELDS OF TABLE IT_REASON&lt;/P&gt;&lt;P&gt;      FROM TVAUT&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;      WHERE AUGRU = IT_VBAK-AUGRU.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        SELECT VBELN&lt;/P&gt;&lt;P&gt;        PARVW&lt;/P&gt;&lt;P&gt;        KUNNR INTO CORRESPONDING FIELDS OF TABLE IT_VBPA&lt;/P&gt;&lt;P&gt;        FROM VBPA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;        WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          SELECT KUNNR&lt;/P&gt;&lt;P&gt;          NAME1 INTO CORRESPONDING FIELDS OF TABLE IT_KNA1&lt;/P&gt;&lt;P&gt;          FROM KNA1&lt;/P&gt;&lt;P&gt;          FOR ALL ENTRIES IN IT_VBPA&lt;/P&gt;&lt;P&gt;          WHERE KUNNR = IT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            SELECT POSNR&lt;/P&gt;&lt;P&gt;            MATNR&lt;/P&gt;&lt;P&gt;            LFIMG INTO CORRESPONDING FIELDS OF TABLE IT_LIPS&lt;/P&gt;&lt;P&gt;            FROM LIPS&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;            WHERE POSNR = IT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              SELECT MATNR&lt;/P&gt;&lt;P&gt;              MAKTX INTO CORRESPONDING FIELDS OF TABLE IT_MAKT&lt;/P&gt;&lt;P&gt;              FROM MAKT&lt;/P&gt;&lt;P&gt;              FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;              WHERE MATNR = IT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Data found'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBAP INTO WA_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBAK INTO WA_VBAK WITH KEY VBELN = WA_VBAP-VBELN&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;*MOVE DATA INTO IT_FINAL.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBAK-VBELN TO WA_FINAL-VBELN,&lt;/P&gt;&lt;P&gt;        WA_VBAK-AUGRU TO WA_FINAL-AUGRU,&lt;/P&gt;&lt;P&gt;        WA_VBAP-POSNR TO WA_FINAL-POSNR,&lt;/P&gt;&lt;P&gt;        WA_VBAP-MATNR TO WA_FINAL-MATNR,&lt;/P&gt;&lt;P&gt;        WA_VBAP-ZMENG TO WA_FINAL-ZMENG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_LIPS INTO WA_LIPS WITH KEY POSNR = WA_FINAL-POSNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_LIPS-LFIMG TO WA_FINAL-LFIMG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_REASON INTO WA_REASON WITH KEY AUGRU =&lt;/P&gt;&lt;P&gt;WA_FINAL-AUGRU BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_REASON-SPRAS TO WA_FINAL-SPRAS,&lt;/P&gt;&lt;P&gt;        WA_REASON-BEZEI TO WA_FINAL-BEZEI.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_FINAL-MATNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_MAKT-MAKTX TO WA_FINAL-MAKTX.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBPA INTO WA_VBPA WITH KEY VBELN = WA_FINAL-VBELN&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBPA-PARVW TO WA_FINAL-PARVW,&lt;/P&gt;&lt;P&gt;        WA_VBPA-KUNNR TO WA_FINAL-KUNNR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_FINAL-KUNNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_KNA1-NAME1 TO WA_FINAL-NAME1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND WA_FINAL TO IT_FINAL.&lt;/P&gt;&lt;P&gt;      CLEAR WA_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_SELECT&lt;/P&gt;&lt;P&gt;&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 Z_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 Z_LAYOUT .&lt;/P&gt;&lt;P&gt;  I_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;  I_LAYOUT-TOTALS_TEXT = 'Total'(A00).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-SUBTOTALS_TEXT = 'SubTotal'(A01).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-BOX_TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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 Z_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;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_I_SORTINFO text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_SORTINFO USING P_I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_SORTINFO TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  CLEAR I_SORTINFO.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SPOS = '1'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-UP = 'X'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-GROUP = 'UL'. " I.E UNDERLINE AFTER EVERY GROUP&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND I_SORTINFO TO P_I_SORTINFO.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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;P&gt;*&amp;amp; Form Z_EVENTCAT&lt;/P&gt;&lt;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_I_EVENTCAT text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_EVENTCAT USING P_I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  DATA: I_EVENT TYPE SLIS_ALV_EVENT.&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       = P_I_EVENTCAT&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;  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;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO&lt;/P&gt;&lt;P&gt;  I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_PF_STATUS_SET INTO&lt;/P&gt;&lt;P&gt;I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'SET_PF_STATUS' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT INTO I_EVENT WITH KEY NAME =&lt;/P&gt;&lt;P&gt;SLIS_EV_USER_COMMAND .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'USER_COMMAND' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&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. " Z_EVENTCAT&lt;/P&gt;&lt;P&gt;&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 Z_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 Z_DISPLAY .&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 = V_PROGNAME&lt;/P&gt;&lt;P&gt;*I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'&lt;/P&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;  I_GRID_TITLE = V_GRIDTITLE&lt;/P&gt;&lt;P&gt;  I_SAVE = 'A'&lt;/P&gt;&lt;P&gt;  IS_LAYOUT = I_LAYOUT&lt;/P&gt;&lt;P&gt;  IT_FIELDCAT = I_FIELDCAT[]&lt;/P&gt;&lt;P&gt;  IT_SORT = I_SORTINFO&lt;/P&gt;&lt;P&gt;  IT_EVENTS = I_EVENTCAT&lt;/P&gt;&lt;UL&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 = IT_FINAL&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;ENDFORM. " Z_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 Z_GRIDTITLE&lt;/P&gt;&lt;P&gt;&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;FORM Z_GRIDTITLE .&lt;/P&gt;&lt;P&gt;  V_GRIDTITLE = 'ALV FOR SALES ORDER DISPLAY'.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_GRIDTITLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP OF PAGE.&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 = I_LISTHEADER.&lt;/P&gt;&lt;P&gt;ENDFORM. "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*MENU SETTINGS.&lt;/P&gt;&lt;P&gt;FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_MENU'.&lt;/P&gt;&lt;P&gt;ENDFORM. "SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*USER-COMMAND&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  DATA : VBELN TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE P_UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      CLEAR : VBELN.&lt;/P&gt;&lt;P&gt;      VBELN = RS_SELFIELD-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PARAMETER ID: 'AUN' FIELD VBELN.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&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 Z_LISTHEADER&lt;/P&gt;&lt;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_I_LISTHEADER text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_LISTHEADER USING P_I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA: L_LISTHEADER TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  REFRESH P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-001.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-002.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_LISTHEADER&lt;/P&gt;&lt;P&gt;&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 check_validation_flag&lt;/P&gt;&lt;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 CHECK_VALIDATION_FLAG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT V_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " check_validation_flag&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM Z_DEFAULT_VARIANT .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; I_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     I_SAVE        = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     CS_VARIANT    = I_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     WRONG_INPUT   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     NOT_FOUND     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     PROGRAM_ERROR = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     OTHERS        = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   P_VARI = I_VARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" 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="2" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM ZF_CHECK_VAR_EXIST .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: L_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT P_VARI IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR L_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_VARIANT-VARIANT = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&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;       I_SAVE        = 'U'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CS_VARIANT    = L_VARIANT&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;       WRONG_INPUT   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       NOT_FOUND     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PROGRAM_ERROR = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OTHERS        = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR I_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE: L_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form ZF_VARIANT_F4&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM ZF_VARIANT_F4 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: X_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&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; IS_VARIANT = I_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;I_TABNAME_HEADER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;I_TABNAME_ITEM =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IT_DEFAULT_FIELDCAT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I_SAVE = 'U'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I_DISPLAY_VIA_GRID = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;E_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ES_VARIANT = X_VARIANT&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; NOT_FOUND = 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;LI level="1" type="ul"&gt;&lt;P&gt; .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   P_VARI = X_VARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CLEAR I_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   MOVE: X_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   X_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " ZF_VARIANT_F4&lt;/P&gt;&lt;P&gt;INteractive report:&lt;/P&gt;&lt;P&gt;REPORT  ZSR_ALV_INTERACTIVE2.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAK,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;END OF I_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAP,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;END OF I_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_MAKT,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;END OF I_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_LIPS,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VL,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;END OF I_LIPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_REASON,&lt;/P&gt;&lt;P&gt;SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;END OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBPA,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN,&lt;/P&gt;&lt;P&gt;PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;END OF I_VBPA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_KNA1,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;END OF I_KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_FINAL,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;END OF I_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES&lt;/P&gt;&lt;P&gt;DATA: IT_VBAK TYPE STANDARD TABLE OF I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: IT_VBAP TYPE STANDARD TABLE OF I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: IT_MAKT TYPE STANDARD TABLE OF I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: IT_LIPS TYPE STANDARD TABLE OF I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: IT_VBPA TYPE STANDARD TABLE OF I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: IT_KNA1 TYPE STANDARD TABLE OF I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: IT_FINAL TYPE STANDARD TABLE OF I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: IT_REASON TYPE STANDARD TABLE OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*WORK AREA&lt;/P&gt;&lt;P&gt;DATA: WA_VBAK TYPE I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: WA_VBAP TYPE I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: WA_MAKT TYPE I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: WA_LIPS TYPE I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: WA_VBPA TYPE I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: WA_KNA1 TYPE I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: WA_FINAL TYPE I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: WA_REASON TYPE I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;DATA: V_PROGNAME TYPE SY-REPID.&lt;/P&gt;&lt;P&gt;DATA: V_VBELN TYPE VBAK-VBELN.&lt;/P&gt;&lt;P&gt;DATA: V_GRIDTITLE TYPE LVC_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;*DATA: I_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;*DATA: P_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION FOR CATALOGS LAYOUT SORT EVENTCATALOG TOPOFPAGE.&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION - First point of execution of program&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To initialize Any variables that are to be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;used in the program, even before selection screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;appears.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_PROGNAME = SY-REPID.&lt;/P&gt;&lt;P&gt;  V_FLAG = SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM Z_DEFAULT_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION SCREEN&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS: S_VBELN FOR V_VBELN.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK BLK1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Variable for ALV Variant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF BLOCK B_VAR WITH FRAME TITLE TEXT-020.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION-SCREEN END OF BLOCK B_VAR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SLECTION-SCREEN.&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM Z_VALIDATIONS.&lt;/P&gt;&lt;P&gt;*AT SELECTION SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;CHECK FOR THE EXISTENCE OF THE VARIANT SELECTED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM ZF_CHECK_VAR_EXIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON VALUE-REQUEST FOR D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;PROVIDE THE F4-HELP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM ZF_VARIANT_F4.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SELECT.&lt;/P&gt;&lt;P&gt;  PERFORM CHECK_VALIDATION_FLAG.&lt;/P&gt;&lt;P&gt;  PERFORM Z_FIELDCAT USING I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LAYOUT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SORTINFO USING I_SORTINFO.&lt;/P&gt;&lt;P&gt;  PERFORM Z_EVENTCAT USING I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_GRIDTITLE.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LISTHEADER USING I_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM Z_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 Z_VALIDATIONS&lt;/P&gt;&lt;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 Z_VALIDATIONS .&lt;/P&gt;&lt;P&gt;  SELECT VBELN INTO V_VBELN&lt;/P&gt;&lt;P&gt;  UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;  FROM VBAK&lt;/P&gt;&lt;P&gt;  WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Records'.&lt;/P&gt;&lt;P&gt;    V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_VALIDATIONS&lt;/P&gt;&lt;P&gt;&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 Z_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;P&gt;FORM Z_FIELDCAT USING P_I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;*VBAK-VELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '1'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'VBELN'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-KEY = 'X'. " SO THAT THIS FIELD IS NOT SCROLLABLE AND&lt;/P&gt;&lt;P&gt;*HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-JUST = 'C'. " FOR JUSTIFICATION.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'SALES ORDER'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 15. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*THE DDIC TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-SPRAS&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '2'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'SPRAS'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'LANGUAGE'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*VBAP-AUGRU&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '3'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'AUGRU'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'REASON'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-bezei&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '4'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'BEZEI'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DESCRIPTION'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-POSNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '5'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'POSNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'ITEM'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 8. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-MATNR.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '6'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'MATNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'MATERIAL'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-ZMENG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '7'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'ZMENG'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'QUANT'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*MAKT-MAKTX&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '8'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'MAKTX'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DESCRIPTION'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'MAKT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-VBELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '9'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'VBELN'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DELIVERY'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 15. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-LFIMG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '10'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'LFIMG'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'LFIMG'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*parvw&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '11'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'PARVW'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'PARTNER FUN'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*KUNNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '12'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'KUNNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'SHIP'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*NAME1&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '13'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'NAME1'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'NAME'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'KNA1'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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;P&gt;*&amp;amp; Form Z_SELECT&lt;/P&gt;&lt;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 Z_SELECT .&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;  AUGRU INTO CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;  FROM VBAK&lt;/P&gt;&lt;P&gt;  WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&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;    ZMENG INTO CORRESPONDING FIELDS OF TABLE IT_VBAP&lt;/P&gt;&lt;P&gt;    FROM VBAP&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;    WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      SELECT SPRAS&lt;/P&gt;&lt;P&gt;      AUGRU&lt;/P&gt;&lt;P&gt;      BEZEI INTO CORRESPONDING FIELDS OF TABLE IT_REASON&lt;/P&gt;&lt;P&gt;      FROM TVAUT&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;      WHERE AUGRU = IT_VBAK-AUGRU.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        SELECT VBELN&lt;/P&gt;&lt;P&gt;        PARVW&lt;/P&gt;&lt;P&gt;        KUNNR INTO CORRESPONDING FIELDS OF TABLE IT_VBPA&lt;/P&gt;&lt;P&gt;        FROM VBPA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;        WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          SELECT KUNNR&lt;/P&gt;&lt;P&gt;          NAME1 INTO CORRESPONDING FIELDS OF TABLE IT_KNA1&lt;/P&gt;&lt;P&gt;          FROM KNA1&lt;/P&gt;&lt;P&gt;          FOR ALL ENTRIES IN IT_VBPA&lt;/P&gt;&lt;P&gt;          WHERE KUNNR = IT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            SELECT POSNR&lt;/P&gt;&lt;P&gt;            MATNR&lt;/P&gt;&lt;P&gt;            LFIMG INTO CORRESPONDING FIELDS OF TABLE IT_LIPS&lt;/P&gt;&lt;P&gt;            FROM LIPS&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;            WHERE POSNR = IT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              SELECT MATNR&lt;/P&gt;&lt;P&gt;              MAKTX INTO CORRESPONDING FIELDS OF TABLE IT_MAKT&lt;/P&gt;&lt;P&gt;              FROM MAKT&lt;/P&gt;&lt;P&gt;              FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;              WHERE MATNR = IT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Data found'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBAP INTO WA_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBAK INTO WA_VBAK WITH KEY VBELN = WA_VBAP-VBELN&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;*MOVE DATA INTO IT_FINAL.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBAK-VBELN TO WA_FINAL-VBELN,&lt;/P&gt;&lt;P&gt;        WA_VBAK-AUGRU TO WA_FINAL-AUGRU,&lt;/P&gt;&lt;P&gt;        WA_VBAP-POSNR TO WA_FINAL-POSNR,&lt;/P&gt;&lt;P&gt;        WA_VBAP-MATNR TO WA_FINAL-MATNR,&lt;/P&gt;&lt;P&gt;        WA_VBAP-ZMENG TO WA_FINAL-ZMENG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_LIPS INTO WA_LIPS WITH KEY POSNR = WA_FINAL-POSNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_LIPS-LFIMG TO WA_FINAL-LFIMG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_REASON INTO WA_REASON WITH KEY AUGRU =&lt;/P&gt;&lt;P&gt;WA_FINAL-AUGRU BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_REASON-SPRAS TO WA_FINAL-SPRAS,&lt;/P&gt;&lt;P&gt;        WA_REASON-BEZEI TO WA_FINAL-BEZEI.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_FINAL-MATNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_MAKT-MAKTX TO WA_FINAL-MAKTX.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBPA INTO WA_VBPA WITH KEY VBELN = WA_FINAL-VBELN&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBPA-PARVW TO WA_FINAL-PARVW,&lt;/P&gt;&lt;P&gt;        WA_VBPA-KUNNR TO WA_FINAL-KUNNR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_FINAL-KUNNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_KNA1-NAME1 TO WA_FINAL-NAME1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND WA_FINAL TO IT_FINAL.&lt;/P&gt;&lt;P&gt;      CLEAR WA_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_SELECT&lt;/P&gt;&lt;P&gt;&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 Z_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 Z_LAYOUT .&lt;/P&gt;&lt;P&gt;  I_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;  I_LAYOUT-TOTALS_TEXT = 'Total'(A00).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-SUBTOTALS_TEXT = 'SubTotal'(A01).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-BOX_TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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 Z_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;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_I_SORTINFO text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_SORTINFO USING P_I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_SORTINFO TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  CLEAR I_SORTINFO.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SPOS = '1'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-UP = 'X'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-GROUP = 'UL'. " I.E UNDERLINE AFTER EVERY GROUP&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND I_SORTINFO TO P_I_SORTINFO.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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;P&gt;*&amp;amp; Form Z_EVENTCAT&lt;/P&gt;&lt;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_I_EVENTCAT text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_EVENTCAT USING P_I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  DATA: I_EVENT TYPE SLIS_ALV_EVENT.&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       = P_I_EVENTCAT&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;  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;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO&lt;/P&gt;&lt;P&gt;  I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_PF_STATUS_SET INTO&lt;/P&gt;&lt;P&gt;I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'SET_PF_STATUS' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT INTO I_EVENT WITH KEY NAME =&lt;/P&gt;&lt;P&gt;SLIS_EV_USER_COMMAND .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'USER_COMMAND' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&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. " Z_EVENTCAT&lt;/P&gt;&lt;P&gt;&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 Z_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 Z_DISPLAY .&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 = V_PROGNAME&lt;/P&gt;&lt;P&gt;*I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'&lt;/P&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;  I_GRID_TITLE = V_GRIDTITLE&lt;/P&gt;&lt;P&gt;  I_SAVE = 'A'&lt;/P&gt;&lt;P&gt;  IS_LAYOUT = I_LAYOUT&lt;/P&gt;&lt;P&gt;  IT_FIELDCAT = I_FIELDCAT[]&lt;/P&gt;&lt;P&gt;  IT_SORT = I_SORTINFO&lt;/P&gt;&lt;P&gt;  IT_EVENTS = I_EVENTCAT&lt;/P&gt;&lt;UL&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 = IT_FINAL&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;ENDFORM. " Z_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 Z_GRIDTITLE&lt;/P&gt;&lt;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 Z_GRIDTITLE .&lt;/P&gt;&lt;P&gt;  V_GRIDTITLE = 'ALV FOR SALES ORDER DISPLAY'.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_GRIDTITLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP OF PAGE.&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 = I_LISTHEADER.&lt;/P&gt;&lt;P&gt;ENDFORM. "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*MENU SETTINGS.&lt;/P&gt;&lt;P&gt;FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_MENU'.&lt;/P&gt;&lt;P&gt;ENDFORM. "SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*USER-COMMAND&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  DATA : VBELN TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE P_UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      CLEAR : VBELN.&lt;/P&gt;&lt;P&gt;      VBELN = RS_SELFIELD-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PARAMETER ID: 'AUN' FIELD VBELN.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&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 Z_LISTHEADER&lt;/P&gt;&lt;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_I_LISTHEADER text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_LISTHEADER USING P_I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA: L_LISTHEADER TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  REFRESH P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-001.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-002.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_LISTHEADER&lt;/P&gt;&lt;P&gt;&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 check_validation_flag&lt;/P&gt;&lt;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 CHECK_VALIDATION_FLAG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT V_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " check_validation_flag&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM Z_DEFAULT_VARIANT .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; I_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     I_SAVE        = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     CS_VARIANT    = I_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     WRONG_INPUT   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     NOT_FOUND     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     PROGRAM_ERROR = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     OTHERS        = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   P_VARI = I_VARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" 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="2" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM ZF_CHECK_VAR_EXIST .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: L_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT P_VARI IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR L_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_VARIANT-VARIANT = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&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;       I_SAVE        = 'U'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CS_VARIANT    = L_VARIANT&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;       WRONG_INPUT   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       NOT_FOUND     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PROGRAM_ERROR = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OTHERS        = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR I_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE: L_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form ZF_VARIANT_F4&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM ZF_VARIANT_F4 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: X_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&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; IS_VARIANT = I_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;I_TABNAME_HEADER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;I_TABNAME_ITEM =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IT_DEFAULT_FIELDCAT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I_SAVE = 'U'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I_DISPLAY_VIA_GRID = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;E_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ES_VARIANT = X_VARIANT&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; NOT_FOUND = 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;LI level="1" type="ul"&gt;&lt;P&gt; .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   P_VARI = X_VARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CLEAR I_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   MOVE: X_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   X_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " ZF_VARIANT_F4&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Jun 2007 05:06:27 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-05T05:06:27Z</dc:date>
    <item>
      <title>Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/reports/m-p/2394083#M532623</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;        what is difference b/w getcursor and hide key word ,&lt;/P&gt;&lt;P&gt;        can u give one example  with code for interactive report  ( using getcursor and hide)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        and Alv interactive report (one example).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 04:12:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/reports/m-p/2394083#M532623</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T04:12:59Z</dc:date>
    </item>
    <item>
      <title>Re: Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/reports/m-p/2394084#M532624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;BOTH ARE USED TO HOLD SELECTED FIELD VALUE,&lt;/P&gt;&lt;P&gt;check the example:&lt;/P&gt;&lt;P&gt;ALV Interactive report&lt;/P&gt;&lt;P&gt;REPORT  ZSR_ALV_INTERACTIVE2.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAK,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;END OF I_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAP,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;END OF I_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_MAKT,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;END OF I_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_LIPS,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VL,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;END OF I_LIPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_REASON,&lt;/P&gt;&lt;P&gt;SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;END OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBPA,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN,&lt;/P&gt;&lt;P&gt;PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;END OF I_VBPA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_KNA1,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;END OF I_KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_FINAL,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;END OF I_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES&lt;/P&gt;&lt;P&gt;DATA: IT_VBAK TYPE STANDARD TABLE OF I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: IT_VBAP TYPE STANDARD TABLE OF I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: IT_MAKT TYPE STANDARD TABLE OF I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: IT_LIPS TYPE STANDARD TABLE OF I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: IT_VBPA TYPE STANDARD TABLE OF I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: IT_KNA1 TYPE STANDARD TABLE OF I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: IT_FINAL TYPE STANDARD TABLE OF I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: IT_REASON TYPE STANDARD TABLE OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*WORK AREA&lt;/P&gt;&lt;P&gt;DATA: WA_VBAK TYPE I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: WA_VBAP TYPE I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: WA_MAKT TYPE I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: WA_LIPS TYPE I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: WA_VBPA TYPE I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: WA_KNA1 TYPE I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: WA_FINAL TYPE I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: WA_REASON TYPE I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;DATA: V_PROGNAME TYPE SY-REPID.&lt;/P&gt;&lt;P&gt;DATA: V_VBELN TYPE VBAK-VBELN.&lt;/P&gt;&lt;P&gt;DATA: V_GRIDTITLE TYPE LVC_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;*DATA: I_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;*DATA: P_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION FOR CATALOGS LAYOUT SORT EVENTCATALOG TOPOFPAGE.&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION - First point of execution of program&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To initialize Any variables that are to be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;used in the program, even before selection screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;appears.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_PROGNAME = SY-REPID.&lt;/P&gt;&lt;P&gt;  V_FLAG = SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM Z_DEFAULT_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION SCREEN&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS: S_VBELN FOR V_VBELN.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK BLK1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Variable for ALV Variant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF BLOCK B_VAR WITH FRAME TITLE TEXT-020.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION-SCREEN END OF BLOCK B_VAR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SLECTION-SCREEN.&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM Z_VALIDATIONS.&lt;/P&gt;&lt;P&gt;*AT SELECTION SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;CHECK FOR THE EXISTENCE OF THE VARIANT SELECTED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM ZF_CHECK_VAR_EXIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON VALUE-REQUEST FOR D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;PROVIDE THE F4-HELP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM ZF_VARIANT_F4.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SELECT.&lt;/P&gt;&lt;P&gt;  PERFORM CHECK_VALIDATION_FLAG.&lt;/P&gt;&lt;P&gt;  PERFORM Z_FIELDCAT USING I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LAYOUT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SORTINFO USING I_SORTINFO.&lt;/P&gt;&lt;P&gt;  PERFORM Z_EVENTCAT USING I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_GRIDTITLE.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LISTHEADER USING I_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM Z_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 Z_VALIDATIONS&lt;/P&gt;&lt;P&gt;&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 Z_VALIDATIONS .&lt;/P&gt;&lt;P&gt;  SELECT VBELN INTO V_VBELN&lt;/P&gt;&lt;P&gt;  UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;  FROM VBAK&lt;/P&gt;&lt;P&gt;  WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Records'.&lt;/P&gt;&lt;P&gt;    V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_VALIDATIONS&lt;/P&gt;&lt;P&gt;&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 Z_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;P&gt;FORM Z_FIELDCAT USING P_I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;*VBAK-VELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '1'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'VBELN'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-KEY = 'X'. " SO THAT THIS FIELD IS NOT SCROLLABLE AND&lt;/P&gt;&lt;P&gt;*HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-JUST = 'C'. " FOR JUSTIFICATION.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'SALES ORDER'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 15. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*THE DDIC TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-SPRAS&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '2'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'SPRAS'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'LANGUAGE'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*VBAP-AUGRU&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '3'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'AUGRU'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'REASON'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-bezei&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '4'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'BEZEI'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DESCRIPTION'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-POSNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '5'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'POSNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'ITEM'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 8. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-MATNR.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '6'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'MATNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'MATERIAL'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-ZMENG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '7'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'ZMENG'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'QUANT'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*MAKT-MAKTX&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '8'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'MAKTX'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DESCRIPTION'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'MAKT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-VBELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '9'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'VBELN'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DELIVERY'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 15. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-LFIMG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '10'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'LFIMG'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'LFIMG'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*parvw&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '11'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'PARVW'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'PARTNER FUN'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*KUNNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '12'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'KUNNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'SHIP'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*NAME1&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '13'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'NAME1'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'NAME'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'KNA1'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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;P&gt;*&amp;amp; Form Z_SELECT&lt;/P&gt;&lt;P&gt;&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 Z_SELECT .&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;  AUGRU INTO CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;  FROM VBAK&lt;/P&gt;&lt;P&gt;  WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&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;    ZMENG INTO CORRESPONDING FIELDS OF TABLE IT_VBAP&lt;/P&gt;&lt;P&gt;    FROM VBAP&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;    WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      SELECT SPRAS&lt;/P&gt;&lt;P&gt;      AUGRU&lt;/P&gt;&lt;P&gt;      BEZEI INTO CORRESPONDING FIELDS OF TABLE IT_REASON&lt;/P&gt;&lt;P&gt;      FROM TVAUT&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;      WHERE AUGRU = IT_VBAK-AUGRU.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        SELECT VBELN&lt;/P&gt;&lt;P&gt;        PARVW&lt;/P&gt;&lt;P&gt;        KUNNR INTO CORRESPONDING FIELDS OF TABLE IT_VBPA&lt;/P&gt;&lt;P&gt;        FROM VBPA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;        WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          SELECT KUNNR&lt;/P&gt;&lt;P&gt;          NAME1 INTO CORRESPONDING FIELDS OF TABLE IT_KNA1&lt;/P&gt;&lt;P&gt;          FROM KNA1&lt;/P&gt;&lt;P&gt;          FOR ALL ENTRIES IN IT_VBPA&lt;/P&gt;&lt;P&gt;          WHERE KUNNR = IT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            SELECT POSNR&lt;/P&gt;&lt;P&gt;            MATNR&lt;/P&gt;&lt;P&gt;            LFIMG INTO CORRESPONDING FIELDS OF TABLE IT_LIPS&lt;/P&gt;&lt;P&gt;            FROM LIPS&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;            WHERE POSNR = IT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              SELECT MATNR&lt;/P&gt;&lt;P&gt;              MAKTX INTO CORRESPONDING FIELDS OF TABLE IT_MAKT&lt;/P&gt;&lt;P&gt;              FROM MAKT&lt;/P&gt;&lt;P&gt;              FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;              WHERE MATNR = IT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Data found'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBAP INTO WA_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBAK INTO WA_VBAK WITH KEY VBELN = WA_VBAP-VBELN&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;*MOVE DATA INTO IT_FINAL.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBAK-VBELN TO WA_FINAL-VBELN,&lt;/P&gt;&lt;P&gt;        WA_VBAK-AUGRU TO WA_FINAL-AUGRU,&lt;/P&gt;&lt;P&gt;        WA_VBAP-POSNR TO WA_FINAL-POSNR,&lt;/P&gt;&lt;P&gt;        WA_VBAP-MATNR TO WA_FINAL-MATNR,&lt;/P&gt;&lt;P&gt;        WA_VBAP-ZMENG TO WA_FINAL-ZMENG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_LIPS INTO WA_LIPS WITH KEY POSNR = WA_FINAL-POSNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_LIPS-LFIMG TO WA_FINAL-LFIMG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_REASON INTO WA_REASON WITH KEY AUGRU =&lt;/P&gt;&lt;P&gt;WA_FINAL-AUGRU BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_REASON-SPRAS TO WA_FINAL-SPRAS,&lt;/P&gt;&lt;P&gt;        WA_REASON-BEZEI TO WA_FINAL-BEZEI.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_FINAL-MATNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_MAKT-MAKTX TO WA_FINAL-MAKTX.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBPA INTO WA_VBPA WITH KEY VBELN = WA_FINAL-VBELN&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBPA-PARVW TO WA_FINAL-PARVW,&lt;/P&gt;&lt;P&gt;        WA_VBPA-KUNNR TO WA_FINAL-KUNNR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_FINAL-KUNNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_KNA1-NAME1 TO WA_FINAL-NAME1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND WA_FINAL TO IT_FINAL.&lt;/P&gt;&lt;P&gt;      CLEAR WA_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_SELECT&lt;/P&gt;&lt;P&gt;&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 Z_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 Z_LAYOUT .&lt;/P&gt;&lt;P&gt;  I_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;  I_LAYOUT-TOTALS_TEXT = 'Total'(A00).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-SUBTOTALS_TEXT = 'SubTotal'(A01).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-BOX_TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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 Z_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;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_I_SORTINFO text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_SORTINFO USING P_I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_SORTINFO TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  CLEAR I_SORTINFO.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SPOS = '1'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-UP = 'X'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-GROUP = 'UL'. " I.E UNDERLINE AFTER EVERY GROUP&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND I_SORTINFO TO P_I_SORTINFO.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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;P&gt;*&amp;amp; Form Z_EVENTCAT&lt;/P&gt;&lt;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_I_EVENTCAT text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_EVENTCAT USING P_I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  DATA: I_EVENT TYPE SLIS_ALV_EVENT.&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       = P_I_EVENTCAT&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;  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;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO&lt;/P&gt;&lt;P&gt;  I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_PF_STATUS_SET INTO&lt;/P&gt;&lt;P&gt;I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'SET_PF_STATUS' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT INTO I_EVENT WITH KEY NAME =&lt;/P&gt;&lt;P&gt;SLIS_EV_USER_COMMAND .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'USER_COMMAND' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&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. " Z_EVENTCAT&lt;/P&gt;&lt;P&gt;&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 Z_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 Z_DISPLAY .&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 = V_PROGNAME&lt;/P&gt;&lt;P&gt;*I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'&lt;/P&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;  I_GRID_TITLE = V_GRIDTITLE&lt;/P&gt;&lt;P&gt;  I_SAVE = 'A'&lt;/P&gt;&lt;P&gt;  IS_LAYOUT = I_LAYOUT&lt;/P&gt;&lt;P&gt;  IT_FIELDCAT = I_FIELDCAT[]&lt;/P&gt;&lt;P&gt;  IT_SORT = I_SORTINFO&lt;/P&gt;&lt;P&gt;  IT_EVENTS = I_EVENTCAT&lt;/P&gt;&lt;UL&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 = IT_FINAL&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;ENDFORM. " Z_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 Z_GRIDTITLE&lt;/P&gt;&lt;P&gt;&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;FORM Z_GRIDTITLE .&lt;/P&gt;&lt;P&gt;  V_GRIDTITLE = 'ALV FOR SALES ORDER DISPLAY'.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_GRIDTITLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP OF PAGE.&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 = I_LISTHEADER.&lt;/P&gt;&lt;P&gt;ENDFORM. "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*MENU SETTINGS.&lt;/P&gt;&lt;P&gt;FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_MENU'.&lt;/P&gt;&lt;P&gt;ENDFORM. "SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*USER-COMMAND&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  DATA : VBELN TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE P_UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      CLEAR : VBELN.&lt;/P&gt;&lt;P&gt;      VBELN = RS_SELFIELD-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PARAMETER ID: 'AUN' FIELD VBELN.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&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 Z_LISTHEADER&lt;/P&gt;&lt;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_I_LISTHEADER text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_LISTHEADER USING P_I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA: L_LISTHEADER TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  REFRESH P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-001.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-002.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_LISTHEADER&lt;/P&gt;&lt;P&gt;&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 check_validation_flag&lt;/P&gt;&lt;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 CHECK_VALIDATION_FLAG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT V_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " check_validation_flag&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM Z_DEFAULT_VARIANT .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; I_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     I_SAVE        = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     CS_VARIANT    = I_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     WRONG_INPUT   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     NOT_FOUND     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     PROGRAM_ERROR = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     OTHERS        = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   P_VARI = I_VARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" 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="2" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM ZF_CHECK_VAR_EXIST .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: L_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT P_VARI IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR L_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_VARIANT-VARIANT = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&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;       I_SAVE        = 'U'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CS_VARIANT    = L_VARIANT&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;       WRONG_INPUT   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       NOT_FOUND     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PROGRAM_ERROR = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OTHERS        = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR I_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE: L_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form ZF_VARIANT_F4&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM ZF_VARIANT_F4 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: X_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&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; IS_VARIANT = I_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;I_TABNAME_HEADER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;I_TABNAME_ITEM =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IT_DEFAULT_FIELDCAT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I_SAVE = 'U'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I_DISPLAY_VIA_GRID = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;E_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ES_VARIANT = X_VARIANT&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; NOT_FOUND = 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;LI level="1" type="ul"&gt;&lt;P&gt; .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   P_VARI = X_VARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CLEAR I_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   MOVE: X_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   X_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " ZF_VARIANT_F4&lt;/P&gt;&lt;P&gt;INteractive report:&lt;/P&gt;&lt;P&gt;REPORT  ZSR_ALV_INTERACTIVE2.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAK,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;END OF I_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBAP,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;END OF I_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_MAKT,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;END OF I_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_LIPS,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VL,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;END OF I_LIPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_REASON,&lt;/P&gt;&lt;P&gt;SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;END OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_VBPA,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN,&lt;/P&gt;&lt;P&gt;PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;END OF I_VBPA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_KNA1,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;END OF I_KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_FINAL,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN_VA,&lt;/P&gt;&lt;P&gt;POSNR TYPE POSNR_VA,&lt;/P&gt;&lt;P&gt;MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;ZMENG TYPE DZMENG,&lt;/P&gt;&lt;P&gt;MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;LFIMG TYPE LFIMG,&lt;/P&gt;&lt;P&gt;SPRAS TYPE SPRAS,&lt;/P&gt;&lt;P&gt;AUGRU TYPE AUGRU,&lt;/P&gt;&lt;P&gt;BEZEI TYPE BEZEI40,&lt;/P&gt;&lt;P&gt;PARVW TYPE PARVW,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1_GP,&lt;/P&gt;&lt;P&gt;END OF I_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES&lt;/P&gt;&lt;P&gt;DATA: IT_VBAK TYPE STANDARD TABLE OF I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: IT_VBAP TYPE STANDARD TABLE OF I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: IT_MAKT TYPE STANDARD TABLE OF I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: IT_LIPS TYPE STANDARD TABLE OF I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: IT_VBPA TYPE STANDARD TABLE OF I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: IT_KNA1 TYPE STANDARD TABLE OF I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: IT_FINAL TYPE STANDARD TABLE OF I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: IT_REASON TYPE STANDARD TABLE OF I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*WORK AREA&lt;/P&gt;&lt;P&gt;DATA: WA_VBAK TYPE I_VBAK.&lt;/P&gt;&lt;P&gt;DATA: WA_VBAP TYPE I_VBAP.&lt;/P&gt;&lt;P&gt;DATA: WA_MAKT TYPE I_MAKT.&lt;/P&gt;&lt;P&gt;DATA: WA_LIPS TYPE I_LIPS.&lt;/P&gt;&lt;P&gt;DATA: WA_VBPA TYPE I_VBPA.&lt;/P&gt;&lt;P&gt;DATA: WA_KNA1 TYPE I_KNA1.&lt;/P&gt;&lt;P&gt;DATA: WA_FINAL TYPE I_FINAL.&lt;/P&gt;&lt;P&gt;DATA: WA_REASON TYPE I_REASON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION.&lt;/P&gt;&lt;P&gt;DATA: V_PROGNAME TYPE SY-REPID.&lt;/P&gt;&lt;P&gt;DATA: V_VBELN TYPE VBAK-VBELN.&lt;/P&gt;&lt;P&gt;DATA: V_GRIDTITLE TYPE LVC_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;*DATA: I_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;P&gt;*DATA: P_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION FOR CATALOGS LAYOUT SORT EVENTCATALOG TOPOFPAGE.&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;DATA: I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION - First point of execution of program&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To initialize Any variables that are to be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;used in the program, even before selection screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;appears.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  V_PROGNAME = SY-REPID.&lt;/P&gt;&lt;P&gt;  V_FLAG = SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM Z_DEFAULT_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION SCREEN&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS: S_VBELN FOR V_VBELN.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK BLK1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Variable for ALV Variant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION-SCREEN BEGIN OF BLOCK B_VAR WITH FRAME TITLE TEXT-020.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PARAMETERS: D_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION-SCREEN END OF BLOCK B_VAR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SLECTION-SCREEN.&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM Z_VALIDATIONS.&lt;/P&gt;&lt;P&gt;*AT SELECTION SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;CHECK FOR THE EXISTENCE OF THE VARIANT SELECTED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM ZF_CHECK_VAR_EXIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN ON VALUE-REQUEST FOR D_VARI.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;PROVIDE THE F4-HELP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM ZF_VARIANT_F4.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SELECT.&lt;/P&gt;&lt;P&gt;  PERFORM CHECK_VALIDATION_FLAG.&lt;/P&gt;&lt;P&gt;  PERFORM Z_FIELDCAT USING I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LAYOUT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_SORTINFO USING I_SORTINFO.&lt;/P&gt;&lt;P&gt;  PERFORM Z_EVENTCAT USING I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  PERFORM Z_GRIDTITLE.&lt;/P&gt;&lt;P&gt;  PERFORM Z_LISTHEADER USING I_LISTHEADER.&lt;/P&gt;&lt;P&gt;  PERFORM Z_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 Z_VALIDATIONS&lt;/P&gt;&lt;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 Z_VALIDATIONS .&lt;/P&gt;&lt;P&gt;  SELECT VBELN INTO V_VBELN&lt;/P&gt;&lt;P&gt;  UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;  FROM VBAK&lt;/P&gt;&lt;P&gt;  WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Records'.&lt;/P&gt;&lt;P&gt;    V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_VALIDATIONS&lt;/P&gt;&lt;P&gt;&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 Z_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;P&gt;FORM Z_FIELDCAT USING P_I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;*VBAK-VELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '1'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'VBELN'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-KEY = 'X'. " SO THAT THIS FIELD IS NOT SCROLLABLE AND&lt;/P&gt;&lt;P&gt;*HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-JUST = 'C'. " FOR JUSTIFICATION.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'SALES ORDER'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 15. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*THE DDIC TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-SPRAS&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '2'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'SPRAS'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'LANGUAGE'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*VBAP-AUGRU&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '3'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'AUGRU'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'REASON'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAK'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-bezei&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '4'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'BEZEI'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DESCRIPTION'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'TVAUT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-POSNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '5'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'POSNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'ITEM'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 8. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-MATNR.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '6'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'MATNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'MATERIAL'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*VBAP-ZMENG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '7'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'ZMENG'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'QUANT'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBAP'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*MAKT-MAKTX&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '8'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'MAKTX'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DESCRIPTION'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'MAKT'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-VBELN&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '9'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'VBELN'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'DELIVERY'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 15. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*LIPS-LFIMG&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '10'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'LFIMG'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'LFIMG'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'LIPS'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*parvw&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '11'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'PARVW'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'PARTNER FUN'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*KUNNR&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '12'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'KUNNR'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'SHIP'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'VBPA'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;*NAME1&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-COL_POS = '13'. " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-FIELDNAME = 'NAME1'. " FIELD FOR WHICH CATALOG ID FILLED.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-TABNAME = 'IT_FINAL'. " INTERNAL TABLE TO WHICH THE FIELD&lt;/P&gt;&lt;P&gt;*BELONGS TO.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-LZERO = 'X'. " OUTPUT WITH LEADING ZEROS.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-SELTEXT_L = 'NAME'. " LONG TEXT FOR HEADER.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-OUTPUTLEN = 18. " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FIELDCAT-REF_TABNAME = 'KNA1'. " FOR F1 &amp;amp; F4 HELP AS REFERNCED TO&lt;/P&gt;&lt;P&gt;*TABLE.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCAT TO P_I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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;P&gt;*&amp;amp; Form Z_SELECT&lt;/P&gt;&lt;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 Z_SELECT .&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;  AUGRU INTO CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;  FROM VBAK&lt;/P&gt;&lt;P&gt;  WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&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;    ZMENG INTO CORRESPONDING FIELDS OF TABLE IT_VBAP&lt;/P&gt;&lt;P&gt;    FROM VBAP&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;    WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      SELECT SPRAS&lt;/P&gt;&lt;P&gt;      AUGRU&lt;/P&gt;&lt;P&gt;      BEZEI INTO CORRESPONDING FIELDS OF TABLE IT_REASON&lt;/P&gt;&lt;P&gt;      FROM TVAUT&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;      WHERE AUGRU = IT_VBAK-AUGRU.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        SELECT VBELN&lt;/P&gt;&lt;P&gt;        PARVW&lt;/P&gt;&lt;P&gt;        KUNNR INTO CORRESPONDING FIELDS OF TABLE IT_VBPA&lt;/P&gt;&lt;P&gt;        FROM VBPA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN IT_VBAK&lt;/P&gt;&lt;P&gt;        WHERE VBELN = IT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          SELECT KUNNR&lt;/P&gt;&lt;P&gt;          NAME1 INTO CORRESPONDING FIELDS OF TABLE IT_KNA1&lt;/P&gt;&lt;P&gt;          FROM KNA1&lt;/P&gt;&lt;P&gt;          FOR ALL ENTRIES IN IT_VBPA&lt;/P&gt;&lt;P&gt;          WHERE KUNNR = IT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            SELECT POSNR&lt;/P&gt;&lt;P&gt;            MATNR&lt;/P&gt;&lt;P&gt;            LFIMG INTO CORRESPONDING FIELDS OF TABLE IT_LIPS&lt;/P&gt;&lt;P&gt;            FROM LIPS&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;            WHERE POSNR = IT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              SELECT MATNR&lt;/P&gt;&lt;P&gt;              MAKTX INTO CORRESPONDING FIELDS OF TABLE IT_MAKT&lt;/P&gt;&lt;P&gt;              FROM MAKT&lt;/P&gt;&lt;P&gt;              FOR ALL ENTRIES IN IT_VBAP&lt;/P&gt;&lt;P&gt;              WHERE MATNR = IT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I002(SY) WITH 'No Data found'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_VBAP INTO WA_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBAK INTO WA_VBAK WITH KEY VBELN = WA_VBAP-VBELN&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;*MOVE DATA INTO IT_FINAL.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBAK-VBELN TO WA_FINAL-VBELN,&lt;/P&gt;&lt;P&gt;        WA_VBAK-AUGRU TO WA_FINAL-AUGRU,&lt;/P&gt;&lt;P&gt;        WA_VBAP-POSNR TO WA_FINAL-POSNR,&lt;/P&gt;&lt;P&gt;        WA_VBAP-MATNR TO WA_FINAL-MATNR,&lt;/P&gt;&lt;P&gt;        WA_VBAP-ZMENG TO WA_FINAL-ZMENG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_LIPS INTO WA_LIPS WITH KEY POSNR = WA_FINAL-POSNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_LIPS-LFIMG TO WA_FINAL-LFIMG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_REASON INTO WA_REASON WITH KEY AUGRU =&lt;/P&gt;&lt;P&gt;WA_FINAL-AUGRU BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_REASON-SPRAS TO WA_FINAL-SPRAS,&lt;/P&gt;&lt;P&gt;        WA_REASON-BEZEI TO WA_FINAL-BEZEI.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_FINAL-MATNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_MAKT-MAKTX TO WA_FINAL-MAKTX.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_VBPA INTO WA_VBPA WITH KEY VBELN = WA_FINAL-VBELN&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_VBPA-PARVW TO WA_FINAL-PARVW,&lt;/P&gt;&lt;P&gt;        WA_VBPA-KUNNR TO WA_FINAL-KUNNR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_FINAL-KUNNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE: WA_KNA1-NAME1 TO WA_FINAL-NAME1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND WA_FINAL TO IT_FINAL.&lt;/P&gt;&lt;P&gt;      CLEAR WA_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_SELECT&lt;/P&gt;&lt;P&gt;&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 Z_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 Z_LAYOUT .&lt;/P&gt;&lt;P&gt;  I_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;  I_LAYOUT-TOTALS_TEXT = 'Total'(A00).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-SUBTOTALS_TEXT = 'SubTotal'(A01).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-BOX_TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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 Z_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;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_I_SORTINFO text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_SORTINFO USING P_I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  DATA: I_SORTINFO TYPE SLIS_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  CLEAR I_SORTINFO.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SPOS = '1'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-UP = 'X'.&lt;/P&gt;&lt;P&gt;  I_SORTINFO-GROUP = 'UL'. " I.E UNDERLINE AFTER EVERY GROUP&lt;/P&gt;&lt;P&gt;  I_SORTINFO-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND I_SORTINFO TO P_I_SORTINFO.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_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;P&gt;*&amp;amp; Form Z_EVENTCAT&lt;/P&gt;&lt;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_I_EVENTCAT text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_EVENTCAT USING P_I_EVENTCAT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  DATA: I_EVENT TYPE SLIS_ALV_EVENT.&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       = P_I_EVENTCAT&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;  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;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO&lt;/P&gt;&lt;P&gt;  I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT WITH KEY NAME = SLIS_EV_PF_STATUS_SET INTO&lt;/P&gt;&lt;P&gt;I_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'SET_PF_STATUS' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_EVENT.&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENTCAT INTO I_EVENT WITH KEY NAME =&lt;/P&gt;&lt;P&gt;SLIS_EV_USER_COMMAND .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'USER_COMMAND' TO I_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND I_EVENT TO P_I_EVENTCAT.&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. " Z_EVENTCAT&lt;/P&gt;&lt;P&gt;&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 Z_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 Z_DISPLAY .&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 = V_PROGNAME&lt;/P&gt;&lt;P&gt;*I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'&lt;/P&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;  I_GRID_TITLE = V_GRIDTITLE&lt;/P&gt;&lt;P&gt;  I_SAVE = 'A'&lt;/P&gt;&lt;P&gt;  IS_LAYOUT = I_LAYOUT&lt;/P&gt;&lt;P&gt;  IT_FIELDCAT = I_FIELDCAT[]&lt;/P&gt;&lt;P&gt;  IT_SORT = I_SORTINFO&lt;/P&gt;&lt;P&gt;  IT_EVENTS = I_EVENTCAT&lt;/P&gt;&lt;UL&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 = IT_FINAL&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;ENDFORM. " Z_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 Z_GRIDTITLE&lt;/P&gt;&lt;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 Z_GRIDTITLE .&lt;/P&gt;&lt;P&gt;  V_GRIDTITLE = 'ALV FOR SALES ORDER DISPLAY'.&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_GRIDTITLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP OF PAGE.&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 = I_LISTHEADER.&lt;/P&gt;&lt;P&gt;ENDFORM. "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*MENU SETTINGS.&lt;/P&gt;&lt;P&gt;FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ALV_MENU'.&lt;/P&gt;&lt;P&gt;ENDFORM. "SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*USER-COMMAND&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;  DATA : VBELN TYPE VBELN_VA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE P_UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      CLEAR : VBELN.&lt;/P&gt;&lt;P&gt;      VBELN = RS_SELFIELD-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PARAMETER ID: 'AUN' FIELD VBELN.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&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 Z_LISTHEADER&lt;/P&gt;&lt;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_I_LISTHEADER text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 Z_LISTHEADER USING P_I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA: L_LISTHEADER TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  REFRESH P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-001.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_LISTHEADER.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  L_LISTHEADER-INFO = TEXT-002.&lt;/P&gt;&lt;P&gt;  APPEND L_LISTHEADER TO P_I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " Z_LISTHEADER&lt;/P&gt;&lt;P&gt;&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 check_validation_flag&lt;/P&gt;&lt;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 CHECK_VALIDATION_FLAG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT V_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " check_validation_flag&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM Z_DEFAULT_VARIANT .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; I_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     I_SAVE        = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     CS_VARIANT    = I_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     WRONG_INPUT   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     NOT_FOUND     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     PROGRAM_ERROR = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     OTHERS        = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   P_VARI = I_VARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" 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="2" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM ZF_CHECK_VAR_EXIST .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: L_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT P_VARI IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR L_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_VARIANT-REPORT = V_PROGNAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_VARIANT-VARIANT = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&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;       I_SAVE        = 'U'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CS_VARIANT    = L_VARIANT&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;       WRONG_INPUT   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       NOT_FOUND     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PROGRAM_ERROR = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OTHERS        = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR I_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE: L_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&amp;amp; Form ZF_VARIANT_F4&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*FORM ZF_VARIANT_F4 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: X_VARIANT LIKE DISVARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&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; IS_VARIANT = I_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;I_TABNAME_HEADER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;I_TABNAME_ITEM =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IT_DEFAULT_FIELDCAT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I_SAVE = 'U'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I_DISPLAY_VIA_GRID = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;E_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ES_VARIANT = X_VARIANT&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; NOT_FOUND = 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;LI level="1" type="ul"&gt;&lt;P&gt; .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   P_VARI = X_VARIANT-VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   D_VARI = P_VARI.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CLEAR I_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   MOVE: X_VARIANT-VARIANT TO I_VARIANT-VARIANT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   X_VARIANT-REPORT TO I_VARIANT-REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " ZF_VARIANT_F4&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 05:06:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/reports/m-p/2394084#M532624</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T05:06:27Z</dc:date>
    </item>
    <item>
      <title>Re: Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/reports/m-p/2394085#M532625</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;&amp;lt;b&amp;gt;A Sample Hide &amp;amp; Get Cursor in Interactive Programming&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hide &amp;amp; Get Cursor is used in interactive programming ( in the event AT LINE-selection). &lt;/P&gt;&lt;P&gt;Using Hide in Loop..Endloop, you can get the field name At Line-Select &lt;/P&gt;&lt;P&gt;Event While Double Clicking That Line. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;****PROG.BEGIN***************************************************************
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZPREM_INTERACTIVE                                           *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;                                                                     *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*

REPORT  zprem_interactive                       .

TYPES : BEGIN OF ty_test,
        code TYPE i,
        name(10) TYPE c,
        amount TYPE p DECIMALS 2,
       END OF ty_test.

DATA : it_test TYPE STANDARD TABLE OF ty_test WITH HEADER LINE INITIAL SIZE 10.

DATA : wa TYPE ty_test,
       chk1 TYPE c,
       fldname(30), fldval(50).

*set pf-status 'PF01'.
*set titlebar 'PF01'.
*

INITIALIZATION.
  it_test-code = 300.
  it_test-name = 'Ramesh'.
  it_test-amount = 5500.
  APPEND it_test.

  wa-code = 207.
  wa-name = 'Prem'.
  wa-amount = 5000.
  APPEND wa TO it_test.

  it_test-code = 117.
  it_test-name = 'James Bond'.
  it_test-amount = 9900.
  INSERT it_test INDEX 3.

  it_test-code = 217.
  it_test-name = 'Sivaraman'.
  it_test-amount = 9900.
  INSERT it_test INDEX 3.

  it_test-code = 201.
  it_test-name = 'Saravanan'.
  it_test-amount = 1000.
  APPEND it_test.

  it_test-code = 210.
  it_test-name = 'Shanmugam'.
  it_test-amount = 6000.
  APPEND it_test.

  WRITE : / 'Loop Display ( Appended rows ) :-'.
  LOOP AT it_test.
    WRITE : / chk1 AS CHECKBOX,
    sy-tabix, sy-vline, it_test-code, it_test-name, it_test-amount.
    HIDE : it_test-code, it_test-name.
  ENDLOOP.
  SKIP.

END-OF-SELECTION.
  CLEAR : it_test-code, it_test-name.
  WRITE : / 'this from end of selection'.


*&amp;amp;--------------------------------------------------------------------*
*&amp;amp;      Form  DISP1
*&amp;amp;--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM disp1.
  WINDOW STARTING AT 15 10
         ENDING AT 80 15.
  DO.
    CLEAR chk1.
    READ LINE sy-index FIELD VALUE chk1.
    IF sy-subrc NE 0.
      EXIT.
    ELSE.
      CHECK chk1 NE space.
      WRITE : / it_test-code, it_test-name.
      MODIFY CURRENT LINE :
        FIELD VALUE chk1 FROM ' '
        FIELD FORMAT chk1 INPUT OFF.
    ENDIF.
  ENDDO.
ENDFORM.                                                    "DISP1

***line double click ****
AT LINE-SELECTION.
  CHECK sy-lsind = 1.
  WINDOW STARTING AT 5 4
         ENDING AT 85 20.
  WRITE: /  'THE USER DOUBLE-CLICKED A LINE IN THE REPORT'.
  WRITE: /  sy-lisel.
  WRITE : / 'Sometime ',it_test-name, ' is good '.
  WRITE : / 'Sometime ',it_test-name, ' is bad  '.
  WRITE : / 'Sometime ',it_test-name, ' is rich '.
  WRITE : / 'Sometime ',it_test-name, ' is poor '.
  WRITE : / 'Who knows, who is ',it_test-name, ' ? '.
  WRITE : /, / 'we can also use this in SELECT statement'.
  CLEAR : it_test-code, it_test-name.

        .
IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

  ULINE.
  SKIP.
  SKIP.
  WRITE : / 'Below from Get Cursor Field...'.
  GET CURSOR FIELD fldname VALUE fldval.
  CONDENSE fldname.
  CONDENSE fldval.
  WRITE : / 'You have clicked ', fldname, ' &amp;amp; its value is ', fldval.

***function key press F6 ****
AT PF06.
  PERFORM disp1.

*AT USER-COMMAND.
*  CASE SY-UCOMM.
*    WHEN 'STOP' OR 'CANCEL'.
*      LEAVE TO SCREEN 0.
*    WHEN 'TESTME'.
*      PERFORM DISP1.
*  ENDCASE.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt; Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 05:14:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/reports/m-p/2394085#M532625</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T05:14:31Z</dc:date>
    </item>
  </channel>
</rss>

