<?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: BDC For FB01 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345962#M174277</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vinay and deepak ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also need to develop a BDC for the transaction FB01 .&lt;/P&gt;&lt;P&gt;I saw the source code.&lt;/P&gt;&lt;P&gt;Can i Also get the excel file which u have used during  developing the bdc &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in anticipation,&lt;/P&gt;&lt;P&gt;Rishabh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 17 Nov 2006 15:27:47 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-11-17T15:27:47Z</dc:date>
    <item>
      <title>BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345957#M174272</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;ANYONE DEVELOPED BDC fOR FB01 T-Code, Please send the source code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Deepak&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jun 2006 11:29:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345957#M174272</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-10T11:29:26Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345958#M174273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Deepak,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZFICO003_FB01&lt;/P&gt;&lt;P&gt;       MESSAGE-ID 38&lt;/P&gt;&lt;P&gt;       LINE-SIZE 180&lt;/P&gt;&lt;P&gt;       LINE-COUNT 56&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;TABLES: T100.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Batchinputdata of single transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: GV_PATH TYPE STRING.&lt;/P&gt;&lt;P&gt;DATA: GV_INDEX TYPE SY-INDEX.&lt;/P&gt;&lt;P&gt;DATA: GV_INDEX1 TYPE SY-INDEX.&lt;/P&gt;&lt;P&gt;DATA :GV_TOTAL TYPE SY-INDEX.&lt;/P&gt;&lt;P&gt;DATA: VDATU TYPE SY-DATUM.&lt;/P&gt;&lt;P&gt;DATA:V_DATE TYPE SY-DATUM.&lt;/P&gt;&lt;P&gt;DATA V_ERROR_FLAG(1)   TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--DECLARATION OF CONSTANTS&lt;/P&gt;&lt;P&gt;CONSTANTS: c_x(1)          TYPE c VALUE 'X',&lt;/P&gt;&lt;P&gt;           c_amp(1) TYPE c VALUE '&amp;amp;',                  " For &amp;amp;&lt;/P&gt;&lt;P&gt;           c_invalid_pc(7) TYPE c VALUE '/*?"&amp;lt;&amp;gt;|'.  "Invalid Chars&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*STRUCTURE&lt;/P&gt;&lt;P&gt;*--structure for the record&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF RECORD,&lt;/P&gt;&lt;P&gt;      BUKRS(4)       TYPE C,   "COMPANY CODE&lt;/P&gt;&lt;P&gt;      INVOICE(8)     TYPE C,   " REFERENCE Invoice Number - SAP Document&lt;/P&gt;&lt;P&gt;      GE_CUSTOMER(5) TYPE C,   "Customer Number&lt;/P&gt;&lt;P&gt;      GE_BILLTO(2)   TYPE C,   "Bill To Code on Legacy&lt;/P&gt;&lt;P&gt;      VALUE(11)      TYPE C,   "Invoice Value&lt;/P&gt;&lt;P&gt;      DB_R(1)        TYPE C,   "Debit/Credit (0=DB 1=CR)&lt;/P&gt;&lt;P&gt;      INVDATE(10)    TYPE C,   "Invoice Date format dd/mm/yyyy&lt;/P&gt;&lt;P&gt;      WRBTR(11)      TYPE C,  "Signed Numeric value&lt;/P&gt;&lt;P&gt;      TERMS(4)       TYPE C,    "Payment Terms Code&lt;/P&gt;&lt;P&gt;      PO_NUMBER(18)  TYPE C,    "Customer Purchase Order Number&lt;/P&gt;&lt;P&gt;      CHK_ID(6)      TYPE C,    "Cheque Number&lt;/P&gt;&lt;P&gt;      ITEM_NOTES(50) TYPE C,    "Item Notes&lt;/P&gt;&lt;P&gt;      LATE_REASON(3) TYPE C,    "Reason Code for Late/Non Payment&lt;/P&gt;&lt;P&gt;      CURRENCY(4)    TYPE C,    "CURRENCY&lt;/P&gt;&lt;P&gt;      AKONT(10)      TYPE C,      "ACCOUNT NO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERIOD(2)      TYPE C,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      END OF RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal tables&lt;/P&gt;&lt;P&gt;*-----Flat file&lt;/P&gt;&lt;P&gt;DATA: IT_RECORD LIKE RECORD OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*--sucessful log file&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_ERRORFILE OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INDEX TYPE SY-INDEX,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      GLACCOUNT(10)  TYPE C ,   " gl acct&lt;/P&gt;&lt;P&gt;      BUKRS(4)       TYPE C,   "COMPANY CODE&lt;/P&gt;&lt;P&gt;      INVOICE(8)     TYPE C,   " REFERENCE Invoice Number - SAP Document&lt;/P&gt;&lt;P&gt;      GE_CUSTOMER(5) TYPE C,   "Customer Number&lt;/P&gt;&lt;P&gt;      GE_BILLTO(2)   TYPE C,   "Bill To Code on Legacy&lt;/P&gt;&lt;P&gt;      VALUE(11)      TYPE C,   "Invoice Value&lt;/P&gt;&lt;P&gt;      DB_R(1)        TYPE C,   "Debit/Credit (0=DB 1=CR)&lt;/P&gt;&lt;P&gt;      INVDATE(10)    TYPE C,   "Invoice Date&lt;/P&gt;&lt;P&gt;      WRBTR(11)      TYPE  C,  "Signed Numeric value&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERIOD(2)      TYPE C,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TERMS(4)       TYPE C,           "Payment Terms Code&lt;/P&gt;&lt;P&gt;      PO_NUMBER(18)  TYPE C,           "Customer Purchase Order Number&lt;/P&gt;&lt;P&gt;      CHK_ID(6)      TYPE C,           "Cheque Number&lt;/P&gt;&lt;P&gt;      ITEM_NOTES(50) TYPE C,           "Item Notes&lt;/P&gt;&lt;P&gt;      LATE_REASON(3) TYPE C,           "Reason Code for Late/Non Payment&lt;/P&gt;&lt;P&gt;      CURRENCY(4)    TYPE C,           "CURRENCY&lt;/P&gt;&lt;P&gt;      AKONT(10)      TYPE C,            "ACCOUNT NO.&lt;/P&gt;&lt;P&gt;      FILE(300)     TYPE C,             "Error Msg&lt;/P&gt;&lt;P&gt;      END OF IT_ERRORFILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_FILE LIKE IT_ERRORFILE OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--SELECTION SCREEN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Presentation server details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARAMETERS: RB_PRES RADIOBUTTON GROUP FILE DEFAULT 'X',&lt;/P&gt;&lt;P&gt;            P_PFILE  LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;            P_PFILE1 LIKE RLGRAP-FILENAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Application server details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;PARAMETERS: RB_UNIX RADIOBUTTON GROUP FILE,&lt;/P&gt;&lt;P&gt;            P_AFILE  LIKE FILENAME-FILEINTERN LOWER CASE DEFAULT&lt;/P&gt;&lt;P&gt;            '/usr/sap/D51/DVEBMGS11/work/sap_in/',&lt;/P&gt;&lt;P&gt;            P_AFILE1  LIKE FILENAME-FILEINTERN LOWER CASE DEFAULT&lt;/P&gt;&lt;P&gt;            '/usr/sap/D51/DVEBMGS11/work/sap_out/'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****Document type&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BLK3 WITH FRAME TITLE TEXT-040.&lt;/P&gt;&lt;P&gt;PARAMETERS:  P_blart LIKE bkpf-blart obligatory  default 'AR' .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PFILE.&lt;/P&gt;&lt;P&gt;*--help to locate the flat file&lt;/P&gt;&lt;P&gt;  PERFORM FILE_OPEN CHANGING p_pfile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pfile1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Help to locate the flat file for output&lt;/P&gt;&lt;P&gt;  PERFORM file_open CHANGING p_pfile1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--SELECTION SCREEN VALIDATIONS&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF RB_PRES = C_X AND SY-BATCH = 'X'.&lt;/P&gt;&lt;P&gt;    MESSAGE e000 WITH 'You cannot schedule a Background Job'(027)&lt;/P&gt;&lt;P&gt;                'if file is from the presentation server'(028).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validate All Filenames for Mandatory Entry and Invalid Chars.&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_ALL_FILENAMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM DIS_LOG.&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;P&gt;*start of selection&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*--Get the data from flat file.&lt;/P&gt;&lt;P&gt;  IF RB_PRES = C_X.&lt;/P&gt;&lt;P&gt;    PERFORM DATA_UPLOAD_PC.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM DATA_UPLOAD_UNIX.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check amount contain ','.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CHECK_AMOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--perform batch input&lt;/P&gt;&lt;P&gt;  IF IT_RECORD[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM BATCH_INPUT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*END OF SELECTION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*--OUTPUT&lt;/P&gt;&lt;P&gt;  IF NOT V_ERROR_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    PERFORM DIPLAY_LOG.&lt;/P&gt;&lt;P&gt;    IF NOT IT_ERRORFILE[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF rb_pres = c_x.&lt;/P&gt;&lt;P&gt;        PERFORM write_output_pres. "Output to Presentation Server&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM write_output_appl. "Output to Application Server&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;    IF rb_pres = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM write_input_bkp_appl. "Input file backup to Application Server&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;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  FILE_OPEN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILE_OPEN changing l_pfile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:  IT_FILETABLE TYPE FILETABLE,&lt;/P&gt;&lt;P&gt;          LV_FILETABLE TYPE STRING,&lt;/P&gt;&lt;P&gt;          LV_RC TYPE I.&lt;/P&gt;&lt;P&gt;  CALL METHOD CL_GUI_FRONTEND_SERVICES=&amp;gt;FILE_OPEN_DIALOG&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      INITIAL_DIRECTORY       = GV_PATH&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      FILE_TABLE              = IT_FILETABLE&lt;/P&gt;&lt;P&gt;      RC                      = LV_RC&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      FILE_OPEN_DIALOG_FAILED = 1&lt;/P&gt;&lt;P&gt;      CNTL_ERROR              = 2&lt;/P&gt;&lt;P&gt;      ERROR_NO_GUI            = 3&lt;/P&gt;&lt;P&gt;      NOT_SUPPORTED_BY_GUI    = 4&lt;/P&gt;&lt;P&gt;      OTHERS                  = 5.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    READ TABLE IT_FILETABLE INTO l_PFILE INDEX 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FILE_OPEN&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  DATA_UPLOAD_PC&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DATA_UPLOAD_PC .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Local data&lt;/P&gt;&lt;P&gt;  DATA: LV_FILENAME TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;check for the path&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;  IF P_PFILE IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    LV_FILENAME = P_PFILE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LV_FILENAME = GV_PATH.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--to upload the data from flat file&lt;/P&gt;&lt;P&gt;  IF LV_FILENAME IS NOT INITIAL.&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_FILENAME&lt;/P&gt;&lt;P&gt;        FILETYPE                = 'ASC'&lt;/P&gt;&lt;P&gt;        HAS_FIELD_SEPARATOR     = 'X'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        DATA_TAB                = IT_RECORD&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 I000(ZD51) WITH 'Error while uploading data'(113).&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_UPLOAD_PC&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  batch_input&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BATCH_INPUT .&lt;/P&gt;&lt;P&gt;  DATA:  LV_POSTKEY(2),&lt;/P&gt;&lt;P&gt;         LV_REVPOSTKEY(2),&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        V_VALUE(11) TYPE C.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         v_value like bseg-wrbtr,&lt;/P&gt;&lt;P&gt;         v_amount(16),&lt;/P&gt;&lt;P&gt;         L_WRBTR LIKE BSEG-WRBTR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: V_DATUM LIKE SY-DATUM.&lt;/P&gt;&lt;P&gt;  DATA: V_DATE(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_curr like bkpf-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: LC_1(1) TYPE C VALUE '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_RECORD INTO RECORD.&lt;/P&gt;&lt;P&gt;*--batch input for t.code fb01&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GV_TOTAL = GV_TOTAL + 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0100'.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'RF05A-NEWKO'.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;    CONCATENATE   RECORD-INVDATE+6(4)&lt;/P&gt;&lt;P&gt;                  RECORD-INVDATE+3(2)&lt;/P&gt;&lt;P&gt;                  RECORD-INVDATE+0(2)&lt;/P&gt;&lt;P&gt;            INTO  V_DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE V_DATUM TO V_DATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BKPF-BLDAT' V_DATE.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BKPF-BLART'  p_blart. "type-AR def&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             record-BLART.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BKPF-BUKRS'  RECORD-BUKRS.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BKPF-BUDAT'  V_DATE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM BDC_FIELD       USING 'BKPF-MONAT'  RECORD-PERIOD.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BKPF-WAERS'  RECORD-CURRENCY.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BKPF-XBLNR'  RECORD-INVOICE.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BKPF-BKTXT'  RECORD-PO_NUMBER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*debit/credit '1'&lt;/P&gt;&lt;P&gt;    IF RECORD-DB_R = LC_1.&lt;/P&gt;&lt;P&gt;      LV_POSTKEY = '01'.                                    "pstkey 01&lt;/P&gt;&lt;P&gt;      LV_REVPOSTKEY = '50'.  "pstkey 50 +ve values&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;*debit/credit '0'&lt;/P&gt;&lt;P&gt;      LV_POSTKEY = '11'.      "pst 11 for negative&lt;/P&gt;&lt;P&gt;      LV_REVPOSTKEY = '40'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'RF05A-NEWBS'  LV_POSTKEY.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'RF05A-NEWKO'  RECORD-GE_CUSTOMER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0301'.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'RF05A-NEWKO'.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_WRBTR = RECORD-WRBTR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF L_WRBTR &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      V_VALUE = RECORD-WRBTR.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      V_VALUE = RECORD-WRBTR * -1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear v_amount.&lt;/P&gt;&lt;P&gt;    l_curr = RECORD-CURRENCY.&lt;/P&gt;&lt;P&gt;    write v_value currency l_curr to v_amount.&lt;/P&gt;&lt;P&gt;    CONDENSE V_AMOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BSEG-WRBTR'  V_amount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BSEG-ZTERM'  RECORD-TERMS.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BSEG-SGTXT'  RECORD-PO_NUMBER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'RF05A-NEWBS' LV_REVPOSTKEY.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'RF05A-NEWKO' RECORD-AKONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_DYNPRO      USING 'SAPMF05A' '0300'.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'BSEG-SGTXT'.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BDC_OKCODE' '=BU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BSEG-WRBTR' V_AMOUNT.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BSEG-SGTXT' RECORD-PO_NUMBER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM BDC_DYNPRO      USING 'SAPLKACB' '0002'.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_FIELD       USING 'BDC_OKCODE' '=ENTE'.&lt;/P&gt;&lt;P&gt;    PERFORM BDC_TRANSACTION USING 'FB01'.&lt;/P&gt;&lt;P&gt;    CLEAR L_WRBTR.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " batch_input&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  BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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 BDCDATA.&lt;/P&gt;&lt;P&gt;    BDCDATA-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;    BDCDATA-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;    APPEND BDCDATA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&lt;/P&gt;&lt;P&gt;  CLEAR BDCDATA.&lt;/P&gt;&lt;P&gt;  BDCDATA-PROGRAM  = PROGRAM.&lt;/P&gt;&lt;P&gt;  BDCDATA-DYNPRO   = DYNPRO.&lt;/P&gt;&lt;P&gt;  BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BDC_TRANSACTION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_TRANSACTION USING TCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: L_MSTRING(480).&lt;/P&gt;&lt;P&gt;  DATA: L_SUBRC LIKE SY-SUBRC,&lt;/P&gt;&lt;P&gt;        L_GLACT(12) TYPE C.&lt;/P&gt;&lt;P&gt;  CLEAR:L_MSTRING,BDCDATA,L_SUBRC.&lt;/P&gt;&lt;P&gt;  REFRESH MESSTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: v_mode(1) VALUE 'N',&lt;/P&gt;&lt;P&gt;        l_tlines TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:    l_mesg TYPE string,&lt;/P&gt;&lt;P&gt;           l_cnt TYPE i,&lt;/P&gt;&lt;P&gt;           l_lines TYPE sytfill,&lt;/P&gt;&lt;P&gt;           l_msg_text LIKE t100,&lt;/P&gt;&lt;P&gt;           l_msg_id   LIKE t100-arbgb,&lt;/P&gt;&lt;P&gt;           l_msg_no   LIKE t100-msgnr,&lt;/P&gt;&lt;P&gt;           l_msg_var1 LIKE balm-msgv1,&lt;/P&gt;&lt;P&gt;           l_msg_var2 LIKE balm-msgv2,&lt;/P&gt;&lt;P&gt;           l_msg_var3 LIKE balm-msgv3,&lt;/P&gt;&lt;P&gt;           l_msg_var4 LIKE balm-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION TCODE USING BDCDATA&lt;/P&gt;&lt;P&gt;                   MODE  V_MODE  " no screen&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   MODE  'A'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                   UPDATE 'A'  " asynchronus&lt;/P&gt;&lt;P&gt;                   MESSAGES INTO MESSTAB. " messages&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_SUBRC = SY-SUBRC.&lt;/P&gt;&lt;P&gt;  REFRESH BDCDATA.&lt;/P&gt;&lt;P&gt;  SORT MESSTAB BY MSGTYP msgnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT MESSTAB.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             AND   ARBGB = MESSTAB-MSGID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             AND   MSGNR = MESSTAB-MSGNR.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;error records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF l_subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*- populate output records&lt;/P&gt;&lt;P&gt;    CLEAR: l_tlines, l_mesg.&lt;/P&gt;&lt;P&gt;    PERFORM get_message USING messtab&lt;/P&gt;&lt;P&gt;                        CHANGING l_mesg.&lt;/P&gt;&lt;P&gt;    gv_index = gv_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_errorfile-index = gv_index.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_errorfile-vbeln = record-vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    move-corresponding record to it_errorfile.&lt;/P&gt;&lt;P&gt;    it_errorfile-file = l_mesg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND it_errorfile.&lt;/P&gt;&lt;P&gt;    CLEAR  it_errorfile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    READ TABLE messtab WITH KEY msgtyp = 'S' msgnr = '312'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      l_msg_id    = messtab-msgid.&lt;/P&gt;&lt;P&gt;      l_msg_no    = messtab-msgnr.&lt;/P&gt;&lt;P&gt;      l_msg_var1  = messtab-msgv1.&lt;/P&gt;&lt;P&gt;      l_msg_var2  = messtab-msgv2.&lt;/P&gt;&lt;P&gt;      l_msg_var3  = messtab-msgv3.&lt;/P&gt;&lt;P&gt;      l_msg_var4  = messtab-msgv4.&lt;/P&gt;&lt;P&gt;      CLEAR l_mesg.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE text FROM t100 INTO l_mesg&lt;/P&gt;&lt;P&gt;            WHERE  sprsl   =  sy-langu&lt;/P&gt;&lt;P&gt;            AND    arbgb   =  l_msg_id&lt;/P&gt;&lt;P&gt;            AND    msgnr   =  l_msg_no.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        l_cnt = 1.&lt;/P&gt;&lt;P&gt;        DO 4 TIMES.&lt;/P&gt;&lt;P&gt;          CASE l_cnt.&lt;/P&gt;&lt;P&gt;            WHEN 1.&lt;/P&gt;&lt;P&gt;              REPLACE c_amp WITH l_msg_var1 INTO l_mesg.&lt;/P&gt;&lt;P&gt;            WHEN 2.&lt;/P&gt;&lt;P&gt;              REPLACE c_amp WITH l_msg_var2 INTO l_mesg.&lt;/P&gt;&lt;P&gt;            WHEN 3.&lt;/P&gt;&lt;P&gt;              REPLACE c_amp WITH l_msg_var3 INTO l_mesg.&lt;/P&gt;&lt;P&gt;            WHEN 4.&lt;/P&gt;&lt;P&gt;              REPLACE c_amp WITH l_msg_var4 INTO l_mesg.&lt;/P&gt;&lt;P&gt;          ENDCASE.&lt;/P&gt;&lt;P&gt;          CONDENSE l_mesg.&lt;/P&gt;&lt;P&gt;          l_cnt = l_cnt + 1.&lt;/P&gt;&lt;P&gt;        ENDDO.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    gv_index1 = gv_index1 + 1.&lt;/P&gt;&lt;P&gt;    move l_msg_var1 to it_file-glaccount.&lt;/P&gt;&lt;P&gt;    move-corresponding record to it_file.&lt;/P&gt;&lt;P&gt;    it_file-file = l_mesg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND it_file.&lt;/P&gt;&lt;P&gt;    CLEAR  it_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_TRANSACTION&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  DIS_LOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DIS_LOG .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT_HEADER'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;             TITLE   = SY-TITLE&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              OTHERS  = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : / TEXT-005,                    "GE-Fanuc&lt;/P&gt;&lt;P&gt;              011 TEXT-006,              "Document&lt;/P&gt;&lt;P&gt;              020 TEXT-009,              "Company&lt;/P&gt;&lt;P&gt;              028 TEXT-011,              "Accounting&lt;/P&gt;&lt;P&gt;              039 TEXT-013,              "GE-Cust&lt;/P&gt;&lt;P&gt;              052 TEXT-016,              "Value&lt;/P&gt;&lt;P&gt;              072 TEXT-017,              "Cheque&lt;/P&gt;&lt;P&gt;              086 TEXT-019,              "Item Notes&lt;/P&gt;&lt;P&gt;              100 'G/L ACCT'.&lt;/P&gt;&lt;P&gt;  WRITE: /  TEXT-006 ,   "Document&lt;/P&gt;&lt;P&gt;            011 TEXT-008,   "Date&lt;/P&gt;&lt;P&gt;            020 TEXT-010,   "Code&lt;/P&gt;&lt;P&gt;            039 TEXT-018,   "Number&lt;/P&gt;&lt;P&gt;            072 TEXT-018.   "Number&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DIS_LOG&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  DIPLAY_LOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DIPLAY_LOG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_ERRORFILE LINES GV_INDEX.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  WRITE:/15 'TOTAL NUMBER OF RECORDS:           ',GV_TOTAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/15 'TOTAL NUMBER OF SUCCESSFUL RECORDS:',GV_INDEX1.&lt;/P&gt;&lt;P&gt;  WRITE:/15 'TOTAL NUMBER OF ERROR  RECORDS:    ',GV_INDEX.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_FILE.&lt;/P&gt;&lt;P&gt;    SKIP 1.&lt;/P&gt;&lt;P&gt;    AT FIRST.&lt;/P&gt;&lt;P&gt;      WRITE:/15 'RECORDS POSTED.', GV_INDEX1.&lt;/P&gt;&lt;P&gt;      SKIP 1.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    WRITE: / IT_FILE-INVOICE ,      "GE-Fanuc JE Number&lt;/P&gt;&lt;P&gt;            011 IT_FILE-INVDATE,       "Document Date&lt;/P&gt;&lt;P&gt;            022 IT_FILE-BUKRS  ,       "Company Code&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           030 IT_FILE-PERIOD ,      "Accounting Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            041 IT_FILE-AKONT  ,   "Account Number&lt;/P&gt;&lt;P&gt;            054 IT_FILE-VALUE  ,          "Value&lt;/P&gt;&lt;P&gt;            074 IT_FILE-CHK_ID   ,     "Cheque&lt;/P&gt;&lt;P&gt;            088 IT_FILE-ITEM_NOTES ,  "Item Notes&lt;/P&gt;&lt;P&gt;            102 IT_FILE-GLACCOUNT,&lt;/P&gt;&lt;P&gt;            114 IT_FILE-FILE+0(68).&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;  SKIP 4.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_ERRORFILE.&lt;/P&gt;&lt;P&gt;    SKIP 1.&lt;/P&gt;&lt;P&gt;    AT FIRST.&lt;/P&gt;&lt;P&gt;      WRITE:/05 'ERROR RECORDS.', GV_INDEX.&lt;/P&gt;&lt;P&gt;      SKIP 2.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    WRITE: / IT_ERRORFILE-INVOICE ,      "GE-Fanuc JE Number&lt;/P&gt;&lt;P&gt;            011 IT_ERRORFILE-INVDATE,       "Document Date&lt;/P&gt;&lt;P&gt;            022 IT_ERRORFILE-BUKRS  ,       "Company Code&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           030 IT_ERRORFILE-PERIOD ,      "Accounting Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            041 IT_ERRORFILE-AKONT  ,   "Account Number&lt;/P&gt;&lt;P&gt;            054 IT_ERRORFILE-VALUE  ,          "Value&lt;/P&gt;&lt;P&gt;            074 IT_ERRORFILE-CHK_ID   ,     "Cheque&lt;/P&gt;&lt;P&gt;            088 IT_ERRORFILE-ITEM_NOTES ,  "Item Notes&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           100 IT_ERRORFILE-GLACCOUNT,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            114 IT_ERRORFILE-FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DIPLAY_LOG&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  DATE_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_RECORD_VDATU  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 DATE_CONVERSION USING P_RECORD_VDATU .&lt;/P&gt;&lt;P&gt;  CLEAR:VDATU,V_DATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_RECORD_VDATU  CA '/.-'.&lt;/P&gt;&lt;P&gt;    TRANSLATE P_RECORD_VDATU USING '/ . - '.&lt;/P&gt;&lt;P&gt;    CONDENSE P_RECORD_VDATU NO-GAPS.&lt;/P&gt;&lt;P&gt;    VDATU&lt;EM&gt;6(2) = P_RECORD_VDATU&lt;/EM&gt;0(2).&lt;/P&gt;&lt;P&gt;    VDATU&lt;EM&gt;4(2) = P_RECORD_VDATU&lt;/EM&gt;2(2).&lt;/P&gt;&lt;P&gt;    VDATU&lt;EM&gt;0(4) = P_RECORD_VDATU&lt;/EM&gt;4(4).&lt;/P&gt;&lt;P&gt;    WRITE VDATU TO V_DATE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATE_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DATA_UPLOAD_UNIX&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 DATA_UPLOAD_UNIX .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR IT_RECORD.&lt;/P&gt;&lt;P&gt;  REFRESH IT_RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Open Dataset&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_AFILE FOR INPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;*-- Read Dataset and Populate Input file data to Internal Table&lt;/P&gt;&lt;P&gt;      READ DATASET P_AFILE INTO IT_RECORD.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM SPLIT_DATA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        APPEND IT_RECORD.&lt;/P&gt;&lt;P&gt;        CLEAR  IT_RECORD.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    if sy-batch = 'X'.&lt;/P&gt;&lt;P&gt;      MESSAGE 'Input File not found'(100) TYPE 'E'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE 'Input File not found'(100) TYPE 'I'.&lt;/P&gt;&lt;P&gt;      LEAVE LIST-PROCESSING.&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;*-- Close Dataset&lt;/P&gt;&lt;P&gt;  CLOSE DATASET P_AFILE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_UPLOAD_UNIX&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  write_output_appl&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;      Output to Application Server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 write_output_appl .&lt;/P&gt;&lt;P&gt;  DATA: l_record LIKE LINE OF IT_ERRORFILE.&lt;/P&gt;&lt;P&gt;  data: l_loc TYPE i,&lt;/P&gt;&lt;P&gt;      l_lng TYPE i,&lt;/P&gt;&lt;P&gt;      l_cmd(80) TYPE c,&lt;/P&gt;&lt;P&gt;      l_fil(80) TYPE c,&lt;/P&gt;&lt;P&gt;      l_file LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_loc = 1.&lt;/P&gt;&lt;P&gt;  WHILE sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SEARCH p_afile FOR '/' STARTING AT l_loc.&lt;/P&gt;&lt;P&gt;    IF sy-fdpos GT 0.&lt;/P&gt;&lt;P&gt;      ADD sy-fdpos TO l_loc.&lt;/P&gt;&lt;P&gt;      l_cmd = p_afile(l_loc).&lt;/P&gt;&lt;P&gt;      l_lng = 60 - l_loc.&lt;/P&gt;&lt;P&gt;      l_fil = p_afile+l_loc(l_lng).&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      ADD 1 TO l_loc.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Build file name&lt;/P&gt;&lt;P&gt;  CONCATENATE&lt;/P&gt;&lt;P&gt;  '/usr/sap/D51/DVEBMGS11/work/sap_out/' l_fil sy-datum sy-uzeit&lt;/P&gt;&lt;P&gt;    INTO l_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONDENSE l_file NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;*-- Build Filename&lt;/P&gt;&lt;P&gt;  CONCATENATE l_file '_err'(099) sy-datum sy-uzeit INTO p_afile1.&lt;/P&gt;&lt;P&gt;  CONDENSE p_afile1 NO-GAPS.&lt;/P&gt;&lt;P&gt;*-- Open Dataset&lt;/P&gt;&lt;P&gt;  OPEN DATASET p_afile1 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e000 WITH 'Unable to open output file.'(098).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT IT_ERRORFILE INTO l_record.&lt;/P&gt;&lt;P&gt;      TRANSFER l_record TO p_afile1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    WRITE:/ 'File successfully written onto application server'(097).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Close Dataset&lt;/P&gt;&lt;P&gt;  CLOSE DATASET p_afile1.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " write_output_appl&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  write_output_pres&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;      Output to Presentation Server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM write_output_pres .&lt;/P&gt;&lt;P&gt;  DATA: l_file TYPE string.&lt;/P&gt;&lt;P&gt;  l_file = p_pfile1.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                  = l_file&lt;/P&gt;&lt;P&gt;      filetype                  = 'ASC'&lt;/P&gt;&lt;P&gt;      write_field_separator     = 'X'&lt;/P&gt;&lt;P&gt;      trunc_trailing_blanks_eol = 'X'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                  = IT_ERRORFILE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_write_error          = 1&lt;/P&gt;&lt;P&gt;      no_batch                  = 2&lt;/P&gt;&lt;P&gt;      gui_refuse_filetransfer   = 3&lt;/P&gt;&lt;P&gt;      invalid_type              = 4&lt;/P&gt;&lt;P&gt;      no_authority              = 5&lt;/P&gt;&lt;P&gt;      unknown_error             = 6&lt;/P&gt;&lt;P&gt;      header_not_allowed        = 7&lt;/P&gt;&lt;P&gt;      separator_not_allowed     = 8&lt;/P&gt;&lt;P&gt;      filesize_not_allowed      = 9&lt;/P&gt;&lt;P&gt;      header_too_long           = 10&lt;/P&gt;&lt;P&gt;      dp_error_create           = 11&lt;/P&gt;&lt;P&gt;      dp_error_send             = 12&lt;/P&gt;&lt;P&gt;      dp_error_write            = 13&lt;/P&gt;&lt;P&gt;      unknown_dp_error          = 14&lt;/P&gt;&lt;P&gt;      access_denied             = 15&lt;/P&gt;&lt;P&gt;      dp_out_of_memory          = 16&lt;/P&gt;&lt;P&gt;      disk_full                 = 17&lt;/P&gt;&lt;P&gt;      dp_timeout                = 18&lt;/P&gt;&lt;P&gt;      file_not_found            = 19&lt;/P&gt;&lt;P&gt;      dataprovider_exception    = 20&lt;/P&gt;&lt;P&gt;      control_flush_error       = 21&lt;/P&gt;&lt;P&gt;      OTHERS                    = 22.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SKIP 3.&lt;/P&gt;&lt;P&gt;    WRITE:/ 'File successfully written onto Presentation Server'(096).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " write_output_pres&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  write_input_bkp_appl&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM write_input_bkp_appl .&lt;/P&gt;&lt;P&gt;*- Move input file to /usr/sap/D51/DVEBMGS11/work/sap_in/bak&lt;/P&gt;&lt;P&gt;  data: l_loc TYPE i,&lt;/P&gt;&lt;P&gt;        l_lng TYPE i,&lt;/P&gt;&lt;P&gt;        l_cmd(80) TYPE c,&lt;/P&gt;&lt;P&gt;        l_fil(80) TYPE c,&lt;/P&gt;&lt;P&gt;        l_file LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_RECORD1 LIKE LINE OF IT_RECORD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Find the local directory&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_loc = 1.&lt;/P&gt;&lt;P&gt;  WHILE sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SEARCH p_afile FOR '/' STARTING AT l_loc.&lt;/P&gt;&lt;P&gt;    IF sy-fdpos GT 0.&lt;/P&gt;&lt;P&gt;      ADD sy-fdpos TO l_loc.&lt;/P&gt;&lt;P&gt;      l_cmd = p_afile(l_loc).&lt;/P&gt;&lt;P&gt;      l_lng = 60 - l_loc.&lt;/P&gt;&lt;P&gt;      l_fil = p_afile+l_loc(l_lng).&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      ADD 1 TO l_loc.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Build file name&lt;/P&gt;&lt;P&gt;  CONCATENATE&lt;/P&gt;&lt;P&gt;  '/usr/sap/D51/DVEBMGS11/work/sap_in/bak/' l_fil SY-DATUM SY-UZEIT&lt;/P&gt;&lt;P&gt;   INTO l_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONDENSE l_file NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Open Dataset&lt;/P&gt;&lt;P&gt;  OPEN DATASET l_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    LOOP AT it_record INTO l_record1.&lt;/P&gt;&lt;P&gt;      TRANSFER l_record1 TO l_file.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Close Dataset&lt;/P&gt;&lt;P&gt;  CLOSE DATASET l_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Delete Input, as process is complete&lt;/P&gt;&lt;P&gt;  DELETE DATASET p_afile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " write_input_bkp_appl&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_AMOUNT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CHECK_AMOUNT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:  L_INDEX TYPE SY-TABIX.&lt;/P&gt;&lt;P&gt;  data:  l_wrbtr like bseg-wrbtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_RECORD LINES GV_TOTAL.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 4&lt;/P&gt;&lt;P&gt;                        OTHERS = 8.&lt;/P&gt;&lt;P&gt;      l_wrbtr = l_wrbtr + IT_RECORD-WRBTR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCATCH.&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;      IT_ERRORFILE-FILE = 'Amount should be in the format 9999.99'.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING IT_RECORD TO IT_ERRORFILE.&lt;/P&gt;&lt;P&gt;      APPEND IT_ERRORFILE.&lt;/P&gt;&lt;P&gt;      CLEAR IT_ERRORFILE.&lt;/P&gt;&lt;P&gt;      DELETE IT_RECORD INDEX L_INDEX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear l_wrbtr.&lt;/P&gt;&lt;P&gt;    CLEAR IT_RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_AMOUNT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_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;      Get Message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_message  USING    p_messtab&lt;/P&gt;&lt;P&gt;                  CHANGING p_gv_mesg TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:  l_mesg TYPE string,&lt;/P&gt;&lt;P&gt;         l_cnt TYPE i,&lt;/P&gt;&lt;P&gt;         l_lines TYPE sytfill,&lt;/P&gt;&lt;P&gt;         l_msg_text LIKE t100,&lt;/P&gt;&lt;P&gt;         l_msg_id   LIKE t100-arbgb,&lt;/P&gt;&lt;P&gt;         l_msg_no   LIKE t100-msgnr,&lt;/P&gt;&lt;P&gt;         l_msg_var1 LIKE balm-msgv1,&lt;/P&gt;&lt;P&gt;         l_msg_var2 LIKE balm-msgv2,&lt;/P&gt;&lt;P&gt;         l_msg_var3 LIKE balm-msgv3,&lt;/P&gt;&lt;P&gt;         l_msg_var4 LIKE balm-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE messtab LINES l_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE messtab WITH KEY msgtyp = 'E'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    l_msg_id    = messtab-msgid.&lt;/P&gt;&lt;P&gt;    l_msg_no    = messtab-msgnr.&lt;/P&gt;&lt;P&gt;    l_msg_var1  = messtab-msgv1.&lt;/P&gt;&lt;P&gt;    l_msg_var2  = messtab-msgv2.&lt;/P&gt;&lt;P&gt;    l_msg_var3  = messtab-msgv3.&lt;/P&gt;&lt;P&gt;    l_msg_var4  = messtab-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR l_mesg.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE text FROM t100 INTO l_mesg&lt;/P&gt;&lt;P&gt;          WHERE  sprsl   =  sy-langu&lt;/P&gt;&lt;P&gt;          AND    arbgb   =  l_msg_id&lt;/P&gt;&lt;P&gt;          AND    msgnr   =  l_msg_no.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      l_cnt = 1.&lt;/P&gt;&lt;P&gt;      DO 4 TIMES.&lt;/P&gt;&lt;P&gt;        CASE l_cnt.&lt;/P&gt;&lt;P&gt;          WHEN 1.&lt;/P&gt;&lt;P&gt;            REPLACE c_amp WITH l_msg_var1 INTO l_mesg.&lt;/P&gt;&lt;P&gt;          WHEN 2.&lt;/P&gt;&lt;P&gt;            REPLACE c_amp WITH l_msg_var2 INTO l_mesg.&lt;/P&gt;&lt;P&gt;          WHEN 3.&lt;/P&gt;&lt;P&gt;            REPLACE c_amp WITH l_msg_var3 INTO l_mesg.&lt;/P&gt;&lt;P&gt;          WHEN 4.&lt;/P&gt;&lt;P&gt;            REPLACE c_amp WITH l_msg_var4 INTO l_mesg.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;        CONDENSE l_mesg.&lt;/P&gt;&lt;P&gt;        l_cnt = l_cnt + 1.&lt;/P&gt;&lt;P&gt;      ENDDO.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*- Build the message&lt;/P&gt;&lt;P&gt;    CONCATENATE p_gv_mesg l_mesg INTO p_gv_mesg&lt;/P&gt;&lt;P&gt;                SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_message&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;Vinay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jun 2006 11:37:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345958#M174273</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-10T11:37:04Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345959#M174274</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;It's useless to develop a bdc for trx FB01, there's std program RFBIBL00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here you've to fill the structure with header and items data: BGR00, BBKPF and BBSEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See the program informations for more details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Max&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jun 2006 13:12:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345959#M174274</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-10T13:12:48Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345960#M174275</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;you can use LSMW for fb01.it is very easiy and better than BDC..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Abdul&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark all useful answers..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jun 2006 17:49:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345960#M174275</guid>
      <dc:creator>abdul_hakim</dc:creator>
      <dc:date>2006-06-10T17:49:39Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345961#M174276</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Vinay,&lt;/P&gt;&lt;P&gt;Thanks for providing us the source code. Shall be grateful to you if you could also provide us the MS Excel file that you might have used containing the data to be uploaded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alok &amp;amp; Deepak&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Jun 2006 03:57:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345961#M174276</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-12T03:57:04Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345962#M174277</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vinay and deepak ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also need to develop a BDC for the transaction FB01 .&lt;/P&gt;&lt;P&gt;I saw the source code.&lt;/P&gt;&lt;P&gt;Can i Also get the excel file which u have used during  developing the bdc &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in anticipation,&lt;/P&gt;&lt;P&gt;Rishabh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Nov 2006 15:27:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345962#M174277</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-17T15:27:47Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345963#M174278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;my email id is &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rishabh1287@yahoo.co.in&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Nov 2006 15:28:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345963#M174278</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-17T15:28:29Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345964#M174279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;I need your urgent help regarding the Journal upload program from an excel file,&lt;/P&gt;&lt;P&gt;the existing upload program only handles a single currency code(USD or EUR).The excel file contains one header (for ex. curr 'USD') and multiple line items. This program is using BAPI 'BAPI_ACC_DOCUMENT_POST' for general G/L posting and BDC (FB01/FBS1) for accrual posting.&lt;/P&gt;&lt;P&gt;But,now we need to change this program for multiple headers(USD,EUR,MXN,etc) and multiple line Items in one excel sheet. &lt;/P&gt;&lt;P&gt;I am facing problem to posting the journal entries using 'BAPI_ACC_DOCUMENT_POST'. The program is creating one document no. for all the individual headers whereas it should be different document no.s for different headers.  Can you please help me out to resolve my problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--Kaushik&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Mar 2007 21:34:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345964#M174279</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-09T21:34:48Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345965#M174280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi kaushik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;load the excel file, sort is by currency and call BAPI_ACC_DOCUMENT_POST AT END OF CURRENCY for all items of one currency.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It may be easier to write a new program than change the old one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Be carefulr: You can't post more than 999 line items in one document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clemsn&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Mar 2007 22:46:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345965#M174280</guid>
      <dc:creator>Clemenss</dc:creator>
      <dc:date>2007-03-09T22:46:35Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345966#M174281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Clemsn,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot,I'll use it and update u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regars,&lt;/P&gt;&lt;P&gt;kaushik&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Mar 2007 02:38:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345966#M174281</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-11T02:38:18Z</dc:date>
    </item>
    <item>
      <title>Re: BDC For FB01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345967#M174282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Deepak,&lt;/P&gt;&lt;P&gt;Why don't you try to do this using BADI. I&amp;nbsp; have developed 1 program for FB01 using BADI.&lt;/P&gt;&lt;P&gt;It is working fine. In future if you want to add some field in excel then with little changes in the source code this program will work.&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;Rakesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Jun 2016 09:02:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-for-fb01/m-p/1345967#M174282</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-06-01T09:02:08Z</dc:date>
    </item>
  </channel>
</rss>

