<?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 pop up in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320291#M795351</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;here is a sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  z11_rohan_shadow_assign1   no standard page heading message-id&lt;/P&gt;&lt;P&gt;z11_shadow_mess.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   DECLARING TYPES  POOL                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;All the definitions of internal tables, structures  and constants&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;are declared in a type-pool called SLIS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;                      DECLARING STRUCUTURES                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Final structure&lt;/P&gt;&lt;P&gt;types: begin of struc_final,&lt;/P&gt;&lt;P&gt;       matnr	type matnr,	      "Material Number&lt;/P&gt;&lt;P&gt;       werks	type werks_d,	      "Plant&lt;/P&gt;&lt;P&gt;       lgort	type lgort_d,	      "Storage Location&lt;/P&gt;&lt;P&gt;       labst type labst,         "Valuated stock with unrestricted use&lt;/P&gt;&lt;P&gt;       meins type meins,         "unit of measurement&lt;/P&gt;&lt;P&gt;       mtart type mtart,         "material type&lt;/P&gt;&lt;P&gt;       ersda	type ersda,	      "Creation date&lt;/P&gt;&lt;P&gt;       maktx type maktx,         "material description&lt;/P&gt;&lt;P&gt;       end of struc_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Final structure 2 for drill&lt;/P&gt;&lt;P&gt;types: begin of struc_final_2,&lt;/P&gt;&lt;P&gt;       matnr	type matnr,	      "Material Number&lt;/P&gt;&lt;P&gt;       werks	type werks_d,	      "Plant&lt;/P&gt;&lt;P&gt;       lgort	type lgort_d,	      "Storage Location&lt;/P&gt;&lt;P&gt;       name1 type name1,&lt;/P&gt;&lt;P&gt;       lgobe type lgobe,&lt;/P&gt;&lt;P&gt;       end of struc_final_2.&lt;/P&gt;&lt;P&gt;*&amp;amp;--mard structure&lt;/P&gt;&lt;P&gt;types: begin of struc_mard,&lt;/P&gt;&lt;P&gt;       matnr	type matnr,	      "Material Number&lt;/P&gt;&lt;P&gt;       werks	type werks_d,	      "Plant&lt;/P&gt;&lt;P&gt;       lgort	type lgort_d,	      "Storage Location&lt;/P&gt;&lt;P&gt;       labst type labst,         "Valuated stock with unrestricted use&lt;/P&gt;&lt;P&gt;       end of struc_mard.&lt;/P&gt;&lt;P&gt;*&amp;amp;--mara structure&lt;/P&gt;&lt;P&gt;types: begin of struc_mara,&lt;/P&gt;&lt;P&gt;       matnr type matnr,&lt;/P&gt;&lt;P&gt;       meins type meins,         "unit of measurement&lt;/P&gt;&lt;P&gt;       mtart type mtart,         "material type&lt;/P&gt;&lt;P&gt;       ersda	type ersda,	      "Creation date&lt;/P&gt;&lt;P&gt;       end of struc_mara.&lt;/P&gt;&lt;P&gt;*&amp;amp;--maktx structure&lt;/P&gt;&lt;P&gt;types: begin of struc_maktx,&lt;/P&gt;&lt;P&gt;       matnr type matnr,        "material number&lt;/P&gt;&lt;P&gt;       maktx type maktx,        "material description&lt;/P&gt;&lt;P&gt;       end of struc_maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--t001w structure&lt;/P&gt;&lt;P&gt;types: begin of struc_p_desc,&lt;/P&gt;&lt;P&gt;       werks type werks_d,&lt;/P&gt;&lt;P&gt;       name1 type name1,&lt;/P&gt;&lt;P&gt;       end of struc_p_desc.&lt;/P&gt;&lt;P&gt;*&amp;amp;--t001l structure&lt;/P&gt;&lt;P&gt;types: begin of struc_s_loc_desc,&lt;/P&gt;&lt;P&gt;       werks type werks_d,&lt;/P&gt;&lt;P&gt;       lgort type lgort_d,&lt;/P&gt;&lt;P&gt;       lgobe type lgobe,&lt;/P&gt;&lt;P&gt;       end of struc_s_loc_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          TABLES                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: mard.&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                            define macros                          *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;-- DEFINING MACRO FOR INITIAL FIELDCATALOG&lt;/P&gt;&lt;P&gt;define macro_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to l_fieldcat-col_pos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Defining macro reference fields&lt;/P&gt;&lt;P&gt;  l_fieldcat-checkbox = &amp;amp;1.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = &amp;amp;2.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = &amp;amp;3.&lt;/P&gt;&lt;P&gt;  l_fieldcat-key = &amp;amp;4.&lt;/P&gt;&lt;P&gt;  l_fieldcat-just = &amp;amp;5.&lt;/P&gt;&lt;P&gt;  l_fieldcat-hotspot = &amp;amp;6.&lt;/P&gt;&lt;P&gt;  l_fieldcat-do_sum = &amp;amp;7.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = &amp;amp;8.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = &amp;amp;9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append l_fieldcat to i_fieldcat.&lt;/P&gt;&lt;P&gt;end-of-definition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;-- DEFINING FIELDCATALOG FOR POPUP FIELDCATALOG&lt;/P&gt;&lt;P&gt;define macro_fieldcat_popup.&lt;/P&gt;&lt;P&gt;  add 1 to l_fieldcat2-col_pos.&lt;/P&gt;&lt;P&gt;*Defining macro reference fields&lt;/P&gt;&lt;P&gt;  l_fieldcat2-fieldname = &amp;amp;1.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-tabname = &amp;amp;2.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-key = &amp;amp;3.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-just = &amp;amp;4.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-seltext_l = &amp;amp;5.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-outputlen = &amp;amp;6.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-ref_tabname = &amp;amp;7.&lt;/P&gt;&lt;P&gt;  append l_fieldcat2 to i_fieldcat2.&lt;/P&gt;&lt;P&gt;end-of-definition.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   WORK  AREA  DECLARATION                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---work  area for Internal Tables[population 1]&lt;/P&gt;&lt;P&gt;data: wa_mard type struc_mard,&lt;/P&gt;&lt;P&gt;      wa_mara type struc_mara,&lt;/P&gt;&lt;P&gt;      wa_maktx type struc_maktx,&lt;/P&gt;&lt;P&gt;      wa_final type struc_final.&lt;/P&gt;&lt;P&gt;*population 2&lt;/P&gt;&lt;P&gt;data: wa_p_desc type struc_p_desc,&lt;/P&gt;&lt;P&gt;      wa_s_loc_desc type struc_s_loc_desc,&lt;/P&gt;&lt;P&gt;      wa_final_2 type struc_final_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--work  area for layout&lt;/P&gt;&lt;P&gt;data: wa_layout type slis_layout_alv,&lt;/P&gt;&lt;P&gt;      wa_layout2 type slis_layout_alv.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure to display variants for improt and export&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_variant like disvariant,&lt;/P&gt;&lt;P&gt;       it_variant1 like disvariant.&lt;/P&gt;&lt;P&gt;*defining local workarea&lt;/P&gt;&lt;P&gt;data: l_fieldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*defining local workarea2 for fieldcat popup&lt;/P&gt;&lt;P&gt;data: l_fieldcat2 type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 INTERNAL TABLES  DECLARATION                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal tables for storing data.[populaiton 1]&lt;/P&gt;&lt;P&gt;data: i_mard  type standard table of struc_mard,&lt;/P&gt;&lt;P&gt;      i_mara  type standard table of struc_mara,&lt;/P&gt;&lt;P&gt;      i_maktx type standard table of struc_maktx,&lt;/P&gt;&lt;P&gt;      i_final type standard table of struc_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--population 2&lt;/P&gt;&lt;P&gt;data: i_p_desc type standard table of struc_p_desc,&lt;/P&gt;&lt;P&gt;      i_s_loc_desc type standard table of struc_s_loc_desc,&lt;/P&gt;&lt;P&gt;      i_final_2 type standard table of struc_final_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal table for field catalog&lt;/P&gt;&lt;P&gt;data : i_fieldcat type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Internal table for drill down alvfieldcat&lt;/P&gt;&lt;P&gt;      i_fieldcat2 type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal table for the event catalog.&lt;/P&gt;&lt;P&gt;       i_eventcat type slis_t_event,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal table for the sorting sequence.&lt;/P&gt;&lt;P&gt;       i_sortinfo type slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal table for the top of page event&lt;/P&gt;&lt;P&gt;       i_listheader type slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFINING REFERENCE MACROS FOR INTITAL FIELDCATALOG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat 'X' text-009 text-005 text-029 text-030 text-029  ' '&lt;/P&gt;&lt;P&gt;text-004 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-011 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-007 text-032.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-012 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-010 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-014 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-013 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-015 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-016 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-017 text-005   ' '    text-033 text-029&lt;/P&gt;&lt;P&gt;text-029&lt;/P&gt;&lt;P&gt;text-019 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-018 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-022 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-020 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-025 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFINING REFERENCE MACROS FOR POPUP FIELDCATALOGUE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MACRO_FIELDCAT_POPUP TEXT-009 TEXT-040 TEXT-029 TEXT-030 TEXT-004&lt;/P&gt;&lt;P&gt;*TEXT-031 TEXT-021.&lt;/P&gt;&lt;P&gt;macro_fieldcat_popup text-014 text-040   ' '    text-030 text-013&lt;/P&gt;&lt;P&gt;text-031 text-024.&lt;/P&gt;&lt;P&gt;macro_fieldcat_popup text-041 text-040   ' '    text-030 text-036&lt;/P&gt;&lt;P&gt;text-032 text-038.&lt;/P&gt;&lt;P&gt;macro_fieldcat_popup text-015 text-040   ' '    text-030 text-016&lt;/P&gt;&lt;P&gt;text-031 text-026.&lt;/P&gt;&lt;P&gt;macro_fieldcat_popup text-042 text-040   ' '    text-030 text-037&lt;/P&gt;&lt;P&gt;text-032 text-039.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                VARIABLE   DECLARATION                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_progname type syrepid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               SELECTION SCREEN                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SCREEN FOR ENTERING INFORMATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block charly with frame title text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: r_matnr for mard-matnr.&lt;/P&gt;&lt;P&gt;select-options: r_werks for mard-werks.&lt;/P&gt;&lt;P&gt;select-options: r_lgort for mard-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block charly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block options with frame title text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*RADIO BUTTON&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_r01  radiobutton group rad1 default 'X',  "GRID FORMAT&lt;/P&gt;&lt;P&gt;            p_r02  radiobutton group rad1 .             "LIST FORMAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block options.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*VARIANT&lt;/P&gt;&lt;P&gt;selection-screen begin of block b3 with frame title text-043.&lt;/P&gt;&lt;P&gt;parameters: p_var type slis_vari.&lt;/P&gt;&lt;P&gt;selection-screen end of block b3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                INITIALIZATION EVENT                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--assigns main program name to v_progname which becomes the calling&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  v_progname = sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display default variant using FM REUSE_ALV_VARIANT_DEFAULT_GET&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform zf_default_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--clearing workareas&lt;/P&gt;&lt;P&gt;  clear: wa_mard,&lt;/P&gt;&lt;P&gt;         wa_mara,&lt;/P&gt;&lt;P&gt;         wa_maktx,&lt;/P&gt;&lt;P&gt;         wa_final,&lt;/P&gt;&lt;P&gt;         wa_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--refreshing internal tables&lt;/P&gt;&lt;P&gt;  refresh: i_mard,&lt;/P&gt;&lt;P&gt;           i_mara,&lt;/P&gt;&lt;P&gt;           i_maktx,&lt;/P&gt;&lt;P&gt;           i_final,&lt;/P&gt;&lt;P&gt;           i_eventcat,&lt;/P&gt;&lt;P&gt;           i_sortinfo,&lt;/P&gt;&lt;P&gt;           i_listheader.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            AT SELECTION SCREEN ON VLAUE REQUEST                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on value-request for p_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform zf_variant_f4.  "USING FM REUSE_ALV_VARIANT_F4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         AT SELECTION SCREEN                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*check the material no.&lt;/P&gt;&lt;P&gt;  perform zf_validate_field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*check the variant provided&lt;/P&gt;&lt;P&gt;  perform zf_variant_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  START OF SELECTION EVENT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fetch the data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform zf_populate_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   END OF SELECTION  EVENT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If Internal Table Is Populated Then Only Display Alv Report.&lt;/P&gt;&lt;P&gt;  if i_final is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp;---Build layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform zf_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp;---build event catalogue&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform zf_eventcat using i_eventcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; build sorting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform zf_sorting using i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp;---Build Listheader for TOP OF PAGE EVENT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform zf_build_listheader using i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_r01 = 'X'.     "if 1st radio button is selected&lt;/P&gt;&lt;P&gt;*&amp;amp;---Display alv grid.&lt;/P&gt;&lt;P&gt;      perform zf_display_alv_grid.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;*&amp;amp;---Display alv grid.&lt;/P&gt;&lt;P&gt;      perform zf_display_alv_list.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;*If Table is not Populated ie Records Does not exist&lt;/P&gt;&lt;P&gt;    message e004.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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_validate_field&lt;/P&gt;&lt;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_validate_field .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TECHNICAL VALIDATION  [SINGLE FIELD CHECK]&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;CASE 1- IF NOTHING IS ENTERED, PRINT ALL RECORDS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_matnr[] is initial and r_werks[] is initial and r_lgort[] is&lt;/P&gt;&lt;P&gt;  initial.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 2- IF ONLY MATERIAL NUMBER IS ENTERED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if r_matnr[] is not initial and r_werks[] is initial and r_lgort[] is&lt;/P&gt;&lt;P&gt;  initial.&lt;/P&gt;&lt;P&gt;*validate material&lt;/P&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;           into wa_mard-matnr&lt;/P&gt;&lt;P&gt;           from mara&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where matnr in r_matnr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.             "if unsuccessful&lt;/P&gt;&lt;P&gt;      message e001.                "material does not exist&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 3- IF ONLY PLANT IS ENTERED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_matnr[] is initial and r_werks[] is not initial and r_lgort[] is&lt;/P&gt;&lt;P&gt;  initial.&lt;/P&gt;&lt;P&gt;*validate plants&lt;/P&gt;&lt;P&gt;    select werks&lt;/P&gt;&lt;P&gt;           into wa_mard-werks&lt;/P&gt;&lt;P&gt;           from marc&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where werks in r_werks.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.               "if unsuccessful&lt;/P&gt;&lt;P&gt;      message e002.                 "plant does not exist&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 3- IF ONLY STORAGE IS ENTERED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_matnr[] is initial and r_werks[] is initial and r_lgort[] is&lt;/P&gt;&lt;P&gt;  not initial.&lt;/P&gt;&lt;P&gt;*validate LGORT&lt;/P&gt;&lt;P&gt;    select lgort&lt;/P&gt;&lt;P&gt;           into wa_mard-lgort&lt;/P&gt;&lt;P&gt;           from mard&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where lgort in r_lgort.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.        "if unsuccessful&lt;/P&gt;&lt;P&gt;      message e003.          "storage location does not exist&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 4- CHECKING BUISNESS VALIDATION 1 - MATERIAL AND PLANT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_matnr[] is not initial and r_werks[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to see if material exist for the entered plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;           into wa_mard-matnr&lt;/P&gt;&lt;P&gt;           from mard up to 1 rows&lt;/P&gt;&lt;P&gt;           where matnr in r_matnr and werks in r_werks.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0 .            "if unsuccesful&lt;/P&gt;&lt;P&gt;*No particular combination exists&lt;/P&gt;&lt;P&gt;      message e006.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 6 - CHECKING BUISNESS VALIDATION 2 - PLANT AND STORAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_werks[] is not initial and r_matnr[] is initial and&lt;/P&gt;&lt;P&gt;r_lgort[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select werks&lt;/P&gt;&lt;P&gt;           into wa_mard-werks&lt;/P&gt;&lt;P&gt;           from mard&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where werks in r_werks and lgort in r_lgort.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&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;*No particular combination exists&lt;/P&gt;&lt;P&gt;      message e006.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 7 - CHECKING BUISNESS VALIDATION 3 - MATERIAL AND STORAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if r_matnr[] is not initial and r_werks[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;          into wa_mard-matnr&lt;/P&gt;&lt;P&gt;          from mard&lt;/P&gt;&lt;P&gt;          up to 1 rows&lt;/P&gt;&lt;P&gt;          where matnr in r_matnr and lgort in r_lgort.&lt;/P&gt;&lt;P&gt;    endselect.&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;*No particular combination exists&lt;/P&gt;&lt;P&gt;      message e006.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 8 - CHECKING BUISNESS VALIDATION 4 - MATERIAL,PLANT AND STORAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if r_matnr[] is not initial and r_werks[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;           into wa_mard-matnr&lt;/P&gt;&lt;P&gt;           from mard&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where matnr in r_matnr and werks in r_werks and lgort in&lt;/P&gt;&lt;P&gt;           r_lgort.&lt;/P&gt;&lt;P&gt;    endselect.&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;*No particular combination exists&lt;/P&gt;&lt;P&gt;      message e006.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " zf_validate_field&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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_populate_info&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form zf_populate_info .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--fetching the data from mard table&lt;/P&gt;&lt;P&gt;  select  matnr&lt;/P&gt;&lt;P&gt;          werks&lt;/P&gt;&lt;P&gt;          lgort&lt;/P&gt;&lt;P&gt;          labst&lt;/P&gt;&lt;P&gt;          into table i_mard&lt;/P&gt;&lt;P&gt;          from mard&lt;/P&gt;&lt;P&gt;          where matnr in r_matnr and werks in r_werks and lgort in&lt;/P&gt;&lt;P&gt;          r_lgort&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.  "if unsuccesful&lt;/P&gt;&lt;P&gt;    message e004.    "Error- Record does not exist&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;selection of material description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if i_mard[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT DISTINCT FOR UNIQUE ENTRIES ONLY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select  distinct matnr&lt;/P&gt;&lt;P&gt;                     maktx&lt;/P&gt;&lt;P&gt;                     into table i_maktx&lt;/P&gt;&lt;P&gt;                     from makt&lt;/P&gt;&lt;P&gt;                     for all entries in i_mard&lt;/P&gt;&lt;P&gt;                     where matnr = i_mard-matnr and&lt;/P&gt;&lt;P&gt;                     spras = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.                    " if unsucessful&lt;/P&gt;&lt;P&gt;      wa_maktx-maktx = text-028.         "NO DESCRIPTION&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*fetching information from mara&lt;/P&gt;&lt;P&gt;    select  distinct matnr&lt;/P&gt;&lt;P&gt;                     meins&lt;/P&gt;&lt;P&gt;                     mtart&lt;/P&gt;&lt;P&gt;                     ersda&lt;/P&gt;&lt;P&gt;                     into table i_mara&lt;/P&gt;&lt;P&gt;                     from mara for all entries in i_mard&lt;/P&gt;&lt;P&gt;                     where matnr = i_mard-matnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e003.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--sorting the tables&lt;/P&gt;&lt;P&gt;    sort: i_mard by matnr werks lgort,&lt;/P&gt;&lt;P&gt;          i_mara by matnr,&lt;/P&gt;&lt;P&gt;          i_maktx by matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Clearing workareas.&lt;/P&gt;&lt;P&gt;    clear: wa_mard,&lt;/P&gt;&lt;P&gt;           wa_mara,&lt;/P&gt;&lt;P&gt;           wa_maktx,&lt;/P&gt;&lt;P&gt;           wa_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PROCESSING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at i_mard into wa_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*moving values to final workarea&lt;/P&gt;&lt;P&gt;      wa_final = wa_mard.&lt;/P&gt;&lt;P&gt;      at new matnr.&lt;/P&gt;&lt;P&gt;        read table i_maktx into wa_maktx&lt;/P&gt;&lt;P&gt;        with key matnr = wa_mard-matnr binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        read table i_mara into wa_mara&lt;/P&gt;&lt;P&gt;        with key matnr = wa_mard-matnr binary search.&lt;/P&gt;&lt;P&gt;      endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        "if succesful then move to final workarea&lt;/P&gt;&lt;P&gt;        wa_final-maktx  = wa_maktx-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for mara values&lt;/P&gt;&lt;P&gt;        wa_final-meins  = wa_mara-meins.&lt;/P&gt;&lt;P&gt;        wa_final-mtart = wa_mara-mtart.&lt;/P&gt;&lt;P&gt;        wa_final-ersda  = wa_mara-ersda.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;*append final workarea&lt;/P&gt;&lt;P&gt;      append wa_final to i_final.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;    refresh: i_mard.&lt;/P&gt;&lt;P&gt;    clear: wa_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "zf_populate_info&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " zf_build_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  zf_display_alv_grid&lt;/P&gt;&lt;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_display_alv_grid .&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;      is_layout          = wa_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat        = i_fieldcat&lt;/P&gt;&lt;P&gt;      it_events          = i_eventcat&lt;/P&gt;&lt;P&gt;      it_sort            = i_sortinfo&lt;/P&gt;&lt;P&gt;      i_default          = 'X'&lt;/P&gt;&lt;P&gt;      i_save             = 'A'&lt;/P&gt;&lt;P&gt;      is_variant         = it_variant1&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab           = i_final      "output table&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      others             = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    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_display_alv_grid&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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_display_alv_list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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_display_alv_list .&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_callback_program = v_progname&lt;/P&gt;&lt;P&gt;      is_layout          = wa_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat        = i_fieldcat&lt;/P&gt;&lt;P&gt;      it_events          = i_eventcat&lt;/P&gt;&lt;P&gt;      it_sort            = i_sortinfo&lt;/P&gt;&lt;P&gt;      i_default          = 'X'&lt;/P&gt;&lt;P&gt;      i_save             = 'A'&lt;/P&gt;&lt;P&gt;      is_variant         = it_variant1&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab           = i_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;  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.                    " zf_display_alv_list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_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 zf_layout .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-totals_text = 'TOTAL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_LAYOUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_EVENTCAT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form zf_eventcat using p_i_eventcat type slis_t_event.&lt;/P&gt;&lt;P&gt;  data: l_eventcat type slis_alv_event.&lt;/P&gt;&lt;P&gt;  clear l_eventcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      et_events       = 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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP OF PAGE FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear l_eventcat.&lt;/P&gt;&lt;P&gt;  read table p_i_eventcat into l_eventcat with key&lt;/P&gt;&lt;P&gt;                          name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;  "(COMPONENT "NAME" of structure)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.                           "if success&lt;/P&gt;&lt;P&gt;    move 'ZF_TOP_OF_PAGE' to l_eventcat-form.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    "matches name and moves form to workarea and modifies table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    modify p_i_eventcat from l_eventcat index sy-tabix&lt;/P&gt;&lt;P&gt;                                      transporting form.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; USER_COMMAND FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear l_eventcat.&lt;/P&gt;&lt;P&gt;  read table p_i_eventcat into  l_eventcat with key&lt;/P&gt;&lt;P&gt;                           name = slis_ev_user_command.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    move 'ZF_USER_COMMAND' to  l_eventcat-form.&lt;/P&gt;&lt;P&gt;    modify p_i_eventcat from l_eventcat index sy-tabix&lt;/P&gt;&lt;P&gt;                                      transporting form.&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.                    " ZF_EVENTCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form zf_top_of_page .&lt;/P&gt;&lt;P&gt;&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.                    " ZF_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_BUILD_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 zf_build_listheader  using p_i_listheader type slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_listheader type slis_listheader,&lt;/P&gt;&lt;P&gt;        l_lines type i,&lt;/P&gt;&lt;P&gt;        l_records(10) type c.&lt;/P&gt;&lt;P&gt;  refresh p_i_listheader.&lt;/P&gt;&lt;P&gt;  clear l_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER  [PRINTS THE HEADER IN BOLD AND CAPITAL]&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_listheader-typ = 'H'.&lt;/P&gt;&lt;P&gt;  l_listheader-info = 'STORAGE LOCATION WISE MATERIAL REPORT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append l_listheader to p_i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for date&lt;/P&gt;&lt;P&gt;  l_listheader-typ = 'S'.&lt;/P&gt;&lt;P&gt;  l_listheader-key = text-035.&lt;/P&gt;&lt;P&gt;  concatenate sy-datum&lt;EM&gt;6(2) '.' sy-datum&lt;/EM&gt;4(2) '.' sy-datum(4) into&lt;/P&gt;&lt;P&gt;  l_listheader-info.&lt;/P&gt;&lt;P&gt;&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;*for Total no. of records&lt;/P&gt;&lt;P&gt;  describe table i_final lines l_lines.&lt;/P&gt;&lt;P&gt;  l_records = l_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_listheader-typ = 'S'.&lt;/P&gt;&lt;P&gt;  l_listheader-key = text-034.&lt;/P&gt;&lt;P&gt;  l_listheader-info = l_records.&lt;/P&gt;&lt;P&gt;&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.                    " ZF_BUILD_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  ZF_SORTING&lt;/P&gt;&lt;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 zf_sorting using p_i_sortinfo type slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  data l_sortinfo type slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  refresh p_i_sortinfo.&lt;/P&gt;&lt;P&gt;  clear l_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_sortinfo-spos = '1'.               "sorting position&lt;/P&gt;&lt;P&gt;  l_sortinfo-fieldname = text-009.      "fieldname&lt;/P&gt;&lt;P&gt;  l_sortinfo-tabname = 'I_FINAL'.      "final table&lt;/P&gt;&lt;P&gt;  l_sortinfo-down = 'X'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-group = '*'.      "DONT REPEAT COMMON ITEM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append l_sortinfo to p_i_sortinfo.&lt;/P&gt;&lt;P&gt;endform.                    " ZF_SORTING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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_USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  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_user_command using r_ucomm like sy-ucomm&lt;/P&gt;&lt;P&gt;                           rs_selfield type slis_selfield .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case r_ucomm.&lt;/P&gt;&lt;P&gt;*&amp;amp;-- when hotspot is clikced&lt;/P&gt;&lt;P&gt;    when '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      if rs_selfield-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;        read table i_final into wa_final index rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.   "if succesful&lt;/P&gt;&lt;P&gt;*PERFORM FOR POPUALTING THE INITIAL FETCH OPERTAIONM&lt;/P&gt;&lt;P&gt;          perform zf_popualte_table_2.&lt;/P&gt;&lt;P&gt;        else.              "if unsuccesful&lt;/P&gt;&lt;P&gt;          message e004.    "Error- Record does not exist&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--PERFORM FOR DATA POPUALTION OF PLANT AND STORAGE DECRIPTION&lt;/P&gt;&lt;P&gt;        perform zf_data_popualtion_2.&lt;/P&gt;&lt;P&gt;*&amp;amp;--PERFORM TO Call POPUP FUNCTION&lt;/P&gt;&lt;P&gt;         perform zf_alv_grid_display_popup.&lt;/P&gt;&lt;P&gt;        perform zf_popup_display.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM ZF_LAYOUT2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        refresh: i_final_2.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_POPUALTE_TABLE_2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form zf_popualte_table_2 .&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         werks&lt;/P&gt;&lt;P&gt;         lgort&lt;/P&gt;&lt;P&gt;         from mard&lt;/P&gt;&lt;P&gt;         into corresponding fields of table i_mard&lt;/P&gt;&lt;P&gt;         where matnr = wa_final-matnr and werks = wa_final-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_POPUALTE_TABLE_2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_DATA_POPUALTION_2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form zf_data_popualtion_2 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;selection of storage location filtered by material no.of mard&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if i_mard[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT PLANT DESCRIPTION&lt;/P&gt;&lt;P&gt;    select  werks&lt;/P&gt;&lt;P&gt;            name1&lt;/P&gt;&lt;P&gt;            into table i_p_desc&lt;/P&gt;&lt;P&gt;            from t001w&lt;/P&gt;&lt;P&gt;            for all entries in i_mard where werks = i_mard-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.                    " if unsucessful&lt;/P&gt;&lt;P&gt;      wa_p_desc-name1 = text-028.         "NO DESCRIPTION&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;*SELECT STORAGE LOCATION DESCRIPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select  werks&lt;/P&gt;&lt;P&gt;            lgort&lt;/P&gt;&lt;P&gt;            lgobe&lt;/P&gt;&lt;P&gt;            into table i_s_loc_desc&lt;/P&gt;&lt;P&gt;            from t001l&lt;/P&gt;&lt;P&gt;            for all entries in i_mard where werks =  i_mard-werks and&lt;/P&gt;&lt;P&gt;            lgort = i_mard-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.                         " if unsucessful&lt;/P&gt;&lt;P&gt;      wa_s_loc_desc-lgobe = text-028.         "NO DESCRIPTION&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--sorting the tables&lt;/P&gt;&lt;P&gt;    sort: i_mard by matnr werks lgort,&lt;/P&gt;&lt;P&gt;          i_p_desc by werks,&lt;/P&gt;&lt;P&gt;          i_s_loc_desc by werks lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Clearing workareas.&lt;/P&gt;&lt;P&gt;    clear: wa_mard,&lt;/P&gt;&lt;P&gt;           wa_p_desc,&lt;/P&gt;&lt;P&gt;           wa_s_loc_desc,&lt;/P&gt;&lt;P&gt;           wa_final_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PROCESSING [2nd time]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at i_s_loc_desc into wa_s_loc_desc .&lt;/P&gt;&lt;P&gt;*moving values to final workarea&lt;/P&gt;&lt;P&gt;      wa_final_2-werks = wa_s_loc_desc-werks .&lt;/P&gt;&lt;P&gt;      wa_final_2-lgort = wa_s_loc_desc-lgort .&lt;/P&gt;&lt;P&gt;      wa_final_2-lgobe  = wa_s_loc_desc-lgobe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      read table i_p_desc into wa_p_desc&lt;/P&gt;&lt;P&gt;      with key werks = wa_s_loc_desc-werks binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      read table i_mard into wa_mard&lt;/P&gt;&lt;P&gt;      with key werks = wa_s_loc_desc-werks binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*for t001w  [plant desc] values&lt;/P&gt;&lt;P&gt;        wa_final_2-name1 = wa_p_desc-name1.&lt;/P&gt;&lt;P&gt;*for matnr values&lt;/P&gt;&lt;P&gt;        wa_final_2-matnr = wa_mard-matnr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;*append final workarea&lt;/P&gt;&lt;P&gt;      append wa_final_2 to i_final_2.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " ZF_DATA_POPUALTION_2&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_POPUP_DISPLAY&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form zf_popup_display .&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_POPUP_TO_SELECT'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_title       = 'POPUP- DISPLAYING MATERIAL-STORAGE'&lt;/P&gt;&lt;P&gt;      i_tabname     = 'I_FINAL_2'&lt;/P&gt;&lt;P&gt;      it_fieldcat   = i_fieldcat2&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab      = i_final_2&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      program_error = 1&lt;/P&gt;&lt;P&gt;      others        = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    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_POPUP_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  ZF_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 zf_default_variant .&lt;/P&gt;&lt;P&gt;  it_variant1-report = sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Search default variant for the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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    = it_variant1&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.       "if succesful set as default.&lt;/P&gt;&lt;P&gt;    p_var = it_variant1-variant.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_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_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;  it_variant-report = sy-repid.&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                = it_variant&lt;/P&gt;&lt;P&gt;      i_save                    = 'A'&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                = it_variant1&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.     "if sccesfully found, load the variant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    p_var = it_variant1-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " 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;P&gt;*&amp;amp;      Form  ZF_VARIANT_CHECK&lt;/P&gt;&lt;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_check .&lt;/P&gt;&lt;P&gt;  if not p_var is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    it_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;    it_variant-variant = p_var.&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        = 'A'&lt;/P&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        cs_variant    = it_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 it_variant1.&lt;/P&gt;&lt;P&gt;      move p_var to it_variant1-variant.&lt;/P&gt;&lt;P&gt;      move sy-repid to it_variant1-report.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      message e007.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    clear it_variant.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " ZF_VARIANT_CHECK&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_ALV_GRID_DISPLAY_POPUP&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form zf_alv_grid_display_popup .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_fieldcat                       = i_fieldcat2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_screen_start_column             = 10&lt;/P&gt;&lt;P&gt;    i_screen_start_line               = 1&lt;/P&gt;&lt;P&gt;    i_screen_end_column               = 50&lt;/P&gt;&lt;P&gt;    i_screen_end_line                 = 10&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;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                          = i_final_2&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     program_error                     = 1&lt;/P&gt;&lt;P&gt;     others                            = 2&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_ALV_GRID_DISPLAY_POPUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if helpful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;keep rockin&lt;/P&gt;&lt;P&gt;vivek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 Jan 2008 14:43:38 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-31T14:43:38Z</dc:date>
    <item>
      <title>alv pop up</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320289#M795349</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i want to know about pop up fm and required parameters for it. plz pass simple sample code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 14:36:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320289#M795349</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T14:36:34Z</dc:date>
    </item>
    <item>
      <title>Re: alv pop up</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320290#M795350</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;Use FM REUSE_ALV_POPUP_TO_SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_TITLE = 'SALES ORDER INFO'&lt;/P&gt;&lt;P&gt;I_ZEBRA = 'X'&lt;/P&gt;&lt;P&gt;I_TABNAME = 1&lt;/P&gt;&lt;P&gt;I_STRUCTURE_NAME = 'vbak'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = it_vbak&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC 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;Regards,&lt;/P&gt;&lt;P&gt;Satish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 14:39:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320290#M795350</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T14:39:54Z</dc:date>
    </item>
    <item>
      <title>Re: alv pop up</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320291#M795351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;here is a sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  z11_rohan_shadow_assign1   no standard page heading message-id&lt;/P&gt;&lt;P&gt;z11_shadow_mess.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   DECLARING TYPES  POOL                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;All the definitions of internal tables, structures  and constants&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;are declared in a type-pool called SLIS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;                      DECLARING STRUCUTURES                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Final structure&lt;/P&gt;&lt;P&gt;types: begin of struc_final,&lt;/P&gt;&lt;P&gt;       matnr	type matnr,	      "Material Number&lt;/P&gt;&lt;P&gt;       werks	type werks_d,	      "Plant&lt;/P&gt;&lt;P&gt;       lgort	type lgort_d,	      "Storage Location&lt;/P&gt;&lt;P&gt;       labst type labst,         "Valuated stock with unrestricted use&lt;/P&gt;&lt;P&gt;       meins type meins,         "unit of measurement&lt;/P&gt;&lt;P&gt;       mtart type mtart,         "material type&lt;/P&gt;&lt;P&gt;       ersda	type ersda,	      "Creation date&lt;/P&gt;&lt;P&gt;       maktx type maktx,         "material description&lt;/P&gt;&lt;P&gt;       end of struc_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Final structure 2 for drill&lt;/P&gt;&lt;P&gt;types: begin of struc_final_2,&lt;/P&gt;&lt;P&gt;       matnr	type matnr,	      "Material Number&lt;/P&gt;&lt;P&gt;       werks	type werks_d,	      "Plant&lt;/P&gt;&lt;P&gt;       lgort	type lgort_d,	      "Storage Location&lt;/P&gt;&lt;P&gt;       name1 type name1,&lt;/P&gt;&lt;P&gt;       lgobe type lgobe,&lt;/P&gt;&lt;P&gt;       end of struc_final_2.&lt;/P&gt;&lt;P&gt;*&amp;amp;--mard structure&lt;/P&gt;&lt;P&gt;types: begin of struc_mard,&lt;/P&gt;&lt;P&gt;       matnr	type matnr,	      "Material Number&lt;/P&gt;&lt;P&gt;       werks	type werks_d,	      "Plant&lt;/P&gt;&lt;P&gt;       lgort	type lgort_d,	      "Storage Location&lt;/P&gt;&lt;P&gt;       labst type labst,         "Valuated stock with unrestricted use&lt;/P&gt;&lt;P&gt;       end of struc_mard.&lt;/P&gt;&lt;P&gt;*&amp;amp;--mara structure&lt;/P&gt;&lt;P&gt;types: begin of struc_mara,&lt;/P&gt;&lt;P&gt;       matnr type matnr,&lt;/P&gt;&lt;P&gt;       meins type meins,         "unit of measurement&lt;/P&gt;&lt;P&gt;       mtart type mtart,         "material type&lt;/P&gt;&lt;P&gt;       ersda	type ersda,	      "Creation date&lt;/P&gt;&lt;P&gt;       end of struc_mara.&lt;/P&gt;&lt;P&gt;*&amp;amp;--maktx structure&lt;/P&gt;&lt;P&gt;types: begin of struc_maktx,&lt;/P&gt;&lt;P&gt;       matnr type matnr,        "material number&lt;/P&gt;&lt;P&gt;       maktx type maktx,        "material description&lt;/P&gt;&lt;P&gt;       end of struc_maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--t001w structure&lt;/P&gt;&lt;P&gt;types: begin of struc_p_desc,&lt;/P&gt;&lt;P&gt;       werks type werks_d,&lt;/P&gt;&lt;P&gt;       name1 type name1,&lt;/P&gt;&lt;P&gt;       end of struc_p_desc.&lt;/P&gt;&lt;P&gt;*&amp;amp;--t001l structure&lt;/P&gt;&lt;P&gt;types: begin of struc_s_loc_desc,&lt;/P&gt;&lt;P&gt;       werks type werks_d,&lt;/P&gt;&lt;P&gt;       lgort type lgort_d,&lt;/P&gt;&lt;P&gt;       lgobe type lgobe,&lt;/P&gt;&lt;P&gt;       end of struc_s_loc_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          TABLES                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: mard.&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                            define macros                          *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;-- DEFINING MACRO FOR INITIAL FIELDCATALOG&lt;/P&gt;&lt;P&gt;define macro_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to l_fieldcat-col_pos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Defining macro reference fields&lt;/P&gt;&lt;P&gt;  l_fieldcat-checkbox = &amp;amp;1.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = &amp;amp;2.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = &amp;amp;3.&lt;/P&gt;&lt;P&gt;  l_fieldcat-key = &amp;amp;4.&lt;/P&gt;&lt;P&gt;  l_fieldcat-just = &amp;amp;5.&lt;/P&gt;&lt;P&gt;  l_fieldcat-hotspot = &amp;amp;6.&lt;/P&gt;&lt;P&gt;  l_fieldcat-do_sum = &amp;amp;7.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = &amp;amp;8.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = &amp;amp;9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append l_fieldcat to i_fieldcat.&lt;/P&gt;&lt;P&gt;end-of-definition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;-- DEFINING FIELDCATALOG FOR POPUP FIELDCATALOG&lt;/P&gt;&lt;P&gt;define macro_fieldcat_popup.&lt;/P&gt;&lt;P&gt;  add 1 to l_fieldcat2-col_pos.&lt;/P&gt;&lt;P&gt;*Defining macro reference fields&lt;/P&gt;&lt;P&gt;  l_fieldcat2-fieldname = &amp;amp;1.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-tabname = &amp;amp;2.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-key = &amp;amp;3.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-just = &amp;amp;4.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-seltext_l = &amp;amp;5.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-outputlen = &amp;amp;6.&lt;/P&gt;&lt;P&gt;  l_fieldcat2-ref_tabname = &amp;amp;7.&lt;/P&gt;&lt;P&gt;  append l_fieldcat2 to i_fieldcat2.&lt;/P&gt;&lt;P&gt;end-of-definition.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   WORK  AREA  DECLARATION                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---work  area for Internal Tables[population 1]&lt;/P&gt;&lt;P&gt;data: wa_mard type struc_mard,&lt;/P&gt;&lt;P&gt;      wa_mara type struc_mara,&lt;/P&gt;&lt;P&gt;      wa_maktx type struc_maktx,&lt;/P&gt;&lt;P&gt;      wa_final type struc_final.&lt;/P&gt;&lt;P&gt;*population 2&lt;/P&gt;&lt;P&gt;data: wa_p_desc type struc_p_desc,&lt;/P&gt;&lt;P&gt;      wa_s_loc_desc type struc_s_loc_desc,&lt;/P&gt;&lt;P&gt;      wa_final_2 type struc_final_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--work  area for layout&lt;/P&gt;&lt;P&gt;data: wa_layout type slis_layout_alv,&lt;/P&gt;&lt;P&gt;      wa_layout2 type slis_layout_alv.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure to display variants for improt and export&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : it_variant like disvariant,&lt;/P&gt;&lt;P&gt;       it_variant1 like disvariant.&lt;/P&gt;&lt;P&gt;*defining local workarea&lt;/P&gt;&lt;P&gt;data: l_fieldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*defining local workarea2 for fieldcat popup&lt;/P&gt;&lt;P&gt;data: l_fieldcat2 type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 INTERNAL TABLES  DECLARATION                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal tables for storing data.[populaiton 1]&lt;/P&gt;&lt;P&gt;data: i_mard  type standard table of struc_mard,&lt;/P&gt;&lt;P&gt;      i_mara  type standard table of struc_mara,&lt;/P&gt;&lt;P&gt;      i_maktx type standard table of struc_maktx,&lt;/P&gt;&lt;P&gt;      i_final type standard table of struc_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--population 2&lt;/P&gt;&lt;P&gt;data: i_p_desc type standard table of struc_p_desc,&lt;/P&gt;&lt;P&gt;      i_s_loc_desc type standard table of struc_s_loc_desc,&lt;/P&gt;&lt;P&gt;      i_final_2 type standard table of struc_final_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal table for field catalog&lt;/P&gt;&lt;P&gt;data : i_fieldcat type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Internal table for drill down alvfieldcat&lt;/P&gt;&lt;P&gt;      i_fieldcat2 type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal table for the event catalog.&lt;/P&gt;&lt;P&gt;       i_eventcat type slis_t_event,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal table for the sorting sequence.&lt;/P&gt;&lt;P&gt;       i_sortinfo type slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Internal table for the top of page event&lt;/P&gt;&lt;P&gt;       i_listheader type slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFINING REFERENCE MACROS FOR INTITAL FIELDCATALOG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat 'X' text-009 text-005 text-029 text-030 text-029  ' '&lt;/P&gt;&lt;P&gt;text-004 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-011 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-007 text-032.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-012 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-010 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-014 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-013 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-015 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-016 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-017 text-005   ' '    text-033 text-029&lt;/P&gt;&lt;P&gt;text-029&lt;/P&gt;&lt;P&gt;text-019 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-018 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-022 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fieldcat ' ' text-020 text-005   ' '    text-030   ' '     ' '&lt;/P&gt;&lt;P&gt;text-025 text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFINING REFERENCE MACROS FOR POPUP FIELDCATALOGUE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MACRO_FIELDCAT_POPUP TEXT-009 TEXT-040 TEXT-029 TEXT-030 TEXT-004&lt;/P&gt;&lt;P&gt;*TEXT-031 TEXT-021.&lt;/P&gt;&lt;P&gt;macro_fieldcat_popup text-014 text-040   ' '    text-030 text-013&lt;/P&gt;&lt;P&gt;text-031 text-024.&lt;/P&gt;&lt;P&gt;macro_fieldcat_popup text-041 text-040   ' '    text-030 text-036&lt;/P&gt;&lt;P&gt;text-032 text-038.&lt;/P&gt;&lt;P&gt;macro_fieldcat_popup text-015 text-040   ' '    text-030 text-016&lt;/P&gt;&lt;P&gt;text-031 text-026.&lt;/P&gt;&lt;P&gt;macro_fieldcat_popup text-042 text-040   ' '    text-030 text-037&lt;/P&gt;&lt;P&gt;text-032 text-039.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                VARIABLE   DECLARATION                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_progname type syrepid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               SELECTION SCREEN                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SCREEN FOR ENTERING INFORMATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block charly with frame title text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: r_matnr for mard-matnr.&lt;/P&gt;&lt;P&gt;select-options: r_werks for mard-werks.&lt;/P&gt;&lt;P&gt;select-options: r_lgort for mard-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block charly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block options with frame title text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*RADIO BUTTON&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_r01  radiobutton group rad1 default 'X',  "GRID FORMAT&lt;/P&gt;&lt;P&gt;            p_r02  radiobutton group rad1 .             "LIST FORMAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block options.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*VARIANT&lt;/P&gt;&lt;P&gt;selection-screen begin of block b3 with frame title text-043.&lt;/P&gt;&lt;P&gt;parameters: p_var type slis_vari.&lt;/P&gt;&lt;P&gt;selection-screen end of block b3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                INITIALIZATION EVENT                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--assigns main program name to v_progname which becomes the calling&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  v_progname = sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display default variant using FM REUSE_ALV_VARIANT_DEFAULT_GET&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform zf_default_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--clearing workareas&lt;/P&gt;&lt;P&gt;  clear: wa_mard,&lt;/P&gt;&lt;P&gt;         wa_mara,&lt;/P&gt;&lt;P&gt;         wa_maktx,&lt;/P&gt;&lt;P&gt;         wa_final,&lt;/P&gt;&lt;P&gt;         wa_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--refreshing internal tables&lt;/P&gt;&lt;P&gt;  refresh: i_mard,&lt;/P&gt;&lt;P&gt;           i_mara,&lt;/P&gt;&lt;P&gt;           i_maktx,&lt;/P&gt;&lt;P&gt;           i_final,&lt;/P&gt;&lt;P&gt;           i_eventcat,&lt;/P&gt;&lt;P&gt;           i_sortinfo,&lt;/P&gt;&lt;P&gt;           i_listheader.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            AT SELECTION SCREEN ON VLAUE REQUEST                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on value-request for p_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform zf_variant_f4.  "USING FM REUSE_ALV_VARIANT_F4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         AT SELECTION SCREEN                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*check the material no.&lt;/P&gt;&lt;P&gt;  perform zf_validate_field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*check the variant provided&lt;/P&gt;&lt;P&gt;  perform zf_variant_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  START OF SELECTION EVENT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fetch the data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform zf_populate_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   END OF SELECTION  EVENT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If Internal Table Is Populated Then Only Display Alv Report.&lt;/P&gt;&lt;P&gt;  if i_final is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp;---Build layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform zf_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp;---build event catalogue&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform zf_eventcat using i_eventcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; build sorting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform zf_sorting using i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp;---Build Listheader for TOP OF PAGE EVENT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform zf_build_listheader using i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_r01 = 'X'.     "if 1st radio button is selected&lt;/P&gt;&lt;P&gt;*&amp;amp;---Display alv grid.&lt;/P&gt;&lt;P&gt;      perform zf_display_alv_grid.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;*&amp;amp;---Display alv grid.&lt;/P&gt;&lt;P&gt;      perform zf_display_alv_list.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;*If Table is not Populated ie Records Does not exist&lt;/P&gt;&lt;P&gt;    message e004.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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_validate_field&lt;/P&gt;&lt;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_validate_field .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TECHNICAL VALIDATION  [SINGLE FIELD CHECK]&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;CASE 1- IF NOTHING IS ENTERED, PRINT ALL RECORDS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_matnr[] is initial and r_werks[] is initial and r_lgort[] is&lt;/P&gt;&lt;P&gt;  initial.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 2- IF ONLY MATERIAL NUMBER IS ENTERED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if r_matnr[] is not initial and r_werks[] is initial and r_lgort[] is&lt;/P&gt;&lt;P&gt;  initial.&lt;/P&gt;&lt;P&gt;*validate material&lt;/P&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;           into wa_mard-matnr&lt;/P&gt;&lt;P&gt;           from mara&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where matnr in r_matnr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.             "if unsuccessful&lt;/P&gt;&lt;P&gt;      message e001.                "material does not exist&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 3- IF ONLY PLANT IS ENTERED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_matnr[] is initial and r_werks[] is not initial and r_lgort[] is&lt;/P&gt;&lt;P&gt;  initial.&lt;/P&gt;&lt;P&gt;*validate plants&lt;/P&gt;&lt;P&gt;    select werks&lt;/P&gt;&lt;P&gt;           into wa_mard-werks&lt;/P&gt;&lt;P&gt;           from marc&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where werks in r_werks.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.               "if unsuccessful&lt;/P&gt;&lt;P&gt;      message e002.                 "plant does not exist&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 3- IF ONLY STORAGE IS ENTERED&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_matnr[] is initial and r_werks[] is initial and r_lgort[] is&lt;/P&gt;&lt;P&gt;  not initial.&lt;/P&gt;&lt;P&gt;*validate LGORT&lt;/P&gt;&lt;P&gt;    select lgort&lt;/P&gt;&lt;P&gt;           into wa_mard-lgort&lt;/P&gt;&lt;P&gt;           from mard&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where lgort in r_lgort.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.        "if unsuccessful&lt;/P&gt;&lt;P&gt;      message e003.          "storage location does not exist&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 4- CHECKING BUISNESS VALIDATION 1 - MATERIAL AND PLANT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_matnr[] is not initial and r_werks[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to see if material exist for the entered plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;           into wa_mard-matnr&lt;/P&gt;&lt;P&gt;           from mard up to 1 rows&lt;/P&gt;&lt;P&gt;           where matnr in r_matnr and werks in r_werks.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0 .            "if unsuccesful&lt;/P&gt;&lt;P&gt;*No particular combination exists&lt;/P&gt;&lt;P&gt;      message e006.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 6 - CHECKING BUISNESS VALIDATION 2 - PLANT AND STORAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if r_werks[] is not initial and r_matnr[] is initial and&lt;/P&gt;&lt;P&gt;r_lgort[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select werks&lt;/P&gt;&lt;P&gt;           into wa_mard-werks&lt;/P&gt;&lt;P&gt;           from mard&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where werks in r_werks and lgort in r_lgort.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&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;*No particular combination exists&lt;/P&gt;&lt;P&gt;      message e006.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 7 - CHECKING BUISNESS VALIDATION 3 - MATERIAL AND STORAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if r_matnr[] is not initial and r_werks[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;          into wa_mard-matnr&lt;/P&gt;&lt;P&gt;          from mard&lt;/P&gt;&lt;P&gt;          up to 1 rows&lt;/P&gt;&lt;P&gt;          where matnr in r_matnr and lgort in r_lgort.&lt;/P&gt;&lt;P&gt;    endselect.&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;*No particular combination exists&lt;/P&gt;&lt;P&gt;      message e006.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CASE 8 - CHECKING BUISNESS VALIDATION 4 - MATERIAL,PLANT AND STORAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if r_matnr[] is not initial and r_werks[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;           into wa_mard-matnr&lt;/P&gt;&lt;P&gt;           from mard&lt;/P&gt;&lt;P&gt;           up to 1 rows&lt;/P&gt;&lt;P&gt;           where matnr in r_matnr and werks in r_werks and lgort in&lt;/P&gt;&lt;P&gt;           r_lgort.&lt;/P&gt;&lt;P&gt;    endselect.&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;*No particular combination exists&lt;/P&gt;&lt;P&gt;      message e006.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " zf_validate_field&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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_populate_info&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form zf_populate_info .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--fetching the data from mard table&lt;/P&gt;&lt;P&gt;  select  matnr&lt;/P&gt;&lt;P&gt;          werks&lt;/P&gt;&lt;P&gt;          lgort&lt;/P&gt;&lt;P&gt;          labst&lt;/P&gt;&lt;P&gt;          into table i_mard&lt;/P&gt;&lt;P&gt;          from mard&lt;/P&gt;&lt;P&gt;          where matnr in r_matnr and werks in r_werks and lgort in&lt;/P&gt;&lt;P&gt;          r_lgort&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.  "if unsuccesful&lt;/P&gt;&lt;P&gt;    message e004.    "Error- Record does not exist&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;selection of material description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if i_mard[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT DISTINCT FOR UNIQUE ENTRIES ONLY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select  distinct matnr&lt;/P&gt;&lt;P&gt;                     maktx&lt;/P&gt;&lt;P&gt;                     into table i_maktx&lt;/P&gt;&lt;P&gt;                     from makt&lt;/P&gt;&lt;P&gt;                     for all entries in i_mard&lt;/P&gt;&lt;P&gt;                     where matnr = i_mard-matnr and&lt;/P&gt;&lt;P&gt;                     spras = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.                    " if unsucessful&lt;/P&gt;&lt;P&gt;      wa_maktx-maktx = text-028.         "NO DESCRIPTION&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*fetching information from mara&lt;/P&gt;&lt;P&gt;    select  distinct matnr&lt;/P&gt;&lt;P&gt;                     meins&lt;/P&gt;&lt;P&gt;                     mtart&lt;/P&gt;&lt;P&gt;                     ersda&lt;/P&gt;&lt;P&gt;                     into table i_mara&lt;/P&gt;&lt;P&gt;                     from mara for all entries in i_mard&lt;/P&gt;&lt;P&gt;                     where matnr = i_mard-matnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e003.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--sorting the tables&lt;/P&gt;&lt;P&gt;    sort: i_mard by matnr werks lgort,&lt;/P&gt;&lt;P&gt;          i_mara by matnr,&lt;/P&gt;&lt;P&gt;          i_maktx by matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Clearing workareas.&lt;/P&gt;&lt;P&gt;    clear: wa_mard,&lt;/P&gt;&lt;P&gt;           wa_mara,&lt;/P&gt;&lt;P&gt;           wa_maktx,&lt;/P&gt;&lt;P&gt;           wa_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PROCESSING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at i_mard into wa_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*moving values to final workarea&lt;/P&gt;&lt;P&gt;      wa_final = wa_mard.&lt;/P&gt;&lt;P&gt;      at new matnr.&lt;/P&gt;&lt;P&gt;        read table i_maktx into wa_maktx&lt;/P&gt;&lt;P&gt;        with key matnr = wa_mard-matnr binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        read table i_mara into wa_mara&lt;/P&gt;&lt;P&gt;        with key matnr = wa_mard-matnr binary search.&lt;/P&gt;&lt;P&gt;      endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        "if succesful then move to final workarea&lt;/P&gt;&lt;P&gt;        wa_final-maktx  = wa_maktx-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for mara values&lt;/P&gt;&lt;P&gt;        wa_final-meins  = wa_mara-meins.&lt;/P&gt;&lt;P&gt;        wa_final-mtart = wa_mara-mtart.&lt;/P&gt;&lt;P&gt;        wa_final-ersda  = wa_mara-ersda.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;*append final workarea&lt;/P&gt;&lt;P&gt;      append wa_final to i_final.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;    refresh: i_mard.&lt;/P&gt;&lt;P&gt;    clear: wa_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "zf_populate_info&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " zf_build_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  zf_display_alv_grid&lt;/P&gt;&lt;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_display_alv_grid .&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;      is_layout          = wa_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat        = i_fieldcat&lt;/P&gt;&lt;P&gt;      it_events          = i_eventcat&lt;/P&gt;&lt;P&gt;      it_sort            = i_sortinfo&lt;/P&gt;&lt;P&gt;      i_default          = 'X'&lt;/P&gt;&lt;P&gt;      i_save             = 'A'&lt;/P&gt;&lt;P&gt;      is_variant         = it_variant1&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab           = i_final      "output table&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      others             = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    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_display_alv_grid&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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_display_alv_list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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_display_alv_list .&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_callback_program = v_progname&lt;/P&gt;&lt;P&gt;      is_layout          = wa_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat        = i_fieldcat&lt;/P&gt;&lt;P&gt;      it_events          = i_eventcat&lt;/P&gt;&lt;P&gt;      it_sort            = i_sortinfo&lt;/P&gt;&lt;P&gt;      i_default          = 'X'&lt;/P&gt;&lt;P&gt;      i_save             = 'A'&lt;/P&gt;&lt;P&gt;      is_variant         = it_variant1&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab           = i_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;  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.                    " zf_display_alv_list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_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 zf_layout .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  wa_layout-totals_text = 'TOTAL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_LAYOUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_EVENTCAT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form zf_eventcat using p_i_eventcat type slis_t_event.&lt;/P&gt;&lt;P&gt;  data: l_eventcat type slis_alv_event.&lt;/P&gt;&lt;P&gt;  clear l_eventcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      et_events       = 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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP OF PAGE FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear l_eventcat.&lt;/P&gt;&lt;P&gt;  read table p_i_eventcat into l_eventcat with key&lt;/P&gt;&lt;P&gt;                          name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;  "(COMPONENT "NAME" of structure)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.                           "if success&lt;/P&gt;&lt;P&gt;    move 'ZF_TOP_OF_PAGE' to l_eventcat-form.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    "matches name and moves form to workarea and modifies table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    modify p_i_eventcat from l_eventcat index sy-tabix&lt;/P&gt;&lt;P&gt;                                      transporting form.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; USER_COMMAND FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear l_eventcat.&lt;/P&gt;&lt;P&gt;  read table p_i_eventcat into  l_eventcat with key&lt;/P&gt;&lt;P&gt;                           name = slis_ev_user_command.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    move 'ZF_USER_COMMAND' to  l_eventcat-form.&lt;/P&gt;&lt;P&gt;    modify p_i_eventcat from l_eventcat index sy-tabix&lt;/P&gt;&lt;P&gt;                                      transporting form.&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.                    " ZF_EVENTCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form zf_top_of_page .&lt;/P&gt;&lt;P&gt;&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.                    " ZF_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_BUILD_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 zf_build_listheader  using p_i_listheader type slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_listheader type slis_listheader,&lt;/P&gt;&lt;P&gt;        l_lines type i,&lt;/P&gt;&lt;P&gt;        l_records(10) type c.&lt;/P&gt;&lt;P&gt;  refresh p_i_listheader.&lt;/P&gt;&lt;P&gt;  clear l_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER  [PRINTS THE HEADER IN BOLD AND CAPITAL]&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_listheader-typ = 'H'.&lt;/P&gt;&lt;P&gt;  l_listheader-info = 'STORAGE LOCATION WISE MATERIAL REPORT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append l_listheader to p_i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for date&lt;/P&gt;&lt;P&gt;  l_listheader-typ = 'S'.&lt;/P&gt;&lt;P&gt;  l_listheader-key = text-035.&lt;/P&gt;&lt;P&gt;  concatenate sy-datum&lt;EM&gt;6(2) '.' sy-datum&lt;/EM&gt;4(2) '.' sy-datum(4) into&lt;/P&gt;&lt;P&gt;  l_listheader-info.&lt;/P&gt;&lt;P&gt;&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;*for Total no. of records&lt;/P&gt;&lt;P&gt;  describe table i_final lines l_lines.&lt;/P&gt;&lt;P&gt;  l_records = l_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_listheader-typ = 'S'.&lt;/P&gt;&lt;P&gt;  l_listheader-key = text-034.&lt;/P&gt;&lt;P&gt;  l_listheader-info = l_records.&lt;/P&gt;&lt;P&gt;&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.                    " ZF_BUILD_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  ZF_SORTING&lt;/P&gt;&lt;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 zf_sorting using p_i_sortinfo type slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  data l_sortinfo type slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  refresh p_i_sortinfo.&lt;/P&gt;&lt;P&gt;  clear l_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_sortinfo-spos = '1'.               "sorting position&lt;/P&gt;&lt;P&gt;  l_sortinfo-fieldname = text-009.      "fieldname&lt;/P&gt;&lt;P&gt;  l_sortinfo-tabname = 'I_FINAL'.      "final table&lt;/P&gt;&lt;P&gt;  l_sortinfo-down = 'X'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-group = '*'.      "DONT REPEAT COMMON ITEM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append l_sortinfo to p_i_sortinfo.&lt;/P&gt;&lt;P&gt;endform.                    " ZF_SORTING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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_USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  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_user_command using r_ucomm like sy-ucomm&lt;/P&gt;&lt;P&gt;                           rs_selfield type slis_selfield .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case r_ucomm.&lt;/P&gt;&lt;P&gt;*&amp;amp;-- when hotspot is clikced&lt;/P&gt;&lt;P&gt;    when '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      if rs_selfield-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;        read table i_final into wa_final index rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.   "if succesful&lt;/P&gt;&lt;P&gt;*PERFORM FOR POPUALTING THE INITIAL FETCH OPERTAIONM&lt;/P&gt;&lt;P&gt;          perform zf_popualte_table_2.&lt;/P&gt;&lt;P&gt;        else.              "if unsuccesful&lt;/P&gt;&lt;P&gt;          message e004.    "Error- Record does not exist&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--PERFORM FOR DATA POPUALTION OF PLANT AND STORAGE DECRIPTION&lt;/P&gt;&lt;P&gt;        perform zf_data_popualtion_2.&lt;/P&gt;&lt;P&gt;*&amp;amp;--PERFORM TO Call POPUP FUNCTION&lt;/P&gt;&lt;P&gt;         perform zf_alv_grid_display_popup.&lt;/P&gt;&lt;P&gt;        perform zf_popup_display.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM ZF_LAYOUT2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        refresh: i_final_2.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_POPUALTE_TABLE_2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form zf_popualte_table_2 .&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         werks&lt;/P&gt;&lt;P&gt;         lgort&lt;/P&gt;&lt;P&gt;         from mard&lt;/P&gt;&lt;P&gt;         into corresponding fields of table i_mard&lt;/P&gt;&lt;P&gt;         where matnr = wa_final-matnr and werks = wa_final-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_POPUALTE_TABLE_2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_DATA_POPUALTION_2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form zf_data_popualtion_2 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;selection of storage location filtered by material no.of mard&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if i_mard[] is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT PLANT DESCRIPTION&lt;/P&gt;&lt;P&gt;    select  werks&lt;/P&gt;&lt;P&gt;            name1&lt;/P&gt;&lt;P&gt;            into table i_p_desc&lt;/P&gt;&lt;P&gt;            from t001w&lt;/P&gt;&lt;P&gt;            for all entries in i_mard where werks = i_mard-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.                    " if unsucessful&lt;/P&gt;&lt;P&gt;      wa_p_desc-name1 = text-028.         "NO DESCRIPTION&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;*SELECT STORAGE LOCATION DESCRIPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select  werks&lt;/P&gt;&lt;P&gt;            lgort&lt;/P&gt;&lt;P&gt;            lgobe&lt;/P&gt;&lt;P&gt;            into table i_s_loc_desc&lt;/P&gt;&lt;P&gt;            from t001l&lt;/P&gt;&lt;P&gt;            for all entries in i_mard where werks =  i_mard-werks and&lt;/P&gt;&lt;P&gt;            lgort = i_mard-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.                         " if unsucessful&lt;/P&gt;&lt;P&gt;      wa_s_loc_desc-lgobe = text-028.         "NO DESCRIPTION&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--sorting the tables&lt;/P&gt;&lt;P&gt;    sort: i_mard by matnr werks lgort,&lt;/P&gt;&lt;P&gt;          i_p_desc by werks,&lt;/P&gt;&lt;P&gt;          i_s_loc_desc by werks lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;--Clearing workareas.&lt;/P&gt;&lt;P&gt;    clear: wa_mard,&lt;/P&gt;&lt;P&gt;           wa_p_desc,&lt;/P&gt;&lt;P&gt;           wa_s_loc_desc,&lt;/P&gt;&lt;P&gt;           wa_final_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PROCESSING [2nd time]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at i_s_loc_desc into wa_s_loc_desc .&lt;/P&gt;&lt;P&gt;*moving values to final workarea&lt;/P&gt;&lt;P&gt;      wa_final_2-werks = wa_s_loc_desc-werks .&lt;/P&gt;&lt;P&gt;      wa_final_2-lgort = wa_s_loc_desc-lgort .&lt;/P&gt;&lt;P&gt;      wa_final_2-lgobe  = wa_s_loc_desc-lgobe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      read table i_p_desc into wa_p_desc&lt;/P&gt;&lt;P&gt;      with key werks = wa_s_loc_desc-werks binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      read table i_mard into wa_mard&lt;/P&gt;&lt;P&gt;      with key werks = wa_s_loc_desc-werks binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*for t001w  [plant desc] values&lt;/P&gt;&lt;P&gt;        wa_final_2-name1 = wa_p_desc-name1.&lt;/P&gt;&lt;P&gt;*for matnr values&lt;/P&gt;&lt;P&gt;        wa_final_2-matnr = wa_mard-matnr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;*append final workarea&lt;/P&gt;&lt;P&gt;      append wa_final_2 to i_final_2.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " ZF_DATA_POPUALTION_2&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_POPUP_DISPLAY&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form zf_popup_display .&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_POPUP_TO_SELECT'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_title       = 'POPUP- DISPLAYING MATERIAL-STORAGE'&lt;/P&gt;&lt;P&gt;      i_tabname     = 'I_FINAL_2'&lt;/P&gt;&lt;P&gt;      it_fieldcat   = i_fieldcat2&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab      = i_final_2&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      program_error = 1&lt;/P&gt;&lt;P&gt;      others        = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    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_POPUP_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  ZF_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 zf_default_variant .&lt;/P&gt;&lt;P&gt;  it_variant1-report = sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Search default variant for the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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    = it_variant1&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.       "if succesful set as default.&lt;/P&gt;&lt;P&gt;    p_var = it_variant1-variant.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_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_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;  it_variant-report = sy-repid.&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                = it_variant&lt;/P&gt;&lt;P&gt;      i_save                    = 'A'&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                = it_variant1&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.     "if sccesfully found, load the variant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    p_var = it_variant1-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " 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;P&gt;*&amp;amp;      Form  ZF_VARIANT_CHECK&lt;/P&gt;&lt;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_check .&lt;/P&gt;&lt;P&gt;  if not p_var is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    it_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;    it_variant-variant = p_var.&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        = 'A'&lt;/P&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        cs_variant    = it_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 it_variant1.&lt;/P&gt;&lt;P&gt;      move p_var to it_variant1-variant.&lt;/P&gt;&lt;P&gt;      move sy-repid to it_variant1-report.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      message e007.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    clear it_variant.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " ZF_VARIANT_CHECK&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_ALV_GRID_DISPLAY_POPUP&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form zf_alv_grid_display_popup .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_fieldcat                       = i_fieldcat2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_screen_start_column             = 10&lt;/P&gt;&lt;P&gt;    i_screen_start_line               = 1&lt;/P&gt;&lt;P&gt;    i_screen_end_column               = 50&lt;/P&gt;&lt;P&gt;    i_screen_end_line                 = 10&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;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                          = i_final_2&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     program_error                     = 1&lt;/P&gt;&lt;P&gt;     others                            = 2&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ZF_ALV_GRID_DISPLAY_POPUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if helpful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;keep rockin&lt;/P&gt;&lt;P&gt;vivek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 14:43:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320291#M795351</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T14:43:38Z</dc:date>
    </item>
    <item>
      <title>Re: alv pop up</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320292#M795352</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;Please refer to the link below :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap.ittoolbox.com/code/archives.asp?i=10&amp;amp;d=3430&amp;amp;a=s" target="test_blank"&gt;http://sap.ittoolbox.com/code/archives.asp?i=10&amp;amp;d=3430&amp;amp;a=s&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sriram Ponna.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 14:46:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320292#M795352</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T14:46:06Z</dc:date>
    </item>
    <item>
      <title>Re: alv pop up</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320293#M795353</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanx all&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 14:48:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-pop-up/m-p/3320293#M795353</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T14:48:03Z</dc:date>
    </item>
  </channel>
</rss>

