<?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: upload program to post the accounting document in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326643#M1030924</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;But have you actually used this program RFBIBL00 and it worked? What file structure to you pass to it? If possible please show me that file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Jul 2010 09:52:19 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2010-07-27T09:52:19Z</dc:date>
    <item>
      <title>upload program to post the accounting document</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326638#M1030919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is an issue with the upload program, posting of Accounting document through FB01 Tcode. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Based on the posting keys the screens come up dynamically. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So we cannot predict like which screen will  be coming up next for a particular input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have 13 posting keys, out of which 11 are working fine but for 2 particular keys it is not coming correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem (posting keys 70,31) with that is when I enter asset as account and press enter it will give one pop up&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which is also dynamic. so it is not taking up the value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So we could not catch it up correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please help us to fix the issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with regards&lt;/P&gt;&lt;P&gt;serma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2008 06:28:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326638#M1030919</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-14T06:28:17Z</dc:date>
    </item>
    <item>
      <title>Re: upload program to post the accounting document</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326639#M1030920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Serma&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is advisable to use BAPIs instead of BDCs for such transactions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use BAPI_ACC_DOCUMENT_POST for posting of Accounting Document. You will find the code online if you search with the BAPI name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards,&lt;/P&gt;&lt;P&gt;Amol Lohade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2008 06:38:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326639#M1030920</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-14T06:38:31Z</dc:date>
    </item>
    <item>
      <title>Re: upload program to post the accounting document</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326640#M1030921</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Use Program RFBIBL00 to upload the Accounting Documents.&lt;/P&gt;&lt;P&gt;This is a standard Program.&lt;/P&gt;&lt;P&gt;If you want Program i wil send u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Bohra.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2008 06:42:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326640#M1030921</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-14T06:42:50Z</dc:date>
    </item>
    <item>
      <title>Re: upload program to post the accounting document</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326641#M1030922</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bohra.&lt;/P&gt;&lt;P&gt;many thanks for your quick response.&lt;/P&gt;&lt;P&gt;if posible plse giv esome more details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with regards&lt;/P&gt;&lt;P&gt;serma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2008 06:55:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326641#M1030922</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-14T06:55:15Z</dc:date>
    </item>
    <item>
      <title>Re: upload program to post the accounting document</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326642#M1030923</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;U have to pass ur file structure to the program. I am sending u sample program to post fi documents. Pls go thru it. if you need any clarifications feel free to ask. I have used this prog to post fi documents.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;copy and paste this program. Hope ur purpose will b solved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code listing for: ZFR003_ADDREVENUE &lt;/P&gt;&lt;P&gt;Description: Revenue Interface for add sales and service fee &lt;/P&gt;&lt;P&gt;________________________________________&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZFR003_ADDREVENUE&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zfr_003_addrevenue MESSAGE-ID fb .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Module Finance&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Objective: Sample program to upload Gl documents                  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              the details are selected from accounting tables&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              bkpf,bseg and upload by submitting program to RFBIBL00 *&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;   Program  : Updates tables ( )    Download data ( )                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              Output Lists   (X)                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Author            : Naveen Bohra                                  *&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;Amendment History                                                    *&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; Who        Change ID       Reason                                   *&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;Data declation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :w_t001 LIKE t001,&lt;/P&gt;&lt;P&gt;      w_gjahr LIKE bkpf-gjahr,&lt;/P&gt;&lt;P&gt;      w_poper LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      BEGIN OF it_input1 OCCURS 0,&lt;/P&gt;&lt;P&gt;      data(1000),&lt;/P&gt;&lt;P&gt;      END OF it_input1,&lt;/P&gt;&lt;P&gt;      separator(1) TYPE c VALUE ',',&lt;/P&gt;&lt;P&gt;      input_line(1000),&lt;/P&gt;&lt;P&gt;      count TYPE i,&lt;/P&gt;&lt;P&gt;      i_lines TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;begin of change +nb13.10.2006&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;occurs 0 is needed explicitly&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        BEGIN OF it_input OCCURS 0,&lt;/P&gt;&lt;P&gt;        ind(1),                    " indicator for feild&lt;/P&gt;&lt;P&gt;        bldat(8),                  " DOC DATE&lt;/P&gt;&lt;P&gt;        blart(2),                  " DOC TYPE&lt;/P&gt;&lt;P&gt;        bukrs(4),                  " COMPANY CODE&lt;/P&gt;&lt;P&gt;        budat(8),                  " POSTING DATE&lt;/P&gt;&lt;P&gt;        waers(5),                  " CURRENCY&lt;/P&gt;&lt;P&gt;        kursf(9),                  " Exchange rate&lt;/P&gt;&lt;P&gt;        xblnr(16),                 " HEADER REF&lt;/P&gt;&lt;P&gt;        bktxt(25),                 " HEADER TXT&lt;/P&gt;&lt;P&gt;        newbs(2),                  " POSTING KEY&lt;/P&gt;&lt;P&gt;        newko(17),                 " ACCOUNT&lt;/P&gt;&lt;P&gt;        newum(1),                  " SPL GL INDICATOR&lt;/P&gt;&lt;P&gt;        wrbtr(13),                 " AMOUNT IN LOCAL CURRENCY&lt;/P&gt;&lt;P&gt;        wmwst(13),                 "Tax amount in document currency&lt;/P&gt;&lt;P&gt;        mwsts(13),                 "Tax Amount in Local Currency&lt;/P&gt;&lt;P&gt;        dmbtr(13),                 " AMOUNT IN FOR CURRENCY&lt;/P&gt;&lt;P&gt;        zterm(4),                  " PAYAMENT TERMS&lt;/P&gt;&lt;P&gt;        zfbdt(10),                 " BASE LINE DATE&lt;/P&gt;&lt;P&gt;        wt_wit(2),                 " WITH TAXCODE&lt;/P&gt;&lt;P&gt;        wt_qs(15),                 " WITH TAXCODE&lt;/P&gt;&lt;P&gt;        wt_qb(15),                 " WITH TAXAMOUNT&lt;/P&gt;&lt;P&gt;        mwskz(2),                  " TAXCODE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       secco(4),                  "section code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        bupla(4),                 " BUSINESS PLACE&lt;/P&gt;&lt;P&gt;        newbk(4),                  " LINE ITEM COMAPNY CODE&lt;/P&gt;&lt;P&gt;        kostl(10),                 " COSTCENTER&lt;/P&gt;&lt;P&gt;        aufnr(12),                 " INTERNAL ORDER&lt;/P&gt;&lt;P&gt;        prctr(10),                 " PROFIT CENTER&lt;/P&gt;&lt;P&gt;        pernr(8),                  " PERSONAL NUMBER&lt;/P&gt;&lt;P&gt;        zuonr(18),                 " ASSIGNMENT&lt;/P&gt;&lt;P&gt;        xref1(12),                                          " REF1&lt;/P&gt;&lt;P&gt;        xref2(12),                                          " REF2&lt;/P&gt;&lt;P&gt;        xref3(20),                                          " REF3&lt;/P&gt;&lt;P&gt;        sgtxt(50),                 " LINE TEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  END OF it_input,&lt;/P&gt;&lt;P&gt;   it_tmp_input LIKE it_input OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   it_input_s LIKE it_input OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : file TYPE string,&lt;/P&gt;&lt;P&gt;       file1 TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : w_path_err(100) TYPE c VALUE '\usr\sap\DEV\interfaces\ERROR\',&lt;/P&gt;&lt;P&gt;       w_path_comp(100) TYPE c VALUE '\usr\sap\DEV\interfaces\COMPLETE\'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;type declaration for validation of errors&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_input_err,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        xblnr(16),                 " HEADER REF&lt;/P&gt;&lt;P&gt;        item_no(4),&lt;/P&gt;&lt;P&gt;        err_text(500),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        END OF ty_input_err.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_input_err TYPE STANDARD TABLE OF ty_input_err,&lt;/P&gt;&lt;P&gt;       wa_input_err LIKE LINE OF it_input_err.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;varabiles used for validations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : w_post TYPE c,&lt;/P&gt;&lt;P&gt;       w_xblnr TYPE bkpf-xblnr,&lt;/P&gt;&lt;P&gt;       w_wrbtr(10) TYPE c,&lt;/P&gt;&lt;P&gt;       w_wrbtr1(10) TYPE c,&lt;/P&gt;&lt;P&gt;       w_wrbtr2(10) TYPE c,&lt;/P&gt;&lt;P&gt;       w_adrnr TYPE ad_addrnum,&lt;/P&gt;&lt;P&gt;       w_kunnr TYPE kunnr,&lt;/P&gt;&lt;P&gt;       w_prev_newko TYPE saknr,&lt;/P&gt;&lt;P&gt;       w_newko(10) TYPE c,&lt;/P&gt;&lt;P&gt;       w_newko1(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;end of change +nb13.10.2006&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;       w_path LIKE rlgrap-filename,&lt;/P&gt;&lt;P&gt;       w_file LIKE rlgrap-filename,&lt;/P&gt;&lt;P&gt;       w_dir LIKE  rlgrap-filename,&lt;/P&gt;&lt;P&gt;       w_dir1 LIKE epsf-epsdirnam,&lt;/P&gt;&lt;P&gt;       w_file1 LIKE  epsf-epsfilnam,&lt;/P&gt;&lt;P&gt;       w_flag TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_file OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE  epsfili.&lt;/P&gt;&lt;P&gt;DATA:  END OF it_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF bdcdata OCCURS 100.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcdata.&lt;/P&gt;&lt;P&gt;DATA: END OF bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_data OCCURS 0,&lt;/P&gt;&lt;P&gt;         f1(3000),&lt;/P&gt;&lt;P&gt;       END OF it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : wa_bgr00 LIKE bgr00,&lt;/P&gt;&lt;P&gt;       wa_bbkpf LIKE bbkpf,&lt;/P&gt;&lt;P&gt;       wa_bbseg LIKE bbseg,&lt;/P&gt;&lt;P&gt;       w_param_1 LIKE  filename-fileintern,&lt;/P&gt;&lt;P&gt;       w_param_2 LIKE  filename-fileintern,&lt;/P&gt;&lt;P&gt;       x_file(500),&lt;/P&gt;&lt;P&gt;       w_move_file LIKE  epsf-epsfilnam,&lt;/P&gt;&lt;P&gt;       w_from_dir  LIKE epsf-epsdirnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;begin of change +nb13.10.2006&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;type declaration for validations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_blart,&lt;/P&gt;&lt;P&gt;        blart TYPE t003-blart,&lt;/P&gt;&lt;P&gt;        END OF ty_blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_xblnr,&lt;/P&gt;&lt;P&gt;        xblnr TYPE bkpf-xblnr,&lt;/P&gt;&lt;P&gt;        END OF ty_xblnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_mwskz,&lt;/P&gt;&lt;P&gt;        mwskz TYPE t007a-mwskz,&lt;/P&gt;&lt;P&gt;        END OF ty_mwskz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_qsskz,&lt;/P&gt;&lt;P&gt;        qsskz TYPE t059q-qsskz,&lt;/P&gt;&lt;P&gt;        END OF ty_qsskz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_zterm,&lt;/P&gt;&lt;P&gt;        zterm TYPE t052-zterm,&lt;/P&gt;&lt;P&gt;        END OF ty_zterm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_bschl,&lt;/P&gt;&lt;P&gt;        bschl TYPE tbsl-bschl,&lt;/P&gt;&lt;P&gt;        END OF ty_bschl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_umskz,&lt;/P&gt;&lt;P&gt;        umskz TYPE t074u-umskz,&lt;/P&gt;&lt;P&gt;        END OF ty_umskz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TYPES : BEGIN OF ty_umskz,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       waers type t074u,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       end of ty_umskz.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_prctr,&lt;/P&gt;&lt;P&gt;        prctr TYPE cepc-prctr,&lt;/P&gt;&lt;P&gt;        END OF ty_prctr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_kostl,&lt;/P&gt;&lt;P&gt;        kostl TYPE csks-kostl,&lt;/P&gt;&lt;P&gt;        END OF ty_kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_branch,&lt;/P&gt;&lt;P&gt;        branch TYPE j_1bbranch-branch,&lt;/P&gt;&lt;P&gt;        END OF ty_branch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_seccode,&lt;/P&gt;&lt;P&gt;        seccode TYPE seccode-seccode,&lt;/P&gt;&lt;P&gt;        END OF ty_seccode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_tbsl,&lt;/P&gt;&lt;P&gt;        bschl TYPE tbsl-bschl,&lt;/P&gt;&lt;P&gt;        shkzg TYPE tbsl-shkzg,&lt;/P&gt;&lt;P&gt;        END OF ty_tbsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_aufnr,&lt;/P&gt;&lt;P&gt;        aufnr TYPE aufk-aufnr,&lt;/P&gt;&lt;P&gt;        END OF ty_aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_pernr,&lt;/P&gt;&lt;P&gt;        pernr TYPE pa0001-pernr,&lt;/P&gt;&lt;P&gt;        END OF ty_pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_ska1,&lt;/P&gt;&lt;P&gt;        saknr TYPE ska1-saknr,&lt;/P&gt;&lt;P&gt;        END OF ty_ska1.&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 table used for validations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_blart TYPE STANDARD TABLE OF ty_blart,&lt;/P&gt;&lt;P&gt;       it_mwskz TYPE STANDARD TABLE OF ty_mwskz,&lt;/P&gt;&lt;P&gt;       it_umskz TYPE STANDARD TABLE OF ty_umskz,&lt;/P&gt;&lt;P&gt;       it_xblnr TYPE STANDARD TABLE OF ty_xblnr,&lt;/P&gt;&lt;P&gt;       it_qsskz TYPE STANDARD TABLE OF ty_qsskz,&lt;/P&gt;&lt;P&gt;       it_zterm TYPE STANDARD TABLE OF ty_zterm,&lt;/P&gt;&lt;P&gt;       it_bschl TYPE STANDARD TABLE OF ty_bschl,&lt;/P&gt;&lt;P&gt;       it_prctr TYPE STANDARD TABLE OF ty_prctr,&lt;/P&gt;&lt;P&gt;       it_kostl TYPE STANDARD TABLE OF ty_kostl,&lt;/P&gt;&lt;P&gt;       it_branch TYPE STANDARD TABLE OF ty_branch,&lt;/P&gt;&lt;P&gt;       it_seccode TYPE STANDARD TABLE OF ty_seccode,&lt;/P&gt;&lt;P&gt;       it_tbsl  TYPE STANDARD TABLE OF ty_tbsl,&lt;/P&gt;&lt;P&gt;       it_aufnr TYPE STANDARD TABLE OF ty_aufnr,&lt;/P&gt;&lt;P&gt;       it_pernr TYPE STANDARD TABLE OF ty_pernr,&lt;/P&gt;&lt;P&gt;       it_ska1 TYPE STANDARD TABLE OF ty_ska1.&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;work area used for validations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : wa_it_tbsl LIKE LINE OF it_tbsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;end of change +nb13.10.2006&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : w_date TYPE sy-datum,&lt;/P&gt;&lt;P&gt;       w_check TYPE c ,&lt;/P&gt;&lt;P&gt;       w_check1 TYPE c,&lt;/P&gt;&lt;P&gt;       w_item_no TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : c_under TYPE c VALUE '_',&lt;/P&gt;&lt;P&gt;            c_ext(4) TYPE c VALUE '.txt',&lt;/P&gt;&lt;P&gt;            c_sf(2) TYPE c VALUE 'SF'.&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;Input file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK inp WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS :&lt;/P&gt;&lt;P&gt;             pr_serv RADIOBUTTON GROUP abc DEFAULT 'X',&lt;/P&gt;&lt;P&gt;            pr_sfile TYPE  filename-fileintern OBLIGATORY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*change&lt;/P&gt;&lt;P&gt;             pr_sfil1 TYPE  filename-fileintern OBLIGATORY,&lt;/P&gt;&lt;P&gt;*endchange&lt;/P&gt;&lt;P&gt;             pr_lok RADIOBUTTON GROUP abc,&lt;/P&gt;&lt;P&gt;           pr_lfile  TYPE filename-fileextern ,&lt;/P&gt;&lt;P&gt;*change&lt;/P&gt;&lt;P&gt;             pr_lfil1  TYPE filename-fileextern .&lt;/P&gt;&lt;P&gt;*endchange&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK inp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--- output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK out WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;PARAMETERS : pr_group LIKE bgr00-group OBLIGATORY DEFAULT '1000CAPSULE',     " batch input structure for sessiondata&lt;/P&gt;&lt;P&gt;             pr_xkeep LIKE bgr00-xkeep DEFAULT 'X' NO-DISPLAY,&lt;/P&gt;&lt;P&gt;             pr_max(4) TYPE n DEFAULT '8000',&lt;/P&gt;&lt;P&gt;             callmode    LIKE rfpdo-rfbifunct ,        " Function for Generating Posting&lt;/P&gt;&lt;P&gt;             pr_nodta LIKE bgr00-nodata DEFAULT '/' NO-DISPLAY,&lt;/P&gt;&lt;P&gt;             pr_out  LIKE rlgrap-filename,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              DEFAULT 'SUBSCRIPTION.txt',&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             pr_err LIKE rlgrap-filename.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              DEFAULT 'SUBSCRIPTION_ERR.txt'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company code and currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK def WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;PARAMETERS : pr_bukrs LIKE t001-bukrs,&lt;/P&gt;&lt;P&gt;             pr_waers LIKE bkpf-waers.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK def.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read file.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Rading the addsales file&lt;/P&gt;&lt;P&gt;PERFORM f001_upload_file_s.&lt;/P&gt;&lt;P&gt;*Reading the addsales service fee.&lt;/P&gt;&lt;P&gt;PERFORM f004_upload_file_sf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Validating the addsales file.&lt;/P&gt;&lt;P&gt;PERFORM f002_validate_s.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Validating the addsales service fee.&lt;/P&gt;&lt;P&gt;PERFORM f005_validate_sf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If the error table is empty then only do the posting otherwise flash a error.&lt;/P&gt;&lt;P&gt;*IF w_check EQ 'X' AND  w_check1 EQ 'X'.&lt;/P&gt;&lt;P&gt;IF w_check EQ 'X'.&lt;/P&gt;&lt;P&gt;*Posting the addsales file&lt;/P&gt;&lt;P&gt;  PERFORM f003_create_doc_s.&lt;/P&gt;&lt;P&gt;*Posting the addsales file&lt;/P&gt;&lt;P&gt;  PERFORM f006_create_doc_sf. "TABLES it_input_s.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;  WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; text-022.&lt;/P&gt;&lt;P&gt;ENDIF.&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  f003_create_doc_s&lt;/P&gt;&lt;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 f003_create_doc_s .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_data[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_bgr00.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT it_input-ind IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM header_record.&lt;/P&gt;&lt;P&gt;      PERFORM item_record.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM item_record.&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;  PERFORM save_on_server.&lt;/P&gt;&lt;P&gt;  PERFORM post_document.&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;-------------- save file on appl. server -----------------&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; perform save_on_server.&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;-------------- call RFBIBL00 -----------------------------&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; perform call_rfbibl00.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    " f003_create_doc_s&lt;/P&gt;&lt;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_record&lt;/P&gt;&lt;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;&lt;/P&gt;&lt;P&gt;FORM header_record.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fill_in_nodata_character CHANGING wa_bbkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_bbkpf-stype = '1'.&lt;/P&gt;&lt;P&gt;  wa_bbkpf-tcode = 'FB01'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check the file is for the valid company code.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE * INTO w_t001 FROM t001&lt;/P&gt;&lt;P&gt;      WHERE bukrs EQ pr_bukrs.&lt;/P&gt;&lt;P&gt;  IF  sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE a899 WITH text-007  pr_bukrs.&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;Determine period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'FI_PERIOD_DETERMINE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_budat        = sy-datum&lt;/P&gt;&lt;P&gt;      i_bukrs        = pr_bukrs&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_gjahr        = w_gjahr&lt;/P&gt;&lt;P&gt;      e_poper        = w_poper&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fiscal_year    = 1&lt;/P&gt;&lt;P&gt;      period         = 2&lt;/P&gt;&lt;P&gt;      period_version = 3&lt;/P&gt;&lt;P&gt;      posting_period = 4&lt;/P&gt;&lt;P&gt;      special_period = 5&lt;/P&gt;&lt;P&gt;      version        = 6&lt;/P&gt;&lt;P&gt;      posting_date   = 7&lt;/P&gt;&lt;P&gt;      OTHERS         = 8.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_bbkpf-bukrs = pr_bukrs.&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 change +nb13.10.2006&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;Document type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT it_input-blart IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-blart = it_input-blart.&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;Document date and Posting date.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_input-budat IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-budat = it_input-budat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-bldat IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-bldat = it_input-bldat.&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;Reference document number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT it_input-xblnr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-xblnr = it_input-xblnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_bbkpf-waers = pr_waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_bbkpf-kursf = it_input-kursf.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT it_input-bktxt IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-bktxt = it_input-bktxt.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_bbkpf TO it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " header_record&lt;/P&gt;&lt;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  item_record&lt;/P&gt;&lt;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 item_record.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill BBSEG  with no data character .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM fill_in_nodata_character CHANGING wa_bbseg.&lt;/P&gt;&lt;P&gt;  wa_bbseg-stype = '2'.&lt;/P&gt;&lt;P&gt;  wa_bbseg-tbnam = 'BBSEG'.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-newbs IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-newbs = it_input-newbs.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-newko IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-newko = it_input-newko.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-newum IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-newum = it_input-newum.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-wrbtr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-wrbtr = it_input-wrbtr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_input-wmwst IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-wmwst = it_input-wmwst.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_input-mwsts IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-mwsts = it_input-mwsts.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_input-dmbtr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-dmbtr = it_input-dmbtr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_input-zterm IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-zterm = it_input-zterm.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-zfbdt IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-zfbdt = it_input-zfbdt.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-wt_wit IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-qsskz = it_input-wt_wit.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-wt_qs IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-qsshb = it_input-wt_qs.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-wt_qb IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-qsfbt = it_input-wt_qb.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-mwskz IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-mwskz = it_input-mwskz.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT it_input-secco IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_bbseg-secco = it_input-secco.&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 it_input-ind IS INITIAL AND NOT it_input-newbk IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-newbk =  it_input-newbk.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_input-kostl IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-kostl = it_input-kostl.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-aufnr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-aufnr = it_input-aufnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-prctr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-prctr = it_input-prctr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-pernr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-pernr = it_input-pernr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-zuonr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-zuonr = it_input-zuonr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-xref1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-xref1 = it_input-xref1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-xref2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-xref2 = it_input-xref2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-xref3 IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-xref3 = it_input-xref3.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input-wrbtr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-sgtxt = it_input-sgtxt.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_bbseg TO it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; end of change +nb&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " item_record&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  post_document&lt;/P&gt;&lt;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 post_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM call_rfbibl00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " post_document&lt;/P&gt;&lt;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  f001_upload_file_s&lt;/P&gt;&lt;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 f001_upload_file_s.&lt;/P&gt;&lt;P&gt;  IF pr_serv = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE sy-datum '_' '*' INTO w_param_1.&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;expenses  input data file from application server&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   w_param_1 = 'SUBS*' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM get_file_name USING pr_sfile w_param_1&lt;/P&gt;&lt;P&gt;                          CHANGING x_file.&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;TO Move file from sever for backup storing the file name and path&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    w_path = x_file.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        full_name     = x_file&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        stripped_name = w_move_file&lt;/P&gt;&lt;P&gt;        file_path     = w_from_dir&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        x_error       = 1&lt;/P&gt;&lt;P&gt;        OTHERS        = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM read_file TABLES it_input&lt;/P&gt;&lt;P&gt;                      USING  x_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    DATA : w_string TYPE string.&lt;/P&gt;&lt;P&gt;    w_string = pr_lfile.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;       filename                      = w_string&lt;/P&gt;&lt;P&gt;       filetype                      = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    HAS_FIELD_SEPARATOR           = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                      = it_input1&lt;/P&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;       file_open_error               = 1&lt;/P&gt;&lt;P&gt;       file_read_error               = 2&lt;/P&gt;&lt;P&gt;       no_batch                      = 3&lt;/P&gt;&lt;P&gt;       gui_refuse_filetransfer       = 4&lt;/P&gt;&lt;P&gt;       invalid_type                  = 5&lt;/P&gt;&lt;P&gt;       no_authority                  = 6&lt;/P&gt;&lt;P&gt;       unknown_error                 = 7&lt;/P&gt;&lt;P&gt;       bad_data_format               = 8&lt;/P&gt;&lt;P&gt;       header_not_allowed            = 9&lt;/P&gt;&lt;P&gt;       separator_not_allowed         = 10&lt;/P&gt;&lt;P&gt;       header_too_long               = 11&lt;/P&gt;&lt;P&gt;       unknown_dp_error              = 12&lt;/P&gt;&lt;P&gt;       access_denied                 = 13&lt;/P&gt;&lt;P&gt;       dp_out_of_memory              = 14&lt;/P&gt;&lt;P&gt;       disk_full                     = 15&lt;/P&gt;&lt;P&gt;       dp_timeout                    = 16&lt;/P&gt;&lt;P&gt;       OTHERS                        = 17&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_input1 INTO input_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: it_input, count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DO.&lt;/P&gt;&lt;P&gt;        ADD 1 TO count.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT count OF STRUCTURE it_input TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          SPLIT input_line AT separator INTO &amp;lt;fs&amp;gt; input_line.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND it_input.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f001_upload_file_s&lt;/P&gt;&lt;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  bdc_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;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  bdc_dynpro&lt;/P&gt;&lt;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_0956   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0957   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING    program dynpro.&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  bdcdata-program  = program.&lt;/P&gt;&lt;P&gt;  bdcdata-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_dynpro&lt;/P&gt;&lt;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  bdc_field&lt;/P&gt;&lt;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_0961   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0962   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 bdc_field USING   fnam fval.&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;  bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;  IF bdcdata-fval NE space.&lt;/P&gt;&lt;P&gt;    APPEND bdcdata.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_field&lt;/P&gt;&lt;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  bdc_items&lt;/P&gt;&lt;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;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fill_in_nodata_character&lt;/P&gt;&lt;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;lt;--P_WA_BBKPF  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 fill_in_nodata_character CHANGING p_struc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;nodata_field&amp;gt;.&lt;/P&gt;&lt;P&gt;  DATA: num TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    ADD 1 TO num.&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT num OF STRUCTURE p_struc TO &amp;lt;nodata_field&amp;gt;.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      &amp;lt;nodata_field&amp;gt; = pr_nodta.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fill_in_nodata_character&lt;/P&gt;&lt;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  bdc_bgr00&lt;/P&gt;&lt;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 bdc_bgr00.&lt;/P&gt;&lt;P&gt;  PERFORM fill_in_nodata_character CHANGING wa_bgr00.&lt;/P&gt;&lt;P&gt;  wa_bgr00-stype = '0'.&lt;/P&gt;&lt;P&gt;  wa_bgr00-group = pr_group.&lt;/P&gt;&lt;P&gt;  wa_bgr00-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;  wa_bgr00-usnam = sy-uname.&lt;/P&gt;&lt;P&gt;  wa_bgr00-start = sy-datum.&lt;/P&gt;&lt;P&gt;  wa_bgr00-xkeep = pr_xkeep.&lt;/P&gt;&lt;P&gt;  APPEND wa_bgr00 TO it_data.&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    " bdc_bgr00&lt;/P&gt;&lt;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  save_on_server&lt;/P&gt;&lt;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 save_on_server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE sy-datum TO w_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE w_path_comp pr_out c_under w_date c_ext INTO pr_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET pr_out FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  LOOP AT it_data.&lt;/P&gt;&lt;P&gt;    TRANSFER it_data TO pr_out.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE i001(mg) WITH pr_out.  " error writing to sequential file&lt;/P&gt;&lt;P&gt;      MESSAGE a099(mg).             " processing terminated&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET pr_out .&lt;/P&gt;&lt;P&gt;  FREE it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " save_on_server&lt;/P&gt;&lt;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  call_rfbibl00&lt;/P&gt;&lt;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 call_rfbibl00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Submit file after mapping the data to RFBIBL00&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;P&gt;  SUBMIT rfbibl00 WITH ds_name = pr_out&lt;/P&gt;&lt;P&gt;                   WITH callmode = callmode&lt;/P&gt;&lt;P&gt;                   WITH xlog = 'X'&lt;/P&gt;&lt;P&gt;                   WITH max_comm = pr_max&lt;/P&gt;&lt;P&gt;                   WITH pa_xprot = 'X'&lt;/P&gt;&lt;P&gt;                   AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_rfbibl00&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_file_name&lt;/P&gt;&lt;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_SFILE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_W_PARAM_1  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_file_name USING    p_sfile&lt;/P&gt;&lt;P&gt;                            w_param_1&lt;/P&gt;&lt;P&gt;                            CHANGING x_file.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'FILE_GET_NAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      client           = sy-mandt&lt;/P&gt;&lt;P&gt;      logical_filename = p_sfile&lt;/P&gt;&lt;P&gt;      parameter_1      = w_param_1&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      file_name        = x_file&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_not_found   = 1&lt;/P&gt;&lt;P&gt;      OTHERS           = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  w_path = x_file.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      full_name     = w_path&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      stripped_name = w_file&lt;/P&gt;&lt;P&gt;      file_path     = w_dir&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      x_error       = 1&lt;/P&gt;&lt;P&gt;      OTHERS        = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  w_dir1 = w_dir.&lt;/P&gt;&lt;P&gt;  w_file1 = w_file.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      dir_name               = w_dir1&lt;/P&gt;&lt;P&gt;      file_mask              = w_file1&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      dir_list               = it_file&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      invalid_eps_subdir     = 1&lt;/P&gt;&lt;P&gt;      sapgparam_failed       = 2&lt;/P&gt;&lt;P&gt;      build_directory_failed = 3&lt;/P&gt;&lt;P&gt;      no_authorization       = 4&lt;/P&gt;&lt;P&gt;      read_directory_failed  = 5&lt;/P&gt;&lt;P&gt;      too_many_read_errors   = 6&lt;/P&gt;&lt;P&gt;      empty_directory_list   = 7&lt;/P&gt;&lt;P&gt;      OTHERS                 = 8.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE : / text-006.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT it_file WHERE name CP w_file1.&lt;/P&gt;&lt;P&gt;    IF w_flag IS INITIAL.&lt;/P&gt;&lt;P&gt;      CONCATENATE w_dir it_file-name INTO x_file.&lt;/P&gt;&lt;P&gt;      CONDENSE  x_file.&lt;/P&gt;&lt;P&gt;      w_flag = 1.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_file_name&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  read_file&lt;/P&gt;&lt;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_X_FILE  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM read_file  TABLES it_tab&lt;/P&gt;&lt;P&gt;                USING  x_file.&lt;/P&gt;&lt;P&gt;  OPEN DATASET x_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE : / text-006.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      READ DATASET x_file INTO input_line.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CLEAR: it_input, count.&lt;/P&gt;&lt;P&gt;        DO.&lt;/P&gt;&lt;P&gt;          ADD 1 TO count.&lt;/P&gt;&lt;P&gt;          ASSIGN COMPONENT count OF STRUCTURE it_tab TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            SPLIT input_line AT separator INTO &amp;lt;fs&amp;gt; input_line.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDDO.&lt;/P&gt;&lt;P&gt;        APPEND it_tab.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET x_file.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " read_file&lt;/P&gt;&lt;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  f002_validate_s&lt;/P&gt;&lt;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  f002_validate_s .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT blart&lt;/P&gt;&lt;P&gt;  FROM t003&lt;/P&gt;&lt;P&gt;  INTO TABLE it_blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR  it_blart.&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;  SELECT saknr&lt;/P&gt;&lt;P&gt;  FROM ska1&lt;/P&gt;&lt;P&gt;  INTO TABLE it_ska1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_ska1.&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;  SELECT mwskz&lt;/P&gt;&lt;P&gt;  FROM t007a&lt;/P&gt;&lt;P&gt;  INTO TABLE it_mwskz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR  it_mwskz.&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;  SELECT qsskz&lt;/P&gt;&lt;P&gt;  FROM t059q&lt;/P&gt;&lt;P&gt;  INTO TABLE it_qsskz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR  it_qsskz.&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;  SELECT zterm&lt;/P&gt;&lt;P&gt;  FROM t052&lt;/P&gt;&lt;P&gt;  INTO TABLE it_zterm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR  it_zterm.&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;  SELECT bschl&lt;/P&gt;&lt;P&gt;  FROM tbsl&lt;/P&gt;&lt;P&gt;  INTO TABLE it_bschl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR  it_bschl.&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;  SELECT umskz&lt;/P&gt;&lt;P&gt;  FROM t074u&lt;/P&gt;&lt;P&gt;  INTO TABLE it_umskz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR  it_umskz.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT xblnr&lt;/P&gt;&lt;P&gt;  FROM bkpf&lt;/P&gt;&lt;P&gt;  INTO TABLE it_xblnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_xblnr.&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;  SELECT prctr&lt;/P&gt;&lt;P&gt;  FROM cepc&lt;/P&gt;&lt;P&gt;  INTO TABLE it_prctr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_prctr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT kostl&lt;/P&gt;&lt;P&gt;  FROM csks&lt;/P&gt;&lt;P&gt;  INTO TABLE it_kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_kostl.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT branch&lt;/P&gt;&lt;P&gt;  FROM j_1bbranch&lt;/P&gt;&lt;P&gt;  INTO TABLE it_branch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_branch.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT seccode&lt;/P&gt;&lt;P&gt;  FROM seccode&lt;/P&gt;&lt;P&gt;  INTO TABLE it_seccode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_seccode.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT bschl shkzg&lt;/P&gt;&lt;P&gt;  FROM tbsl&lt;/P&gt;&lt;P&gt;  INTO TABLE it_tbsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_tbsl.&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;  SELECT aufnr&lt;/P&gt;&lt;P&gt;  FROM aufk&lt;/P&gt;&lt;P&gt;  INTO TABLE it_aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_aufnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT pernr&lt;/P&gt;&lt;P&gt;   FROM pa0001&lt;/P&gt;&lt;P&gt;   INTO TABLE it_pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR it_pernr.&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;  LOOP AT it_input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : wa_input_err,w_check.&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;   AT NEW xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR w_item_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDAT.&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;   AT NEW xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR w_wrbtr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDAT.&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;   w_wrbtr = w_wrbtr + it_input-wrbtr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*checking the whether record is a header record or not.&lt;/P&gt;&lt;P&gt;    IF NOT it_input-ind IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR w_item_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*keeping the track of item number for error record.&lt;/P&gt;&lt;P&gt;      w_item_no = w_item_no + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Checking the total amount in line item eq 0 or not.&lt;/P&gt;&lt;P&gt;      IF w_wrbtr NE 0.&lt;/P&gt;&lt;P&gt;        MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;        CONCATENATE wa_input_err-err_text text-019 INTO wa_input_err-err_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;        APPEND wa_input_err TO it_input_err.&lt;/P&gt;&lt;P&gt;        CLEAR : wa_input_err.&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;      CLEAR : w_xblnr,w_wrbtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Checking whether the record already posted or not.&lt;/P&gt;&lt;P&gt;      READ TABLE it_xblnr&lt;/P&gt;&lt;P&gt;      WITH KEY xblnr = it_input-xblnr&lt;/P&gt;&lt;P&gt;      TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If record is already posted then al the line items related to that header are moved to&lt;/P&gt;&lt;P&gt;*the error directory saying that record already posted.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE it_input-xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;        MOVE it_input-xblnr TO w_xblnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE text-020 TO  wa_input_err-err_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND wa_input_err TO it_input_err.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Setting the flag for keeping the track of the posted items.&lt;/P&gt;&lt;P&gt;        MOVE 'X' TO w_post.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Skipping the current record as it is already posted so no validation is done for that record.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If the record is not posted then all the vaidation will be done and depending existanse in check table&lt;/P&gt;&lt;P&gt;*corresponding enrty is moved to the error table.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR w_post.&lt;/P&gt;&lt;P&gt;        MOVE it_input-xblnr TO w_xblnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_input-blart IS INITIAL.&lt;/P&gt;&lt;P&gt;          READ TABLE it_blart&lt;/P&gt;&lt;P&gt;          WITH KEY blart = it_input-blart&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            MOVE text-021 TO wa_input_err-err_text.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF pr_bukrs NE it_input-bukrs.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-008 INTO wa_input_err-err_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF pr_waers NE it_input-waers.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-009 INTO wa_input_err-err_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_input-mwskz IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_mwskz&lt;/P&gt;&lt;P&gt;          WITH KEY mwskz = it_input-mwskz&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-010 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input-wt_wit IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_qsskz&lt;/P&gt;&lt;P&gt;          WITH KEY qsskz = it_input-wt_wit&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-011 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input-zterm IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_zterm&lt;/P&gt;&lt;P&gt;          WITH KEY zterm = it_input-zterm&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-012 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input-newbs IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_bschl&lt;/P&gt;&lt;P&gt;          WITH KEY bschl = it_input-newbs&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-013 INTO wa_input_err-err_text SEPARATED BY space.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF NOT it_input-newko IS INITIAL.&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;         READ TABLE it_ska1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY saknr = it_input-newko&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 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;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text text-023 INTO wa_input_err-err_text.&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;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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Here in this file when posting key is 01 which will come in header-item that is in 1st line&lt;/P&gt;&lt;P&gt;*For this there is no G/L account number but the code from the samba&lt;/P&gt;&lt;P&gt;*So based on this code in samba select the customer account from SAP and pass this value to G/L account.&lt;/P&gt;&lt;P&gt;        IF NOT it_input-newko IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF  w_prev_newko EQ it_input-newko.&lt;/P&gt;&lt;P&gt;*If the previous samba acc code is same as new one then dont calculate customer acc code&lt;/P&gt;&lt;P&gt;*As we obtained previously in w_kunnr field.&lt;/P&gt;&lt;P&gt;*So just pass the kunnr field to the internal table and do the modification.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            it_input-newko = w_kunnr.&lt;/P&gt;&lt;P&gt;            MODIFY it_input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*But if samba code is a new one then then obtained the corresponding SAP customer account.&lt;/P&gt;&lt;P&gt;            CLEAR : w_kunnr,w_adrnr.&lt;/P&gt;&lt;P&gt;            CLEAR w_prev_newko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            SELECT SINGLE addrnumber&lt;/P&gt;&lt;P&gt;            FROM adrct&lt;/P&gt;&lt;P&gt;            INTO w_adrnr&lt;/P&gt;&lt;P&gt;            WHERE remark EQ it_input-newko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;              SELECT SINGLE kunnr&lt;/P&gt;&lt;P&gt;              FROM kna1&lt;/P&gt;&lt;P&gt;              INTO w_kunnr&lt;/P&gt;&lt;P&gt;              WHERE adrnr EQ w_adrnr.&lt;/P&gt;&lt;P&gt;              IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;                CLEAR w_kunnr.&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;            it_input-newko = w_kunnr.&lt;/P&gt;&lt;P&gt;            MODIFY it_input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE it_input-newko TO w_prev_newko.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_input-newum IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_umskz&lt;/P&gt;&lt;P&gt;          WITH KEY umskz = it_input-newum&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-014 INTO wa_input_err-err_text SEPARATED BY space.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_input-prctr IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              input  = it_input-prctr&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              output = it_input-prctr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_prctr&lt;/P&gt;&lt;P&gt;          WITH KEY prctr = it_input-prctr&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-018 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input-kostl IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_kostl&lt;/P&gt;&lt;P&gt;          WITH KEY kostl = it_input-kostl&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-015 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input-bupla IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_branch&lt;/P&gt;&lt;P&gt;          WITH KEY branch = it_input-bupla&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text 'invalid bupla' INTO wa_input_err-err_text SEPARATED BY space.&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;        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;       IF NOT it_input-aufnr IS INITIAL.&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;         READ TABLE it_aufnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY aufnr = it_input-aufnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text 'invalid aufnr' INTO wa_input_err-err_text SEPARATED BY space.&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;       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;P&gt;        IF NOT it_input-pernr IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              input  = it_input-pernr&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              output = it_input-pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_pernr&lt;/P&gt;&lt;P&gt;          WITH KEY  pernr = it_input-pernr&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text 'invalid pernr' INTO wa_input_err-err_text SEPARATED BY space.&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;        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;       IF NOT it_input-secco IS INITIAL.&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;         READ TABLE it_seccode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY seccode = it_input-secco&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text text-016 INTO wa_input_err-err_text SEPARATED BY space.&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;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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Checking the debit credit indicator for the line item amount.&lt;/P&gt;&lt;P&gt;*if the indicator is credit then amount is multiplied with -1.&lt;/P&gt;&lt;P&gt;*if the indicator is debit then positive amount is retained.&lt;/P&gt;&lt;P&gt;        READ TABLE it_tbsl INTO wa_it_tbsl&lt;/P&gt;&lt;P&gt;        WITH KEY bschl = it_input-newbs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          IF wa_it_tbsl-shkzg EQ 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE it_input-wrbtr TO w_wrbtr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE it_input-dmbtr TO w_wrbtr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            w_wrbtr2 =   it_input-wrbtr * -1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           w_wrbtr2 =   it_input-dmbtr * -1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            MOVE w_wrbtr2  TO w_wrbtr.&lt;/P&gt;&lt;P&gt;&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;        w_wrbtr = w_wrbtr - it_input-wmwst.&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;*Finally after performing all the validations if the error table is not empty&lt;/P&gt;&lt;P&gt;*then only move the work area content to the internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT wa_input_err IS INITIAL.&lt;/P&gt;&lt;P&gt;        APPEND wa_input_err TO it_input_err.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If the record is not the header record then check whether post flag is initial or not.&lt;/P&gt;&lt;P&gt;*Means it is a item record and it is not posted in the SAP&lt;/P&gt;&lt;P&gt;*So for such entry do all the validations on the item level.&lt;/P&gt;&lt;P&gt;    ELSEIF w_post IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*keeping the track of item number for error record.&lt;/P&gt;&lt;P&gt;      w_item_no = w_item_no + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_input-mwskz IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_mwskz&lt;/P&gt;&lt;P&gt;      WITH KEY mwskz = it_input-mwskz&lt;/P&gt;&lt;P&gt;      TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-010 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input-wt_wit IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_qsskz&lt;/P&gt;&lt;P&gt;        WITH KEY qsskz = it_input-wt_wit&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-011 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input-zterm IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_zterm&lt;/P&gt;&lt;P&gt;        WITH KEY zterm = it_input-zterm&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-012 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input-newbs IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_bschl&lt;/P&gt;&lt;P&gt;        WITH KEY bschl = it_input-newbs&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-013 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input-newum IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_umskz&lt;/P&gt;&lt;P&gt;        WITH KEY umskz = it_input-newum&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-014 INTO wa_input_err-err_text SEPARATED BY space.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_input-prctr IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            input  = it_input-prctr&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            output = it_input-prctr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_prctr&lt;/P&gt;&lt;P&gt;        WITH KEY prctr = it_input-prctr&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-018 INTO wa_input_err-err_text SEPARATED BY space.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_input-kostl IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            input  = it_input-kostl&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            output = it_input-kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_kostl&lt;/P&gt;&lt;P&gt;        WITH KEY kostl = it_input-kostl&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-015 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input-bupla IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_branch&lt;/P&gt;&lt;P&gt;        WITH KEY branch = it_input-bupla&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text 'invalid bupla' INTO wa_input_err-err_text SEPARATED BY space.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_input-newko IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE it_input-newko TO w_newko.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            input  = w_newko&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            output = w_newko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_ska1&lt;/P&gt;&lt;P&gt;        WITH KEY saknr = w_newko&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-023 INTO wa_input_err-err_text.&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;&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;       IF NOT it_input-aufnr IS INITIAL.&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;         READ TABLE it_aufnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY aufnr = it_input-aufnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text 'invalid aufnr' INTO wa_input_err-err_text SEPARATED BY space.&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;       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;P&gt;      IF NOT it_input-pernr IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            input  = it_input-pernr&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            output = it_input-pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_pernr&lt;/P&gt;&lt;P&gt;        WITH KEY  pernr = it_input-pernr&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text 'invalid pernr' INTO wa_input_err-err_text SEPARATED BY space.&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;      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;     IF NOT it_input-secco IS INITIAL.&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;       READ TABLE it_seccode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WITH KEY seccode = it_input-secco&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONCATENATE wa_input_err-err_text text-016 INTO wa_input_err-err_text SEPARATED BY space.&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;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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Checking the debit credit indicator for the line item amount.&lt;/P&gt;&lt;P&gt;*if the indicator is credit then amount is multiplied with -1.&lt;/P&gt;&lt;P&gt;*if the indicator is debit then positive amount is retained.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_tbsl INTO wa_it_tbsl&lt;/P&gt;&lt;P&gt;      WITH KEY bschl = it_input-newbs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        CLEAR w_wrbtr1.&lt;/P&gt;&lt;P&gt;        IF wa_it_tbsl-shkzg EQ 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE it_input-wrbtr TO w_wrbtr1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MOVE it_input-dmbtr TO w_wrbtr1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          w_wrbtr2 = it_input-wrbtr * -1 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         w_wrbtr2 = it_input-dmbtr * -1 .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          MOVE   w_wrbtr2 TO w_wrbtr1.&lt;/P&gt;&lt;P&gt;&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;*Adding the all the item amount.&lt;/P&gt;&lt;P&gt;      w_wrbtr = w_wrbtr + w_wrbtr1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Finally after performing all the validations if the error table is not empty&lt;/P&gt;&lt;P&gt;*then only move the work area content to the internal table.&lt;/P&gt;&lt;P&gt;      IF NOT wa_input_err IS INITIAL.&lt;/P&gt;&lt;P&gt;        APPEND wa_input_err TO it_input_err.&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;*Finally if the record is not header record and post flag is also set for that&lt;/P&gt;&lt;P&gt;*corresponding header record then skip the current record.&lt;/P&gt;&lt;P&gt;*Means skipping the items which are alredy posted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONTINUE.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF w_post EQ 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   IF it_input-ind IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MOVE 'record already posted' TO  wa_input_err-err_text.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONTINUE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*After all the validation for the all the record in the file if error table filled&lt;/P&gt;&lt;P&gt;*then move the error table to the error file on the server in the ERROR directory.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_err IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE sy-datum TO w_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE w_path_err pr_err c_under w_date c_ext INTO file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    OPEN DATASET file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_input_err INTO wa_input_err.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TRANSFER wa_input_err TO file.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        MESSAGE i001(mg) WITH file.  " error writing to sequential file&lt;/P&gt;&lt;P&gt;        MESSAGE a099(mg).             " processing terminated&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;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLOSE DATASET file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If error table is empty then flag is set.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE 'X' TO w_check.&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.                    " f002_validate_s&lt;/P&gt;&lt;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  f004_upload_file_sf&lt;/P&gt;&lt;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 f004_upload_file_sf .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF pr_serv = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE sy-datum '_' '*' INTO w_param_2.&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;expenses  input data file from application server&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   w_param_1 = 'SUBS*' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM get_file_name_sf USING pr_sfil1 w_param_2&lt;/P&gt;&lt;P&gt;                          CHANGING x_file.&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;TO Move file from sever for backup storing the file name and path&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    w_path = x_file.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        full_name     = x_file&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        stripped_name = w_move_file&lt;/P&gt;&lt;P&gt;        file_path     = w_from_dir&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        x_error       = 1&lt;/P&gt;&lt;P&gt;        OTHERS        = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM read_file TABLES it_input_s&lt;/P&gt;&lt;P&gt;                      USING  x_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : it_input1.&lt;/P&gt;&lt;P&gt;    DATA : w_string TYPE string.&lt;/P&gt;&lt;P&gt;    w_string = pr_lfil1.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;       filename                      = w_string&lt;/P&gt;&lt;P&gt;       filetype                      = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    HAS_FIELD_SEPARATOR           = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab                      = it_input1&lt;/P&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;       file_open_error               = 1&lt;/P&gt;&lt;P&gt;       file_read_error               = 2&lt;/P&gt;&lt;P&gt;       no_batch                      = 3&lt;/P&gt;&lt;P&gt;       gui_refuse_filetransfer       = 4&lt;/P&gt;&lt;P&gt;       invalid_type                  = 5&lt;/P&gt;&lt;P&gt;       no_authority                  = 6&lt;/P&gt;&lt;P&gt;       unknown_error                 = 7&lt;/P&gt;&lt;P&gt;       bad_data_format               = 8&lt;/P&gt;&lt;P&gt;       header_not_allowed            = 9&lt;/P&gt;&lt;P&gt;       separator_not_allowed         = 10&lt;/P&gt;&lt;P&gt;       header_too_long               = 11&lt;/P&gt;&lt;P&gt;       unknown_dp_error              = 12&lt;/P&gt;&lt;P&gt;       access_denied                 = 13&lt;/P&gt;&lt;P&gt;       dp_out_of_memory              = 14&lt;/P&gt;&lt;P&gt;       disk_full                     = 15&lt;/P&gt;&lt;P&gt;       dp_timeout                    = 16&lt;/P&gt;&lt;P&gt;       OTHERS                        = 17&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_input1 INTO input_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: it_input, count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DO.&lt;/P&gt;&lt;P&gt;        ADD 1 TO count.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT count OF STRUCTURE it_input_s TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          SPLIT input_line AT separator INTO &amp;lt;fs&amp;gt; input_line.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND it_input_s.&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;  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.                    " f004_upload_file_sf&lt;/P&gt;&lt;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  f005_validate_sf&lt;/P&gt;&lt;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 f005_validate_sf .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR :it_input_err.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_input_s.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : wa_input_err,w_check1.&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;   AT NEW xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR w_item_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDAT.&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;   AT NEW xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR w_wrbtr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDAT.&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;   w_wrbtr = w_wrbtr + it_input_s-wrbtr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*checking the whether record is a header record or not.&lt;/P&gt;&lt;P&gt;    IF NOT it_input_s-ind IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR w_item_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*keeping the track of item number for error record.&lt;/P&gt;&lt;P&gt;      w_item_no = w_item_no + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Checking the total amount in line item eq 0 or not.&lt;/P&gt;&lt;P&gt;      IF w_wrbtr NE 0.&lt;/P&gt;&lt;P&gt;        MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;        CONCATENATE wa_input_err-err_text text-019 INTO wa_input_err-err_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;        APPEND wa_input_err TO it_input_err.&lt;/P&gt;&lt;P&gt;        CLEAR : wa_input_err.&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;      CLEAR : w_xblnr,w_wrbtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Checking whether the record already posted or not.&lt;/P&gt;&lt;P&gt;      READ TABLE it_xblnr&lt;/P&gt;&lt;P&gt;      WITH KEY xblnr = it_input_s-xblnr&lt;/P&gt;&lt;P&gt;      TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If record is already posted then al the line items related to that header are moved to&lt;/P&gt;&lt;P&gt;*the error directory saying that record already posted.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE it_input_s-xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;        MOVE it_input_s-xblnr TO w_xblnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE text-020 TO  wa_input_err-err_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND wa_input_err TO it_input_err.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Setting the flag for keeping the track of the posted items.&lt;/P&gt;&lt;P&gt;        MOVE 'X' TO w_post.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Skipping the current record as it is already posted so no validation is done for that record.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If the record is not posted then all the vaidation will be done and depending existanse in check table&lt;/P&gt;&lt;P&gt;*corresponding enrty is moved to the error table.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR w_post.&lt;/P&gt;&lt;P&gt;        MOVE it_input_s-xblnr TO w_xblnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_input_s-blart IS INITIAL.&lt;/P&gt;&lt;P&gt;          READ TABLE it_blart&lt;/P&gt;&lt;P&gt;          WITH KEY blart = it_input_s-blart&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            MOVE text-021 TO wa_input_err-err_text.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF pr_bukrs NE it_input_s-bukrs.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-008 INTO wa_input_err-err_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF pr_waers NE it_input_s-waers.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-009 INTO wa_input_err-err_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_input_s-mwskz IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_mwskz&lt;/P&gt;&lt;P&gt;          WITH KEY mwskz = it_input_s-mwskz&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-010 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input_s-wt_wit IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_qsskz&lt;/P&gt;&lt;P&gt;          WITH KEY qsskz = it_input_s-wt_wit&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-011 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input_s-zterm IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_zterm&lt;/P&gt;&lt;P&gt;          WITH KEY zterm = it_input_s-zterm&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-012 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input_s-newbs IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_bschl&lt;/P&gt;&lt;P&gt;          WITH KEY bschl = it_input_s-newbs&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-013 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input_s-newum IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_umskz&lt;/P&gt;&lt;P&gt;          WITH KEY umskz = it_input_s-newum&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-014 INTO wa_input_err-err_text SEPARATED BY space.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT it_input_s-prctr IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              input  = it_input_s-prctr&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              output = it_input_s-prctr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_prctr&lt;/P&gt;&lt;P&gt;          WITH KEY prctr = it_input_s-prctr&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-018 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input_s-kostl IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              input  = it_input_s-kostl&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              output = it_input_s-kostl.&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;          READ TABLE it_kostl&lt;/P&gt;&lt;P&gt;          WITH KEY kostl = it_input_s-kostl&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text text-015 INTO wa_input_err-err_text SEPARATED BY space.&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;        IF NOT it_input_s-bupla IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE it_branch&lt;/P&gt;&lt;P&gt;          WITH KEY branch = it_input_s-bupla&lt;/P&gt;&lt;P&gt;          TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;            CONCATENATE wa_input_err-err_text 'invalid bupla' INTO wa_input_err-err_text SEPARATED BY space.&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;        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;       IF NOT it_input_s-newko IS INITIAL.&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;         READ TABLE it_ska1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY saknr = it_input_s-newko&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 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;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text text-023 INTO wa_input_err-err_text.&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;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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF NOT it_input_s-aufnr IS INITIAL.&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;         READ TABLE it_aufnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY aufnr = it_input_s-aufnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text 'invalid aufnr' INTO wa_input_err-err_text SEPARATED BY space.&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;       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;       IF NOT it_input_s-pernr IS INITIAL.&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;         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             input  = it_input-pernr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             output = it_input-pernr.&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;         READ TABLE it_pernr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY  pernr = it_input_s-pernr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text 'invalid pernr' INTO wa_input_err-err_text SEPARATED BY space.&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;       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;       IF NOT it_input_s-secco IS INITIAL.&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;         READ TABLE it_seccode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY seccode = it_input_s-secco&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text text-016 INTO wa_input_err-err_text SEPARATED BY space.&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;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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Checking the debit credit indicator for the line item amount.&lt;/P&gt;&lt;P&gt;*if the indicator is credit then amount is multiplied with -1.&lt;/P&gt;&lt;P&gt;*if the indicator is debit then positive amount is retained.&lt;/P&gt;&lt;P&gt;        READ TABLE it_tbsl INTO wa_it_tbsl&lt;/P&gt;&lt;P&gt;        WITH KEY bschl = it_input_s-newbs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          IF wa_it_tbsl-shkzg EQ 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE it_input_s-wrbtr TO w_wrbtr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE it_input_s-dmbtr TO w_wrbtr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            w_wrbtr2 =   it_input_s-wrbtr * -1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           w_wrbtr2 =   it_input_s-dmbtr * -1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE w_wrbtr2  TO w_wrbtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Finally after performing all the validations if the error table is not empty&lt;/P&gt;&lt;P&gt;*then only move the work area content to the internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT wa_input_err IS INITIAL.&lt;/P&gt;&lt;P&gt;        APPEND wa_input_err TO it_input_err.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If the record is not the header record then check whether post flag is initial or not.&lt;/P&gt;&lt;P&gt;*Means it is a item record and it is not posted in the SAP&lt;/P&gt;&lt;P&gt;*So for such entry do all the validations on the item level.&lt;/P&gt;&lt;P&gt;    ELSEIF w_post IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*keeping the track of item number for error record.&lt;/P&gt;&lt;P&gt;      w_item_no = w_item_no + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_input_s-mwskz IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_mwskz&lt;/P&gt;&lt;P&gt;      WITH KEY mwskz = it_input_s-mwskz&lt;/P&gt;&lt;P&gt;      TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-010 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input_s-wt_wit IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_qsskz&lt;/P&gt;&lt;P&gt;        WITH KEY qsskz = it_input_s-wt_wit&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-011 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input_s-zterm IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_zterm&lt;/P&gt;&lt;P&gt;        WITH KEY zterm = it_input_s-zterm&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-012 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input_s-newbs IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_bschl&lt;/P&gt;&lt;P&gt;        WITH KEY bschl = it_input_s-newbs&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-013 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input_s-newum IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_umskz&lt;/P&gt;&lt;P&gt;        WITH KEY umskz = it_input_s-newum&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-014 INTO wa_input_err-err_text SEPARATED BY space.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_input_s-prctr IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            input  = it_input_s-prctr&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            output = it_input_s-prctr.&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;        READ TABLE it_prctr&lt;/P&gt;&lt;P&gt;        WITH KEY prctr = it_input_s-prctr&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-018 INTO wa_input_err-err_text SEPARATED BY space.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_input_s-kostl IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            input  = it_input_s-kostl&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            output = it_input_s-kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_kostl&lt;/P&gt;&lt;P&gt;        WITH KEY kostl = it_input_s-kostl&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-015 INTO wa_input_err-err_text SEPARATED BY space.&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;      IF NOT it_input_s-bupla IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_branch&lt;/P&gt;&lt;P&gt;        WITH KEY branch = it_input_s-bupla&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text 'invalid bupla' INTO wa_input_err-err_text SEPARATED BY space.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT it_input_s-newko IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE it_input_s-newko TO w_newko1.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            input  = w_newko1&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            output = w_newko1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_ska1&lt;/P&gt;&lt;P&gt;        WITH KEY saknr = w_newko1&lt;/P&gt;&lt;P&gt;        TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;P&gt;          CONCATENATE wa_input_err-err_text text-023 INTO wa_input_err-err_text.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF NOT it_input_s-aufnr IS INITIAL.&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;         READ TABLE it_aufnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY aufnr = it_input_s-aufnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONCATENATE wa_input_err-err_text 'invalid aufnr' INTO wa_input_err-err_text SEPARATED BY space.&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;       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;     IF NOT it_input_s-pernr IS INITIAL.&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;       CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           input  = it_input-pernr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           output = it_input-pernr.&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;       READ TABLE it_pernr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WITH KEY  pernr = it_input_s-pernr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONCATENATE wa_input_err-err_text 'invalid pernr' INTO wa_input_err-err_text SEPARATED BY space.&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;     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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF NOT it_input_s-secco IS INITIAL.&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;       READ TABLE it_seccode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WITH KEY seccode = it_input_s-secco&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       TRANSPORTING NO FIELDS.&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 NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MOVE w_item_no TO wa_input_err-item_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONCATENATE wa_input_err-err_text text-016 INTO wa_input_err-err_text SEPARATED BY space.&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;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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Checking the debit credit indicator for the line item amount.&lt;/P&gt;&lt;P&gt;*if the indicator is credit then amount is multiplied with -1.&lt;/P&gt;&lt;P&gt;*if the indicator is debit then positive amount is retained.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_tbsl INTO wa_it_tbsl&lt;/P&gt;&lt;P&gt;      WITH KEY bschl = it_input_s-newbs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        CLEAR w_wrbtr1.&lt;/P&gt;&lt;P&gt;        IF wa_it_tbsl-shkzg EQ 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE it_input_s-wrbtr TO w_wrbtr1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MOVE it_input_s-dmbtr TO w_wrbtr1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          w_wrbtr2 = it_input_s-wrbtr * -1 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         w_wrbtr2 = it_input_s-dmbtr * -1 .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE   w_wrbtr2 TO w_wrbtr1.&lt;/P&gt;&lt;P&gt;&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;*Adding the all the item amount.&lt;/P&gt;&lt;P&gt;      w_wrbtr = w_wrbtr + w_wrbtr1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Finally after performing all the validations if the error table is not empty&lt;/P&gt;&lt;P&gt;*then only move the work area content to the internal table.&lt;/P&gt;&lt;P&gt;      IF NOT wa_input_err IS INITIAL.&lt;/P&gt;&lt;P&gt;        APPEND wa_input_err TO it_input_err.&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;*Finally if the record is not header record and post flag is also set for that&lt;/P&gt;&lt;P&gt;*corresponding header record then skip the current record.&lt;/P&gt;&lt;P&gt;*Means skipping the items which are alredy posted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONTINUE.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF w_post EQ 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   IF it_input-ind IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MOVE w_xblnr TO wa_input_err-xblnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MOVE 'record already posted' TO  wa_input_err-err_text.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONTINUE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*After all the validation for the all the record in the file if error table filled&lt;/P&gt;&lt;P&gt;*then move the error table to the error file on the server in the ERROR directory.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_err IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE sy-datum TO w_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE w_path_err pr_err c_under c_sf c_under w_date c_ext INTO file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    OPEN DATASET file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_input_err INTO wa_input_err.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TRANSFER wa_input_err TO file.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        MESSAGE i001(mg) WITH file.  " error writing to sequential file&lt;/P&gt;&lt;P&gt;        MESSAGE a099(mg).             " processing terminated&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;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLOSE DATASET file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If error table is empty then flag is set.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE 'X' TO w_check1.&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.                    " f005_validate_sf&lt;/P&gt;&lt;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  f006_create_doc_sf&lt;/P&gt;&lt;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 f006_create_doc_sf .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR it_data.&lt;/P&gt;&lt;P&gt;  REFRESH it_data.&lt;/P&gt;&lt;P&gt;  LOOP AT it_input_s.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_data[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_bgr00.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT it_input_s-ind IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM header_record_sf.&lt;/P&gt;&lt;P&gt;      PERFORM item_record_sf.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM item_record_sf.&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;  PERFORM save_on_server1.&lt;/P&gt;&lt;P&gt;  PERFORM post_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f006_create_doc_sf&lt;/P&gt;&lt;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_record_sf&lt;/P&gt;&lt;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 header_record_sf .&lt;/P&gt;&lt;P&gt;  PERFORM fill_in_nodata_character CHANGING wa_bbkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_bbkpf-stype = '1'.&lt;/P&gt;&lt;P&gt;  wa_bbkpf-tcode = 'FB01'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check the file is for the valid company code.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE * INTO w_t001 FROM t001&lt;/P&gt;&lt;P&gt;      WHERE bukrs EQ pr_bukrs.&lt;/P&gt;&lt;P&gt;  IF  sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE a899 WITH text-007  pr_bukrs.&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;Determine period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'FI_PERIOD_DETERMINE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_budat        = sy-datum&lt;/P&gt;&lt;P&gt;      i_bukrs        = pr_bukrs&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_gjahr        = w_gjahr&lt;/P&gt;&lt;P&gt;      e_poper        = w_poper&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fiscal_year    = 1&lt;/P&gt;&lt;P&gt;      period         = 2&lt;/P&gt;&lt;P&gt;      period_version = 3&lt;/P&gt;&lt;P&gt;      posting_period = 4&lt;/P&gt;&lt;P&gt;      special_period = 5&lt;/P&gt;&lt;P&gt;      version        = 6&lt;/P&gt;&lt;P&gt;      posting_date   = 7&lt;/P&gt;&lt;P&gt;      OTHERS         = 8.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_bbkpf-bukrs = pr_bukrs.&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 change +nb13.10.2006&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;Document type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT it_input_s-blart IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-blart = it_input_s-blart.&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;Document date and Posting date.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-budat IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-budat = it_input_s-budat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-bldat IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-bldat = it_input_s-bldat.&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;Reference document number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT it_input_s-xblnr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-xblnr = it_input_s-xblnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_bbkpf-waers = pr_waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_bbkpf-kursf = it_input-kursf.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT it_input_s-bktxt IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbkpf-bktxt = it_input_s-bktxt.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_bbkpf TO it_data.&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.                    " header_record_sf&lt;/P&gt;&lt;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  item_record_sf&lt;/P&gt;&lt;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 item_record_sf .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill BBSEG  with no data character .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM fill_in_nodata_character CHANGING wa_bbseg.&lt;/P&gt;&lt;P&gt;  wa_bbseg-stype = '2'.&lt;/P&gt;&lt;P&gt;  wa_bbseg-tbnam = 'BBSEG'.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-newbs IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-newbs = it_input_s-newbs.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-newko IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-newko = it_input_s-newko.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-newum IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-newum = it_input_s-newum.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-wrbtr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-wrbtr = it_input_s-wrbtr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*if not it_input_s-dmbtr is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_bbseg-dmbtr = it_input_s-dmbtr.&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;  IF NOT it_input_s-zterm IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-zterm = it_input_s-zterm.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-zfbdt IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-zfbdt = it_input_s-zfbdt.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-wt_wit IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-qsskz = it_input_s-wt_wit.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-wt_qs IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-qsshb = it_input_s-wt_qs.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-wt_qb IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-qsfbt = it_input_s-wt_qb.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-mwskz IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-mwskz = it_input_s-mwskz.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT it_input_s-secco IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_bbseg-secco = it_input_s-secco.&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 it_input_s-ind IS INITIAL AND NOT it_input_s-newbk IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-newbk =  it_input_s-newbk.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-kostl IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-kostl = it_input_s-kostl.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-aufnr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-aufnr = it_input_s-aufnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-prctr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-prctr = it_input_s-prctr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-pernr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-pernr = it_input_s-pernr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-zuonr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-zuonr = it_input_s-zuonr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-xref1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-xref1 = it_input_s-xref1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-xref2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-xref2 = it_input_s-xref2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-xref3 IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-xref3 = it_input_s-xref3.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_input_s-wrbtr IS INITIAL.&lt;/P&gt;&lt;P&gt;    wa_bbseg-sgtxt = it_input_s-sgtxt.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_bbseg TO it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; end of change +nb&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " item_record_sf&lt;/P&gt;&lt;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  save_on_server1&lt;/P&gt;&lt;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 save_on_server1 .&lt;/P&gt;&lt;P&gt;  MOVE sy-datum TO w_date.&lt;/P&gt;&lt;P&gt;  CLEAR pr_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE w_path_comp pr_out c_under w_date c_sf c_ext INTO pr_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET pr_out FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  LOOP AT it_data.&lt;/P&gt;&lt;P&gt;    TRANSFER it_data TO pr_out.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE i001(mg) WITH pr_out.  " error writing to sequential file&lt;/P&gt;&lt;P&gt;      MESSAGE a099(mg).             " processing terminated&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET pr_out.&lt;/P&gt;&lt;P&gt;  FREE it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " save_on_server1&lt;/P&gt;&lt;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_name_sf&lt;/P&gt;&lt;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_PR_SFIL1  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_W_PARAM_2  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_X_FILE  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_file_name_sf  USING    p_sfil1&lt;/P&gt;&lt;P&gt;                                w_param_2&lt;/P&gt;&lt;P&gt;                       CHANGING x_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR w_flag.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'FILE_GET_NAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      client           = sy-mandt&lt;/P&gt;&lt;P&gt;      logical_filename = p_sfil1&lt;/P&gt;&lt;P&gt;      parameter_1      = w_param_2&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      file_name        = x_file&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_not_found   = 1&lt;/P&gt;&lt;P&gt;      OTHERS           = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  w_path = x_file.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      full_name     = w_path&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      stripped_name = w_file&lt;/P&gt;&lt;P&gt;      file_path     = w_dir&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      x_error       = 1&lt;/P&gt;&lt;P&gt;      OTHERS        = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  w_dir1 = w_dir.&lt;/P&gt;&lt;P&gt;  w_file1 = w_file.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      dir_name               = w_dir1&lt;/P&gt;&lt;P&gt;      file_mask              = w_file1&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      dir_list               = it_file&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      invalid_eps_subdir     = 1&lt;/P&gt;&lt;P&gt;      sapgparam_failed       = 2&lt;/P&gt;&lt;P&gt;      build_directory_failed = 3&lt;/P&gt;&lt;P&gt;      no_authorization       = 4&lt;/P&gt;&lt;P&gt;      read_directory_failed  = 5&lt;/P&gt;&lt;P&gt;      too_many_read_errors   = 6&lt;/P&gt;&lt;P&gt;      empty_directory_list   = 7&lt;/P&gt;&lt;P&gt;      OTHERS                 = 8.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE : / text-006.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT it_file WHERE name CP w_file1.&lt;/P&gt;&lt;P&gt;    IF w_flag IS INITIAL.&lt;/P&gt;&lt;P&gt;      CONCATENATE w_dir it_file-name INTO x_file.&lt;/P&gt;&lt;P&gt;      CONDENSE  x_file.&lt;/P&gt;&lt;P&gt;      w_flag = 1.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_file_name_sf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Text elements&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;001 Input file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;002 Output&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;003 Document does not contains items&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;004 Input file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;005 Company code data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;006 Session details&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;007 Company code does not exist&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;008 Invalid Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;009 Invalid Currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;010 Invalid Tax Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;011 Invalid With-holding Tax Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;012 Invalid Payment terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;013 Incorrect Posting key&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;014 Invalid Spl Gl Indicator&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;015 Invalid Cost Center&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;016 Invalid Section Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;017 Invalid Business Place&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;018 Invalid Profit Center&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;019 Invalid Amount In Items&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;020 Record Already Posted&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;021 Invalid Document Type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;022 There are Errors in File. Check Error Directory For List of Errors&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;023 Invalid GL Account number&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 texts&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALLMODE         Data transfer type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_BUKRS         Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_ERR         Error file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_GROUP         Session name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_LFIL1         Local service fee file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_LFILE         Local ad revenue file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_LOK         Local&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_MAX         No. of docs per commit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_OUT         Output file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_SERV         Server&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_SFIL1         Ad revenue service fee file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_SFILE         Ad revenue invoice file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PR_WAERS         Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Messages&lt;/P&gt;&lt;P&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;Message class: FB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*899   &amp;amp; &amp;amp; &amp;amp; &amp;amp;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Message class: MG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*001   Error writing to sequential file &amp;amp;&lt;/P&gt;&lt;P&gt;*099   Processing terminated&lt;/P&gt;&lt;P&gt;________________________________________&lt;/P&gt;&lt;P&gt;w. 1998-2005 UK. Sap Release 640&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Bohra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2008 07:45:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326642#M1030923</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-14T07:45:44Z</dc:date>
    </item>
    <item>
      <title>Re: upload program to post the accounting document</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326643#M1030924</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;But have you actually used this program RFBIBL00 and it worked? What file structure to you pass to it? If possible please show me that file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Jul 2010 09:52:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326643#M1030924</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-27T09:52:19Z</dc:date>
    </item>
    <item>
      <title>Re: upload program to post the accounting document</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326644#M1030925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This message was moderated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jul 2015 09:48:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-program-to-post-the-accounting-document/m-p/4326644#M1030925</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-07-28T09:48:39Z</dc:date>
    </item>
  </channel>
</rss>

