<?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: developing report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/developing-report/m-p/3028100#M716087</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;SAP standard  report RFKOPR10 is the program for vendor ageing report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following program is the VENDOR performance report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZFI.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TABLES : bsik, BAPIFVDEXP_VZZBEPP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : t_bsik LIKE bsik OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       t_bsak LIKE bsak OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       days like BAPIFVDEXP_VZZBEPP-NUM4.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_lfa1 OCCURS 0,&lt;/P&gt;&lt;P&gt;         lifnr LIKE lfa1-lifnr,&lt;/P&gt;&lt;P&gt;         name1 LIKE lfa1-name1,&lt;/P&gt;&lt;P&gt;         adrnr LIKE lfa1-adrnr,&lt;/P&gt;&lt;P&gt;       END OF t_lfa1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_adrc OCCURS 0,&lt;/P&gt;&lt;P&gt;         adrnr LIKE lfa1-adrnr,&lt;/P&gt;&lt;P&gt;         street LIKE adrc-street,&lt;/P&gt;&lt;P&gt;         city1 LIKE adrc-city1,&lt;/P&gt;&lt;P&gt;       END OF t_adrc.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_BSEG OCCURS 0,&lt;/P&gt;&lt;P&gt;         zfbdt LIKE BSEG-zfbdt,&lt;/P&gt;&lt;P&gt;         KOART LIKE BSEG-KOART,&lt;/P&gt;&lt;P&gt;         KOSTL LIKE BSEG-KOSTL,&lt;/P&gt;&lt;P&gt;         PROJK LIKE BSEG-PROJK,&lt;/P&gt;&lt;P&gt;       END OF t_BSEG.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_prps OCCURS 0,&lt;/P&gt;&lt;P&gt;         POSID like prps-posid,&lt;/P&gt;&lt;P&gt;         OBJNR like prps-objnr,&lt;/P&gt;&lt;P&gt;      END OF t_prps.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : T_KOSTL LIKE BSEG-KOSTL,&lt;/P&gt;&lt;P&gt;       T_PROJK LIKE BSEG-PROJK,&lt;/P&gt;&lt;P&gt;       TEXT(15).&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;         lifnr LIKE lfa1-lifnr,&lt;/P&gt;&lt;P&gt;         name1 LIKE lfa1-name1,&lt;/P&gt;&lt;P&gt;         street LIKE adrc-street,&lt;/P&gt;&lt;P&gt;         city1 LIKE adrc-city1,&lt;/P&gt;&lt;P&gt;         OBJNR LIKE prps-OBJNR,&lt;/P&gt;&lt;P&gt;         posid LIKE prps-posid,&lt;/P&gt;&lt;P&gt;         KOSTL LIKE BSIK-KOSTL, " COST CENTER&lt;/P&gt;&lt;P&gt;         UMSKZ like bsik-UMSKZ,&lt;/P&gt;&lt;P&gt;         belnr like bsik-belnr,&lt;/P&gt;&lt;P&gt;         bukrs like bsik-bukrs,&lt;/P&gt;&lt;P&gt;         gjahr like bsik-gjahr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        wrbtr like bsik-wrbtr,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         dmbtr like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         hkont like bsik-hkont,&lt;/P&gt;&lt;P&gt;         dif1  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         dif2  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         dif3  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         dif4  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         dif5  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         days like BAPIFVDEXP_VZZBEPP-NUM4,&lt;/P&gt;&lt;P&gt;       END OF t_output.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Alv data declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;DATA :alv_fieldcat            TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      alv_fieldcat_line       LIKE LINE OF alv_fieldcat,&lt;/P&gt;&lt;P&gt;      alv_sort                TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;      alv_sort_line           LIKE LINE OF alv_sort,&lt;/P&gt;&lt;P&gt;      alv_layout              TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      g_repid                 LIKE sy-repid VALUE sy-repid,&lt;/P&gt;&lt;P&gt;      alv_status_set          TYPE slis_formname VALUE 'ALV_STATUS_SET',&lt;/P&gt;&lt;P&gt;      alv_user_comm           TYPE slis_formname VALUE 'ALV_USER_COMM',&lt;/P&gt;&lt;P&gt;      grid_title              TYPE lvc_title,&lt;/P&gt;&lt;P&gt;      alv_fieldcat_acty       TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      g_save,&lt;/P&gt;&lt;P&gt;      gs_variant                LIKE disvariant,&lt;/P&gt;&lt;P&gt;      g_exit_caused_by_caller   TYPE c,&lt;/P&gt;&lt;P&gt;      gs_exit_caused_by_user    TYPE slis_exit_by_user.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: alv_fieldcat_line_acty  LIKE LINE OF alv_fieldcat_acty,&lt;/P&gt;&lt;P&gt;      alv_layout_acty         TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gt_list_top_of_page     TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;      gt_events               TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;      message                 TYPE string,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      r_ucomm     LIKE sy-ucomm,&lt;/P&gt;&lt;P&gt;      rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;      gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.&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-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : s_bukrs FOR bsik-bukrs,&lt;/P&gt;&lt;P&gt;                 s_gjahr FOR bsik-gjahr,&lt;/P&gt;&lt;P&gt;                 s_lifnr FOR bsik-lifnr,&lt;/P&gt;&lt;P&gt;                 s_umskz FOR bsik-umskz.&lt;/P&gt;&lt;P&gt;parameters     : p_augdt like bsik-augdt OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : s_date1 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 1 TO 30,&lt;/P&gt;&lt;P&gt;                 s_date2 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 30 TO 60,&lt;/P&gt;&lt;P&gt;                 s_date3 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 60 TO 90,&lt;/P&gt;&lt;P&gt;                 s_date4 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 90 TO 120,&lt;/P&gt;&lt;P&gt;                 s_date5 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 120 TO 150.&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;INITIALIZATION.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM fetch_data.&lt;/P&gt;&lt;P&gt;  PERFORM display.&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  fetch_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;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 fetch_data .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;  INTO TABLE t_bsik&lt;/P&gt;&lt;P&gt;  FROM bsik&lt;/P&gt;&lt;P&gt;  WHERE bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;  AND   gjahr IN s_gjahr&lt;/P&gt;&lt;P&gt;  AND   lifnr IN s_lifnr&lt;/P&gt;&lt;P&gt;  AND   umskz IN s_umskz&lt;/P&gt;&lt;P&gt;  AND   umskz NOT IN ('F','P','L','G').&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AND   zfbdt &amp;lt;= P_augdt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    INTO TABLE t_bsak&lt;/P&gt;&lt;P&gt;    FROM bsak&lt;/P&gt;&lt;P&gt;    WHERE bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;    AND   gjahr IN s_gjahr&lt;/P&gt;&lt;P&gt;    AND   lifnr IN s_lifnr&lt;/P&gt;&lt;P&gt;    AND   umskz IN s_umskz&lt;/P&gt;&lt;P&gt;    AND   umskz NOT IN ('F','P','L','G')&lt;/P&gt;&lt;P&gt;    AND   AUGDT &amp;gt; P_augdt.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    loop at t_bsak.&lt;/P&gt;&lt;P&gt;      move-corresponding t_bsak to t_bsik.&lt;/P&gt;&lt;P&gt;      append t_bsik.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    loop at t_bsik.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if t_bsik-zfbdt is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       t_bsik-zfbdt = t_bsik-bldat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      modify t_bsik transporting zfbdt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if t_bsik-budat &amp;gt; P_augdt.&lt;/P&gt;&lt;P&gt;        delete t_bsik.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if t_bsik-umskz &amp;gt; P_augdt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    select lifnr&lt;/P&gt;&lt;P&gt;           name1&lt;/P&gt;&lt;P&gt;           adrnr&lt;/P&gt;&lt;P&gt;    into table t_lfa1&lt;/P&gt;&lt;P&gt;    from lfa1&lt;/P&gt;&lt;P&gt;    for all entries in t_bsik&lt;/P&gt;&lt;P&gt;    where lifnr = t_bsik-lifnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      select ADDRNUMBER as adrnr&lt;/P&gt;&lt;P&gt;             street&lt;/P&gt;&lt;P&gt;             city1&lt;/P&gt;&lt;P&gt;      into table t_adrc&lt;/P&gt;&lt;P&gt;      from adrc&lt;/P&gt;&lt;P&gt;      for all entries in t_lfa1&lt;/P&gt;&lt;P&gt;      where ADDRNUMBER = t_lfa1-adrnr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  LOOP AT t_bsik.&lt;/P&gt;&lt;P&gt;    if t_bsik-shkzg = 'S'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_bsik-WRBTR = t_bsik-WRBTR * -1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_bsik-DMBTR = t_bsik-DMBTR * -1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    REFRESH T_BSEG.&lt;/P&gt;&lt;P&gt;    CLEAR : T_KOSTL, T_PROJK, t_output.&lt;/P&gt;&lt;P&gt;    IF t_bsik-rebzg IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT zfbdt&lt;/P&gt;&lt;P&gt;             KOART&lt;/P&gt;&lt;P&gt;             KOSTL&lt;/P&gt;&lt;P&gt;             PROJK&lt;/P&gt;&lt;P&gt;      INTO TABLE T_BSEG "t_bsik-ZFBDT&lt;/P&gt;&lt;P&gt;      FROM bseg&lt;/P&gt;&lt;P&gt;      WHERE bukrs = t_bsik-bukrs&lt;/P&gt;&lt;P&gt;      AND   belnr = t_bsik-rebzg&lt;/P&gt;&lt;P&gt;      AND   gjahr = t_bsik-rebzj&lt;/P&gt;&lt;P&gt;      and   KOART IN ('K','S').&lt;/P&gt;&lt;P&gt;      LOOP AT T_BSEG.&lt;/P&gt;&lt;P&gt;        IF T_BSEG-KOART = 'K' AND T_BSEG-zfbdt IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          t_bsik-BUDAT = T_BSEG-ZFBDT.&lt;/P&gt;&lt;P&gt;          MODIFY t_bsik TRANSPORTING BUDAT.&lt;/P&gt;&lt;P&gt;        ELSEIF T_BSEG-KOART = 'S'.&lt;/P&gt;&lt;P&gt;          T_KOSTL = T_BSEG-KOSTL.&lt;/P&gt;&lt;P&gt;          T_PROJK = T_BSEG-PROJK.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE KOSTL PROJK&lt;/P&gt;&lt;P&gt;      INTO (T_KOSTL, T_PROJK)&lt;/P&gt;&lt;P&gt;      FROM bseg&lt;/P&gt;&lt;P&gt;      WHERE bukrs = t_bsik-bukrs&lt;/P&gt;&lt;P&gt;      AND   belnr = t_bsik-BELNR&lt;/P&gt;&lt;P&gt;      AND   gjahr = t_bsik-GJAHR&lt;/P&gt;&lt;P&gt;      and   KOART = 'S'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING t_bsik TO t_output.&lt;/P&gt;&lt;P&gt;    t_output-KOSTL = T_KOSTL.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'PR' T_PROJK INTO T_OUTPUT-OBJNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   days = P_augdt - t_bsik-ZFBDT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    days = P_augdt - t_bsik-BUDAT.&lt;/P&gt;&lt;P&gt;    READ TABLE t_lfa1 WITH KEY lifnr = t_output-LIFNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      t_output-NAME1 = t_lfa1-NAME1.&lt;/P&gt;&lt;P&gt;      READ TABLE t_adrc WITH KEY ADRNR = t_lfa1-ADRNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        t_output-street = t_adrc-STREET.&lt;/P&gt;&lt;P&gt;        t_output-city1 = t_adrc-CITY1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    t_output-days = days.&lt;/P&gt;&lt;P&gt;    if days &amp;gt;= s_date1-low and days &amp;lt; s_date1-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif1 = t_bsik-wrbtr. " days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif1 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    elseif days &amp;gt;= s_date2-low and days &amp;lt; s_date2-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif2 = t_bsik-wrbtr. "days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif2 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    elseif days &amp;gt;= s_date3-low and days &amp;lt; s_date3-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif3 = t_bsik-wrbtr. "days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif3 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    elseif days &amp;gt;= s_date4-low and days &amp;lt; s_date4-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif4 = t_bsik-wrbtr. "days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif4 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    elseif days &amp;gt;= s_date5-low and days &amp;lt; s_date5-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif5 = t_bsik-wrbtr. "days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif5 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append t_output.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  if T_OUTPUT[] is not initial.&lt;/P&gt;&lt;P&gt;    SELECT POSID&lt;/P&gt;&lt;P&gt;           OBJNR&lt;/P&gt;&lt;P&gt;    INTO TABLE T_PRPS&lt;/P&gt;&lt;P&gt;    FROM PRPS&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN T_OUTPUT&lt;/P&gt;&lt;P&gt;    WHERE OBJNR = T_OUTPUT-OBJNR.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  LOOP AT T_OUTPUT.&lt;/P&gt;&lt;P&gt;    read table T_PRPS with key objnr = T_OUTPUT-objnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      T_OUTPUT-POSID = T_PRPS-POSID.&lt;/P&gt;&lt;P&gt;      MODIFY t_output TRANSPORTING POSID.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " fetch_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  display&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  PERFORM build_alv_layout.&lt;/P&gt;&lt;P&gt;  PERFORM s_sort_build USING alv_sort[].&lt;/P&gt;&lt;P&gt;  PERFORM build_field_catalogs.&lt;/P&gt;&lt;P&gt;  PERFORM eventtab_build CHANGING gt_events.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SORT t_output BY .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  g_save = 'A'.&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       = g_repid&lt;/P&gt;&lt;P&gt;      i_callback_pf_status_set = alv_status_set&lt;/P&gt;&lt;P&gt;      i_callback_user_command  = alv_user_comm&lt;/P&gt;&lt;P&gt;      i_grid_title             = grid_title&lt;/P&gt;&lt;P&gt;      i_save                   = g_save&lt;/P&gt;&lt;P&gt;      is_variant               = gs_variant&lt;/P&gt;&lt;P&gt;      is_layout                = alv_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat              = alv_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_events                = gt_events[]&lt;/P&gt;&lt;P&gt;      it_sort                  = alv_sort[]&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_exit_caused_by_caller  = g_exit_caused_by_caller&lt;/P&gt;&lt;P&gt;      es_exit_caused_by_user   = gs_exit_caused_by_user&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                 = t_output.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    PERFORM alv_user_comm USING r_ucomm&lt;/P&gt;&lt;P&gt;                                rs_selfield.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    IF g_exit_caused_by_caller = 'X'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF gs_exit_caused_by_user-back = 'X'.                 " F3&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF gs_exit_caused_by_user-exit = 'X'.               " F15&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          IF gs_exit_caused_by_user-cancel = 'X'.           " F12&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*" Fatal error calling ALV&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_alv_layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_alv_layout.&lt;/P&gt;&lt;P&gt;  CLEAR alv_layout.&lt;/P&gt;&lt;P&gt;  alv_layout-colwidth_optimize  = 'X'. "always display full columns&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; alv_layout-box_fieldname      = 'CHK'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; alv_layout-box_tabname        = 'T_OUTPUT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  alv_layout-info_fieldname     = 'COLOR'. "color a line&lt;/P&gt;&lt;P&gt;  alv_layout-detail_popup       = 'X'.&lt;/P&gt;&lt;P&gt;  alv_layout-zebra              = 'X'. "Zebra output&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_alv_layout&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 s_sort_build                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  LT_SORT                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM s_sort_build USING lt_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  DATA: ls_sort TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  CLEAR  ls_sort.&lt;/P&gt;&lt;P&gt;  ls_sort-spos      =  1.&lt;/P&gt;&lt;P&gt;  ls_sort-fieldname =  'LIFNR'.&lt;/P&gt;&lt;P&gt;  ls_sort-up        =  'X'.&lt;/P&gt;&lt;P&gt;  ls_sort-group     =  'UL'.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot       =  'X'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND ls_sort TO lt_sort.&lt;/P&gt;&lt;P&gt;  CLEAR  ls_sort.&lt;/P&gt;&lt;P&gt;  ls_sort-spos      =  2.&lt;/P&gt;&lt;P&gt;  ls_sort-fieldname =  'BELNR'.&lt;/P&gt;&lt;P&gt;  ls_sort-up        =  'X'.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot       =  'X'.&lt;/P&gt;&lt;P&gt;  ls_sort-group     =  'UL'.&lt;/P&gt;&lt;P&gt;  APPEND ls_sort TO lt_sort.&lt;/P&gt;&lt;P&gt;  CLEAR  ls_sort.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "s_sort_build&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  eventtab_build&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 eventtab_build CHANGING lt_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;lt_events&amp;gt; LIKE LINE OF lt_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       = lt_events&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Define TOP_OF_PAGE event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE lt_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;       ASSIGNING &amp;lt;lt_events&amp;gt;.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    MOVE gc_formname_top_of_page TO &amp;lt;lt_events&amp;gt;-form.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " eventtab_build&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;  REFRESH gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;  CLEAR gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;  PERFORM comment_build USING gt_list_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output GSPC logo on report header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = gt_list_top_of_page&lt;/P&gt;&lt;P&gt;      i_logo             = 'GSPC_LOGO'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "top_of_page&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  COMMENT_BUILD&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;Build comments at 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;P&gt;FORM comment_build CHANGING gt_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;  DATA: gs_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  gs_line-info = 'Vendor Ageing'.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = 'Report ID:'.&lt;/P&gt;&lt;P&gt;  gs_line-info = sy-repid.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = 'User:'.&lt;/P&gt;&lt;P&gt;  gs_line-info = sy-uname.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = 'Date:'.&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO gs_line-info MM/DD/YYYY.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = 'Time:'.&lt;/P&gt;&lt;P&gt;  WRITE sy-uzeit TO gs_line-info USING EDIT MASK '__:__:__'.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = ''.&lt;/P&gt;&lt;P&gt;  WRITE ' '.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output data from selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    "comment_build&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;*Build ALV Summary field catalog&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  build_field_catalogs&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 build_field_catalogs.&lt;/P&gt;&lt;P&gt;   CLEAR: alv_fieldcat.&lt;/P&gt;&lt;P&gt;   REFRESH: alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Vendor Number'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  alv_fieldcat_line-hotspot = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'LIFNR'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Vendor Name'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'NAME1'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Vendor Address'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'STREET'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;City&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'City'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'CITY1'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Object number #&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'object #'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'OBJNR'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-no_out  = 'X'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WBS Element&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'WBS Element'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'POSID'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Cost Center&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Cost Center'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'KOSTL'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'GL Indicator'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'UMSKZ'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;General Ledger Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'General Ledger Account'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'HKONT'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document No.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Document No.'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'BELNR'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Amount'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  alv_fieldcat_line-fieldname  = 'WRBTR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'DMBTR'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-no_out  = 'X'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date1 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date1-LOW '-' s_date1-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'DIF1'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date2 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date2-LOW '-' s_date2-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  alv_fieldcat_line-no_out = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'DIF2'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date3 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date3-LOW '-' s_date3-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'DIF3'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date4 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date4-LOW '-' s_date4-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'DIF4'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date5 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date5-LOW '-' s_date5-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'DIF5'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Days&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Days'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'DAYS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  alv_fieldcat_line-no_out  = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_field_catalogs&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  ALV_USER_COMM&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;Process User Status&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 alv_user_comm USING r_ucomm     LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                          rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*Determine the main component beign viewed&lt;/P&gt;&lt;P&gt;   READ TABLE T_OUTPUT INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;   CASE r_ucomm.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;     WHEN '&amp;amp;IC1'.       " single / double click&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;       CASE rs_selfield-fieldname.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display FI document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         WHEN 'BELNR'.&lt;/P&gt;&lt;P&gt;           SET PARAMETER ID 'BLN' FIELD T_OUTPUT-BELNR.&lt;/P&gt;&lt;P&gt;           SET PARAMETER ID 'BUK' FIELD T_OUTPUT-BUKRS.&lt;/P&gt;&lt;P&gt;           SET PARAMETER ID 'GJR' FIELD T_OUTPUT-GJAHR.&lt;/P&gt;&lt;P&gt;           CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;       ENDCASE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WHEN 'FMB58'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      SET PARAMETER ID 'MAT' FIELD prtab-matnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CALL TRANSACTION 'MB58' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WHEN 'CHK'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MOVE 'X' TO prtab-chk.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MODIFY prtab INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   ENDCASE.&lt;/P&gt;&lt;P&gt; &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  ALV_STATUS_SET&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;Set the status for the ALV screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; FORM alv_status_set USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;   SET PF-STATUS 'STANDARD' EXCLUDING rt_extab.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sankar M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 01 Nov 2007 04:03:05 GMT</pubDate>
    <dc:creator>p291102</dc:creator>
    <dc:date>2007-11-01T04:03:05Z</dc:date>
    <item>
      <title>developing report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/developing-report/m-p/3028098#M716085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;currently developing Vendor Ordered Report.plz help me regarding this.this is for the number of orders placed during a given period.plz tell me that how to do this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Nov 2007 03:42:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/developing-report/m-p/3028098#M716085</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-01T03:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: developing report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/developing-report/m-p/3028099#M716086</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;Try this ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
