<?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 Function Module REUSE_ALV_GRID_DISPLAY? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417779#M820873</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;How to use the Function Module REUSE_ALV_GRID_DISPLAY can any body explain me with one example please.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Feb 2008 11:37:48 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-08T11:37:48Z</dc:date>
    <item>
      <title>Function Module REUSE_ALV_GRID_DISPLAY?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417779#M820873</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;How to use the Function Module REUSE_ALV_GRID_DISPLAY can any body explain me with one example please.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 11:37:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417779#M820873</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T11:37:48Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module REUSE_ALV_GRID_DISPLAY?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417780#M820874</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The input for this function module are two internal tables ie one internal table for data and another for internal table for about the fields. eg:  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TYPE-POOLS : SLIS. &lt;/P&gt;&lt;P&gt; DATA : BEGIN OF WA_T001, &lt;/P&gt;&lt;P&gt;             BUKRS LIKE T001-BUKRS, &lt;/P&gt;&lt;P&gt;             BUTXT LIKE T001-BUTXT, &lt;/P&gt;&lt;P&gt;             ORT01 LIKE T001-ORT01, &lt;/P&gt;&lt;P&gt;             END OF WA_T001, &lt;/P&gt;&lt;P&gt;             IT_T001 LIKE TABLE OF WA_T001. &lt;/P&gt;&lt;P&gt; DATA : IT_FCAT TYPE SLIS_T_FIELDCAT_ALV, &lt;/P&gt;&lt;P&gt;            WA_FCAT LIKE LINE OF IT_FCAT. &lt;/P&gt;&lt;P&gt; DATA : V_NAME LIKE  SY-REPID. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT BUKRS BUTXT ORT01 &lt;/P&gt;&lt;P&gt;    FROM T001 INTO TABLE IT_T001 &lt;/P&gt;&lt;P&gt;    UP TO 15 ROWS. V_NAME = SY-REPID.&lt;/P&gt;&lt;P&gt; CALL FUCTION MODULE 'REUSE_ALV_FIELDCATLOG_MERGE. &lt;/P&gt;&lt;P&gt;   EXPORTING  &lt;/P&gt;&lt;P&gt;         I_CALBACK_PROGRAM = V_NAME &lt;/P&gt;&lt;P&gt;         I_INTERAL_TABNAME = 'WA_T001' &lt;/P&gt;&lt;P&gt;         I_INCLNAME = V_NAME &lt;/P&gt;&lt;P&gt;   CHANGING &lt;/P&gt;&lt;P&gt;         CT_FIELDCAT = IT_FCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CALL FUNCTION MODULE "REUSE_ALV_GRID_DISPLAY" &lt;/P&gt;&lt;P&gt;   EXPORTING &lt;/P&gt;&lt;P&gt;      I_CALLBACK_PROGRAM = V_NAME &lt;/P&gt;&lt;P&gt;      IT_FCAT = IT_FCAT. &lt;/P&gt;&lt;P&gt;   TABLES &lt;/P&gt;&lt;P&gt;     T_OUTTAB  = IT_T001 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SY-REPID IS THE SYSTEM VARIABLE WHICH IS &lt;/P&gt;&lt;P&gt; HAVING THE ABAP PROGRAM  &lt;/P&gt;&lt;P&gt; OR CURRENT MAIN PROGRAM. &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----- Sample Progam -&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----" /&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;P&gt;***INCLUDE YRVR058_DEST_WISE_SUMMARY_DF01 .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_DATA .&lt;/P&gt;&lt;P&gt;  IF ITAB[] IS NOT  INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM F_APPEND_BLOCK.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE 'Data not found for the selection&lt;/P&gt;&lt;P&gt;criteria' TYPE 'S'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f_append_block&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_APPEND_BLOCK .&lt;/P&gt;&lt;P&gt;  DATA : L_WA_SORT    TYPE SLIS_SORTINFO_ALV,   "For&lt;/P&gt;&lt;P&gt;sort&lt;/P&gt;&lt;P&gt;         L_WA_EVENTS  TYPE SLIS_ALV_EVENT.      "For&lt;/P&gt;&lt;P&gt;events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Event (Top of List)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR L_WA_EVENTS.&lt;/P&gt;&lt;P&gt;  L_WA_EVENTS-NAME = SLIS_EV_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;  L_WA_EVENTS-FORM = C_TOPOFPAGE.&lt;/P&gt;&lt;P&gt;  APPEND L_WA_EVENTS TO I_EVENTS_PART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Event (Top of Page)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR L_WA_EVENTS.&lt;/P&gt;&lt;P&gt;  L_WA_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  L_WA_EVENTS-FORM = 'F_DISPLAY_HEADER_PARTA'(031).&lt;/P&gt;&lt;P&gt;  "f_display_header_part&lt;/P&gt;&lt;P&gt;  APPEND L_WA_EVENTS TO I_EVENTS_PART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Event (End of List)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR L_WA_EVENTS.&lt;/P&gt;&lt;P&gt;  L_WA_EVENTS-NAME = SLIS_EV_END_OF_LIST.&lt;/P&gt;&lt;P&gt;  L_WA_EVENTS-FORM = C_END_OF_LIST.&lt;/P&gt;&lt;P&gt;  APPEND L_WA_EVENTS TO I_EVENTS_PART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Layout Zebra&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  STRUCT_LAYOUT-ZEBRA          = 'X'.&lt;/P&gt;&lt;P&gt;  STRUCT_LAYOUT-NUMC_SUM       = 'X'.&lt;/P&gt;&lt;P&gt;  STRUCT_LAYOUT-TOTALS_TEXT    = 'TOTAL:'(032).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F_FIELD_CATALOG_PART.&lt;/P&gt;&lt;P&gt;  ASSIGN ITAB[] TO &amp;lt;F_OUTTAB&amp;gt;.&lt;/P&gt;&lt;P&gt;  V_PART = 'A'.  "initiating list is A&lt;/P&gt;&lt;P&gt;  PERFORM F_DISPLAY_BLOCK USING STRUCT_LAYOUT&lt;/P&gt;&lt;P&gt;                               I_FIELD_CAT_PART[]&lt;/P&gt;&lt;P&gt;                               C_TAB&lt;/P&gt;&lt;P&gt;                               I_EVENTS_PART[]&lt;/P&gt;&lt;P&gt;                               I_SORT_PART[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_append_block&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  f_field_catalog_part&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_FIELD_CATALOG_PART .&lt;/P&gt;&lt;P&gt;  REFRESH I_FIELD_CAT_PART.&lt;/P&gt;&lt;P&gt;  CLEAR I_FIELD_CAT_PART.&lt;/P&gt;&lt;P&gt;  PERFORM F_CREATE_CATALOG USING :&lt;/P&gt;&lt;P&gt;*Month&lt;/P&gt;&lt;P&gt;C_TAB 'MONTH'  'MONTH'      SPACE 'L' 7&lt;/P&gt;&lt;P&gt;I_FIELD_CAT_PART[],&lt;/P&gt;&lt;P&gt;*OBD&lt;/P&gt;&lt;P&gt;*C_TAB 'VBELN'  'Delivery'      SPACE 'L' 12&lt;/P&gt;&lt;P&gt;I_FIELD_CAT_PART[],&lt;/P&gt;&lt;P&gt;*DATE&lt;/P&gt;&lt;P&gt;C_TAB 'WADAT_IST'  'Date'      SPACE 'L' 10&lt;/P&gt;&lt;P&gt;I_FIELD_CAT_PART[],&lt;/P&gt;&lt;P&gt;*Destination&lt;/P&gt;&lt;P&gt;C_TAB 'CITY1'  'Destination'      SPACE 'L' 25&lt;/P&gt;&lt;P&gt;I_FIELD_CAT_PART[],&lt;/P&gt;&lt;P&gt;*Qty By Road&lt;/P&gt;&lt;P&gt;C_TAB 'NTGEW_ROAD'  'Road Quantity'   SPACE 'R' 16&lt;/P&gt;&lt;P&gt;I_FIELD_CAT_PART[],&lt;/P&gt;&lt;P&gt;*Rail Qty&lt;/P&gt;&lt;P&gt;C_TAB 'NTGEW_RAIL'  'Rail Quantity'  &lt;/P&gt;&lt;P&gt;  SPACE 'R' 16 I_FIELD_CAT_PART[], &lt;/P&gt;&lt;P&gt;*Total  Qty C_TAB 'TOT'  'Total Quantity'  &lt;/P&gt;&lt;P&gt;  SPACE 'R' 16 I_FIELD_CAT_PART[], &lt;/P&gt;&lt;P&gt;*RR/Trk No.&lt;/P&gt;&lt;P&gt;  C_TAB 'EXTI2'  'Truck/RR No.' SPACE 'L' 17 I_FIELD_CAT_PART[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_field_catalog_part&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  f_DISPLAY_block&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&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_STRUCT_LAYOUT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_FIELD_CAT_PART[]  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_C_TAB  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_EVENTS_PART[]  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_SORT_PART[]  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_DISPLAY_BLOCK  USING  FP_LAYOUT         TYPE&lt;/P&gt;&lt;P&gt;SLIS_LAYOUT_ALV&lt;/P&gt;&lt;P&gt;                             FP_I_FCAT         TYPE&lt;/P&gt;&lt;P&gt;SLIS_T_FIELDCAT_ALV&lt;/P&gt;&lt;P&gt;                             VALUE(FP_TABNAME) TYPE&lt;/P&gt;&lt;P&gt;ANY&lt;/P&gt;&lt;P&gt;                             FP_I_EVENTS       TYPE&lt;/P&gt;&lt;P&gt;SLIS_T_EVENT&lt;/P&gt;&lt;P&gt;                             FP_I_SORT         TYPE&lt;/P&gt;&lt;P&gt;SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;  DATA: V_REPID  TYPE SYREPID,                  &lt;/P&gt;&lt;P&gt;"current Program id&lt;/P&gt;&lt;P&gt;        C_SAVE       TYPE CHAR1 VALUE 'A'.      &lt;/P&gt;&lt;P&gt;"variant save&lt;/P&gt;&lt;P&gt;  V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_CALLBACK_PROGRAM = V_REPID&lt;/P&gt;&lt;P&gt;      IS_LAYOUT          = FP_LAYOUT&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT        = FP_I_FCAT[]&lt;/P&gt;&lt;P&gt;      IT_SORT            = FP_I_SORT[]&lt;/P&gt;&lt;P&gt;      I_SAVE             = C_SAVE             "variant&lt;/P&gt;&lt;P&gt;save&lt;/P&gt;&lt;P&gt;      IT_EVENTS          = FP_I_EVENTS[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB           = &amp;lt;F_OUTTAB&amp;gt;&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;ENDFORM.                    " f_DISPLAY_block&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f_create_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&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_C_TAB  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0085   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0086   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_SPACE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0088   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_5      text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_FIELD_CAT_PART[]  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_CREATE_CATALOG  USING  FP_I_TABNAME   TYPE&lt;/P&gt;&lt;P&gt;SLIS_TABNAME&lt;/P&gt;&lt;P&gt;                              FP_I_FIELDNAME TYPE SLIS_FIELDNAME&lt;/P&gt;&lt;P&gt;                              FP_I_SELTEXT   TYPE&lt;/P&gt;&lt;P&gt;SCRTEXT_L&lt;/P&gt;&lt;P&gt;                              FP_I_DOSUM     TYPE&lt;/P&gt;&lt;P&gt;CHAR1&lt;/P&gt;&lt;P&gt;                              FP_I_JUST      TYPE C&lt;/P&gt;&lt;P&gt;                              FP_I_OUTPUTLEN TYPE&lt;/P&gt;&lt;P&gt;OUTPUTLEN&lt;/P&gt;&lt;P&gt;                              FP_I_FCAT      TYPE&lt;/P&gt;&lt;P&gt;SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Record for field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: L_REC_FCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_REC_FCAT-TABNAME   = FP_I_TABNAME.&lt;/P&gt;&lt;P&gt;  L_REC_FCAT-FIELDNAME = FP_I_FIELDNAME.&lt;/P&gt;&lt;P&gt;  L_REC_FCAT-SELTEXT_L = FP_I_SELTEXT.&lt;/P&gt;&lt;P&gt;  L_REC_FCAT-DO_SUM    = 'X'.&lt;/P&gt;&lt;P&gt;*l_rec_fcat-do_sum    = ' '.&lt;/P&gt;&lt;P&gt;  L_REC_FCAT-JUST      = FP_I_JUST.&lt;/P&gt;&lt;P&gt;  L_REC_FCAT-OUTPUTLEN = FP_I_OUTPUTLEN.&lt;/P&gt;&lt;P&gt;  L_REC_FCAT-DECIMALS_OUT = '2'.&lt;/P&gt;&lt;P&gt;  L_REC_FCAT-KEY          = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND L_REC_FCAT TO FP_I_FCAT.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_create_catalog&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;     Subroutines for Headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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  f_display_header_partA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Display header for report for Part A&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  top_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE .&lt;/P&gt;&lt;P&gt;  SKIP 1.&lt;/P&gt;&lt;P&gt;  WRITE:/25 ' Name of Company ',80 'RUN DATE' ,&lt;/P&gt;&lt;P&gt;SY-DATUM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SKIP 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE:/60 'RUN DATE' , SY-DATUM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SKIP 1.&lt;/P&gt;&lt;P&gt;  DATA: YR(4) TYPE N,&lt;/P&gt;&lt;P&gt;         FIN_PRD(10) TYPE C.&lt;/P&gt;&lt;P&gt;  IF S_DTABF-LOW+4(2) LT '04'.&lt;/P&gt;&lt;P&gt;    YR = S_DTABF-LOW+0(4) - 1.&lt;/P&gt;&lt;P&gt;    CONCATENATE YR '-' S_DTABF-LOW+2(2) INTO FIN_PRD.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    YR = S_DTABF-LOW+0(4) + 1.&lt;/P&gt;&lt;P&gt;    CONCATENATE S_DTABF-LOW&lt;EM&gt;0(4) '-' YR&lt;/EM&gt;2(2) INTO&lt;/P&gt;&lt;P&gt;FIN_PRD.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  WRITE:/5 'DETAILS OF THE MONTH/DATE WISE DESPATCHES&lt;/P&gt;&lt;P&gt;MADE BY ROAD/RAIL DURING THE YEAR ' , FIN_PRD  .&lt;/P&gt;&lt;P&gt;  SKIP 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'SALES OFFICE : ' , P_SALES,' ' , RNAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SKIP 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_DATA&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 11:39:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417780#M820874</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T11:39:03Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module REUSE_ALV_GRID_DISPLAY?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417781#M820875</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;  Check the below code...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZZZ_TEST_500&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zzz_test_500.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:vbak.&lt;/P&gt;&lt;P&gt;TYPE-POOLS:slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF ty_vbak,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;       auart LIKE vbak-auart,&lt;/P&gt;&lt;P&gt;       kunnr LIKE vbak-kunnr,&lt;/P&gt;&lt;P&gt;       vkorg LIKE vbak-vkorg,&lt;/P&gt;&lt;P&gt;       vtweg LIKE vbak-vtweg,&lt;/P&gt;&lt;P&gt;       spart LIKE vbak-spart,&lt;/P&gt;&lt;P&gt;      END OF ty_vbak,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      BEGIN OF ty_vbap,&lt;/P&gt;&lt;P&gt;       posnr LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;       matnr LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;       werks LIKE vbap-werks,&lt;/P&gt;&lt;P&gt;       lgort LIKE vbap-lgort,&lt;/P&gt;&lt;P&gt;       ntgew LIKE vbap-ntgew,&lt;/P&gt;&lt;P&gt;      END OF ty_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:i_vbak TYPE STANDARD TABLE OF ty_vbak,&lt;/P&gt;&lt;P&gt;     i_vbap TYPE STANDARD TABLE OF ty_vbap,&lt;/P&gt;&lt;P&gt;     w_vbak TYPE ty_vbak,&lt;/P&gt;&lt;P&gt;     w_vbap TYPE ty_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:s_vbeln FOR vbak-vbeln.&lt;/P&gt;&lt;P&gt;PARAMETERS:p_var LIKE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Declarations for ALV&lt;/P&gt;&lt;P&gt;DATA:i_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;     w_fieldcat LIKE LINE OF i_fieldcat,&lt;/P&gt;&lt;P&gt;     w_layout   TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;     disvar     TYPE disvariant,&lt;/P&gt;&lt;P&gt;     invariant  TYPE disvariant,&lt;/P&gt;&lt;P&gt;     i_event    TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;     w_event    TYPE slis_alv_event,&lt;/P&gt;&lt;P&gt;     i_header   TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;     w_header   TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:status TYPE slis_formname VALUE 'PF_STATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  invariant-report = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LVC_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_variant                = invariant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_DEFAULT_FIELDCAT       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    e_exit                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     es_variant                = disvar&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     not_found                 = 1&lt;/P&gt;&lt;P&gt;     program_error             = 2&lt;/P&gt;&lt;P&gt;     OTHERS                    = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_var = disvar-variant.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM read_data.&lt;/P&gt;&lt;P&gt;  PERFORM build_fieldcat.&lt;/P&gt;&lt;P&gt;  PERFORM prepare_events.&lt;/P&gt;&lt;P&gt;  PERFORM display_output.&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  read_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM read_data .&lt;/P&gt;&lt;P&gt;  SELECT vbeln&lt;/P&gt;&lt;P&gt;         auart&lt;/P&gt;&lt;P&gt;         kunnr&lt;/P&gt;&lt;P&gt;         vkorg&lt;/P&gt;&lt;P&gt;         vtweg&lt;/P&gt;&lt;P&gt;         spart FROM vbak&lt;/P&gt;&lt;P&gt;               INTO TABLE i_vbak&lt;/P&gt;&lt;P&gt;               WHERE vbeln IN s_vbeln.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " read_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_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;P&gt;FORM build_fieldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname = 'I_VBAK'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_l = 'Sales Document #'.&lt;/P&gt;&lt;P&gt;  APPEND w_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = 'AUART'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname = 'I_VBAK'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_l = 'Order Type'.&lt;/P&gt;&lt;P&gt;  APPEND w_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = 'KUNNR'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname = 'I_VBAK'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_l = 'Customer #'.&lt;/P&gt;&lt;P&gt;  APPEND w_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = 'VKORG'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname = 'I_VBAK'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_l = 'Sales Org'.&lt;/P&gt;&lt;P&gt;  APPEND w_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = 'VTWEG'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname = 'I_VBAK'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_l = 'Distribution Channel'.&lt;/P&gt;&lt;P&gt;  APPEND w_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname = 'SPART'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname = 'I_VBAK'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_l = 'Division'.&lt;/P&gt;&lt;P&gt;  APPEND w_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_output&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&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;P&gt;FORM display_output .&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;   EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_callback_program                = sy-repid&lt;/P&gt;&lt;P&gt;    i_callback_pf_status_set          = status&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_fieldcat                       = i_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    is_variant                        = disvar&lt;/P&gt;&lt;P&gt;    it_events                         = i_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_FULLSCREEN_ADAPTER        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = i_vbak&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   program_error                     = 1&lt;/P&gt;&lt;P&gt;   OTHERS                            = 2&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_output&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  STATUS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM pf_status USING extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'TEST1'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "STATUS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PREPARE_EVENTS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM prepare_events .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = i_event&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;  READ TABLE i_event INTO w_event WITH KEY name = slis_ev_pf_status_set.&lt;/P&gt;&lt;P&gt;    w_event-form = 'SET_PF_STATUS'.&lt;/P&gt;&lt;P&gt;    MODIFY i_event FROM w_event INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   READ TABLE i_event INTO w_event WITH KEY name = slis_ev_user_command.&lt;/P&gt;&lt;P&gt;    w_event-form = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;    MODIFY i_event FROM w_event INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE i_event INTO w_event WITH KEY name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;    w_event-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    MODIFY i_event FROM w_event INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PREPARE_EVENTS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_pf_status USING extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'TEST_NEW'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING rs_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                        rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;  CASE rs_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'VBAP'.&lt;/P&gt;&lt;P&gt;      PERFORM display_vbap_data USING rs_selfield.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_VBAP_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_vbap_data USING rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PARAMETER ID 'AUN' FIELD rs_selfield-value.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_VBAP_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_header-typ = 'H'.&lt;/P&gt;&lt;P&gt;  w_header-info = sy-repid.&lt;/P&gt;&lt;P&gt;  APPEND w_header TO i_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_list_commentary       = i_header&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_LOGO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_ALV_FORM               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TOP_OF_PAGE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 11:39:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417781#M820875</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T11:39:12Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module REUSE_ALV_GRID_DISPLAY?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417782#M820876</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer to the link below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdev.co.uk/reporting/alv/alvgrid_enhanced.htm" target="test_blank"&gt;http://www.sapdev.co.uk/reporting/alv/alvgrid_enhanced.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sriram Ponna.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 11:39:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417782#M820876</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T11:39:50Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module REUSE_ALV_GRID_DISPLAY?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417783#M820877</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;FORM f100-end_of_page. &lt;/P&gt;&lt;P&gt;clear: wa_listheader, it_end_listheader, it_end_listheader[]. &lt;/P&gt;&lt;P&gt;concatenate 'Date' sy-datum into w_date separated by space. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_listheader-key = ''. &lt;/P&gt;&lt;P&gt;wa_listheader-typ = 'S'. &lt;/P&gt;&lt;P&gt;wa_listheader-info = 'Date'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_listheader to it_end_listheader. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: wa_listheader. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate 'Time' sy-uzeit into w_date separated by space. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_listheader-key = ''. &lt;/P&gt;&lt;P&gt;wa_listheader-typ = 'S'. &lt;/P&gt;&lt;P&gt;wa_listheader-info = 'Time'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_listheader to it_end_listheader. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: wa_listheader. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;IT_LIST_COMMENTARY = it_end_listheader[] &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LOGO = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_END_OF_LIST_GRID = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " f100-end_of_page &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In grid display there will be no end_of_page and no end_of_list. &lt;/P&gt;&lt;P&gt;You have show in top_of_page itself. &lt;/P&gt;&lt;P&gt;Otherwise use list display instead of grid. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suresh Avutu &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These steps have to be carried out... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  gc_formname_top_of_page TYPE slis_formname &lt;/P&gt;&lt;P&gt;       VALUE 'TOP_OF_PAGE'. &lt;/P&gt;&lt;P&gt;DATA:  gc_formname_end_of_page TYPE slis_formname &lt;/P&gt;&lt;P&gt;       VALUE 'END_OF_PAGE'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  gt_list_top_of_page TYPE slis_t_listheader. &lt;/P&gt;&lt;P&gt;DATA:  gt_list_end_of_page TYPE slis_t_listheader. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;PERFORM e03_eventtab_build USING gt_event[]. &lt;/P&gt;&lt;P&gt;        PERFORM e04_comment_build  USING &lt;/P&gt;&lt;P&gt;gt_list_top_of_page[]. &lt;/P&gt;&lt;P&gt;        PERFORM e06_comment_build  USING &lt;/P&gt;&lt;P&gt;gt_list_end_of_page[]. &lt;/P&gt;&lt;P&gt;        PERFORM list_alv_display. &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM list_alv_display . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gt_event-name = slis_ev_top_of_list. &lt;/P&gt;&lt;P&gt;  gt_event-form = 'TOP_OF_PAGE'. &lt;/P&gt;&lt;P&gt;  APPEND gt_event. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gt_event-name = slis_ev_end_of_list. &lt;/P&gt;&lt;P&gt;  gt_event-form = 'END_OF_PAGE'. &lt;/P&gt;&lt;P&gt;  APPEND gt_event. &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;    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_bypassing_buffer                = 'X' &lt;/P&gt;&lt;P&gt;    i_buffer_active                   = ' ' &lt;/P&gt;&lt;P&gt;    i_callback_program                = .... &lt;/P&gt;&lt;P&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;      i_logo             = '' &lt;/P&gt;&lt;P&gt;      it_list_commentary = gt_list_end_of_page &lt;/P&gt;&lt;P&gt;      I_END_OF_LIST_GRID = 1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "END_OF_PAGE &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM e06_comment_build &lt;/P&gt;&lt;P&gt; USING e06_lt_end_of_page TYPE slis_t_listheader. &lt;/P&gt;&lt;P&gt;  DATA: ls_line  TYPE slis_listheader. &lt;/P&gt;&lt;P&gt;  DATA: yl_uname(60). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &amp;lt; here u can concatenate system date and time to &lt;/P&gt;&lt;P&gt;yl_uname&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_line. &lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'S'. &lt;/P&gt;&lt;P&gt;  ls_line-info = yl_uname. &lt;/P&gt;&lt;P&gt;  APPEND ls_line TO e06_lt_end_of_page. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "e06_comment_build &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suman Tyagi &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;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An Example: &lt;/P&gt;&lt;P&gt;REPORT ZALV_GRID. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES :vbap. &lt;/P&gt;&lt;P&gt;type-pools : slis. &lt;/P&gt;&lt;P&gt;data i_events TYPE slis_t_event. &lt;/P&gt;&lt;P&gt;DATA : my_alv TYPE REF TO cl_gui_alv_grid. &lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF itab, &lt;/P&gt;&lt;P&gt;vbeln LIKE vbap-vbeln, &lt;/P&gt;&lt;P&gt;arktx LIKE vbap-arktx, &lt;/P&gt;&lt;P&gt;END OF itab. &lt;/P&gt;&lt;P&gt;TYPES : itab1 TYPE TABLE OF itab. &lt;/P&gt;&lt;P&gt;DATA : display TYPE itab1. &lt;/P&gt;&lt;P&gt;DATA : fcat TYPE SLIS_T_FIELDCAT_ALV. &lt;/P&gt;&lt;P&gt;DATA : wa LIKE LINE OF FCAT. &lt;/P&gt;&lt;P&gt;DATA WA1 LIKE VBAP. &lt;/P&gt;&lt;P&gt;DATA: container TYPE REF TO cl_gui_custom_container. &lt;/P&gt;&lt;P&gt;data report_id like sy-repid. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS s_vbeln FOR vbap-vbeln. &lt;/P&gt;&lt;P&gt;report_id = sy-repid. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM vbap INTO CORRESPONDING FIELDS OF TABLE display WHERE &lt;/P&gt;&lt;P&gt;vbeln IN s_vbeln. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa-fieldname = 'VBELN'. &lt;/P&gt;&lt;P&gt;wa-tabname = 'VBAP'. &lt;/P&gt;&lt;P&gt;wa-key = 'X'. &lt;/P&gt;&lt;P&gt;WA-HOTSPOT = 'X'. &lt;/P&gt;&lt;P&gt;wa-text_fieldname = 'Doc no.'. &lt;/P&gt;&lt;P&gt;APPEND wa TO fcat. &lt;/P&gt;&lt;P&gt;CLEAR wa. &lt;/P&gt;&lt;P&gt;wa-fieldname = 'ARKTX'. &lt;/P&gt;&lt;P&gt;wa-tabname = 'VBAP'. &lt;/P&gt;&lt;P&gt;wa-text_fieldname = 'Item Text'. &lt;/P&gt;&lt;P&gt;APPEND wa TO fcat. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f0650_build_event USING 'USER_COMMAND' &lt;/P&gt;&lt;P&gt;'F0750_USER_COMMAND'. &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;&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = report_id &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = FCAT &lt;/P&gt;&lt;P&gt;IT_EVENTS = i_events &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;t_outtab = DISPLAY &lt;/P&gt;&lt;P&gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f0650_build_event USING value(w_c_event_name) &lt;/P&gt;&lt;P&gt;value(w_c_event_form). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: f0650_wa_event TYPE slis_alv_event. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR f0650_wa_event. &lt;/P&gt;&lt;P&gt;f0650_wa_event-name = w_c_event_name. &lt;/P&gt;&lt;P&gt;f0650_wa_event-form = w_c_event_form. &lt;/P&gt;&lt;P&gt;APPEND f0650_wa_event TO i_events. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;FORM f0750_user_command USING w_ucomm TYPE sy-ucomm &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_selfield TYPE slis_selfield. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE w_ucomm. &lt;/P&gt;&lt;P&gt;WHEN '&amp;amp;IC1'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE DISPLAY INTO WA1 INDEX w_selfield-tabindex. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE E000 WITH &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' You have no authorization to view the report'. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call transaction 'SE11'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;End of Program &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&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;Hope this helps, Do reward.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 11:39:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417783#M820877</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T11:39:54Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module REUSE_ALV_GRID_DISPLAY?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417784#M820878</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this sample report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT BALVST02 NO STANDARD PAGE HEADING.
