<?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: problem regarding alv in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606535#M597496</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i_repid must contain the progrm name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try one of the following before the fieldcatalog_merge call:&lt;/P&gt;&lt;P&gt;i_repid = 'ZALV_GRID'. &lt;/P&gt;&lt;P&gt;i_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may also need to put internal table name in upper case:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'ITAB'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andrew&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 29 Jul 2007 01:52:22 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-29T01:52:22Z</dc:date>
    <item>
      <title>problem regarding alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606534#M597495</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;report zalv_grid.&lt;/P&gt;&lt;P&gt;tables: kna1.&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;data: fact type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;        i_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like kna1-kunnr,&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,&lt;/P&gt;&lt;P&gt;        end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: s_kunnr for kna1-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from kna1 into corresponding fields of table itab up to 10 rows&lt;/P&gt;&lt;P&gt;where kunnr in s_kunnr.&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 = i_repid.&lt;/P&gt;&lt;P&gt;     i_internal_tabname = 'itab'&lt;/P&gt;&lt;P&gt;     i_inclname = i_repid&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;     ct_fieldcat = fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'resuse_alv_list_display'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;     i_callback_program = i_repid&lt;/P&gt;&lt;P&gt;     it_fieldcat = fcat&lt;/P&gt;&lt;P&gt;     i_save = 'a'&lt;/P&gt;&lt;P&gt;table &lt;/P&gt;&lt;P&gt;     t_outtab = itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when i run this program it runs without any syntex errror but it gives message "fieldcatalog does not exist". how to resolve this problem plz help me i am new in ALV.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Jul 2007 18:25:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606534#M597495</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-28T18:25:48Z</dc:date>
    </item>
    <item>
      <title>Re: problem regarding alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606535#M597496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i_repid must contain the progrm name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try one of the following before the fieldcatalog_merge call:&lt;/P&gt;&lt;P&gt;i_repid = 'ZALV_GRID'. &lt;/P&gt;&lt;P&gt;i_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may also need to put internal table name in upper case:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'ITAB'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andrew&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 29 Jul 2007 01:52:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606535#M597496</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-29T01:52:22Z</dc:date>
    </item>
    <item>
      <title>Re: problem regarding alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606536#M597497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;fieldcatalog is not define properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see this example program,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REPORT Z_LIST_MATERIALS. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS. &lt;/P&gt;&lt;P&gt;TABLES:MARC, MARD, VBAP, LIPS, EKPO, VBFA, EKBE, MARM, VBBE, MARA, MBEW. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK SEL WITH FRAME TITLE TEXT-001. &lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_WERKS FOR MARC-WERKS, " Plant &lt;/P&gt;&lt;P&gt;                S_MATNR FOR MARC-MATNR, " Material &lt;/P&gt;&lt;P&gt;                S_MTART FOR MARA-MTART. " Material Type &lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK SEL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_VARI LIKE DISvariant-VARIANT. " ALV Variant &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF INV OCCURS 100, &lt;/P&gt;&lt;P&gt;        WERKS LIKE MARD-WERKS, " Plant &lt;/P&gt;&lt;P&gt;        MATNR LIKE MARD-MATNR, " Material &lt;/P&gt;&lt;P&gt;        MTART LIKE MARA-MTART, " Material Type &lt;/P&gt;&lt;P&gt;        STPRS LIKE MBEW-STPRS, " Standard Price &lt;/P&gt;&lt;P&gt;        AVAIL LIKE MARD-LABST, " Available &lt;/P&gt;&lt;P&gt;        LABST LIKE MARD-LABST, " Unrestricted use &lt;/P&gt;&lt;P&gt;        INSME LIKE MARD-INSME, " Quality Inspection &lt;/P&gt;&lt;P&gt;        RETME LIKE MARD-RETME, " Returns &lt;/P&gt;&lt;P&gt;        TRANS LIKE MARC-UMLMC, " Stock in transit (calculated) &lt;/P&gt;&lt;P&gt;        UMLMC LIKE MARC-UMLMC, " Stock Transfer (plant) &lt;/P&gt;&lt;P&gt;        UMLME LIKE MARD-UMLME, " Transfer (SLoc) &lt;/P&gt;&lt;P&gt;        WESBS LIKE EKBE-WESBS, " GR Blocked Stock &lt;/P&gt;&lt;P&gt;        TRAME LIKE MARC-TRAME, " Stock in transit &lt;/P&gt;&lt;P&gt;        SPEME LIKE MARD-SPEME, " Blocked &lt;/P&gt;&lt;P&gt;        KWMENG LIKE VBAP-KWMENG, " Sales orders &lt;/P&gt;&lt;P&gt;        LFIMG LIKE LIPS-LFIMG, " Scheduled for Delivery &lt;/P&gt;&lt;P&gt;        MENGE LIKE EKPO-MENGE, " Open Purch. Orders &lt;/P&gt;&lt;P&gt;        VALUE LIKE MBEW-SALK3, " Stock Value (Calculated) &lt;/P&gt;&lt;P&gt;        MEINS LIKE MARA-MEINS, " Unit of measure &lt;/P&gt;&lt;P&gt;      END OF INV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: FIELDTAB TYPE SLIS_T_FIELDCAT_ALV, &lt;/P&gt;&lt;P&gt;      HEADING  TYPE SLIS_T_LISTHEADER, &lt;/P&gt;&lt;P&gt;      LAYOUT   TYPE SLIS_LAYOUT_ALV, &lt;/P&gt;&lt;P&gt;      EVENTS   TYPE SLIS_T_EVENT, &lt;/P&gt;&lt;P&gt;      REPNAME  LIKE SY-REPID, &lt;/P&gt;&lt;P&gt;      F2CODE   LIKE SY-UCOMM VALUE  '&amp;amp;ETA', &lt;/P&gt;&lt;P&gt;      G_SAVE(1) TYPE C, &lt;/P&gt;&lt;P&gt;      G_EXIT(1) TYPE C, &lt;/P&gt;&lt;P&gt;      G_VARIANT LIKE DISVARIANT, &lt;/P&gt;&lt;P&gt;      GX_VARIANT LIKE DISVARIANT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;break-point. &lt;/P&gt;&lt;P&gt;INITIALIZATION. &lt;/P&gt;&lt;P&gt;  REPNAME = SY-REPID. &lt;/P&gt;&lt;P&gt;  PERFORM INITIALIZE_FIELDCAT USING FIELDTAB[]. &lt;/P&gt;&lt;P&gt;  PERFORM BUILD_EVENTTAB USING EVENTS[]. &lt;/P&gt;&lt;P&gt;  PERFORM BUILD_COMMENT USING HEADING[]. &lt;/P&gt;&lt;P&gt;  PERFORM INITIALIZE_VARIANT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;break-point. &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI. &lt;/P&gt;&lt;P&gt;  PERFORM F4_FOR_VARIANT. &lt;/P&gt;&lt;P&gt;break-point. &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN. &lt;/P&gt;&lt;P&gt;  PERFORM PAI_OF_SELECTION_SCREEN. &lt;/P&gt;&lt;P&gt;break-point. &lt;/P&gt;&lt;P&gt;START-OF-SELECTION. &lt;/P&gt;&lt;P&gt;  PERFORM GET_MARD. &lt;/P&gt;&lt;P&gt;  PERFORM GET_UNIT_OF_MEASURE. &lt;/P&gt;&lt;P&gt;  PERFORM GET_MARC. &lt;/P&gt;&lt;P&gt;  PERFORM GET_EKPO. &lt;/P&gt;&lt;P&gt;  PERFORM GET_LIPS. &lt;/P&gt;&lt;P&gt;  PERFORM GET_VBAP. &lt;/P&gt;&lt;P&gt;  PERFORM GET_OPEN. &lt;/P&gt;&lt;P&gt;  PERFORM GET_PRICE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION. &lt;/P&gt;&lt;P&gt;break-point. &lt;/P&gt;&lt;P&gt;  PERFORM BUILD_LAYOUT USING LAYOUT. &lt;/P&gt;&lt;P&gt;  PERFORM WRITE_OUTPUT. &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  INITIALIZE_FIELDCAT &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt; &lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt; &lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_FIELDTAB[]  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 INITIALIZE_FIELDCAT USING P_FIELDTAB TYPE SLIS_T_FIELDCAT_ALV. &lt;/P&gt;&lt;P&gt;  DATA: L_FIELDCAT TYPE SLIS_FIELDCAT_ALV. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fixed columns (obligatory) &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR L_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME    = 'INV'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIX_COLUMN = 'X'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-NO_OUT     = 'O'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME  = 'WERKS'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME  = 'MATNR'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;totalized columns &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR L_FIELDCAT. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME   = 'INV'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SP_GROUP  = 'A'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-DO_SUM    = 'X'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'LABST'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'INSME'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'RETME'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'UMLME'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'WESBS'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'SPEME'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;columns with different description &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'KWMENG'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_M = 'Sales Orders'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_S = 'Sales Or'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L = 'Sales Orders Qty'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'LFIMG'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_M = 'Sched. Delivery'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_S = 'Schd. Del'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L = 'Scheduled for Delivery'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'TRANS'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_M = 'Stk. in transit'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_S = 'Stk. trns'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L = 'Stock in transit (sum)'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'AVAIL'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_M = 'Available'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_S = 'Avail.'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L = 'Stock Available'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'MENGE'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_M = 'Open Orders'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_S = 'Open Ord'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L = 'Open Purchase Orders'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;columns not displayed &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR L_FIELDCAT. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME   = 'INV'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SP_GROUP  = 'A'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-NO_OUT    = 'X'. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'MEINS'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'UMLMC'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'TRAME'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'STPRS'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME = 'VALUE'. &lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO P_FIELDTAB. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " INITIALIZE_FIELDCAT &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  BUILD_EVENTTAB &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_EVENTS[]  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_EVENTTAB USING P_EVENTS TYPE SLIS_T_EVENT. &lt;/P&gt;&lt;P&gt;  DATA: LS_EVENT TYPE SLIS_ALV_EVENT. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            I_LIST_TYPE = 0 &lt;/P&gt;&lt;P&gt;       IMPORTING &lt;/P&gt;&lt;P&gt;            ET_EVENTS   = P_EVENTS. &lt;/P&gt;&lt;P&gt;  READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE &lt;/P&gt;&lt;P&gt;                           INTO LS_EVENT. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0. &lt;/P&gt;&lt;P&gt;    MOVE FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM. &lt;/P&gt;&lt;P&gt;    APPEND LS_EVENT TO P_EVENTS. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_EVENTTAB &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  BUILD_COMMENT &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 BUILD_COMMENT USING P_HEADING TYPE SLIS_T_LISTHEADER. &lt;/P&gt;&lt;P&gt;  DATA: HLINE TYPE SLIS_LISTHEADER, &lt;/P&gt;&lt;P&gt;        TEXT(60) TYPE C, &lt;/P&gt;&lt;P&gt;        SEP(20) TYPE C. &lt;/P&gt;&lt;P&gt;  CLEAR: HLINE, TEXT. &lt;/P&gt;&lt;P&gt;  HLINE-TYP  = 'H'. &lt;/P&gt;&lt;P&gt;  WRITE: TEXT-101 TO TEXT+23. &lt;/P&gt;&lt;P&gt;  HLINE-INFO = TEXT. &lt;/P&gt;&lt;P&gt;  APPEND HLINE TO P_HEADING. &lt;/P&gt;&lt;P&gt;  CLEAR TEXT. &lt;/P&gt;&lt;P&gt;  WRITE: 'User: ' TO TEXT, &lt;/P&gt;&lt;P&gt;         SY-UNAME TO TEXT+6, &lt;/P&gt;&lt;P&gt;         'Date: ' TO TEXT+25, &lt;/P&gt;&lt;P&gt;         SY-DATUM TO TEXT+31, &lt;/P&gt;&lt;P&gt;         'Page: ' TO TEXT+50, &lt;/P&gt;&lt;P&gt;         SY-PAGNO TO TEXT+56. &lt;/P&gt;&lt;P&gt;  HLINE-INFO = TEXT. &lt;/P&gt;&lt;P&gt;  APPEND HLINE TO P_HEADING. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_COMMENT &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;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  INITIALIZE_VARIANT &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt; &lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt; &lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM INITIALIZE_VARIANT. &lt;/P&gt;&lt;P&gt;  G_SAVE = 'A'. &lt;/P&gt;&lt;P&gt;  CLEAR G_VARIANT. &lt;/P&gt;&lt;P&gt;  G_VARIANT-REPORT = REPNAME. &lt;/P&gt;&lt;P&gt;  GX_VARIANT = G_VARIANT. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            I_SAVE     = G_SAVE &lt;/P&gt;&lt;P&gt;       CHANGING &lt;/P&gt;&lt;P&gt;            CS_VARIANT = GX_VARIANT &lt;/P&gt;&lt;P&gt;       EXCEPTIONS &lt;/P&gt;&lt;P&gt;            NOT_FOUND  = 2. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0. &lt;/P&gt;&lt;P&gt;    P_VARI = GX_VARIANT-VARIANT. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " INITIALIZE_VARIANT &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  F4_FOR_VARIANT &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt; &lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt; &lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F4_FOR_VARIANT. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            IS_VARIANT = G_VARIANT &lt;/P&gt;&lt;P&gt;            I_SAVE     = G_SAVE &lt;/P&gt;&lt;P&gt;       IMPORTING &lt;/P&gt;&lt;P&gt;            E_EXIT     = G_EXIT &lt;/P&gt;&lt;P&gt;            ES_VARIANT = GX_VARIANT &lt;/P&gt;&lt;P&gt;       EXCEPTIONS &lt;/P&gt;&lt;P&gt;            NOT_FOUND  = 2. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 2. &lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO &lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;P&gt;  ELSE. &lt;/P&gt;&lt;P&gt;    IF G_EXIT = SPACE. &lt;/P&gt;&lt;P&gt;      P_VARI = GX_VARIANT-VARIANT. &lt;/P&gt;&lt;P&gt;    ENDIF. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " F4_FOR_VARIANT &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  PAI_OF_SELECTION_SCREEN &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 PAI_OF_SELECTION_SCREEN. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT P_VARI IS INITIAL. &lt;/P&gt;&lt;P&gt;    MOVE G_VARIANT TO GX_VARIANT. &lt;/P&gt;&lt;P&gt;    MOVE P_VARI TO GX_VARIANT-VARIANT. &lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE' &lt;/P&gt;&lt;P&gt;         EXPORTING &lt;/P&gt;&lt;P&gt;              I_SAVE     = G_SAVE &lt;/P&gt;&lt;P&gt;         CHANGING &lt;/P&gt;&lt;P&gt;              CS_VARIANT = GX_VARIANT. &lt;/P&gt;&lt;P&gt;    G_VARIANT = GX_VARIANT. &lt;/P&gt;&lt;P&gt;  ELSE. &lt;/P&gt;&lt;P&gt;    PERFORM INITIALIZE_VARIANT. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " PAI_OF_SELECTION_SCREEN &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  GET_MARD &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 GET_MARD. &lt;/P&gt;&lt;P&gt;  SELECT MATNR WERKS LABST INSME RETME UMLME SPEME &lt;/P&gt;&lt;P&gt;         FROM MARD &lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF INV &lt;/P&gt;&lt;P&gt;         WHERE MATNR IN S_MATNR &lt;/P&gt;&lt;P&gt;         AND   WERKS IN S_WERKS. &lt;/P&gt;&lt;P&gt;    COLLECT INV. &lt;/P&gt;&lt;P&gt;  ENDSELECT. &lt;/P&gt;&lt;P&gt;  PERFORM FILTER_BY_MATERIAL_TYPE. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_MARD &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  FILTER_BY_MATERIAL_TYPE &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 FILTER_BY_MATERIAL_TYPE. &lt;/P&gt;&lt;P&gt;  LOOP AT INV. &lt;/P&gt;&lt;P&gt;    CLEAR INV-MTART. &lt;/P&gt;&lt;P&gt;    SELECT SINGLE MTART &lt;/P&gt;&lt;P&gt;           INTO INV-MTART &lt;/P&gt;&lt;P&gt;           FROM MARA &lt;/P&gt;&lt;P&gt;           WHERE MATNR EQ INV-MATNR &lt;/P&gt;&lt;P&gt;           AND   MTART IN S_MTART. &lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0. &lt;/P&gt;&lt;P&gt;      MODIFY INV. &lt;/P&gt;&lt;P&gt;    ELSE. &lt;/P&gt;&lt;P&gt;      DELETE INV. &lt;/P&gt;&lt;P&gt;    ENDIF. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILTER_BY_MATERIAL_TYPE &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  GET_MARC &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 GET_MARC. &lt;/P&gt;&lt;P&gt;  LOOP AT INV. &lt;/P&gt;&lt;P&gt;    SELECT SINGLE UMLMC TRAME &lt;/P&gt;&lt;P&gt;           FROM MARC &lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF INV &lt;/P&gt;&lt;P&gt;           WHERE MATNR EQ INV-MATNR &lt;/P&gt;&lt;P&gt;           AND   WERKS EQ INV-WERKS. &lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0. &lt;/P&gt;&lt;P&gt;      INV-TRANS = INV-UMLMC + INV-TRAME. &lt;/P&gt;&lt;P&gt;      MODIFY INV. &lt;/P&gt;&lt;P&gt;    ENDIF. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_MARC &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  GET_EKPO &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 GET_EKPO. &lt;/P&gt;&lt;P&gt;  DATA: WESBS LIKE INV-WESBS, &lt;/P&gt;&lt;P&gt;        SHKZG LIKE EKBE-SHKZG, &lt;/P&gt;&lt;P&gt;        MEINS LIKE EKPO-MEINS, &lt;/P&gt;&lt;P&gt;        LMEIN LIKE EKPO-LMEIN. &lt;/P&gt;&lt;P&gt;  LOOP AT INV. &lt;/P&gt;&lt;P&gt;    CLEAR: WESBS, SHKZG, MEINS, LMEIN. &lt;/P&gt;&lt;P&gt;    SELECT Y&lt;SUB&gt;WESBS Y&lt;/SUB&gt;SHKZG X&lt;SUB&gt;MEINS X&lt;/SUB&gt;LMEIN &lt;/P&gt;&lt;P&gt;           INTO (WESBS, SHKZG, MEINS, LMEIN) &lt;/P&gt;&lt;P&gt;           FROM EKPO AS X JOIN EKBE AS Y &lt;/P&gt;&lt;P&gt;           ON   X&lt;SUB&gt;EBELN = Y&lt;/SUB&gt;EBELN &lt;/P&gt;&lt;P&gt;           AND  X&lt;SUB&gt;EBELP = Y&lt;/SUB&gt;EBELP &lt;/P&gt;&lt;P&gt;           WHERE X~MATNR EQ INV-MATNR &lt;/P&gt;&lt;P&gt;           AND   X~WERKS EQ INV-WERKS &lt;/P&gt;&lt;P&gt;           AND   X~LOEKZ NE 'L'. &lt;/P&gt;&lt;P&gt;      IF SHKZG EQ 'H'. &lt;/P&gt;&lt;P&gt;        MULTIPLY WESBS BY -1. &lt;/P&gt;&lt;P&gt;      ENDIF. &lt;/P&gt;&lt;P&gt;      IF MEINS NE LMEIN. &lt;/P&gt;&lt;P&gt;        PERFORM CONVERT_UNIT_OF_MEASURE CHANGING INV-MATNR MEINS WESBS. &lt;/P&gt;&lt;P&gt;      ENDIF. &lt;/P&gt;&lt;P&gt;      ADD WESBS TO INV-WESBS. &lt;/P&gt;&lt;P&gt;    ENDSELECT. &lt;/P&gt;&lt;P&gt;    MODIFY INV. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_EKPO &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  GET_LIPS &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 GET_LIPS. &lt;/P&gt;&lt;P&gt;  DATA: LFIMG LIKE INV-LFIMG. &lt;/P&gt;&lt;P&gt;  LOOP AT INV. &lt;/P&gt;&lt;P&gt;    CLEAR: LFIMG, INV-LFIMG. &lt;/P&gt;&lt;P&gt;    SELECT OMENG &lt;/P&gt;&lt;P&gt;           INTO LFIMG &lt;/P&gt;&lt;P&gt;           FROM VBBE &lt;/P&gt;&lt;P&gt;           WHERE MATNR EQ INV-MATNR &lt;/P&gt;&lt;P&gt;           AND   WERKS EQ INV-WERKS &lt;/P&gt;&lt;P&gt;           AND   VBTYP EQ 'J'. &lt;/P&gt;&lt;P&gt;      ADD LFIMG TO INV-LFIMG. &lt;/P&gt;&lt;P&gt;    ENDSELECT. &lt;/P&gt;&lt;P&gt;    MODIFY INV. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_LIPS &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  GET_VBAP &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 GET_VBAP. &lt;/P&gt;&lt;P&gt;  DATA: KWMENG LIKE INV-KWMENG. &lt;/P&gt;&lt;P&gt;  LOOP AT INV. &lt;/P&gt;&lt;P&gt;    CLEAR: KWMENG, INV-KWMENG. &lt;/P&gt;&lt;P&gt;    SELECT OMENG &lt;/P&gt;&lt;P&gt;           INTO KWMENG &lt;/P&gt;&lt;P&gt;           FROM VBBE &lt;/P&gt;&lt;P&gt;           WHERE MATNR EQ INV-MATNR &lt;/P&gt;&lt;P&gt;           AND   WERKS EQ INV-WERKS &lt;/P&gt;&lt;P&gt;           AND   VBTYP EQ 'C'. &lt;/P&gt;&lt;P&gt;      ADD KWMENG TO INV-KWMENG. &lt;/P&gt;&lt;P&gt;    ENDSELECT. &lt;/P&gt;&lt;P&gt;    INV-AVAIL = INV-LABST - INV-INSME - INV-KWMENG - INV-LFIMG. &lt;/P&gt;&lt;P&gt;    MODIFY INV. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_VBAP &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  GET_UNIT_OF_MEASURE &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 GET_UNIT_OF_MEASURE. &lt;/P&gt;&lt;P&gt;  LOOP AT INV. &lt;/P&gt;&lt;P&gt;    SELECT SINGLE MEINS &lt;/P&gt;&lt;P&gt;           FROM MARA &lt;/P&gt;&lt;P&gt;           INTO INV-MEINS &lt;/P&gt;&lt;P&gt;           WHERE MATNR EQ INV-MATNR. &lt;/P&gt;&lt;P&gt;    MODIFY INV. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_UNIT_OF_MEASURE &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  GET_OPEN &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 GET_OPEN. &lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF XTAB OCCURS 10,       " Open orders table &lt;/P&gt;&lt;P&gt;           WERKS LIKE EKPO-WERKS, &lt;/P&gt;&lt;P&gt;           LGORT LIKE EKPO-LGORT, &lt;/P&gt;&lt;P&gt;           MATNR LIKE EKPO-MATNR, &lt;/P&gt;&lt;P&gt;           MENGE LIKE EKPO-MENGE, &lt;/P&gt;&lt;P&gt;           MENGK LIKE EKPO-MENGE, &lt;/P&gt;&lt;P&gt;         END OF XTAB. &lt;/P&gt;&lt;P&gt;  RANGES: L_WERKS FOR MARD-WERKS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT INV. &lt;/P&gt;&lt;P&gt;    REFRESH XTAB. &lt;/P&gt;&lt;P&gt;    CLEAR: XTAB, L_WERKS. &lt;/P&gt;&lt;P&gt;    MOVE INV-WERKS TO L_WERKS-LOW. &lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MB_ADD_PURCHASE_ORDER_QUANTITY' &lt;/P&gt;&lt;P&gt;         EXPORTING &lt;/P&gt;&lt;P&gt;              X_MATNR = INV-MATNR &lt;/P&gt;&lt;P&gt;              X_MEINS = INV-MEINS &lt;/P&gt;&lt;P&gt;              X_ELIKZ = SPACE &lt;/P&gt;&lt;P&gt;              X_LOEKZ = SPACE &lt;/P&gt;&lt;P&gt;         TABLES &lt;/P&gt;&lt;P&gt;              XTAB    = XTAB &lt;/P&gt;&lt;P&gt;              XWERKS  = L_WERKS. &lt;/P&gt;&lt;P&gt;    MOVE XTAB-MENGE TO INV-MENGE. &lt;/P&gt;&lt;P&gt;    MODIFY INV. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_OPEN &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  GET_PRICE &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 GET_PRICE. &lt;/P&gt;&lt;P&gt;  LOOP AT INV. &lt;/P&gt;&lt;P&gt;    SELECT SINGLE STPRS &lt;/P&gt;&lt;P&gt;           FROM MBEW &lt;/P&gt;&lt;P&gt;           INTO INV-STPRS &lt;/P&gt;&lt;P&gt;           WHERE MATNR EQ INV-MATNR &lt;/P&gt;&lt;P&gt;           AND   BWKEY EQ INV-WERKS &lt;/P&gt;&lt;P&gt;           AND   BWTAR EQ SPACE. &lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0. &lt;/P&gt;&lt;P&gt;        INV-VALUE = INV-STPRS * &lt;/P&gt;&lt;P&gt;                  ( INV-LABST + INV-INSME + INV-TRANS + INV-SPEME ). &lt;/P&gt;&lt;P&gt;        MODIFY INV. &lt;/P&gt;&lt;P&gt;      ENDIF. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_PRICE &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 CONVERT_UNIT_OF_MEASURE                                  * &lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;      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_MATNR                                                       * &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_VRKME                                                       * &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_QUANT                                                       * &lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 CONVERT_UNIT_OF_MEASURE USING P_MATNR P_VRKME P_QUANT. &lt;/P&gt;&lt;P&gt;  DATA: UMREZ LIKE MARM-UMREZ, &lt;/P&gt;&lt;P&gt;        UMREN LIKE MARM-UMREN. &lt;/P&gt;&lt;P&gt;  SELECT SINGLE UMREZ UMREN &lt;/P&gt;&lt;P&gt;         INTO (UMREZ, UMREN) &lt;/P&gt;&lt;P&gt;         FROM MARM &lt;/P&gt;&lt;P&gt;         WHERE MATNR EQ P_MATNR &lt;/P&gt;&lt;P&gt;         AND   MEINH EQ P_VRKME. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0. &lt;/P&gt;&lt;P&gt;    COMPUTE P_QUANT = ( P_QUANT * UMREZ ) / UMREN. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;ENDFORM. &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  BUILD_LAYOUT &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt; &lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt; &lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_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 BUILD_LAYOUT USING P_LAYOUT TYPE SLIS_LAYOUT_ALV. &lt;/P&gt;&lt;P&gt;  P_LAYOUT-F2CODE       = F2CODE. &lt;/P&gt;&lt;P&gt;  P_LAYOUT-ZEBRA        = 'X'. &lt;/P&gt;&lt;P&gt;  P_LAYOUT-DETAIL_POPUP = 'X'. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_LAYOUT &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  WRITE_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 WRITE_OUTPUT. &lt;/P&gt;&lt;P&gt;  SORT INV BY WERKS MATNR. &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     = REPNAME &lt;/P&gt;&lt;P&gt;            I_INTERNAL_TABNAME = 'INV' &lt;/P&gt;&lt;P&gt;            I_INCLNAME         = REPNAME &lt;/P&gt;&lt;P&gt;       CHANGING &lt;/P&gt;&lt;P&gt;            CT_FIELDCAT        = FIELDTAB. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;    WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_FIELDCATALOG_MERGE'. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            I_CALLBACK_PROGRAM = REPNAME &lt;/P&gt;&lt;P&gt;            I_STRUCTURE_NAME   = 'INV' &lt;/P&gt;&lt;P&gt;            IS_LAYOUT          = LAYOUT &lt;/P&gt;&lt;P&gt;            IT_FIELDCAT        = FIELDTAB &lt;/P&gt;&lt;P&gt;            I_DEFAULT          = 'A' &lt;/P&gt;&lt;P&gt;            I_SAVE             = G_SAVE &lt;/P&gt;&lt;P&gt;            IS_VARIANT         = G_VARIANT &lt;/P&gt;&lt;P&gt;            IT_EVENTS          = EVENTS[] &lt;/P&gt;&lt;P&gt;       TABLES &lt;/P&gt;&lt;P&gt;            T_OUTTAB           = INV. &lt;/P&gt;&lt;P&gt;break-point. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;    WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_LIST_DISPLAY'. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;ENDFORM.                               " WRITE_OUTPUT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function REUSE_ALV_FIELDCATALOG_MERGE is used for retrieve a catalog = &lt;/P&gt;&lt;P&gt;from a table defined in DDICT. Then you can modify it as you want. You = &lt;/P&gt;&lt;P&gt;can see an example in BALV* programs demos. &lt;/P&gt;&lt;P&gt;Look this example: &lt;/P&gt;&lt;P&gt;in the program J_1AINFG is called as: &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' =20 &lt;/P&gt;&lt;P&gt;EXPORTING =20 &lt;/P&gt;&lt;P&gt;i_internal_tabname = TABLEINT &lt;/P&gt;&lt;P&gt;i_structure_name = 'J_1AIFALVHDR' =20 &lt;/P&gt;&lt;P&gt;CHANGING =20 &lt;/P&gt;&lt;P&gt;ct_fieldcat = i_fieldcat[]. =20 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where i_structure name is defined in DDICT. Then you can add, delete, or = &lt;/P&gt;&lt;P&gt;modify masks, lengths, etc. properties of fields in this table. &lt;/P&gt;&lt;P&gt;In my program I need add a lot of fields &lt;/P&gt;&lt;P&gt;LOOP AT i_fieldcat INTO wa_fieldcat. =20 &lt;/P&gt;&lt;P&gt;MOVE wa_fieldcat TO wa_auxfieldcat. =20 &lt;/P&gt;&lt;P&gt;CASE wa_fieldcat-col_pos. =20 &lt;/P&gt;&lt;P&gt;WHEN 27. =20 &lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat. =20 &lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'COEFIC1'. =20 &lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = g_tabname_header. =20 &lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 27. =20 &lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_s = 'Coef.Per.'. =20 &lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_m = 'Coefic.Per=EDodo'. =20 &lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'Coeficiente del Per=EDodo'. =20 &lt;/P&gt;&lt;P&gt;wa_fieldcat-outputlen = 9. =20 &lt;/P&gt;&lt;P&gt;wa_fieldcat-just = 'R'. =20 &lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO auxcatalogo. =20 &lt;/P&gt;&lt;P&gt;ADD 1 TO wa_auxfieldcat-col_pos. =20 &lt;/P&gt;&lt;P&gt;.. &lt;/P&gt;&lt;P&gt;ENDCASE. &lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;i_fieldcat[] = auxcatalogo[].&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 29 Jul 2007 02:53:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606536#M597497</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-29T02:53:18Z</dc:date>
    </item>
    <item>
      <title>Re: problem regarding alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606537#M597498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;the function REUSE_ALV_FIELDCATALOG_MERGE does not require the definition of the catalog structure to be stored in the dictionary - It can just as easily use an internal table that is only defined in your program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you have an internal table defined with a lot of fields using this function to set up the field catalog can greatly simplify your program.  As long as all fields in the internal table are defined as 'LIKE' a dictionary field they will inherit the attribute of that dictionary field.  One note is that the function does not recognise fields defined as 'TYPE' except for basic types like "TYPE C". So "WERKS LIKE MARD-WERKS" will work, but "WERKS TYPE MARD-WERKS" will not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You simply need to call the REUSE_ALV_FIELDCATALOG_MERGE function and give it your program name and the name of the structure defining your internal table - it then returns a field catalog which you can loop at to modify descriptions, widths, etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andrew&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 29 Jul 2007 04:58:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606537#M597498</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-29T04:58:56Z</dc:date>
    </item>
    <item>
      <title>Re: problem regarding alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606538#M597499</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;REPORT ZALV_GRID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables kna1.&lt;/P&gt;&lt;P&gt;type-pools slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: fcat type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      i_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;      kunnr like kna1-kunnr,&lt;/P&gt;&lt;P&gt;      name1 like kna1-name1,&lt;/P&gt;&lt;P&gt;      end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: s_kunnr for kna1-kunnr.&lt;/P&gt;&lt;P&gt;i_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from kna1 into corresponding fields of table itab up to 10 rows&lt;/P&gt;&lt;P&gt; where kunnr in s_kunnr.&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               = i_repid&lt;/P&gt;&lt;P&gt;    I_INTERNAL_TABNAME           = 'ITAB'&lt;/P&gt;&lt;UL&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_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_INCLNAME                   = i_repid&lt;/P&gt;&lt;UL&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;   CHANGING&lt;/P&gt;&lt;P&gt;     CT_FIELDCAT                  = fcat&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; 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; 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             = 'i_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;   I_STRUCTURE_NAME               =&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                    = fcat&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;/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;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;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                       = itab&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;i made &lt;/P&gt;&lt;P&gt;"I_INTERNAL_TABNAME           = 'ITAB'"&lt;/P&gt;&lt;P&gt;and &lt;/P&gt;&lt;P&gt;"I_SAVE                         = 'A'"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;previously i used lower case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for solution&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 29 Jul 2007 13:17:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-regarding-alv/m-p/2606538#M597499</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-29T13:17:11Z</dc:date>
    </item>
  </channel>
</rss>