PARAMETERS: P_AEDAT TYPE EKKO-aedat OBLIGATORY.

DATA: ITAB TYPE STANDARD TABLE OF EKKO.
DATA: WA TYPE EKKO.

START-OF-SELECTION.


SELECT * FROM EKKO INTO TABLE ITAB WHERE AEDAT = P_AEDAT.

IF SY-SUBRC &amp;lt;&amp;gt; 0.
  MESSAGE E208(00) WITH 'NO data found'.
  LEAVE LIST-PROCESSING.
ENDIF.


* Display the data.
LOOP AT ITAB INTO WA.
  WRITE: / EKKO-EBELN, EKKO-AEDAT, EKKO-LIFNR.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Nov 2007 03:50:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/developing-report/m-p/3028099#M716086</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-01T03:50:41Z</dc:date>
    </item>
    <item>
      <title>Re: developing report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/developing-report/m-p/3028100#M716087</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;SAP standard  report RFKOPR10 is the program for vendor ageing report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following program is the VENDOR performance report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZFI.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TABLES : bsik, BAPIFVDEXP_VZZBEPP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : t_bsik LIKE bsik OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       t_bsak LIKE bsak OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       days like BAPIFVDEXP_VZZBEPP-NUM4.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_lfa1 OCCURS 0,&lt;/P&gt;&lt;P&gt;         lifnr LIKE lfa1-lifnr,&lt;/P&gt;&lt;P&gt;         name1 LIKE lfa1-name1,&lt;/P&gt;&lt;P&gt;         adrnr LIKE lfa1-adrnr,&lt;/P&gt;&lt;P&gt;       END OF t_lfa1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_adrc OCCURS 0,&lt;/P&gt;&lt;P&gt;         adrnr LIKE lfa1-adrnr,&lt;/P&gt;&lt;P&gt;         street LIKE adrc-street,&lt;/P&gt;&lt;P&gt;         city1 LIKE adrc-city1,&lt;/P&gt;&lt;P&gt;       END OF t_adrc.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_BSEG OCCURS 0,&lt;/P&gt;&lt;P&gt;         zfbdt LIKE BSEG-zfbdt,&lt;/P&gt;&lt;P&gt;         KOART LIKE BSEG-KOART,&lt;/P&gt;&lt;P&gt;         KOSTL LIKE BSEG-KOSTL,&lt;/P&gt;&lt;P&gt;         PROJK LIKE BSEG-PROJK,&lt;/P&gt;&lt;P&gt;       END OF t_BSEG.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : BEGIN OF t_prps OCCURS 0,&lt;/P&gt;&lt;P&gt;         POSID like prps-posid,&lt;/P&gt;&lt;P&gt;         OBJNR like prps-objnr,&lt;/P&gt;&lt;P&gt;      END OF t_prps.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA : T_KOSTL LIKE BSEG-KOSTL,&lt;/P&gt;&lt;P&gt;       T_PROJK LIKE BSEG-PROJK,&lt;/P&gt;&lt;P&gt;       TEXT(15).&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;         lifnr LIKE lfa1-lifnr,&lt;/P&gt;&lt;P&gt;         name1 LIKE lfa1-name1,&lt;/P&gt;&lt;P&gt;         street LIKE adrc-street,&lt;/P&gt;&lt;P&gt;         city1 LIKE adrc-city1,&lt;/P&gt;&lt;P&gt;         OBJNR LIKE prps-OBJNR,&lt;/P&gt;&lt;P&gt;         posid LIKE prps-posid,&lt;/P&gt;&lt;P&gt;         KOSTL LIKE BSIK-KOSTL, " COST CENTER&lt;/P&gt;&lt;P&gt;         UMSKZ like bsik-UMSKZ,&lt;/P&gt;&lt;P&gt;         belnr like bsik-belnr,&lt;/P&gt;&lt;P&gt;         bukrs like bsik-bukrs,&lt;/P&gt;&lt;P&gt;         gjahr like bsik-gjahr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        wrbtr like bsik-wrbtr,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         dmbtr like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         hkont like bsik-hkont,&lt;/P&gt;&lt;P&gt;         dif1  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         dif2  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         dif3  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         dif4  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         dif5  like bsik-wrbtr,&lt;/P&gt;&lt;P&gt;         days like BAPIFVDEXP_VZZBEPP-NUM4,&lt;/P&gt;&lt;P&gt;       END OF t_output.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Alv data declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;DATA :alv_fieldcat            TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      alv_fieldcat_line       LIKE LINE OF alv_fieldcat,&lt;/P&gt;&lt;P&gt;      alv_sort                TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;      alv_sort_line           LIKE LINE OF alv_sort,&lt;/P&gt;&lt;P&gt;      alv_layout              TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      g_repid                 LIKE sy-repid VALUE sy-repid,&lt;/P&gt;&lt;P&gt;      alv_status_set          TYPE slis_formname VALUE 'ALV_STATUS_SET',&lt;/P&gt;&lt;P&gt;      alv_user_comm           TYPE slis_formname VALUE 'ALV_USER_COMM',&lt;/P&gt;&lt;P&gt;      grid_title              TYPE lvc_title,&lt;/P&gt;&lt;P&gt;      alv_fieldcat_acty       TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      g_save,&lt;/P&gt;&lt;P&gt;      gs_variant                LIKE disvariant,&lt;/P&gt;&lt;P&gt;      g_exit_caused_by_caller   TYPE c,&lt;/P&gt;&lt;P&gt;      gs_exit_caused_by_user    TYPE slis_exit_by_user.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: alv_fieldcat_line_acty  LIKE LINE OF alv_fieldcat_acty,&lt;/P&gt;&lt;P&gt;      alv_layout_acty         TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gt_list_top_of_page     TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;      gt_events               TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;      message                 TYPE string,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      r_ucomm     LIKE sy-ucomm,&lt;/P&gt;&lt;P&gt;      rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;      gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.&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-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : s_bukrs FOR bsik-bukrs,&lt;/P&gt;&lt;P&gt;                 s_gjahr FOR bsik-gjahr,&lt;/P&gt;&lt;P&gt;                 s_lifnr FOR bsik-lifnr,&lt;/P&gt;&lt;P&gt;                 s_umskz FOR bsik-umskz.&lt;/P&gt;&lt;P&gt;parameters     : p_augdt like bsik-augdt OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : s_date1 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 1 TO 30,&lt;/P&gt;&lt;P&gt;                 s_date2 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 30 TO 60,&lt;/P&gt;&lt;P&gt;                 s_date3 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 60 TO 90,&lt;/P&gt;&lt;P&gt;                 s_date4 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 90 TO 120,&lt;/P&gt;&lt;P&gt;                 s_date5 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY&lt;/P&gt;&lt;P&gt;                 DEFAULT 120 TO 150.&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;INITIALIZATION.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM fetch_data.&lt;/P&gt;&lt;P&gt;  PERFORM display.&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  fetch_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;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 fetch_data .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;  INTO TABLE t_bsik&lt;/P&gt;&lt;P&gt;  FROM bsik&lt;/P&gt;&lt;P&gt;  WHERE bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;  AND   gjahr IN s_gjahr&lt;/P&gt;&lt;P&gt;  AND   lifnr IN s_lifnr&lt;/P&gt;&lt;P&gt;  AND   umskz IN s_umskz&lt;/P&gt;&lt;P&gt;  AND   umskz NOT IN ('F','P','L','G').&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AND   zfbdt &amp;lt;= P_augdt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    INTO TABLE t_bsak&lt;/P&gt;&lt;P&gt;    FROM bsak&lt;/P&gt;&lt;P&gt;    WHERE bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;    AND   gjahr IN s_gjahr&lt;/P&gt;&lt;P&gt;    AND   lifnr IN s_lifnr&lt;/P&gt;&lt;P&gt;    AND   umskz IN s_umskz&lt;/P&gt;&lt;P&gt;    AND   umskz NOT IN ('F','P','L','G')&lt;/P&gt;&lt;P&gt;    AND   AUGDT &amp;gt; P_augdt.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    loop at t_bsak.&lt;/P&gt;&lt;P&gt;      move-corresponding t_bsak to t_bsik.&lt;/P&gt;&lt;P&gt;      append t_bsik.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    loop at t_bsik.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if t_bsik-zfbdt is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       t_bsik-zfbdt = t_bsik-bldat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      modify t_bsik transporting zfbdt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if t_bsik-budat &amp;gt; P_augdt.&lt;/P&gt;&lt;P&gt;        delete t_bsik.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if t_bsik-umskz &amp;gt; P_augdt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    select lifnr&lt;/P&gt;&lt;P&gt;           name1&lt;/P&gt;&lt;P&gt;           adrnr&lt;/P&gt;&lt;P&gt;    into table t_lfa1&lt;/P&gt;&lt;P&gt;    from lfa1&lt;/P&gt;&lt;P&gt;    for all entries in t_bsik&lt;/P&gt;&lt;P&gt;    where lifnr = t_bsik-lifnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      select ADDRNUMBER as adrnr&lt;/P&gt;&lt;P&gt;             street&lt;/P&gt;&lt;P&gt;             city1&lt;/P&gt;&lt;P&gt;      into table t_adrc&lt;/P&gt;&lt;P&gt;      from adrc&lt;/P&gt;&lt;P&gt;      for all entries in t_lfa1&lt;/P&gt;&lt;P&gt;      where ADDRNUMBER = t_lfa1-adrnr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  LOOP AT t_bsik.&lt;/P&gt;&lt;P&gt;    if t_bsik-shkzg = 'S'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_bsik-WRBTR = t_bsik-WRBTR * -1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_bsik-DMBTR = t_bsik-DMBTR * -1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    REFRESH T_BSEG.&lt;/P&gt;&lt;P&gt;    CLEAR : T_KOSTL, T_PROJK, t_output.&lt;/P&gt;&lt;P&gt;    IF t_bsik-rebzg IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT zfbdt&lt;/P&gt;&lt;P&gt;             KOART&lt;/P&gt;&lt;P&gt;             KOSTL&lt;/P&gt;&lt;P&gt;             PROJK&lt;/P&gt;&lt;P&gt;      INTO TABLE T_BSEG "t_bsik-ZFBDT&lt;/P&gt;&lt;P&gt;      FROM bseg&lt;/P&gt;&lt;P&gt;      WHERE bukrs = t_bsik-bukrs&lt;/P&gt;&lt;P&gt;      AND   belnr = t_bsik-rebzg&lt;/P&gt;&lt;P&gt;      AND   gjahr = t_bsik-rebzj&lt;/P&gt;&lt;P&gt;      and   KOART IN ('K','S').&lt;/P&gt;&lt;P&gt;      LOOP AT T_BSEG.&lt;/P&gt;&lt;P&gt;        IF T_BSEG-KOART = 'K' AND T_BSEG-zfbdt IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          t_bsik-BUDAT = T_BSEG-ZFBDT.&lt;/P&gt;&lt;P&gt;          MODIFY t_bsik TRANSPORTING BUDAT.&lt;/P&gt;&lt;P&gt;        ELSEIF T_BSEG-KOART = 'S'.&lt;/P&gt;&lt;P&gt;          T_KOSTL = T_BSEG-KOSTL.&lt;/P&gt;&lt;P&gt;          T_PROJK = T_BSEG-PROJK.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE KOSTL PROJK&lt;/P&gt;&lt;P&gt;      INTO (T_KOSTL, T_PROJK)&lt;/P&gt;&lt;P&gt;      FROM bseg&lt;/P&gt;&lt;P&gt;      WHERE bukrs = t_bsik-bukrs&lt;/P&gt;&lt;P&gt;      AND   belnr = t_bsik-BELNR&lt;/P&gt;&lt;P&gt;      AND   gjahr = t_bsik-GJAHR&lt;/P&gt;&lt;P&gt;      and   KOART = 'S'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING t_bsik TO t_output.&lt;/P&gt;&lt;P&gt;    t_output-KOSTL = T_KOSTL.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'PR' T_PROJK INTO T_OUTPUT-OBJNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   days = P_augdt - t_bsik-ZFBDT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    days = P_augdt - t_bsik-BUDAT.&lt;/P&gt;&lt;P&gt;    READ TABLE t_lfa1 WITH KEY lifnr = t_output-LIFNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      t_output-NAME1 = t_lfa1-NAME1.&lt;/P&gt;&lt;P&gt;      READ TABLE t_adrc WITH KEY ADRNR = t_lfa1-ADRNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        t_output-street = t_adrc-STREET.&lt;/P&gt;&lt;P&gt;        t_output-city1 = t_adrc-CITY1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    t_output-days = days.&lt;/P&gt;&lt;P&gt;    if days &amp;gt;= s_date1-low and days &amp;lt; s_date1-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif1 = t_bsik-wrbtr. " days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif1 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    elseif days &amp;gt;= s_date2-low and days &amp;lt; s_date2-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif2 = t_bsik-wrbtr. "days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif2 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    elseif days &amp;gt;= s_date3-low and days &amp;lt; s_date3-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif3 = t_bsik-wrbtr. "days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif3 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    elseif days &amp;gt;= s_date4-low and days &amp;lt; s_date4-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif4 = t_bsik-wrbtr. "days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif4 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    elseif days &amp;gt;= s_date5-low and days &amp;lt; s_date5-high.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_output-dif5 = t_bsik-wrbtr. "days.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_output-dif5 = t_bsik-dmbtr. " days.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append t_output.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  if T_OUTPUT[] is not initial.&lt;/P&gt;&lt;P&gt;    SELECT POSID&lt;/P&gt;&lt;P&gt;           OBJNR&lt;/P&gt;&lt;P&gt;    INTO TABLE T_PRPS&lt;/P&gt;&lt;P&gt;    FROM PRPS&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN T_OUTPUT&lt;/P&gt;&lt;P&gt;    WHERE OBJNR = T_OUTPUT-OBJNR.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  LOOP AT T_OUTPUT.&lt;/P&gt;&lt;P&gt;    read table T_PRPS with key objnr = T_OUTPUT-objnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      T_OUTPUT-POSID = T_PRPS-POSID.&lt;/P&gt;&lt;P&gt;      MODIFY t_output TRANSPORTING POSID.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " fetch_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  display&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  PERFORM build_alv_layout.&lt;/P&gt;&lt;P&gt;  PERFORM s_sort_build USING alv_sort[].&lt;/P&gt;&lt;P&gt;  PERFORM build_field_catalogs.&lt;/P&gt;&lt;P&gt;  PERFORM eventtab_build CHANGING gt_events.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SORT t_output BY .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  g_save = 'A'.&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       = g_repid&lt;/P&gt;&lt;P&gt;      i_callback_pf_status_set = alv_status_set&lt;/P&gt;&lt;P&gt;      i_callback_user_command  = alv_user_comm&lt;/P&gt;&lt;P&gt;      i_grid_title             = grid_title&lt;/P&gt;&lt;P&gt;      i_save                   = g_save&lt;/P&gt;&lt;P&gt;      is_variant               = gs_variant&lt;/P&gt;&lt;P&gt;      is_layout                = alv_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat              = alv_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_events                = gt_events[]&lt;/P&gt;&lt;P&gt;      it_sort                  = alv_sort[]&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_exit_caused_by_caller  = g_exit_caused_by_caller&lt;/P&gt;&lt;P&gt;      es_exit_caused_by_user   = gs_exit_caused_by_user&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                 = t_output.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    PERFORM alv_user_comm USING r_ucomm&lt;/P&gt;&lt;P&gt;                                rs_selfield.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    IF g_exit_caused_by_caller = 'X'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF gs_exit_caused_by_user-back = 'X'.                 " F3&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF gs_exit_caused_by_user-exit = 'X'.               " F15&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          IF gs_exit_caused_by_user-cancel = 'X'.           " F12&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*" Fatal error calling ALV&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_alv_layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_alv_layout.&lt;/P&gt;&lt;P&gt;  CLEAR alv_layout.&lt;/P&gt;&lt;P&gt;  alv_layout-colwidth_optimize  = 'X'. "always display full columns&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; alv_layout-box_fieldname      = 'CHK'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; alv_layout-box_tabname        = 'T_OUTPUT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  alv_layout-info_fieldname     = 'COLOR'. "color a line&lt;/P&gt;&lt;P&gt;  alv_layout-detail_popup       = 'X'.&lt;/P&gt;&lt;P&gt;  alv_layout-zebra              = 'X'. "Zebra output&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_alv_layout&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 s_sort_build                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  LT_SORT                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM s_sort_build USING lt_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  DATA: ls_sort TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  CLEAR  ls_sort.&lt;/P&gt;&lt;P&gt;  ls_sort-spos      =  1.&lt;/P&gt;&lt;P&gt;  ls_sort-fieldname =  'LIFNR'.&lt;/P&gt;&lt;P&gt;  ls_sort-up        =  'X'.&lt;/P&gt;&lt;P&gt;  ls_sort-group     =  'UL'.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot       =  'X'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND ls_sort TO lt_sort.&lt;/P&gt;&lt;P&gt;  CLEAR  ls_sort.&lt;/P&gt;&lt;P&gt;  ls_sort-spos      =  2.&lt;/P&gt;&lt;P&gt;  ls_sort-fieldname =  'BELNR'.&lt;/P&gt;&lt;P&gt;  ls_sort-up        =  'X'.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot       =  'X'.&lt;/P&gt;&lt;P&gt;  ls_sort-group     =  'UL'.&lt;/P&gt;&lt;P&gt;  APPEND ls_sort TO lt_sort.&lt;/P&gt;&lt;P&gt;  CLEAR  ls_sort.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "s_sort_build&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  eventtab_build&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 eventtab_build CHANGING lt_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;lt_events&amp;gt; LIKE LINE OF lt_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       = lt_events&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Define TOP_OF_PAGE event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE lt_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;       ASSIGNING &amp;lt;lt_events&amp;gt;.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    MOVE gc_formname_top_of_page TO &amp;lt;lt_events&amp;gt;-form.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " eventtab_build&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;  REFRESH gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;  CLEAR gt_list_top_of_page.&lt;/P&gt;&lt;P&gt;  PERFORM comment_build USING gt_list_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output GSPC logo on report header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = gt_list_top_of_page&lt;/P&gt;&lt;P&gt;      i_logo             = 'GSPC_LOGO'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "top_of_page&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  COMMENT_BUILD&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;Build comments at 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;P&gt;FORM comment_build CHANGING gt_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;  DATA: gs_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  gs_line-info = 'Vendor Ageing'.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = 'Report ID:'.&lt;/P&gt;&lt;P&gt;  gs_line-info = sy-repid.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = 'User:'.&lt;/P&gt;&lt;P&gt;  gs_line-info = sy-uname.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = 'Date:'.&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO gs_line-info MM/DD/YYYY.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = 'Time:'.&lt;/P&gt;&lt;P&gt;  WRITE sy-uzeit TO gs_line-info USING EDIT MASK '__:__:__'.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt;  CLEAR gs_line.&lt;/P&gt;&lt;P&gt;  gs_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_line-key  = ''.&lt;/P&gt;&lt;P&gt;  WRITE ' '.&lt;/P&gt;&lt;P&gt;  APPEND gs_line TO gt_top_of_page.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output data from selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    "comment_build&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;*Build ALV Summary field catalog&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  build_field_catalogs&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 build_field_catalogs.&lt;/P&gt;&lt;P&gt;   CLEAR: alv_fieldcat.&lt;/P&gt;&lt;P&gt;   REFRESH: alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Vendor Number'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  alv_fieldcat_line-hotspot = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'LIFNR'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Vendor Name'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'NAME1'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Vendor Address'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'STREET'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;City&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'City'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'CITY1'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Object number #&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'object #'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'OBJNR'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-no_out  = 'X'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WBS Element&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'WBS Element'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'POSID'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Cost Center&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Cost Center'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'KOSTL'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'GL Indicator'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'UMSKZ'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;General Ledger Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'General Ledger Account'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'HKONT'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document No.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Document No.'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'BELNR'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Amount'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  alv_fieldcat_line-fieldname  = 'WRBTR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'DMBTR'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-no_out  = 'X'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date1 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date1-LOW '-' s_date1-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'DIF1'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date2 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date2-LOW '-' s_date2-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  alv_fieldcat_line-no_out = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'DIF2'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date3 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date3-LOW '-' s_date3-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname = 'DIF3'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt;   CLEAR alv_fieldcat_line.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date4 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date4-LOW '-' s_date4-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'DIF4'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dif5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CLEAR TEXT.&lt;/P&gt;&lt;P&gt;   READ TABLE s_date5 INDEX 1.&lt;/P&gt;&lt;P&gt;   CONCATENATE 'DAYS ' s_date5-LOW '-' s_date5-HIGH INTO TEXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = TEXT.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'DIF5'.&lt;/P&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Days&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   alv_fieldcat_line-tabname    = 'T_OUTPUT'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-seltext_l = 'Days'.&lt;/P&gt;&lt;P&gt;   alv_fieldcat_line-fieldname  = 'DAYS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  alv_fieldcat_line-no_out  = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   APPEND alv_fieldcat_line TO alv_fieldcat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_field_catalogs&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  ALV_USER_COMM&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;Process User Status&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 alv_user_comm USING r_ucomm     LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                          rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*Determine the main component beign viewed&lt;/P&gt;&lt;P&gt;   READ TABLE T_OUTPUT INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;   CASE r_ucomm.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;     WHEN '&amp;amp;IC1'.       " single / double click&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;       CASE rs_selfield-fieldname.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display FI document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         WHEN 'BELNR'.&lt;/P&gt;&lt;P&gt;           SET PARAMETER ID 'BLN' FIELD T_OUTPUT-BELNR.&lt;/P&gt;&lt;P&gt;           SET PARAMETER ID 'BUK' FIELD T_OUTPUT-BUKRS.&lt;/P&gt;&lt;P&gt;           SET PARAMETER ID 'GJR' FIELD T_OUTPUT-GJAHR.&lt;/P&gt;&lt;P&gt;           CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;       ENDCASE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WHEN 'FMB58'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      SET PARAMETER ID 'MAT' FIELD prtab-matnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CALL TRANSACTION 'MB58' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WHEN 'CHK'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MOVE 'X' TO prtab-chk.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MODIFY prtab INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   ENDCASE.&lt;/P&gt;&lt;P&gt; &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  ALV_STATUS_SET&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;Set the status for the ALV screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; FORM alv_status_set USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;   SET PF-STATUS 'STANDARD' EXCLUDING rt_extab.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sankar M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Nov 2007 04:03:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/developing-report/m-p/3028100#M716087</guid>
      <dc:creator>p291102</dc:creator>
      <dc:date>2007-11-01T04:03:05Z</dc:date>
    </item>
  </channel>
</rss>