* ALV
TYPE-POOLS: SLIS.
* DB-Table
TABLES SFLIGHT.
* Includes
INCLUDE &amp;lt;ICON&amp;gt;.
INCLUDE &amp;lt;SYMBOL&amp;gt;.
*
CONSTANTS:
GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
      GS_LAYOUT   TYPE SLIS_LAYOUT_ALV,
      GS_PRINT    TYPE SLIS_PRINT_ALV,
      GT_SORT     TYPE SLIS_T_SORTINFO_ALV,
      GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
      GT_EVENTS   TYPE SLIS_T_EVENT.
* Data to be displayed
DATA: BEGIN OF GT_SFLIGHT OCCURS 0.
        INCLUDE STRUCTURE SFLIGHT.
DATA: ADD1,
      CARRNAME LIKE SCARR-CARRNAME,
      BOX,
      LIGHTS.
DATA: END OF GT_SFLIGHT.
*
DATA: G_REPID LIKE SY-REPID.
DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
* Report Selections
SELECT-OPTIONS CARRID FOR SFLIGHT-CARRID.
SELECT-OPTIONS CONNID FOR SFLIGHT-CONNID.
SELECT-OPTIONS FLDATE FOR SFLIGHT-FLDATE.
SELECTION-SCREEN SKIP 1.
* Parameters
PARAMETERS: P_MAXROW TYPE I DEFAULT 30.
SELECTION-SCREEN SKIP 1.
* Variante
SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-006.
PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK 0.
* Layout
SELECTION-SCREEN BEGIN OF BLOCK A WITH FRAME TITLE TEXT-060.
PARAMETERS:
            P_ZEBRA  AS CHECKBOX DEFAULT ' ',
            P_NOCOLH AS CHECKBOX DEFAULT ' ',
            P_NOVLIN AS CHECKBOX DEFAULT ' ',
            P_COLOPT AS CHECKBOX DEFAULT ' ',
            P_KEYHOT AS CHECKBOX DEFAULT ' ',
            P_NOINPT AS CHECKBOX DEFAULT ' ',
            P_MERGE  AS CHECKBOX DEFAULT ' '.
