<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: alv variant problem in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-variant-problem/m-p/2798917#M653520</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this code. Its all about using layout variants.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Reward if helpful,&lt;/P&gt;&lt;P&gt;pritha.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  zsales_order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*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;P&gt;  perform z_default_variant.&lt;/P&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;P&gt;  selection-screen begin of block b_var with frame title text-020.&lt;/P&gt;&lt;P&gt;  parameters: d_vari like disvariant-variant.&lt;/P&gt;&lt;P&gt;  selection-screen end of block b_var.&lt;/P&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;LI level="1" type="ul"&gt;&lt;P&gt; CHECK FOR THE EXISTENCE OF THE VARIANT SELECTED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform zf_check_var_exist.&lt;/P&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;LI level="1" type="ul"&gt;&lt;P&gt; PROVIDE THE F4-HELP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform zf_variant_f4.&lt;/P&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;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_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;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_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 BELONGS TO.&lt;/P&gt;&lt;P&gt;  i_fieldcat-key         = 'X'.                        " SO THAT THIS FIELD IS NOT SCROLLABLE AND 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 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 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 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 = 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;&lt;STRONG&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_DEFAULT_VARIANT&lt;/P&gt;&lt;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_default_variant .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_variant-report = v_progname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_save        = 'A'&lt;/P&gt;&lt;P&gt;    changing&lt;/P&gt;&lt;P&gt;      cs_variant    = i_variant&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      wrong_input   = 1&lt;/P&gt;&lt;P&gt;      not_found     = 2&lt;/P&gt;&lt;P&gt;      program_error = 3&lt;/P&gt;&lt;P&gt;      others        = 4.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    p_vari = i_variant-variant.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   D_VARI = 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;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&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  ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;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 zf_check_var_exist .&lt;/P&gt;&lt;P&gt;  data: l_variant like disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not p_vari is initial.&lt;/P&gt;&lt;P&gt;    clear l_variant.&lt;/P&gt;&lt;P&gt;    l_variant-report = v_progname.&lt;/P&gt;&lt;P&gt;    l_variant-variant = p_vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        i_save        = 'U'&lt;/P&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        cs_variant    = l_variant&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        wrong_input   = 1&lt;/P&gt;&lt;P&gt;        not_found     = 2&lt;/P&gt;&lt;P&gt;        program_error = 3&lt;/P&gt;&lt;P&gt;        others        = 4.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      clear i_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      move: l_variant-variant to i_variant-variant,&lt;/P&gt;&lt;P&gt;            l_variant-report to i_variant-report.&lt;/P&gt;&lt;P&gt;    else.&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;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&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  ZF_VARIANT_F4&lt;/P&gt;&lt;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 zf_variant_f4 .&lt;/P&gt;&lt;P&gt;  data: x_variant like disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      is_variant                = i_variant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_TABNAME_HEADER          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_TABNAME_ITEM            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_DEFAULT_FIELDCAT       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_save                    = 'U'&lt;/P&gt;&lt;P&gt;     i_display_via_grid        = 'X'&lt;/P&gt;&lt;P&gt;   importing&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     es_variant                = x_variant&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     not_found                 = 1&lt;/P&gt;&lt;P&gt;     program_error             = 2&lt;/P&gt;&lt;P&gt;     others                    = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    p_vari = x_variant-variant.&lt;/P&gt;&lt;P&gt;    d_vari = p_vari.&lt;/P&gt;&lt;P&gt;    clear i_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move: x_variant-variant to i_variant-variant,&lt;/P&gt;&lt;P&gt;          x_variant-report to i_variant-report.&lt;/P&gt;&lt;P&gt;  else.&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.                    " ZF_VARIANT_F4&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Sep 2007 07:05:26 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-12T07:05:26Z</dc:date>
    <item>
      <title>alv variant problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-variant-problem/m-p/2798916#M653519</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;I have got a requirement where i need to display the fields in ouutput based on the variant i choose/select at selection screen.. that means the fields should be varying based on the variant chosen at selection screen..&lt;/P&gt;&lt;P&gt;pls i need a good example .....plsss&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in ADVANCE&lt;/P&gt;&lt;P&gt;Jay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Sep 2007 06:56:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-variant-problem/m-p/2798916#M653519</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-12T06:56:11Z</dc:date>
    </item>
    <item>
      <title>Re: alv variant problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-variant-problem/m-p/2798917#M653520</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this code. Its all about using layout variants.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Reward if helpful,&lt;/P&gt;&lt;P&gt;pritha.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  zsales_order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*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;P&gt;  perform z_default_variant.&lt;/P&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;P&gt;  selection-screen begin of block b_var with frame title text-020.&lt;/P&gt;&lt;P&gt;  parameters: d_vari like disvariant-variant.&lt;/P&gt;&lt;P&gt;  selection-screen end of block b_var.&lt;/P&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;LI level="1" type="ul"&gt;&lt;P&gt; CHECK FOR THE EXISTENCE OF THE VARIANT SELECTED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform zf_check_var_exist.&lt;/P&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;LI level="1" type="ul"&gt;&lt;P&gt; PROVIDE THE F4-HELP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform zf_variant_f4.&lt;/P&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;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_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;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_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 BELONGS TO.&lt;/P&gt;&lt;P&gt;  i_fieldcat-key         = 'X'.                        " SO THAT THIS FIELD IS NOT SCROLLABLE AND 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = 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 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 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 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 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 = 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;&lt;STRONG&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_DEFAULT_VARIANT&lt;/P&gt;&lt;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_default_variant .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_variant-report = v_progname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_save        = 'A'&lt;/P&gt;&lt;P&gt;    changing&lt;/P&gt;&lt;P&gt;      cs_variant    = i_variant&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      wrong_input   = 1&lt;/P&gt;&lt;P&gt;      not_found     = 2&lt;/P&gt;&lt;P&gt;      program_error = 3&lt;/P&gt;&lt;P&gt;      others        = 4.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    p_vari = i_variant-variant.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   D_VARI = 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;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " Z_DEFAULT_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&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  ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;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 zf_check_var_exist .&lt;/P&gt;&lt;P&gt;  data: l_variant like disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not p_vari is initial.&lt;/P&gt;&lt;P&gt;    clear l_variant.&lt;/P&gt;&lt;P&gt;    l_variant-report = v_progname.&lt;/P&gt;&lt;P&gt;    l_variant-variant = p_vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        i_save        = 'U'&lt;/P&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        cs_variant    = l_variant&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        wrong_input   = 1&lt;/P&gt;&lt;P&gt;        not_found     = 2&lt;/P&gt;&lt;P&gt;        program_error = 3&lt;/P&gt;&lt;P&gt;        others        = 4.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      clear i_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      move: l_variant-variant to i_variant-variant,&lt;/P&gt;&lt;P&gt;            l_variant-report to i_variant-report.&lt;/P&gt;&lt;P&gt;    else.&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;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_CHECK_VAR_EXIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&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  ZF_VARIANT_F4&lt;/P&gt;&lt;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 zf_variant_f4 .&lt;/P&gt;&lt;P&gt;  data: x_variant like disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      is_variant                = i_variant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_TABNAME_HEADER          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_TABNAME_ITEM            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_DEFAULT_FIELDCAT       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_save                    = 'U'&lt;/P&gt;&lt;P&gt;     i_display_via_grid        = 'X'&lt;/P&gt;&lt;P&gt;   importing&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     es_variant                = x_variant&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     not_found                 = 1&lt;/P&gt;&lt;P&gt;     program_error             = 2&lt;/P&gt;&lt;P&gt;     others                    = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    p_vari = x_variant-variant.&lt;/P&gt;&lt;P&gt;    d_vari = p_vari.&lt;/P&gt;&lt;P&gt;    clear i_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move: x_variant-variant to i_variant-variant,&lt;/P&gt;&lt;P&gt;          x_variant-report to i_variant-report.&lt;/P&gt;&lt;P&gt;  else.&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.                    " ZF_VARIANT_F4&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Sep 2007 07:05:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-variant-problem/m-p/2798917#M653520</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-12T07:05:26Z</dc:date>
    </item>
  </channel>
</rss>

