<?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: Error during upload in BDC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538743#M1072298</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;My selection screen as below...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_MODE(1)  TYPE C DEFAULT 'N'.    &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this the problem. i have read it in net, this is due to some buffering context (E buffer) problem...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please suggest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 30 Sep 2008 08:57:57 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-09-30T08:57:57Z</dc:date>
    <item>
      <title>Error during upload in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538741#M1072296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am doing an upload in BDC by using Call transaction in synchronous update mode.&lt;/P&gt;&lt;P&gt;I am getting an error as 'No update server found for context :E:'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The same thing when  i run it Quality, i am not getting the error. only in Prod i am getting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anybody help on this to identify what is the cause?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 07:54:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538741#M1072296</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T07:54:35Z</dc:date>
    </item>
    <item>
      <title>Re: Error during upload in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538742#M1072297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think Ur mode declaration is not proper ..then only that problem will come.If u r run In Error mode u have hotcoded in selection screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Exc:&lt;/P&gt;&lt;P&gt;ELECTION-SCREEN BEGIN OF BLOCK ONE WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:         P_FNAME TYPE RLGRAP-FILENAME DEFAULT '*.txt' OBLIGATORY,&lt;/P&gt;&lt;P&gt;                     P_BUKRS TYPE T001-BUKRS OBLIGATORY,&lt;/P&gt;&lt;P&gt;                    P_SGSART TYPE VTBFHA-SGSART OBLIGATORY,&lt;/P&gt;&lt;P&gt;                    P_SFHART TYPE VTBFHA-SFHAART OBLIGATORY,&lt;/P&gt;&lt;P&gt;                    P_KONTRH TYPE VTBFHA-KONTRH OBLIGATORY,&lt;/P&gt;&lt;P&gt;                    P_MODE LIKE CTU_PARAMS-DISMODE OBLIGATORY DEFAULT 'E'.&lt;/P&gt;&lt;P&gt;"A: show all dynpros&lt;/P&gt;&lt;P&gt;"E: show dynpro on error only&lt;/P&gt;&lt;P&gt;"N: do not display dynpro&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK ONE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'TX01' USING T_BDCDATA&lt;/P&gt;&lt;P&gt;                                      MODE   P_MODE&lt;/P&gt;&lt;P&gt;                                      UPDATE 'S'&lt;/P&gt;&lt;P&gt;                                      MESSAGES INTO LT_BDCMSG.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 08:28:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538742#M1072297</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T08:28:36Z</dc:date>
    </item>
    <item>
      <title>Re: Error during upload in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538743#M1072298</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;My selection screen as below...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_MODE(1)  TYPE C DEFAULT 'N'.    &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this the problem. i have read it in net, this is due to some buffering context (E buffer) problem...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please suggest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 08:57:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538743#M1072298</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T08:57:57Z</dc:date>
    </item>
    <item>
      <title>Re: Error during upload in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538744#M1072299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Otherwise u chk ur Error lock...R u declare ur BDC structure.&lt;/P&gt;&lt;P&gt; Can u send ur program.....&lt;/P&gt;&lt;P&gt;u declare like that and chk...&lt;/P&gt;&lt;P&gt;P_MODE LIKE CTU_PARAMS-DISMODE OBLIGATORY DEFAULT 'E'.&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;Prabu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Prabu Kannappan on Sep 30, 2008 11:02 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 09:01:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538744#M1072299</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T09:01:26Z</dc:date>
    </item>
    <item>
      <title>Re: Error during upload in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538745#M1072300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please fidn the code...main thing, i will not be able to test it as it only occuring in PROD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZFB0002A LINE-SIZE 132&lt;/P&gt;&lt;P&gt;                LINE-COUNT 65&lt;/P&gt;&lt;P&gt;          NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;          MESSAGE-ID Z.&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; Table statements.                                                   *&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;TABLES: T042I,                         " Bank account. DEVK902693&lt;/P&gt;&lt;P&gt;        T100,                          " Messages             DEVK902795&lt;/P&gt;&lt;P&gt;        BNKA.                          " Bank data&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; Data statements.                                                    *&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;DATA: BEGIN OF I_HEADER,               " header record of the input&lt;/P&gt;&lt;P&gt;         RECTYPE(1)  TYPE C,           " Record Type 1&lt;/P&gt;&lt;P&gt;         DATETIM(12) TYPE C,           " file time stamp DDMMYYYYHHMM&lt;/P&gt;&lt;P&gt;      END OF I_HEADER.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------" /&gt; Internal Table -&lt;HR originaltext="---------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_DATA OCCURS 0,&lt;/P&gt;&lt;P&gt;         RECTYPE(1) TYPE C,            " Record Type 2&lt;/P&gt;&lt;P&gt;         BUKRS(4)   TYPE C,            " Company Code&lt;/P&gt;&lt;P&gt;         GSBER(2)   TYPE C,            " Business Area&lt;/P&gt;&lt;P&gt;         NEWKO(6)   TYPE C,            " G/L acct nbr&lt;/P&gt;&lt;P&gt;         COSTCTR(5) TYPE C,            " Cost centre&lt;/P&gt;&lt;P&gt;         PAYIN(1)   TYPE C,            " PAYMENT INDICATOR&lt;/P&gt;&lt;P&gt;         RTYPE(1)   TYPE C,            " Refund type C/R      DEVK903664&lt;/P&gt;&lt;P&gt;         KUNNR(12)  TYPE C,            " CAS CUST NUMBER&lt;/P&gt;&lt;P&gt;         CHQNR(6)   TYPE C,            " cheque nbr for normal cheques&lt;/P&gt;&lt;P&gt;         NAME1(37)  TYPE C,            " CUSTOMER NAME&lt;/P&gt;&lt;P&gt;         ADDR1(37)  TYPE C,            " ADDRESS 1&lt;/P&gt;&lt;P&gt;         ADDR2(37)  TYPE C,            " ADDRESS 2&lt;/P&gt;&lt;P&gt;         ADDR3(37)  TYPE C,            " ADDRESS 3          " DEVK903446&lt;/P&gt;&lt;P&gt;         CONTY(30)  TYPE C,            " COUNTY&lt;/P&gt;&lt;P&gt;         POSTC(8)   TYPE C,            " POSTCODE&lt;/P&gt;&lt;P&gt;         REASON(2)  TYPE C,            " CAS refund reason code&lt;/P&gt;&lt;P&gt;         NARRAT(30) TYPE C,            " Narrative CAS refund reason&lt;/P&gt;&lt;P&gt;         RADDR1(37) TYPE C,            " refund addr1&lt;/P&gt;&lt;P&gt;         RADDR2(37) TYPE C,            " refund addr2&lt;/P&gt;&lt;P&gt;         RADDR3(30) TYPE C,            " refund addr3       " DEVK903446&lt;/P&gt;&lt;P&gt;         RCONTY(30) TYPE C,            " refund COUNTY&lt;/P&gt;&lt;P&gt;         RPOSTC(8)  TYPE C,            " refund POSTCODE&lt;/P&gt;&lt;P&gt;         BANKI(6)   TYPE C,            " customer's BANK SORT CODE&lt;/P&gt;&lt;P&gt;         BANKA(8)   TYPE C,            " customer's BANK ACCT NBR&lt;/P&gt;&lt;P&gt;         SIGN(1)    TYPE C,            " Sign - or +&lt;/P&gt;&lt;P&gt;         WRBTR(16)  TYPE C,            " Amount&lt;/P&gt;&lt;P&gt;         NEWBS(2)   TYPE C,            " Posting Key (40 if contra&lt;/P&gt;&lt;P&gt;                                       "              31 if payment)&lt;/P&gt;&lt;P&gt;         POSTNE(2)  TYPE C,            " Posting key for next item.&lt;/P&gt;&lt;P&gt;         POSTAC(8)  TYPE C,            " Account code for next item&lt;/P&gt;&lt;P&gt;         WRBTR1(10) TYPE C,            " Amount FOR NEXT ITEM&lt;/P&gt;&lt;P&gt;         BLDAT LIKE SY-DATUM ,         " Document Date.&lt;/P&gt;&lt;P&gt;         BUDAT LIKE BKPF-BUDAT,        " Posting Date&lt;/P&gt;&lt;P&gt;         MONAT(2)   TYPE C,            " FISCAL Period&lt;/P&gt;&lt;P&gt;         GJAHR(4)   TYPE C,            " CURRENT FISCAL YEAR&lt;/P&gt;&lt;P&gt;         WAERS(5)   TYPE C             " Currency&lt;/P&gt;&lt;P&gt;                         VALUE 'GBP',  "   default GBP&lt;/P&gt;&lt;P&gt;         DOCN(10)   TYPE C,            " Document number after F-43&lt;/P&gt;&lt;P&gt;         DOCN2(10)  TYPE C,            " Document number after F-53&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       docn3(10)  type c,            " Document number after FCH5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         ERR(1)     TYPE C,            " record error flag&lt;/P&gt;&lt;P&gt;         MESSAGE(80) TYPE C,           " Error message        DEVK902795&lt;/P&gt;&lt;P&gt;      END OF I_DATA.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_FOOTER,               " FOOTER record of the input&lt;/P&gt;&lt;P&gt;         RECTYPE(1)  TYPE C,           " Record Type 9&lt;/P&gt;&lt;P&gt;         DATETIM(12) TYPE C,           " file time stamp DDMMYYYYHHMM&lt;/P&gt;&lt;P&gt;         RECCNT(12)  TYPE C,           " Record count on interface file&lt;/P&gt;&lt;P&gt;         TOTLAMT(17) TYPE C,           " total pound value on all recs.&lt;/P&gt;&lt;P&gt;      END OF I_FOOTER.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF W_DATA.                 " allows access of the previousy&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE I_DATA.      " read record&lt;/P&gt;&lt;P&gt;DATA: END OF W_DATA.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_ERRORID OCCURS 0.     " This holds and controls the&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCMSGCOLL.  " system messages&lt;/P&gt;&lt;P&gt;DATA: END OF I_ERRORID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data: begin of i_error occurs 0.       " This is the error table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        include structure i_data.      " file record&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data:   text(50) type c.               " error message text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        include structure bdcmsgcoll.  " system messages&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data: end of i_error.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; Main table: data + bdcmsg + error text (not utilized yet)&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;DATA: BEGIN OF M_TBL      OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE I_DATA.      " file record&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCMSGCOLL.  " BDC system messages&lt;/P&gt;&lt;P&gt;DATA:   TEXT(50) TYPE C.               " error message text&lt;/P&gt;&lt;P&gt;DATA: END OF M_TBL.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_DATE ,                " Allows formatting of Date&lt;/P&gt;&lt;P&gt;        YEAR(4) TYPE C,&lt;/P&gt;&lt;P&gt;        MTH(2)  TYPE C,&lt;/P&gt;&lt;P&gt;        DAY(2)  TYPE C,&lt;/P&gt;&lt;P&gt;      END OF I_DATE.&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; DATA CONSATNTS -&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : C_YES           TYPE C  VALUE 'X',     " Default for yes&lt;/P&gt;&lt;P&gt;       C_F43(4)        TYPE C  VALUE 'F-43',  " Transaction Code F-43&lt;/P&gt;&lt;P&gt;       C_F53(4)        TYPE C  VALUE 'F-53',  " Transaction Code F-53&lt;/P&gt;&lt;P&gt;       C_FCH5(4)       TYPE C  VALUE 'FCH5',  " Transaction Code FCH5&lt;/P&gt;&lt;P&gt;       C_DCWW(4)       TYPE C  VALUE 'DCWW',  " Company DCWW DEVK902693&lt;/P&gt;&lt;P&gt;       C_CCY(3)        TYPE C  VALUE 'GBP',   " Currency key&lt;/P&gt;&lt;P&gt;       C_GB(2)         TYPE C  VALUE 'GB',    " BANK COUNTRY&lt;/P&gt;&lt;P&gt;       C_BLART(2)      TYPE C  VALUE 'IZ',    " DOCUMENT TYPE&lt;/P&gt;&lt;P&gt;       C_MWSKZ(2)      TYPE C  VALUE 'VZ',    " TAX CODE    " DEVK903446&lt;/P&gt;&lt;P&gt;       C_COMMA         TYPE C  VALUE ',',     " CONSTANT COMMA&lt;/P&gt;&lt;P&gt;       C_NUMBER(10)    TYPE C  VALUE '0123456789', " NUMBERS&lt;/P&gt;&lt;P&gt;       C_TERM(4)       TYPE C  VALUE '0001',   " PAYMENT TERMS&lt;/P&gt;&lt;P&gt;       C_M             TYPE C  VALUE 'M',      " MANUAL Cheque pmt. ind.&lt;/P&gt;&lt;P&gt;       C_ERROR(9)      TYPE C  VALUE '*&lt;STRONG&gt;Error&lt;/STRONG&gt;*',&lt;/P&gt;&lt;P&gt;       ERROR           TYPE C  VALUE 'E'.     " error indicator&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------" /&gt; Working Feilds -&lt;HR originaltext="------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:                                  " W_LINES          TYPE I,&lt;/P&gt;&lt;P&gt;      W_TX(4)          TYPE C  VALUE SPACE,   " tx code for tx call&lt;/P&gt;&lt;P&gt;      LAST_RECORD_FLAG TYPE C  VALUE SPACE,   " Last record flag&lt;/P&gt;&lt;P&gt;      W_DATUM(8)       TYPE C,         " Date ddmmyyyy.&lt;/P&gt;&lt;P&gt;      W_WRTBR(7)       TYPE P DECIMALS 2,     " Amount 99.99&lt;/P&gt;&lt;P&gt;      W_WRTBR_T(7)     TYPE P DECIMALS 2,     " total file amt 99.99&lt;/P&gt;&lt;P&gt;      W_COUNT(5)       TYPE C,         " POSTING Counter&lt;/P&gt;&lt;P&gt;       W_MSG(500)      TYPE C,         " Message&lt;/P&gt;&lt;P&gt;      W_C500(500)      TYPE C,         " working storage&lt;/P&gt;&lt;P&gt;      W_ERR(50)        TYPE C,         " REC HEADER NOT VALID  T???&lt;/P&gt;&lt;P&gt;      W_ERROREC(50)    TYPE C,         " Error numbers&lt;/P&gt;&lt;P&gt;      W_LEN            TYPE I,         " doc number length&lt;/P&gt;&lt;P&gt;      W_BACS        LIKE BSEG-WRBTR,   " Amount of BACS&lt;/P&gt;&lt;P&gt;      W_CHEQUE      LIKE BSEG-WRBTR,   " Amount of CHEQUE&lt;/P&gt;&lt;P&gt;      W_MANUAL      LIKE BSEG-WRBTR,   " Amount of MANUAL CHEQUE&lt;/P&gt;&lt;P&gt;      W_NOTPST      LIKE BSEG-WRBTR,   " not posted&lt;/P&gt;&lt;P&gt;      W_FILE        LIKE FILENAME-FILEINTERN,       " FILE NAME&lt;/P&gt;&lt;P&gt;      P_FILE        LIKE FILENAME-FILEINTERN,       " FILE NAME&lt;/P&gt;&lt;P&gt;      W_BANKACC(16) TYPE C,            " Bank G/L Account DEVK902693&lt;/P&gt;&lt;P&gt;      W_COUNTER     TYPE I,            " rec type2 counter&lt;/P&gt;&lt;P&gt;      W_DATA_PAYIN(1)    TYPE C,       " Payment type         DEVK904440&lt;/P&gt;&lt;P&gt;*{   REPLACE        RD3K903672                                        1&lt;/P&gt;&lt;P&gt;*\    W_REFUND_COMP_FLAG(1) TYPE C VALUE 'R',               " DEVK903724&lt;/P&gt;&lt;P&gt;      W_REFUND_COMP_FLAG(1) TYPE C,                "DEVK903724&lt;/P&gt;&lt;P&gt;*}   REPLACE&lt;/P&gt;&lt;P&gt;      W_BACS_2 LIKE BSEG-WRBTR,        " DEVK903724&lt;/P&gt;&lt;P&gt;      W_CHQS_2 LIKE BSEG-WRBTR,        " DEVK903724&lt;/P&gt;&lt;P&gt;      W_MANS_2 LIKE BSEG-WRBTR,        " DEVK903724&lt;/P&gt;&lt;P&gt;      W_NOTPST_2 LIKE BSEG-WRBTR,      " DEVK903724&lt;/P&gt;&lt;P&gt;      W_COUNT_BACS TYPE I,             " DEVK903724&lt;/P&gt;&lt;P&gt;      W_COUNT_CHQS TYPE I,             " DEVK903724&lt;/P&gt;&lt;P&gt;      W_COUNT_MANS TYPE I,             " DEVK903724&lt;/P&gt;&lt;P&gt;      W_COUNT_NOTPST TYPE I,           " DEVK903724&lt;/P&gt;&lt;P&gt;      W_COUNT_BACS_TOTAL TYPE I,       " DEVK903724&lt;/P&gt;&lt;P&gt;      W_COUNT_CHQS_TOTAL TYPE I,       " DEVK903724&lt;/P&gt;&lt;P&gt;      W_COUNT_MANS_TOTAL TYPE I,       " DEVK903724&lt;/P&gt;&lt;P&gt;      W_COUNT_NOTPST_TOTAL TYPE I.     " DEVK903724&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;Selection screen definition (Parameters &amp;amp; Select-options etc...)     *&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;SELECTION-SCREEN: BEGIN OF BLOCK PART1 " Selection screen Title&lt;/P&gt;&lt;P&gt;                  WITH FRAME TITLE TEXT-003.    " with box.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_MODE(1)  TYPE C          " Call Trans Mode.&lt;/P&gt;&lt;P&gt;                       DEFAULT 'N'.    " Available modes :&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     " 'A' = Display ALL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     " 'E' = Displays Errors&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     " 'N' = No Display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK PART1.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Standard includes - standard includes after this point*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;INCLUDE ZBDCINCL.                      " BDC file population macros&lt;/P&gt;&lt;P&gt;INCLUDE ZSTAHEAD.                      " standard headings&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;AT Selection-Screen event&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  This validates the dataset is able to be processed                 *&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;AT SELECTION-SCREEN ON P_MODE.&lt;/P&gt;&lt;P&gt;  MOVE 'ZFB0002A01' TO W_FILE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF P_MODE IS INITIAL.                " If Transaction Process selected&lt;/P&gt;&lt;P&gt;    MESSAGE E026.                      " MODE TYPE obligatory&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.                   " ON P_FILE.&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;Initialization event                                                 *&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;INITIALIZATION.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  MOVE SY-DATUM TO I_DATE.&lt;/P&gt;&lt;P&gt;  CONCATENATE I_DATE-DAY I_DATE-MTH I_DATE-YEAR INTO W_DATUM.&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;Start of selection event                                             *&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM OPEN_DATASET.                " DEVK902394&lt;/P&gt;&lt;P&gt;  PERFORM READ_DATASET.                " Read data into internal tbl&lt;/P&gt;&lt;P&gt;  PERFORM FOOTER_AUDIT.                " postings vs. footer amt.&lt;/P&gt;&lt;P&gt;  PERFORM SORT_RECORDS.                " by pmt. ind. &amp;amp; chq. nbr.&lt;/P&gt;&lt;P&gt;  PERFORM GET_BANK_ACC.                " Reads table T042I DEVK902693&lt;/P&gt;&lt;P&gt;  PERFORM GEN_BDC_DATA.                " Create batch input data&lt;/P&gt;&lt;P&gt;  PERFORM CHECK_BANK_DETAILS.          " Check bank details   DEVK903373&lt;/P&gt;&lt;P&gt;  PERFORM PROCESS_POSTINGS.            " Calls the screens&lt;/P&gt;&lt;P&gt;  PERFORM PROCESS_ERRORS.              " Prints out the error reports.&lt;/P&gt;&lt;P&gt;  PERFORM CLOSE_DATASET.               " Closes the dataset.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Forms - All forms and only forms in this section, excl. std. includes*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM  READ_DATASET&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;Assumes file sorted by record type in ascending order !!!&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_DATASET.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM READ_HEADER.                 " 1st rec must be hdr rec, typ1&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  W_COUNTER = 0.                       " record type 2 counter&lt;/P&gt;&lt;P&gt;  DO.                                  " Loop at dataset&lt;/P&gt;&lt;P&gt;    IF LAST_RECORD_FLAG = C_YES.       " Exit if last record has&lt;/P&gt;&lt;P&gt;      EXIT.                            " Been read&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    READ DATASET P_FILE INTO I_DATA.   " Read Records of dataset&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;      WHEN 0.                          " Dataset record read successful&lt;/P&gt;&lt;P&gt;        PERFORM EDIT_RECORD.           " type2 or type9 expected&lt;/P&gt;&lt;P&gt;      WHEN 04.                         " Last dataset record read&lt;/P&gt;&lt;P&gt;        LAST_RECORD_FLAG = C_YES.&lt;/P&gt;&lt;P&gt;      WHEN 8.&lt;/P&gt;&lt;P&gt;        MESSAGE E027 WITH P_FILE.      " error reading data&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ENDDO.                               " Loop at dataset&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " Read_dataset&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  READ_HEADER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM READ_HEADER.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  READ DATASET P_FILE INTO I_HEADER.   " 1st rec type1, header record&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;    WHEN 0.                            " Dataset record read successful&lt;/P&gt;&lt;P&gt;      IF I_HEADER-RECTYPE NE '1'.      " header record invalid&lt;/P&gt;&lt;P&gt;        MESSAGE E024 WITH P_FILE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 04.                           " Last rec read, empty file&lt;/P&gt;&lt;P&gt;      MESSAGE E025 WITH P_FILE.        " Error,  empty file&lt;/P&gt;&lt;P&gt;    WHEN 8.&lt;/P&gt;&lt;P&gt;      MESSAGE E027 WITH P_FILE.        " error reading data&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " READ_HEADER&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM  EDIT_RECORD&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;The first record, header record, is already processed successfully&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 EDIT_RECORD.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CASE I_DATA-RECTYPE.&lt;/P&gt;&lt;P&gt;    WHEN '1'.                          " duplicate header&lt;/P&gt;&lt;P&gt;      MESSAGE E028 WITH P_FILE.&lt;/P&gt;&lt;P&gt;    WHEN '2'.                          " detailed record&lt;/P&gt;&lt;P&gt;      PERFORM EDIT_SIGN.&lt;/P&gt;&lt;P&gt;      PERFORM EDIT_ADDR.&lt;/P&gt;&lt;P&gt;      PERFORM EDIT_REFUND.&lt;/P&gt;&lt;P&gt;      PERFORM EDIT_PMT_IND.&lt;/P&gt;&lt;P&gt;      PERFORM CHECK_BUSINESS_AREA.     " DEVK903446&lt;/P&gt;&lt;P&gt;      W_COUNTER = W_COUNTER + 1.       " record typ2 counter&lt;/P&gt;&lt;P&gt;      MOVE I_DATA TO W_DATA.           " sav rec typ2 for future compare&lt;/P&gt;&lt;P&gt;      APPEND I_DATA.                   " error flag may be set on.&lt;/P&gt;&lt;P&gt;      CLEAR  I_DATA.                                        "&lt;/P&gt;&lt;P&gt;    WHEN '9'.                          " foter record, last record&lt;/P&gt;&lt;P&gt;      IF W_COUNTER = 0.&lt;/P&gt;&lt;P&gt;        MOVE 'R' TO W_REFUND_COMP_FLAG." DEVK903724&lt;/P&gt;&lt;P&gt;        WRITE:/5 TEXT-200.          " no postings in the file DEVK903724&lt;/P&gt;&lt;P&gt;        MOVE 'C' TO W_REFUND_COMP_FLAG." DEVK903724&lt;/P&gt;&lt;P&gt;        CLEAR SY-PAGNO.                " DEVK903724&lt;/P&gt;&lt;P&gt;        NEW-PAGE.                      " DEVK903724&lt;/P&gt;&lt;P&gt;        WRITE:/5 TEXT-200.          " no postings in the file DEVK903724&lt;/P&gt;&lt;P&gt;        MOVE 'X' TO W_REFUND_COMP_FLAG." DEVK903724&lt;/P&gt;&lt;P&gt;        CLEAR SY-PAGNO.                " DEVK903724&lt;/P&gt;&lt;P&gt;        NEW-PAGE.                      " DEVK903724&lt;/P&gt;&lt;P&gt;        WRITE:/5 TEXT-200.          " no postings in the file DEVK903724&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF W_DATA-RECTYPE = '9'.&lt;/P&gt;&lt;P&gt;        MESSAGE E030 WITH P_FILE.      " duplicate footer&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MOVE I_DATA TO I_FOOTER.         " it's a footer record,&lt;/P&gt;&lt;P&gt;      MOVE I_DATA TO W_DATA.           " sav rec typ2 for future compare&lt;/P&gt;&lt;P&gt;      CLEAR  I_DATA.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      I_DATA-ERR = ERROR.              " mark the record in error&lt;/P&gt;&lt;P&gt;      MOVE TEXT-201 TO I_DATA-MESSAGE. " Invalid_record_type&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING I_DATA TO M_TBL.&lt;/P&gt;&lt;P&gt;      APPEND M_TBL.&lt;/P&gt;&lt;P&gt;      CLEAR M_TBL.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " EDIT_RECORD&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  EDIT_SIGN&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 EDIT_SIGN.&lt;/P&gt;&lt;P&gt;  CASE I_DATA-SIGN.&lt;/P&gt;&lt;P&gt;    WHEN ' '. I_DATA-SIGN = '&lt;EM&gt;'.       " default to '&lt;/EM&gt;'&lt;/P&gt;&lt;P&gt;    WHEN '+'.&lt;/P&gt;&lt;P&gt;    WHEN '-'.&lt;/P&gt;&lt;P&gt;      I_DATA-ERR = ERROR.              " mark the record in error&lt;/P&gt;&lt;P&gt;      MOVE TEXT-202 TO I_DATA-MESSAGE. " Cheque amt cannot be negative&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING I_DATA TO M_TBL.&lt;/P&gt;&lt;P&gt;      APPEND M_TBL.&lt;/P&gt;&lt;P&gt;      CLEAR M_TBL.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      I_DATA-ERR = ERROR.              " mark the record in error&lt;/P&gt;&lt;P&gt;      MOVE TEXT-205 TO I_DATA-MESSAGE. " invalid posting amount sign&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING I_DATA TO M_TBL.&lt;/P&gt;&lt;P&gt;      APPEND M_TBL.&lt;/P&gt;&lt;P&gt;      CLEAR M_TBL.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " EDIT_SIGN&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  EDIT_ADDR&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;Condense removes leading blanks.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;City is a mandatory, so we fill it with the last non blank line&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of the address.&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 EDIT_ADDR.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-NAME1.&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-ADDR1.&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-ADDR2.&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-ADDR3.&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-CONTY.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_FORMAT_ADDRESS'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_ADDRESS_1 = I_DATA-ADDR1&lt;/P&gt;&lt;P&gt;            I_ADDRESS_2 = I_DATA-ADDR2&lt;/P&gt;&lt;P&gt;            I_ADDRESS_3 = I_DATA-ADDR3&lt;/P&gt;&lt;P&gt;            I_ADDRESS_4 = I_DATA-CONTY&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            O_ADDRESS_1 = I_DATA-ADDR1&lt;/P&gt;&lt;P&gt;            O_ADDRESS_2 = I_DATA-ADDR2&lt;/P&gt;&lt;P&gt;            O_ADDRESS_3 = I_DATA-ADDR3&lt;/P&gt;&lt;P&gt;            O_ADDRESS_4 = I_DATA-CONTY&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            ERROR       = 1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.                                         "&lt;/P&gt;&lt;P&gt;    I_DATA-ERR = ERROR.                " mark the record in error&lt;/P&gt;&lt;P&gt;    MOVE TEXT-206 TO I_DATA-MESSAGE.   " Incomplete cheque address&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING I_DATA TO M_TBL.&lt;/P&gt;&lt;P&gt;    APPEND M_TBL.&lt;/P&gt;&lt;P&gt;    CLEAR M_TBL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " EDIT_ADDR&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  EDIT_REFUND&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;Condense removes leading blank characters.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Compress 5 refund lines, so we don't have blank lines between them.&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 EDIT_REFUND.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-NARRAT.&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-RADDR1.&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-RADDR2.&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-RADDR3.&lt;/P&gt;&lt;P&gt;  CONDENSE  I_DATA-RCONTY.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  DO 4 TIMES.&lt;/P&gt;&lt;P&gt;    IF  I_DATA-RADDR1  =  SPACE.&lt;/P&gt;&lt;P&gt;      I_DATA-RADDR1  =  I_DATA-RADDR2.&lt;/P&gt;&lt;P&gt;      I_DATA-RADDR2  =  SPACE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF  I_DATA-RADDR2  =  SPACE.&lt;/P&gt;&lt;P&gt;      I_DATA-RADDR2  =  I_DATA-RADDR3.&lt;/P&gt;&lt;P&gt;      I_DATA-RADDR3  =  SPACE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF  I_DATA-RADDR3  =  SPACE.&lt;/P&gt;&lt;P&gt;      I_DATA-RADDR3  =  I_DATA-RCONTY.&lt;/P&gt;&lt;P&gt;      I_DATA-RCONTY  =  SPACE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF  I_DATA-RCONTY  =  SPACE.&lt;/P&gt;&lt;P&gt;      I_DATA-RCONTY  =  I_DATA-RPOSTC.&lt;/P&gt;&lt;P&gt;      I_DATA-RPOSTC  =  SPACE.&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;ENDFORM.                               " EDIT_REFUND&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM  EDIT_PMT_IND&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 EDIT_PMT_IND.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CASE I_DATA-PAYIN.                   " PAYMENT INDICATOR&lt;/P&gt;&lt;P&gt;    WHEN 'B'.                          " BACS&lt;/P&gt;&lt;P&gt;    WHEN 'C'.                          " CHEQUES&lt;/P&gt;&lt;P&gt;    WHEN 'M'.                          " MANUAL CHEQUES&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      I_DATA-ERR = ERROR.              " mark the record in error&lt;/P&gt;&lt;P&gt;      MOVE TEXT-203 TO I_DATA-MESSAGE. " invalid payment INDICATOR&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING I_DATA TO M_TBL.&lt;/P&gt;&lt;P&gt;      APPEND M_TBL.&lt;/P&gt;&lt;P&gt;      CLEAR M_TBL.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " EDIT_PMT_IND&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM  CHECK_BUSINESS_AREA.&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 CHECK_BUSINESS_AREA.              " DEVK903446&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF I_DATA-BUKRS NE 'DCWW' AND        "#EC PORTABLE DEVK917514&lt;/P&gt;&lt;P&gt;     I_DATA-GSBER GT '00'.             " DEVK903473&lt;/P&gt;&lt;P&gt;    I_DATA-ERR = ERROR.                " mark the record in error&lt;/P&gt;&lt;P&gt;    MOVE TEXT-207 TO I_DATA-MESSAGE.   " invalid business area&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING I_DATA TO M_TBL.&lt;/P&gt;&lt;P&gt;    APPEND M_TBL.&lt;/P&gt;&lt;P&gt;    CLEAR M_TBL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " CHECK_BUSINESS_AREA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  FOOTER_AUDIT&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;if u r here, all records type 2, postings, are in the i_data tbl.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read all postings from the internal table i_data,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;count all type 2 records,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;summarize all type 2 record amounts,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;compare the totals with the footer, if different then error.&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 FOOTER_AUDIT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  W_COUNTER = 0.&lt;/P&gt;&lt;P&gt;  LOOP AT I_DATA.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    W_COUNTER = W_COUNTER + 1.&lt;/P&gt;&lt;P&gt;    MOVE  I_DATA-WRBTR TO W_WRTBR.     " Moving char field to num&lt;/P&gt;&lt;P&gt;    W_WRTBR_T = W_WRTBR_T + W_WRTBR.   " Totals amounts.&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;  IF W_COUNTER NE I_FOOTER-RECCNT.&lt;/P&gt;&lt;P&gt;    MESSAGE E033 WITH P_FILE.          " record count does not balance&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF W_WRTBR_T NE I_FOOTER-TOTLAMT.&lt;/P&gt;&lt;P&gt;    MESSAGE E034 WITH P_FILE.          " postings total does not balance&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FOOTER_AUDIT&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SORT_RECORDS&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 SORT_RECORDS.&lt;/P&gt;&lt;P&gt;  SORT I_DATA&lt;/P&gt;&lt;P&gt;              BY PAYIN&lt;/P&gt;&lt;P&gt;                 CHQNR&lt;/P&gt;&lt;P&gt;  ASCENDING AS TEXT.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SORT_RECORDS&lt;/P&gt;&lt;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_BANK_ACC&lt;/P&gt;&lt;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;   Determine bank account details.                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_BANK_ACC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM T042I&lt;/P&gt;&lt;P&gt;        WHERE ZBUKR = C_DCWW           " Paying company code&lt;/P&gt;&lt;P&gt;          AND ZLSCH = C_M              " Payment method&lt;/P&gt;&lt;P&gt;          AND WAERS = C_CCY.           " Currency key&lt;/P&gt;&lt;P&gt;    MOVE T042I-UKONT TO W_BANKACC.     " G/L acc. to be posted to&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_BANK_ACC&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM  GEN_BDC_DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Generate batch input data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM GEN_BDC_DATA.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  LOOP AT I_DATA.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    MOVE '31' TO I_DATA-NEWBS.                              "&lt;/P&gt;&lt;P&gt;    MOVE:'40'  TO I_DATA-POSTNE,       " this MAKES THE CONTRA ENTRY&lt;/P&gt;&lt;P&gt;          I_DATA-NEWKO TO I_DATA-POSTAC,  " WHEN '31'&lt;/P&gt;&lt;P&gt;          '*'   TO I_DATA-WRBTR1.                           "&lt;/P&gt;&lt;P&gt;    MOVE '99998' TO I_DATA-NEWKO.      " setup G/L account otv&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    MOVE: W_DATUM      TO I_DATA-BLDAT," Date to document&lt;/P&gt;&lt;P&gt;          W_DATUM      TO I_DATA-BUDAT," Date&lt;/P&gt;&lt;P&gt;          I_DATE-MTH   TO I_DATA-MONAT," CURRENT PERIOD&lt;/P&gt;&lt;P&gt;          I_DATE-YEAR  TO I_DATA-GJAHR," CURRENT FISCAL YEAR&lt;/P&gt;&lt;P&gt;          I_DATA-WRBTR TO W_WRTBR,     " Moving char field to num&lt;/P&gt;&lt;P&gt;          W_WRTBR      TO I_DATA-WRBTR." Returning amount as number&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF I_DATA-GSBER(1) EQ 0.&lt;/P&gt;&lt;P&gt;      SHIFT I_DATA-GSBER.              " suppress leading seroes&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    MODIFY I_DATA.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GEN_BDC_DATA&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  PROCESS_POSTINGS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PROCESS_POSTINGS.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR I_DATA.                        " DEVK903373&lt;/P&gt;&lt;P&gt;  LOOP AT I_DATA WHERE MESSAGE IS INITIAL.                  " DEVK903373&lt;/P&gt;&lt;P&gt;    IF I_DATA-ERR = SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM   PROCESS_F-43.&lt;/P&gt;&lt;P&gt;      IF I_DATA-PAYIN = 'M'.&lt;/P&gt;&lt;P&gt;        IF I_DATA-DOCN NE SPACE.       " F-43 succesful, got doc. nbr.&lt;/P&gt;&lt;P&gt;          PERFORM PROCESS_F-53.&lt;/P&gt;&lt;P&gt;          IF I_DATA-DOCN2 NE SPACE.    " F-53 succesful, got doc. nbr.&lt;/P&gt;&lt;P&gt;            PERFORM PROCESS_FCH5.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PROCESS_POSTINGS&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  PROCESS_F-43&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PROCESS_F-43.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0100.                 " Header Screen.&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0100A.                " CUSTOMER INFO ADDRESS &amp;amp; BANK&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_302.                  " Line item detail     DEVK917514&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;no need to process TEXT screens if no refund information exist&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CONCATENATE&lt;/P&gt;&lt;P&gt;               I_DATA-RADDR1&lt;/P&gt;&lt;P&gt;               I_DATA-RADDR2&lt;/P&gt;&lt;P&gt;               I_DATA-RADDR3&lt;/P&gt;&lt;P&gt;               I_DATA-RCONTY&lt;/P&gt;&lt;P&gt;                              INTO W_C500.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0300A.                " before text entry&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0002.                 " before text entry&lt;/P&gt;&lt;P&gt;  IF W_C500 NE SPACE.                  " Check refund address&lt;/P&gt;&lt;P&gt;    PERFORM SCREEN_0100T.              " TEXT SELECTION SCREEN&lt;/P&gt;&lt;P&gt;    PERFORM SCREEN_1100T.              " TEXT DETAIL LINES&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0100T2.               " TEXT SELECTION SCREEN, BACK&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0300.                 " Line item detail, after text&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0002.                 " This is Business areas&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0700.                 " posting screen&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  W_TX = C_F43.                        " Calls F-43 transaction&lt;/P&gt;&lt;P&gt;  PERFORM CALL_TRANSACTION.            " Calls transactions&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CONDENSE SY-MSGV1.                   " this condenses and checks for&lt;/P&gt;&lt;P&gt;  IF SY-MSGV1 CA C_NUMBER.             " document posted number&lt;/P&gt;&lt;P&gt;    W_LEN = STRLEN( SY-MSGV1 ).        " check to lenght of doc number&lt;/P&gt;&lt;P&gt;    IF W_LEN GT 6.&lt;/P&gt;&lt;P&gt;      MOVE SY-MSGV1 TO I_DATA-DOCN.    " stored for F-53 and output&lt;/P&gt;&lt;P&gt;      MODIFY I_DATA.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH BDCTAB.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PROCESS_F-43&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  PROCESS_F-53&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PROCESS_F-53.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0103.                 " Header Screen&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0731.                 " Post Outg.Pmts:SELECTION SCRN.&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_1102.                 " Process Open Items&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0700.                 " post open items&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  W_TX = C_F53.                        " Calls F-53 transaction&lt;/P&gt;&lt;P&gt;  PERFORM CALL_TRANSACTION.            " Calls transactions&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CONDENSE SY-MSGV1.                   " this condenses and checks for&lt;/P&gt;&lt;P&gt;  IF SY-MSGV1 CA C_NUMBER.             " document posted number&lt;/P&gt;&lt;P&gt;    W_LEN = STRLEN( SY-MSGV1 ).        " check to lenght of doc number&lt;/P&gt;&lt;P&gt;    IF W_LEN GT 6.&lt;/P&gt;&lt;P&gt;      MOVE SY-MSGV1 TO I_DATA-DOCN2.   " stored for tx FCH5&lt;/P&gt;&lt;P&gt;      MODIFY I_DATA.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH BDCTAB.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PROCESS_F-53&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  PROCESS_FCH5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PROCESS_FCH5.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM SCREEN_0500.                 " Create Cheque Information&lt;/P&gt;&lt;P&gt;  W_TX = C_FCH5.                       " Calls FCH5 transaction&lt;/P&gt;&lt;P&gt;  PERFORM CALL_TRANSACTION.            " Calls transactions&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;condense sy-msgv1.                   " this condenses and checks for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if sy-msgv1 ca c_number.             " document posted number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  w_len = strlen( sy-msgv1 ).        " check to lenght of doc number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  if w_len gt 6.                                            DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    move sy-msgv1 to i_data-docn3.   " stored for tx FCH5   DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    modify i_data.                                          DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  endif.                                                    DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;endif.                                                      DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH BDCTAB.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PROCESS_FCH5&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM CALL TRANSACTION&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_TRANSACTION.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  REFRESH I_ERRORID.                   " DEVK902795&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION W_TX  USING&lt;/P&gt;&lt;P&gt;         BDCTAB MODE P_MODE            " As is for test mode&lt;/P&gt;&lt;P&gt;         UPDATE 'S'                    " DEVK902394&lt;/P&gt;&lt;P&gt;         MESSAGES INTO I_ERRORID.      " Puts system errors in&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.                                         " DEVK917514&lt;/P&gt;&lt;P&gt;     MOVE SY-MSGTY TO I_DATA-ERR.      " Message type (E,I.W,...)&lt;/P&gt;&lt;P&gt;     MODIFY I_DATA.                    " DEVK902394&lt;/P&gt;&lt;P&gt;     MOVE-CORRESPONDING I_DATA TO M_TBL.&lt;/P&gt;&lt;P&gt;     MOVE-CORRESPONDING I_ERRORID TO M_TBL." Puts system errors in&lt;/P&gt;&lt;P&gt;     MOVE SY-MSGV1 TO M_TBL-TEXT.      " duplicate system message&lt;/P&gt;&lt;P&gt;     APPEND M_TBL.&lt;/P&gt;&lt;P&gt;     CLEAR M_TBL.&lt;/P&gt;&lt;P&gt;     PERFORM CHECK_FOR_ERRORS.         " DEVK902795&lt;/P&gt;&lt;P&gt;  endif.                                                    " DEVK917514&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " CALL TRANSACTION&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This form is required by the DWR CYMRU standard headings.&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 COLUMN_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.               " DEVK903724&lt;/P&gt;&lt;P&gt;  IF W_REFUND_COMP_FLAG EQ 'R'.        " DEVK903724&lt;/P&gt;&lt;P&gt;    WRITE /1 TEXT-115.                 " DEVK903724&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903724&lt;/P&gt;&lt;P&gt;  IF W_REFUND_COMP_FLAG EQ 'C'.        " DEVK903724&lt;/P&gt;&lt;P&gt;    WRITE /1 TEXT-114.                 " DEVK903724&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903724&lt;/P&gt;&lt;P&gt;  IF W_REFUND_COMP_FLAG EQ 'X'.        " DEVK903724&lt;/P&gt;&lt;P&gt;    WRITE /1 TEXT-120.                 " DEVK903724&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903724&lt;/P&gt;&lt;P&gt;  SKIP 1.                              " DEVK903724&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.              " DEVK903724&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : /,&lt;/P&gt;&lt;P&gt;           52  TEXT-517,               " F-43               " DEVK903724&lt;/P&gt;&lt;P&gt;           63  TEXT-518,               " F-53               " DEVK903724&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         104 text-519,               " FCH5                 DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           73  TEXT-521,               " Message              DEVK902795&lt;/P&gt;&lt;P&gt;          /1 TEXT-500,                 " CUSTOMER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         14 text-500,                " CUSTOMER             DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           14 TEXT-506,                " TYPE OF PAYMENT      DEVK902394&lt;/P&gt;&lt;P&gt;           16 TEXT-507,                " BANK&lt;/P&gt;&lt;P&gt;           25 TEXT-509,                " Bank&lt;/P&gt;&lt;P&gt;           47 TEXT-511,                " Company            " DEVK903724&lt;/P&gt;&lt;P&gt;           52 TEXT-503,                " DOCUMENT           " DEVK903724&lt;/P&gt;&lt;P&gt;           63 TEXT-503,                " DOCUMENT           " DEVK903724&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         104 text-503,               " DOCUMENT             DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         /1 TEXT-502,                  " NUMBER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        14 text-501,                 " NAME                 DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          14 TEXT-520,                 " TYPE OF PAYMENT      DEVK902394&lt;/P&gt;&lt;P&gt;          16 TEXT-508,                 " ACCOUNT&lt;/P&gt;&lt;P&gt;          25 TEXT-510,                 " CODE&lt;/P&gt;&lt;P&gt;          39 TEXT-004,                 " VALUE&lt;/P&gt;&lt;P&gt;          47 TEXT-512,                 " Code               " DEVK903724&lt;/P&gt;&lt;P&gt;          52 TEXT-502,                 " NUMBER             " DEVK903724&lt;/P&gt;&lt;P&gt;          63  TEXT-502.                " NUMBER             " DEVK903724&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        104 text-502.                " NUMBER               DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SKIP.                                " DEVK902394&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM  screen_0100&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; Generate batch input data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM SCREEN_0100.&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPMF05A' '0100'. " SCREEN ID&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-BLDAT'  I_DATA-BLDAT.    " DOCUMENT DATE&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-BLART'  C_BLART.         " DOCUMENT TYPE&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-BUKRS'  I_DATA-BUKRS.    " COMPANY CODE&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-WAERS'  C_CCY." CURRENCY KEY&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-BKTXT'  I_DATA-KUNNR.    " CUSTOMER NO. TO H.TX&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-NEWKO' I_DATA-NEWKO.              "&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-NEWBS' I_DATA-NEWBS.    " NEXT POSTING ACCOUNT&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BDC_OKCODE' '/00'. " DEVK902394&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_0100 SAPLFCPD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_0100A.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPLFCPD'   '0100'.          " SCREEN ID&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BSEC-NAME1'  I_DATA-NAME1+0(35). " NAME   DEVK903563&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BSEC-NAME2'  I_DATA-ADDR1+0(35). " ADDRESS 1  903563&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BSEC-NAME3'  I_DATA-ADDR2+0(35). " ADDRESS 2  903563&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BSEC-NAME4'  I_DATA-ADDR3+0(35). " ADDRESS 3  903563&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BSEC-ORT01'  I_DATA-CONTY.    " ADDRESS 4&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BSEC-PSTLZ'  I_DATA-POSTC.    " POSTCODE&lt;/P&gt;&lt;P&gt;  IF I_DATA-PAYIN EQ 'B'.              " if it is a bacs payment&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD 'BSEC-BANKL'  I_DATA-BANKI.    " BANK SORT CODE&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD 'BSEC-BANKS'  C_GB.            " BANK COUNTRY&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD 'BSEC-BANKN'  I_DATA-BANKA.    " BANK ACCOUNT&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BDC_OKCODE' '/00'.                      " DEV902394&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_302                                    " DEVK917514&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_302.                                            " DEVK917514&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPMF05A'   '302'." Process debit credit DEVK917514&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-WRBTR' I_DATA-WRBTR.    " Amount to field&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF I_DATA-BUKRS = 'DCWW'.            " DEVK903446&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'BSEG-GSBER' I_DATA-GSBER.    " BUSINESS AREA&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903446&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-ZTERM' C_TERM.          " PAYMENT TERM&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of change DEVK904440&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE I_DATA-PAYIN.&lt;/P&gt;&lt;P&gt;    WHEN  'C'.&lt;/P&gt;&lt;P&gt;      W_DATA_PAYIN = 'Q'.&lt;/P&gt;&lt;P&gt;    WHEN  'B'.&lt;/P&gt;&lt;P&gt;      W_DATA_PAYIN = 'R'.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      W_DATA_PAYIN = I_DATA-PAYIN.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                         DEVK904440&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-ZLSCH' W_DATA_PAYIN.  " PAYMENT TYPE,from file&lt;/P&gt;&lt;P&gt;                                       " Check for next item&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-ZUONR'  I_DATA-KUNNR.    " Ref into text&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-SGTXT' I_DATA-KUNNR.    " Ref into text&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-NEWBS' I_DATA-POSTNE. " Posting key for next&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-NEWKO' I_DATA-POSTAC. " Account key fo next&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-NEWBK' I_DATA-BUKRS.  " COMPANY CODE for next&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BDC_OKCODE' '/00'. " DEVK902394&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_302           DEVK917514&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_0300a - before TEXT processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_0300A.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPMF05A'   '0300'.        " Process payment contra&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-WRBTR' I_DATA-WRBTR1. " Amount to field&lt;/P&gt;&lt;P&gt;  IF I_DATA-POSTAC(1) GE '5'.          "#EC PORTABLE DEVK917514&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'BSEG-MWSKZ' C_MWSKZ.       " Tax code 'VZ'&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903520&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-ZUONR'  I_DATA-KUNNR. " Ref into text&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-SGTXT'  I_DATA-KUNNR. " Ref into text&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'bdc_okcode'  'TEXT'.       " call TEXT screens&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_0300a&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_0100T - initial text selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_0100T.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN  'SAPLFTXT'    '0100'.          " TEXT screen&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD   'BDC_CURSOR'  'RTEXT-LTEXT(1)'.        " DEVK917514&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD   'bdc_okcode'  '/02'.           " F2 (detailed text)&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_0100T&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_1100T - detailed text screens, each line = new scrn&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_1100T.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF I_DATA-RADDR1  NE  SPACE.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_SCREEN  'SAPLSTXX'   '1100'.          " datail text scrn.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'RSTXT-TXLINE(2)'  I_DATA-RADDR1.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'BDC_CURSOR' 'RSTXT-TXLINE(3)'." cursor=next line&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'bdc_okcode'    'EDNP'.        " skip to next line&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF I_DATA-RADDR2  NE  SPACE.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_SCREEN  'SAPLSTXX'   '1100'.          " datail text scrn.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'RSTXT-TXLINE(3)'  I_DATA-RADDR2.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'BDC_CURSOR' 'RSTXT-TXLINE(4)'." cursor=next line&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'bdc_okcode'    'EDNP'.        " skip to next line&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF I_DATA-RADDR3  NE  SPACE.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_SCREEN  'SAPLSTXX'   '1100'.          " datail text scrn.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'RSTXT-TXLINE(4)'  I_DATA-RADDR3.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'BDC_CURSOR' 'RSTXT-TXLINE(5)'." cursor=next line&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'bdc_okcode'    'EDNP'.        " skip to next line&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF I_DATA-RCONTY  NE  SPACE.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_SCREEN  'SAPLSTXX'   '1100'.          " datail text scrn.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'RSTXT-TXLINE(5)'  I_DATA-RCONTY.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'BDC_CURSOR' 'RSTXT-TXLINE(6)'." cursor=next line&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'bdc_okcode'    'EDNP'.        " skip to next line&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF I_DATA-RPOSTC  NE  SPACE.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_SCREEN  'SAPLSTXX'   '1100'.          " datail text scrn.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'RSTXT-TXLINE(6)'  I_DATA-RPOSTC.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'BDC_CURSOR' 'RSTXT-TXLINE(7)'." cursor=next line&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'bdc_okcode'    'EDNP'.        " skip to next line&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                   " last line filled&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'bdc_okcode'  'TXBA'.            " (f3 to save)&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_1100T&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  SCREEN_0100T2 - initial text screen upon return from detail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_0100T2.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN  'SAPLFTXT'     '0100'.            " TEXT screen&lt;/P&gt;&lt;P&gt;  IF I_DATA-NARRAT  NE  SPACE.&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD 'BDC_CURSOR'   'RTEXT-LTEXT(2)'.  " cursor position&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD 'RTEXT-LTEXT(2)'  I_DATA-NARRAT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'bdc_okcode'     'BACK'.            " shift+f1=contin&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_0100T2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_0300&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_0300.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPMF05A'   '0300'.        " Process payment contra&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-WRBTR' I_DATA-WRBTR1. " Amount to field&lt;/P&gt;&lt;P&gt;  IF I_DATA-POSTAC(1) GE '5'.          "#EC PORTABLE DEVK917514&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'BSEG-MWSKZ' C_MWSKZ.       " Tax code 'VZ'&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903520&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-ZUONR' I_DATA-KUNNR.  " Ref into text&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD  'BSEG-SGTXT' I_DATA-KUNNR.  " Ref into text&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'bdc_okcode'  '/11'.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_0300&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_0002&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_0002.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPLKACB' '0002'. " Calls screen&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if i_data-gsber(1) eq 0.                " moved to gen_bdc_data  T???&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   shift i_data-gsber.&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 I_DATA-BUKRS = 'DCWW'.            " DEVK903446&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD 'COBL-GSBER' I_DATA-GSBER.      " Business areas&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903446&lt;/P&gt;&lt;P&gt;  IF I_DATA-POSTAC(1) GE '5'.          "#EC PORTABLE DEVK917514&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD  'COBL-KOSTL' I_DATA-COSTCTR.        " Cost centre&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903520&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BDC_OKCODE' '/00'. " DEVK902394&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_0002&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_0700&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_0700.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN  'SAPMF05A'   '0700'.               " Calls screen&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD   'bdc_okcode'  '/11'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_0700&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM  SCREEN_0103&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; Generate batch input data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM SCREEN_0103.&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPMF05A'     '0103'.         " SCREEN ID&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-BLDAT'    I_DATA-BLDAT.   " DOCUMENT DATE&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-BLART'    C_BLART.        " DOCUMENT TYPE&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-BUKRS'    I_DATA-BUKRS.   " COMPANY CODE&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-BUDAT'    I_DATA-BUDAT.   " POSTING DATAE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ZZ_INS_BDC_FIELD 'BKPF-MONAT'    I_DATA-MONAT.   " 280197SD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BKPF-WAERS'    C_CCY.          " CURRENCY KEY&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changed to include G/L Account from input file 280197sd&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-KONTO'   W_BANKACC.      " BANK ACCT G/L ACCT&lt;/P&gt;&lt;P&gt;                                       " DEVK902693&lt;/P&gt;&lt;P&gt;  IF I_DATA-BUKRS = 'DCWW'.            " DEVK903446&lt;/P&gt;&lt;P&gt;    ZZ_INS_BDC_FIELD 'BSEG-GSBER'    I_DATA-GSBER.   " BUSINESS AREA&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK903446&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BSEG-WRBTR'    I_DATA-WRBTR.   " AMOUNT&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BSEG-VALUT'    I_DATA-BLDAT.   " VALUE DATE 280197sd&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ZZ_INS_BDC_FIELD 'BSEG-VALUT'    SPACE.          " VALUE DATE 280197sd&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-AGKON'   '99998'.        " 1 TIME VENDOR ACCT.&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-XPOS1(3)' 'X'.           " STANDARD OIs ONLY&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               "SCREEN_0103&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_0731&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_0731.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPMF05A'     '0731'.          " Calls screen&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'RF05A-SEL01(1)' I_DATA-DOCN.    " DOC FROM F-43&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'bdc_okcode'     'PA'.    " SHIFT+F4 EDIT OPEN ITEMS&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_0731&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  SCREEN_1102&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SCREEN_1102.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPDF05X'   '1102'.         " PROCESS OPEN ITEMS&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'bdc_okcode'  '/11'." DEVK902394&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SCREEN_1102&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM  SCREEN_0500&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; Generate batch input data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM SCREEN_0500.&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPMFCHK'   '0500'.          " SCREEN ID&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'PAYR-VBLNR'  I_DATA-DOCN2.    " DOC FROM F-53&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'PAYR-ZBUKR'  'DCWW'.          " COMPANY CODE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fiscal year should default 280197sd&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ZZ_INS_BDC_FIELD 'PAYR-GJAHR'  I_DATA-GJAHR.    " CURRENT FISCAL YEAR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'PAYR-HBKID'  'NATWS'.         " HOUSE BANK NATWS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'PAYR-HKTID'  '22972'.         " ACCOUNT ID 22972&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'PAYR-CHECT'  I_DATA-CHQNR.    " CHEQUE NNUMBER&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'bdc_okcode'  '/11'.&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_SCREEN 'SAPMFCHK'   '0500'.                    " DEVK902394&lt;/P&gt;&lt;P&gt;  ZZ_INS_BDC_FIELD 'BDC_OKCODE'  '/15'." DEVK902394&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               "SCREEN_0500&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  PROCESS_ERRORS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PROCESS_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_DATA LINES SY-TFILL." Check data file&lt;/P&gt;&lt;P&gt;  IF SY-TFILL NE 0.&lt;/P&gt;&lt;P&gt;    PERFORM REPORT.                    " writes final report&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE I_ERRORID LINES SY-TFILL.    " Check message tab&lt;/P&gt;&lt;P&gt;    IF SY-TFILL = 0.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      WRITE:/5 TEXT-002 , SY-UNAME.    " Upload Error&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This has been commented out. For sign off.&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;    CLEAR I_ERRORID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    LOOP AT I_ERRORID.               " Internal message table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This filters out the warnings but confirms document numbers&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND SHOWS THE ERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*oN CHANGE OF I_ERRORID-MSGNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF I_ERRORID-MSGTYP EQ 'E' OR I_ERRORID-MSGTYP EQ 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SELECT SINGLE TEXT INTO T100-TEXT FROM  T100&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WHERE  SPRSL       = 'E'                " Lanuage&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         AND    ARBGB       = I_ERRORID-MSGID    " Message application&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         AND    MSGNR       = I_ERRORID-MSGNR.   " Message number&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 T100-TEXT TO W_MSG.                  " Moves system error&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The next items replace system Varables with program vables&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;then uses condenes to remove the spaces&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;       REPLACE '&amp;amp;' WITH I_ERRORID-MSGV1  INTO W_MSG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF W_MSG CA '&amp;amp;'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       REPLACE '&amp;amp;' WITH I_ERRORID-MSGV2  INTO W_MSG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF W_MSG CA '&amp;amp;'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       REPLACE '&amp;amp;' WITH I_ERRORID-MSGV3  INTO W_MSG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF W_MSG CA '&amp;amp;'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       REPLACE '&amp;amp;' WITH I_ERRORID-MSGV4  INTO W_MSG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CONDENSE W_MSG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SKIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE: / W_MSG.                " Writes out message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FORMAT INTENSIFIED OFF.&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;*ENDON.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDLOOP.                         " END ERROR_ID loop&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / TEXT-401.                   "  End of report&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PROCESS_ERRORS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form  REPORT&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;  This prints out the Data set                                       *&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 REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'R' TO W_REFUND_COMP_FLAG.      " DEVK903724&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  IF W_ERR IS INITIAL.                 " Any errors&lt;/P&gt;&lt;P&gt;    FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;    WRITE : /4 W_ERR.                  " Confirmation of posting or&lt;/P&gt;&lt;P&gt;    FORMAT INTENSIFIED OFF.            " Error message&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  W_COUNT = 0.&lt;/P&gt;&lt;P&gt;  CLEAR: W_BACS,                       " DEVK903724&lt;/P&gt;&lt;P&gt;         W_CHEQUE,                     " DEVK903724&lt;/P&gt;&lt;P&gt;         W_MANUAL,                     " DEVK903724&lt;/P&gt;&lt;P&gt;         W_NOTPST,                     " DEVK903724&lt;/P&gt;&lt;P&gt;         W_BACS_2,                     " DEVK903724&lt;/P&gt;&lt;P&gt;         W_CHQS_2,                     " DEVK903724&lt;/P&gt;&lt;P&gt;         W_MANS_2,                     " DEVK903724&lt;/P&gt;&lt;P&gt;         W_NOTPST_2,                   " DEVK903724&lt;/P&gt;&lt;P&gt;         W_COUNT_BACS,                 " DEVK903724&lt;/P&gt;&lt;P&gt;         W_COUNT_CHQS,                 " DEVK903724&lt;/P&gt;&lt;P&gt;         W_COUNT_MANS,                 " DEVK903724&lt;/P&gt;&lt;P&gt;         W_COUNT_NOTPST,               " DEVK903724&lt;/P&gt;&lt;P&gt;         W_COUNT_BACS_TOTAL,           " DEVK903724&lt;/P&gt;&lt;P&gt;         W_COUNT_CHQS_TOTAL,           " DEVK903724&lt;/P&gt;&lt;P&gt;         W_COUNT_MANS_TOTAL,           " DEVK903724&lt;/P&gt;&lt;P&gt;         W_COUNT_NOTPST_TOTAL.         " DEVK903724&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_DATA WHERE RTYPE EQ 'R'.   " DEVK903724&lt;/P&gt;&lt;P&gt;    IF I_DATA-NEWBS EQ '31'.           " only outputs one entry&lt;/P&gt;&lt;P&gt;      W_COUNT = W_COUNT + 1.           " count of items&lt;/P&gt;&lt;P&gt;      WRITE: / W_COUNT(1).             " Writes items&lt;/P&gt;&lt;P&gt;      WRITE:   1 I_DATA-KUNNR.         " Customer_Number&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             i_data-name1  under text-501.      " Customer_Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      CASE I_DATA-PAYIN.&lt;/P&gt;&lt;P&gt;        WHEN 'B'.                      " BACS PAYMENT&lt;/P&gt;&lt;P&gt;          WRITE: I_DATA-PAYIN UNDER TEXT-506,&lt;/P&gt;&lt;P&gt;                 I_DATA-BANKA UNDER TEXT-508,    " BANK ACCOUNT&lt;/P&gt;&lt;P&gt;                 I_DATA-BANKI UNDER TEXT-510,    " SORT CODE&lt;/P&gt;&lt;P&gt;                 I_DATA-BUKRS UNDER TEXT-512.    " COMPANY CODE&lt;/P&gt;&lt;P&gt;          IF NOT ( I_DATA-DOCN IS INITIAL ).&lt;/P&gt;&lt;P&gt;            W_BACS = I_DATA-WRBTR + W_BACS.      " Total BACS&lt;/P&gt;&lt;P&gt;            W_BACS_2 = I_DATA-WRBTR + W_BACS_2.  " Total BACS&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_BACS.     " Total BACS&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_BACS_TOTAL.         " Total BACS&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            W_NOTPST = I_DATA-WRBTR + W_NOTPST.  " Total Errors&lt;/P&gt;&lt;P&gt;            W_NOTPST_2 = I_DATA-WRBTR + W_NOTPST_2.  " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST.   " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST_TOTAL.       " Total Errors&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This collects non posted documents by item number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONCATENATE W_COUNT W_ERROREC INTO W_ERROREC&lt;/P&gt;&lt;P&gt;                   SEPARATED BY C_COMMA.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;        WHEN 'C'.                      " CHEQUE PAYMENT&lt;/P&gt;&lt;P&gt;          WRITE: I_DATA-PAYIN UNDER TEXT-506.&lt;/P&gt;&lt;P&gt;          IF NOT ( I_DATA-DOCN IS INITIAL ).     " only if posted&lt;/P&gt;&lt;P&gt;            W_CHEQUE = I_DATA-WRBTR + W_CHEQUE.  " Totals cheques&lt;/P&gt;&lt;P&gt;            W_CHQS_2 = I_DATA-WRBTR + W_CHQS_2.  " Total cheques&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_CHQS.     " Total cheques&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_CHQS_TOTAL.         " Total cheques&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This collects non posted documents by item number (as above)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONCATENATE W_COUNT W_ERROREC INTO W_ERROREC&lt;/P&gt;&lt;P&gt;                      SEPARATED BY C_COMMA.&lt;/P&gt;&lt;P&gt;            W_NOTPST = I_DATA-WRBTR + W_NOTPST.  " Total errors&lt;/P&gt;&lt;P&gt;            W_NOTPST_2 = I_DATA-WRBTR + W_NOTPST_2.  " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST.   " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST_TOTAL.       " Total Errors&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;        WHEN 'M'.                      "MANUAL CHEQUE&lt;/P&gt;&lt;P&gt;          WRITE: I_DATA-PAYIN UNDER TEXT-506.&lt;/P&gt;&lt;P&gt;          IF NOT ( I_DATA-DOCN IS INITIAL ).     " only if posted&lt;/P&gt;&lt;P&gt;          W_MANUAL = I_DATA-WRBTR + W_MANUAL.  " Total Manual cheques&lt;/P&gt;&lt;P&gt;            W_MANS_2 = I_DATA-WRBTR + W_MANS_2.  " Total manuals&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_MANS.     " Total manuals&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_MANS_TOTAL.         " Total manuals&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This collects non posted documents by item number (as above)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONCATENATE W_COUNT W_ERROREC INTO W_ERROREC&lt;/P&gt;&lt;P&gt;                      SEPARATED BY C_COMMA.&lt;/P&gt;&lt;P&gt;            W_NOTPST = I_DATA-WRBTR + W_NOTPST.  " Total errors&lt;/P&gt;&lt;P&gt;            W_NOTPST_2 = I_DATA-WRBTR + W_NOTPST_2.  " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST.   " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST_TOTAL.       " Total Errors&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;        WHEN OTHERS.                   " invalid payment INDIC.&lt;/P&gt;&lt;P&gt;          W_NOTPST = I_DATA-WRBTR + W_NOTPST.&lt;/P&gt;&lt;P&gt;          W_NOTPST_2 = I_DATA-WRBTR + W_NOTPST_2.  " Total Errors&lt;/P&gt;&lt;P&gt;          ADD 1 TO W_COUNT_NOTPST.     " Total Errors&lt;/P&gt;&lt;P&gt;          ADD 1 TO W_COUNT_NOTPST_TOTAL.       " Total Errors&lt;/P&gt;&lt;P&gt;          WRITE: I_DATA-PAYIN, TEXT-204 UNDER TEXT-009.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      WRITE: 31 I_DATA-WRBTR.          " Value        DEVK902795&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    if i_data-err = 'E'." DEVK902394 DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      write: 1 c_error.  " PRINTS'*&lt;STRONG&gt;error&lt;/STRONG&gt;*' INTO DOC FIELDDEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      write: c_error.    " PRINTS '*&lt;STRONG&gt;error&lt;/STRONG&gt;*' AT BEGIN. OF THE LINE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    endif." DEVK902394 DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WRITE:I_DATA-DOCN   UNDER TEXT-517.      " Document F-43&lt;/P&gt;&lt;P&gt;      WRITE:I_DATA-DOCN2  UNDER TEXT-518.      " Document F-53&lt;/P&gt;&lt;P&gt;      WRITE: I_DATA-BUKRS UNDER TEXT-512.      " COMPANY CODE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    write:i_data-docn3  under text-519.      " Document FCH5DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    write:i_data-message under text-521.     " Error messageDEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      IF NOT ( I_DATA-MESSAGE IS INITIAL ).                 " DEVK902795&lt;/P&gt;&lt;P&gt;        WRITE: I_DATA-MESSAGE UNDER TEXT-521.               " DEVK902795&lt;/P&gt;&lt;P&gt;      ENDIF.                           " DEVK902795&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / TEXT-400.                   " End of list.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;These are the totals posted for cheques bacs and not posted&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE: /1 TEXT-110,                  " Cheques paid&lt;/P&gt;&lt;P&gt;          20 W_CHQS_2 CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-116,                 " Number of cheques&lt;/P&gt;&lt;P&gt;          65 W_COUNT_CHQS,             " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-111,                  " BACS paid&lt;/P&gt;&lt;P&gt;          20 W_BACS_2 CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-117,                 " Number of bacs&lt;/P&gt;&lt;P&gt;          65 W_COUNT_BACS,             " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-113,                  " MANUAL cheques paid&lt;/P&gt;&lt;P&gt;          20 W_MANS_2 CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-118,                 " Number of manual cheques&lt;/P&gt;&lt;P&gt;          65 W_COUNT_MANS,             " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-112,                  " Amount Not Paid&lt;/P&gt;&lt;P&gt;          20 W_NOTPST_2 CURRENCY 'GBP'," amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-119,                 " Number of not paids&lt;/P&gt;&lt;P&gt;          65 W_COUNT_NOTPST.           " number&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: W_BACS_2,&lt;/P&gt;&lt;P&gt;         W_CHQS_2,&lt;/P&gt;&lt;P&gt;         W_MANS_2,&lt;/P&gt;&lt;P&gt;         W_NOTPST_2,&lt;/P&gt;&lt;P&gt;         W_COUNT_BACS,&lt;/P&gt;&lt;P&gt;         W_COUNT_CHQS,&lt;/P&gt;&lt;P&gt;         W_COUNT_MANS,&lt;/P&gt;&lt;P&gt;         W_COUNT_NOTPST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Process Compensations                                       DEVK903724&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR I_DATA.                        " DEVK903724&lt;/P&gt;&lt;P&gt;  MOVE 'C' TO W_REFUND_COMP_FLAG.      " DEVK903724&lt;/P&gt;&lt;P&gt;  CLEAR SY-PAGNO.&lt;/P&gt;&lt;P&gt;  NEW-PAGE.                            " DEVK903724&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  LOOP AT I_DATA WHERE RTYPE EQ 'C'.   " DEVK903724&lt;/P&gt;&lt;P&gt;    IF I_DATA-NEWBS EQ '31'.           " only outputs one entry&lt;/P&gt;&lt;P&gt;      W_COUNT = W_COUNT + 1.           " count of items&lt;/P&gt;&lt;P&gt;      WRITE: / W_COUNT(1).             " Writes items&lt;/P&gt;&lt;P&gt;      WRITE:   1 I_DATA-KUNNR.         " Customer_Number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CASE I_DATA-PAYIN.&lt;/P&gt;&lt;P&gt;        WHEN 'B'.                      " BACS PAYMENT&lt;/P&gt;&lt;P&gt;          WRITE: I_DATA-PAYIN UNDER TEXT-506,&lt;/P&gt;&lt;P&gt;                 I_DATA-BANKA UNDER TEXT-508,    " BANK ACCOUNT&lt;/P&gt;&lt;P&gt;                 I_DATA-BANKI UNDER TEXT-510.    " SORT CODE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               i_data-bukrs under text-512.    " COMPANY CODE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF NOT ( I_DATA-DOCN IS INITIAL ).&lt;/P&gt;&lt;P&gt;            W_BACS = I_DATA-WRBTR + W_BACS.      " Total BACS&lt;/P&gt;&lt;P&gt;            W_BACS_2 = I_DATA-WRBTR + W_BACS_2.  " Total BACS&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_BACS.     " Total BACS&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_BACS_TOTAL.         " Total BACS&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            W_NOTPST = I_DATA-WRBTR + W_NOTPST.      " Total Errors&lt;/P&gt;&lt;P&gt;            W_NOTPST_2 = I_DATA-WRBTR + W_NOTPST_2.  " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST.   " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST_TOTAL.       " Total Errors&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This collects non posted documents by item number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONCATENATE W_COUNT W_ERROREC INTO W_ERROREC&lt;/P&gt;&lt;P&gt;                   SEPARATED BY C_COMMA.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;        WHEN 'C'.                      " CHEQUE PAYMENT&lt;/P&gt;&lt;P&gt;          WRITE: I_DATA-PAYIN UNDER TEXT-506.&lt;/P&gt;&lt;P&gt;          IF NOT ( I_DATA-DOCN IS INITIAL ).     " only if posted&lt;/P&gt;&lt;P&gt;            W_CHEQUE = I_DATA-WRBTR + W_CHEQUE.  " Totals cheques&lt;/P&gt;&lt;P&gt;            W_CHQS_2 = I_DATA-WRBTR + W_CHQS_2.  " Total cheques&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_CHQS.     " Total cheques&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_CHQS_TOTAL.         " Total cheques&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This collects non posted documents by item number (as above)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONCATENATE W_COUNT W_ERROREC INTO W_ERROREC&lt;/P&gt;&lt;P&gt;                      SEPARATED BY C_COMMA.&lt;/P&gt;&lt;P&gt;            W_NOTPST = I_DATA-WRBTR + W_NOTPST.  " Total errors&lt;/P&gt;&lt;P&gt;            W_NOTPST_2 = I_DATA-WRBTR + W_NOTPST_2.  " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST.   " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST_TOTAL.       " Total Errors&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;        WHEN 'M'.                      "MANUAL CHEQUE&lt;/P&gt;&lt;P&gt;          WRITE: I_DATA-PAYIN UNDER TEXT-506.&lt;/P&gt;&lt;P&gt;          IF NOT ( I_DATA-DOCN IS INITIAL ).     " only if posted&lt;/P&gt;&lt;P&gt;            W_MANUAL = I_DATA-WRBTR + W_MANUAL.  " Total Manual cheques&lt;/P&gt;&lt;P&gt;            W_MANS_2 = I_DATA-WRBTR + W_MANS_2.  " Total manuals&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_MANS.     " Total manuals&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_MANS_TOTAL.         " Total manuals&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This collects non posted documents by item number (as above)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONCATENATE W_COUNT W_ERROREC INTO W_ERROREC&lt;/P&gt;&lt;P&gt;                      SEPARATED BY C_COMMA.&lt;/P&gt;&lt;P&gt;            W_NOTPST = I_DATA-WRBTR + W_NOTPST.  " Total errors&lt;/P&gt;&lt;P&gt;            W_NOTPST_2 = I_DATA-WRBTR + W_NOTPST_2.  " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST.   " Total Errors&lt;/P&gt;&lt;P&gt;            ADD 1 TO W_COUNT_NOTPST_TOTAL.       " Total Errors&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;        WHEN OTHERS.                   " invalid payment INDIC.&lt;/P&gt;&lt;P&gt;          W_NOTPST = I_DATA-WRBTR + W_NOTPST.&lt;/P&gt;&lt;P&gt;          W_NOTPST_2 = I_DATA-WRBTR + W_NOTPST_2.  " Total Errors&lt;/P&gt;&lt;P&gt;          ADD 1 TO W_COUNT_NOTPST.     " Total Errors&lt;/P&gt;&lt;P&gt;          ADD 1 TO W_COUNT_NOTPST_TOTAL.       " Total Errors&lt;/P&gt;&lt;P&gt;          WRITE: I_DATA-PAYIN, TEXT-204 UNDER TEXT-009.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      WRITE: 31 I_DATA-WRBTR.          " Value        DEVK902795&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    if i_data-err = 'E'.                       " DEVK902394 DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      write: 1 c_error.  " PRINTS '*&lt;STRONG&gt;error&lt;/STRONG&gt;*' INTO DOC FIELDDEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      write: c_error.    " PRINTS '*&lt;STRONG&gt;error&lt;/STRONG&gt;*' AT BEGIN. OF THE LINE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    endif.                                     " DEVK902394 DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WRITE: I_DATA-DOCN   UNDER TEXT-517.     " Document F-43&lt;/P&gt;&lt;P&gt;      WRITE: I_DATA-DOCN2  UNDER TEXT-518.     " Document F-53&lt;/P&gt;&lt;P&gt;      WRITE: I_DATA-BUKRS UNDER TEXT-512.      " COMPANY CODE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    write:i_data-docn3  under text-519.      " Document FCH5DEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    write:i_data-message under text-521.     " Error messageDEVK902795&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      IF NOT ( I_DATA-MESSAGE IS INITIAL ).                 " DEVK902795&lt;/P&gt;&lt;P&gt;        WRITE: I_DATA-MESSAGE UNDER TEXT-521.               " DEVK902795&lt;/P&gt;&lt;P&gt;      ENDIF.                           " DEVK902795&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;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE: / TEXT-400.                   " End of list.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  WRITE: /1 TEXT-110,                  " Cheques paid&lt;/P&gt;&lt;P&gt;          20 W_CHQS_2 CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-116,                 " Number of cheques&lt;/P&gt;&lt;P&gt;          65 W_COUNT_CHQS,             " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-111,                  " BACS paid&lt;/P&gt;&lt;P&gt;          20 W_BACS_2 CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-117,                 " Number of bacs&lt;/P&gt;&lt;P&gt;          65 W_COUNT_BACS,             " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-113,                  " MANUAL cheques paid&lt;/P&gt;&lt;P&gt;          20 W_MANS_2 CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-118,                 " Number of manual cheques&lt;/P&gt;&lt;P&gt;          65 W_COUNT_MANS,             " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-112,                  " Amount Not Paid&lt;/P&gt;&lt;P&gt;          20 W_NOTPST_2 CURRENCY 'GBP'," amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-119,                 " Number of not paids&lt;/P&gt;&lt;P&gt;          65 W_COUNT_NOTPST.           " number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;These are the totals posted for cheques bacs and not posted&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Summary Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE 'X' TO W_REFUND_COMP_FLAG.&lt;/P&gt;&lt;P&gt;  CLEAR SY-PAGNO.&lt;/P&gt;&lt;P&gt;  NEW-PAGE.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;These are the totals posted for cheques bacs and not posted&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE: /1 TEXT-110,                  " Cheques paid&lt;/P&gt;&lt;P&gt;          20 W_CHEQUE CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-116,                 " Number of cheques&lt;/P&gt;&lt;P&gt;          65 W_COUNT_CHQS_TOTAL,       " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-111,                  " BACS paid&lt;/P&gt;&lt;P&gt;          20 W_BACS CURRENCY 'GBP',    " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-117,                 " Number of bacs&lt;/P&gt;&lt;P&gt;          65 W_COUNT_BACS_TOTAL,       " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-113,                  " MANUAL cheques paid&lt;/P&gt;&lt;P&gt;          20 W_MANUAL CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-118,                 " Number of manual cheques&lt;/P&gt;&lt;P&gt;          65 W_COUNT_MANS_TOTAL,       " number&lt;/P&gt;&lt;P&gt;         /1 TEXT-112,                  " Amount Not Paid&lt;/P&gt;&lt;P&gt;          20 W_NOTPST CURRENCY 'GBP',  " amount               DEVK917514&lt;/P&gt;&lt;P&gt;          40 TEXT-119,                 " Number of not paids&lt;/P&gt;&lt;P&gt;          65 W_COUNT_NOTPST_TOTAL.     " number&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  IF NOT W_ERROREC IS INITIAL.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR 6.&lt;/P&gt;&lt;P&gt;    FORMAT INVERSE.                    " writes out highlighted&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE : / TEXT-015 , W_ERROREC.    " The records with errors are&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    FORMAT COLOR 6 OFF.&lt;/P&gt;&lt;P&gt;    FORMAT INVERSE OFF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " REPORT&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="24" type="ul"&gt;&lt;P&gt;END OF REPORT *********************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&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  OPEN_DATASET                                            *&lt;/P&gt;&lt;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;       Opens the dataset at start of processing.                     *&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 OPEN_DATASET.                     " DEVK902394&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_OPEN_DATASET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            LOGICAL_FILE            = W_FILE&lt;/P&gt;&lt;P&gt;            FOR_PARAM               = 'INPUT'&lt;/P&gt;&lt;P&gt;            IN_PARAM                = 'TEXT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AT_PARAM                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        TYPE_PARAM              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FILTER_PARAM            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        SYSTEM_MESSAGE          = P_MESS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            DATA_SET_NAME           = P_FILE&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            FAILED_TO_OPEN_FILE     = 1&lt;/P&gt;&lt;P&gt;            FLAG_FILE_EXISTS        = 2&lt;/P&gt;&lt;P&gt;            FAIL_IN_CREATE_FLAG     = 3&lt;/P&gt;&lt;P&gt;            FILE_ALREADY_EXISTS     = 4&lt;/P&gt;&lt;P&gt;            FAILED_TO_GET_FLAG_FILE = 5&lt;/P&gt;&lt;P&gt;            FAILED_IN_GET_FILE      = 6&lt;/P&gt;&lt;P&gt;            OTHERS                  = 7.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.                    " Unable to open dataset&lt;/P&gt;&lt;P&gt;    MESSAGE E022 WITH P_FILE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " OPEN_DATASET&lt;/P&gt;&lt;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  CLOSE_DATASET                                            *&lt;/P&gt;&lt;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;      Closes the dataset at end of processing.                       *&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 CLOSE_DATASET.&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;CLOSE DATASET W_FILE.                " Closes data set.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_CLOSE_DATASET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            LOGICAL_FILENAME        = W_FILE&lt;/P&gt;&lt;P&gt;            SECURE                  = 'YES'&lt;/P&gt;&lt;P&gt;            DELETE                  = 'YES'                 "&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          delete                  = 'no'                 " 4 testing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            FAILED_TO_CLOSE_FILE    = 1&lt;/P&gt;&lt;P&gt;            FAILED_IN_GET_FILE      = 2&lt;/P&gt;&lt;P&gt;            FAILED_TO_GET_FLAG_FILE = 3&lt;/P&gt;&lt;P&gt;            FAILED_TO_SECURE_FILE   = 4&lt;/P&gt;&lt;P&gt;            FAILED_TO_DELETE_FILE   = 5&lt;/P&gt;&lt;P&gt;            OTHERS                  = 6.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.                               " CLOSE_DATASET&lt;/P&gt;&lt;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  CHECK_FOR_ERRORS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This form checks for errors returned from the transaction      *&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 CHECK_FOR_ERRORS.                 " DEVK902795&lt;/P&gt;&lt;P&gt;                                       " DEVK902795&lt;/P&gt;&lt;P&gt;  CLEAR I_ERRORID.                     " DEVK902795&lt;/P&gt;&lt;P&gt;  LOOP AT I_ERRORID WHERE MSGTYP NE 'I' AND MSGTYP NE 'W'.  " DEVK917514&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM T100          " DEVK902795&lt;/P&gt;&lt;P&gt;    WHERE  SPRSL EQ SY-LANGU           " DEVK902795&lt;/P&gt;&lt;P&gt;    AND    ARBGB EQ I_ERRORID-MSGID    " DEVK902795&lt;/P&gt;&lt;P&gt;    AND    MSGNR EQ I_ERRORID-MSGNR.   " DEVK902795&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.                  " DEVK902795&lt;/P&gt;&lt;P&gt;      CLEAR I_DATA-MESSAGE.            " DEVK902795&lt;/P&gt;&lt;P&gt;      MODIFY I_DATA.                   " DEVK902795&lt;/P&gt;&lt;P&gt;    ELSE.                              " DEVK902795&lt;/P&gt;&lt;P&gt;      MOVE T100-TEXT TO W_MSG.         " DEVK902795&lt;/P&gt;&lt;P&gt;      REPLACE '&amp;amp;' WITH SY-MSGV1 INTO W_MSG.                 " DEVK902795&lt;/P&gt;&lt;P&gt;      IF SY-MSGV2 NE SPACE.            " DEVK902795&lt;/P&gt;&lt;P&gt;        REPLACE '&amp;amp;' WITH SY-MSGV2 INTO W_MSG.               " DEVK902795&lt;/P&gt;&lt;P&gt;        IF SY-MSGV3 NE SPACE.          " DEVK902795&lt;/P&gt;&lt;P&gt;          REPLACE '&amp;amp;' WITH SY-MSGV3 INTO W_MSG.             " DEVK902795&lt;/P&gt;&lt;P&gt;          IF SY-MSGV4 NE SPACE.        " DEVK902795&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH SY-MSGV4 INTO W_MSG.           " DEVK902795&lt;/P&gt;&lt;P&gt;          ENDIF.                       " DEVK902795&lt;/P&gt;&lt;P&gt;        ENDIF.                         " DEVK902795&lt;/P&gt;&lt;P&gt;      ENDIF.                           " DEVK902795&lt;/P&gt;&lt;P&gt;      CONDENSE W_MSG.                  " DEVK902795&lt;/P&gt;&lt;P&gt;      MOVE W_MSG TO I_DATA-MESSAGE.    " DEVK902795&lt;/P&gt;&lt;P&gt;      MODIFY I_DATA.                   " DEVK902795&lt;/P&gt;&lt;P&gt;    ENDIF.                             " DEVK902795&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " DEVK902795&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.                    " DEVK902795&lt;/P&gt;&lt;P&gt;    CLEAR I_DATA-MESSAGE.              " DEVK902795&lt;/P&gt;&lt;P&gt;    MODIFY I_DATA.                     " DEVK902795&lt;/P&gt;&lt;P&gt;  ENDIF.                               " DEVK902795&lt;/P&gt;&lt;P&gt;                                       " DEVK902795&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_FOR_ERRORS                DEVK902795&lt;/P&gt;&lt;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  CHECK_BANK_DETAILS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This form checks the bank details exist                        *&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 CHECK_BANK_DETAILS.               " DEVK903373&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Process only BACS type records and check bank details exist DEVK903373&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                       " DEVK903373&lt;/P&gt;&lt;P&gt;  CLEAR I_DATA.                        " DEVK903373&lt;/P&gt;&lt;P&gt;  LOOP AT I_DATA WHERE PAYIN EQ 'B'.   " DEVK903373&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM BNKA          " DEVK903373&lt;/P&gt;&lt;P&gt;    WHERE  BANKS EQ C_GB               " DEVK903373&lt;/P&gt;&lt;P&gt;    AND    BANKL EQ I_DATA-BANKI.      " DEVK903373&lt;/P&gt;&lt;P&gt;                                       " DEVK903373&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.                  " DEVK903373&lt;/P&gt;&lt;P&gt;      MOVE TEXT-107 TO I_DATA-MESSAGE. " DEVK917514&lt;/P&gt;&lt;P&gt;      MODIFY I_DATA.                   " DEVK903373&lt;/P&gt;&lt;P&gt;    ENDIF.                             " DEVK903373&lt;/P&gt;&lt;P&gt;                                       " DEVK903373&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " DEVK903373&lt;/P&gt;&lt;P&gt;                                       " DEVK903373&lt;/P&gt;&lt;P&gt;ENDFORM.                               " CHECK_BANK_DETAILS&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 09:06:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538745#M1072300</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T09:06:25Z</dc:date>
    </item>
    <item>
      <title>Re: Error during upload in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538746#M1072301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think ur Error message declaration is not profer..i vil send one program u follow likt that...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ex&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ls_infrec OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       recnnr(12) TYPE c,&lt;/P&gt;&lt;P&gt;       bukrs(4) TYPE c,&lt;/P&gt;&lt;P&gt;      END OF ls_infrec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lt_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:  lt_messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN  : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_flie TYPE  localfile.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_mode TYPE ctu_mode OBLIGATORY DEFAULT 'A' MODIF ID ch3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN  : END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF lt_messtab1 OCCURS 0,&lt;/P&gt;&lt;P&gt;        srnno(3) TYPE c.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE lt_messtab.&lt;/P&gt;&lt;P&gt;DATA : END OF lt_messtab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : lt_infrec LIKE ls_infrec OCCURS 0 .&lt;/P&gt;&lt;P&gt;DATA :  lv_srnno TYPE i,&lt;/P&gt;&lt;P&gt;        lv_message(300) TYPE c&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;DATA: idx(2) TYPE c VALUE '01',&lt;/P&gt;&lt;P&gt;      var TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_flie.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      field_name    = p_flie&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_name     = p_flie&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      mask_too_long = 1&lt;/P&gt;&lt;P&gt;      OTHERS        = 2.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM upload_file.&lt;/P&gt;&lt;P&gt;  PERFORM process_bdc_data.&lt;/P&gt;&lt;P&gt;  PERFORM format_bdc_message.&lt;/P&gt;&lt;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  upload_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;&lt;/P&gt;&lt;P&gt;FORM upload_file .&lt;/P&gt;&lt;P&gt;  DATA : lv_file TYPE string.&lt;/P&gt;&lt;P&gt;  lv_file = p_flie.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                = lv_file&lt;/P&gt;&lt;P&gt;      filetype                = 'DAT'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                = lt_infrec&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;  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;ENDFORM.                    " upload_file&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  process_bdc_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM process_bdc_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_infrec INTO ls_infrec .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH lt_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPLRECA_BDT_APPL_INITIAL' '1000'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=RECA_CHANGE'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RECN_CONTRACT_X-BUKRS'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RECN_CONTRACT_X-BUKRS'&lt;/P&gt;&lt;P&gt;                              ls_infrec-bukrs.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RECN_CONTRACT_X-RECNNR'&lt;/P&gt;&lt;P&gt;                              ls_infrec-recnnr.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPLRECA_BDT_APPL_TOOL' '0100'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=RECA_COSETTLERULE'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'REGCFLDS_FE-OBJIDENT'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'REGCFLDS_FE-OBJIDENT'&lt;/P&gt;&lt;P&gt;                              'BU IN01/10000000/10000002'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'REGCFLDS_FE-PARTNER'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '2000000032'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'REGCFLDS_FE-RECNBEG'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '2007/01/01'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'REGCFLDS_FE-RECNEND1ST'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '2010/12/31'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'REGCFLDS-RECNTXT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             'Test CLI contract with WHT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPLKOBS' '0130'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'COBRB-KONTY(01)'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=PARA'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPLKOBS' '0110'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'COBRA-ABSCH'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=BACK'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'COBRA-APROF'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             'SAS1RE'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform bdc_field       using 'COBRA-ABSCH'&lt;/P&gt;&lt;P&gt;                              'A4'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPLKOBS' '0130'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'COBRB-KONTY(01)'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=BACK'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPLRECA_BDT_APPL_TOOL' '0100'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=RECA_BDT_STORE'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'REGCFLDS_FE-OBJIDENT'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'REGCFLDS_FE-OBJIDENT'&lt;/P&gt;&lt;P&gt;                              'BU IN01/10000000/10000002'.&lt;/P&gt;&lt;P&gt;*perform bdc_field       using 'REGCFLDS_FE-PARTNER'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '2000000032'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'REGCFLDS_FE-RECNBEG'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '2007/01/01'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'REGCFLDS_FE-RECNEND1ST'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             '2010/12/31'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*perform bdc_field       using 'REGCFLDS-RECNTXT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             'Test CLI contract with WHT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL TRANSACTION 'RECN' USING lt_bdcdata MODE p_mode MESSAGES INTO lt_messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform close_group.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_messtab.&lt;/P&gt;&lt;P&gt;    lv_srnno = lv_srnno + 1.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING lt_messtab TO lt_messtab1.&lt;/P&gt;&lt;P&gt;    lt_messtab1-srnno = lv_srnno.&lt;/P&gt;&lt;P&gt;    APPEND lt_messtab1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "process_bdc_data&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;       Start new screen                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING program dynpro.&lt;/P&gt;&lt;P&gt;  CLEAR lt_bdcdata.&lt;/P&gt;&lt;P&gt;  lt_bdcdata-program  = program.&lt;/P&gt;&lt;P&gt;  lt_bdcdata-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  lt_bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND lt_bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "bdc_dynpro&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;       Insert field                                                  *&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 bdc_field USING fnam fval.&lt;/P&gt;&lt;P&gt;  IF fval &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;    CLEAR lt_bdcdata.&lt;/P&gt;&lt;P&gt;    lt_bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;    lt_bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;    APPEND lt_bdcdata.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  format_bdc_message&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM format_bdc_message .&lt;/P&gt;&lt;P&gt;  LOOP AT lt_messtab1 WHERE msgtyp = 'S' .&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        id        = lt_messtab1-msgid&lt;/P&gt;&lt;P&gt;        lang      = sy-langu&lt;/P&gt;&lt;P&gt;        no        = lt_messtab1-msgnr&lt;/P&gt;&lt;P&gt;        v1        = lt_messtab1-msgv1&lt;/P&gt;&lt;P&gt;        v2        = lt_messtab1-msgv2&lt;/P&gt;&lt;P&gt;        v3        = lt_messtab1-msgv3&lt;/P&gt;&lt;P&gt;        v4        = lt_messtab1-msgv4&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        msg       = lv_message&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        not_found = 1&lt;/P&gt;&lt;P&gt;        OTHERS    = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/2 lt_messtab1-srnno,6 lv_message .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 09:14:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538746#M1072301</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T09:14:41Z</dc:date>
    </item>
    <item>
      <title>Re: Error during upload in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538747#M1072302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Any other views?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 10:09:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538747#M1072302</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T10:09:03Z</dc:date>
    </item>
    <item>
      <title>Re: Error during upload in BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538748#M1072303</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;Any other view mean...Atleast u can get any idea from that from..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards;&lt;/P&gt;&lt;P&gt;Prabu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Sep 2008 10:11:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-during-upload-in-bdc/m-p/4538748#M1072303</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-30T10:11:56Z</dc:date>
    </item>
  </channel>
</rss>