SELECTION-SCREEN END OF BLOCK A.
SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-061.
PARAMETERS:
            P_LIGHTS AS CHECKBOX DEFAULT ' ',
            P_LIGHTC AS CHECKBOX DEFAULT ' '.
SELECTION-SCREEN END OF BLOCK B.
SELECTION-SCREEN BEGIN OF BLOCK C WITH FRAME TITLE TEXT-062.
PARAMETERS:
            P_BEFORE AS CHECKBOX DEFAULT ' ',
            P_TOTONL AS CHECKBOX DEFAULT ' ',
            P_TOTEXT(60),
            P_STTEXT(60).
SELECTION-SCREEN END OF BLOCK C.
SELECTION-SCREEN BEGIN OF BLOCK D WITH FRAME TITLE TEXT-063.
PARAMETERS:
            P_GPCE   AS CHECKBOX DEFAULT ' ',
            P_CHKBOX AS CHECKBOX DEFAULT ' ',
            P_DETPOP AS CHECKBOX DEFAULT ' '.
SELECTION-SCREEN END OF BLOCK D.
SELECTION-SCREEN BEGIN OF BLOCK E WITH FRAME TITLE TEXT-064.
PARAMETERS:
            P_PRINT  AS CHECKBOX DEFAULT ' ',
            P_NOSINF AS CHECKBOX DEFAULT ' ',
            P_NOCOVE AS CHECKBOX DEFAULT ' ',
            P_NONEWP AS CHECKBOX DEFAULT ' ',
            P_NOLINF AS CHECKBOX DEFAULT ' ',
            P_RESERV TYPE I.
