<?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 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2451551#M549376</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mukunda,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For having Pipeline as separator in the downloaded file use function module 'SAP_CONVERT_TO_TEX_FORMAT' before gui_download.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;following is the sample siple bdc prg showing that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding second question. If you want to give the functional consultant to do corrections. Move all error records into one internal table and create a separate session for that. Then Functional consultant can correct the session online in sm35. Or download and give it in excel.&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; Report  ZGS_TEST&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZGS_TEST.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: truxs.&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  BEGIN OF ty_Line,&lt;/P&gt;&lt;P&gt;    vbeln LIKE vbap-vbeln,&lt;/P&gt;&lt;P&gt;    posnr LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;  END OF ty_Line.&lt;/P&gt;&lt;P&gt;types :  ty_Lines TYPE STANDARD TABLE of ty_Line WITH DEFAULT KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab   TYPE ty_Lines.&lt;/P&gt;&lt;P&gt;DATA: itab1  TYPE truxs_t_text_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT&lt;/P&gt;&lt;P&gt;  vbeln&lt;/P&gt;&lt;P&gt;  posnr&lt;/P&gt;&lt;P&gt;  UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;  FROM vbap&lt;/P&gt;&lt;P&gt;  INTO TABLE itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    i_field_seperator          = '|'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_LINE_HEADER              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_FILENAME                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_APPL_KEEP                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    i_tab_sap_data             = itab&lt;/P&gt;&lt;P&gt; CHANGING&lt;/P&gt;&lt;P&gt;   I_TAB_CONVERTED_DATA       = itab1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONVERSION_FAILED          = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                     = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILESIZE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    filename                        = 'C:\Documents and Settings\c5085404\Desktop\test.txt'&lt;/P&gt;&lt;P&gt;   FILETYPE                        = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  APPEND                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_FIELD_SEPARATOR           = '|'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER                          = '00'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNC_TRAILING_BLANKS           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_LF                        = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT_MASK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_MODE                        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONFIRM_OVERWRITE               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IGNORE_CERR                     = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REPLACEMENT                     = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_BOM                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNC_TRAILING_BLANKS_EOL       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_FORMAT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_SIZE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_FORMAT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_SIZE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SHOW_TRANSFER_STATUS            = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    data_tab                        = itab1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELDNAMES                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_WRITE_ERROR                = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                        = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER         = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                    = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                    = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                   = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_NOT_ALLOWED              = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SEPARATOR_NOT_ALLOWED           = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILESIZE_NOT_ALLOWED            = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_TOO_LONG                 = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_ERROR_CREATE                 = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_ERROR_SEND                   = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_ERROR_WRITE                  = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_DP_ERROR                = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACCESS_DENIED                   = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_OUT_OF_MEMORY                = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISK_FULL                       = 17&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_TIMEOUT                      = 18&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_NOT_FOUND                  = 19&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DATAPROVIDER_EXCEPTION          = 20&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONTROL_FLUSH_ERROR             = 21&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                          = 22&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Award points if useful else getbk,&lt;/P&gt;&lt;P&gt;Aleem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Jul 2007 04:03:14 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-02T04:03:14Z</dc:date>
    <item>
      <title>BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2451550#M549375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a problem with the Concur Interface. I have a flat file with pipe seperator and I have to run the file in Call Transaction and the errors should also download in pipe seperator which is not happening. Secondly I have to load the errors in Session Method where the fuctional will correct the errors in Foreground. If you can read my code and let me know where the changes should be made that will be alot appriciated and will be rewarded big time. Thanks Heaps.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;The Code:&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_SAMPLECONCUR_INTERFACE .&lt;/P&gt;&lt;P&gt;&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_fname LIKE rlgrap-filename VISIBLE LENGTH 100 DEFAULT&lt;/P&gt;&lt;P&gt;'C:\'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_chcgo LIKE rlgrap-filename VISIBLE LENGTH 100 DEFAULT&lt;/P&gt;&lt;P&gt;'C:\'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;PARAMETERS: r_amex RADIOBUTTON GROUP rad1,&lt;/P&gt;&lt;P&gt;            r_empaid RADIOBUTTON GROUP rad1,&lt;/P&gt;&lt;P&gt;            r_copaid RADIOBUTTON GROUP rad1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      ERROR LIKE BDCDATA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;            opt TYPE ctu_params,&lt;/P&gt;&lt;P&gt;      messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: up_file TYPE STRING,&lt;/P&gt;&lt;P&gt;      chicago_file TYPE STRING,&lt;/P&gt;&lt;P&gt;      z_download TYPE STRING,&lt;/P&gt;&lt;P&gt;      z_download1 TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF inrec OCCURS 0,&lt;/P&gt;&lt;P&gt;      data(999).&lt;/P&gt;&lt;P&gt;DATA: END OF inrec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF temp OCCURS 0,&lt;/P&gt;&lt;P&gt;      value(255).&lt;/P&gt;&lt;P&gt;DATA: END OF temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF chicago OCCURS 0,&lt;/P&gt;&lt;P&gt;      value(999).&lt;/P&gt;&lt;P&gt;DATA: END OF chicago.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF header OCCURS 0,&lt;/P&gt;&lt;P&gt;      batch_date(10),&lt;/P&gt;&lt;P&gt;      rec_count(5),&lt;/P&gt;&lt;P&gt;      hash_total(23).&lt;/P&gt;&lt;P&gt;DATA: END OF header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF struc,&lt;/P&gt;&lt;P&gt;      batch_id(13),                      "batch ID&lt;/P&gt;&lt;P&gt;      rep_key(48),                       "report key&lt;/P&gt;&lt;P&gt;      rep_name(40),                      "report name&lt;/P&gt;&lt;P&gt;      rep_stamp(32),                     "report ID&lt;/P&gt;&lt;P&gt;      rep_rec_date(8),                   "report received date&lt;/P&gt;&lt;P&gt;      rep_header2(48),                   "report header2&lt;/P&gt;&lt;P&gt;      rep_header3(48),                   "report header3&lt;/P&gt;&lt;P&gt;      rep_date(8),                       "report date&lt;/P&gt;&lt;P&gt;      emp_fname(32),                     "employee first name&lt;/P&gt;&lt;P&gt;      emp_min(1),                        "employee middle initial&lt;/P&gt;&lt;P&gt;      emp_lname(32),                     "employee last name&lt;/P&gt;&lt;P&gt;      emp_id(48),                        "employee ID&lt;/P&gt;&lt;P&gt;      emp_info1(48),                     "employee info1&lt;/P&gt;&lt;P&gt;      emp_info2(48),                     "employee info2&lt;/P&gt;&lt;P&gt;      comp_name(48),                     "company name&lt;/P&gt;&lt;P&gt;      emp_org4(48),                      "employee org 4&lt;/P&gt;&lt;P&gt;      rep_amt_tot(23),                   "report amount total&lt;/P&gt;&lt;P&gt;      rep_amt_apvd(23),                  "report amount approved&lt;/P&gt;&lt;P&gt;      base_ccode(3),                     "base currency code&lt;/P&gt;&lt;P&gt;      trans_date(8),                     "transaction date&lt;/P&gt;&lt;P&gt;      trans_descrip(64),                 "transaction description&lt;/P&gt;&lt;P&gt;      exp_type(64),                      "expense type&lt;/P&gt;&lt;P&gt;      pers_exp(1),                       "personal expense (Y/N)&lt;/P&gt;&lt;P&gt;      entry_amtc(23),                    "entry amount claimed&lt;/P&gt;&lt;P&gt;      entry_amtd(23),                    "entry amount due&lt;/P&gt;&lt;P&gt;      entry_amta(23),                    "entry amount approved&lt;/P&gt;&lt;P&gt;      pay_type(64),                      "payment type&lt;/P&gt;&lt;P&gt;      co_pay_type(80),                   "company payment type&lt;/P&gt;&lt;P&gt;      cc_num(255),                       "credit card number&lt;/P&gt;&lt;P&gt;      cc_ref_num(5),                     "credit card reference number&lt;/P&gt;&lt;P&gt;      acct_num(20),                      "account number&lt;/P&gt;&lt;P&gt;      fo_ccode(3),                       "foreign currency code&lt;/P&gt;&lt;P&gt;      fo_amt(23),                        "foreign currency amount&lt;/P&gt;&lt;P&gt;      fo_rate(23),                       "foregin currency rate&lt;/P&gt;&lt;P&gt;      vendor(64),                        "vendor&lt;/P&gt;&lt;P&gt;      bus_unit(48),                      "business unit&lt;/P&gt;&lt;P&gt;      cost_center(48),                   "cost center&lt;/P&gt;&lt;P&gt;      int_ord(48),                       "internal order&lt;/P&gt;&lt;P&gt;      car_num_dtl(30),                   "car number detail&lt;/P&gt;&lt;P&gt;      bus_mls_dtl(13),                   "business miles detail&lt;/P&gt;&lt;P&gt;      mls_purp_dtl(13).                  "miles purpose detail&lt;/P&gt;&lt;P&gt;TYPES: END OF struc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab TYPE struc OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: errors TYPE struc OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF doc OCCURS 0,&lt;/P&gt;&lt;P&gt;      num(100) TYPE C.&lt;/P&gt;&lt;P&gt;DATA: END OF doc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: z1256(4) TYPE C value '1256',&lt;/P&gt;&lt;P&gt;      zb34(3) TYPE C value ' 34',&lt;/P&gt;&lt;P&gt;      z_datum(10),&lt;/P&gt;&lt;P&gt;      z_xblnr(16),&lt;/P&gt;&lt;P&gt;      z_bktxt(25),&lt;/P&gt;&lt;P&gt;      z_hkont(10),&lt;/P&gt;&lt;P&gt;      z_service(1),                              "TEMPORARY&lt;/P&gt;&lt;P&gt;      z_file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF dynp_value_tab OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE dynpread.&lt;/P&gt;&lt;P&gt;DATA: END OF DYNP_VALUE_TAB.&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 load_data.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_fb50.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_errorfb50.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM download_file.&lt;/P&gt;&lt;P&gt;  PERFORM upload_ERRORfile.&lt;/P&gt;&lt;P&gt;  PERFORM BDC_ERROR.&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;At 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;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.&lt;/P&gt;&lt;P&gt;  PERFORM get_filename.&lt;/P&gt;&lt;P&gt;  p_fname = z_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_chcgo.&lt;/P&gt;&lt;P&gt;  PERFORM get_filename.&lt;/P&gt;&lt;P&gt;  p_chcgo = z_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 get_filename&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 get_filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE: 'DS_NAME' TO dynp_value_tab-fieldname.&lt;/P&gt;&lt;P&gt;  APPEND dynp_value_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    DYNAME                         = SY-REPID&lt;/P&gt;&lt;P&gt;    DYNUMB                         = SY-DYNNR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRANSLATE_TO_UPPER             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REQUEST                        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PERFORM_CONVERSION_EXITS       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PERFORM_INPUT_CONVERSION       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DETERMINE_LOOP_INDEX           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DYNPFIELDS                     = DYNP_VALUE_TAB&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   INVALID_ABAPWORKAREA           = 04&lt;/P&gt;&lt;P&gt;   INVALID_DYNPROFIELD            = 08&lt;/P&gt;&lt;P&gt;   INVALID_DYNPRONAME             = 12&lt;/P&gt;&lt;P&gt;   INVALID_DYNPRONUMMER           = 16&lt;/P&gt;&lt;P&gt;   INVALID_REQUEST                = 20&lt;/P&gt;&lt;P&gt;   NO_FIELDDESCRIPTION            = 24&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_PARAMETER              = 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   UNDEFIND_ERROR                 = 28&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOUBLE_CONVERSION              = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  STEPL_NOT_FOUND                = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                         = 11&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE dynp_value_tab INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE: dynp_value_tab-fieldvalue TO z_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DEF_FILENAME     = SPACE&lt;/P&gt;&lt;P&gt;      DEF_PATH         = z_file&lt;/P&gt;&lt;P&gt;      MASK             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;. '&lt;/P&gt;&lt;P&gt;      MODE             = 'O'&lt;/P&gt;&lt;P&gt;      TITLE            = ' '&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      FILENAME         = z_file&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INV_WINSYS       = 1&lt;/P&gt;&lt;P&gt;      NO_BATCH         = 2&lt;/P&gt;&lt;P&gt;      SELECTION_CANCEL = 3&lt;/P&gt;&lt;P&gt;      SELECTION_ERROR  = 4&lt;/P&gt;&lt;P&gt;      OTHERS           = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " SUB_GET_FILENAME&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;FORM upload_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  up_file = p_fname.&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 = up_file&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB = inrec.&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  load_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;FORM load_data.&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;Split data file into separate fields and load internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT inrec.&lt;/P&gt;&lt;P&gt;    SPLIT inrec-data AT '|' INTO TABLE temp.&lt;/P&gt;&lt;P&gt;    READ TABLE temp INDEX 1.&lt;/P&gt;&lt;P&gt;    IF temp-value = 'EXTRACT'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Extract header record&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Batch Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE temp INDEX 2.&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;      CONCATENATE temp-value&lt;EM&gt;0(4) temp-value&lt;/EM&gt;5(2) temp-value+8(2)&lt;/P&gt;&lt;P&gt;        INTO header-batch_date.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Record Count&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE temp INDEX 3.&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;      MOVE temp-value TO header-rec_count.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hash Total&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE temp INDEX 4.&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;      MOVE temp-value TO header-hash_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND header.&lt;/P&gt;&lt;P&gt;    ELSEIF temp-value = 'DETAIL'.&lt;/P&gt;&lt;P&gt;      READ TABLE temp INDEX 10.&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF temp-value = '12'.&lt;/P&gt;&lt;P&gt;        LOOP AT temp.&lt;/P&gt;&lt;P&gt;          IF sy-tabix = 1.&lt;/P&gt;&lt;P&gt;            chicago-value = temp-value.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CONCATENATE chicago-value temp-value INTO chicago-value&lt;/P&gt;&lt;P&gt;              SEPARATED BY '|'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        APPEND chicago.&lt;/P&gt;&lt;P&gt;      ELSEIF temp-value = '11'.                  "TEMPORARY&lt;/P&gt;&lt;P&gt;        z_service = 'Y'.                         "TEMPORARY&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Extract detail record&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Batch ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 2.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-batch_id.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 20.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-rep_key.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 27.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-rep_name.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Stamp&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 19.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-rep_stamp.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Received Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 24.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONCATENATE temp-value&lt;EM&gt;0(4) temp-value&lt;/EM&gt;5(2) temp-value+8(2)&lt;/P&gt;&lt;P&gt;          INTO itab-rep_rec_date.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Header2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 45.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-rep_header2.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Header3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 46.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-rep_header3.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 25.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONCATENATE temp-value&lt;EM&gt;0(4) temp-value&lt;/EM&gt;5(2) temp-value+8(2)&lt;/P&gt;&lt;P&gt;          INTO itab-rep_date.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee First Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 7.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-emp_fname.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee Middle Initial&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 8.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-emp_min.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee Last Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 6.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-emp_lname.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 5.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-emp_id.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee Info1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 37.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-emp_info1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Employee Info2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 12.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-emp_info2.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 11.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-comp_name.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Emp Org4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 13.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-emp_org4.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Amount Total&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 31.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-rep_amt_tot.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report Amount Approved&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 32.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-rep_amt_apvd.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Base Currency Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 22.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-base_ccode.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transaction Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 64.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONCATENATE temp-value&lt;EM&gt;0(4) temp-value&lt;/EM&gt;5(2) temp-value+8(2)&lt;/P&gt;&lt;P&gt;          INTO itab-trans_date.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transaction Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 69.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-trans_descrip.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*Expense Type&lt;/P&gt;&lt;P&gt;        READ TABLE temp INDEX 63.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-exp_type.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Personal Expense&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 68.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-pers_exp..&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Entry Amount Claimed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 124.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-entry_amtc.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Entry Amount Due&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 169.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-entry_amtd.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Entry Amount Approved&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 125.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-entry_amta.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Payment Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 165.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-pay_type.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Payment Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 166.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-co_pay_type.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Credit Card Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 130.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-cc_num.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Credit Card Reference Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 133.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-cc_ref_num.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Account Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 167.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-acct_num.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Foreign Currency Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 178.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-fo_ccode.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Foreign Currency Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 123.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-fo_amt.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Foregin Currency Rate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 66.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-fo_rate.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 70.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-vendor.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Business Unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 79.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-bus_unit.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Cost Center&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF z_service = 'Y'.                              "TEMPORARY&lt;/P&gt;&lt;P&gt;          MOVE '51400' TO itab-cost_center.              "TEMPORARY&lt;/P&gt;&lt;P&gt;          CLEAR z_service.                               "TEMPORARY&lt;/P&gt;&lt;P&gt;        ELSE.                                            "TEMPORARY&lt;/P&gt;&lt;P&gt;          READ TABLE temp INDEX 80.&lt;/P&gt;&lt;P&gt;          CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;          MOVE temp-value TO itab-cost_center.&lt;/P&gt;&lt;P&gt;        ENDIF.                                           "TEMPORARY&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 83.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-int_ord.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Car Number Detail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 174.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-car_num_dtl.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Business Miles Detail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 171.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-bus_mls_dtl.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Miles Purpose Detail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE temp INDEX 69.&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE temp-value TO itab-mls_purp_dtl.&lt;/P&gt;&lt;P&gt;        APPEND itab.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " load_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  download_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;FORM download_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  chicago_file = p_chcgo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME = chicago_file&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB = chicago.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate 'C:\' sy-datum 'docnums.txt' INTO z_download.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME = z_download&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB = doc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT doc[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE:/ text-003.&lt;/P&gt;&lt;P&gt;    LOOP AT doc.&lt;/P&gt;&lt;P&gt;      WRITE:/ doc-num.&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;  concatenate 'C:\' sy-datum 'errors.txt' INTO z_download1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME = z_download1&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB = errors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " download_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bdc_fb50&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 bdc_fb50.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM conversions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF05A' '1001'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=BU'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_HEAD-BLDAT'&lt;/P&gt;&lt;P&gt;                                   z_datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '04/22/07'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_HEAD-WAERS'&lt;/P&gt;&lt;P&gt;                                   itab-base_ccode.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 'USD'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_HEAD-BUDAT'&lt;/P&gt;&lt;P&gt;                                   z_datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '04/27/07'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_HEAD-XBLNR'&lt;/P&gt;&lt;P&gt;                                   z_xblnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'concur ref'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_HEAD-BKTXT'&lt;/P&gt;&lt;P&gt;                                   z_bktxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'concur header txt'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'ACGL_ITEM-AUFNR(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_ITEM-HKONT(01)'&lt;/P&gt;&lt;P&gt;                                   itab-acct_num.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '52250'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_ITEM-HKONT(02)'&lt;/P&gt;&lt;P&gt;                                   z_hkont.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '20100'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_ITEM-WRBTR(01)'&lt;/P&gt;&lt;P&gt;                                   itab-entry_amta.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '              100'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_ITEM-WRBTR(02)'&lt;/P&gt;&lt;P&gt;                                   itab-entry_amta.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '              100'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_ITEM-SGTXT(02)'&lt;/P&gt;&lt;P&gt;                                   itab-trans_descrip.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'item text'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_ITEM-KOSTL(01)'&lt;/P&gt;&lt;P&gt;                                   itab-cost_center.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '50020'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_ITEM-AUFNR(01)'&lt;/P&gt;&lt;P&gt;                                   itab-int_ord.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '30020'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMF05A' '1001'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=BU'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_HEAD-XBLNR'&lt;/P&gt;&lt;P&gt;                                   z_xblnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'CONCUR REF'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_HEAD-BKTXT'&lt;/P&gt;&lt;P&gt;                                   z_bktxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'concur header txt'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'ACGL_ITEM-SHKZG(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'ACGL_ITEM-SHKZG(01)'&lt;/P&gt;&lt;P&gt;                                  'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'FB50' USING bdcdata MESSAGES INTO messtab&lt;/P&gt;&lt;P&gt;      MODE 'N'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING itab TO errors.&lt;/P&gt;&lt;P&gt;      APPEND errors.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH bdcdata.  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;write: / 'Records process for errors go to SM35'.&lt;/P&gt;&lt;P&gt;  LOOP AT messtab WHERE msgnr = '312'.&lt;/P&gt;&lt;P&gt;    MOVE messtab-msgv1 TO doc-num.&lt;/P&gt;&lt;P&gt;    APPEND doc.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENDFORM.                                                    " bdc_fb50&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*UPLOADING THE ERRORS&lt;/P&gt;&lt;P&gt;FORM upload_ERRORfile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Z_DOWNLOAD = p_fname.&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 = z_download1&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB = ERRORS.&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;*BDC ERRORS&lt;/P&gt;&lt;P&gt;FORM BDC_ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   CLIENT                    = SY-MANDT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEST                      = FILLER8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   GROUP                     = 'fb50'&lt;/P&gt;&lt;P&gt;   HOLDDATE                  = sy-datum&lt;/P&gt;&lt;P&gt;   KEEP                      = 'X'&lt;/P&gt;&lt;P&gt;   USER                      = sy-uname&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RECORD                    = FILLER1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROG                      = SY-CPROG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  QID                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CLIENT_INVALID            = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DESTINATION_INVALID       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GROUP_INVALID             = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GROUP_IS_LOCKED           = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HOLDDATE_INVALID          = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTERNAL_ERROR            = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  QUEUE_ERROR               = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RUNNING                   = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SYSTEM_LOCK_ERROR         = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_INVALID              = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                    = 11&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ERRORS.&lt;/P&gt;&lt;P&gt;perform conversions.&lt;/P&gt;&lt;P&gt;*PERFORM COPYDATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM bdc_dynpro1      USING 'SAPMF05A' '1001'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=BU'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_HEAD-BLDAT'&lt;/P&gt;&lt;P&gt;                                   z_datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '04/22/07'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_HEAD-WAERS'&lt;/P&gt;&lt;P&gt;                                   itab-base_ccode.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 'USD'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_HEAD-BUDAT'&lt;/P&gt;&lt;P&gt;                                   z_datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '04/27/07'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_HEAD-XBLNR'&lt;/P&gt;&lt;P&gt;                                   z_xblnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'concur ref'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_HEAD-BKTXT'&lt;/P&gt;&lt;P&gt;                                   z_bktxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'concur header txt'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'ACGL_ITEM-AUFNR(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_ITEM-HKONT(01)'&lt;/P&gt;&lt;P&gt;                                   itab-acct_num.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '52250'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_ITEM-HKONT(02)'&lt;/P&gt;&lt;P&gt;                                   z_hkont.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '20100'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_ITEM-WRBTR(01)'&lt;/P&gt;&lt;P&gt;                                   itab-entry_amta.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '              100'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_ITEM-WRBTR(02)'&lt;/P&gt;&lt;P&gt;                                   itab-entry_amta.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '              100'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_ITEM-SGTXT(02)'&lt;/P&gt;&lt;P&gt;                                   itab-trans_descrip.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'item text'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_ITEM-KOSTL(01)'&lt;/P&gt;&lt;P&gt;                                   itab-cost_center.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '50020'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_ITEM-AUFNR(01)'&lt;/P&gt;&lt;P&gt;                                   itab-int_ord.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               '30020'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_dynpro1      USING 'SAPMF05A' '1001'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field1      USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=BU'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_HEAD-XBLNR'&lt;/P&gt;&lt;P&gt;                                   z_xblnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'CONCUR REF'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_HEAD-BKTXT'&lt;/P&gt;&lt;P&gt;                                   z_bktxt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               'concur header txt'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'ACGL_ITEM-SHKZG(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field1       USING 'ACGL_ITEM-SHKZG(01)'&lt;/P&gt;&lt;P&gt;                                  'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   TCODE                  = 'FB50'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POST_LOCAL             = NOVBLOCAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRINTING               = NOPRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SIMUBATCH              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CTUPARAMS              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DYNPROTAB              = errors&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTERNAL_ERROR         = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NOT_OPEN               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  QUEUE_ERROR            = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TCODE_INVALID          = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRINTING_INVALID       = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POSTING_INVALID        = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                 = 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE-CORRESPONDING itab TO errors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND errors.&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;REFRESH error.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NOT_OPEN          = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  QUEUE_ERROR       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS            = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SUBMIT rsbdcsub AND RETURN&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH bis      =  sy-datum&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;         WITH mappe    =  'fb50'&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;         WITH von      =  sy-datum&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;         WITH z_verarb = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Start new screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING program TYPE ANY dynpro TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;  bdcdata-program  = program.&lt;/P&gt;&lt;P&gt;  bdcdata-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_DYNPRO&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       Insert field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;FORM bdc_field USING fnam TYPE ANY fval TYPE ANY.&lt;/P&gt;&lt;P&gt;&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;&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;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       Start new screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro1 USING program TYPE ANY dynpro TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR error.&lt;/P&gt;&lt;P&gt;  error-program  = program.&lt;/P&gt;&lt;P&gt;  error-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  error-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_DYNPRO1&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       Insert field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;FORM bdc_field1 USING fnam TYPE ANY fval TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR errors.&lt;/P&gt;&lt;P&gt;  error-fnam = fnam.&lt;/P&gt;&lt;P&gt;  error-fval = fval.&lt;/P&gt;&lt;P&gt;  APPEND error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_FIELD1&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  conversions&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 conversions .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF itab-int_ord+0(1) CA z1256.&lt;/P&gt;&lt;P&gt;    CLEAR itab-cost_center.&lt;/P&gt;&lt;P&gt;    itab-acct_num = '80001'.&lt;/P&gt;&lt;P&gt;  ELSEIF itab-int_ord+0(1) CA zb34.      "statistical orders&lt;/P&gt;&lt;P&gt;    itab-acct_num = '52250'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF r_amex = 'X'.&lt;/P&gt;&lt;P&gt;    z_hkont = '20100'.&lt;/P&gt;&lt;P&gt;  ELSEIF r_empaid = 'X'.&lt;/P&gt;&lt;P&gt;  ELSEIF r_copaid = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: sy-datum MM/DD/YYYY TO z_datum.&lt;/P&gt;&lt;P&gt;  CONCATENATE itab-emp_lname&lt;EM&gt;0(8) itab-emp_fname&lt;/EM&gt;0(8)&lt;/P&gt;&lt;P&gt;    INTO z_xblnr SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  IF r_amex = 'X'.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'CONCUR' 'CC' sy-datum&lt;/P&gt;&lt;P&gt;      INTO z_bktxt SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'CONCUR' 'Cash' sy-datum&lt;/P&gt;&lt;P&gt;      INTO z_bktxt SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF itab-trans_descrip IS INITIAL.&lt;/P&gt;&lt;P&gt;  CONCATENATE itab-emp_lname itab-emp_fname&lt;/P&gt;&lt;P&gt;    INTO itab-trans_descrip SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Jul 2007 04:47:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2451550#M549375</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-01T04:47:37Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2451551#M549376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mukunda,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For having Pipeline as separator in the downloaded file use function module 'SAP_CONVERT_TO_TEX_FORMAT' before gui_download.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;following is the sample siple bdc prg showing that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding second question. If you want to give the functional consultant to do corrections. Move all error records into one internal table and create a separate session for that. Then Functional consultant can correct the session online in sm35. Or download and give it in excel.&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; Report  ZGS_TEST&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZGS_TEST.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: truxs.&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;  BEGIN OF ty_Line,&lt;/P&gt;&lt;P&gt;    vbeln LIKE vbap-vbeln,&lt;/P&gt;&lt;P&gt;    posnr LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;  END OF ty_Line.&lt;/P&gt;&lt;P&gt;types :  ty_Lines TYPE STANDARD TABLE of ty_Line WITH DEFAULT KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab   TYPE ty_Lines.&lt;/P&gt;&lt;P&gt;DATA: itab1  TYPE truxs_t_text_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT&lt;/P&gt;&lt;P&gt;  vbeln&lt;/P&gt;&lt;P&gt;  posnr&lt;/P&gt;&lt;P&gt;  UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;  FROM vbap&lt;/P&gt;&lt;P&gt;  INTO TABLE itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    i_field_seperator          = '|'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_LINE_HEADER              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_FILENAME                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_APPL_KEEP                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    i_tab_sap_data             = itab&lt;/P&gt;&lt;P&gt; CHANGING&lt;/P&gt;&lt;P&gt;   I_TAB_CONVERTED_DATA       = itab1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONVERSION_FAILED          = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                     = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILESIZE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    filename                        = 'C:\Documents and Settings\c5085404\Desktop\test.txt'&lt;/P&gt;&lt;P&gt;   FILETYPE                        = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  APPEND                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_FIELD_SEPARATOR           = '|'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER                          = '00'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNC_TRAILING_BLANKS           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_LF                        = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT_MASK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DAT_MODE                        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONFIRM_OVERWRITE               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IGNORE_CERR                     = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REPLACEMENT                     = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_BOM                       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TRUNC_TRAILING_BLANKS_EOL       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_FORMAT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_SIZE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_FORMAT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_SIZE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SHOW_TRANSFER_STATUS            = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    data_tab                        = itab1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELDNAMES                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_WRITE_ERROR                = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_BATCH                        = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GUI_REFUSE_FILETRANSFER         = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_TYPE                    = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                    = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                   = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_NOT_ALLOWED              = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SEPARATOR_NOT_ALLOWED           = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILESIZE_NOT_ALLOWED            = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_TOO_LONG                 = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_ERROR_CREATE                 = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_ERROR_SEND                   = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_ERROR_WRITE                  = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_DP_ERROR                = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACCESS_DENIED                   = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_OUT_OF_MEMORY                = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISK_FULL                       = 17&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_TIMEOUT                      = 18&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILE_NOT_FOUND                  = 19&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DATAPROVIDER_EXCEPTION          = 20&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONTROL_FLUSH_ERROR             = 21&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                          = 22&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Award points if useful else getbk,&lt;/P&gt;&lt;P&gt;Aleem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 04:03:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2451551#M549376</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-02T04:03:14Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2451552#M549377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I also have to write this interface. Can I ask, why did you do this as a BDC rather than utilizing the BAPIs to create the postings that are needed? Can you  also let me know any other issues that you ran into when writing this interface?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Nov 2007 17:26:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2451552#M549377</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-14T17:26:50Z</dc:date>
    </item>
  </channel>
</rss>

