<?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: program for xls download in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695255#M305071</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COPIED FROM          : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE                : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHER RELATED OBJ    : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGE HISTORY LOG                                                   *&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;MOD. NO.|  DATE    | NAME | CORRECTION NUMBER    | CHANGE REFERENCE# *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/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;  Include           /AMS/FUSFCO_FADEPRICIATION_FORM                   *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  validation_company&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;      Validate Company Code&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&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 validation_company  USING fp_s_bukrs TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Data declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_v_bukrs TYPE bukrs.&lt;/P&gt;&lt;P&gt;  IF s_bukrs[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-058.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF NOT fp_s_bukrs IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT bukrs   "Company code&lt;/P&gt;&lt;P&gt;           INTO l_v_bukrs&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           FROM t001&lt;/P&gt;&lt;P&gt;           WHERE bukrs IN fp_s_bukrs.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If entered company code is not existing, raise error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e003.         " Selected Company Code does not exist in the system&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validation_company&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  initial_values&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;      Initialize The Values For Company Code&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;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;-- FP_S_BUKRS[]  "Company Code&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 initial_values .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE: c_i  TO s_bukrs-sign,&lt;/P&gt;&lt;P&gt;        c_eq TO s_bukrs-option,&lt;/P&gt;&lt;P&gt;        c_ca TO s_bukrs-low.&lt;/P&gt;&lt;P&gt;  APPEND s_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE: c_i  TO s_bukrs-sign,&lt;/P&gt;&lt;P&gt;        c_eq TO s_bukrs-option,&lt;/P&gt;&lt;P&gt;        c_us TO s_bukrs-low.&lt;/P&gt;&lt;P&gt;  APPEND s_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " initial_values&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_anla_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;      Get Asset Master Record Segment(ANAL) Data as per the Selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_ANLKL[]  "Asset class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLA     "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anla_data USING fp_s_bukrs TYPE STANDARD TABLE&lt;/P&gt;&lt;P&gt;                         fp_s_anlkl TYPE STANDARD TABLE&lt;/P&gt;&lt;P&gt;                   CHANGING fp_i_anla TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                            fp_i_anla_temp TYPE ty_t_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Selct the Asset Master Record Segment Data from table ANLA&lt;/P&gt;&lt;P&gt;  SELECT  bukrs            "Company Code&lt;/P&gt;&lt;P&gt;          anln1            "Main Asset Number&lt;/P&gt;&lt;P&gt;          anln2            "Asset Subnumber&lt;/P&gt;&lt;P&gt;          anlkl            "Asset class&lt;/P&gt;&lt;P&gt;          ktogr            "Account determination&lt;/P&gt;&lt;P&gt;          deakt            "Deactivation date&lt;/P&gt;&lt;P&gt;          ord41            "CARAT Report Code&lt;/P&gt;&lt;P&gt;          aibn1            "Original asset that was transferred&lt;/P&gt;&lt;P&gt;          aibdt            "Original acquisition date of AuC/ transferred asset&lt;/P&gt;&lt;P&gt;          menge            "Quantity&lt;/P&gt;&lt;P&gt;          txt50            "Asset description&lt;/P&gt;&lt;P&gt;          FROM anla&lt;/P&gt;&lt;P&gt;          INTO TABLE fp_i_anla&lt;/P&gt;&lt;P&gt;          WHERE bukrs IN  fp_s_bukrs AND&lt;/P&gt;&lt;P&gt;                anlkl IN  fp_s_anlkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; c_zero.&lt;/P&gt;&lt;P&gt;    MESSAGE e392 . "WITH text-001.  "No Data Availble in ANLA&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SORT fp_i_anla BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    MOVE fp_i_anla TO fp_i_anla_temp.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM fp_i_anla_temp COMPARING bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anla_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  get_anlb_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;      Get Depreciation terms(ANLB) Data as per the selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLB     "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlb_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlb TYPE ty_t_anlb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select the Depreciation terms Data from ANLB table&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT bukrs&lt;/P&gt;&lt;P&gt;           anln1&lt;/P&gt;&lt;P&gt;           anln2&lt;/P&gt;&lt;P&gt;           afabe                  "Real depreciation area&lt;/P&gt;&lt;P&gt;           afabg                  "Depreciation calculation start date&lt;/P&gt;&lt;P&gt;           afasl                  "Depreciation key&lt;/P&gt;&lt;P&gt;           ndjar                  "Planned useful life in years&lt;/P&gt;&lt;P&gt;           ndper                  "Planned useful life in periods&lt;/P&gt;&lt;P&gt;           schrw                  "Asset scrap value&lt;/P&gt;&lt;P&gt;           xafbe&lt;/P&gt;&lt;P&gt;    FROM anlb INTO TABLE fp_i_anlb FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;    WHERE bukrs = fp_i_anla_temp-bukrs&lt;/P&gt;&lt;P&gt;      AND anln1 = fp_i_anla_temp-anln1&lt;/P&gt;&lt;P&gt;      AND anln2 = fp_i_anla_temp-anln2&lt;/P&gt;&lt;P&gt;      AND afabe EQ c_01&lt;/P&gt;&lt;P&gt;      AND xafbe NE c_space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SORT fp_i_anlb BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlb_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  get_anlc_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;      Get Asset Value Fields(ANLC) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA     "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLC     "Asset Value Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlc_data  USING    fp_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlc TYPE ty_t_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Asset Value Fields data from table ANLC&lt;/P&gt;&lt;P&gt;    SELECT  bukrs             "Company Code&lt;/P&gt;&lt;P&gt;            anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;            anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;            afabe             "Real depreciation area&lt;/P&gt;&lt;P&gt;            zujhr             "Asset acquisition year (currently not used)&lt;/P&gt;&lt;P&gt;            zucod             "Sub-classification of asset acquisitions(currently not used)&lt;/P&gt;&lt;P&gt;            afblpe            "Period in which last depreciation was posted&lt;/P&gt;&lt;P&gt;            kansw             "Cumulative acquisition and production costs&lt;/P&gt;&lt;P&gt;            knafa             "Accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;            kaafa             "Cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;            nafap             "Planned ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;            nafag             "Ordinary depreciation posted in the current year&lt;/P&gt;&lt;P&gt;            aafag             "Unplanned depreciation posted for the year&lt;/P&gt;&lt;P&gt;            nafav             "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;            aafav             "Proportional cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;            nafal             "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;            aafal             "Proportional unplanned depreciation for the year&lt;/P&gt;&lt;P&gt;       FROM anlc INTO TABLE fp_i_anlc&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;       WHERE bukrs = fp_i_anla_temp-bukrs AND&lt;/P&gt;&lt;P&gt;             anln1 = fp_i_anla_temp-anln1 AND&lt;/P&gt;&lt;P&gt;             anln2 = fp_i_anla_temp-anln2 AND&lt;/P&gt;&lt;P&gt;             gjahr = fp_gjahr AND&lt;/P&gt;&lt;P&gt;             afabe = c_01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlc BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlc_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  get_anlp_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;      Get Asset Periodic Values(ANLP) with the condition of  ANLC Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_P_GJAHR  "Fiscal Year&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLP  "Asset Periodic Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlp_data  USING    fp_p_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_p_peraf TYPE peraf&lt;/P&gt;&lt;P&gt;                             fp_i_anlc TYPE ty_t_anlc&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlp TYPE ty_t_anlp.&lt;/P&gt;&lt;P&gt;*Local Variable&lt;/P&gt;&lt;P&gt;  DATA : l_i_anlc TYPE ty_t_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anlc IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE fp_i_anlc TO l_i_anlc.&lt;/P&gt;&lt;P&gt;    SORT l_i_anlc BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM l_i_anlc COMPARING bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select Asset Periodic Values from table ANLP&lt;/P&gt;&lt;P&gt;    SELECT  bukrs             "Company Code&lt;/P&gt;&lt;P&gt;            gjahr            "Fiscal Year&lt;/P&gt;&lt;P&gt;            peraf            "Depreciation calculation period&lt;/P&gt;&lt;P&gt;            anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;            anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;            nafaz            "Ordinary depreciation to be posted&lt;/P&gt;&lt;P&gt;            aafaz            "Unplanned depreciation to be posted&lt;/P&gt;&lt;P&gt;            FROM anlp INTO TABLE fp_i_anlp&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN fp_i_anlc&lt;/P&gt;&lt;P&gt;            WHERE bukrs = fp_i_anlc-bukrs AND&lt;/P&gt;&lt;P&gt;            gjahr = fp_p_gjahr AND&lt;/P&gt;&lt;P&gt;            peraf = fp_p_peraf AND&lt;/P&gt;&lt;P&gt;            anln1 = fp_i_anlc-anln1 AND&lt;/P&gt;&lt;P&gt;            anln2 = fp_i_anlc-anln2 AND&lt;/P&gt;&lt;P&gt;            afaber = c_01 AND&lt;/P&gt;&lt;P&gt;            zujhr = fp_i_anlc-zujhr AND&lt;/P&gt;&lt;P&gt;            zucod = fp_i_anlc-zucod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlp BY bukrs gjahr peraf anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    REFRESH : l_i_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlp_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  get_anlz_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;      Get Time-Dependent Asset Allocations(ANLZ)  with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLZ  "Time-Dependent Asset Allocations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlz_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                             fp_gjahr  TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_peraf  TYPE peraf&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlz TYPE ty_t_anlz.&lt;/P&gt;&lt;P&gt;*Local Data Declaration&lt;/P&gt;&lt;P&gt;  DATA : l_date TYPE dats.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Constants&lt;/P&gt;&lt;P&gt;  DATA : l_c_ng TYPE char2 VALUE 'NG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Function Module To Calculate Last calendar day in the fiscal period&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_gjahr        = fp_gjahr&lt;/P&gt;&lt;P&gt;      i_periv        = l_c_ng&lt;/P&gt;&lt;P&gt;      i_poper        = fp_peraf&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_date         = l_date&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      input_false    = 0&lt;/P&gt;&lt;P&gt;      t009_notfound  = 0&lt;/P&gt;&lt;P&gt;      t009b_notfound = 0&lt;/P&gt;&lt;P&gt;      OTHERS         = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Time-Dependent Asset Allocations data from ANLZ table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT bukrs   "Company Code&lt;/P&gt;&lt;P&gt;           anln1   "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2   "Asset Subnumber&lt;/P&gt;&lt;P&gt;           kostl   "Cost Center&lt;/P&gt;&lt;P&gt;           FROM anlz INTO TABLE fp_i_anlz&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;     WHERE bukrs = fp_i_anla_temp-bukrs AND&lt;/P&gt;&lt;P&gt;           anln1 = fp_i_anla_temp-anln1 AND&lt;/P&gt;&lt;P&gt;           anln2 = fp_i_anla_temp-anln2 AND&lt;/P&gt;&lt;P&gt;           bdatu GE l_date AND&lt;/P&gt;&lt;P&gt;           adatu LE l_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlz BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlz_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  get_t095b_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;      get G/L accounts value adjustment(T095b) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLB  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_T095B "G/L accounts value adjustment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_t095b_data  USING    fp_i_anla_temp  TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                     CHANGING fp_i_t095b TYPE ty_t_t095b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Local Constants&lt;/P&gt;&lt;P&gt;  DATA : l_c_n001 TYPE t095b-ktopl VALUE 'N001'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select G/L accounts value adjustment from the table T095b&lt;/P&gt;&lt;P&gt;    SELECT   ktogr    "Account determination&lt;/P&gt;&lt;P&gt;             afabe    "Real depreciation area&lt;/P&gt;&lt;P&gt;             ktnafg   "Expense account for ordinary depreciation to book val. 0&lt;/P&gt;&lt;P&gt;             ktaafg   "Expense account for unplanned depreciation&lt;/P&gt;&lt;P&gt;             FROM t095b INTO TABLE fp_i_t095b&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;             WHERE ktopl = l_c_n001 AND&lt;/P&gt;&lt;P&gt;             ktogr = fp_i_anla_temp-ktogr AND&lt;/P&gt;&lt;P&gt;             afabe = c_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_t095b BY ktogr afabe.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_t095b_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  get_anep_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;      get Asset Line Items(ANEP) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANEP  "Asset Line Items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anep_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                             fp_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                             fp_i_anbtr TYPE ty_t_anbtr.  "TUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;l_fs_anep&amp;gt; TYPE ty_anep.&lt;/P&gt;&lt;P&gt;  DATA : l_wa_anbtr TYPE ty_anbtr,&lt;/P&gt;&lt;P&gt;         l_v_anbtr1 TYPE anbtr VALUE '0',&lt;/P&gt;&lt;P&gt;         l_v_anbtr2 TYPE anbtr VALUE '0'.&lt;/P&gt;&lt;P&gt;  CONSTANTS:  l_c_zta TYPE bwasl VALUE 'ZTA',&lt;/P&gt;&lt;P&gt;              l_c_ztb TYPE bwasl VALUE 'ZTB',&lt;/P&gt;&lt;P&gt;              l_c_zr2 TYPE bwasl VALUE 'ZR2',&lt;/P&gt;&lt;P&gt;              l_c_zpc TYPE bwasl VALUE 'ZPC',&lt;/P&gt;&lt;P&gt;              l_c_ztr TYPE bwasl VALUE 'ZTR',&lt;/P&gt;&lt;P&gt;              l_c_zr1 TYPE bwasl VALUE 'ZR1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Asset Line Items from the table ANEP&lt;/P&gt;&lt;P&gt;    SELECT bukrs  "Company Code&lt;/P&gt;&lt;P&gt;           anln1  "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2  "Asset Subnumber&lt;/P&gt;&lt;P&gt;           gjahr  "Fiscal Year&lt;/P&gt;&lt;P&gt;           lnran  "Sequence number of asset line items in fiscal year&lt;/P&gt;&lt;P&gt;           afabe  "Real depreciation area&lt;/P&gt;&lt;P&gt;           zujhr  "Asset acquisition year (currently not used)&lt;/P&gt;&lt;P&gt;           zucod  "Sub-classification of asset acquisitions(currently not used)&lt;/P&gt;&lt;P&gt;           bwasl  "Asset transaction type&lt;/P&gt;&lt;P&gt;           anbtr  "Amount posted&lt;/P&gt;&lt;P&gt;           FROM anep&lt;/P&gt;&lt;P&gt;           INTO TABLE fp_i_anep&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;           WHERE bukrs = fp_i_anla_temp-bukrs&lt;/P&gt;&lt;P&gt;           AND anln1 = fp_i_anla_temp-anln1&lt;/P&gt;&lt;P&gt;           AND anln2 = fp_i_anla_temp-anln2&lt;/P&gt;&lt;P&gt;           AND gjahr = fp_gjahr&lt;/P&gt;&lt;P&gt;           AND afabe = c_01.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anep BY bukrs anln1 anln2 gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Begin of TUT&lt;/P&gt;&lt;P&gt;      LOOP AT fp_i_anep ASSIGNING &amp;lt;l_fs_anep&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;l_fs_anep&amp;gt;-bwasl(1) = c_1 OR &amp;lt;l_fs_anep&amp;gt;-bwasl(1) = c_3&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zta OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_ztb&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zr1 OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zr2&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_ztr OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zpc.&lt;/P&gt;&lt;P&gt;          l_v_anbtr1 = l_v_anbtr1 + &amp;lt;l_fs_anep&amp;gt;-anbtr.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;l_fs_anep&amp;gt;-bwasl(1) NE c_6 OR  &amp;lt;l_fs_anep&amp;gt;-bwasl(1) NE c_7.&lt;/P&gt;&lt;P&gt;          l_v_anbtr2  = l_v_anbtr2 + &amp;lt;l_fs_anep&amp;gt;-anbtr .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT END OF anln1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-bukrs = &amp;lt;l_fs_anep&amp;gt;-bukrs.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anln1 = &amp;lt;l_fs_anep&amp;gt;-anln1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anln2 = &amp;lt;l_fs_anep&amp;gt;-anln2.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-gjahr = &amp;lt;l_fs_anep&amp;gt;-gjahr.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anbtr1 = l_v_anbtr1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anbtr2 = l_v_anbtr2.&lt;/P&gt;&lt;P&gt;          APPEND l_wa_anbtr TO fp_i_anbtr.&lt;/P&gt;&lt;P&gt;          CLEAR: l_v_anbtr1, l_v_anbtr2.&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anbtr BY bukrs anln1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anep_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  get_anea_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;      get Asset Line Items for Proportional Values(ANEA)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           with the condition of  ANEP Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANEP  "Asset Line Items&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANEA  "Asset Line Items for Proportional Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anea_data  USING    fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anea TYPE ty_t_anea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anep IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select Asset Line Items for Proportional Values from the table ANEA&lt;/P&gt;&lt;P&gt;    SELECT bukrs             "Company Code&lt;/P&gt;&lt;P&gt;           anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;           nafav             "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;           aafav             "Proportional cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;           nafal             "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;           aafal             "Proportional unplanned depreciation for the year&lt;/P&gt;&lt;P&gt;      FROM anea&lt;/P&gt;&lt;P&gt;      INTO TABLE fp_i_anea&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN fp_i_anep&lt;/P&gt;&lt;P&gt;      WHERE bukrs = fp_i_anep-bukrs AND&lt;/P&gt;&lt;P&gt;            anln1 = fp_i_anep-anln1 AND&lt;/P&gt;&lt;P&gt;            anln2 = fp_i_anep-anln2 AND&lt;/P&gt;&lt;P&gt;            gjahr = fp_i_anep-gjahr AND&lt;/P&gt;&lt;P&gt;            lnran = fp_i_anep-lnran AND&lt;/P&gt;&lt;P&gt;            afabe = fp_i_anep-afabe AND&lt;/P&gt;&lt;P&gt;            zujhr = fp_i_anep-zujhr AND&lt;/P&gt;&lt;P&gt;            zucod = fp_i_anep-zucod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anea BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anea_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  get_data_final&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;      Get the data for final table and it is trnasfer to Excel File&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLB  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLC  "Asset Value Fields&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLP  "Asset Periodic Values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLZ  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANEA  "Asset Line Items for Proportional Values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_T095B "G/L accounts value adjustment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_FINALTAB "Final Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data_final  USING    fp_i_anla TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                              fp_i_anlb TYPE ty_t_anlb&lt;/P&gt;&lt;P&gt;                              fp_i_anlc TYPE ty_t_anlc&lt;/P&gt;&lt;P&gt;                              fp_i_anlp TYPE ty_t_anlp&lt;/P&gt;&lt;P&gt;                              fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                              fp_i_anlz TYPE ty_t_anlz&lt;/P&gt;&lt;P&gt;                              fp_i_anea TYPE ty_t_anea&lt;/P&gt;&lt;P&gt;                              fp_i_t095b TYPE ty_t_t095b&lt;/P&gt;&lt;P&gt;                              fp_i_anbtr TYPE ty_t_anbtr               "  TUT&lt;/P&gt;&lt;P&gt;                    CHANGING  fp_i_finaltab TYPE ty_t_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_anla TYPE ty_anla,&lt;/P&gt;&lt;P&gt;        l_wa_anlb TYPE ty_anlb,&lt;/P&gt;&lt;P&gt;        l_wa_anlc TYPE ty_anlc,&lt;/P&gt;&lt;P&gt;        l_wa_anlp TYPE ty_anlp,&lt;/P&gt;&lt;P&gt;        l_wa_anep TYPE ty_anep,&lt;/P&gt;&lt;P&gt;        l_wa_anlz TYPE ty_anlz,&lt;/P&gt;&lt;P&gt;        l_wa_anea TYPE ty_anea,&lt;/P&gt;&lt;P&gt;        l_wa_t095b TYPE ty_t095b,&lt;/P&gt;&lt;P&gt;        l_wa_anbtr TYPE ty_anbtr,                       " TUT&lt;/P&gt;&lt;P&gt;        l_wa_ftab TYPE ty_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_v_anbtr1 TYPE anbtr VALUE '0',    " TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr2 TYPE anbtr VALUE '0',    " TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   l_v_na_anfav TYPE nafav,&lt;/P&gt;&lt;P&gt;          l_v_na_aafal TYPE aafal,&lt;/P&gt;&lt;P&gt;          l_v_kansw01 TYPE kansw_altd.&lt;/P&gt;&lt;P&gt;*Local constants&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS:  l_c_zta TYPE bwasl VALUE 'ZTA',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_ztb TYPE bwasl VALUE 'ZTB',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zr2 TYPE bwasl VALUE 'ZR2',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zpc TYPE bwasl VALUE 'ZPC',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_ztr TYPE bwasl VALUE 'ZTR',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zr1 TYPE bwasl VALUE 'ZR1'.   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT fp_i_anla INTO l_wa_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_ftab-bukrs  = l_wa_anla-bukrs.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anln1  = l_wa_anla-anln1.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anln2  = l_wa_anla-anln2.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anlkl  = l_wa_anla-anlkl.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-txt50  = l_wa_anla-txt50.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-deakt  = l_wa_anla-deakt.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-ord41  = l_wa_anla-ord41.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-aibn1  = l_wa_anla-aibn1.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-aibdt  = l_wa_anla-aibdt.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-ktogr  = l_wa_anla-ktogr.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-menge  = l_wa_anla-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlb INTO l_wa_anlb WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afasl = l_wa_anlb-afasl.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afabe  = l_wa_anlb-afabe.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ndjar  = l_wa_anlb-ndjar.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ndper  = l_wa_anlb-ndper.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afabg  = l_wa_anlb-afabg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-schrw  = l_wa_anlb-schrw.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlc INTO l_wa_anlc WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafag  = l_wa_anlc-nafag.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafag  = l_wa_anlc-aafag.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-knafa  = l_wa_anlc-knafa.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kaafa  = l_wa_anlc-kaafa.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafap  = l_wa_anlc-nafap.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afblpe = l_wa_anlc-afblpe.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafav  = l_wa_anlc-nafav.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafav  = l_wa_anlc-aafav.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafal  = l_wa_anlc-nafal.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafal  = l_wa_anlc-aafal.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kansw  = l_wa_anlc-kansw.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlp INTO l_wa_anlp WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-peraf = l_wa_anlp-peraf.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-gjahr = l_wa_anlp-gjahr.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafaz = l_wa_anlp-nafaz.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafaz = l_wa_anlp-aafaz.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlz INTO l_wa_anlz WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kostl = l_wa_anlz-kostl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_t095b INTO l_wa_t095b WITH KEY ktogr = l_wa_anla-ktogr&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ktnafg  = l_wa_t095b-ktnafg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ktaafg  = l_wa_t095b-ktaafg.&lt;/P&gt;&lt;P&gt;      l_v_kansw01 = l_wa_t095b-ktnafg + l_wa_t095b-ktaafg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kansw01 = l_v_kansw01.&lt;/P&gt;&lt;P&gt;    ENDIF.&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; Begin of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anbtr INTO l_wa_anbtr WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                   anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        l_wa_ftab-anbtr1 = l_wa_anbtr-anbtr1.&lt;/P&gt;&lt;P&gt;        l_wa_ftab-anbtr2 = l_wa_anbtr-anbtr2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE fp_i_anep INTO l_wa_anep WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                BINARY SEARCH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF l_wa_anep-bwasl(1) = c_1 OR l_wa_anep-bwasl(1) = c_3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_zta OR l_wa_anep-bwasl = l_c_ztb&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_zr1 OR l_wa_anep-bwasl = l_c_zr2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_ztr OR l_wa_anep-bwasl = l_c_zpc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr1 = l_v_anbtr1 + l_wa_anep-anbtr.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF l_wa_anep-bwasl(1) NE c_6 OR  l_wa_anep-bwasl(1) NE c_7.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr2  = l_v_anbtr2 + l_wa_anep-anbtr .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_ftab-anbtr1 = l_v_anbtr1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_ftab-anbtr2 = l_v_anbtr2.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anea INTO l_wa_anea WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_v_na_anfav = l_v_na_anfav + l_wa_anea-nafav + l_wa_anea-aafav.&lt;/P&gt;&lt;P&gt;      l_v_na_aafal = l_v_na_aafal + l_wa_anea-nafal + l_wa_anea-aafal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_ftab-na_anfav = l_v_na_anfav .&lt;/P&gt;&lt;P&gt;      l_wa_ftab-na_nafal = l_v_na_aafal.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND l_wa_ftab TO fp_i_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR:  l_wa_anla,&lt;/P&gt;&lt;P&gt;            l_wa_anlb,&lt;/P&gt;&lt;P&gt;            l_wa_anlc,&lt;/P&gt;&lt;P&gt;            l_wa_anlp,&lt;/P&gt;&lt;P&gt;            l_wa_anep,&lt;/P&gt;&lt;P&gt;            l_wa_anlz,&lt;/P&gt;&lt;P&gt;            l_wa_anea,&lt;/P&gt;&lt;P&gt;            l_wa_t095b,&lt;/P&gt;&lt;P&gt;            l_wa_anbtr,                     "TUT&lt;/P&gt;&lt;P&gt;            l_wa_ftab.&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;ENDFORM.                    " get_data_final&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  data_download&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;      Data downloaded into the Temp Folder in the Excel Format&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB  Final Table&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 data_download  USING    fp_i_ftab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                             fp_fname TYPE filep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : l_v_file TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_v_file = fp_fname.&lt;/P&gt;&lt;P&gt;***This path mentioned in FS only&lt;/P&gt;&lt;P&gt;*Constants&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_c_path TYPE string VALUE 'c:\temp\temp.xls'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF fp_i_ftab IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Function Module used to download to Presentation Server.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename                = l_v_file&lt;/P&gt;&lt;P&gt;        filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator   = c_x&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                = fp_i_ftab&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        file_write_error        = 1&lt;/P&gt;&lt;P&gt;        no_batch                = 2&lt;/P&gt;&lt;P&gt;        gui_refuse_filetransfer = 3&lt;/P&gt;&lt;P&gt;        invalid_type            = 4&lt;/P&gt;&lt;P&gt;        no_authority            = 5&lt;/P&gt;&lt;P&gt;        unknown_error           = 6&lt;/P&gt;&lt;P&gt;        header_not_allowed      = 7&lt;/P&gt;&lt;P&gt;        separator_not_allowed   = 8&lt;/P&gt;&lt;P&gt;        filesize_not_allowed    = 9&lt;/P&gt;&lt;P&gt;        header_too_long         = 10&lt;/P&gt;&lt;P&gt;        dp_error_create         = 11&lt;/P&gt;&lt;P&gt;        dp_error_send           = 12&lt;/P&gt;&lt;P&gt;        dp_error_write          = 13&lt;/P&gt;&lt;P&gt;        unknown_dp_error        = 14&lt;/P&gt;&lt;P&gt;        access_denied           = 15&lt;/P&gt;&lt;P&gt;        dp_out_of_memory        = 16&lt;/P&gt;&lt;P&gt;        disk_full               = 17&lt;/P&gt;&lt;P&gt;        dp_timeout              = 18&lt;/P&gt;&lt;P&gt;        file_not_found          = 19&lt;/P&gt;&lt;P&gt;        dataprovider_exception  = 20&lt;/P&gt;&lt;P&gt;        control_flush_error     = 21&lt;/P&gt;&lt;P&gt;        OTHERS                  = 22.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; c_zero.&lt;/P&gt;&lt;P&gt;      CASE sy-subrc.&lt;/P&gt;&lt;P&gt;        WHEN c_one.&lt;/P&gt;&lt;P&gt;          MESSAGE e123. "File Write error&lt;/P&gt;&lt;P&gt;        WHEN c_two.&lt;/P&gt;&lt;P&gt;          MESSAGE e124. "No batch&lt;/P&gt;&lt;P&gt;        WHEN c_three.&lt;/P&gt;&lt;P&gt;          MESSAGE e125. "GUI Refuses file transfer&lt;/P&gt;&lt;P&gt;        WHEN c_four.&lt;/P&gt;&lt;P&gt;          MESSAGE e126. "Invalid type&lt;/P&gt;&lt;P&gt;        WHEN c_five.&lt;/P&gt;&lt;P&gt;          MESSAGE e127. "No authority&lt;/P&gt;&lt;P&gt;        WHEN c_six.&lt;/P&gt;&lt;P&gt;          MESSAGE e128. "Unknown error&lt;/P&gt;&lt;P&gt;        WHEN c_seven.&lt;/P&gt;&lt;P&gt;          MESSAGE e129. "Header not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_eight.&lt;/P&gt;&lt;P&gt;          MESSAGE e130. "Seperator not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_nine.&lt;/P&gt;&lt;P&gt;          MESSAGE e131. "File size not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_ten.&lt;/P&gt;&lt;P&gt;          MESSAGE e132. "Header too long&lt;/P&gt;&lt;P&gt;        WHEN c_eleven.&lt;/P&gt;&lt;P&gt;          MESSAGE e133. "Dp error create&lt;/P&gt;&lt;P&gt;        WHEN c_twelve.&lt;/P&gt;&lt;P&gt;          MESSAGE e134. "Dp error send&lt;/P&gt;&lt;P&gt;        WHEN c_thirteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e135. "Dp error write&lt;/P&gt;&lt;P&gt;        WHEN c_fourteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e136. "Unknown Dp error&lt;/P&gt;&lt;P&gt;        WHEN c_fifteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e137. "Access denied&lt;/P&gt;&lt;P&gt;        WHEN c_sixteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e138. "Dp out of memory&lt;/P&gt;&lt;P&gt;        WHEN c_seventeen.&lt;/P&gt;&lt;P&gt;          MESSAGE e139. "Disk full&lt;/P&gt;&lt;P&gt;        WHEN c_eighteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e140. "Dp time out&lt;/P&gt;&lt;P&gt;        WHEN c_nineteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e141. "File not found&lt;/P&gt;&lt;P&gt;        WHEN c_twenty.&lt;/P&gt;&lt;P&gt;          MESSAGE e142. "Data provider exception&lt;/P&gt;&lt;P&gt;        WHEN c_twentyone.&lt;/P&gt;&lt;P&gt;          MESSAGE e143. "Control flush error&lt;/P&gt;&lt;P&gt;        WHEN c_twentytwo.&lt;/P&gt;&lt;P&gt;          MESSAGE e144. "Unknown error&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;      REFRESH fp_i_ftab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE s317 WITH text-050. "Data Downloaded into Temp Folder in C Drive&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;ENDFORM.                    " data_download&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  header_info&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;      For Header Information For the  Excel Sheet&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB  Final Table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_HEADER  For Header Of Excel&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_FTAB    For Final Table and Header&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 header_info  USING  fp_i_finaltab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                  CHANGING  fp_i_header TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                            fp_i_ftab TYPE ty_t_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_ftab TYPE ty_finaltab.&lt;/P&gt;&lt;P&gt;  DATA: l_c_asset TYPE char40,&lt;/P&gt;&lt;P&gt;        l_c_year TYPE char20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_user_defaults TYPE usdefaults.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:l_wa_ftab1 TYPE ty_head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anln1  = text-004.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anln2  = text-005.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-bukrs  = text-006.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anlkl  = text-007.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-txt50  = text-008.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-deakt  = text-009.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ord41  = text-010.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aibn1  = text-011.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aibdt  = text-012.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktogr  = text-013.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-menge  = text-014.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afasl = text-015.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afabe = text-016.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ndjar = text-017.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ndper = text-018.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afabg = text-019.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-schrw = text-020.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafag  = text-021.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafag  = text-022.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-knafa  = text-023.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kaafa  = text-024.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafap  = text-025.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afblpe = text-026.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafav  = text-027.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafav  = text-028.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafal  = text-029.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafal  = text-030.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kansw  = text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-peraf = text-032.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-gjahr = text-033.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafaz = text-034.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafaz = text-035.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kostl = text-036.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktnafg = text-037.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktaafg = text-038.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kansw01 = text-057.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anbtr1 = text-039.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anbtr2 = text-040.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-na_anfav = text-041.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-na_nafal = text-042.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fp_i_ftab[] = fp_i_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_ftab TO fp_i_header.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-055 '  ' p_peraf INTO l_c_asset.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset = l_c_asset.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(5)  = text-054.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = p_gjahr.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(13)  = text-053.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = s_anlkl.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(14)  = text-052.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = s_bukrs-low.&lt;/P&gt;&lt;P&gt;  IF s_bukrs-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    l_wa_ftab1-asset+25(1) = '-'.&lt;/P&gt;&lt;P&gt;    l_wa_ftab1-asset+26(4) = s_bukrs-high.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO l_wa_ftab1-asset+21(10).&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(10)  = text-051.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset = text-049.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_ftab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_info&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  send_mail&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;      This perform used for send the data into the mail&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           specified in the Selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB " Final Internal Table&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 send_mail  USING    fp_i_finaltab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                         fp_i_reclist  TYPE ty_reclist_tab.&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;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS: l_c_u TYPE so_escape VALUE 'U',  " Escape sequence&lt;/P&gt;&lt;P&gt;             l_c_cret TYPE c VALUE cl_abap_char_utilities=&amp;gt;newline,&lt;/P&gt;&lt;P&gt;                          "Carriage Return and Line Feed" Character Pair&lt;/P&gt;&lt;P&gt;             l_c_htab TYPE c VALUE&lt;/P&gt;&lt;P&gt;              cl_abap_char_utilities=&amp;gt;horizontal_tab,&lt;/P&gt;&lt;P&gt;              "Horizontal Tab Stop" Character&lt;/P&gt;&lt;P&gt;             l_c_raw   TYPE so_obj_tp VALUE 'RAW',        "Constant RAW&lt;/P&gt;&lt;P&gt;             l_c_int   TYPE char3   VALUE 'INT',          "Constant INT&lt;/P&gt;&lt;P&gt;             l_c_xls   TYPE char3   VALUE  'XLS'.         "File format&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table types for sopcklsti1 table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TYPES :  l_ty_sopcklsti1 TYPE STANDARD TABLE OF sopcklsti1,&lt;/P&gt;&lt;P&gt;           l_ty_somlreci1 TYPE STANDARD TABLE OF somlreci1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table and WA to hold the contents to be passed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA : l_i_mail_data  TYPE STANDARD TABLE OF solisti1,&lt;/P&gt;&lt;P&gt;         l_wa_mail_data TYPE solisti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local work area declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_wa_message TYPE solisti1,       " WA for Message body&lt;/P&gt;&lt;P&gt;        l_wa_objpack TYPE sopcklsti1,     " WA for packing list&lt;/P&gt;&lt;P&gt;        l_wa_docdata   TYPE sodocchgi1.   " WA for Doc Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : l_v_output(2000) TYPE c. "Output WA in string format5&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;Local Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local data declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_i_reclist   TYPE ty_reclist_tab,&lt;/P&gt;&lt;P&gt;        l_wa_reclist  TYPE ty_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :   l_i_objpack  TYPE l_ty_sopcklsti1, " IT for contents table&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          l_i_reclist   TYPE l_ty_somlreci1, " Recievers list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           l_i_message   TYPE STANDARD TABLE OF solisti1. " Message Body&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS : &amp;lt;l_wa_rep_header&amp;gt; TYPE ty_finaltab,  " For Report Header data&lt;/P&gt;&lt;P&gt;                  &amp;lt;l_wa_rep_detail&amp;gt; TYPE ty_finaltab.  " For Report Details data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_r_mail TYPE ty_t_mail,&lt;/P&gt;&lt;P&gt;        l_wa_mail LIKE LINE OF l_r_mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_r_mail = s_email[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT l_r_mail INTO l_wa_mail.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare the list of recieving email IDs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_wa_reclist-receiver = l_wa_mail-low.&lt;/P&gt;&lt;P&gt;    l_wa_reclist-rec_type = c_rectyp .&lt;/P&gt;&lt;P&gt;    APPEND l_wa_reclist TO l_i_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF l_wa_mail-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      l_wa_reclist-receiver = l_wa_mail-high.&lt;/P&gt;&lt;P&gt;      l_wa_reclist-rec_type = c_rectyp .&lt;/P&gt;&lt;P&gt;      APPEND l_wa_reclist TO l_i_reclist.&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;  SORT l_i_reclist BY receiver.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM l_i_reclist.&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;Fill up the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SAP ASSET MASTER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message = text-049.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Rundate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message+0(8) = text-051.&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO l_wa_message+10(10).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_message+10(8) = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message+0(13) = text-052.&lt;/P&gt;&lt;P&gt;  l_wa_message+15(4) = s_bukrs-low.&lt;/P&gt;&lt;P&gt;  IF s_bukrs-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    l_wa_message+20(1) = '-'.&lt;/P&gt;&lt;P&gt;    l_wa_message+21(4) = s_bukrs-high.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Asset Class&lt;/P&gt;&lt;P&gt;  l_wa_message+0(12) = text-053.&lt;/P&gt;&lt;P&gt;  l_wa_message+15(4) = s_anlkl.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Year&lt;/P&gt;&lt;P&gt;  l_wa_message+0(5) = text-054.&lt;/P&gt;&lt;P&gt;  l_wa_message+7(4) = p_gjahr.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Depriciation Period&lt;/P&gt;&lt;P&gt;  l_wa_message+0(20) = text-055.&lt;/P&gt;&lt;P&gt;  l_wa_message+22(3) = p_peraf.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_docdata-obj_langu = sy-langu.&lt;/P&gt;&lt;P&gt;  l_wa_docdata-obj_descr = text-048.   " Reports&lt;/P&gt;&lt;P&gt;  l_wa_docdata-doc_size = 2000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create the entry for the compressed document.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH l_i_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_objpack-transf_bin = c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_objpack-transf_bin = space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-head_start = c_1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of the attchment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_start = c_1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_num   = 2000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attachment Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-doc_type   =  l_c_raw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the work area to internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND l_wa_objpack TO l_i_objpack.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer the structural details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR l_wa_objpack-transf_bin.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;From where the header starts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-head_start = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Where the body starts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_start = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No. of lines in the body&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_num   = 2000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The document type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-doc_type   = l_c_xls.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attachment Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-obj_descr  = text-047.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_objpack-doc_size =  40 * 5000 * 255.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_objpack TO l_i_objpack.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare the data in the header and detailed table in the format&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;so that the report can be sent in excel format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT i_header ASSIGNING &amp;lt;l_wa_rep_header&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move the column info for the detailed data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_v_output+0(20) = text-004.&lt;/P&gt;&lt;P&gt;    l_v_output+20(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+21(20) = text-005.&lt;/P&gt;&lt;P&gt;    l_v_output+41(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+42(12) = text-006.&lt;/P&gt;&lt;P&gt;    l_v_output+54(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+55(12) = text-007.&lt;/P&gt;&lt;P&gt;    l_v_output+67(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+68(50) = text-008.&lt;/P&gt;&lt;P&gt;    l_v_output+118(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+119(20) = text-009.&lt;/P&gt;&lt;P&gt;    l_v_output+139(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+140(22) = text-010.&lt;/P&gt;&lt;P&gt;    l_v_output+162(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+163(35) = text-011.&lt;/P&gt;&lt;P&gt;    l_v_output+198(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+199(51) = text-012.&lt;/P&gt;&lt;P&gt;    l_v_output+250(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(21) = text-013.&lt;/P&gt;&lt;P&gt;    l_v_output+21(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+22(12) = text-036.&lt;/P&gt;&lt;P&gt;    l_v_output+34(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+35(16) = text-015.&lt;/P&gt;&lt;P&gt;    l_v_output+51(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+52(22) = text-016.&lt;/P&gt;&lt;P&gt;    l_v_output+74(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+75(29) = text-017.&lt;/P&gt;&lt;P&gt;    l_v_output+104(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+105(30) = text-018.&lt;/P&gt;&lt;P&gt;    l_v_output+135(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+136(35) = text-019.&lt;/P&gt;&lt;P&gt;    l_v_output+171(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+172(58) = text-037.&lt;/P&gt;&lt;P&gt;    l_v_output+230(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(58) = text-038.&lt;/P&gt;&lt;P&gt;    l_v_output+58(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+59(50) = text-057.&lt;/P&gt;&lt;P&gt;    l_v_output+109(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+110(50) = text-021.&lt;/P&gt;&lt;P&gt;    l_v_output+160(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+161(50) = text-022.&lt;/P&gt;&lt;P&gt;    l_v_output+211(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(50) = text-023.&lt;/P&gt;&lt;P&gt;    l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+51(50) = text-024.&lt;/P&gt;&lt;P&gt;    l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+102(45) = text-025.&lt;/P&gt;&lt;P&gt;    l_v_output+147(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+148(45) = text-026.&lt;/P&gt;&lt;P&gt;    l_v_output+193(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+194(32) = text-032.&lt;/P&gt;&lt;P&gt;    l_v_output+226(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+227(12) = text-033.&lt;/P&gt;&lt;P&gt;    l_v_output+239(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(35) = text-034.&lt;/P&gt;&lt;P&gt;    l_v_output+35(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+36(40) = text-035.&lt;/P&gt;&lt;P&gt;    l_v_output+76(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+77(9) = text-014.&lt;/P&gt;&lt;P&gt;    l_v_output+86(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+87(46) = text-027.&lt;/P&gt;&lt;P&gt;    l_v_output+133(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+134(46) = text-028.&lt;/P&gt;&lt;P&gt;    l_v_output+180(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+181(50) = text-029.&lt;/P&gt;&lt;P&gt;    l_v_output+231(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(50) = text-030.&lt;/P&gt;&lt;P&gt;    l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+51(50) = text-031.&lt;/P&gt;&lt;P&gt;    l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+102(14) = text-039.&lt;/P&gt;&lt;P&gt;    l_v_output+116(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+117(14) = text-040.&lt;/P&gt;&lt;P&gt;    l_v_output+131(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+132(46) = text-041.&lt;/P&gt;&lt;P&gt;    l_v_output+178(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+179(50) = text-042.&lt;/P&gt;&lt;P&gt;    l_v_output+229(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+230(17) = text-020.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line+254(1) = l_c_cret.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the records from the detailed data which are linked to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT fp_i_finaltab ASSIGNING &amp;lt;l_wa_rep_detail&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(20) = &amp;lt;l_wa_rep_detail&amp;gt;-anln1.&lt;/P&gt;&lt;P&gt;      l_v_output+20(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+21(20) = &amp;lt;l_wa_rep_detail&amp;gt;-anln2.&lt;/P&gt;&lt;P&gt;      l_v_output+41(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+42(12) = &amp;lt;l_wa_rep_detail&amp;gt;-bukrs.&lt;/P&gt;&lt;P&gt;      l_v_output+54(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+55(12) = &amp;lt;l_wa_rep_detail&amp;gt;-anlkl.&lt;/P&gt;&lt;P&gt;      l_v_output+67(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+68(50) = &amp;lt;l_wa_rep_detail&amp;gt;-txt50.&lt;/P&gt;&lt;P&gt;      l_v_output+118(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+119(20) = &amp;lt;l_wa_rep_detail&amp;gt;-deakt.&lt;/P&gt;&lt;P&gt;      l_v_output+139(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+140(22) = &amp;lt;l_wa_rep_detail&amp;gt;-ord41.&lt;/P&gt;&lt;P&gt;      l_v_output+162(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+163(35) = &amp;lt;l_wa_rep_detail&amp;gt;-aibn1.&lt;/P&gt;&lt;P&gt;      l_v_output+198(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+199(51) = &amp;lt;l_wa_rep_detail&amp;gt;-aibdt.&lt;/P&gt;&lt;P&gt;      l_v_output+250(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(21) = &amp;lt;l_wa_rep_detail&amp;gt;-ktogr.&lt;/P&gt;&lt;P&gt;      l_v_output+21(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+22(12) = &amp;lt;l_wa_rep_detail&amp;gt;-kostl.&lt;/P&gt;&lt;P&gt;      l_v_output+34(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+35(16) =  &amp;lt;l_wa_rep_detail&amp;gt;-afasl.&lt;/P&gt;&lt;P&gt;      l_v_output+51(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+52(22) =  &amp;lt;l_wa_rep_detail&amp;gt;-afabe.&lt;/P&gt;&lt;P&gt;      l_v_output+74(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+75(29)  =  &amp;lt;l_wa_rep_detail&amp;gt;-ndjar.&lt;/P&gt;&lt;P&gt;      l_v_output+104(1)  = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+105(30) =  &amp;lt;l_wa_rep_detail&amp;gt;-ndper.&lt;/P&gt;&lt;P&gt;      l_v_output+135(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+136(35) = &amp;lt;l_wa_rep_detail&amp;gt;-afabg.&lt;/P&gt;&lt;P&gt;      l_v_output+171(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+172(58) =  &amp;lt;l_wa_rep_detail&amp;gt;-ktnafg.&lt;/P&gt;&lt;P&gt;      l_v_output+230(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(58) =  &amp;lt;l_wa_rep_detail&amp;gt;-ktaafg.&lt;/P&gt;&lt;P&gt;      l_v_output+58(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+59(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-kansw01.&lt;/P&gt;&lt;P&gt;      l_v_output+109(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+110(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafag.&lt;/P&gt;&lt;P&gt;      l_v_output+160(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+161(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafag.&lt;/P&gt;&lt;P&gt;      l_v_output+211(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-knafa.&lt;/P&gt;&lt;P&gt;      l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+51(50)  =  &amp;lt;l_wa_rep_detail&amp;gt;-kaafa.&lt;/P&gt;&lt;P&gt;      l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+102(45)  =  &amp;lt;l_wa_rep_detail&amp;gt;-nafap.&lt;/P&gt;&lt;P&gt;      l_v_output+147(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+148(45) =  &amp;lt;l_wa_rep_detail&amp;gt;-afblpe.&lt;/P&gt;&lt;P&gt;      l_v_output+193(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+194(32) =  &amp;lt;l_wa_rep_detail&amp;gt;-peraf .&lt;/P&gt;&lt;P&gt;      l_v_output+226(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+227(12) =  &amp;lt;l_wa_rep_detail&amp;gt;-gjahr.&lt;/P&gt;&lt;P&gt;      l_v_output+239(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(35) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafaz.&lt;/P&gt;&lt;P&gt;      l_v_output+35(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+36(40) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafaz.&lt;/P&gt;&lt;P&gt;      l_v_output+76(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+77(9) =  &amp;lt;l_wa_rep_detail&amp;gt;-menge .&lt;/P&gt;&lt;P&gt;      l_v_output+86(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+87(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafav.&lt;/P&gt;&lt;P&gt;      l_v_output+133(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+134(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafav.&lt;/P&gt;&lt;P&gt;      l_v_output+180(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+181(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafal.&lt;/P&gt;&lt;P&gt;      l_v_output+231(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(50) = &amp;lt;l_wa_rep_detail&amp;gt;-aafal.&lt;/P&gt;&lt;P&gt;      l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+51(50) = &amp;lt;l_wa_rep_detail&amp;gt;-kansw.&lt;/P&gt;&lt;P&gt;      l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+102(14) = &amp;lt;l_wa_rep_detail&amp;gt;-anbtr1.&lt;/P&gt;&lt;P&gt;      l_v_output+116(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+117(14) =  &amp;lt;l_wa_rep_detail&amp;gt;-anbtr2.&lt;/P&gt;&lt;P&gt;      l_v_output+131(1)  = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+132(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-na_anfav.&lt;/P&gt;&lt;P&gt;      l_v_output+178(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+179(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-na_nafal.&lt;/P&gt;&lt;P&gt;      l_v_output+229(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+230(17) =  &amp;lt;l_wa_rep_detail&amp;gt;-schrw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line+254(1) = l_c_cret.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the FM to send the output list to the recipients&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_data              = l_wa_docdata&lt;/P&gt;&lt;P&gt;      put_in_outbox              = c_x&lt;/P&gt;&lt;P&gt;      commit_work                = c_x&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      packing_list               = l_i_objpack&lt;/P&gt;&lt;P&gt;      contents_bin               = l_i_message&lt;/P&gt;&lt;P&gt;      contents_txt               = l_i_mail_data&lt;/P&gt;&lt;P&gt;      receivers                  = l_i_reclist&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      parameter_error            = 5&lt;/P&gt;&lt;P&gt;      x_error                    = 6&lt;/P&gt;&lt;P&gt;      enqueue_error              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE c_zero.&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;      WHEN c_one.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Too many recipients, no authorization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e964.&lt;/P&gt;&lt;P&gt;      WHEN c_two.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document was not sent&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e965.&lt;/P&gt;&lt;P&gt;      WHEN c_three.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document type or attachment type does not exist&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e966.&lt;/P&gt;&lt;P&gt;      WHEN c_four.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No authorization to send/create&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e967.&lt;/P&gt;&lt;P&gt;      WHEN c_five.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invalid combination of parameter values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e968.&lt;/P&gt;&lt;P&gt;      WHEN c_six.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal error or database inconsistency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e969.&lt;/P&gt;&lt;P&gt;      WHEN c_seven.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Required locks could not be set&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e317 WITH text-106.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;    SUBMIT rsconn01 WITH mode = l_c_int&lt;/P&gt;&lt;P&gt;                  AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " send_mail&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  disable_selection_screen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 disable_selection_screen .&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;Disable selection screen fields which are not required&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF screen-group4 = 004.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   " OR                                            " Personnel number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          screen-group4 = l_c_165 OR                                         " Personnel Subarea&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          screen-group4 = l_c_171.                                           " Payroll Area&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Making selection screen fields disable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     screen-required = c_01.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY SCREEN.&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;&lt;/P&gt;&lt;P&gt;*if p_peraf is initial.&lt;/P&gt;&lt;P&gt;*message e317 with text-059.&lt;/P&gt;&lt;P&gt;*else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF p_gjahr IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE e317 WITH text-060.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF s_email[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE e317 WITH text-061.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&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;&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; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " disable_selection_screen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  depriciation_period&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 depriciation_period USING fp_p_peraf TYPE peraf.&lt;/P&gt;&lt;P&gt;  IF fp_p_peraf IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-059.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " depriciation_period&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  fiscal_year&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_GJAHR  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 fiscal_year  USING    fp_p_gjahr TYPE gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_p_gjahr IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-060.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fiscal_year&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  mail&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_S_Email  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 mail USING  fp_s_email TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  IF fp_s_email[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-061.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " mail&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 24 Oct 2006 06:57:26 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-10-24T06:57:26Z</dc:date>
    <item>
      <title>program for xls download</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695253#M305069</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;i need a program for xls down load&lt;/P&gt;&lt;P&gt; thanks,&lt;/P&gt;&lt;P&gt;kalyan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Oct 2006 06:51:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695253#M305069</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-24T06:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: program for xls download</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695254#M305070</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COPIED FROM          : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE                : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHER RELATED OBJ    : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGE HISTORY LOG                                                   *&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;MOD. NO.|  DATE    | NAME | CORRECTION NUMBER    | CHANGE REFERENCE# *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/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;  Include           /AMS/FUSFCO_FADEPRICIATION_FORM                   *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  validation_company&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;      Validate Company Code&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&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 validation_company  USING fp_s_bukrs TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Data declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_v_bukrs TYPE bukrs.&lt;/P&gt;&lt;P&gt;  IF s_bukrs[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-058.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF NOT fp_s_bukrs IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT bukrs   "Company code&lt;/P&gt;&lt;P&gt;           INTO l_v_bukrs&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           FROM t001&lt;/P&gt;&lt;P&gt;           WHERE bukrs IN fp_s_bukrs.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If entered company code is not existing, raise error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e003.         " Selected Company Code does not exist in the system&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validation_company&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  initial_values&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;      Initialize The Values For Company Code&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;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;-- FP_S_BUKRS[]  "Company Code&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 initial_values .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE: c_i  TO s_bukrs-sign,&lt;/P&gt;&lt;P&gt;        c_eq TO s_bukrs-option,&lt;/P&gt;&lt;P&gt;        c_ca TO s_bukrs-low.&lt;/P&gt;&lt;P&gt;  APPEND s_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE: c_i  TO s_bukrs-sign,&lt;/P&gt;&lt;P&gt;        c_eq TO s_bukrs-option,&lt;/P&gt;&lt;P&gt;        c_us TO s_bukrs-low.&lt;/P&gt;&lt;P&gt;  APPEND s_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " initial_values&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_anla_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;      Get Asset Master Record Segment(ANAL) Data as per the Selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_ANLKL[]  "Asset class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLA     "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anla_data USING fp_s_bukrs TYPE STANDARD TABLE&lt;/P&gt;&lt;P&gt;                         fp_s_anlkl TYPE STANDARD TABLE&lt;/P&gt;&lt;P&gt;                   CHANGING fp_i_anla TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                            fp_i_anla_temp TYPE ty_t_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Selct the Asset Master Record Segment Data from table ANLA&lt;/P&gt;&lt;P&gt;  SELECT  bukrs            "Company Code&lt;/P&gt;&lt;P&gt;          anln1            "Main Asset Number&lt;/P&gt;&lt;P&gt;          anln2            "Asset Subnumber&lt;/P&gt;&lt;P&gt;          anlkl            "Asset class&lt;/P&gt;&lt;P&gt;          ktogr            "Account determination&lt;/P&gt;&lt;P&gt;          deakt            "Deactivation date&lt;/P&gt;&lt;P&gt;          ord41            "CARAT Report Code&lt;/P&gt;&lt;P&gt;          aibn1            "Original asset that was transferred&lt;/P&gt;&lt;P&gt;          aibdt            "Original acquisition date of AuC/ transferred asset&lt;/P&gt;&lt;P&gt;          menge            "Quantity&lt;/P&gt;&lt;P&gt;          txt50            "Asset description&lt;/P&gt;&lt;P&gt;          FROM anla&lt;/P&gt;&lt;P&gt;          INTO TABLE fp_i_anla&lt;/P&gt;&lt;P&gt;          WHERE bukrs IN  fp_s_bukrs AND&lt;/P&gt;&lt;P&gt;                anlkl IN  fp_s_anlkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; c_zero.&lt;/P&gt;&lt;P&gt;    MESSAGE e392 . "WITH text-001.  "No Data Availble in ANLA&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SORT fp_i_anla BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    MOVE fp_i_anla TO fp_i_anla_temp.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM fp_i_anla_temp COMPARING bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anla_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  get_anlb_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;      Get Depreciation terms(ANLB) Data as per the selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLB     "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlb_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlb TYPE ty_t_anlb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select the Depreciation terms Data from ANLB table&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT bukrs&lt;/P&gt;&lt;P&gt;           anln1&lt;/P&gt;&lt;P&gt;           anln2&lt;/P&gt;&lt;P&gt;           afabe                  "Real depreciation area&lt;/P&gt;&lt;P&gt;           afabg                  "Depreciation calculation start date&lt;/P&gt;&lt;P&gt;           afasl                  "Depreciation key&lt;/P&gt;&lt;P&gt;           ndjar                  "Planned useful life in years&lt;/P&gt;&lt;P&gt;           ndper                  "Planned useful life in periods&lt;/P&gt;&lt;P&gt;           schrw                  "Asset scrap value&lt;/P&gt;&lt;P&gt;           xafbe&lt;/P&gt;&lt;P&gt;    FROM anlb INTO TABLE fp_i_anlb FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;    WHERE bukrs = fp_i_anla_temp-bukrs&lt;/P&gt;&lt;P&gt;      AND anln1 = fp_i_anla_temp-anln1&lt;/P&gt;&lt;P&gt;      AND anln2 = fp_i_anla_temp-anln2&lt;/P&gt;&lt;P&gt;      AND afabe EQ c_01&lt;/P&gt;&lt;P&gt;      AND xafbe NE c_space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SORT fp_i_anlb BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlb_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  get_anlc_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;      Get Asset Value Fields(ANLC) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA     "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLC     "Asset Value Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlc_data  USING    fp_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlc TYPE ty_t_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Asset Value Fields data from table ANLC&lt;/P&gt;&lt;P&gt;    SELECT  bukrs             "Company Code&lt;/P&gt;&lt;P&gt;            anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;            anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;            afabe             "Real depreciation area&lt;/P&gt;&lt;P&gt;            zujhr             "Asset acquisition year (currently not used)&lt;/P&gt;&lt;P&gt;            zucod             "Sub-classification of asset acquisitions(currently not used)&lt;/P&gt;&lt;P&gt;            afblpe            "Period in which last depreciation was posted&lt;/P&gt;&lt;P&gt;            kansw             "Cumulative acquisition and production costs&lt;/P&gt;&lt;P&gt;            knafa             "Accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;            kaafa             "Cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;            nafap             "Planned ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;            nafag             "Ordinary depreciation posted in the current year&lt;/P&gt;&lt;P&gt;            aafag             "Unplanned depreciation posted for the year&lt;/P&gt;&lt;P&gt;            nafav             "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;            aafav             "Proportional cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;            nafal             "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;            aafal             "Proportional unplanned depreciation for the year&lt;/P&gt;&lt;P&gt;       FROM anlc INTO TABLE fp_i_anlc&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;       WHERE bukrs = fp_i_anla_temp-bukrs AND&lt;/P&gt;&lt;P&gt;             anln1 = fp_i_anla_temp-anln1 AND&lt;/P&gt;&lt;P&gt;             anln2 = fp_i_anla_temp-anln2 AND&lt;/P&gt;&lt;P&gt;             gjahr = fp_gjahr AND&lt;/P&gt;&lt;P&gt;             afabe = c_01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlc BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlc_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  get_anlp_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;      Get Asset Periodic Values(ANLP) with the condition of  ANLC Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_P_GJAHR  "Fiscal Year&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLP  "Asset Periodic Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlp_data  USING    fp_p_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_p_peraf TYPE peraf&lt;/P&gt;&lt;P&gt;                             fp_i_anlc TYPE ty_t_anlc&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlp TYPE ty_t_anlp.&lt;/P&gt;&lt;P&gt;*Local Variable&lt;/P&gt;&lt;P&gt;  DATA : l_i_anlc TYPE ty_t_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anlc IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE fp_i_anlc TO l_i_anlc.&lt;/P&gt;&lt;P&gt;    SORT l_i_anlc BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM l_i_anlc COMPARING bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select Asset Periodic Values from table ANLP&lt;/P&gt;&lt;P&gt;    SELECT  bukrs             "Company Code&lt;/P&gt;&lt;P&gt;            gjahr            "Fiscal Year&lt;/P&gt;&lt;P&gt;            peraf            "Depreciation calculation period&lt;/P&gt;&lt;P&gt;            anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;            anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;            nafaz            "Ordinary depreciation to be posted&lt;/P&gt;&lt;P&gt;            aafaz            "Unplanned depreciation to be posted&lt;/P&gt;&lt;P&gt;            FROM anlp INTO TABLE fp_i_anlp&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN fp_i_anlc&lt;/P&gt;&lt;P&gt;            WHERE bukrs = fp_i_anlc-bukrs AND&lt;/P&gt;&lt;P&gt;            gjahr = fp_p_gjahr AND&lt;/P&gt;&lt;P&gt;            peraf = fp_p_peraf AND&lt;/P&gt;&lt;P&gt;            anln1 = fp_i_anlc-anln1 AND&lt;/P&gt;&lt;P&gt;            anln2 = fp_i_anlc-anln2 AND&lt;/P&gt;&lt;P&gt;            afaber = c_01 AND&lt;/P&gt;&lt;P&gt;            zujhr = fp_i_anlc-zujhr AND&lt;/P&gt;&lt;P&gt;            zucod = fp_i_anlc-zucod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlp BY bukrs gjahr peraf anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    REFRESH : l_i_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlp_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  get_anlz_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;      Get Time-Dependent Asset Allocations(ANLZ)  with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLZ  "Time-Dependent Asset Allocations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlz_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                             fp_gjahr  TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_peraf  TYPE peraf&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlz TYPE ty_t_anlz.&lt;/P&gt;&lt;P&gt;*Local Data Declaration&lt;/P&gt;&lt;P&gt;  DATA : l_date TYPE dats.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Constants&lt;/P&gt;&lt;P&gt;  DATA : l_c_ng TYPE char2 VALUE 'NG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Function Module To Calculate Last calendar day in the fiscal period&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_gjahr        = fp_gjahr&lt;/P&gt;&lt;P&gt;      i_periv        = l_c_ng&lt;/P&gt;&lt;P&gt;      i_poper        = fp_peraf&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_date         = l_date&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      input_false    = 0&lt;/P&gt;&lt;P&gt;      t009_notfound  = 0&lt;/P&gt;&lt;P&gt;      t009b_notfound = 0&lt;/P&gt;&lt;P&gt;      OTHERS         = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Time-Dependent Asset Allocations data from ANLZ table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT bukrs   "Company Code&lt;/P&gt;&lt;P&gt;           anln1   "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2   "Asset Subnumber&lt;/P&gt;&lt;P&gt;           kostl   "Cost Center&lt;/P&gt;&lt;P&gt;           FROM anlz INTO TABLE fp_i_anlz&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;     WHERE bukrs = fp_i_anla_temp-bukrs AND&lt;/P&gt;&lt;P&gt;           anln1 = fp_i_anla_temp-anln1 AND&lt;/P&gt;&lt;P&gt;           anln2 = fp_i_anla_temp-anln2 AND&lt;/P&gt;&lt;P&gt;           bdatu GE l_date AND&lt;/P&gt;&lt;P&gt;           adatu LE l_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlz BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlz_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  get_t095b_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;      get G/L accounts value adjustment(T095b) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLB  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_T095B "G/L accounts value adjustment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_t095b_data  USING    fp_i_anla_temp  TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                     CHANGING fp_i_t095b TYPE ty_t_t095b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Local Constants&lt;/P&gt;&lt;P&gt;  DATA : l_c_n001 TYPE t095b-ktopl VALUE 'N001'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select G/L accounts value adjustment from the table T095b&lt;/P&gt;&lt;P&gt;    SELECT   ktogr    "Account determination&lt;/P&gt;&lt;P&gt;             afabe    "Real depreciation area&lt;/P&gt;&lt;P&gt;             ktnafg   "Expense account for ordinary depreciation to book val. 0&lt;/P&gt;&lt;P&gt;             ktaafg   "Expense account for unplanned depreciation&lt;/P&gt;&lt;P&gt;             FROM t095b INTO TABLE fp_i_t095b&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;             WHERE ktopl = l_c_n001 AND&lt;/P&gt;&lt;P&gt;             ktogr = fp_i_anla_temp-ktogr AND&lt;/P&gt;&lt;P&gt;             afabe = c_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_t095b BY ktogr afabe.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_t095b_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  get_anep_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;      get Asset Line Items(ANEP) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANEP  "Asset Line Items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anep_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                             fp_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                             fp_i_anbtr TYPE ty_t_anbtr.  "TUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;l_fs_anep&amp;gt; TYPE ty_anep.&lt;/P&gt;&lt;P&gt;  DATA : l_wa_anbtr TYPE ty_anbtr,&lt;/P&gt;&lt;P&gt;         l_v_anbtr1 TYPE anbtr VALUE '0',&lt;/P&gt;&lt;P&gt;         l_v_anbtr2 TYPE anbtr VALUE '0'.&lt;/P&gt;&lt;P&gt;  CONSTANTS:  l_c_zta TYPE bwasl VALUE 'ZTA',&lt;/P&gt;&lt;P&gt;              l_c_ztb TYPE bwasl VALUE 'ZTB',&lt;/P&gt;&lt;P&gt;              l_c_zr2 TYPE bwasl VALUE 'ZR2',&lt;/P&gt;&lt;P&gt;              l_c_zpc TYPE bwasl VALUE 'ZPC',&lt;/P&gt;&lt;P&gt;              l_c_ztr TYPE bwasl VALUE 'ZTR',&lt;/P&gt;&lt;P&gt;              l_c_zr1 TYPE bwasl VALUE 'ZR1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Asset Line Items from the table ANEP&lt;/P&gt;&lt;P&gt;    SELECT bukrs  "Company Code&lt;/P&gt;&lt;P&gt;           anln1  "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2  "Asset Subnumber&lt;/P&gt;&lt;P&gt;           gjahr  "Fiscal Year&lt;/P&gt;&lt;P&gt;           lnran  "Sequence number of asset line items in fiscal year&lt;/P&gt;&lt;P&gt;           afabe  "Real depreciation area&lt;/P&gt;&lt;P&gt;           zujhr  "Asset acquisition year (currently not used)&lt;/P&gt;&lt;P&gt;           zucod  "Sub-classification of asset acquisitions(currently not used)&lt;/P&gt;&lt;P&gt;           bwasl  "Asset transaction type&lt;/P&gt;&lt;P&gt;           anbtr  "Amount posted&lt;/P&gt;&lt;P&gt;           FROM anep&lt;/P&gt;&lt;P&gt;           INTO TABLE fp_i_anep&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;           WHERE bukrs = fp_i_anla_temp-bukrs&lt;/P&gt;&lt;P&gt;           AND anln1 = fp_i_anla_temp-anln1&lt;/P&gt;&lt;P&gt;           AND anln2 = fp_i_anla_temp-anln2&lt;/P&gt;&lt;P&gt;           AND gjahr = fp_gjahr&lt;/P&gt;&lt;P&gt;           AND afabe = c_01.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anep BY bukrs anln1 anln2 gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Begin of TUT&lt;/P&gt;&lt;P&gt;      LOOP AT fp_i_anep ASSIGNING &amp;lt;l_fs_anep&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;l_fs_anep&amp;gt;-bwasl(1) = c_1 OR &amp;lt;l_fs_anep&amp;gt;-bwasl(1) = c_3&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zta OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_ztb&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zr1 OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zr2&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_ztr OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zpc.&lt;/P&gt;&lt;P&gt;          l_v_anbtr1 = l_v_anbtr1 + &amp;lt;l_fs_anep&amp;gt;-anbtr.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;l_fs_anep&amp;gt;-bwasl(1) NE c_6 OR  &amp;lt;l_fs_anep&amp;gt;-bwasl(1) NE c_7.&lt;/P&gt;&lt;P&gt;          l_v_anbtr2  = l_v_anbtr2 + &amp;lt;l_fs_anep&amp;gt;-anbtr .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT END OF anln1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-bukrs = &amp;lt;l_fs_anep&amp;gt;-bukrs.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anln1 = &amp;lt;l_fs_anep&amp;gt;-anln1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anln2 = &amp;lt;l_fs_anep&amp;gt;-anln2.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-gjahr = &amp;lt;l_fs_anep&amp;gt;-gjahr.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anbtr1 = l_v_anbtr1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anbtr2 = l_v_anbtr2.&lt;/P&gt;&lt;P&gt;          APPEND l_wa_anbtr TO fp_i_anbtr.&lt;/P&gt;&lt;P&gt;          CLEAR: l_v_anbtr1, l_v_anbtr2.&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anbtr BY bukrs anln1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anep_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  get_anea_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;      get Asset Line Items for Proportional Values(ANEA)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           with the condition of  ANEP Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANEP  "Asset Line Items&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANEA  "Asset Line Items for Proportional Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anea_data  USING    fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anea TYPE ty_t_anea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anep IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select Asset Line Items for Proportional Values from the table ANEA&lt;/P&gt;&lt;P&gt;    SELECT bukrs             "Company Code&lt;/P&gt;&lt;P&gt;           anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;           nafav             "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;           aafav             "Proportional cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;           nafal             "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;           aafal             "Proportional unplanned depreciation for the year&lt;/P&gt;&lt;P&gt;      FROM anea&lt;/P&gt;&lt;P&gt;      INTO TABLE fp_i_anea&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN fp_i_anep&lt;/P&gt;&lt;P&gt;      WHERE bukrs = fp_i_anep-bukrs AND&lt;/P&gt;&lt;P&gt;            anln1 = fp_i_anep-anln1 AND&lt;/P&gt;&lt;P&gt;            anln2 = fp_i_anep-anln2 AND&lt;/P&gt;&lt;P&gt;            gjahr = fp_i_anep-gjahr AND&lt;/P&gt;&lt;P&gt;            lnran = fp_i_anep-lnran AND&lt;/P&gt;&lt;P&gt;            afabe = fp_i_anep-afabe AND&lt;/P&gt;&lt;P&gt;            zujhr = fp_i_anep-zujhr AND&lt;/P&gt;&lt;P&gt;            zucod = fp_i_anep-zucod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anea BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anea_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  get_data_final&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;      Get the data for final table and it is trnasfer to Excel File&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLB  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLC  "Asset Value Fields&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLP  "Asset Periodic Values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLZ  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANEA  "Asset Line Items for Proportional Values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_T095B "G/L accounts value adjustment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_FINALTAB "Final Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data_final  USING    fp_i_anla TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                              fp_i_anlb TYPE ty_t_anlb&lt;/P&gt;&lt;P&gt;                              fp_i_anlc TYPE ty_t_anlc&lt;/P&gt;&lt;P&gt;                              fp_i_anlp TYPE ty_t_anlp&lt;/P&gt;&lt;P&gt;                              fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                              fp_i_anlz TYPE ty_t_anlz&lt;/P&gt;&lt;P&gt;                              fp_i_anea TYPE ty_t_anea&lt;/P&gt;&lt;P&gt;                              fp_i_t095b TYPE ty_t_t095b&lt;/P&gt;&lt;P&gt;                              fp_i_anbtr TYPE ty_t_anbtr               "  TUT&lt;/P&gt;&lt;P&gt;                    CHANGING  fp_i_finaltab TYPE ty_t_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_anla TYPE ty_anla,&lt;/P&gt;&lt;P&gt;        l_wa_anlb TYPE ty_anlb,&lt;/P&gt;&lt;P&gt;        l_wa_anlc TYPE ty_anlc,&lt;/P&gt;&lt;P&gt;        l_wa_anlp TYPE ty_anlp,&lt;/P&gt;&lt;P&gt;        l_wa_anep TYPE ty_anep,&lt;/P&gt;&lt;P&gt;        l_wa_anlz TYPE ty_anlz,&lt;/P&gt;&lt;P&gt;        l_wa_anea TYPE ty_anea,&lt;/P&gt;&lt;P&gt;        l_wa_t095b TYPE ty_t095b,&lt;/P&gt;&lt;P&gt;        l_wa_anbtr TYPE ty_anbtr,                       " TUT&lt;/P&gt;&lt;P&gt;        l_wa_ftab TYPE ty_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_v_anbtr1 TYPE anbtr VALUE '0',    " TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr2 TYPE anbtr VALUE '0',    " TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   l_v_na_anfav TYPE nafav,&lt;/P&gt;&lt;P&gt;          l_v_na_aafal TYPE aafal,&lt;/P&gt;&lt;P&gt;          l_v_kansw01 TYPE kansw_altd.&lt;/P&gt;&lt;P&gt;*Local constants&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS:  l_c_zta TYPE bwasl VALUE 'ZTA',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_ztb TYPE bwasl VALUE 'ZTB',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zr2 TYPE bwasl VALUE 'ZR2',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zpc TYPE bwasl VALUE 'ZPC',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_ztr TYPE bwasl VALUE 'ZTR',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zr1 TYPE bwasl VALUE 'ZR1'.   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT fp_i_anla INTO l_wa_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_ftab-bukrs  = l_wa_anla-bukrs.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anln1  = l_wa_anla-anln1.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anln2  = l_wa_anla-anln2.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anlkl  = l_wa_anla-anlkl.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-txt50  = l_wa_anla-txt50.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-deakt  = l_wa_anla-deakt.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-ord41  = l_wa_anla-ord41.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-aibn1  = l_wa_anla-aibn1.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-aibdt  = l_wa_anla-aibdt.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-ktogr  = l_wa_anla-ktogr.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-menge  = l_wa_anla-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlb INTO l_wa_anlb WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afasl = l_wa_anlb-afasl.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afabe  = l_wa_anlb-afabe.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ndjar  = l_wa_anlb-ndjar.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ndper  = l_wa_anlb-ndper.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afabg  = l_wa_anlb-afabg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-schrw  = l_wa_anlb-schrw.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlc INTO l_wa_anlc WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafag  = l_wa_anlc-nafag.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafag  = l_wa_anlc-aafag.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-knafa  = l_wa_anlc-knafa.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kaafa  = l_wa_anlc-kaafa.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafap  = l_wa_anlc-nafap.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afblpe = l_wa_anlc-afblpe.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafav  = l_wa_anlc-nafav.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafav  = l_wa_anlc-aafav.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafal  = l_wa_anlc-nafal.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafal  = l_wa_anlc-aafal.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kansw  = l_wa_anlc-kansw.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlp INTO l_wa_anlp WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-peraf = l_wa_anlp-peraf.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-gjahr = l_wa_anlp-gjahr.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafaz = l_wa_anlp-nafaz.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafaz = l_wa_anlp-aafaz.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlz INTO l_wa_anlz WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kostl = l_wa_anlz-kostl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_t095b INTO l_wa_t095b WITH KEY ktogr = l_wa_anla-ktogr&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ktnafg  = l_wa_t095b-ktnafg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ktaafg  = l_wa_t095b-ktaafg.&lt;/P&gt;&lt;P&gt;      l_v_kansw01 = l_wa_t095b-ktnafg + l_wa_t095b-ktaafg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kansw01 = l_v_kansw01.&lt;/P&gt;&lt;P&gt;    ENDIF.&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; Begin of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anbtr INTO l_wa_anbtr WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                   anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        l_wa_ftab-anbtr1 = l_wa_anbtr-anbtr1.&lt;/P&gt;&lt;P&gt;        l_wa_ftab-anbtr2 = l_wa_anbtr-anbtr2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE fp_i_anep INTO l_wa_anep WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                BINARY SEARCH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF l_wa_anep-bwasl(1) = c_1 OR l_wa_anep-bwasl(1) = c_3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_zta OR l_wa_anep-bwasl = l_c_ztb&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_zr1 OR l_wa_anep-bwasl = l_c_zr2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_ztr OR l_wa_anep-bwasl = l_c_zpc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr1 = l_v_anbtr1 + l_wa_anep-anbtr.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF l_wa_anep-bwasl(1) NE c_6 OR  l_wa_anep-bwasl(1) NE c_7.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr2  = l_v_anbtr2 + l_wa_anep-anbtr .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_ftab-anbtr1 = l_v_anbtr1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_ftab-anbtr2 = l_v_anbtr2.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anea INTO l_wa_anea WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_v_na_anfav = l_v_na_anfav + l_wa_anea-nafav + l_wa_anea-aafav.&lt;/P&gt;&lt;P&gt;      l_v_na_aafal = l_v_na_aafal + l_wa_anea-nafal + l_wa_anea-aafal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_ftab-na_anfav = l_v_na_anfav .&lt;/P&gt;&lt;P&gt;      l_wa_ftab-na_nafal = l_v_na_aafal.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND l_wa_ftab TO fp_i_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR:  l_wa_anla,&lt;/P&gt;&lt;P&gt;            l_wa_anlb,&lt;/P&gt;&lt;P&gt;            l_wa_anlc,&lt;/P&gt;&lt;P&gt;            l_wa_anlp,&lt;/P&gt;&lt;P&gt;            l_wa_anep,&lt;/P&gt;&lt;P&gt;            l_wa_anlz,&lt;/P&gt;&lt;P&gt;            l_wa_anea,&lt;/P&gt;&lt;P&gt;            l_wa_t095b,&lt;/P&gt;&lt;P&gt;            l_wa_anbtr,                     "TUT&lt;/P&gt;&lt;P&gt;            l_wa_ftab.&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;ENDFORM.                    " get_data_final&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  data_download&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;      Data downloaded into the Temp Folder in the Excel Format&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB  Final Table&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 data_download  USING    fp_i_ftab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                             fp_fname TYPE filep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : l_v_file TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_v_file = fp_fname.&lt;/P&gt;&lt;P&gt;***This path mentioned in FS only&lt;/P&gt;&lt;P&gt;*Constants&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_c_path TYPE string VALUE 'c:\temp\temp.xls'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF fp_i_ftab IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Function Module used to download to Presentation Server.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename                = l_v_file&lt;/P&gt;&lt;P&gt;        filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator   = c_x&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                = fp_i_ftab&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        file_write_error        = 1&lt;/P&gt;&lt;P&gt;        no_batch                = 2&lt;/P&gt;&lt;P&gt;        gui_refuse_filetransfer = 3&lt;/P&gt;&lt;P&gt;        invalid_type            = 4&lt;/P&gt;&lt;P&gt;        no_authority            = 5&lt;/P&gt;&lt;P&gt;        unknown_error           = 6&lt;/P&gt;&lt;P&gt;        header_not_allowed      = 7&lt;/P&gt;&lt;P&gt;        separator_not_allowed   = 8&lt;/P&gt;&lt;P&gt;        filesize_not_allowed    = 9&lt;/P&gt;&lt;P&gt;        header_too_long         = 10&lt;/P&gt;&lt;P&gt;        dp_error_create         = 11&lt;/P&gt;&lt;P&gt;        dp_error_send           = 12&lt;/P&gt;&lt;P&gt;        dp_error_write          = 13&lt;/P&gt;&lt;P&gt;        unknown_dp_error        = 14&lt;/P&gt;&lt;P&gt;        access_denied           = 15&lt;/P&gt;&lt;P&gt;        dp_out_of_memory        = 16&lt;/P&gt;&lt;P&gt;        disk_full               = 17&lt;/P&gt;&lt;P&gt;        dp_timeout              = 18&lt;/P&gt;&lt;P&gt;        file_not_found          = 19&lt;/P&gt;&lt;P&gt;        dataprovider_exception  = 20&lt;/P&gt;&lt;P&gt;        control_flush_error     = 21&lt;/P&gt;&lt;P&gt;        OTHERS                  = 22.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; c_zero.&lt;/P&gt;&lt;P&gt;      CASE sy-subrc.&lt;/P&gt;&lt;P&gt;        WHEN c_one.&lt;/P&gt;&lt;P&gt;          MESSAGE e123. "File Write error&lt;/P&gt;&lt;P&gt;        WHEN c_two.&lt;/P&gt;&lt;P&gt;          MESSAGE e124. "No batch&lt;/P&gt;&lt;P&gt;        WHEN c_three.&lt;/P&gt;&lt;P&gt;          MESSAGE e125. "GUI Refuses file transfer&lt;/P&gt;&lt;P&gt;        WHEN c_four.&lt;/P&gt;&lt;P&gt;          MESSAGE e126. "Invalid type&lt;/P&gt;&lt;P&gt;        WHEN c_five.&lt;/P&gt;&lt;P&gt;          MESSAGE e127. "No authority&lt;/P&gt;&lt;P&gt;        WHEN c_six.&lt;/P&gt;&lt;P&gt;          MESSAGE e128. "Unknown error&lt;/P&gt;&lt;P&gt;        WHEN c_seven.&lt;/P&gt;&lt;P&gt;          MESSAGE e129. "Header not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_eight.&lt;/P&gt;&lt;P&gt;          MESSAGE e130. "Seperator not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_nine.&lt;/P&gt;&lt;P&gt;          MESSAGE e131. "File size not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_ten.&lt;/P&gt;&lt;P&gt;          MESSAGE e132. "Header too long&lt;/P&gt;&lt;P&gt;        WHEN c_eleven.&lt;/P&gt;&lt;P&gt;          MESSAGE e133. "Dp error create&lt;/P&gt;&lt;P&gt;        WHEN c_twelve.&lt;/P&gt;&lt;P&gt;          MESSAGE e134. "Dp error send&lt;/P&gt;&lt;P&gt;        WHEN c_thirteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e135. "Dp error write&lt;/P&gt;&lt;P&gt;        WHEN c_fourteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e136. "Unknown Dp error&lt;/P&gt;&lt;P&gt;        WHEN c_fifteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e137. "Access denied&lt;/P&gt;&lt;P&gt;        WHEN c_sixteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e138. "Dp out of memory&lt;/P&gt;&lt;P&gt;        WHEN c_seventeen.&lt;/P&gt;&lt;P&gt;          MESSAGE e139. "Disk full&lt;/P&gt;&lt;P&gt;        WHEN c_eighteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e140. "Dp time out&lt;/P&gt;&lt;P&gt;        WHEN c_nineteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e141. "File not found&lt;/P&gt;&lt;P&gt;        WHEN c_twenty.&lt;/P&gt;&lt;P&gt;          MESSAGE e142. "Data provider exception&lt;/P&gt;&lt;P&gt;        WHEN c_twentyone.&lt;/P&gt;&lt;P&gt;          MESSAGE e143. "Control flush error&lt;/P&gt;&lt;P&gt;        WHEN c_twentytwo.&lt;/P&gt;&lt;P&gt;          MESSAGE e144. "Unknown error&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;      REFRESH fp_i_ftab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE s317 WITH text-050. "Data Downloaded into Temp Folder in C Drive&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;ENDFORM.                    " data_download&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  header_info&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;      For Header Information For the  Excel Sheet&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB  Final Table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_HEADER  For Header Of Excel&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_FTAB    For Final Table and Header&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 header_info  USING  fp_i_finaltab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                  CHANGING  fp_i_header TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                            fp_i_ftab TYPE ty_t_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_ftab TYPE ty_finaltab.&lt;/P&gt;&lt;P&gt;  DATA: l_c_asset TYPE char40,&lt;/P&gt;&lt;P&gt;        l_c_year TYPE char20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_user_defaults TYPE usdefaults.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:l_wa_ftab1 TYPE ty_head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anln1  = text-004.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anln2  = text-005.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-bukrs  = text-006.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anlkl  = text-007.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-txt50  = text-008.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-deakt  = text-009.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ord41  = text-010.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aibn1  = text-011.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aibdt  = text-012.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktogr  = text-013.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-menge  = text-014.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afasl = text-015.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afabe = text-016.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ndjar = text-017.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ndper = text-018.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afabg = text-019.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-schrw = text-020.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafag  = text-021.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafag  = text-022.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-knafa  = text-023.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kaafa  = text-024.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafap  = text-025.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afblpe = text-026.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafav  = text-027.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafav  = text-028.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafal  = text-029.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafal  = text-030.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kansw  = text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-peraf = text-032.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-gjahr = text-033.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafaz = text-034.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafaz = text-035.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kostl = text-036.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktnafg = text-037.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktaafg = text-038.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kansw01 = text-057.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anbtr1 = text-039.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anbtr2 = text-040.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-na_anfav = text-041.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-na_nafal = text-042.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fp_i_ftab[] = fp_i_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_ftab TO fp_i_header.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-055 '  ' p_peraf INTO l_c_asset.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset = l_c_asset.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(5)  = text-054.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = p_gjahr.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(13)  = text-053.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = s_anlkl.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(14)  = text-052.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = s_bukrs-low.&lt;/P&gt;&lt;P&gt;  IF s_bukrs-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    l_wa_ftab1-asset+25(1) = '-'.&lt;/P&gt;&lt;P&gt;    l_wa_ftab1-asset+26(4) = s_bukrs-high.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO l_wa_ftab1-asset+21(10).&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(10)  = text-051.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset = text-049.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_ftab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_info&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  send_mail&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;      This perform used for send the data into the mail&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           specified in the Selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB " Final Internal Table&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 send_mail  USING    fp_i_finaltab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                         fp_i_reclist  TYPE ty_reclist_tab.&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;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS: l_c_u TYPE so_escape VALUE 'U',  " Escape sequence&lt;/P&gt;&lt;P&gt;             l_c_cret TYPE c VALUE cl_abap_char_utilities=&amp;gt;newline,&lt;/P&gt;&lt;P&gt;                          "Carriage Return and Line Feed" Character Pair&lt;/P&gt;&lt;P&gt;             l_c_htab TYPE c VALUE&lt;/P&gt;&lt;P&gt;              cl_abap_char_utilities=&amp;gt;horizontal_tab,&lt;/P&gt;&lt;P&gt;              "Horizontal Tab Stop" Character&lt;/P&gt;&lt;P&gt;             l_c_raw   TYPE so_obj_tp VALUE 'RAW',        "Constant RAW&lt;/P&gt;&lt;P&gt;             l_c_int   TYPE char3   VALUE 'INT',          "Constant INT&lt;/P&gt;&lt;P&gt;             l_c_xls   TYPE char3   VALUE  'XLS'.         "File format&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table types for sopcklsti1 table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TYPES :  l_ty_sopcklsti1 TYPE STANDARD TABLE OF sopcklsti1,&lt;/P&gt;&lt;P&gt;           l_ty_somlreci1 TYPE STANDARD TABLE OF somlreci1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table and WA to hold the contents to be passed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA : l_i_mail_data  TYPE STANDARD TABLE OF solisti1,&lt;/P&gt;&lt;P&gt;         l_wa_mail_data TYPE solisti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local work area declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_wa_message TYPE solisti1,       " WA for Message body&lt;/P&gt;&lt;P&gt;        l_wa_objpack TYPE sopcklsti1,     " WA for packing list&lt;/P&gt;&lt;P&gt;        l_wa_docdata   TYPE sodocchgi1.   " WA for Doc Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : l_v_output(2000) TYPE c. "Output WA in string format5&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;Local Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local data declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_i_reclist   TYPE ty_reclist_tab,&lt;/P&gt;&lt;P&gt;        l_wa_reclist  TYPE ty_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :   l_i_objpack  TYPE l_ty_sopcklsti1, " IT for contents table&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          l_i_reclist   TYPE l_ty_somlreci1, " Recievers list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           l_i_message   TYPE STANDARD TABLE OF solisti1. " Message Body&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS : &amp;lt;l_wa_rep_header&amp;gt; TYPE ty_finaltab,  " For Report Header data&lt;/P&gt;&lt;P&gt;                  &amp;lt;l_wa_rep_detail&amp;gt; TYPE ty_finaltab.  " For Report Details data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_r_mail TYPE ty_t_mail,&lt;/P&gt;&lt;P&gt;        l_wa_mail LIKE LINE OF l_r_mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_r_mail = s_email[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT l_r_mail INTO l_wa_mail.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare the list of recieving email IDs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_wa_reclist-receiver = l_wa_mail-low.&lt;/P&gt;&lt;P&gt;    l_wa_reclist-rec_type = c_rectyp .&lt;/P&gt;&lt;P&gt;    APPEND l_wa_reclist TO l_i_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF l_wa_mail-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      l_wa_reclist-receiver = l_wa_mail-high.&lt;/P&gt;&lt;P&gt;      l_wa_reclist-rec_type = c_rectyp .&lt;/P&gt;&lt;P&gt;      APPEND l_wa_reclist TO l_i_reclist.&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;  SORT l_i_reclist BY receiver.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM l_i_reclist.&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;Fill up the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SAP ASSET MASTER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message = text-049.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Rundate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message+0(8) = text-051.&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO l_wa_message+10(10).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_message+10(8) = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message+0(13) = text-052.&lt;/P&gt;&lt;P&gt;  l_wa_message+15(4) = s_bukrs-low.&lt;/P&gt;&lt;P&gt;  IF s_bukrs-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    l_wa_message+20(1) = '-'.&lt;/P&gt;&lt;P&gt;    l_wa_message+21(4) = s_bukrs-high.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Asset Class&lt;/P&gt;&lt;P&gt;  l_wa_message+0(12) = text-053.&lt;/P&gt;&lt;P&gt;  l_wa_message+15(4) = s_anlkl.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Year&lt;/P&gt;&lt;P&gt;  l_wa_message+0(5) = text-054.&lt;/P&gt;&lt;P&gt;  l_wa_message+7(4) = p_gjahr.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Depriciation Period&lt;/P&gt;&lt;P&gt;  l_wa_message+0(20) = text-055.&lt;/P&gt;&lt;P&gt;  l_wa_message+22(3) = p_peraf.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_docdata-obj_langu = sy-langu.&lt;/P&gt;&lt;P&gt;  l_wa_docdata-obj_descr = text-048.   " Reports&lt;/P&gt;&lt;P&gt;  l_wa_docdata-doc_size = 2000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create the entry for the compressed document.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH l_i_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_objpack-transf_bin = c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_objpack-transf_bin = space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-head_start = c_1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of the attchment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_start = c_1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_num   = 2000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attachment Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-doc_type   =  l_c_raw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the work area to internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND l_wa_objpack TO l_i_objpack.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer the structural details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR l_wa_objpack-transf_bin.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;From where the header starts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-head_start = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Where the body starts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_start = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No. of lines in the body&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_num   = 2000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The document type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-doc_type   = l_c_xls.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attachment Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-obj_descr  = text-047.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_objpack-doc_size =  40 * 5000 * 255.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_objpack TO l_i_objpack.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare the data in the header and detailed table in the format&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;so that the report can be sent in excel format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT i_header ASSIGNING &amp;lt;l_wa_rep_header&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move the column info for the detailed data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_v_output+0(20) = text-004.&lt;/P&gt;&lt;P&gt;    l_v_output+20(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+21(20) = text-005.&lt;/P&gt;&lt;P&gt;    l_v_output+41(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+42(12) = text-006.&lt;/P&gt;&lt;P&gt;    l_v_output+54(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+55(12) = text-007.&lt;/P&gt;&lt;P&gt;    l_v_output+67(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+68(50) = text-008.&lt;/P&gt;&lt;P&gt;    l_v_output+118(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+119(20) = text-009.&lt;/P&gt;&lt;P&gt;    l_v_output+139(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+140(22) = text-010.&lt;/P&gt;&lt;P&gt;    l_v_output+162(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+163(35) = text-011.&lt;/P&gt;&lt;P&gt;    l_v_output+198(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+199(51) = text-012.&lt;/P&gt;&lt;P&gt;    l_v_output+250(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(21) = text-013.&lt;/P&gt;&lt;P&gt;    l_v_output+21(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+22(12) = text-036.&lt;/P&gt;&lt;P&gt;    l_v_output+34(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+35(16) = text-015.&lt;/P&gt;&lt;P&gt;    l_v_output+51(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+52(22) = text-016.&lt;/P&gt;&lt;P&gt;    l_v_output+74(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+75(29) = text-017.&lt;/P&gt;&lt;P&gt;    l_v_output+104(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+105(30) = text-018.&lt;/P&gt;&lt;P&gt;    l_v_output+135(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+136(35) = text-019.&lt;/P&gt;&lt;P&gt;    l_v_output+171(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+172(58) = text-037.&lt;/P&gt;&lt;P&gt;    l_v_output+230(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(58) = text-038.&lt;/P&gt;&lt;P&gt;    l_v_output+58(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+59(50) = text-057.&lt;/P&gt;&lt;P&gt;    l_v_output+109(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+110(50) = text-021.&lt;/P&gt;&lt;P&gt;    l_v_output+160(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+161(50) = text-022.&lt;/P&gt;&lt;P&gt;    l_v_output+211(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(50) = text-023.&lt;/P&gt;&lt;P&gt;    l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+51(50) = text-024.&lt;/P&gt;&lt;P&gt;    l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+102(45) = text-025.&lt;/P&gt;&lt;P&gt;    l_v_output+147(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+148(45) = text-026.&lt;/P&gt;&lt;P&gt;    l_v_output+193(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+194(32) = text-032.&lt;/P&gt;&lt;P&gt;    l_v_output+226(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+227(12) = text-033.&lt;/P&gt;&lt;P&gt;    l_v_output+239(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(35) = text-034.&lt;/P&gt;&lt;P&gt;    l_v_output+35(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+36(40) = text-035.&lt;/P&gt;&lt;P&gt;    l_v_output+76(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+77(9) = text-014.&lt;/P&gt;&lt;P&gt;    l_v_output+86(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+87(46) = text-027.&lt;/P&gt;&lt;P&gt;    l_v_output+133(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+134(46) = text-028.&lt;/P&gt;&lt;P&gt;    l_v_output+180(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+181(50) = text-029.&lt;/P&gt;&lt;P&gt;    l_v_output+231(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(50) = text-030.&lt;/P&gt;&lt;P&gt;    l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+51(50) = text-031.&lt;/P&gt;&lt;P&gt;    l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+102(14) = text-039.&lt;/P&gt;&lt;P&gt;    l_v_output+116(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+117(14) = text-040.&lt;/P&gt;&lt;P&gt;    l_v_output+131(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+132(46) = text-041.&lt;/P&gt;&lt;P&gt;    l_v_output+178(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+179(50) = text-042.&lt;/P&gt;&lt;P&gt;    l_v_output+229(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+230(17) = text-020.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line+254(1) = l_c_cret.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the records from the detailed data which are linked to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT fp_i_finaltab ASSIGNING &amp;lt;l_wa_rep_detail&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(20) = &amp;lt;l_wa_rep_detail&amp;gt;-anln1.&lt;/P&gt;&lt;P&gt;      l_v_output+20(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+21(20) = &amp;lt;l_wa_rep_detail&amp;gt;-anln2.&lt;/P&gt;&lt;P&gt;      l_v_output+41(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+42(12) = &amp;lt;l_wa_rep_detail&amp;gt;-bukrs.&lt;/P&gt;&lt;P&gt;      l_v_output+54(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+55(12) = &amp;lt;l_wa_rep_detail&amp;gt;-anlkl.&lt;/P&gt;&lt;P&gt;      l_v_output+67(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+68(50) = &amp;lt;l_wa_rep_detail&amp;gt;-txt50.&lt;/P&gt;&lt;P&gt;      l_v_output+118(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+119(20) = &amp;lt;l_wa_rep_detail&amp;gt;-deakt.&lt;/P&gt;&lt;P&gt;      l_v_output+139(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+140(22) = &amp;lt;l_wa_rep_detail&amp;gt;-ord41.&lt;/P&gt;&lt;P&gt;      l_v_output+162(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+163(35) = &amp;lt;l_wa_rep_detail&amp;gt;-aibn1.&lt;/P&gt;&lt;P&gt;      l_v_output+198(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+199(51) = &amp;lt;l_wa_rep_detail&amp;gt;-aibdt.&lt;/P&gt;&lt;P&gt;      l_v_output+250(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(21) = &amp;lt;l_wa_rep_detail&amp;gt;-ktogr.&lt;/P&gt;&lt;P&gt;      l_v_output+21(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+22(12) = &amp;lt;l_wa_rep_detail&amp;gt;-kostl.&lt;/P&gt;&lt;P&gt;      l_v_output+34(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+35(16) =  &amp;lt;l_wa_rep_detail&amp;gt;-afasl.&lt;/P&gt;&lt;P&gt;      l_v_output+51(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+52(22) =  &amp;lt;l_wa_rep_detail&amp;gt;-afabe.&lt;/P&gt;&lt;P&gt;      l_v_output+74(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+75(29)  =  &amp;lt;l_wa_rep_detail&amp;gt;-ndjar.&lt;/P&gt;&lt;P&gt;      l_v_output+104(1)  = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+105(30) =  &amp;lt;l_wa_rep_detail&amp;gt;-ndper.&lt;/P&gt;&lt;P&gt;      l_v_output+135(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+136(35) = &amp;lt;l_wa_rep_detail&amp;gt;-afabg.&lt;/P&gt;&lt;P&gt;      l_v_output+171(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+172(58) =  &amp;lt;l_wa_rep_detail&amp;gt;-ktnafg.&lt;/P&gt;&lt;P&gt;      l_v_output+230(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(58) =  &amp;lt;l_wa_rep_detail&amp;gt;-ktaafg.&lt;/P&gt;&lt;P&gt;      l_v_output+58(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+59(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-kansw01.&lt;/P&gt;&lt;P&gt;      l_v_output+109(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+110(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafag.&lt;/P&gt;&lt;P&gt;      l_v_output+160(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+161(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafag.&lt;/P&gt;&lt;P&gt;      l_v_output+211(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-knafa.&lt;/P&gt;&lt;P&gt;      l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+51(50)  =  &amp;lt;l_wa_rep_detail&amp;gt;-kaafa.&lt;/P&gt;&lt;P&gt;      l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+102(45)  =  &amp;lt;l_wa_rep_detail&amp;gt;-nafap.&lt;/P&gt;&lt;P&gt;      l_v_output+147(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+148(45) =  &amp;lt;l_wa_rep_detail&amp;gt;-afblpe.&lt;/P&gt;&lt;P&gt;      l_v_output+193(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+194(32) =  &amp;lt;l_wa_rep_detail&amp;gt;-peraf .&lt;/P&gt;&lt;P&gt;      l_v_output+226(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+227(12) =  &amp;lt;l_wa_rep_detail&amp;gt;-gjahr.&lt;/P&gt;&lt;P&gt;      l_v_output+239(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(35) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafaz.&lt;/P&gt;&lt;P&gt;      l_v_output+35(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+36(40) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafaz.&lt;/P&gt;&lt;P&gt;      l_v_output+76(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+77(9) =  &amp;lt;l_wa_rep_detail&amp;gt;-menge .&lt;/P&gt;&lt;P&gt;      l_v_output+86(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+87(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafav.&lt;/P&gt;&lt;P&gt;      l_v_output+133(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+134(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafav.&lt;/P&gt;&lt;P&gt;      l_v_output+180(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+181(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafal.&lt;/P&gt;&lt;P&gt;      l_v_output+231(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(50) = &amp;lt;l_wa_rep_detail&amp;gt;-aafal.&lt;/P&gt;&lt;P&gt;      l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+51(50) = &amp;lt;l_wa_rep_detail&amp;gt;-kansw.&lt;/P&gt;&lt;P&gt;      l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+102(14) = &amp;lt;l_wa_rep_detail&amp;gt;-anbtr1.&lt;/P&gt;&lt;P&gt;      l_v_output+116(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+117(14) =  &amp;lt;l_wa_rep_detail&amp;gt;-anbtr2.&lt;/P&gt;&lt;P&gt;      l_v_output+131(1)  = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+132(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-na_anfav.&lt;/P&gt;&lt;P&gt;      l_v_output+178(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+179(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-na_nafal.&lt;/P&gt;&lt;P&gt;      l_v_output+229(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+230(17) =  &amp;lt;l_wa_rep_detail&amp;gt;-schrw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line+254(1) = l_c_cret.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the FM to send the output list to the recipients&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_data              = l_wa_docdata&lt;/P&gt;&lt;P&gt;      put_in_outbox              = c_x&lt;/P&gt;&lt;P&gt;      commit_work                = c_x&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      packing_list               = l_i_objpack&lt;/P&gt;&lt;P&gt;      contents_bin               = l_i_message&lt;/P&gt;&lt;P&gt;      contents_txt               = l_i_mail_data&lt;/P&gt;&lt;P&gt;      receivers                  = l_i_reclist&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      parameter_error            = 5&lt;/P&gt;&lt;P&gt;      x_error                    = 6&lt;/P&gt;&lt;P&gt;      enqueue_error              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE c_zero.&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;      WHEN c_one.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Too many recipients, no authorization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e964.&lt;/P&gt;&lt;P&gt;      WHEN c_two.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document was not sent&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e965.&lt;/P&gt;&lt;P&gt;      WHEN c_three.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document type or attachment type does not exist&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e966.&lt;/P&gt;&lt;P&gt;      WHEN c_four.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No authorization to send/create&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e967.&lt;/P&gt;&lt;P&gt;      WHEN c_five.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invalid combination of parameter values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e968.&lt;/P&gt;&lt;P&gt;      WHEN c_six.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal error or database inconsistency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e969.&lt;/P&gt;&lt;P&gt;      WHEN c_seven.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Required locks could not be set&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e317 WITH text-106.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;    SUBMIT rsconn01 WITH mode = l_c_int&lt;/P&gt;&lt;P&gt;                  AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " send_mail&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  disable_selection_screen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 disable_selection_screen .&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;Disable selection screen fields which are not required&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF screen-group4 = 004.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   " OR                                            " Personnel number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          screen-group4 = l_c_165 OR                                         " Personnel Subarea&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          screen-group4 = l_c_171.                                           " Payroll Area&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Making selection screen fields disable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     screen-required = c_01.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY SCREEN.&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;&lt;/P&gt;&lt;P&gt;*if p_peraf is initial.&lt;/P&gt;&lt;P&gt;*message e317 with text-059.&lt;/P&gt;&lt;P&gt;*else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF p_gjahr IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE e317 WITH text-060.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF s_email[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE e317 WITH text-061.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&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;&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; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " disable_selection_screen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  depriciation_period&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 depriciation_period USING fp_p_peraf TYPE peraf.&lt;/P&gt;&lt;P&gt;  IF fp_p_peraf IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-059.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " depriciation_period&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  fiscal_year&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_GJAHR  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 fiscal_year  USING    fp_p_gjahr TYPE gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_p_gjahr IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-060.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fiscal_year&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  mail&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_S_Email  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 mail USING  fp_s_email TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  IF fp_s_email[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-061.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " mail&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Oct 2006 06:55:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695254#M305070</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-24T06:55:07Z</dc:date>
    </item>
    <item>
      <title>Re: program for xls download</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695255#M305071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COPIED FROM          : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE                : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHER RELATED OBJ    : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGE HISTORY LOG                                                   *&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;MOD. NO.|  DATE    | NAME | CORRECTION NUMBER    | CHANGE REFERENCE# *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/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;  Include           /AMS/FUSFCO_FADEPRICIATION_FORM                   *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  validation_company&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;      Validate Company Code&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&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 validation_company  USING fp_s_bukrs TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Data declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_v_bukrs TYPE bukrs.&lt;/P&gt;&lt;P&gt;  IF s_bukrs[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-058.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF NOT fp_s_bukrs IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT bukrs   "Company code&lt;/P&gt;&lt;P&gt;           INTO l_v_bukrs&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           FROM t001&lt;/P&gt;&lt;P&gt;           WHERE bukrs IN fp_s_bukrs.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If entered company code is not existing, raise error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e003.         " Selected Company Code does not exist in the system&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validation_company&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  initial_values&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;      Initialize The Values For Company Code&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;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;-- FP_S_BUKRS[]  "Company Code&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 initial_values .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE: c_i  TO s_bukrs-sign,&lt;/P&gt;&lt;P&gt;        c_eq TO s_bukrs-option,&lt;/P&gt;&lt;P&gt;        c_ca TO s_bukrs-low.&lt;/P&gt;&lt;P&gt;  APPEND s_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE: c_i  TO s_bukrs-sign,&lt;/P&gt;&lt;P&gt;        c_eq TO s_bukrs-option,&lt;/P&gt;&lt;P&gt;        c_us TO s_bukrs-low.&lt;/P&gt;&lt;P&gt;  APPEND s_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " initial_values&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_anla_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;      Get Asset Master Record Segment(ANAL) Data as per the Selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_ANLKL[]  "Asset class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLA     "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anla_data USING fp_s_bukrs TYPE STANDARD TABLE&lt;/P&gt;&lt;P&gt;                         fp_s_anlkl TYPE STANDARD TABLE&lt;/P&gt;&lt;P&gt;                   CHANGING fp_i_anla TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                            fp_i_anla_temp TYPE ty_t_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Selct the Asset Master Record Segment Data from table ANLA&lt;/P&gt;&lt;P&gt;  SELECT  bukrs            "Company Code&lt;/P&gt;&lt;P&gt;          anln1            "Main Asset Number&lt;/P&gt;&lt;P&gt;          anln2            "Asset Subnumber&lt;/P&gt;&lt;P&gt;          anlkl            "Asset class&lt;/P&gt;&lt;P&gt;          ktogr            "Account determination&lt;/P&gt;&lt;P&gt;          deakt            "Deactivation date&lt;/P&gt;&lt;P&gt;          ord41            "CARAT Report Code&lt;/P&gt;&lt;P&gt;          aibn1            "Original asset that was transferred&lt;/P&gt;&lt;P&gt;          aibdt            "Original acquisition date of AuC/ transferred asset&lt;/P&gt;&lt;P&gt;          menge            "Quantity&lt;/P&gt;&lt;P&gt;          txt50            "Asset description&lt;/P&gt;&lt;P&gt;          FROM anla&lt;/P&gt;&lt;P&gt;          INTO TABLE fp_i_anla&lt;/P&gt;&lt;P&gt;          WHERE bukrs IN  fp_s_bukrs AND&lt;/P&gt;&lt;P&gt;                anlkl IN  fp_s_anlkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; c_zero.&lt;/P&gt;&lt;P&gt;    MESSAGE e392 . "WITH text-001.  "No Data Availble in ANLA&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SORT fp_i_anla BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    MOVE fp_i_anla TO fp_i_anla_temp.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM fp_i_anla_temp COMPARING bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anla_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  get_anlb_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;      Get Depreciation terms(ANLB) Data as per the selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLB     "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlb_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlb TYPE ty_t_anlb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select the Depreciation terms Data from ANLB table&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT bukrs&lt;/P&gt;&lt;P&gt;           anln1&lt;/P&gt;&lt;P&gt;           anln2&lt;/P&gt;&lt;P&gt;           afabe                  "Real depreciation area&lt;/P&gt;&lt;P&gt;           afabg                  "Depreciation calculation start date&lt;/P&gt;&lt;P&gt;           afasl                  "Depreciation key&lt;/P&gt;&lt;P&gt;           ndjar                  "Planned useful life in years&lt;/P&gt;&lt;P&gt;           ndper                  "Planned useful life in periods&lt;/P&gt;&lt;P&gt;           schrw                  "Asset scrap value&lt;/P&gt;&lt;P&gt;           xafbe&lt;/P&gt;&lt;P&gt;    FROM anlb INTO TABLE fp_i_anlb FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;    WHERE bukrs = fp_i_anla_temp-bukrs&lt;/P&gt;&lt;P&gt;      AND anln1 = fp_i_anla_temp-anln1&lt;/P&gt;&lt;P&gt;      AND anln2 = fp_i_anla_temp-anln2&lt;/P&gt;&lt;P&gt;      AND afabe EQ c_01&lt;/P&gt;&lt;P&gt;      AND xafbe NE c_space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SORT fp_i_anlb BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlb_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  get_anlc_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;      Get Asset Value Fields(ANLC) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA     "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLC     "Asset Value Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlc_data  USING    fp_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlc TYPE ty_t_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Asset Value Fields data from table ANLC&lt;/P&gt;&lt;P&gt;    SELECT  bukrs             "Company Code&lt;/P&gt;&lt;P&gt;            anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;            anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;            afabe             "Real depreciation area&lt;/P&gt;&lt;P&gt;            zujhr             "Asset acquisition year (currently not used)&lt;/P&gt;&lt;P&gt;            zucod             "Sub-classification of asset acquisitions(currently not used)&lt;/P&gt;&lt;P&gt;            afblpe            "Period in which last depreciation was posted&lt;/P&gt;&lt;P&gt;            kansw             "Cumulative acquisition and production costs&lt;/P&gt;&lt;P&gt;            knafa             "Accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;            kaafa             "Cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;            nafap             "Planned ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;            nafag             "Ordinary depreciation posted in the current year&lt;/P&gt;&lt;P&gt;            aafag             "Unplanned depreciation posted for the year&lt;/P&gt;&lt;P&gt;            nafav             "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;            aafav             "Proportional cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;            nafal             "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;            aafal             "Proportional unplanned depreciation for the year&lt;/P&gt;&lt;P&gt;       FROM anlc INTO TABLE fp_i_anlc&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;       WHERE bukrs = fp_i_anla_temp-bukrs AND&lt;/P&gt;&lt;P&gt;             anln1 = fp_i_anla_temp-anln1 AND&lt;/P&gt;&lt;P&gt;             anln2 = fp_i_anla_temp-anln2 AND&lt;/P&gt;&lt;P&gt;             gjahr = fp_gjahr AND&lt;/P&gt;&lt;P&gt;             afabe = c_01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlc BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlc_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  get_anlp_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;      Get Asset Periodic Values(ANLP) with the condition of  ANLC Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_S_BUKRS[]  "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_P_GJAHR  "Fiscal Year&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLP  "Asset Periodic Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlp_data  USING    fp_p_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_p_peraf TYPE peraf&lt;/P&gt;&lt;P&gt;                             fp_i_anlc TYPE ty_t_anlc&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlp TYPE ty_t_anlp.&lt;/P&gt;&lt;P&gt;*Local Variable&lt;/P&gt;&lt;P&gt;  DATA : l_i_anlc TYPE ty_t_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anlc IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE fp_i_anlc TO l_i_anlc.&lt;/P&gt;&lt;P&gt;    SORT l_i_anlc BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM l_i_anlc COMPARING bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select Asset Periodic Values from table ANLP&lt;/P&gt;&lt;P&gt;    SELECT  bukrs             "Company Code&lt;/P&gt;&lt;P&gt;            gjahr            "Fiscal Year&lt;/P&gt;&lt;P&gt;            peraf            "Depreciation calculation period&lt;/P&gt;&lt;P&gt;            anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;            anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;            nafaz            "Ordinary depreciation to be posted&lt;/P&gt;&lt;P&gt;            aafaz            "Unplanned depreciation to be posted&lt;/P&gt;&lt;P&gt;            FROM anlp INTO TABLE fp_i_anlp&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN fp_i_anlc&lt;/P&gt;&lt;P&gt;            WHERE bukrs = fp_i_anlc-bukrs AND&lt;/P&gt;&lt;P&gt;            gjahr = fp_p_gjahr AND&lt;/P&gt;&lt;P&gt;            peraf = fp_p_peraf AND&lt;/P&gt;&lt;P&gt;            anln1 = fp_i_anlc-anln1 AND&lt;/P&gt;&lt;P&gt;            anln2 = fp_i_anlc-anln2 AND&lt;/P&gt;&lt;P&gt;            afaber = c_01 AND&lt;/P&gt;&lt;P&gt;            zujhr = fp_i_anlc-zujhr AND&lt;/P&gt;&lt;P&gt;            zucod = fp_i_anlc-zucod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider the performance of the select.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlp BY bukrs gjahr peraf anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    REFRESH : l_i_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlp_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  get_anlz_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;      Get Time-Dependent Asset Allocations(ANLZ)  with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANLZ  "Time-Dependent Asset Allocations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anlz_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                             fp_gjahr  TYPE gjahr&lt;/P&gt;&lt;P&gt;                             fp_peraf  TYPE peraf&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anlz TYPE ty_t_anlz.&lt;/P&gt;&lt;P&gt;*Local Data Declaration&lt;/P&gt;&lt;P&gt;  DATA : l_date TYPE dats.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Constants&lt;/P&gt;&lt;P&gt;  DATA : l_c_ng TYPE char2 VALUE 'NG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Function Module To Calculate Last calendar day in the fiscal period&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_gjahr        = fp_gjahr&lt;/P&gt;&lt;P&gt;      i_periv        = l_c_ng&lt;/P&gt;&lt;P&gt;      i_poper        = fp_peraf&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_date         = l_date&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      input_false    = 0&lt;/P&gt;&lt;P&gt;      t009_notfound  = 0&lt;/P&gt;&lt;P&gt;      t009b_notfound = 0&lt;/P&gt;&lt;P&gt;      OTHERS         = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Time-Dependent Asset Allocations data from ANLZ table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT bukrs   "Company Code&lt;/P&gt;&lt;P&gt;           anln1   "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2   "Asset Subnumber&lt;/P&gt;&lt;P&gt;           kostl   "Cost Center&lt;/P&gt;&lt;P&gt;           FROM anlz INTO TABLE fp_i_anlz&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;     WHERE bukrs = fp_i_anla_temp-bukrs AND&lt;/P&gt;&lt;P&gt;           anln1 = fp_i_anla_temp-anln1 AND&lt;/P&gt;&lt;P&gt;           anln2 = fp_i_anla_temp-anln2 AND&lt;/P&gt;&lt;P&gt;           bdatu GE l_date AND&lt;/P&gt;&lt;P&gt;           adatu LE l_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anlz BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anlz_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  get_t095b_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;      get G/L accounts value adjustment(T095b) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLB  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_T095B "G/L accounts value adjustment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_t095b_data  USING    fp_i_anla_temp  TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                     CHANGING fp_i_t095b TYPE ty_t_t095b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Local Constants&lt;/P&gt;&lt;P&gt;  DATA : l_c_n001 TYPE t095b-ktopl VALUE 'N001'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select G/L accounts value adjustment from the table T095b&lt;/P&gt;&lt;P&gt;    SELECT   ktogr    "Account determination&lt;/P&gt;&lt;P&gt;             afabe    "Real depreciation area&lt;/P&gt;&lt;P&gt;             ktnafg   "Expense account for ordinary depreciation to book val. 0&lt;/P&gt;&lt;P&gt;             ktaafg   "Expense account for unplanned depreciation&lt;/P&gt;&lt;P&gt;             FROM t095b INTO TABLE fp_i_t095b&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;             WHERE ktopl = l_c_n001 AND&lt;/P&gt;&lt;P&gt;             ktogr = fp_i_anla_temp-ktogr AND&lt;/P&gt;&lt;P&gt;             afabe = c_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_t095b BY ktogr afabe.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_t095b_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  get_anep_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;      get Asset Line Items(ANEP) with the condition of  ANLA Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANEP  "Asset Line Items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anep_data  USING    fp_i_anla_temp TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                             fp_gjahr TYPE gjahr&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                             fp_i_anbtr TYPE ty_t_anbtr.  "TUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;l_fs_anep&amp;gt; TYPE ty_anep.&lt;/P&gt;&lt;P&gt;  DATA : l_wa_anbtr TYPE ty_anbtr,&lt;/P&gt;&lt;P&gt;         l_v_anbtr1 TYPE anbtr VALUE '0',&lt;/P&gt;&lt;P&gt;         l_v_anbtr2 TYPE anbtr VALUE '0'.&lt;/P&gt;&lt;P&gt;  CONSTANTS:  l_c_zta TYPE bwasl VALUE 'ZTA',&lt;/P&gt;&lt;P&gt;              l_c_ztb TYPE bwasl VALUE 'ZTB',&lt;/P&gt;&lt;P&gt;              l_c_zr2 TYPE bwasl VALUE 'ZR2',&lt;/P&gt;&lt;P&gt;              l_c_zpc TYPE bwasl VALUE 'ZPC',&lt;/P&gt;&lt;P&gt;              l_c_ztr TYPE bwasl VALUE 'ZTR',&lt;/P&gt;&lt;P&gt;              l_c_zr1 TYPE bwasl VALUE 'ZR1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anla_temp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selcet Asset Line Items from the table ANEP&lt;/P&gt;&lt;P&gt;    SELECT bukrs  "Company Code&lt;/P&gt;&lt;P&gt;           anln1  "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2  "Asset Subnumber&lt;/P&gt;&lt;P&gt;           gjahr  "Fiscal Year&lt;/P&gt;&lt;P&gt;           lnran  "Sequence number of asset line items in fiscal year&lt;/P&gt;&lt;P&gt;           afabe  "Real depreciation area&lt;/P&gt;&lt;P&gt;           zujhr  "Asset acquisition year (currently not used)&lt;/P&gt;&lt;P&gt;           zucod  "Sub-classification of asset acquisitions(currently not used)&lt;/P&gt;&lt;P&gt;           bwasl  "Asset transaction type&lt;/P&gt;&lt;P&gt;           anbtr  "Amount posted&lt;/P&gt;&lt;P&gt;           FROM anep&lt;/P&gt;&lt;P&gt;           INTO TABLE fp_i_anep&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN fp_i_anla_temp&lt;/P&gt;&lt;P&gt;           WHERE bukrs = fp_i_anla_temp-bukrs&lt;/P&gt;&lt;P&gt;           AND anln1 = fp_i_anla_temp-anln1&lt;/P&gt;&lt;P&gt;           AND anln2 = fp_i_anla_temp-anln2&lt;/P&gt;&lt;P&gt;           AND gjahr = fp_gjahr&lt;/P&gt;&lt;P&gt;           AND afabe = c_01.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anep BY bukrs anln1 anln2 gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Begin of TUT&lt;/P&gt;&lt;P&gt;      LOOP AT fp_i_anep ASSIGNING &amp;lt;l_fs_anep&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;l_fs_anep&amp;gt;-bwasl(1) = c_1 OR &amp;lt;l_fs_anep&amp;gt;-bwasl(1) = c_3&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zta OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_ztb&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zr1 OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zr2&lt;/P&gt;&lt;P&gt;                     OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_ztr OR &amp;lt;l_fs_anep&amp;gt;-bwasl = l_c_zpc.&lt;/P&gt;&lt;P&gt;          l_v_anbtr1 = l_v_anbtr1 + &amp;lt;l_fs_anep&amp;gt;-anbtr.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;l_fs_anep&amp;gt;-bwasl(1) NE c_6 OR  &amp;lt;l_fs_anep&amp;gt;-bwasl(1) NE c_7.&lt;/P&gt;&lt;P&gt;          l_v_anbtr2  = l_v_anbtr2 + &amp;lt;l_fs_anep&amp;gt;-anbtr .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT END OF anln1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-bukrs = &amp;lt;l_fs_anep&amp;gt;-bukrs.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anln1 = &amp;lt;l_fs_anep&amp;gt;-anln1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anln2 = &amp;lt;l_fs_anep&amp;gt;-anln2.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-gjahr = &amp;lt;l_fs_anep&amp;gt;-gjahr.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anbtr1 = l_v_anbtr1.&lt;/P&gt;&lt;P&gt;          l_wa_anbtr-anbtr2 = l_v_anbtr2.&lt;/P&gt;&lt;P&gt;          APPEND l_wa_anbtr TO fp_i_anbtr.&lt;/P&gt;&lt;P&gt;          CLEAR: l_v_anbtr1, l_v_anbtr2.&lt;/P&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anbtr BY bukrs anln1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anep_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  get_anea_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;      get Asset Line Items for Proportional Values(ANEA)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           with the condition of  ANEP Data&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANEP  "Asset Line Items&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_ANEA  "Asset Line Items for Proportional Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_anea_data  USING    fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                    CHANGING fp_i_anea TYPE ty_t_anea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_i_anep IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select Asset Line Items for Proportional Values from the table ANEA&lt;/P&gt;&lt;P&gt;    SELECT bukrs             "Company Code&lt;/P&gt;&lt;P&gt;           anln1             "Main Asset Number&lt;/P&gt;&lt;P&gt;           anln2             "Asset Sub Number&lt;/P&gt;&lt;P&gt;           nafav             "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;           aafav             "Proportional cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;           nafal             "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;           aafal             "Proportional unplanned depreciation for the year&lt;/P&gt;&lt;P&gt;      FROM anea&lt;/P&gt;&lt;P&gt;      INTO TABLE fp_i_anea&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN fp_i_anep&lt;/P&gt;&lt;P&gt;      WHERE bukrs = fp_i_anep-bukrs AND&lt;/P&gt;&lt;P&gt;            anln1 = fp_i_anep-anln1 AND&lt;/P&gt;&lt;P&gt;            anln2 = fp_i_anep-anln2 AND&lt;/P&gt;&lt;P&gt;            gjahr = fp_i_anep-gjahr AND&lt;/P&gt;&lt;P&gt;            lnran = fp_i_anep-lnran AND&lt;/P&gt;&lt;P&gt;            afabe = fp_i_anep-afabe AND&lt;/P&gt;&lt;P&gt;            zujhr = fp_i_anep-zujhr AND&lt;/P&gt;&lt;P&gt;            zucod = fp_i_anep-zucod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ c_zero.&lt;/P&gt;&lt;P&gt;      SORT fp_i_anea BY bukrs anln1 anln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_anea_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  get_data_final&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;      Get the data for final table and it is trnasfer to Excel File&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLA  "Asset Master Record Segment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLB  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLC  "Asset Value Fields&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLP  "Asset Periodic Values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANLZ  "Depreciation terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_ANEA  "Asset Line Items for Proportional Values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_T095B "G/L accounts value adjustment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_FINALTAB "Final Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data_final  USING    fp_i_anla TYPE ty_t_anla&lt;/P&gt;&lt;P&gt;                              fp_i_anlb TYPE ty_t_anlb&lt;/P&gt;&lt;P&gt;                              fp_i_anlc TYPE ty_t_anlc&lt;/P&gt;&lt;P&gt;                              fp_i_anlp TYPE ty_t_anlp&lt;/P&gt;&lt;P&gt;                              fp_i_anep TYPE ty_t_anep&lt;/P&gt;&lt;P&gt;                              fp_i_anlz TYPE ty_t_anlz&lt;/P&gt;&lt;P&gt;                              fp_i_anea TYPE ty_t_anea&lt;/P&gt;&lt;P&gt;                              fp_i_t095b TYPE ty_t_t095b&lt;/P&gt;&lt;P&gt;                              fp_i_anbtr TYPE ty_t_anbtr               "  TUT&lt;/P&gt;&lt;P&gt;                    CHANGING  fp_i_finaltab TYPE ty_t_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_anla TYPE ty_anla,&lt;/P&gt;&lt;P&gt;        l_wa_anlb TYPE ty_anlb,&lt;/P&gt;&lt;P&gt;        l_wa_anlc TYPE ty_anlc,&lt;/P&gt;&lt;P&gt;        l_wa_anlp TYPE ty_anlp,&lt;/P&gt;&lt;P&gt;        l_wa_anep TYPE ty_anep,&lt;/P&gt;&lt;P&gt;        l_wa_anlz TYPE ty_anlz,&lt;/P&gt;&lt;P&gt;        l_wa_anea TYPE ty_anea,&lt;/P&gt;&lt;P&gt;        l_wa_t095b TYPE ty_t095b,&lt;/P&gt;&lt;P&gt;        l_wa_anbtr TYPE ty_anbtr,                       " TUT&lt;/P&gt;&lt;P&gt;        l_wa_ftab TYPE ty_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_v_anbtr1 TYPE anbtr VALUE '0',    " TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr2 TYPE anbtr VALUE '0',    " TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   l_v_na_anfav TYPE nafav,&lt;/P&gt;&lt;P&gt;          l_v_na_aafal TYPE aafal,&lt;/P&gt;&lt;P&gt;          l_v_kansw01 TYPE kansw_altd.&lt;/P&gt;&lt;P&gt;*Local constants&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONSTANTS:  l_c_zta TYPE bwasl VALUE 'ZTA',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_ztb TYPE bwasl VALUE 'ZTB',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zr2 TYPE bwasl VALUE 'ZR2',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zpc TYPE bwasl VALUE 'ZPC',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_ztr TYPE bwasl VALUE 'ZTR',   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_c_zr1 TYPE bwasl VALUE 'ZR1'.   "TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT fp_i_anla INTO l_wa_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_ftab-bukrs  = l_wa_anla-bukrs.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anln1  = l_wa_anla-anln1.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anln2  = l_wa_anla-anln2.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-anlkl  = l_wa_anla-anlkl.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-txt50  = l_wa_anla-txt50.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-deakt  = l_wa_anla-deakt.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-ord41  = l_wa_anla-ord41.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-aibn1  = l_wa_anla-aibn1.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-aibdt  = l_wa_anla-aibdt.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-ktogr  = l_wa_anla-ktogr.&lt;/P&gt;&lt;P&gt;    l_wa_ftab-menge  = l_wa_anla-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlb INTO l_wa_anlb WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afasl = l_wa_anlb-afasl.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afabe  = l_wa_anlb-afabe.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ndjar  = l_wa_anlb-ndjar.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ndper  = l_wa_anlb-ndper.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afabg  = l_wa_anlb-afabg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-schrw  = l_wa_anlb-schrw.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlc INTO l_wa_anlc WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafag  = l_wa_anlc-nafag.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafag  = l_wa_anlc-aafag.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-knafa  = l_wa_anlc-knafa.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kaafa  = l_wa_anlc-kaafa.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafap  = l_wa_anlc-nafap.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-afblpe = l_wa_anlc-afblpe.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafav  = l_wa_anlc-nafav.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafav  = l_wa_anlc-aafav.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafal  = l_wa_anlc-nafal.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafal  = l_wa_anlc-aafal.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kansw  = l_wa_anlc-kansw.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlp INTO l_wa_anlp WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-peraf = l_wa_anlp-peraf.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-gjahr = l_wa_anlp-gjahr.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-nafaz = l_wa_anlp-nafaz.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-aafaz = l_wa_anlp-aafaz.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anlz INTO l_wa_anlz WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kostl = l_wa_anlz-kostl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_t095b INTO l_wa_t095b WITH KEY ktogr = l_wa_anla-ktogr&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ktnafg  = l_wa_t095b-ktnafg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-ktaafg  = l_wa_t095b-ktaafg.&lt;/P&gt;&lt;P&gt;      l_v_kansw01 = l_wa_t095b-ktnafg + l_wa_t095b-ktaafg.&lt;/P&gt;&lt;P&gt;      l_wa_ftab-kansw01 = l_v_kansw01.&lt;/P&gt;&lt;P&gt;    ENDIF.&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; Begin of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anbtr INTO l_wa_anbtr WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                   anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        l_wa_ftab-anbtr1 = l_wa_anbtr-anbtr1.&lt;/P&gt;&lt;P&gt;        l_wa_ftab-anbtr2 = l_wa_anbtr-anbtr2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE fp_i_anep INTO l_wa_anep WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                BINARY SEARCH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF l_wa_anep-bwasl(1) = c_1 OR l_wa_anep-bwasl(1) = c_3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_zta OR l_wa_anep-bwasl = l_c_ztb&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_zr1 OR l_wa_anep-bwasl = l_c_zr2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  OR l_wa_anep-bwasl = l_c_ztr OR l_wa_anep-bwasl = l_c_zpc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr1 = l_v_anbtr1 + l_wa_anep-anbtr.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF l_wa_anep-bwasl(1) NE c_6 OR  l_wa_anep-bwasl(1) NE c_7.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_v_anbtr2  = l_v_anbtr2 + l_wa_anep-anbtr .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_ftab-anbtr1 = l_v_anbtr1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_ftab-anbtr2 = l_v_anbtr2.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE fp_i_anea INTO l_wa_anea WITH KEY bukrs = l_wa_anla-bukrs&lt;/P&gt;&lt;P&gt;                                                 anln1 = l_wa_anla-anln1&lt;/P&gt;&lt;P&gt;                                                 anln2 = l_wa_anla-anln2&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      l_v_na_anfav = l_v_na_anfav + l_wa_anea-nafav + l_wa_anea-aafav.&lt;/P&gt;&lt;P&gt;      l_v_na_aafal = l_v_na_aafal + l_wa_anea-nafal + l_wa_anea-aafal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_ftab-na_anfav = l_v_na_anfav .&lt;/P&gt;&lt;P&gt;      l_wa_ftab-na_nafal = l_v_na_aafal.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND l_wa_ftab TO fp_i_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR:  l_wa_anla,&lt;/P&gt;&lt;P&gt;            l_wa_anlb,&lt;/P&gt;&lt;P&gt;            l_wa_anlc,&lt;/P&gt;&lt;P&gt;            l_wa_anlp,&lt;/P&gt;&lt;P&gt;            l_wa_anep,&lt;/P&gt;&lt;P&gt;            l_wa_anlz,&lt;/P&gt;&lt;P&gt;            l_wa_anea,&lt;/P&gt;&lt;P&gt;            l_wa_t095b,&lt;/P&gt;&lt;P&gt;            l_wa_anbtr,                     "TUT&lt;/P&gt;&lt;P&gt;            l_wa_ftab.&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;ENDFORM.                    " get_data_final&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  data_download&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;      Data downloaded into the Temp Folder in the Excel Format&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB  Final Table&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 data_download  USING    fp_i_ftab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                             fp_fname TYPE filep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : l_v_file TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_v_file = fp_fname.&lt;/P&gt;&lt;P&gt;***This path mentioned in FS only&lt;/P&gt;&lt;P&gt;*Constants&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_c_path TYPE string VALUE 'c:\temp\temp.xls'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF fp_i_ftab IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Function Module used to download to Presentation Server.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename                = l_v_file&lt;/P&gt;&lt;P&gt;        filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator   = c_x&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                = fp_i_ftab&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        file_write_error        = 1&lt;/P&gt;&lt;P&gt;        no_batch                = 2&lt;/P&gt;&lt;P&gt;        gui_refuse_filetransfer = 3&lt;/P&gt;&lt;P&gt;        invalid_type            = 4&lt;/P&gt;&lt;P&gt;        no_authority            = 5&lt;/P&gt;&lt;P&gt;        unknown_error           = 6&lt;/P&gt;&lt;P&gt;        header_not_allowed      = 7&lt;/P&gt;&lt;P&gt;        separator_not_allowed   = 8&lt;/P&gt;&lt;P&gt;        filesize_not_allowed    = 9&lt;/P&gt;&lt;P&gt;        header_too_long         = 10&lt;/P&gt;&lt;P&gt;        dp_error_create         = 11&lt;/P&gt;&lt;P&gt;        dp_error_send           = 12&lt;/P&gt;&lt;P&gt;        dp_error_write          = 13&lt;/P&gt;&lt;P&gt;        unknown_dp_error        = 14&lt;/P&gt;&lt;P&gt;        access_denied           = 15&lt;/P&gt;&lt;P&gt;        dp_out_of_memory        = 16&lt;/P&gt;&lt;P&gt;        disk_full               = 17&lt;/P&gt;&lt;P&gt;        dp_timeout              = 18&lt;/P&gt;&lt;P&gt;        file_not_found          = 19&lt;/P&gt;&lt;P&gt;        dataprovider_exception  = 20&lt;/P&gt;&lt;P&gt;        control_flush_error     = 21&lt;/P&gt;&lt;P&gt;        OTHERS                  = 22.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; c_zero.&lt;/P&gt;&lt;P&gt;      CASE sy-subrc.&lt;/P&gt;&lt;P&gt;        WHEN c_one.&lt;/P&gt;&lt;P&gt;          MESSAGE e123. "File Write error&lt;/P&gt;&lt;P&gt;        WHEN c_two.&lt;/P&gt;&lt;P&gt;          MESSAGE e124. "No batch&lt;/P&gt;&lt;P&gt;        WHEN c_three.&lt;/P&gt;&lt;P&gt;          MESSAGE e125. "GUI Refuses file transfer&lt;/P&gt;&lt;P&gt;        WHEN c_four.&lt;/P&gt;&lt;P&gt;          MESSAGE e126. "Invalid type&lt;/P&gt;&lt;P&gt;        WHEN c_five.&lt;/P&gt;&lt;P&gt;          MESSAGE e127. "No authority&lt;/P&gt;&lt;P&gt;        WHEN c_six.&lt;/P&gt;&lt;P&gt;          MESSAGE e128. "Unknown error&lt;/P&gt;&lt;P&gt;        WHEN c_seven.&lt;/P&gt;&lt;P&gt;          MESSAGE e129. "Header not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_eight.&lt;/P&gt;&lt;P&gt;          MESSAGE e130. "Seperator not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_nine.&lt;/P&gt;&lt;P&gt;          MESSAGE e131. "File size not allowed&lt;/P&gt;&lt;P&gt;        WHEN c_ten.&lt;/P&gt;&lt;P&gt;          MESSAGE e132. "Header too long&lt;/P&gt;&lt;P&gt;        WHEN c_eleven.&lt;/P&gt;&lt;P&gt;          MESSAGE e133. "Dp error create&lt;/P&gt;&lt;P&gt;        WHEN c_twelve.&lt;/P&gt;&lt;P&gt;          MESSAGE e134. "Dp error send&lt;/P&gt;&lt;P&gt;        WHEN c_thirteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e135. "Dp error write&lt;/P&gt;&lt;P&gt;        WHEN c_fourteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e136. "Unknown Dp error&lt;/P&gt;&lt;P&gt;        WHEN c_fifteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e137. "Access denied&lt;/P&gt;&lt;P&gt;        WHEN c_sixteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e138. "Dp out of memory&lt;/P&gt;&lt;P&gt;        WHEN c_seventeen.&lt;/P&gt;&lt;P&gt;          MESSAGE e139. "Disk full&lt;/P&gt;&lt;P&gt;        WHEN c_eighteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e140. "Dp time out&lt;/P&gt;&lt;P&gt;        WHEN c_nineteen.&lt;/P&gt;&lt;P&gt;          MESSAGE e141. "File not found&lt;/P&gt;&lt;P&gt;        WHEN c_twenty.&lt;/P&gt;&lt;P&gt;          MESSAGE e142. "Data provider exception&lt;/P&gt;&lt;P&gt;        WHEN c_twentyone.&lt;/P&gt;&lt;P&gt;          MESSAGE e143. "Control flush error&lt;/P&gt;&lt;P&gt;        WHEN c_twentytwo.&lt;/P&gt;&lt;P&gt;          MESSAGE e144. "Unknown error&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;      REFRESH fp_i_ftab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE s317 WITH text-050. "Data Downloaded into Temp Folder in C Drive&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;ENDFORM.                    " data_download&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  header_info&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;      For Header Information For the  Excel Sheet&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;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB  Final Table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_HEADER  For Header Of Excel&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--FP_I_FTAB    For Final Table and Header&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 header_info  USING  fp_i_finaltab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                  CHANGING  fp_i_header TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                            fp_i_ftab TYPE ty_t_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_ftab TYPE ty_finaltab.&lt;/P&gt;&lt;P&gt;  DATA: l_c_asset TYPE char40,&lt;/P&gt;&lt;P&gt;        l_c_year TYPE char20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_wa_user_defaults TYPE usdefaults.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:l_wa_ftab1 TYPE ty_head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anln1  = text-004.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anln2  = text-005.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-bukrs  = text-006.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anlkl  = text-007.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-txt50  = text-008.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-deakt  = text-009.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ord41  = text-010.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aibn1  = text-011.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aibdt  = text-012.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktogr  = text-013.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-menge  = text-014.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afasl = text-015.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afabe = text-016.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ndjar = text-017.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ndper = text-018.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afabg = text-019.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-schrw = text-020.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafag  = text-021.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafag  = text-022.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-knafa  = text-023.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kaafa  = text-024.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafap  = text-025.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-afblpe = text-026.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafav  = text-027.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafav  = text-028.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafal  = text-029.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafal  = text-030.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kansw  = text-031.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-peraf = text-032.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-gjahr = text-033.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-nafaz = text-034.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-aafaz = text-035.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kostl = text-036.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktnafg = text-037.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-ktaafg = text-038.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-kansw01 = text-057.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anbtr1 = text-039.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-anbtr2 = text-040.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab-na_anfav = text-041.&lt;/P&gt;&lt;P&gt;  l_wa_ftab-na_nafal = text-042.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fp_i_ftab[] = fp_i_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_ftab TO fp_i_header.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-055 '  ' p_peraf INTO l_c_asset.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset = l_c_asset.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(5)  = text-054.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = p_gjahr.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(13)  = text-053.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = s_anlkl.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(14)  = text-052.&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+21(4) = s_bukrs-low.&lt;/P&gt;&lt;P&gt;  IF s_bukrs-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    l_wa_ftab1-asset+25(1) = '-'.&lt;/P&gt;&lt;P&gt;    l_wa_ftab1-asset+26(4) = s_bukrs-high.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO l_wa_ftab1-asset+21(10).&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset+0(10)  = text-051.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_ftab1-asset = text-049.&lt;/P&gt;&lt;P&gt;  INSERT l_wa_ftab1 INTO fp_i_ftab INDEX 1.&lt;/P&gt;&lt;P&gt;  CLEAR: l_wa_ftab1,&lt;/P&gt;&lt;P&gt;         l_c_asset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_ftab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_info&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  send_mail&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;      This perform used for send the data into the mail&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           specified in the Selection-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USING PARAMETERS:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;FP_I_FINALTAB " Final Internal Table&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 send_mail  USING    fp_i_finaltab TYPE ty_t_finaltab&lt;/P&gt;&lt;P&gt;                         fp_i_reclist  TYPE ty_reclist_tab.&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;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS: l_c_u TYPE so_escape VALUE 'U',  " Escape sequence&lt;/P&gt;&lt;P&gt;             l_c_cret TYPE c VALUE cl_abap_char_utilities=&amp;gt;newline,&lt;/P&gt;&lt;P&gt;                          "Carriage Return and Line Feed" Character Pair&lt;/P&gt;&lt;P&gt;             l_c_htab TYPE c VALUE&lt;/P&gt;&lt;P&gt;              cl_abap_char_utilities=&amp;gt;horizontal_tab,&lt;/P&gt;&lt;P&gt;              "Horizontal Tab Stop" Character&lt;/P&gt;&lt;P&gt;             l_c_raw   TYPE so_obj_tp VALUE 'RAW',        "Constant RAW&lt;/P&gt;&lt;P&gt;             l_c_int   TYPE char3   VALUE 'INT',          "Constant INT&lt;/P&gt;&lt;P&gt;             l_c_xls   TYPE char3   VALUE  'XLS'.         "File format&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table types for sopcklsti1 table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TYPES :  l_ty_sopcklsti1 TYPE STANDARD TABLE OF sopcklsti1,&lt;/P&gt;&lt;P&gt;           l_ty_somlreci1 TYPE STANDARD TABLE OF somlreci1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table and WA to hold the contents to be passed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA : l_i_mail_data  TYPE STANDARD TABLE OF solisti1,&lt;/P&gt;&lt;P&gt;         l_wa_mail_data TYPE solisti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local work area declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_wa_message TYPE solisti1,       " WA for Message body&lt;/P&gt;&lt;P&gt;        l_wa_objpack TYPE sopcklsti1,     " WA for packing list&lt;/P&gt;&lt;P&gt;        l_wa_docdata   TYPE sodocchgi1.   " WA for Doc Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : l_v_output(2000) TYPE c. "Output WA in string format5&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;Local Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local data declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_i_reclist   TYPE ty_reclist_tab,&lt;/P&gt;&lt;P&gt;        l_wa_reclist  TYPE ty_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :   l_i_objpack  TYPE l_ty_sopcklsti1, " IT for contents table&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          l_i_reclist   TYPE l_ty_somlreci1, " Recievers list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           l_i_message   TYPE STANDARD TABLE OF solisti1. " Message Body&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS : &amp;lt;l_wa_rep_header&amp;gt; TYPE ty_finaltab,  " For Report Header data&lt;/P&gt;&lt;P&gt;                  &amp;lt;l_wa_rep_detail&amp;gt; TYPE ty_finaltab.  " For Report Details data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_r_mail TYPE ty_t_mail,&lt;/P&gt;&lt;P&gt;        l_wa_mail LIKE LINE OF l_r_mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_r_mail = s_email[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT l_r_mail INTO l_wa_mail.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare the list of recieving email IDs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_wa_reclist-receiver = l_wa_mail-low.&lt;/P&gt;&lt;P&gt;    l_wa_reclist-rec_type = c_rectyp .&lt;/P&gt;&lt;P&gt;    APPEND l_wa_reclist TO l_i_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF l_wa_mail-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      l_wa_reclist-receiver = l_wa_mail-high.&lt;/P&gt;&lt;P&gt;      l_wa_reclist-rec_type = c_rectyp .&lt;/P&gt;&lt;P&gt;      APPEND l_wa_reclist TO l_i_reclist.&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;  SORT l_i_reclist BY receiver.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM l_i_reclist.&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;Fill up the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SAP ASSET MASTER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message = text-049.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Rundate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message+0(8) = text-051.&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO l_wa_message+10(10).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_message+10(8) = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_message+0(13) = text-052.&lt;/P&gt;&lt;P&gt;  l_wa_message+15(4) = s_bukrs-low.&lt;/P&gt;&lt;P&gt;  IF s_bukrs-high IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    l_wa_message+20(1) = '-'.&lt;/P&gt;&lt;P&gt;    l_wa_message+21(4) = s_bukrs-high.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Asset Class&lt;/P&gt;&lt;P&gt;  l_wa_message+0(12) = text-053.&lt;/P&gt;&lt;P&gt;  l_wa_message+15(4) = s_anlkl.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Year&lt;/P&gt;&lt;P&gt;  l_wa_message+0(5) = text-054.&lt;/P&gt;&lt;P&gt;  l_wa_message+7(4) = p_gjahr.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Depriciation Period&lt;/P&gt;&lt;P&gt;  l_wa_message+0(20) = text-055.&lt;/P&gt;&lt;P&gt;  l_wa_message+22(3) = p_peraf.&lt;/P&gt;&lt;P&gt;  APPEND l_wa_message TO l_i_message.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_docdata-obj_langu = sy-langu.&lt;/P&gt;&lt;P&gt;  l_wa_docdata-obj_descr = text-048.   " Reports&lt;/P&gt;&lt;P&gt;  l_wa_docdata-doc_size = 2000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create the entry for the compressed document.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH l_i_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_wa_objpack-transf_bin = c_x.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_objpack-transf_bin = space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-head_start = c_1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of the attchment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_start = c_1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_num   = 2000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attachment Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-doc_type   =  l_c_raw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the work area to internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND l_wa_objpack TO l_i_objpack.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer the structural details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR l_wa_objpack-transf_bin.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;From where the header starts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-head_start = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Where the body starts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_start = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No. of lines in the body&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-body_num   = 2000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The document type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-doc_type   = l_c_xls.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attachment Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_wa_objpack-obj_descr  = text-047.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_wa_objpack-doc_size =  40 * 5000 * 255.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_wa_objpack TO l_i_objpack.&lt;/P&gt;&lt;P&gt;  CLEAR l_wa_objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare the data in the header and detailed table in the format&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;so that the report can be sent in excel format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT i_header ASSIGNING &amp;lt;l_wa_rep_header&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move the column info for the detailed data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_v_output+0(20) = text-004.&lt;/P&gt;&lt;P&gt;    l_v_output+20(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+21(20) = text-005.&lt;/P&gt;&lt;P&gt;    l_v_output+41(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+42(12) = text-006.&lt;/P&gt;&lt;P&gt;    l_v_output+54(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+55(12) = text-007.&lt;/P&gt;&lt;P&gt;    l_v_output+67(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+68(50) = text-008.&lt;/P&gt;&lt;P&gt;    l_v_output+118(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+119(20) = text-009.&lt;/P&gt;&lt;P&gt;    l_v_output+139(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+140(22) = text-010.&lt;/P&gt;&lt;P&gt;    l_v_output+162(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+163(35) = text-011.&lt;/P&gt;&lt;P&gt;    l_v_output+198(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+199(51) = text-012.&lt;/P&gt;&lt;P&gt;    l_v_output+250(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(21) = text-013.&lt;/P&gt;&lt;P&gt;    l_v_output+21(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+22(12) = text-036.&lt;/P&gt;&lt;P&gt;    l_v_output+34(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+35(16) = text-015.&lt;/P&gt;&lt;P&gt;    l_v_output+51(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+52(22) = text-016.&lt;/P&gt;&lt;P&gt;    l_v_output+74(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+75(29) = text-017.&lt;/P&gt;&lt;P&gt;    l_v_output+104(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+105(30) = text-018.&lt;/P&gt;&lt;P&gt;    l_v_output+135(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+136(35) = text-019.&lt;/P&gt;&lt;P&gt;    l_v_output+171(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+172(58) = text-037.&lt;/P&gt;&lt;P&gt;    l_v_output+230(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(58) = text-038.&lt;/P&gt;&lt;P&gt;    l_v_output+58(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+59(50) = text-057.&lt;/P&gt;&lt;P&gt;    l_v_output+109(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+110(50) = text-021.&lt;/P&gt;&lt;P&gt;    l_v_output+160(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+161(50) = text-022.&lt;/P&gt;&lt;P&gt;    l_v_output+211(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(50) = text-023.&lt;/P&gt;&lt;P&gt;    l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+51(50) = text-024.&lt;/P&gt;&lt;P&gt;    l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+102(45) = text-025.&lt;/P&gt;&lt;P&gt;    l_v_output+147(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+148(45) = text-026.&lt;/P&gt;&lt;P&gt;    l_v_output+193(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+194(32) = text-032.&lt;/P&gt;&lt;P&gt;    l_v_output+226(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+227(12) = text-033.&lt;/P&gt;&lt;P&gt;    l_v_output+239(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(35) = text-034.&lt;/P&gt;&lt;P&gt;    l_v_output+35(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+36(40) = text-035.&lt;/P&gt;&lt;P&gt;    l_v_output+76(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+77(9) = text-014.&lt;/P&gt;&lt;P&gt;    l_v_output+86(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+87(46) = text-027.&lt;/P&gt;&lt;P&gt;    l_v_output+133(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+134(46) = text-028.&lt;/P&gt;&lt;P&gt;    l_v_output+180(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+181(50) = text-029.&lt;/P&gt;&lt;P&gt;    l_v_output+231(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_v_output+0(50) = text-030.&lt;/P&gt;&lt;P&gt;    l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+51(50) = text-031.&lt;/P&gt;&lt;P&gt;    l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+102(14) = text-039.&lt;/P&gt;&lt;P&gt;    l_v_output+116(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+117(14) = text-040.&lt;/P&gt;&lt;P&gt;    l_v_output+131(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+132(46) = text-041.&lt;/P&gt;&lt;P&gt;    l_v_output+178(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+179(50) = text-042.&lt;/P&gt;&lt;P&gt;    l_v_output+229(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;    l_v_output+230(17) = text-020.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;    l_wa_mail_data-line+254(1) = l_c_cret.&lt;/P&gt;&lt;P&gt;    APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the records from the detailed data which are linked to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT fp_i_finaltab ASSIGNING &amp;lt;l_wa_rep_detail&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(20) = &amp;lt;l_wa_rep_detail&amp;gt;-anln1.&lt;/P&gt;&lt;P&gt;      l_v_output+20(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+21(20) = &amp;lt;l_wa_rep_detail&amp;gt;-anln2.&lt;/P&gt;&lt;P&gt;      l_v_output+41(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+42(12) = &amp;lt;l_wa_rep_detail&amp;gt;-bukrs.&lt;/P&gt;&lt;P&gt;      l_v_output+54(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+55(12) = &amp;lt;l_wa_rep_detail&amp;gt;-anlkl.&lt;/P&gt;&lt;P&gt;      l_v_output+67(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+68(50) = &amp;lt;l_wa_rep_detail&amp;gt;-txt50.&lt;/P&gt;&lt;P&gt;      l_v_output+118(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+119(20) = &amp;lt;l_wa_rep_detail&amp;gt;-deakt.&lt;/P&gt;&lt;P&gt;      l_v_output+139(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+140(22) = &amp;lt;l_wa_rep_detail&amp;gt;-ord41.&lt;/P&gt;&lt;P&gt;      l_v_output+162(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+163(35) = &amp;lt;l_wa_rep_detail&amp;gt;-aibn1.&lt;/P&gt;&lt;P&gt;      l_v_output+198(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+199(51) = &amp;lt;l_wa_rep_detail&amp;gt;-aibdt.&lt;/P&gt;&lt;P&gt;      l_v_output+250(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(21) = &amp;lt;l_wa_rep_detail&amp;gt;-ktogr.&lt;/P&gt;&lt;P&gt;      l_v_output+21(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+22(12) = &amp;lt;l_wa_rep_detail&amp;gt;-kostl.&lt;/P&gt;&lt;P&gt;      l_v_output+34(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+35(16) =  &amp;lt;l_wa_rep_detail&amp;gt;-afasl.&lt;/P&gt;&lt;P&gt;      l_v_output+51(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+52(22) =  &amp;lt;l_wa_rep_detail&amp;gt;-afabe.&lt;/P&gt;&lt;P&gt;      l_v_output+74(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+75(29)  =  &amp;lt;l_wa_rep_detail&amp;gt;-ndjar.&lt;/P&gt;&lt;P&gt;      l_v_output+104(1)  = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+105(30) =  &amp;lt;l_wa_rep_detail&amp;gt;-ndper.&lt;/P&gt;&lt;P&gt;      l_v_output+135(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+136(35) = &amp;lt;l_wa_rep_detail&amp;gt;-afabg.&lt;/P&gt;&lt;P&gt;      l_v_output+171(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+172(58) =  &amp;lt;l_wa_rep_detail&amp;gt;-ktnafg.&lt;/P&gt;&lt;P&gt;      l_v_output+230(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(58) =  &amp;lt;l_wa_rep_detail&amp;gt;-ktaafg.&lt;/P&gt;&lt;P&gt;      l_v_output+58(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+59(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-kansw01.&lt;/P&gt;&lt;P&gt;      l_v_output+109(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+110(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafag.&lt;/P&gt;&lt;P&gt;      l_v_output+160(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+161(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafag.&lt;/P&gt;&lt;P&gt;      l_v_output+211(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-knafa.&lt;/P&gt;&lt;P&gt;      l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+51(50)  =  &amp;lt;l_wa_rep_detail&amp;gt;-kaafa.&lt;/P&gt;&lt;P&gt;      l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+102(45)  =  &amp;lt;l_wa_rep_detail&amp;gt;-nafap.&lt;/P&gt;&lt;P&gt;      l_v_output+147(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+148(45) =  &amp;lt;l_wa_rep_detail&amp;gt;-afblpe.&lt;/P&gt;&lt;P&gt;      l_v_output+193(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+194(32) =  &amp;lt;l_wa_rep_detail&amp;gt;-peraf .&lt;/P&gt;&lt;P&gt;      l_v_output+226(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+227(12) =  &amp;lt;l_wa_rep_detail&amp;gt;-gjahr.&lt;/P&gt;&lt;P&gt;      l_v_output+239(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(35) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafaz.&lt;/P&gt;&lt;P&gt;      l_v_output+35(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+36(40) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafaz.&lt;/P&gt;&lt;P&gt;      l_v_output+76(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+77(9) =  &amp;lt;l_wa_rep_detail&amp;gt;-menge .&lt;/P&gt;&lt;P&gt;      l_v_output+86(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+87(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafav.&lt;/P&gt;&lt;P&gt;      l_v_output+133(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+134(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-aafav.&lt;/P&gt;&lt;P&gt;      l_v_output+180(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+181(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-nafal.&lt;/P&gt;&lt;P&gt;      l_v_output+231(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      CLEAR l_v_output.&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_v_output+0(50) = &amp;lt;l_wa_rep_detail&amp;gt;-aafal.&lt;/P&gt;&lt;P&gt;      l_v_output+50(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+51(50) = &amp;lt;l_wa_rep_detail&amp;gt;-kansw.&lt;/P&gt;&lt;P&gt;      l_v_output+101(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+102(14) = &amp;lt;l_wa_rep_detail&amp;gt;-anbtr1.&lt;/P&gt;&lt;P&gt;      l_v_output+116(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+117(14) =  &amp;lt;l_wa_rep_detail&amp;gt;-anbtr2.&lt;/P&gt;&lt;P&gt;      l_v_output+131(1)  = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+132(46) =  &amp;lt;l_wa_rep_detail&amp;gt;-na_anfav.&lt;/P&gt;&lt;P&gt;      l_v_output+178(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+179(50) =  &amp;lt;l_wa_rep_detail&amp;gt;-na_nafal.&lt;/P&gt;&lt;P&gt;      l_v_output+229(1) = l_c_htab.&lt;/P&gt;&lt;P&gt;      l_v_output+230(17) =  &amp;lt;l_wa_rep_detail&amp;gt;-schrw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line = l_v_output.&lt;/P&gt;&lt;P&gt;      l_wa_mail_data-line+254(1) = l_c_cret.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND l_wa_mail_data TO l_i_mail_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the FM to send the output list to the recipients&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_data              = l_wa_docdata&lt;/P&gt;&lt;P&gt;      put_in_outbox              = c_x&lt;/P&gt;&lt;P&gt;      commit_work                = c_x&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      packing_list               = l_i_objpack&lt;/P&gt;&lt;P&gt;      contents_bin               = l_i_message&lt;/P&gt;&lt;P&gt;      contents_txt               = l_i_mail_data&lt;/P&gt;&lt;P&gt;      receivers                  = l_i_reclist&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      too_many_receivers         = 1&lt;/P&gt;&lt;P&gt;      document_not_sent          = 2&lt;/P&gt;&lt;P&gt;      document_type_not_exist    = 3&lt;/P&gt;&lt;P&gt;      operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;      parameter_error            = 5&lt;/P&gt;&lt;P&gt;      x_error                    = 6&lt;/P&gt;&lt;P&gt;      enqueue_error              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE c_zero.&lt;/P&gt;&lt;P&gt;    CASE sy-subrc.&lt;/P&gt;&lt;P&gt;      WHEN c_one.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Too many recipients, no authorization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e964.&lt;/P&gt;&lt;P&gt;      WHEN c_two.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document was not sent&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e965.&lt;/P&gt;&lt;P&gt;      WHEN c_three.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document type or attachment type does not exist&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e966.&lt;/P&gt;&lt;P&gt;      WHEN c_four.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No authorization to send/create&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e967.&lt;/P&gt;&lt;P&gt;      WHEN c_five.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invalid combination of parameter values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e968.&lt;/P&gt;&lt;P&gt;      WHEN c_six.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal error or database inconsistency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e969.&lt;/P&gt;&lt;P&gt;      WHEN c_seven.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Required locks could not be set&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE e317 WITH text-106.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;    SUBMIT rsconn01 WITH mode = l_c_int&lt;/P&gt;&lt;P&gt;                  AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " send_mail&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  disable_selection_screen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 disable_selection_screen .&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;Disable selection screen fields which are not required&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF screen-group4 = 004.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   " OR                                            " Personnel number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          screen-group4 = l_c_165 OR                                         " Personnel Subarea&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          screen-group4 = l_c_171.                                           " Payroll Area&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Making selection screen fields disable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     screen-required = c_01.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY SCREEN.&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;&lt;/P&gt;&lt;P&gt;*if p_peraf is initial.&lt;/P&gt;&lt;P&gt;*message e317 with text-059.&lt;/P&gt;&lt;P&gt;*else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF p_gjahr IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE e317 WITH text-060.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF s_email[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE e317 WITH text-061.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&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;&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; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " disable_selection_screen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  depriciation_period&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 depriciation_period USING fp_p_peraf TYPE peraf.&lt;/P&gt;&lt;P&gt;  IF fp_p_peraf IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-059.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " depriciation_period&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  fiscal_year&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_GJAHR  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 fiscal_year  USING    fp_p_gjahr TYPE gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF fp_p_gjahr IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-060.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fiscal_year&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  mail&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_S_Email  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 mail USING  fp_s_email TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  IF fp_s_email[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e317 WITH text-061.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " mail&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Oct 2006 06:57:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695255#M305071</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-24T06:57:26Z</dc:date>
    </item>
    <item>
      <title>Re: program for xls download</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695256#M305072</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COPIED FROM          : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE                : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHER RELATED OBJ    : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGE HISTORY LOG                                                   *&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;MOD. NO.|  DATE    | NAME | CORRECTION NUMBER    | CHANGE REFERENCE# *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/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;  Include           /AMS/FUSFCO_FADEPRICIATION_TOP                   *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Constants&lt;/P&gt;&lt;P&gt;CONSTANTS : c_01 TYPE char2 VALUE '01',&lt;/P&gt;&lt;P&gt;            c_zero TYPE char1 VALUE '0',&lt;/P&gt;&lt;P&gt;            c_x TYPE char1 VALUE 'X',    " Constant X&lt;/P&gt;&lt;P&gt;            c_e TYPE char1 VALUE 'E',&lt;/P&gt;&lt;P&gt;            c_i TYPE char1 VALUE 'I',&lt;/P&gt;&lt;P&gt;            c_eq TYPE char2 VALUE 'EQ',&lt;/P&gt;&lt;P&gt;            c_ca TYPE bukrs VALUE 'CA19',&lt;/P&gt;&lt;P&gt;            c_us TYPE bukrs VALUE 'US43',&lt;/P&gt;&lt;P&gt;            c_1 TYPE char1 VALUE '1',&lt;/P&gt;&lt;P&gt;            c_3 TYPE char1 VALUE '3',&lt;/P&gt;&lt;P&gt;            c_6 TYPE char1 VALUE '6',&lt;/P&gt;&lt;P&gt;            c_7 TYPE char1 VALUE '7',&lt;/P&gt;&lt;P&gt;            c_one               TYPE sysubrc     VALUE '1', "Identifier for 1&lt;/P&gt;&lt;P&gt;            c_two               TYPE sysubrc     VALUE '2', "Identifier for 2&lt;/P&gt;&lt;P&gt;            c_three             TYPE sysubrc     VALUE '3', "Identifier for 3&lt;/P&gt;&lt;P&gt;            c_four              TYPE sysubrc     VALUE '4', "Identifier for 4&lt;/P&gt;&lt;P&gt;            c_five              TYPE sysubrc     VALUE '5', "Identifier for 5&lt;/P&gt;&lt;P&gt;            c_six               TYPE sysubrc     VALUE '6', "Identifier for 6&lt;/P&gt;&lt;P&gt;            c_seven             TYPE sysubrc     VALUE '7', "Identifier for 7&lt;/P&gt;&lt;P&gt;            c_eight             TYPE sysubrc     VALUE '8', "Identifier for 8&lt;/P&gt;&lt;P&gt;            c_nine              TYPE sysubrc     VALUE '9', "Identifier for 9&lt;/P&gt;&lt;P&gt;            c_ten               TYPE sysubrc     VALUE '10',"Identifier for 10&lt;/P&gt;&lt;P&gt;            c_eleven            TYPE sysubrc     VALUE '11',"Identifier for 11&lt;/P&gt;&lt;P&gt;            c_twelve            TYPE sysubrc     VALUE '12',"Identifier for 12&lt;/P&gt;&lt;P&gt;            c_thirteen          TYPE sysubrc     VALUE '13',"Identifier for 13&lt;/P&gt;&lt;P&gt;            c_fourteen          TYPE sysubrc     VALUE '14',"Identifier for 14&lt;/P&gt;&lt;P&gt;            c_fifteen           TYPE sysubrc     VALUE '15',"Identifier for 15&lt;/P&gt;&lt;P&gt;            c_sixteen           TYPE sysubrc     VALUE '16',"Identifier for 16&lt;/P&gt;&lt;P&gt;            c_seventeen         TYPE sysubrc     VALUE '17',"Identifier for 17&lt;/P&gt;&lt;P&gt;            c_eighteen          TYPE sysubrc     VALUE '18',"Identifier for 18&lt;/P&gt;&lt;P&gt;            c_nineteen           TYPE sysubrc    VALUE '19',"Identifier for 19&lt;/P&gt;&lt;P&gt;            c_twenty            TYPE sysubrc     VALUE '20',"Identifier for 20&lt;/P&gt;&lt;P&gt;            c_twentyone         TYPE sysubrc     VALUE '21',"Identifier for 21&lt;/P&gt;&lt;P&gt;            c_twentytwo         TYPE sysubrc     VALUE '22',"Identifier for 22&lt;/P&gt;&lt;P&gt;            c_space             TYPE char1 VALUE ' ',&lt;/P&gt;&lt;P&gt;            c_rectyp  TYPE so_escape  VALUE 'U',&lt;/P&gt;&lt;P&gt;            c_fname   TYPE filep  VALUE 'c:\temp'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global variable Declaration for selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : v_bukrs TYPE bukrs,&lt;/P&gt;&lt;P&gt;       v_anlkl TYPE anlkl,&lt;/P&gt;&lt;P&gt;       v_email TYPE comm_id_long.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of types&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for ANLA Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF ty_anla,&lt;/P&gt;&lt;P&gt;        bukrs TYPE bukrs,           "Company Code&lt;/P&gt;&lt;P&gt;        anln1 TYPE anln1,           "Main Asset Number&lt;/P&gt;&lt;P&gt;        anln2 TYPE anln2,           "Asset Subnumber&lt;/P&gt;&lt;P&gt;        anlkl TYPE anlkl,           "Asset class&lt;/P&gt;&lt;P&gt;        ktogr TYPE ktogr,           "Account determination&lt;/P&gt;&lt;P&gt;        deakt TYPE deakt,           "Deactivation date&lt;/P&gt;&lt;P&gt;        ord41 TYPE ord41,           "CARAT Report Code&lt;/P&gt;&lt;P&gt;        aibn1 TYPE aibn1,           "Original asset that was transferred&lt;/P&gt;&lt;P&gt;        aibdt TYPE aibdt,           "Original acquisition date of AuC/ transferred asset&lt;/P&gt;&lt;P&gt;        menge TYPE am_menge,        "Quantity&lt;/P&gt;&lt;P&gt;        txt50 TYPE txa50_anlt,      "Asset description&lt;/P&gt;&lt;P&gt;        END OF ty_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for ANLB Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF ty_anlb,&lt;/P&gt;&lt;P&gt;        bukrs TYPE bukrs,           "Company Code&lt;/P&gt;&lt;P&gt;        anln1 TYPE anln1,           "Main Asset Number&lt;/P&gt;&lt;P&gt;        anln2 TYPE anln2,           "Asset Subnumber&lt;/P&gt;&lt;P&gt;        afabe TYPE afabe_d,         "Real depreciation area&lt;/P&gt;&lt;P&gt;        afabg TYPE afabg,           "Depreciation calculation start date&lt;/P&gt;&lt;P&gt;        afasl TYPE afasl,           "Depreciation key&lt;/P&gt;&lt;P&gt;        ndjar TYPE ndjar,           "Planned useful life in years&lt;/P&gt;&lt;P&gt;        ndper TYPE ndper,           "Planned useful life in periods&lt;/P&gt;&lt;P&gt;        schrw TYPE schrw,           "Asset scrap value&lt;/P&gt;&lt;P&gt;        xafbe TYPE xafbe,&lt;/P&gt;&lt;P&gt;        END OF ty_anlb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for ANLC Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF ty_anlc,&lt;/P&gt;&lt;P&gt;        bukrs TYPE bukrs,           "Company Code&lt;/P&gt;&lt;P&gt;        anln1 TYPE anln1,           "Main Asset Number&lt;/P&gt;&lt;P&gt;        anln2 TYPE anln2,           "Asset Subnumber&lt;/P&gt;&lt;P&gt;        afabe TYPE afabe_d,            "Real depreciation area&lt;/P&gt;&lt;P&gt;        zujhr TYPE dzujhr,           "Asset acquisition year (currently not used)&lt;/P&gt;&lt;P&gt;        zucod TYPE dzucod,           "Sub-classification of asset acquisitions(currently not used)&lt;/P&gt;&lt;P&gt;        afblpe TYPE afblpe,          "Period in which last depreciation was posted&lt;/P&gt;&lt;P&gt;        kansw TYPE kansw,            "Cumulative acquisition and production costs&lt;/P&gt;&lt;P&gt;        knafa TYPE knafa,            "Accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;        kaafa TYPE kaafa,            "Cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;        nafap TYPE nafap,            "Planned ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;        nafag TYPE nafag,            "Ordinary depreciation posted in the current year&lt;/P&gt;&lt;P&gt;        aafag TYPE aafag,            "Unplanned depreciation posted for the year&lt;/P&gt;&lt;P&gt;        nafav TYPE nafav,            "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;        aafav TYPE aafav,            "Proportional cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;        nafal TYPE nafal,            "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;        aafal TYPE aafal,            "Proportional unplanned depreciation for the year&lt;/P&gt;&lt;P&gt;        END OF ty_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for ANLP Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF ty_anlp,&lt;/P&gt;&lt;P&gt;        bukrs TYPE bukrs,           "Company Code&lt;/P&gt;&lt;P&gt;        gjahr TYPE gjahr,           "Fiscal Year&lt;/P&gt;&lt;P&gt;        peraf TYPE peraf,           "Depreciation calculation period&lt;/P&gt;&lt;P&gt;        anln1 TYPE anln1,           "Main Asset Number&lt;/P&gt;&lt;P&gt;        anln2 TYPE anln2,           "Asset Subnumber&lt;/P&gt;&lt;P&gt;        nafaz TYPE nafaz,           "Ordinary depreciation to be posted&lt;/P&gt;&lt;P&gt;        aafaz TYPE aafaz,           "Unplanned depreciation to be posted&lt;/P&gt;&lt;P&gt;        END OF ty_anlp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for ANLP Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF ty_anlz,&lt;/P&gt;&lt;P&gt;        bukrs TYPE bukrs,           "Company Code&lt;/P&gt;&lt;P&gt;        anln1 TYPE anln1,           "Main Asset Number&lt;/P&gt;&lt;P&gt;        anln2 TYPE anln2,           "Asset Subnumber&lt;/P&gt;&lt;P&gt;        kostl TYPE kostl,          "Cost Center&lt;/P&gt;&lt;P&gt;        END OF ty_anlz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for T095B Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF ty_t095b,&lt;/P&gt;&lt;P&gt;        ktogr TYPE ktogr,&lt;/P&gt;&lt;P&gt;        afabe TYPE afabe_d,&lt;/P&gt;&lt;P&gt;        ktnafg TYPE ktnafg,&lt;/P&gt;&lt;P&gt;        ktaafg TYPE ktaafg,&lt;/P&gt;&lt;P&gt;        END OF ty_t095b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for ANEP Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF ty_anep,&lt;/P&gt;&lt;P&gt;          bukrs TYPE bukrs,&lt;/P&gt;&lt;P&gt;          anln1 TYPE anln1,&lt;/P&gt;&lt;P&gt;          anln2 TYPE anln2,&lt;/P&gt;&lt;P&gt;          gjahr TYPE gjahr,&lt;/P&gt;&lt;P&gt;          lnran TYPE lnran,&lt;/P&gt;&lt;P&gt;          afabe TYPE afabe_d,&lt;/P&gt;&lt;P&gt;          zujhr TYPE dzujhr,&lt;/P&gt;&lt;P&gt;          zucod TYPE dzucod,&lt;/P&gt;&lt;P&gt;          bwasl TYPE bwasl,&lt;/P&gt;&lt;P&gt;          anbtr TYPE anbtr,&lt;/P&gt;&lt;P&gt;        END OF ty_anep,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for ANEA Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        BEGIN OF ty_anea,&lt;/P&gt;&lt;P&gt;        bukrs TYPE bukrs,&lt;/P&gt;&lt;P&gt;        anln1 TYPE anln1,&lt;/P&gt;&lt;P&gt;        anln2 TYPE anln2,&lt;/P&gt;&lt;P&gt;        nafav TYPE nafav,&lt;/P&gt;&lt;P&gt;        aafav TYPE aafav,&lt;/P&gt;&lt;P&gt;        nafal TYPE aafav,&lt;/P&gt;&lt;P&gt;        aafal TYPE aafav,&lt;/P&gt;&lt;P&gt;        END OF ty_anea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure Type for Header for the Excel File&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_head,&lt;/P&gt;&lt;P&gt;       asset TYPE char40,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      rdate TYPE char8,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      bukrs TYPE bukrs,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      anlkl TYPE char8,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      gjahr TYPE char4,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      peraf TYPE char3,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       END OF ty_head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Begin of TUT&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_anbtr,&lt;/P&gt;&lt;P&gt;       bukrs TYPE bukrs,&lt;/P&gt;&lt;P&gt;       anln1 TYPE anln1,&lt;/P&gt;&lt;P&gt;       anln2 TYPE anln2,&lt;/P&gt;&lt;P&gt;       gjahr TYPE gjahr,&lt;/P&gt;&lt;P&gt;       anbtr1 TYPE anbtr,&lt;/P&gt;&lt;P&gt;       anbtr2 TYPE anbtr,&lt;/P&gt;&lt;P&gt;       END OF ty_anbtr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of TUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="5" type="ul"&gt;&lt;P&gt;Structure Type for FInal table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_finaltab,&lt;/P&gt;&lt;P&gt;          anln1 TYPE char20,           "Main Asset Number&lt;/P&gt;&lt;P&gt;          anln2 TYPE char20,           "Asset Subnumber&lt;/P&gt;&lt;P&gt;          bukrs TYPE char12,           "Company Code&lt;/P&gt;&lt;P&gt;          anlkl TYPE char12,           "Asset class&lt;/P&gt;&lt;P&gt;          txt50 TYPE char50,           "Asset description&lt;/P&gt;&lt;P&gt;          deakt TYPE char20,           "Deactivation date&lt;/P&gt;&lt;P&gt;          ord41 TYPE char22,           "CARAT Report Code&lt;/P&gt;&lt;P&gt;          aibn1 TYPE char35,           "Original asset that was transferred&lt;/P&gt;&lt;P&gt;          aibdt TYPE char50,           "Original acquisition date of AuC/ transferred asset&lt;/P&gt;&lt;P&gt;          ktogr TYPE char21,           "Account determination&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          kostl TYPE char12,	     "Cost Center&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          afasl TYPE char16,           "Depreciation key&lt;/P&gt;&lt;P&gt;          afabe TYPE char22,           "Real depreciation area&lt;/P&gt;&lt;P&gt;          ndjar TYPE char29,           "Planned useful life in years&lt;/P&gt;&lt;P&gt;          ndper TYPE char30,           "Planned useful life in periods&lt;/P&gt;&lt;P&gt;          afabg TYPE char35,           "Depreciation calculation start date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ktnafg TYPE char58,          "Expense account for ordinary depreciation to book val. 0&lt;/P&gt;&lt;P&gt;          ktaafg TYPE char58,          "Expense account for unplanned depreciation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          kansw01 TYPE char50,         "Cumulative APC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          nafag TYPE char50,           "Ordinary depreciation posted in the current year&lt;/P&gt;&lt;P&gt;          aafag TYPE char50,           "Unplanned depreciation posted for the year&lt;/P&gt;&lt;P&gt;          knafa TYPE char50,           "Accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;          kaafa TYPE char50,           "Cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;          nafap TYPE char45,           "Planned ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;          afblpe TYPE char45,          "Period in which last depreciation was posted&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          peraf TYPE char32,           "Depreciation calculation period&lt;/P&gt;&lt;P&gt;          gjahr TYPE char12,           "Fiscal Year&lt;/P&gt;&lt;P&gt;          nafaz TYPE char35,           "Ordinary depreciation to be posted&lt;/P&gt;&lt;P&gt;          aafaz TYPE char40,           "Unplanned depreciation to be posted&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          menge TYPE char9,            "Quantity&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          nafav TYPE char46,           "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;          aafav TYPE char46,           "Proportional cumulative unplanned depreciation&lt;/P&gt;&lt;P&gt;          nafal TYPE char50,           "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;          aafal TYPE char50,           "Proportional unplanned depreciation for the year&lt;/P&gt;&lt;P&gt;          kansw TYPE char50,           "Cumulative acquisition and production costs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          anbtr1 TYPE char14,          "Amount posted1&lt;/P&gt;&lt;P&gt;          anbtr2 TYPE char14,          "Amount posted2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          na_anfav TYPE char46,        "Proportional accumulated ordinary depreciation&lt;/P&gt;&lt;P&gt;          na_nafal TYPE char50,        "Proportional ordinary depreciation for the year&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          schrw TYPE char17,            "Asset scrap value&lt;/P&gt;&lt;P&gt;      END OF ty_finaltab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table type for recipients list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_reclist.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE somlreci1.&lt;/P&gt;&lt;P&gt;TYPES: END OF ty_reclist,&lt;/P&gt;&lt;P&gt;       ty_reclist_tab TYPE STANDARD TABLE OF ty_reclist INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;DATA : i_reclist    TYPE ty_reclist_tab.  " List of recepients of mail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******Table Type For Purpose of mail&lt;/P&gt;&lt;P&gt;TYPES : ty_t_mail TYPE RANGE OF comm_id_long."so_recname. "ty_mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******Table Types&lt;/P&gt;&lt;P&gt;TYPES : ty_t_anla TYPE STANDARD TABLE OF ty_anla,&lt;/P&gt;&lt;P&gt;        ty_t_anlb TYPE STANDARD TABLE OF ty_anlb,&lt;/P&gt;&lt;P&gt;        ty_t_anlc TYPE STANDARD TABLE OF ty_anlc,&lt;/P&gt;&lt;P&gt;        ty_t_anlp TYPE STANDARD TABLE OF ty_anlp,&lt;/P&gt;&lt;P&gt;        ty_t_anlz TYPE STANDARD TABLE OF ty_anlz,&lt;/P&gt;&lt;P&gt;        ty_t_t095b TYPE STANDARD TABLE OF ty_t095b,&lt;/P&gt;&lt;P&gt;        ty_t_anep TYPE STANDARD TABLE OF ty_anep,&lt;/P&gt;&lt;P&gt;        ty_t_anea TYPE STANDARD TABLE OF ty_anea,&lt;/P&gt;&lt;P&gt;        ty_t_head TYPE STANDARD TABLE OF ty_head,&lt;/P&gt;&lt;P&gt;        ty_t_anbtr TYPE STANDARD TABLE OF ty_anbtr.  " TUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******Table Type For Final Table&lt;/P&gt;&lt;P&gt;TYPES: ty_t_finaltab TYPE STANDARD TABLE OF ty_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******Internal tables For Final Table&lt;/P&gt;&lt;P&gt;DATA: i_finaltab TYPE STANDARD TABLE OF ty_finaltab,&lt;/P&gt;&lt;P&gt;      i_ftab     TYPE STANDARD TABLE OF ty_finaltab,&lt;/P&gt;&lt;P&gt;      i_header   TYPE STANDARD TABLE OF ty_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : i_anla TYPE ty_t_anla,&lt;/P&gt;&lt;P&gt;       i_anla_temp TYPE ty_t_anla,&lt;/P&gt;&lt;P&gt;       i_anlb TYPE ty_t_anlb,&lt;/P&gt;&lt;P&gt;       i_anlc TYPE ty_t_anlc,&lt;/P&gt;&lt;P&gt;       i_anlp TYPE ty_t_anlp,&lt;/P&gt;&lt;P&gt;       i_anlz TYPE ty_t_anlz,&lt;/P&gt;&lt;P&gt;       i_t095b TYPE ty_t_t095b,&lt;/P&gt;&lt;P&gt;       i_anep TYPE ty_t_anep,&lt;/P&gt;&lt;P&gt;       i_anea TYPE ty_t_anea,&lt;/P&gt;&lt;P&gt;       i_anbtr TYPE ty_t_anbtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          S E L E C T I O N - S C R E E N            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK block1 WITH FRAME." TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_bukrs FOR v_bukrs. " OBLIGATORY .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK block1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK block2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_anlkl FOR v_anlkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK block2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK block3 WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : p_peraf TYPE anlp-peraf," OBLIGATORY,&lt;/P&gt;&lt;P&gt;             p_gjahr TYPE anlp-gjahr." OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK block3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK block4 WITH FRAME TITLE text-043.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : p_cb_dld AS CHECKBOX DEFAULT c_x,&lt;/P&gt;&lt;P&gt;             p_fname TYPE filep DEFAULT c_fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK block5 WITH FRAME TITLE text-044.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : s_email FOR v_email NO INTERVALS. " OBLIGATORY NO INTERVALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK block5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK block4.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Oct 2006 06:59:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695256#M305072</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-24T06:59:42Z</dc:date>
    </item>
    <item>
      <title>Re: program for xls download</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695257#M305073</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COPIED FROM          : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE                : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHER RELATED OBJ    : N/A                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGE HISTORY LOG                                                   *&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;MOD. NO.|  DATE    | NAME | CORRECTION NUMBER    | CHANGE REFERENCE# *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  /ams/fusfco_fixed_assets NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                                 LINE-SIZE 150&lt;/P&gt;&lt;P&gt;                                 LINE-COUNT 20&lt;/P&gt;&lt;P&gt;                                 MESSAGE-ID /ams/ramfcmess .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; INCLUDES                                                           &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Include for Data declarations&lt;/P&gt;&lt;P&gt;INCLUDE /ams/fusfcn_fixed_assets_top.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Include Subroutine Forms&lt;/P&gt;&lt;P&gt;INCLUDE /ams/fusfcn_fixed_assets_form.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialize the selection-screen values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  PERFORM initial_values.&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;                  AT SELECTION-SCREEN OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection- screen parameters is Disabled------------------------------*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM disable_selection_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                     A T  S E L E C T I O N - S C R E E N            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM validation_company USING s_bukrs[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_peraf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Depriciation Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM depriciation_period USING p_peraf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Depriciation Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM fiscal_year USING p_gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate mail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM mail USING s_email[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                    S T A R T   O F S E L E C T I O N                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&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;*GET ANLA DATA&lt;/P&gt;&lt;P&gt;  PERFORM get_anla_data  USING s_bukrs[]&lt;/P&gt;&lt;P&gt;                              s_anlkl[]&lt;/P&gt;&lt;P&gt;                         CHANGING i_anla&lt;/P&gt;&lt;P&gt;                                  i_anla_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get anlb data&lt;/P&gt;&lt;P&gt;  PERFORM get_anlb_data  USING i_anla_temp&lt;/P&gt;&lt;P&gt;                         CHANGING i_anlb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get anlc data&lt;/P&gt;&lt;P&gt;  PERFORM get_anlc_data  USING p_gjahr&lt;/P&gt;&lt;P&gt;                              i_anla_temp&lt;/P&gt;&lt;P&gt;                         CHANGING i_anlc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get anlp data&lt;/P&gt;&lt;P&gt;  PERFORM get_anlp_data  USING p_gjahr&lt;/P&gt;&lt;P&gt;                              p_peraf&lt;/P&gt;&lt;P&gt;                              i_anlc&lt;/P&gt;&lt;P&gt;                         CHANGING i_anlp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get anlz data&lt;/P&gt;&lt;P&gt;  PERFORM get_anlz_data  USING i_anla_temp&lt;/P&gt;&lt;P&gt;                               p_gjahr&lt;/P&gt;&lt;P&gt;                               p_peraf&lt;/P&gt;&lt;P&gt;                      CHANGING i_anlz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get t095b data&lt;/P&gt;&lt;P&gt;  PERFORM get_t095b_data USING    i_anla_temp&lt;/P&gt;&lt;P&gt;                         CHANGING i_t095b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get anep data&lt;/P&gt;&lt;P&gt;  PERFORM get_anep_data  USING    i_anla_temp&lt;/P&gt;&lt;P&gt;                                  p_gjahr&lt;/P&gt;&lt;P&gt;                         CHANGING i_anep&lt;/P&gt;&lt;P&gt;                                  i_anbtr.   " TUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get anea data&lt;/P&gt;&lt;P&gt;  PERFORM get_anea_data  USING    i_anep&lt;/P&gt;&lt;P&gt;                         CHANGING i_anea.&lt;/P&gt;&lt;P&gt;*Get Final Data&lt;/P&gt;&lt;P&gt;  PERFORM get_data_final USING i_anla&lt;/P&gt;&lt;P&gt;                               i_anlb&lt;/P&gt;&lt;P&gt;                               i_anlc&lt;/P&gt;&lt;P&gt;                               i_anlp&lt;/P&gt;&lt;P&gt;                               i_anep&lt;/P&gt;&lt;P&gt;                               i_anlz&lt;/P&gt;&lt;P&gt;                               i_anea&lt;/P&gt;&lt;P&gt;                               i_t095b&lt;/P&gt;&lt;P&gt;                               i_anbtr             " TUT&lt;/P&gt;&lt;P&gt;                         CHANGING i_finaltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For Header Information&lt;/P&gt;&lt;P&gt;  PERFORM header_info USING i_finaltab&lt;/P&gt;&lt;P&gt;                      CHANGING i_header&lt;/P&gt;&lt;P&gt;                               i_ftab.&lt;/P&gt;&lt;P&gt;*If download is selected&lt;/P&gt;&lt;P&gt;  IF p_cb_dld  = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For Downloading Purpose&lt;/P&gt;&lt;P&gt;    PERFORM data_download USING i_ftab&lt;/P&gt;&lt;P&gt;                                p_fname.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Send the report to email address given on selection screen&lt;/P&gt;&lt;P&gt;*Send the report output in excel format by mail&lt;/P&gt;&lt;P&gt;  PERFORM send_mail USING i_finaltab CHANGING i_reclist.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Oct 2006 07:01:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695257#M305073</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-24T07:01:45Z</dc:date>
    </item>
    <item>
      <title>Re: program for xls download</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695258#M305074</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Any specific issue with the code..can you define your exact problem ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Oct 2006 08:57:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695258#M305074</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-24T08:57:41Z</dc:date>
    </item>
    <item>
      <title>Re: program for xls download</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695259#M305075</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;  using ws_excel Function module or in download function module using .xls extension in filetype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Padmaja&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Oct 2006 12:56:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695259#M305075</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-24T12:56:42Z</dc:date>
    </item>
    <item>
      <title>Re: program for xls download</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695260#M305076</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;Go thru this below link and code .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/fmodules/fmssap.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/fmodules/fmssap.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZRMM0056  NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                      MESSAGE-ID ZZ&lt;/P&gt;&lt;P&gt;                      LINE-SIZE 300&lt;/P&gt;&lt;P&gt;                      LINE-COUNT 65.&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;Program              : ZRMM0056&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Title                : Non Inventory PO's&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description          : Non Inventory Purchase Orders details with&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       Vendor and Invoice Receipts and Goods Receipts.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Input  :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Select-options  : 1. G/L Account No&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Parameters      : 1.File Paths for the Excel sheet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Others (Specify):&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output : Extract Files in the application server&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Report  :&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hear Ticket #        : 113392&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Created by           : Srinivas Rao.M&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Created on           : 12/15/2005&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Version              : 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Request              : D10K944304&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transaction Code     : Z420&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Change History                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date         Programmer  Search String   Description                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;12/19/2005   Srinivas    D10K944316      Removed Purchasing document&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         Company code and Plant from&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         Select-Options and Inculded&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         G/L Account No and changed&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         code accordingly.&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;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;T A B L E S                                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES: EKBE,              " History of Purchasing Document&lt;/P&gt;&lt;P&gt;        EKPO,              " Purchasing Document Item&lt;/P&gt;&lt;P&gt;        EKKO,              " Purchasing Document Header&lt;/P&gt;&lt;P&gt;        LFA1,              " Vendor master (general section)&lt;/P&gt;&lt;P&gt;        EKKN.              " Account Assignment in Purchasing Doc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal table to store Purchasing document header data&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_POHEADER OCCURS 0,&lt;/P&gt;&lt;P&gt;        EBELN LIKE EKKO-EBELN,      "Purchasing document&lt;/P&gt;&lt;P&gt;        AEDAT LIKE EKKO-AEDAT,      "Created on&lt;/P&gt;&lt;P&gt;        ERNAM LIKE EKKO-ERNAM,      "Created by&lt;/P&gt;&lt;P&gt;        LIFNR LIKE EKKO-LIFNR,      "Vendor&lt;/P&gt;&lt;P&gt;      END OF IT_POHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal table to store Purchasing document Item data&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_POITEM OCCURS 0,&lt;/P&gt;&lt;P&gt;        EBELN LIKE EKPO-EBELN,       "Purchasing document&lt;/P&gt;&lt;P&gt;        EBELP LIKE EKPO-EBELP,       "Item Number&lt;/P&gt;&lt;P&gt;        MATNR LIKE EKPO-MATNR,       "Material number&lt;/P&gt;&lt;P&gt;        BUKRS LIKE EKPO-BUKRS,       "Company code&lt;/P&gt;&lt;P&gt;        WERKS LIKE EKPO-WERKS,       "Plant&lt;/P&gt;&lt;P&gt;        MATKL LIKE EKPO-MATKL,       "Material Group&lt;/P&gt;&lt;P&gt;        MENGE LIKE EKPO-MENGE,       "Order Quantity&lt;/P&gt;&lt;P&gt;        NETPR LIKE EKPO-NETPR,       "Net Price&lt;/P&gt;&lt;P&gt;        PEINH LIKE EKPO-PEINH,       "Price unit&lt;/P&gt;&lt;P&gt;        NETWR LIKE EKPO-NETWR,       "Net Value&lt;/P&gt;&lt;P&gt;      END OF IT_POITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal table to hold final display data.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;         EBELN LIKE EKKO-EBELN,       "Purchasing document&lt;/P&gt;&lt;P&gt;         EBELP LIKE EKPO-EBELP,       "Item Number&lt;/P&gt;&lt;P&gt;         AEDAT LIKE EKKO-AEDAT,       "Created on&lt;/P&gt;&lt;P&gt;         ERNAM LIKE EKKO-ERNAM,       "Created by&lt;/P&gt;&lt;P&gt;         MATNR LIKE EKPO-MATNR,       "Material number&lt;/P&gt;&lt;P&gt;         BUKRS LIKE EKPO-BUKRS,       "Company code&lt;/P&gt;&lt;P&gt;         WERKS LIKE EKPO-WERKS,       "Plant&lt;/P&gt;&lt;P&gt;         MATKL LIKE EKPO-MATKL,       "Material Group&lt;/P&gt;&lt;P&gt;         MENGE LIKE EKPO-MENGE,       "Order Quantity&lt;/P&gt;&lt;P&gt;         NETPR LIKE EKPO-NETPR,       "Net Price&lt;/P&gt;&lt;P&gt;         PEINH LIKE EKPO-PEINH,       "Price unit&lt;/P&gt;&lt;P&gt;         NETWR LIKE EKPO-NETWR,       "Net Value&lt;/P&gt;&lt;P&gt;         LIFNR LIKE EKKO-LIFNR,       "Vendor&lt;/P&gt;&lt;P&gt;         NAME1 LIKE LFA1-NAME1,       "Vendor Name&lt;/P&gt;&lt;P&gt;         GSBER LIKE EKKN-GSBER,      "Business area&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--IR details&lt;/P&gt;&lt;P&gt;        IR_BELNR LIKE EKBE-BELNR,     "IR-Number of Material Document&lt;/P&gt;&lt;P&gt;        IR_BUZEI LIKE EKBE-BUZEI,     "IR-Item in material Document&lt;/P&gt;&lt;P&gt;        IR_BUDAT LIKE EKBE-BUDAT,     "IR-Posting date&lt;/P&gt;&lt;P&gt;        IR_MENGE LIKE EKBE-MENGE,     "IR-Quantity&lt;/P&gt;&lt;P&gt;*--GR details&lt;/P&gt;&lt;P&gt;        GR_BELNR LIKE EKBE-BELNR,     "GR-Number of Material Document&lt;/P&gt;&lt;P&gt;        GR_BUZEI LIKE EKBE-BUZEI,     "GR-Item in material Document&lt;/P&gt;&lt;P&gt;        GR_BUDAT LIKE EKBE-BUDAT,     "GR-Posting date&lt;/P&gt;&lt;P&gt;        GR_MENGE LIKE EKBE-MENGE,     "GR-Quantity&lt;/P&gt;&lt;P&gt;      END OF IT_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal table to store History per Purchasing Document data&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_HISTORY OCCURS 0,&lt;/P&gt;&lt;P&gt;        EBELN LIKE EKBE-EBELN,        "Purchasing document&lt;/P&gt;&lt;P&gt;        EBELP LIKE EKBE-EBELP,        "Item&lt;/P&gt;&lt;P&gt;        VGABE LIKE EKBE-VGABE,        "Trans/Event type&lt;/P&gt;&lt;P&gt;        BELNR LIKE EKBE-BELNR,        "Number of Material Document&lt;/P&gt;&lt;P&gt;        BUZEI LIKE EKBE-BUZEI,        "Item in material Document&lt;/P&gt;&lt;P&gt;        BUDAT LIKE EKBE-BUDAT,        "Posting date&lt;/P&gt;&lt;P&gt;        MENGE LIKE EKBE-MENGE,        "Quantity&lt;/P&gt;&lt;P&gt;        BEWTP LIKE EKBE-BEWTP,        "Posting history category&lt;/P&gt;&lt;P&gt;       END OF IT_HISTORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal table to store vendor name.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_VENDOR OCCURS 0,&lt;/P&gt;&lt;P&gt;         LIFNR LIKE LFA1-LIFNR,      "Vendor Number&lt;/P&gt;&lt;P&gt;         NAME1 LIKE LFA1-NAME1,      "Vendor Name&lt;/P&gt;&lt;P&gt;       END OF IT_VENDOR.&lt;/P&gt;&lt;P&gt;*--Internal table to store Business area for Purchasing document&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_BUSINESS OCCURS 0,&lt;/P&gt;&lt;P&gt;         EBELN LIKE EKKN-EBELN,      "Purchasing document&lt;/P&gt;&lt;P&gt;         EBELP LIKE EKKN-EBELP,      "Purchasing Item&lt;/P&gt;&lt;P&gt;         SAKTO LIKE EKKN-SAKTO,      "G/L Account No&lt;/P&gt;&lt;P&gt;         GSBER LIKE EKKN-GSBER,      "Business area&lt;/P&gt;&lt;P&gt;       END OF IT_BUSINESS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF FIELDNAMES OCCURS 0,&lt;/P&gt;&lt;P&gt;       TEXT(40),&lt;/P&gt;&lt;P&gt;      END OF FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                VARIABLES DECLARATION                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt; DATA: V_FILE LIKE IBIPPARMS-PATH,         "File path&lt;/P&gt;&lt;P&gt;       V_FLD  LIKE DYNPREAD-FIELDNAME,     "Dynpread fieldname&lt;/P&gt;&lt;P&gt;       V_FLAG(1) VALUE SPACE.              "FLAG VARIABLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        SELECTION-SCREEN                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK S1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Begin of change D10K944316&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_SAKTO FOR EKKN-SAKTO.  "G/L Accoun no.&lt;/P&gt;&lt;P&gt;*--End of change D10K944316&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK S1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK S2 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt; PARAMETERS : P_EXCEL    AS CHECKBOX DEFAULT ' ' .  " download to excel&lt;/P&gt;&lt;P&gt; PARAMETERS : C_FILE(128) DEFAULT : 'C:\ZRMM0056.xls'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK S2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A T   S E L E C T I O N - S C R E E N                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR C_FILE.&lt;/P&gt;&lt;P&gt;*-Form to get file path for download of data&lt;/P&gt;&lt;P&gt;  PERFORM GET_FILE_PATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_VALIDATIONS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Extract Purchasing document header data.&lt;/P&gt;&lt;P&gt;   PERFORM GET_PO_HEADER_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Extract Purchasing document Item data.&lt;/P&gt;&lt;P&gt;   IF NOT IT_BUSINESS[] IS INITIAL.&lt;/P&gt;&lt;P&gt;     PERFORM GET_PO_ITEM_DATA.&lt;/P&gt;&lt;P&gt;*--Get complete required data in final internal table&lt;/P&gt;&lt;P&gt;     PERFORM GET_FINAL_DATA.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;END-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF V_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;*--Display Purchasing document details&lt;/P&gt;&lt;P&gt;    IF NOT IT_FINAL[] IS INITIAL.&lt;/P&gt;&lt;P&gt;       PERFORM DISPLAY_PODATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF P_EXCEL = 'X'.&lt;/P&gt;&lt;P&gt;*--To down load data to excel sheet&lt;/P&gt;&lt;P&gt;        PERFORM DOWN_LOAD_TO_EXCEL.&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;       MESSAGE I001(ZZ) WITH 'No data found'(003).&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP-OF-PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;*--To display page header&lt;/P&gt;&lt;P&gt;  PERFORM PAGE_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_PO_HEADER_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;      To Get Purchasing header data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_PO_HEADER_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To extract Business Area details&lt;/P&gt;&lt;P&gt;       CLEAR IT_BUSINESS.&lt;/P&gt;&lt;P&gt;       REFRESH IT_BUSINESS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT EBELN    "Purchasing document&lt;/P&gt;&lt;P&gt;               EBELP    "Purchasing document item&lt;/P&gt;&lt;P&gt;               SAKTO    "G/L Account no&lt;/P&gt;&lt;P&gt;               GSBER    "Business area&lt;/P&gt;&lt;P&gt;               FROM EKKN&lt;/P&gt;&lt;P&gt;               INTO TABLE IT_BUSINESS&lt;/P&gt;&lt;P&gt;               WHERE SAKTO IN S_SAKTO.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    V_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;    MESSAGE I001(ZZ)  WITH&lt;/P&gt;&lt;P&gt;    'No data selected for the given selection criteria'(004).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To extract Purchasing document details with respect&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; to G/L Account no&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CLEAR   IT_POHEADER.&lt;/P&gt;&lt;P&gt;       REFRESH IT_POHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       SELECT EBELN       "Purchasing document&lt;/P&gt;&lt;P&gt;              AEDAT       "Created on&lt;/P&gt;&lt;P&gt;              ERNAM       "Created by&lt;/P&gt;&lt;P&gt;              LIFNR       "Vendor&lt;/P&gt;&lt;P&gt;            FROM EKKO&lt;/P&gt;&lt;P&gt;            INTO TABLE IT_POHEADER&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN IT_BUSINESS&lt;/P&gt;&lt;P&gt;            WHERE EBELN = IT_BUSINESS-EBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         IF NOT IT_POHEADER[] IS INITIAL.&lt;/P&gt;&lt;P&gt;            CLEAR   IT_VENDOR.&lt;/P&gt;&lt;P&gt;            REFRESH IT_VENDOR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Extracting Vendor details&lt;/P&gt;&lt;P&gt;            SELECT LIFNR   "Vendor #&lt;/P&gt;&lt;P&gt;                   NAME1   "Name&lt;/P&gt;&lt;P&gt;                 FROM LFA1&lt;/P&gt;&lt;P&gt;                 INTO TABLE IT_VENDOR&lt;/P&gt;&lt;P&gt;                 FOR ALL ENTRIES IN IT_POHEADER&lt;/P&gt;&lt;P&gt;                 WHERE LIFNR = IT_POHEADER-LIFNR.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_PO_HEADER_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  GET_PO_ITEM_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;      To extract Purchasing document item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_PO_ITEM_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR   IT_POITEM.&lt;/P&gt;&lt;P&gt; REFRESH IT_POITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   SELECT EBELN        "Purchasing document&lt;/P&gt;&lt;P&gt;          EBELP        "Item Number&lt;/P&gt;&lt;P&gt;          MATNR        "Material number&lt;/P&gt;&lt;P&gt;          BUKRS        "Company code&lt;/P&gt;&lt;P&gt;          WERKS        "Plant&lt;/P&gt;&lt;P&gt;          MATKL        "Material Group&lt;/P&gt;&lt;P&gt;          MENGE        "Order Quantity&lt;/P&gt;&lt;P&gt;          NETPR        "Net Price&lt;/P&gt;&lt;P&gt;          PEINH        "Price unit&lt;/P&gt;&lt;P&gt;          NETWR        "Net Value&lt;/P&gt;&lt;P&gt;       FROM EKPO&lt;/P&gt;&lt;P&gt;       INTO TABLE IT_POITEM&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN IT_BUSINESS&lt;/P&gt;&lt;P&gt;       WHERE EBELN = IT_BUSINESS-EBELN&lt;/P&gt;&lt;P&gt;        AND  EBELP = IT_BUSINESS-EBELP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF NOT IT_POITEM[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR   IT_HISTORY.&lt;/P&gt;&lt;P&gt;   REFRESH IT_HISTORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   SELECT EBELN    "Purchasing document&lt;/P&gt;&lt;P&gt;          EBELP    "Item&lt;/P&gt;&lt;P&gt;          VGABE    "Trans/Event type&lt;/P&gt;&lt;P&gt;          BELNR    "Number of Material Document&lt;/P&gt;&lt;P&gt;          BUZEI    "Item in material Document&lt;/P&gt;&lt;P&gt;          BUDAT    "Posting date&lt;/P&gt;&lt;P&gt;          MENGE    "Quantity&lt;/P&gt;&lt;P&gt;          BEWTP    "Posting history category&lt;/P&gt;&lt;P&gt;        FROM EKBE&lt;/P&gt;&lt;P&gt;        INTO TABLE IT_HISTORY&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN IT_POITEM&lt;/P&gt;&lt;P&gt;        WHERE EBELN = IT_POITEM-EBELN&lt;/P&gt;&lt;P&gt;          AND EBELP = IT_POITEM-EBELP&lt;/P&gt;&lt;P&gt;          AND ( VGABE = '1' OR VGABE = '2' )   "1 = GR , 2 = IR&lt;/P&gt;&lt;P&gt;          AND ( BEWTP =  'Q' OR BEWTP = 'E' ). "Q = GR , R = IR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;     SORT IT_HISTORY BY EBELN EBELP.&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; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_PO_ITEM_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  GET_FILE_PATH&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;      Select file path&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_FILE_PATH .&lt;/P&gt;&lt;P&gt;CLEAR V_FILE.&lt;/P&gt;&lt;P&gt;  MOVE 'p_flname' TO V_FLD.&lt;/P&gt;&lt;P&gt;  MOVE C_FILE TO V_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            PROGRAM_NAME  = SYST-CPROG&lt;/P&gt;&lt;P&gt;            DYNPRO_NUMBER = SYST-DYNNR&lt;/P&gt;&lt;P&gt;            FIELD_NAME    = V_FLD&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            FILE_NAME     = V_FILE&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS        = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE V_FILE TO C_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_FILE_PATH&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  PAGE_HEADER&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;       To Print page header and other details&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 PAGE_HEADER .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Page Header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ULINE AT /1(300).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT COLOR 1.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Run Date:'(005), SY-DATUM, 45 'Stanley Works'(006),&lt;/P&gt;&lt;P&gt;         100 'Page No:'(007), SY-PAGNO LEFT-JUSTIFIED, 298 ''.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Run Time:'(008), SY-UZEIT, 43 SY-TITLE, 100 SY-UNAME, 298 ''.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Source  :'(009), SY-SYSID, 100 SY-CPROG, 298 ''.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;  ULINE AT /1(300).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : / SY-VLINE , (10) 'Purchasing Doc'(010),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (5)  'Item'(011),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (10) 'Created On'(012),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (7)  'Crea By'(013),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (10) 'Material'(014),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (6)  'Com cd'(015),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (5)  'Plant'(016),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (10) 'Mat Group'(017),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (13) 'Order Qty'(018),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (11) 'Net Price'(019),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (10) 'Price Unit'(020),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (13) 'Net Value'(021),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (8)  'Bus Area'(022),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (10) 'Vendor'(023),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (28) 'Vendor Name'(024),&lt;/P&gt;&lt;P&gt;*--IR details&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (10) 'IR-Mat Doc'(025),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (5)  'IR-It'(026),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (9) 'IR-Post dt'(027),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (13) 'IR-Quantity'(028),&lt;/P&gt;&lt;P&gt;*--GR details&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (10) 'GR-Mat Doc'(029),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (5)  'GR-It'(030),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (9) 'GR-Post dt'(031),&lt;/P&gt;&lt;P&gt;            SY-VLINE,  (13) 'GR-Quantity'(032), SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE AT /1(300).&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.                    " PAGE_HEADER&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  SCREEN_VALIDATIONS&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;      Selection screen validations&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 SCREEN_VALIDATIONS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Validation for G/L Account No&lt;/P&gt;&lt;P&gt;IF NOT S_SAKTO IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SAKNR UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           INTO EKKN-SAKTO&lt;/P&gt;&lt;P&gt;           FROM SKA1 WHERE&lt;/P&gt;&lt;P&gt;           SAKNR IN S_SAKTO.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E001(ZZ) with 'Please enter a valid G/L Account no'(048).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Validation for Excel file path&lt;/P&gt;&lt;P&gt; IF P_EXCEL = 'X'.&lt;/P&gt;&lt;P&gt;    IF C_FILE = ' '.&lt;/P&gt;&lt;P&gt;      MESSAGE E001(ZZ) with 'Please enter a valid Excle Path'(035).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SCREEN_VALIDATIONS&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_PODATA&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;      To Display Purchasing Document details&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_PODATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORMAT COLOR 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT IT_FINAL BY EBELN EBELP AEDAT BUKRS WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WRITE : / SY-VLINE ,(10)  IT_FINAL-EBELN,     "Purchasing Doc&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (5)  IT_FINAL-EBELP,     "Item&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (10) IT_FINAL-AEDAT,     "Created On&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (7) IT_FINAL-ERNAM,      "Created By&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (10) IT_FINAL-MATNR,     "Material&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (6) IT_FINAL-BUKRS,      "Company code&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (5)  IT_FINAL-WERKS,     "Plant&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (10) IT_FINAL-MATKL,     "Material Group&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (13) IT_FINAL-MENGE, "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                                                   "Order Qty&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (11) IT_FINAL-NETPR, "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                                                   "Net Price&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (10) IT_FINAL-PEINH, "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                                                   "Price Unit&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (13) IT_FINAL-NETWR, "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                                                    "Net Value&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (8)  IT_FINAL-GSBER,     "Bus Area&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (10) IT_FINAL-LIFNR,     "Vendor&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (28) IT_FINAL-NAME1,     "Vendor name&lt;/P&gt;&lt;P&gt;*--IR details&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (10) IT_FINAL-IR_BELNR,  "IR-Mat Doc&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (5)  IT_FINAL-IR_BUZEI,  "IR-It&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (9) IT_FINAL-IR_BUDAT,   "IR-Post dt&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (13) IT_FINAL-IR_MENGE,  "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                                                    "IR-Quantity&lt;/P&gt;&lt;P&gt;*--GR details&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (10) IT_FINAL-GR_BELNR,  "GR-Mat Doc&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (5)  IT_FINAL-GR_BUZEI,  "GR-It&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (9) IT_FINAL-GR_BUDAT,   "GR-Post dt&lt;/P&gt;&lt;P&gt;               SY-VLINE,  (13) IT_FINAL-GR_MENGE, SY-VLINE.&lt;/P&gt;&lt;P&gt;                                                   "#EC UOM_IN_MES&lt;/P&gt;&lt;P&gt;                                                   "GR-Quantity&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;  FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_PODATA&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  DOWN_LOAD_TO_EXCEL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DOWN_LOAD_TO_EXCEL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-010.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-011.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-012.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'Created By'(036).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-014.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'Company Code'(037).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-016.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'Material Group'(038).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'Order Quantity'(039).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-019.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-020.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-021.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'Business Area'(040).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-023.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-024.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'IR Material Doc'(041).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'IR Item'(042).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'IR Posting Date'(043).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-028.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'GR Material Doc'(044).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'GR Item'(045).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = 'GR Posting Date'(046).&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDNAMES-TEXT = TEXT-032.&lt;/P&gt;&lt;P&gt;  APPEND FIELDNAMES.CLEAR FIELDNAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--FM to download data to Excel sheet&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            FILENAME                = C_FILE&lt;/P&gt;&lt;P&gt;            FILETYPE                = 'DAT'&lt;/P&gt;&lt;P&gt;            TABLES&lt;/P&gt;&lt;P&gt;            DATA_TAB                = IT_FINAL&lt;/P&gt;&lt;P&gt;            FIELDNAMES              = FIELDNAMES&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            FILE_OPEN_ERROR         = 1&lt;/P&gt;&lt;P&gt;            FILE_WRITE_ERROR        = 2&lt;/P&gt;&lt;P&gt;            INVALID_FILESIZE        = 3&lt;/P&gt;&lt;P&gt;            INVALID_TABLE_WIDTH     = 4&lt;/P&gt;&lt;P&gt;            INVALID_TYPE            = 5&lt;/P&gt;&lt;P&gt;            NO_BATCH                = 6&lt;/P&gt;&lt;P&gt;            UNKNOWN_ERROR           = 7&lt;/P&gt;&lt;P&gt;            GUI_REFUSE_FILETRANSFER = 8&lt;/P&gt;&lt;P&gt;            OTHERS                  = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;     MESSAGE E001(ZZ) WITH 'Data could not downloaded'(047).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DOWN_LOAD_TO_EXCEL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_FINAL_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;      To Populate required data in final internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_FINAL_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR   IT_FINAL.&lt;/P&gt;&lt;P&gt;REFRESH IT_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_POITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   CLEAR IT_POHEADER.&lt;/P&gt;&lt;P&gt;   READ TABLE IT_POHEADER WITH KEY EBELN = IT_POITEM-EBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE :  IT_POHEADER-EBELN TO IT_FINAL-EBELN,     "Purchasing Doc&lt;/P&gt;&lt;P&gt;            IT_POITEM-EBELP   TO IT_FINAL-EBELP,     "Item&lt;/P&gt;&lt;P&gt;            IT_POHEADER-AEDAT TO IT_FINAL-AEDAT,     "Created On&lt;/P&gt;&lt;P&gt;            IT_POHEADER-ERNAM TO IT_FINAL-ERNAM,     "Created By&lt;/P&gt;&lt;P&gt;            IT_POITEM-MATNR   TO IT_FINAL-MATNR,     "Material&lt;/P&gt;&lt;P&gt;            IT_POITEM-BUKRS   TO IT_FINAL-BUKRS,     "Company code&lt;/P&gt;&lt;P&gt;            IT_POITEM-WERKS   TO IT_FINAL-WERKS,     "Plant&lt;/P&gt;&lt;P&gt;            IT_POITEM-MATKL   TO IT_FINAL-MATKL,     "Material Group&lt;/P&gt;&lt;P&gt;            IT_POITEM-MENGE   TO IT_FINAL-MENGE,     "Order Qty&lt;/P&gt;&lt;P&gt;            IT_POITEM-NETPR   TO IT_FINAL-NETPR,     "Net Price&lt;/P&gt;&lt;P&gt;            IT_POITEM-PEINH   TO IT_FINAL-PEINH,     "Price Unit&lt;/P&gt;&lt;P&gt;            IT_POITEM-NETWR   TO IT_FINAL-NETWR,     "Net Value&lt;/P&gt;&lt;P&gt;            IT_POHEADER-LIFNR TO IT_FINAL-LIFNR.     "Vendor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To Insert IR details&lt;/P&gt;&lt;P&gt;    CLEAR IT_HISTORY.&lt;/P&gt;&lt;P&gt;    READ TABLE IT_HISTORY WITH KEY EBELN = IT_POITEM-EBELN&lt;/P&gt;&lt;P&gt;                                   EBELP = IT_POITEM-EBELP&lt;/P&gt;&lt;P&gt;                                   VGABE = '2'&lt;/P&gt;&lt;P&gt;                                   BEWTP = 'Q'.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE :&lt;/P&gt;&lt;P&gt;          IT_HISTORY-BELNR TO IT_FINAL-IR_BELNR,  "IR-Number of Mat Doc&lt;/P&gt;&lt;P&gt;          IT_HISTORY-BUZEI TO IT_FINAL-IR_BUZEI,  "IR-Item in mat Doc&lt;/P&gt;&lt;P&gt;          IT_HISTORY-BUDAT TO IT_FINAL-IR_BUDAT,  "IR-Posting date&lt;/P&gt;&lt;P&gt;          IT_HISTORY-BUDAT TO IT_FINAL-IR_MENGE.   "IR-Quantity&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*--To insert GR details&lt;/P&gt;&lt;P&gt;    CLEAR IT_HISTORY.&lt;/P&gt;&lt;P&gt;    READ TABLE IT_HISTORY WITH KEY EBELN = IT_POITEM-EBELN&lt;/P&gt;&lt;P&gt;                                   EBELP = IT_POITEM-EBELP&lt;/P&gt;&lt;P&gt;                                   VGABE = '1'&lt;/P&gt;&lt;P&gt;                                   BEWTP = 'E'.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE :&lt;/P&gt;&lt;P&gt;          IT_HISTORY-BELNR TO IT_FINAL-GR_BELNR,  "IR-Number of Mat Doc&lt;/P&gt;&lt;P&gt;          IT_HISTORY-BUZEI TO IT_FINAL-GR_BUZEI,  "IR-Item in mat Doc&lt;/P&gt;&lt;P&gt;          IT_HISTORY-BUDAT TO IT_FINAL-GR_BUDAT,  "IR-Posting date&lt;/P&gt;&lt;P&gt;          IT_HISTORY-BUDAT TO IT_FINAL-GR_MENGE.  "IR-Quantity&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To insert Vendor details&lt;/P&gt;&lt;P&gt;     CLEAR IT_VENDOR.&lt;/P&gt;&lt;P&gt;     READ TABLE IT_VENDOR WITH KEY LIFNR = IT_POHEADER-LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      MOVE : IT_VENDOR-NAME1 TO IT_FINAL-NAME1.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To insert Business area&lt;/P&gt;&lt;P&gt;     CLEAR IT_BUSINESS.&lt;/P&gt;&lt;P&gt;     READ TABLE IT_BUSINESS WITH KEY EBELN = IT_POITEM-EBELN&lt;/P&gt;&lt;P&gt;                                     EBELP = IT_POITEM-EBELP.&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;       MOVE : IT_BUSINESS-GSBER TO IT_FINAL-GSBER.&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;      APPEND IT_FINAL.&lt;/P&gt;&lt;P&gt;      CLEAR  IT_FINAL.&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;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_FINAL_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Sunil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Oct 2006 08:35:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-for-xls-download/m-p/1695260#M305076</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-25T08:35:42Z</dc:date>
    </item>
  </channel>
</rss>