SELECTION-SCREEN END OF BLOCK E.
DATA:       G_BOXNAM TYPE SLIS_FIELDNAME VALUE  'BOX',
            P_F2CODE LIKE SY-UCOMM       VALUE  '&amp;amp;ETA',
            P_LIGNAM TYPE SLIS_FIELDNAME VALUE  'LIGHTS',
            G_SAVE(1) TYPE C,
            G_DEFAULT(1) TYPE C,
            G_EXIT(1) TYPE C,
            GX_VARIANT LIKE DISVARIANT,
            G_VARIANT LIKE DISVARIANT.
*---------------------------------------------------------------------*
INITIALIZATION.
  G_REPID = SY-REPID.
  PERFORM E01_FIELDCAT_INIT  USING GT_FIELDCAT[].
  PERFORM E03_EVENTTAB_BUILD USING GT_EVENTS[].
  PERFORM E04_COMMENT_BUILD  USING GT_LIST_TOP_OF_PAGE[].
  PERFORM E06_T_SORT_BUILD   USING GT_SORT[].
  PERFORM E07_SP_GROUP_BUILD USING GT_SP_GROUP[].
* Schalter Varianten benutzerspezifisch/allgemein speicherbar setzen
* Set Options: save variants userspecific or general
  G_SAVE = 'A'.
  PERFORM VARIANT_INIT.
