<?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 REPORTS in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200233#M470029</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;The following report is the sample report for using the fieldcatalog_merge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YMS_ALVGRIDSAMPLE.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES AND DATA DECLARATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*TABLES: mara,makt.",marc.&lt;/P&gt;&lt;P&gt;data syrepid like sy-repid.&lt;/P&gt;&lt;P&gt;data sydatum(10). " LIKE sy-datum.&lt;/P&gt;&lt;P&gt;data sypagno(3) type n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GROUP (TYPE-POOLS---------&amp;gt;SLIS)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE DECLARATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of t_mara occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;meins like mara-meins,&lt;/P&gt;&lt;P&gt;mtart like mara-mtart,&lt;/P&gt;&lt;P&gt;matkl like mara-matkl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end of t_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_marc occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;werks like marc-werks,&lt;/P&gt;&lt;P&gt;minbe like marc-minbe.&lt;/P&gt;&lt;P&gt;data: end of t_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_makt occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;spras like makt-spras,&lt;/P&gt;&lt;P&gt;end of t_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;meins like mara-meins,&lt;/P&gt;&lt;P&gt;maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;spras like makt-spras,&lt;/P&gt;&lt;P&gt;werks like marc-werks,&lt;/P&gt;&lt;P&gt;minbe like marc-minbe,&lt;/P&gt;&lt;P&gt;end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND THE LAYOUT FOR THE ALV.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THIS IS DONE TO MAKE THE CODE SIMPLER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAMS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MORE TABLES AND CREATE A STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;fieldlayout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP-OF-PAGE ETC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : eventstab type slis_t_event with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : heading type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading1 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading2 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading3 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading4 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading5 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading6 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading7 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading8 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : colorstruct type slis_coltypes.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INITIALIZATION. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;syrepid = sy-repid.&lt;/P&gt;&lt;P&gt;sypagno = sy-pagno.&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE COLORSTRUCT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_colorstruct using colorstruct.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform selectdata_and_sort.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_layout using fieldlayout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform merge_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE EVENTSTAB.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_eventstab tables eventstab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE HEADING TABLES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_headingtable tables heading using 'HEADING'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading1 using 'HEADING1'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading2 using 'HEADING2'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading3 using 'HEADING3'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading4 using 'HEADING4'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading5 using 'HEADING5'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading6 using 'HEADING6'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading7 using 'HEADING7'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading8 using 'HEADING8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO DISPLAY THE LIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform display_alv_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORMS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COLUMN JUSTIFICATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form populate_fieldcatalog.&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATNR' 'X' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MEINS' ' '.&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MAKTX' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MTART' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATKL' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'SPRAS' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'WERKS' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MINBE' ' ' .&lt;/P&gt;&lt;P&gt;endform. " POPULATE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FILL_FIELDS_OF_FIELDCATALOG *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; FIELDCATALOG *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_TABNAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_FIELDNAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;structure fieldcatalog&lt;/P&gt;&lt;P&gt;using p_tabname&lt;/P&gt;&lt;P&gt;p_fieldname&lt;/P&gt;&lt;P&gt;p_key.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;p_no_out.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcatalog-tabname = p_tabname.&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = p_fieldname.&lt;/P&gt;&lt;P&gt;fieldcatalog-key = p_key.&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = '1234'.&lt;/P&gt;&lt;P&gt;*fieldcatalog-no_out = p_no_out.&lt;/P&gt;&lt;P&gt;append fieldcatalog.&lt;/P&gt;&lt;P&gt;endform. " FILL_FIELDSOFFIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM POPULATE_LAYOUT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; FIELDLAYOUT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate_layout using fieldlayout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;fieldlayout-f2code = '&amp;amp;ETA' .&lt;/P&gt;&lt;P&gt;fieldlayout-zebra = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOR THE WINDOW TITLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-window_titlebar = 'ALV with Events'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldlayout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;fieldlayout-no_vline = ' '.&lt;/P&gt;&lt;P&gt;*fieldlayout-no_input = 'X'.&lt;/P&gt;&lt;P&gt;fieldlayout-confirmation_prompt = ''.&lt;/P&gt;&lt;P&gt;fieldlayout-key_hotspot = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This removes the column headings if the flag is set to 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-no_colhead = ' '.&lt;/P&gt;&lt;P&gt;*fieldlayout-hotspot_fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;fieldlayout-detail_popup = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldlayout-coltab_fieldname = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform. " POPULATE_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM SELECTDATA_AND_SORT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form selectdata_and_sort.&lt;/P&gt;&lt;P&gt;select matnr meins mtart matkl from mara&lt;/P&gt;&lt;P&gt;into corresponding fields of t_mara&lt;/P&gt;&lt;P&gt;up to 500 rows .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr maktx spras from makt&lt;/P&gt;&lt;P&gt;into corresponding fields of t_makt&lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr and&lt;/P&gt;&lt;P&gt;spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr werks minbe from marc&lt;/P&gt;&lt;P&gt;into corresponding fields of t_marc&lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;append t_marc.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;append t_makt.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;append t_mara.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;perform populate_itab1.&lt;/P&gt;&lt;P&gt;sort itab1 by matnr.&lt;/P&gt;&lt;P&gt;endform. " SELECTDATA_AND_SORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM MERGE_FIELDCATALOG *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form merge_fieldcatalog.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_program_name = syrepid&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name = 'COLORSTRUCT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_inclname = syrepid&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;ct_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;others = 3.&lt;/P&gt;&lt;P&gt;endform. " MERGE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOLLOWS:-&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_callback_program --&amp;gt; CALLING PROGRAM NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name --&amp;gt; STRUCTURE NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is_layout --&amp;gt; LAYOUT NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_fieldcat ---&amp;gt; BODY OF THE FIELD CATALOGUE INTERNAL TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form display_alv_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_INTERFACE_CHECK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_callback_program = syrepid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_structure_name = 'ITAB1'&lt;/P&gt;&lt;P&gt;is_layout = fieldlayout&lt;/P&gt;&lt;P&gt;it_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SPECIAL_GROUPS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_DEFAULT = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOOL BAR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_VARIANT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;it_events = eventstab[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_PRINT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;t_outtab = itab1&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form POPULATE_ITAB1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 populate_itab1.&lt;/P&gt;&lt;P&gt;loop at t_mara.&lt;/P&gt;&lt;P&gt;loop at t_makt where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;loop at t_marc where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;move-corresponding t_mara to itab1.&lt;/P&gt;&lt;P&gt;move-corresponding t_makt to itab1.&lt;/P&gt;&lt;P&gt;move-corresponding t_marc to itab1.&lt;/P&gt;&lt;P&gt;append itab1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform. " POPULATE_ITAB1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_EVENTSTAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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_EVENTSTAB text *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form fill_eventstab tables p_eventstab structure eventstab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EVENTS NAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_list_type = 0&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;et_events = p_eventstab[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;list_type_wrong = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS DYNAMICALY CALLED.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_coverpage.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_COVERPAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_coverpage .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_COVERPAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_top_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_end_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_list_modify.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'LIST_MODIFY' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_list.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_LIST' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_list .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_LIST' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. " FILL_EVENTSTAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_HEADINGTABLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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_HEADING text *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form fill_headingtable tables p_heading structure heading&lt;/P&gt;&lt;P&gt;using tablename.&lt;/P&gt;&lt;P&gt;case tablename.&lt;/P&gt;&lt;P&gt;when 'HEADING'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;concatenate&lt;/P&gt;&lt;P&gt;' REPORT NAME:-' syrepid&lt;/P&gt;&lt;P&gt;' ABB Industry Pte Ltd' into p_heading-info.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;write sy-datum using edit mask '__/__/____' to sydatum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate&lt;/P&gt;&lt;P&gt;' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno&lt;/P&gt;&lt;P&gt;into p_heading-info.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING1'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-COVER-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING2'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-COVER-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING3'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-TOP-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING4'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-END-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN 'HEADING5'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-TYP = 'H'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-INFO = 'LIST-MODIFY'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND P_HEADING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;when 'HEADING6'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING7'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-LIST'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING8'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-LIST'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;endform. " FILL_HEADINGTABLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form top_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_COLORSTRUCT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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_COLORSTRUCT text *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form fill_colorstruct using p_colorstruct type slis_coltypes .&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-col = 6.&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-int = 1.&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-inv = 1.&lt;/P&gt;&lt;P&gt;endform. " FILL_COLORSTRUCT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_COVERPAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form top_of_coverpage.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading1[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_COVERPAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form end_of_coverpage.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading2[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FOREIGN_TOP_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form foreign_top_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading3[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FOREIGN_END_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form foreign_end_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading4[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM LIST_MODIFY *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*FORM LIST_MODIFY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_LIST_COMMENTARY = HEADING5[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form end_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading6[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_LIST *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form end_of_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading7[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_LIST *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form top_of_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading8[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- End of Program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sankar M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 May 2007 04:48:41 GMT</pubDate>
    <dc:creator>p291102</dc:creator>
    <dc:date>2007-05-08T04:48:41Z</dc:date>
    <item>
      <title>ALV REPORTS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200232#M470028</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi all..&lt;/P&gt;&lt;P&gt; can any one tell me about the alv reports in particular about field catalog merge..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks in advance..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 04:45:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200232#M470028</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-08T04:45:59Z</dc:date>
    </item>
    <item>
      <title>Re: ALV REPORTS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200233#M470029</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;The following report is the sample report for using the fieldcatalog_merge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YMS_ALVGRIDSAMPLE.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES AND DATA DECLARATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*TABLES: mara,makt.",marc.&lt;/P&gt;&lt;P&gt;data syrepid like sy-repid.&lt;/P&gt;&lt;P&gt;data sydatum(10). " LIKE sy-datum.&lt;/P&gt;&lt;P&gt;data sypagno(3) type n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GROUP (TYPE-POOLS---------&amp;gt;SLIS)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE DECLARATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of t_mara occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;meins like mara-meins,&lt;/P&gt;&lt;P&gt;mtart like mara-mtart,&lt;/P&gt;&lt;P&gt;matkl like mara-matkl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end of t_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_marc occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;werks like marc-werks,&lt;/P&gt;&lt;P&gt;minbe like marc-minbe.&lt;/P&gt;&lt;P&gt;data: end of t_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_makt occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;spras like makt-spras,&lt;/P&gt;&lt;P&gt;end of t_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of itab1 occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;meins like mara-meins,&lt;/P&gt;&lt;P&gt;maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;spras like makt-spras,&lt;/P&gt;&lt;P&gt;werks like marc-werks,&lt;/P&gt;&lt;P&gt;minbe like marc-minbe,&lt;/P&gt;&lt;P&gt;end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND THE LAYOUT FOR THE ALV.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THIS IS DONE TO MAKE THE CODE SIMPLER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAMS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MORE TABLES AND CREATE A STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;fieldlayout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP-OF-PAGE ETC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : eventstab type slis_t_event with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : heading type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading1 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading2 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading3 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading4 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading5 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading6 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading7 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;data : heading8 type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : colorstruct type slis_coltypes.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INITIALIZATION. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;syrepid = sy-repid.&lt;/P&gt;&lt;P&gt;sypagno = sy-pagno.&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE COLORSTRUCT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_colorstruct using colorstruct.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform selectdata_and_sort.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_layout using fieldlayout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform merge_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE EVENTSTAB.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_eventstab tables eventstab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE HEADING TABLES.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_headingtable tables heading using 'HEADING'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading1 using 'HEADING1'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading2 using 'HEADING2'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading3 using 'HEADING3'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading4 using 'HEADING4'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading5 using 'HEADING5'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading6 using 'HEADING6'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading7 using 'HEADING7'.&lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading8 using 'HEADING8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO DISPLAY THE LIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform display_alv_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORMS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COLUMN JUSTIFICATION.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form populate_fieldcatalog.&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATNR' 'X' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MEINS' ' '.&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MAKTX' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MTART' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATKL' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'SPRAS' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'WERKS' ' ' .&lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MINBE' ' ' .&lt;/P&gt;&lt;P&gt;endform. " POPULATE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FILL_FIELDS_OF_FIELDCATALOG *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; FIELDCATALOG *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_TABNAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_FIELDNAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form fill_fields_of_fieldcatalog tables fieldcatalog&lt;/P&gt;&lt;P&gt;structure fieldcatalog&lt;/P&gt;&lt;P&gt;using p_tabname&lt;/P&gt;&lt;P&gt;p_fieldname&lt;/P&gt;&lt;P&gt;p_key.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;p_no_out.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcatalog-tabname = p_tabname.&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = p_fieldname.&lt;/P&gt;&lt;P&gt;fieldcatalog-key = p_key.&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = '1234'.&lt;/P&gt;&lt;P&gt;*fieldcatalog-no_out = p_no_out.&lt;/P&gt;&lt;P&gt;append fieldcatalog.&lt;/P&gt;&lt;P&gt;endform. " FILL_FIELDSOFFIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM POPULATE_LAYOUT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; FIELDLAYOUT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate_layout using fieldlayout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;fieldlayout-f2code = '&amp;amp;ETA' .&lt;/P&gt;&lt;P&gt;fieldlayout-zebra = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOR THE WINDOW TITLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-window_titlebar = 'ALV with Events'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldlayout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;fieldlayout-no_vline = ' '.&lt;/P&gt;&lt;P&gt;*fieldlayout-no_input = 'X'.&lt;/P&gt;&lt;P&gt;fieldlayout-confirmation_prompt = ''.&lt;/P&gt;&lt;P&gt;fieldlayout-key_hotspot = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This removes the column headings if the flag is set to 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-no_colhead = ' '.&lt;/P&gt;&lt;P&gt;*fieldlayout-hotspot_fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;fieldlayout-detail_popup = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldlayout-coltab_fieldname = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform. " POPULATE_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM SELECTDATA_AND_SORT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form selectdata_and_sort.&lt;/P&gt;&lt;P&gt;select matnr meins mtart matkl from mara&lt;/P&gt;&lt;P&gt;into corresponding fields of t_mara&lt;/P&gt;&lt;P&gt;up to 500 rows .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr maktx spras from makt&lt;/P&gt;&lt;P&gt;into corresponding fields of t_makt&lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr and&lt;/P&gt;&lt;P&gt;spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr werks minbe from marc&lt;/P&gt;&lt;P&gt;into corresponding fields of t_marc&lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;append t_marc.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;append t_makt.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;append t_mara.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;perform populate_itab1.&lt;/P&gt;&lt;P&gt;sort itab1 by matnr.&lt;/P&gt;&lt;P&gt;endform. " SELECTDATA_AND_SORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM MERGE_FIELDCATALOG *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form merge_fieldcatalog.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_program_name = syrepid&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'ITAB1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name = 'COLORSTRUCT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_inclname = syrepid&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;ct_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;others = 3.&lt;/P&gt;&lt;P&gt;endform. " MERGE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOLLOWS:-&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_callback_program --&amp;gt; CALLING PROGRAM NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name --&amp;gt; STRUCTURE NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is_layout --&amp;gt; LAYOUT NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_fieldcat ---&amp;gt; BODY OF THE FIELD CATALOGUE INTERNAL TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form display_alv_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_INTERFACE_CHECK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_callback_program = syrepid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_structure_name = 'ITAB1'&lt;/P&gt;&lt;P&gt;is_layout = fieldlayout&lt;/P&gt;&lt;P&gt;it_fieldcat = fieldcatalog[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SPECIAL_GROUPS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_DEFAULT = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOOL BAR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_VARIANT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;it_events = eventstab[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_PRINT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;t_outtab = itab1&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form POPULATE_ITAB1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 populate_itab1.&lt;/P&gt;&lt;P&gt;loop at t_mara.&lt;/P&gt;&lt;P&gt;loop at t_makt where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;loop at t_marc where matnr = t_mara-matnr.&lt;/P&gt;&lt;P&gt;move-corresponding t_mara to itab1.&lt;/P&gt;&lt;P&gt;move-corresponding t_makt to itab1.&lt;/P&gt;&lt;P&gt;move-corresponding t_marc to itab1.&lt;/P&gt;&lt;P&gt;append itab1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform. " POPULATE_ITAB1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_EVENTSTAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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_EVENTSTAB text *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form fill_eventstab tables p_eventstab structure eventstab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EVENTS NAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_list_type = 0&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;et_events = p_eventstab[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;list_type_wrong = 1&lt;/P&gt;&lt;P&gt;others = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS DYNAMICALY CALLED.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_coverpage.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_COVERPAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_coverpage .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_COVERPAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_top_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_end_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_list_modify.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'LIST_MODIFY' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_list.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'TOP_OF_LIST' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_page.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_PAGE' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_list .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;move 'END_OF_LIST' to p_eventstab-form.&lt;/P&gt;&lt;P&gt;append p_eventstab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. " FILL_EVENTSTAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_HEADINGTABLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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_HEADING text *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form fill_headingtable tables p_heading structure heading&lt;/P&gt;&lt;P&gt;using tablename.&lt;/P&gt;&lt;P&gt;case tablename.&lt;/P&gt;&lt;P&gt;when 'HEADING'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;concatenate&lt;/P&gt;&lt;P&gt;' REPORT NAME:-' syrepid&lt;/P&gt;&lt;P&gt;' ABB Industry Pte Ltd' into p_heading-info.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;write sy-datum using edit mask '__/__/____' to sydatum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate&lt;/P&gt;&lt;P&gt;' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno&lt;/P&gt;&lt;P&gt;into p_heading-info.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING1'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-COVER-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING2'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-COVER-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING3'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-TOP-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING4'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-END-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN 'HEADING5'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-TYP = 'H'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-INFO = 'LIST-MODIFY'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND P_HEADING.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;when 'HEADING6'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-PAGE'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING7'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-LIST'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;when 'HEADING8'.&lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'.&lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-LIST'.&lt;/P&gt;&lt;P&gt;append p_heading.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;endform. " FILL_HEADINGTABLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form top_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_COLORSTRUCT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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_COLORSTRUCT text *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form fill_colorstruct using p_colorstruct type slis_coltypes .&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-col = 6.&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-int = 1.&lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-inv = 1.&lt;/P&gt;&lt;P&gt;endform. " FILL_COLORSTRUCT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_COVERPAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form top_of_coverpage.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading1[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_COVERPAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form end_of_coverpage.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading2[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FOREIGN_TOP_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form foreign_top_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading3[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM FOREIGN_END_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form foreign_end_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading4[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM LIST_MODIFY *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*FORM LIST_MODIFY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_LIST_COMMENTARY = HEADING5[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form end_of_page.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading6[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM END_OF_LIST *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form end_of_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading7[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_LIST *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form top_of_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = heading8[]&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 1.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- End of Program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sankar M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 04:48:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200233#M470029</guid>
      <dc:creator>p291102</dc:creator>
      <dc:date>2007-05-08T04:48:41Z</dc:date>
    </item>
    <item>
      <title>Re: ALV REPORTS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200234#M470030</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ashu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POPULATE_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_PROGRAM_NAME = REPID&lt;/P&gt;&lt;P&gt;I_INTERNAL_TABNAME = 'IT_COST'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_STRUCTURE_NAME = ZCOSTHIST&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;CT_FIELDCAT = FIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM_ERROR = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jayant.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 04:51:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200234#M470030</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-08T04:51:56Z</dc:date>
    </item>
    <item>
      <title>Re: ALV REPORTS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200235#M470031</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ashu,&lt;/P&gt;&lt;P&gt;             &lt;/P&gt;&lt;P&gt;               Building field catalog is nothing but framing ur output.So depending on ur requirement u have to build ur fieldcatalog.Suppose u want 10 fields as ur output then build field catalog for 10 fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the perfect link to know about the fieldcatalog, &lt;A href="http://help.sap.com/saphelp_erp2004/helpdata/en/ff/4649a6f17411d2b486006094192fe3/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_erp2004/helpdata/en/ff/4649a6f17411d2b486006094192fe3/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use the FM: REUSE_ALV_FIELDCATALOG_MERGE to avoid manual errors in building the field catalog.&lt;/P&gt;&lt;P&gt;Declare the internal table using TYPES (Do not use LIKE) if you want to use the fm REUSE_ALV_FIELDCATALOG_MERGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample code :&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form build_catlog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&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_L_POS text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_0348 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_0349 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_0350 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_TEXT_004 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_catlog using u_pos type any&lt;/P&gt;&lt;P&gt;value(u_0348) type any&lt;/P&gt;&lt;P&gt;value(u_0349) type any&lt;/P&gt;&lt;P&gt;value(u_0350) type any&lt;/P&gt;&lt;P&gt;u_text type any.&lt;/P&gt;&lt;P&gt;data: l_wa_fieldcatlog type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;add 1 to u_pos.&lt;/P&gt;&lt;P&gt;l_wa_fieldcatlog-col_pos = u_pos.&lt;/P&gt;&lt;P&gt;l_wa_fieldcatlog-tabname = u_0348.&lt;/P&gt;&lt;P&gt;l_wa_fieldcatlog-fieldname = u_0349.&lt;/P&gt;&lt;P&gt;l_wa_fieldcatlog-outputlen = u_0350.&lt;/P&gt;&lt;P&gt;l_wa_fieldcatlog-reptext_ddic = u_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append l_wa_fieldcatlog to l_tab_fieldcatlog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " build_catlog&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 points if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hemant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 04:54:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200235#M470031</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-08T04:54:00Z</dc:date>
    </item>
    <item>
      <title>Re: ALV REPORTS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200236#M470032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ashu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this URL to know about ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/what-is-alv-programming.htm" target="test_blank"&gt;http://www.sap-img.com/abap/what-is-alv-programming.htm&lt;/A&gt; - 7k &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is one Sample program,&lt;/P&gt;&lt;P&gt;Gothrough this i wil be useful to you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : zeastable_02,zeastable_04.&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF fieldst,&lt;/P&gt;&lt;P&gt;        name LIKE zeastable_02-name,&lt;/P&gt;&lt;P&gt;        znum LIKE zeastable_02-znum,&lt;/P&gt;&lt;P&gt;        empno LIKE zeastable_04-empno,&lt;/P&gt;&lt;P&gt;        zempsalary LIKE zeastable_04-zempsalary,&lt;/P&gt;&lt;P&gt;        END OF fieldst.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA itab TYPE TABLE OF fieldst WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_report_id  LIKE sy-repid.            "Program name&lt;/P&gt;&lt;P&gt;DATA: w_title   TYPE lvc_title VALUE    'Assignment 1 in ALV'.&lt;/P&gt;&lt;P&gt;DATA: w_layout   TYPE slis_layout_alv.      "Layout setup&lt;/P&gt;&lt;P&gt;DATA: w_fieldcat TYPE slis_t_fieldcat_alv.  "Field Catlog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS employee FOR zeastable_04-empno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT zeastable_02&lt;SUB&gt;name  zeastable_02&lt;/SUB&gt;znum&lt;/P&gt;&lt;P&gt;       zeastable_04&lt;SUB&gt;empno zeastable_04&lt;/SUB&gt;zempsalary&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       INTO CORRESPONDING FIELDS OF TABLE itab FROM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       zeastable_02 INNER JOIN zeastable_04 ON&lt;/P&gt;&lt;P&gt;       zeastable_02&lt;SUB&gt;name = zeastable_04&lt;/SUB&gt;name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WHERE  zeastable_04~empno IN employee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_report_id = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM i_layout CHANGING w_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM i_fieldcat CHANGING w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;    i_callback_program                = 'ZEASALV_04'&lt;/P&gt;&lt;P&gt;     i_grid_title                      = w_title&lt;/P&gt;&lt;P&gt;     is_layout                         = w_layout&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = w_fieldcat&lt;/P&gt;&lt;P&gt;     i_save                            = 'A'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = itab&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     program_error                     = 1&lt;/P&gt;&lt;P&gt;     OTHERS                            = 2&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM i_layout CHANGING w_layout.&lt;/P&gt;&lt;P&gt;  PERFORM i_fieldcat CHANGING w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  i_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;lt;--P_W_LAYOUT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form i_layout  changing p_w_layout.&lt;/P&gt;&lt;P&gt;clear w_layout.&lt;/P&gt;&lt;P&gt;  w_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  w_layout-edit = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " i_layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  i_fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_W_FEILDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form i_fieldcat  changing p_w_feildcat.&lt;/P&gt;&lt;P&gt;data: l_line_fieldcat type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear l_line_fieldcat.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-fieldname = 'NAME'.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-ref_tabname = 'itab'.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-seltext_m = 'NAME'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  l_line_fieldcat-key  = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   append l_line_fieldcat to w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear l_line_fieldcat.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-fieldname = 'ZNUM'.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-ref_tabname = 'itab'.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-seltext_m = 'NUMBER'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  l_line_fieldcat-key  = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append l_line_fieldcat to w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear l_line_fieldcat.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-fieldname = 'EMPNO'.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-ref_tabname = 'itab'.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-seltext_m = 'EMPLNUM'.&lt;/P&gt;&lt;P&gt;*l_line_fieldcat-key  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append l_line_fieldcat to w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear l_line_fieldcat.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-fieldname = 'ZEMPSALARY'.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-ref_tabname = 'itab'.&lt;/P&gt;&lt;P&gt;  l_line_fieldcat-seltext_m = 'SALARY'.&lt;/P&gt;&lt;P&gt;*l_line_fieldcat-key  = 'X'.&lt;/P&gt;&lt;P&gt;  append l_line_fieldcat to w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " i_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it is useful for you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward for useful answers.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 04:58:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200236#M470032</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-08T04:58:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV REPORTS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200237#M470033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Ashu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function REUSE_ALV_FIELDCATALOG_MERGE is used for retrieve a catalog from a table. Then you can modify it as you want. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLs slis.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Type-pools - where all types of variables are declared. ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF WA_ORDER,&lt;/P&gt;&lt;P&gt;          VBELN TYPE VBAK-VBELN,&lt;/P&gt;&lt;P&gt;          KUNNR TYPE VBAK-KUNNR,&lt;/P&gt;&lt;P&gt;          NETWR TYPE VBAK-NETWR,&lt;/P&gt;&lt;P&gt;      END OF WA_ORDER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_ORDER TYPE TABLE OF WA_ORDER,&lt;/P&gt;&lt;P&gt;      CT_FIELDCAT	TYPE	SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      repid          LIKE sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;SY-REPID - system variable ***&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER CUSTOMER TYPE KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select&lt;/P&gt;&lt;P&gt; VBELN KUNNR NETWR FROM VBAK&lt;/P&gt;&lt;P&gt;          INTO CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;          TABLE IT_ORDER&lt;/P&gt;&lt;P&gt;          WHERE KUNNR = CUSTOMER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_PROGRAM_NAME         = REPID&lt;/P&gt;&lt;P&gt;    I_INTERNAL_TABNAME     = 'IT_ORDER'&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    CT_FIELDCAT            = CT_FIELDCAT[]&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;P&gt;    PROGRAM_ERROR          = 2&lt;/P&gt;&lt;P&gt;    OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;exportING&lt;/P&gt;&lt;P&gt;  IT_FIELDCAT                       = CT_FIELDCAT&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;   T_OUTTAB                          = IT_ORDER&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 05:28:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-reports/m-p/2200237#M470033</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-08T05:28:56Z</dc:date>
    </item>
  </channel>
</rss>

