<?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: Dynamic table and entering the data. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-and-entering-the-data/m-p/1821039#M350897</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you mean I cannot use ALV with a dynamic table? &lt;/P&gt;&lt;P&gt;Can you please tell me how to use the field symbols? I dont know exactly how I can do it. Here is my code......Please see FORM process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_FIR_NO_INV_USER_IDS_VENDORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: BSEG, BKPF, SKAT, CEPCT, CSKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;selection screen&lt;/STRONG&gt;************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: co_code FOR BKPF-BUKRS OBLIGATORY,&lt;/P&gt;&lt;P&gt;            vendor   FOR BSEG-lifnr,&lt;/P&gt;&lt;P&gt;            fis_year FOR BKPF-GJAHR NO-DISPLAY,&lt;/P&gt;&lt;P&gt;            period for BKPF-MONAT NO-DISPLAY,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           tran_cod for BKPF-TCODE NO-DISPLAY,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            doc_type for BKPF-blart NO-DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;data and internal table declarations&lt;/STRONG&gt;***************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;field-symbols: &amp;lt;dyn_table&amp;gt; type standard table,&lt;/P&gt;&lt;P&gt;       &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IBKPF OCCURS 10,&lt;/P&gt;&lt;P&gt;       BELNR LIKE BKPF-BELNR,     " Accounting document number&lt;/P&gt;&lt;P&gt;       BUKRS LIKE BKPF-BUKRS,     " Company code&lt;/P&gt;&lt;P&gt;       GJAHR LIKE BKPF-GJAHR,     " Fiscal Year Range&lt;/P&gt;&lt;P&gt;       monat like BKPF-MONAT,     " Period&lt;/P&gt;&lt;P&gt;       usnam like BKPF-USNAM,     " Username&lt;/P&gt;&lt;P&gt;       blart like BKPF-blart,     " document type&lt;/P&gt;&lt;P&gt;       tcode like bkpf-tcode,     " transaction code&lt;/P&gt;&lt;P&gt;      END OF IBKPF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IBSEG OCCURS 10,&lt;/P&gt;&lt;P&gt;       BELNR LIKE BSEG-BELNR,      "Document #&lt;/P&gt;&lt;P&gt;       LIFNR LIKE BSEG-LIFNR,      "Vendor&lt;/P&gt;&lt;P&gt;      END OF IBSEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 10,&lt;/P&gt;&lt;P&gt;       BELNR LIKE BKPF-BELNR,     " Accounting document number&lt;/P&gt;&lt;P&gt;       BUKRS LIKE BKPF-BUKRS,     " Company code&lt;/P&gt;&lt;P&gt;       GJAHR LIKE BKPF-GJAHR,     " Fiscal Year Range&lt;/P&gt;&lt;P&gt;       MONAT LIKE BKPF-MONAT,     " Period&lt;/P&gt;&lt;P&gt;       USNAM LIKE BKPF-USNAM,     " Username&lt;/P&gt;&lt;P&gt;       LIFNR LIKE BSEG-LIFNR,     " Vendor&lt;/P&gt;&lt;P&gt;       blart like BKPF-blart,     " document type&lt;/P&gt;&lt;P&gt;       tcode like bkpf-tcode,     " transaction code&lt;/P&gt;&lt;P&gt;     END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;FOR number of periods in fiscal periods determination.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: t_spbup type spbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of ispbup occurs 0,&lt;/P&gt;&lt;P&gt;      spbup type spbup,&lt;/P&gt;&lt;P&gt;      ind type i,&lt;/P&gt;&lt;P&gt;      end of ispbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: year(4) type c,&lt;/P&gt;&lt;P&gt;      year_beg(4) type c,&lt;/P&gt;&lt;P&gt;      year_end(4) type c,&lt;/P&gt;&lt;P&gt;      per(2) type n.&lt;/P&gt;&lt;P&gt;data: tot_periods type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options:  s_spbup for t_spbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;FOR alv (LIST VIEWER)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;data: alv_fldcat type   slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      it_fldcat type lvc_t_fcat.&lt;/P&gt;&lt;P&gt;DATA  per_mon(6) type c.&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;FOR SORT OPTIONS OF REPORT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: sort_ven RADIOBUTTON GROUP rad1,  "sort by vendors&lt;/P&gt;&lt;P&gt;   sort_usr RADIOBUTTON GROUP rad1. " sort by users&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  ind(2) type c.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-sign = 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-option = 'EQ'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-low = 'MIRO'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append tran_cod.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-sign = 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-option = 'EQ'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-low = 'MR8M'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append tran_cod.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;doc_type-sign = 'I'.&lt;/P&gt;&lt;P&gt;doc_type-option = 'EQ'.&lt;/P&gt;&lt;P&gt;doc_type-low = 'RE'.&lt;/P&gt;&lt;P&gt;append doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;doc_type-sign = 'I'.&lt;/P&gt;&lt;P&gt;doc_type-option = 'EQ'.&lt;/P&gt;&lt;P&gt;doc_type-low = 'KR'.&lt;/P&gt;&lt;P&gt;append doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;doc_type-sign = 'I'.&lt;/P&gt;&lt;P&gt;doc_type-option = 'EQ'.&lt;/P&gt;&lt;P&gt;doc_type-low = 'KG'.&lt;/P&gt;&lt;P&gt;append doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;doc_type-sign = 'I'.&lt;/P&gt;&lt;P&gt;doc_type-option = 'EQ'.&lt;/P&gt;&lt;P&gt;doc_type-low = 'KA'.&lt;/P&gt;&lt;P&gt;append doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;  PERFORM DETERMINE_FISCAL_PERIODS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM build_dyn_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM transfer_data_into_int_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM ALV_OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM write_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TRANSFER_DATA_INTO_INTERNAL_TA&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 transfer_data_into_int_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT BELNR&lt;/P&gt;&lt;P&gt;        BUKRS&lt;/P&gt;&lt;P&gt;        GJAHR&lt;/P&gt;&lt;P&gt;        MONAT&lt;/P&gt;&lt;P&gt;        USNAM&lt;/P&gt;&lt;P&gt;        BLART&lt;/P&gt;&lt;P&gt;        TCODE&lt;/P&gt;&lt;P&gt;    INTO TABLE IBKPF&lt;/P&gt;&lt;P&gt;    FROM BKPF&lt;/P&gt;&lt;P&gt;    WHERE BUKRS IN co_code&lt;/P&gt;&lt;P&gt;    AND   GJAHR IN fis_year&lt;/P&gt;&lt;P&gt;    AND   MONAT IN period&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   AND TCODE IN tra  n_cod&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    and blart in doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check NOT ibkpf[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at IBKPF.&lt;/P&gt;&lt;P&gt;  concatenate IBKPF-GJAHR IBKPF-MONAT into per_mon.&lt;/P&gt;&lt;P&gt;  if NOT per_mon in s_spbup.&lt;/P&gt;&lt;P&gt;    delete IBKPF.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort ibkpf by belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT BELNR&lt;/P&gt;&lt;P&gt;       lifnr&lt;/P&gt;&lt;P&gt;       FROM  BSEG&lt;/P&gt;&lt;P&gt;    INTO  TABLE IBSEG&lt;/P&gt;&lt;P&gt;    FOR ALL entries in IBKPF&lt;/P&gt;&lt;P&gt;    WHERE BUKRS = IBKPF-BUKRS&lt;/P&gt;&lt;P&gt;    AND BELNR = IBKPF-BELNR&lt;/P&gt;&lt;P&gt;    AND GJAHR = IBKPF-GJAHR&lt;/P&gt;&lt;P&gt;    AND lifnr in vendor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort ibseg by belnr.&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  process_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 process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at ibseg.&lt;/P&gt;&lt;P&gt;  loop at ibkpf where belnr = ibseg-belnr.&lt;/P&gt;&lt;P&gt;       ITAB-BELNR = iBKPF-BELNR.     "Accounting document number&lt;/P&gt;&lt;P&gt;       ITAB-BUKRS = iBKPF-BUKRS.     "Company code&lt;/P&gt;&lt;P&gt;       ITAB-GJAHR = iBKPF-GJAHR.     "Fiscal Year&lt;/P&gt;&lt;P&gt;       ITAB-MONAT = iBKPF-MONAT.     "Period&lt;/P&gt;&lt;P&gt;       ITAB-USNAM = iBKPF-USNAM.     "Username&lt;/P&gt;&lt;P&gt;       ITAB-LIFNR = IBSEG-LIFNR.     "Vendor&lt;/P&gt;&lt;P&gt;       ITAB-BLART = IBKPF-BLART.     "DOC TYPE&lt;/P&gt;&lt;P&gt;       ITAB-TCODE = IBKPF-TCODE.     "TRAN. CODE&lt;/P&gt;&lt;P&gt;       append itab.&lt;/P&gt;&lt;P&gt;       CLEAR IBKPF.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  CLEAR ibseg.&lt;/P&gt;&lt;P&gt;endloop .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;field-symbols.&lt;/P&gt;&lt;P&gt;if sort_ven = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort itab by lifnr descending bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sort_usr = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort itab by usnam bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " process_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  ALV_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;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 ALV_OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;" still need to put the output here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_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  build_dyn_itab&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 build_dyn_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: new_table type ref to data,&lt;/P&gt;&lt;P&gt;      new_line  type ref to data,&lt;/P&gt;&lt;P&gt;      wa_it_fldcat type lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = 'VENDOR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 10.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = 'USERID'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 10.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = 'CO_CODE'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 5.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-OUTPUTLEN = 5.&lt;/P&gt;&lt;P&gt;append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort ispbup by spbup ascending.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ispbup.&lt;/P&gt;&lt;P&gt;  clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;  ind = sy-tabix.&lt;/P&gt;&lt;P&gt;   wa_it_fldcat-fieldname = ispbup-spbup.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; concatenate 'PERIOD' ind into wa_it_fldcat-fieldname.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_it_fldcat-fieldname = ispbup-spbup.&lt;/P&gt;&lt;P&gt;  condense wa_it_fldcat-fieldname no-gaps.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_it_fldcat-REPTEXT = ispbup-spbup.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;  wa_it_fldcat-outputlen = 6.&lt;/P&gt;&lt;P&gt;  wa_it_fldcat-intlen = 6.&lt;/P&gt;&lt;P&gt;  append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = 'TOTAL'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-outputlen = 5.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 5.&lt;/P&gt;&lt;P&gt;append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic internal table and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;     it_fieldcatalog = it_fldcat&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;    ep_table        = new_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;assign new_table-&amp;gt;* to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;create data new_line like line of &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;assign new_line-&amp;gt;* to &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_dyn_itab&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  DETERMINE_FISCAL_PERIODS&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 DETERMINE_FISCAL_PERIODS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;year_beg = sy-datum+0(4).&lt;/P&gt;&lt;P&gt;year_beg = year_beg - 10.&lt;/P&gt;&lt;P&gt;year_end = year_beg + 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate year_beg '00' into ispbup-spbup.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ispbup-spbup = '198000'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append ispbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  per = ispbup-spbup+4(2).&lt;/P&gt;&lt;P&gt;  year   = ispbup-spbup+0(4).&lt;/P&gt;&lt;P&gt;  append ispbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  do .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    per = per + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if per = 13.&lt;/P&gt;&lt;P&gt;      per = 1.&lt;/P&gt;&lt;P&gt;      year = year + 1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if year gt year_end.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    concatenate year per into ispbup-spbup.&lt;/P&gt;&lt;P&gt;    append ispbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at ispbup.&lt;/P&gt;&lt;P&gt;    if not ispbup-spbup in s_spbup.&lt;/P&gt;&lt;P&gt;      delete ispbup.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  describe table ispbup lines tot_periods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at ispbup.&lt;/P&gt;&lt;P&gt;     fis_year-sign = 'I'.&lt;/P&gt;&lt;P&gt;     fis_year-option = 'EQ'.&lt;/P&gt;&lt;P&gt;     fis_year-low = ispbup+0(4).&lt;/P&gt;&lt;P&gt;     append fis_year.&lt;/P&gt;&lt;P&gt;     clear fis_year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     period-sign = 'I'.&lt;/P&gt;&lt;P&gt;     period-option = 'EQ'.&lt;/P&gt;&lt;P&gt;     period-low = ispbup+4(2).&lt;/P&gt;&lt;P&gt;     append period.&lt;/P&gt;&lt;P&gt;     clear period.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT FIS_YEAR BY LOW.&lt;/P&gt;&lt;P&gt;  SORT PERIOD BY LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM fis_year.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM period .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Jan 2007 21:27:12 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-01-04T21:27:12Z</dc:date>
    <item>
      <title>Dynamic table and entering the data.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-and-entering-the-data/m-p/1821037#M350895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have to create a report program the required output of which is following. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1)	&lt;/P&gt;&lt;P&gt;Vendors	Company codes	Fiscal year/period1	Fiscal year/period2 Total&lt;/P&gt;&lt;P&gt;1000000	0010					&lt;/P&gt;&lt;P&gt;	0020					&lt;/P&gt;&lt;P&gt;	0030					&lt;/P&gt;&lt;P&gt;	0040					&lt;/P&gt;&lt;P&gt;Subtotal						&lt;/P&gt;&lt;P&gt;1000001	0010					&lt;/P&gt;&lt;P&gt;	0020					&lt;/P&gt;&lt;P&gt;	0030					&lt;/P&gt;&lt;P&gt;	0040					&lt;/P&gt;&lt;P&gt;Subtotal						&lt;/P&gt;&lt;P&gt;Total						&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The number of fiscal periods change depending on the number of entries on the selection screen. For example following dynamic table will be created for two fiscal periods&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VENDOR     USERID     CO_CODE     2005/05    2005/06    TOTAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I have to enter the number of documents created in these fiscal periods based on a query of BKPF and BSEG. I have created another internal table ITAB that contains info from these tables.  The structure of ITAB is as follows&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BELNR  BUKRS  GJAHR  MONAT  USNAM  LIFNR  BLART  TCODE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I select the information from this table and populate the dynamic table?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jan 2007 15:01:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-and-entering-the-data/m-p/1821037#M350895</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-04T15:01:24Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic table and entering the data.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-and-entering-the-data/m-p/1821038#M350896</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;First thought.&lt;/P&gt;&lt;P&gt;Will the output be ALV?&lt;/P&gt;&lt;P&gt;If so, then you may not need a dynamic table.&lt;/P&gt;&lt;P&gt;You could have a table that allows for a maximum number of periods (60 say), and use however many of these columns that you need.&lt;/P&gt;&lt;P&gt;Then you simply do not include the unused columns in your field catalog.&lt;/P&gt;&lt;P&gt;OK, you may have some tricky work to do figuring out which period column to assign to, doing these assignments (use field-symbols), and creating the column headings in the field catalog, but it would not be too bad.&lt;/P&gt;&lt;P&gt;The limitation to 60 periods (or however many) is not elegant, I agree.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;John&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jan 2007 16:23:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-and-entering-the-data/m-p/1821038#M350896</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-04T16:23:20Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic table and entering the data.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-and-entering-the-data/m-p/1821039#M350897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you mean I cannot use ALV with a dynamic table? &lt;/P&gt;&lt;P&gt;Can you please tell me how to use the field symbols? I dont know exactly how I can do it. Here is my code......Please see FORM process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_FIR_NO_INV_USER_IDS_VENDORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: BSEG, BKPF, SKAT, CEPCT, CSKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******&lt;STRONG&gt;selection screen&lt;/STRONG&gt;************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: co_code FOR BKPF-BUKRS OBLIGATORY,&lt;/P&gt;&lt;P&gt;            vendor   FOR BSEG-lifnr,&lt;/P&gt;&lt;P&gt;            fis_year FOR BKPF-GJAHR NO-DISPLAY,&lt;/P&gt;&lt;P&gt;            period for BKPF-MONAT NO-DISPLAY,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           tran_cod for BKPF-TCODE NO-DISPLAY,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            doc_type for BKPF-blart NO-DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;data and internal table declarations&lt;/STRONG&gt;***************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;field-symbols: &amp;lt;dyn_table&amp;gt; type standard table,&lt;/P&gt;&lt;P&gt;       &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IBKPF OCCURS 10,&lt;/P&gt;&lt;P&gt;       BELNR LIKE BKPF-BELNR,     " Accounting document number&lt;/P&gt;&lt;P&gt;       BUKRS LIKE BKPF-BUKRS,     " Company code&lt;/P&gt;&lt;P&gt;       GJAHR LIKE BKPF-GJAHR,     " Fiscal Year Range&lt;/P&gt;&lt;P&gt;       monat like BKPF-MONAT,     " Period&lt;/P&gt;&lt;P&gt;       usnam like BKPF-USNAM,     " Username&lt;/P&gt;&lt;P&gt;       blart like BKPF-blart,     " document type&lt;/P&gt;&lt;P&gt;       tcode like bkpf-tcode,     " transaction code&lt;/P&gt;&lt;P&gt;      END OF IBKPF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IBSEG OCCURS 10,&lt;/P&gt;&lt;P&gt;       BELNR LIKE BSEG-BELNR,      "Document #&lt;/P&gt;&lt;P&gt;       LIFNR LIKE BSEG-LIFNR,      "Vendor&lt;/P&gt;&lt;P&gt;      END OF IBSEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 10,&lt;/P&gt;&lt;P&gt;       BELNR LIKE BKPF-BELNR,     " Accounting document number&lt;/P&gt;&lt;P&gt;       BUKRS LIKE BKPF-BUKRS,     " Company code&lt;/P&gt;&lt;P&gt;       GJAHR LIKE BKPF-GJAHR,     " Fiscal Year Range&lt;/P&gt;&lt;P&gt;       MONAT LIKE BKPF-MONAT,     " Period&lt;/P&gt;&lt;P&gt;       USNAM LIKE BKPF-USNAM,     " Username&lt;/P&gt;&lt;P&gt;       LIFNR LIKE BSEG-LIFNR,     " Vendor&lt;/P&gt;&lt;P&gt;       blart like BKPF-blart,     " document type&lt;/P&gt;&lt;P&gt;       tcode like bkpf-tcode,     " transaction code&lt;/P&gt;&lt;P&gt;     END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;FOR number of periods in fiscal periods determination.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: t_spbup type spbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of ispbup occurs 0,&lt;/P&gt;&lt;P&gt;      spbup type spbup,&lt;/P&gt;&lt;P&gt;      ind type i,&lt;/P&gt;&lt;P&gt;      end of ispbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: year(4) type c,&lt;/P&gt;&lt;P&gt;      year_beg(4) type c,&lt;/P&gt;&lt;P&gt;      year_end(4) type c,&lt;/P&gt;&lt;P&gt;      per(2) type n.&lt;/P&gt;&lt;P&gt;data: tot_periods type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options:  s_spbup for t_spbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;FOR alv (LIST VIEWER)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;data: alv_fldcat type   slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      it_fldcat type lvc_t_fcat.&lt;/P&gt;&lt;P&gt;DATA  per_mon(6) type c.&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;FOR SORT OPTIONS OF REPORT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: sort_ven RADIOBUTTON GROUP rad1,  "sort by vendors&lt;/P&gt;&lt;P&gt;   sort_usr RADIOBUTTON GROUP rad1. " sort by users&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  ind(2) type c.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-sign = 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-option = 'EQ'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-low = 'MIRO'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append tran_cod.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-sign = 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-option = 'EQ'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tran_cod-low = 'MR8M'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append tran_cod.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;doc_type-sign = 'I'.&lt;/P&gt;&lt;P&gt;doc_type-option = 'EQ'.&lt;/P&gt;&lt;P&gt;doc_type-low = 'RE'.&lt;/P&gt;&lt;P&gt;append doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;doc_type-sign = 'I'.&lt;/P&gt;&lt;P&gt;doc_type-option = 'EQ'.&lt;/P&gt;&lt;P&gt;doc_type-low = 'KR'.&lt;/P&gt;&lt;P&gt;append doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;doc_type-sign = 'I'.&lt;/P&gt;&lt;P&gt;doc_type-option = 'EQ'.&lt;/P&gt;&lt;P&gt;doc_type-low = 'KG'.&lt;/P&gt;&lt;P&gt;append doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;doc_type-sign = 'I'.&lt;/P&gt;&lt;P&gt;doc_type-option = 'EQ'.&lt;/P&gt;&lt;P&gt;doc_type-low = 'KA'.&lt;/P&gt;&lt;P&gt;append doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;  PERFORM DETERMINE_FISCAL_PERIODS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM build_dyn_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM transfer_data_into_int_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM ALV_OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM write_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TRANSFER_DATA_INTO_INTERNAL_TA&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 transfer_data_into_int_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT BELNR&lt;/P&gt;&lt;P&gt;        BUKRS&lt;/P&gt;&lt;P&gt;        GJAHR&lt;/P&gt;&lt;P&gt;        MONAT&lt;/P&gt;&lt;P&gt;        USNAM&lt;/P&gt;&lt;P&gt;        BLART&lt;/P&gt;&lt;P&gt;        TCODE&lt;/P&gt;&lt;P&gt;    INTO TABLE IBKPF&lt;/P&gt;&lt;P&gt;    FROM BKPF&lt;/P&gt;&lt;P&gt;    WHERE BUKRS IN co_code&lt;/P&gt;&lt;P&gt;    AND   GJAHR IN fis_year&lt;/P&gt;&lt;P&gt;    AND   MONAT IN period&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   AND TCODE IN tra  n_cod&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    and blart in doc_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check NOT ibkpf[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at IBKPF.&lt;/P&gt;&lt;P&gt;  concatenate IBKPF-GJAHR IBKPF-MONAT into per_mon.&lt;/P&gt;&lt;P&gt;  if NOT per_mon in s_spbup.&lt;/P&gt;&lt;P&gt;    delete IBKPF.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort ibkpf by belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT BELNR&lt;/P&gt;&lt;P&gt;       lifnr&lt;/P&gt;&lt;P&gt;       FROM  BSEG&lt;/P&gt;&lt;P&gt;    INTO  TABLE IBSEG&lt;/P&gt;&lt;P&gt;    FOR ALL entries in IBKPF&lt;/P&gt;&lt;P&gt;    WHERE BUKRS = IBKPF-BUKRS&lt;/P&gt;&lt;P&gt;    AND BELNR = IBKPF-BELNR&lt;/P&gt;&lt;P&gt;    AND GJAHR = IBKPF-GJAHR&lt;/P&gt;&lt;P&gt;    AND lifnr in vendor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort ibseg by belnr.&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  process_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 process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at ibseg.&lt;/P&gt;&lt;P&gt;  loop at ibkpf where belnr = ibseg-belnr.&lt;/P&gt;&lt;P&gt;       ITAB-BELNR = iBKPF-BELNR.     "Accounting document number&lt;/P&gt;&lt;P&gt;       ITAB-BUKRS = iBKPF-BUKRS.     "Company code&lt;/P&gt;&lt;P&gt;       ITAB-GJAHR = iBKPF-GJAHR.     "Fiscal Year&lt;/P&gt;&lt;P&gt;       ITAB-MONAT = iBKPF-MONAT.     "Period&lt;/P&gt;&lt;P&gt;       ITAB-USNAM = iBKPF-USNAM.     "Username&lt;/P&gt;&lt;P&gt;       ITAB-LIFNR = IBSEG-LIFNR.     "Vendor&lt;/P&gt;&lt;P&gt;       ITAB-BLART = IBKPF-BLART.     "DOC TYPE&lt;/P&gt;&lt;P&gt;       ITAB-TCODE = IBKPF-TCODE.     "TRAN. CODE&lt;/P&gt;&lt;P&gt;       append itab.&lt;/P&gt;&lt;P&gt;       CLEAR IBKPF.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  CLEAR ibseg.&lt;/P&gt;&lt;P&gt;endloop .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;field-symbols.&lt;/P&gt;&lt;P&gt;if sort_ven = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort itab by lifnr descending bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sort_usr = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort itab by usnam bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " process_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  ALV_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;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 ALV_OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;" still need to put the output here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_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  build_dyn_itab&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 build_dyn_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: new_table type ref to data,&lt;/P&gt;&lt;P&gt;      new_line  type ref to data,&lt;/P&gt;&lt;P&gt;      wa_it_fldcat type lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = 'VENDOR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 10.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = 'USERID'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 10.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = 'CO_CODE'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 5.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-OUTPUTLEN = 5.&lt;/P&gt;&lt;P&gt;append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort ispbup by spbup ascending.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ispbup.&lt;/P&gt;&lt;P&gt;  clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;  ind = sy-tabix.&lt;/P&gt;&lt;P&gt;   wa_it_fldcat-fieldname = ispbup-spbup.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; concatenate 'PERIOD' ind into wa_it_fldcat-fieldname.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_it_fldcat-fieldname = ispbup-spbup.&lt;/P&gt;&lt;P&gt;  condense wa_it_fldcat-fieldname no-gaps.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_it_fldcat-REPTEXT = ispbup-spbup.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;  wa_it_fldcat-outputlen = 6.&lt;/P&gt;&lt;P&gt;  wa_it_fldcat-intlen = 6.&lt;/P&gt;&lt;P&gt;  append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = 'TOTAL'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = 'CHAR'.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-outputlen = 5.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 5.&lt;/P&gt;&lt;P&gt;append wa_it_fldcat to it_fldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic internal table and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;     it_fieldcatalog = it_fldcat&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;    ep_table        = new_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;assign new_table-&amp;gt;* to &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;create data new_line like line of &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;assign new_line-&amp;gt;* to &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_dyn_itab&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  DETERMINE_FISCAL_PERIODS&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 DETERMINE_FISCAL_PERIODS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;year_beg = sy-datum+0(4).&lt;/P&gt;&lt;P&gt;year_beg = year_beg - 10.&lt;/P&gt;&lt;P&gt;year_end = year_beg + 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate year_beg '00' into ispbup-spbup.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ispbup-spbup = '198000'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append ispbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  per = ispbup-spbup+4(2).&lt;/P&gt;&lt;P&gt;  year   = ispbup-spbup+0(4).&lt;/P&gt;&lt;P&gt;  append ispbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  do .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    per = per + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if per = 13.&lt;/P&gt;&lt;P&gt;      per = 1.&lt;/P&gt;&lt;P&gt;      year = year + 1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if year gt year_end.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    concatenate year per into ispbup-spbup.&lt;/P&gt;&lt;P&gt;    append ispbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at ispbup.&lt;/P&gt;&lt;P&gt;    if not ispbup-spbup in s_spbup.&lt;/P&gt;&lt;P&gt;      delete ispbup.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  describe table ispbup lines tot_periods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at ispbup.&lt;/P&gt;&lt;P&gt;     fis_year-sign = 'I'.&lt;/P&gt;&lt;P&gt;     fis_year-option = 'EQ'.&lt;/P&gt;&lt;P&gt;     fis_year-low = ispbup+0(4).&lt;/P&gt;&lt;P&gt;     append fis_year.&lt;/P&gt;&lt;P&gt;     clear fis_year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     period-sign = 'I'.&lt;/P&gt;&lt;P&gt;     period-option = 'EQ'.&lt;/P&gt;&lt;P&gt;     period-low = ispbup+4(2).&lt;/P&gt;&lt;P&gt;     append period.&lt;/P&gt;&lt;P&gt;     clear period.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT FIS_YEAR BY LOW.&lt;/P&gt;&lt;P&gt;  SORT PERIOD BY LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM fis_year.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM period .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jan 2007 21:27:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-and-entering-the-data/m-p/1821039#M350897</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-01-04T21:27:12Z</dc:date>
    </item>
  </channel>
</rss>