* Get default variant
  GX_VARIANT = G_VARIANT.
  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
       EXPORTING
            I_SAVE     = G_SAVE
       CHANGING
            CS_VARIANT = GX_VARIANT
       EXCEPTIONS
            NOT_FOUND  = 2.
  IF SY-SUBRC = 0.
    P_VARI = GX_VARIANT-VARIANT.
  ENDIF.
* Process on value request
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
  PERFORM F4_FOR_VARIANT.

* PAI
AT SELECTION-SCREEN.
  PERFORM PAI_OF_SELECTION_SCREEN.


START-OF-SELECTION.
  PERFORM SELECTION.

END-OF-SELECTION.
  PERFORM E05_LAYOUT_BUILD USING GS_LAYOUT.     "wg. Parameters
  PERFORM E08_PRINT_BUILD  USING GS_PRINT.      "wg. Parameters
* Call ABAP/4 List Viewer
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            I_BACKGROUND_ID         = 'ALV_BACKGROUND'
            I_CALLBACK_PROGRAM      = G_REPID
            I_STRUCTURE_NAME        = 'SFLIGHT'
            IS_LAYOUT               = GS_LAYOUT
            IT_FIELDCAT             = GT_FIELDCAT[]
*           IT_EXCLUDING            =
            IT_SPECIAL_GROUPS       = GT_SP_GROUP[]
            IT_SORT                 = GT_SORT[]
*           IT_FILTER               =
*           IS_SEL_HIDE             =
*           i_default               = g_default
            I_SAVE                  = G_SAVE
            IS_VARIANT              = G_VARIANT
            IT_EVENTS               = GT_EVENTS[]
*           IT_EVENT_EXIT           =
            IS_PRINT                = GS_PRINT
*           I_SCREEN_START_COLUMN   = 0
*           I_SCREEN_START_LINE     = 0
*           I_SCREEN_END_COLUMN     = 0
*           I_SCREEN_END_LINE       = 0
*      IMPORTING
*           E_EXIT_CAUSED_BY_CALLER =
       TABLES
            T_OUTTAB                = GT_SFLIGHT.
*---------------------------------------------------------------------*
*       FORM E01_FIELDCAT_INIT                                        *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  E01_LT_FIELDCAT                                               *
*---------------------------------------------------------------------*
FORM E01_FIELDCAT_INIT USING E01_LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
  DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
*
  CLEAR LS_FIELDCAT.
* LS_FIELDCAT-COL_POS      = 1.
  LS_FIELDCAT-FIELDNAME    = 'ADD1'.
  LS_FIELDCAT-REPTEXT_DDIC = '?'.
  LS_FIELDCAT-OUTPUTLEN    = 1.
  LS_FIELDCAT-NO_OUT       = 'X'.
  LS_FIELDCAT-INPUT        = 'X'.
  LS_FIELDCAT-SP_GROUP = 'A'.
  APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
*
  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-FIELDNAME    = 'CARRNAME'.
  LS_FIELDCAT-COL_POS      = 2.
  LS_FIELDCAT-KEY          = 'X'.
  LS_FIELDCAT-KEY_SEL      = 'X'.
  LS_FIELDCAT-REF_TABNAME    = 'SCARR'.
  APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
*
  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-FIELDNAME    = 'SEATSOCC'.
  LS_FIELDCAT-DO_SUM       = 'X'.
  APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
*
  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-FIELDNAME    = 'PRICE'.
  LS_FIELDCAT-DO_SUM       = 'X'.
  APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
*
  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-COL_POS      = 1.
  LS_FIELDCAT-FIELDNAME    = 'CARRID'.
* ls_fieldcat-ref_fieldname    = 'SFLIGHT'.
  LS_FIELDCAT-TEXT_FIELDNAME = 'CARRNAME'.
* append ls_fieldcat to e01_lt_fieldcat.
*
* clear ls_fieldcat.
  LS_FIELDCAT-FIELDNAME    = 'CARRID'.
  LS_FIELDCAT-KEY_SEL      = 'X'.
  LS_FIELDCAT-NO_OUT       = 'X'.
  LS_FIELDCAT-OUTPUTLEN    = 7.
  APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM E02_DATA_ADD                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  E02_LT_SFLIGHT                                                *
*---------------------------------------------------------------------*
FORM E02_DATA_ADD TABLES E02_LT_SFLIGHT STRUCTURE GT_SFLIGHT.
  LOOP AT E02_LT_SFLIGHT.
    IF SY-TABIX &amp;gt; 10.
      E02_LT_SFLIGHT-ADD1 = 'A'.
      E02_LT_SFLIGHT-BOX  = 'X'.
      E02_LT_SFLIGHT-LIGHTS = '3'.
    ELSE.
      IF SY-TABIX = 1.
        E02_LT_SFLIGHT-LIGHTS = '2'.
      ELSE.
        E02_LT_SFLIGHT-LIGHTS = '1'.
      ENDIF.
    ENDIF.
    MODIFY E02_LT_SFLIGHT.
  ENDLOOP.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM E03_EVENTTAB_BUILD                                       *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  E03_LT_EVENTS                                                 *
*---------------------------------------------------------------------*
FORM E03_EVENTTAB_BUILD USING E03_LT_EVENTS TYPE SLIS_T_EVENT.
  DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
*
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
            I_LIST_TYPE = 0
       IMPORTING
            ET_EVENTS   = E03_LT_EVENTS.
  READ TABLE E03_LT_EVENTS WITH KEY NAME =  SLIS_EV_TOP_OF_PAGE
                           INTO LS_EVENT.
  IF SY-SUBRC = 0.
    MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
    APPEND LS_EVENT TO E03_LT_EVENTS.
  ENDIF.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM E04_COMMENT_BUILD                                        *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  E04_LT_TOP_OF_PAGE                                            *
*---------------------------------------------------------------------*
FORM E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
  DATA: LS_LINE TYPE SLIS_LISTHEADER.
*
* Listenüberschrift: Typ H
  CLEAR LS_LINE.
  LS_LINE-TYP  = 'H'.
* LS_LINE-KEY:  not used for this type
  LS_LINE-INFO = TEXT-100.
  APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
* Kopfinfo: Typ S
  CLEAR LS_LINE.
  LS_LINE-TYP  = 'S'.
  LS_LINE-KEY  = TEXT-101.
  LS_LINE-INFO = TEXT-102.
  APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
  LS_LINE-KEY  = TEXT-103.
  LS_LINE-INFO = TEXT-104.
  APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
* Aktionsinfo: Typ A
  CLEAR LS_LINE.
  LS_LINE-TYP  = 'A'.
* LS_LINE-KEY:  not used for this type
  LS_LINE-INFO = TEXT-105.
  APPEND LS_LINE TO  E04_LT_TOP_OF_PAGE.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM E05_LAYOUT_BUILD                                         *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  &amp;lt;-&amp;gt;  E05_LS_LAYOUT                                                 *
*---------------------------------------------------------------------*
FORM E05_LAYOUT_BUILD USING E05_LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
  E05_LS_LAYOUT-F2CODE            = P_F2CODE.
  E05_LS_LAYOUT-ZEBRA             = P_ZEBRA.
  E05_LS_LAYOUT-CELL_MERGE        = P_MERGE.
  E05_LS_LAYOUT-COLWIDTH_OPTIMIZE = P_COLOPT.
  IF P_CHKBOX = 'X'.
    E05_LS_LAYOUT-BOX_FIELDNAME     = G_BOXNAM.
  ELSE.
    E05_LS_LAYOUT-BOX_FIELDNAME     = SPACE.
  ENDIF.
  E05_LS_LAYOUT-NO_INPUT          = P_NOINPT.
  E05_LS_LAYOUT-NO_VLINE          = P_NOVLIN.
  E05_LS_LAYOUT-NO_COLHEAD        = P_NOCOLH.
  IF P_LIGHTS = 'X' OR P_LIGHTC = 'X'.
    E05_LS_LAYOUT-LIGHTS_FIELDNAME = P_LIGNAM.
  ELSE.
    CLEAR E05_LS_LAYOUT-LIGHTS_FIELDNAME.
  ENDIF.
  IF P_BEFORE = 'X'.
    E05_LS_LAYOUT-TOTALS_BEFORE_ITEMS = 'X'.
  ENDIF.
  IF P_GPCE = 'X'.
    E05_LS_LAYOUT-GROUP_CHANGE_EDIT = 'X'.
  ENDIF.
  E05_LS_LAYOUT-LIGHTS_CONDENSE = P_LIGHTC.
  E05_LS_LAYOUT-TOTALS_TEXT       = P_TOTEXT.
  E05_LS_LAYOUT-SUBTOTALS_TEXT    = P_STTEXT.
  E05_LS_LAYOUT-TOTALS_ONLY       = P_TOTONL.
  E05_LS_LAYOUT-KEY_HOTSPOT       = P_KEYHOT.
  E05_LS_LAYOUT-DETAIL_POPUP      = P_DETPOP.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM E06_T_SORT_BUILD                                         *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  E06_LT_SORT                                                   *
*---------------------------------------------------------------------*
FORM E06_T_SORT_BUILD USING E06_LT_SORT TYPE SLIS_T_SORTINFO_ALV.
  DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.
*
* ls_sort-fieldname = 'CARRID'.
* ls_sort-spos      = 1.
* ls_sort-up        = 'X'.
* ls_sort-subtot    = 'X'.
* append ls_sort to e06_lt_sort.
  CLEAR LS_SORT.
  LS_SORT-FIELDNAME = 'CARRNAME'.
  LS_SORT-SPOS      = 1.
  LS_SORT-UP        = 'X'.
* ls_sort-subtot    = 'X'.
  APPEND LS_SORT TO E06_LT_SORT.

  CLEAR LS_SORT.
  LS_SORT-FIELDNAME = 'CONNID'.
  LS_SORT-SPOS      = 2.
  LS_SORT-UP        = 'X'.
* ls_sort-subtot    = 'X'.
  APPEND LS_SORT TO E06_LT_SORT.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM E07_SP_GROUP_BUILD                                       *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  E07_LT_SP_GROUP                                               *
*---------------------------------------------------------------------*
FORM E07_SP_GROUP_BUILD USING E07_LT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV.
  DATA: LS_SP_GROUP TYPE SLIS_SP_GROUP_ALV.
*
  CLEAR  LS_SP_GROUP.
  LS_SP_GROUP-SP_GROUP = 'A'.
  LS_SP_GROUP-TEXT     = TEXT-005.
  APPEND LS_SP_GROUP TO E07_LT_SP_GROUP.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM E08_PRINT_BUILD                                          *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  E08_LS_PRINT                                                  *
*---------------------------------------------------------------------*
FORM E08_PRINT_BUILD USING E08_LS_PRINT TYPE SLIS_PRINT_ALV.
*
  E08_LS_PRINT-PRINT              = P_PRINT.
  E08_LS_PRINT-NO_PRINT_SELINFOS  = P_NOSINF.
  E08_LS_PRINT-NO_COVERPAGE       = P_NOCOVE.
  E08_LS_PRINT-NO_NEW_PAGE        = P_NONEWP.
  E08_LS_PRINT-NO_PRINT_LISTINFOS = P_NOLINF.
  E08_LS_PRINT-RESERVE_LINES      = P_RESERV.
  E08_LS_PRINT-PRINT              = P_PRINT.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM SELECTION                                                *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM SELECTION.
* select * from sflight into corresponding fields of table gt_sflight
*                                             up to p_maxrow rows
*                                             where carrid in carrid
*                                             and   connid in connid
*                                             and   fldate in fldate.
  SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM
                ( SFLIGHT LEFT JOIN SCARR
                  ON SFLIGHT~CARRID = SCARR~CARRID )

                                              UP TO P_MAXROW ROWS
                                WHERE SFLIGHT~CARRID IN CARRID
                                AND   SFLIGHT~CONNID IN CONNID
                                AND   SFLIGHT~FLDATE IN FLDATE.
*
  PERFORM E02_DATA_ADD TABLES GT_SFLIGHT.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM TOP_OF_PAGE                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM TOP_OF_PAGE.
*
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
*           i_logo             = 'HTMLCNTL_TESTHTM2_SAPLOGO'
            I_LOGO             = 'ENJOYSAP_LOGO'
            IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM F4_FOR_VARIANT                                           *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM F4_FOR_VARIANT.
*
  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
       EXPORTING
            IS_VARIANT          = G_VARIANT
            I_SAVE              = G_SAVE
*           it_default_fieldcat =
       IMPORTING
            E_EXIT              = G_EXIT
            ES_VARIANT          = GX_VARIANT
       EXCEPTIONS
            NOT_FOUND = 2.
  IF SY-SUBRC = 2.
    MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ELSE.
    IF G_EXIT = SPACE.
      P_VARI = GX_VARIANT-VARIANT.
    ENDIF.
  ENDIF.
ENDFORM.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  PAI_OF_SELECTION_SCREEN
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM PAI_OF_SELECTION_SCREEN.
*
  IF NOT P_VARI IS INITIAL.
    MOVE G_VARIANT TO GX_VARIANT.
    MOVE P_VARI TO GX_VARIANT-VARIANT.
    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
         EXPORTING
              I_SAVE     = G_SAVE
         CHANGING
              CS_VARIANT = GX_VARIANT.
    G_VARIANT = GX_VARIANT.
  ELSE.
    PERFORM VARIANT_INIT.
  ENDIF.
ENDFORM.                               " PAI_OF_SELECTION_SCREEN
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  VARIANT_INIT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM VARIANT_INIT.
*
  CLEAR G_VARIANT.
  G_VARIANT-REPORT = G_REPID.
ENDFORM.                               " VARIANT_INIT

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Vasanth&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 11:39:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417784#M820878</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T11:39:56Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module REUSE_ALV_GRID_DISPLAY?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417785#M820879</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;&lt;STRONG&gt;Text&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output of a simple list (single-line)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Functionality&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function module outputs an internal table with whatever structure in the form of a formatted single- oder multi-line list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Process:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Passing an internal table with the set of information to be output&lt;/P&gt;&lt;P&gt;Passing a structure with general layout specifications for list layout&lt;/P&gt;&lt;P&gt;Passing a field catalog in the form of an internal table&lt;/P&gt;&lt;P&gt;The field catalog describes the fields to be output in the list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Notes&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All interactions performed on the list refer directly to the internal output table. Sorting the list, for example, also involves a resorting of the internal output table passed (since it was passed by reference).&lt;/P&gt;&lt;P&gt;An important factor determining the usability of the tool or of various generic functions (totals, subtotals) is the expected amount of data to be displayed.&lt;/P&gt;&lt;P&gt;The application is responsible for critically testing this aspect and consider it when it comes to decision-making.&lt;/P&gt;&lt;P&gt;Further Information&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Parameters&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER&lt;/P&gt;&lt;P&gt;Meaning&lt;/P&gt;&lt;P&gt;If one of the default ALV function codes for 'Back', 'Cancel' or 'Exit' is triggered, the system destroys the current list and quits the ALV function module. In this case, exporting structure ES_EXIT_CAUSED_BY_USER is filled accordingly:&lt;/P&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER-BACK = 'X' Function 'Back' triggered&lt;/P&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER-CANCEL = 'X' Function 'Cancel' triggered&lt;/P&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER-EXIT = 'X' Function 'Exit' triggered&lt;/P&gt;&lt;P&gt;Knowing which function was triggered, the application can then determine further navigation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER&lt;/P&gt;&lt;P&gt;Meaning&lt;/P&gt;&lt;P&gt;Parameter that specifies if the caller in CALLBACK USER_COMMAND has forced the system to exit the list (SELFIELD-EXIT = 'X')&lt;/P&gt;&lt;P&gt;Range&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Hope this helps, Do reward.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 11:42:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417785#M820879</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T11:42:11Z</dc:date>
    </item>
    <item>
      <title>Re: Function Module REUSE_ALV_GRID_DISPLAY?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417786#M820880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi ben,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try this it might help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  Z84184_ALV1                                                 *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  z84184_alv1                             .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : lfa1,ekko,ekpo,mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT-OPTIONS : S_LIFNR FOR EKKO-EBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PARAMETERS : P_LIST RADIOBUTTON GROUP G1,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            P_GRID RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;       ebeln LIKE ekko-ebeln,&lt;/P&gt;&lt;P&gt;       aedat LIKE ekko-aedat,&lt;/P&gt;&lt;P&gt;       ernam LIKE ekko-ernam,&lt;/P&gt;&lt;P&gt;       lifnr LIKE ekko-lifnr,&lt;/P&gt;&lt;P&gt;       END OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF jtab OCCURS 0,&lt;/P&gt;&lt;P&gt;       ebelp LIKE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;       ebeln LIKE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;       aedat LIKE ekpo-aedat,&lt;/P&gt;&lt;P&gt;       werks LIKE ekpo-werks,&lt;/P&gt;&lt;P&gt;       END OF jtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF t_output OCCURS 0,&lt;/P&gt;&lt;P&gt;       ebeln LIKE ekko-ebeln,&lt;/P&gt;&lt;P&gt;       aedat LIKE ekko-aedat,&lt;/P&gt;&lt;P&gt;       ernam LIKE ekko-ernam,&lt;/P&gt;&lt;P&gt;       lifnr LIKE ekko-lifnr,&lt;/P&gt;&lt;P&gt;       ebelp LIKE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;       werks LIKE ekpo-werks,&lt;/P&gt;&lt;P&gt;       END OF t_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : repid LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : wa_cat TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;       b_cat  TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : T_ITEM TYPE SLIS_TABNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:s_ebeln FOR ekko-ebeln,&lt;/P&gt;&lt;P&gt;                s_aedat FOR ekko-aedat.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.&lt;/P&gt;&lt;P&gt;PARAMETERS:p_list RADIOBUTTON GROUP g1,&lt;/P&gt;&lt;P&gt;           p_grid RADIOBUTTON GROUP g1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF p_list = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_cat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_tabname   = 'EKKO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_cat-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_tabname   = 'EKKO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_cat-fieldname = ' ERNAM '.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_fieldname = ' ERNAM '.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_tabname   = 'EKKO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_cat-fieldname = ' LIFNR'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_fieldname = ' LIFNR '.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_tabname   = 'EKKO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_cat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_tabname   = 'EKPO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_cat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_tabname   = 'EKPO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*APPEND WA_CAT TO B_CAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_cat-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_tabname   = 'EKPO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_cat-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;  wa_cat-ref_tabname   = 'EKPO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_cat TO b_cat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_ITEM = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT ekko&lt;SUB&gt;ebeln ekko&lt;/SUB&gt;aedat ekko&lt;SUB&gt;ernam ekko&lt;/SUB&gt;lifnr ekpo&lt;SUB&gt;ebelp ekpo&lt;/SUB&gt;werks INTO TABLE t_output FROM ekko&lt;/P&gt;&lt;P&gt;  INNER JOIN ekpo ON ekko&lt;SUB&gt;ebeln = ekpo&lt;/SUB&gt;ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT EBELN AEDAT FROM EKKO INTO TABLE ITAB. " WHERE EKKO-EBELN IN S_LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = 'REPID'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_FIELDCAT                    = B_CAT&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_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_tabname_header               =&lt;/P&gt;&lt;P&gt;    i_tabname_item                 =&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_HEADER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME_ITEM          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    is_keyinfo                     =&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    t_outtab_header                =&lt;/P&gt;&lt;P&gt;    t_outtab_item                  = T_OUTPUT&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;  PROGRAM_ERROR                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                         = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_callback_program = 'REPID'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     it_fieldcat        = b_cat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_outtab           = t_output.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF P_GRID = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*WA_CAT-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;*WA_CAT-REF_FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;*WA_CAT-REF_TABNAME   = 'EKPO'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND WA_CAT TO B_CAT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*WA_CAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;*WA_CAT-REF_FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;*WA_CAT-REF_TABNAME   = 'EKPO'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND WA_CAT TO B_CAT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND WA_CAT TO B_CAT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*WA_CAT-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;*WA_CAT-REF_FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;*WA_CAT-REF_TABNAME   = 'EKPO'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND WA_CAT TO B_CAT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND WA_CAT TO B_CAT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*WA_CAT-FIELDNAME = 'WERKS'.&lt;/P&gt;&lt;P&gt;*WA_CAT-REF_FIELDNAME = 'WERKS'.&lt;/P&gt;&lt;P&gt;*WA_CAT-REF_TABNAME   = 'EKPO'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND WA_CAT TO B_CAT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT EBELP FROM EKPO INTO TABLE JTAB.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PROGRAM                = 'REPID'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FIELDCAT                       =  B_CAT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   t_outtab                          =  JTAB&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&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;*IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if found useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks And Regards&lt;/P&gt;&lt;P&gt;Chaitanya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 11:43:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/function-module-reuse-alv-grid-display/m-p/3417786#M820880</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T11:43:30Z</dc:date>
    </item>
  </channel>
</rss>

