<?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 DATASET Program required in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-dataset-program-required/m-p/2827218#M661552</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;see the sample code for uploading from Application server while doing BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report ZSDBDCP_PRICING no standard page heading&lt;/P&gt;&lt;P&gt;       line-size 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include zbdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table To hold condition records data from flat file.&lt;/P&gt;&lt;P&gt;Data: begin of it_pricing occurs 0,&lt;/P&gt;&lt;P&gt;       key(4),&lt;/P&gt;&lt;P&gt;       f1(4),&lt;/P&gt;&lt;P&gt;       f2(4),&lt;/P&gt;&lt;P&gt;       f3(2),&lt;/P&gt;&lt;P&gt;       f4(18),&lt;/P&gt;&lt;P&gt;       f5(16),&lt;/P&gt;&lt;P&gt;      end of it_pricing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table To hold condition records header  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of it_header occurs 0,&lt;/P&gt;&lt;P&gt;         key(4),&lt;/P&gt;&lt;P&gt;         f1(4),&lt;/P&gt;&lt;P&gt;         f2(4),&lt;/P&gt;&lt;P&gt;         f3(2),&lt;/P&gt;&lt;P&gt;       end of it_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table To hold condition records details .&lt;/P&gt;&lt;P&gt;data : begin of it_details occurs 0,&lt;/P&gt;&lt;P&gt;        key(4),&lt;/P&gt;&lt;P&gt;        f4(18),&lt;/P&gt;&lt;P&gt;        f5(16),&lt;/P&gt;&lt;P&gt;       end of it_details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_sno(2),&lt;/P&gt;&lt;P&gt;       v_rows type i,&lt;/P&gt;&lt;P&gt;       v_fname(40).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;refresh : it_pricing,it_header,it_details.&lt;/P&gt;&lt;P&gt;clear  : it_pricing,it_header,it_details.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FILENAME                = 'C:\WINDOWS\Desktop\pricing.txt'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FILETYPE                = 'DAT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           DATA_TAB                = it_pricing&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;           CONVERSION_ERROR        = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           INVALID_TABLE_WIDTH     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           INVALID_TYPE            = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           NO_BATCH                = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           UNKNOWN_ERROR           = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           GUI_REFUSE_FILETRANSFER = 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;  WRITE : / 'Condition Records ', P_FNAME, ' on ', SY-DATUM.&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_FNAME FOR INPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    write : / 'File could not be uploaded.. Check file name.'.&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  CLEAR : it_pricing[], it_pricing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    READ DATASET P_FNAME INTO V_STR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;write v_str.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;translate v_str using '#/'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SPLIT V_STR AT ',' INTO it_pricing-key&lt;/P&gt;&lt;P&gt;                            it_pricing-F1 it_pricing-F2 it_pricing-F3&lt;/P&gt;&lt;P&gt;                            it_pricing-F4 it_pricing-F5 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND it_pricing.&lt;/P&gt;&lt;P&gt;    CLEAR it_pricing.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF it_pricing[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE : / 'No data found to upload'.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_pricing.&lt;/P&gt;&lt;P&gt;    At new key.&lt;/P&gt;&lt;P&gt;      read table it_pricing index sy-tabix.&lt;/P&gt;&lt;P&gt;      move-corresponding it_pricing to it_header.&lt;/P&gt;&lt;P&gt;      append it_header.&lt;/P&gt;&lt;P&gt;      clear it_header.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    move-corresponding it_pricing to it_details.&lt;/P&gt;&lt;P&gt;    append it_details.&lt;/P&gt;&lt;P&gt;    clear it_details.&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;  perform open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_rows = sy-srows - 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RV13A-KSCHL'&lt;/P&gt;&lt;P&gt;                                  it_header-f1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'KONP-KBETR(01)'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'KOMG-VKORG'&lt;/P&gt;&lt;P&gt;                                  it_header-f2.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'KOMG-VTWEG'&lt;/P&gt;&lt;P&gt;                                   it_header-f3.&lt;/P&gt;&lt;P&gt;**Table Control&lt;/P&gt;&lt;P&gt;    v_sno = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at it_details where key eq it_header-key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_sno = v_sno + 1.&lt;/P&gt;&lt;P&gt;      clear v_fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KOMG-MATNR(' V_SNO ')' INTO V_FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform bdc_field       using v_fname&lt;/P&gt;&lt;P&gt;                                    it_details-f4.&lt;/P&gt;&lt;P&gt;      clear v_fname.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KBETR(' V_SNO ')' INTO V_FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform bdc_field       using v_fname&lt;/P&gt;&lt;P&gt;                                    it_details-f5.&lt;/P&gt;&lt;P&gt;      if v_sno eq v_rows.&lt;/P&gt;&lt;P&gt;        v_sno = 0.&lt;/P&gt;&lt;P&gt;        perform bdc_dynpro      using 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                 '=P+'.&lt;/P&gt;&lt;P&gt;        perform bdc_dynpro      using 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                 '/00'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Save&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_transaction using 'VK11'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  perform close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Sep 2007 14:24:06 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-26T14:24:06Z</dc:date>
    <item>
      <title>BDC DATASET Program required</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-dataset-program-required/m-p/2827216#M661550</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 the Program ,atleast the major code where i can do the R&amp;amp;D afterwards and make a full fledged program. Please help me in writing the program. &lt;/P&gt;&lt;P&gt;Below given is techincal document of how to proceed. I need the program for this .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Technical Flow Description&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;1. Declare internal tables similar to structures EDI 821 and EDI 824.&lt;/P&gt;&lt;P&gt;2. Populate these internal tables with flat file data using read dataset or gui_upload. (It depends on type of file i.e sequential file or presentation file)&lt;/P&gt;&lt;P&gt;3. Get the document number (PAYR-VBLNR), Company code (PAYR-ZBUKR) and Fiscal year (PAYR-GJAHR) from table PAYR into t_tab1 based on check number in the flat file.&lt;/P&gt;&lt;P&gt;4. Get the number of line items (BSEG-BUZEI) and posting key (BSEG-BSCHL) for accounting document based on internal table t_tab1.&lt;/P&gt;&lt;P&gt;5. Take the posting key as 25.&lt;/P&gt;&lt;P&gt;6. Do the recording for Transaction FB02.&lt;/P&gt;&lt;P&gt;7. If flat file has Record name 'BANK_NOTES' IF CHECK_NUMBER of CHECK_ADVICE of the flat file = BSEG-CHECT then insert NOTES of BANK_NOTES of Flat file into BSEG-SGTXT &lt;/P&gt;&lt;P&gt;8. If flat file has Record name 'BANK_NOTES' IF CHECK_NUMBER of CHECK_ADVICE of the flat file = BSEG-CHECT. Then update SAP field BSEG-XREF2 .&lt;/P&gt;&lt;P&gt;9. When Flat file check Number = PAYR-CHECT then Insert Flat file RECEIPT_DATE into SAP field BSEG-XREF1. Then update SAP fields BSEG-XREF1, BSEG-XREF2 and BSEG-SGTXT using BDC call transaction &amp;#145;FB02&amp;#146;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF T_ED824 OCCURS 1,&lt;/P&gt;&lt;P&gt;PAY_ADVICE_HDR(30) TYPE C,&lt;/P&gt;&lt;P&gt;CUST_REF(30) TYPE C,&lt;/P&gt;&lt;P&gt;PROCESSED_DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;PROCESSED_TIME(5) TYPE C,&lt;/P&gt;&lt;P&gt;PAYMENT_ADVICE(30) TYPE C,&lt;/P&gt;&lt;P&gt;PAYADVICE_TYPE(3) TYPE C,&lt;/P&gt;&lt;P&gt;PAYADVICE_CODE(3) TYPE C,&lt;/P&gt;&lt;P&gt;PAYEDBACH(15) TYPE C,&lt;/P&gt;&lt;P&gt;TRACE_NUMBER(30) TYPE C,&lt;/P&gt;&lt;P&gt;BATCH_AMOUNT(18) TYPE C,&lt;/P&gt;&lt;P&gt;ACCEPT_AMOUNT(18) TYPE C,&lt;/P&gt;&lt;P&gt;BANK_AMOUNT(18) TYPE C,&lt;/P&gt;&lt;P&gt;REJECT_AMOUNT(18) TYPE C,&lt;/P&gt;&lt;P&gt;BATCH_COUNT(15) TYPE C,&lt;/P&gt;&lt;P&gt;ACCEPT_COUNT(15) TYPE C,&lt;/P&gt;&lt;P&gt;BANK_COUNT(15) TYPE C,&lt;/P&gt;&lt;P&gt;REJECT_COUNT(15) TYPE C,&lt;/P&gt;&lt;P&gt;ADVICE_DESC(30) TYPE C,&lt;/P&gt;&lt;P&gt;BANK_NOTES(30) TYPE C,&lt;/P&gt;&lt;P&gt;B_TYPE(3) TYPE C,&lt;/P&gt;&lt;P&gt;B_NOTES(60) TYPE C,&lt;/P&gt;&lt;P&gt;CHECK_ADVICE(30) TYPE C,&lt;/P&gt;&lt;P&gt;CHKADVICE_TYPE(3) TYPE C,&lt;/P&gt;&lt;P&gt;CHKADVICE_CODE(10) TYPE C,&lt;/P&gt;&lt;P&gt;CHECK_NUMBER(10) TYPE C,&lt;/P&gt;&lt;P&gt;CHECK_NOTES(30) TYPE C,&lt;/P&gt;&lt;P&gt;C_TYPE(3) TYPE C,&lt;/P&gt;&lt;P&gt;C_NOTES(60) TYPE C,&lt;/P&gt;&lt;P&gt;END OF T_ED824.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF T_ED821 OCCURS 1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PAY_REPORT_HDR(30) TYPE C,&lt;/P&gt;&lt;P&gt;REPORT_TYPE(5) TYPE C,&lt;/P&gt;&lt;P&gt;RECEIPT_DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;CURRENT_DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;PAY_REPORT(30) TYPE C,&lt;/P&gt;&lt;P&gt;CUST_ACCT_NUM(35) TYPE C,&lt;/P&gt;&lt;P&gt;ISSUE_DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;TRANSAC_AMOUNT TYPE C,&lt;/P&gt;&lt;P&gt;CHECK_NUMBER(20) TYPE C,&lt;/P&gt;&lt;P&gt;PAYEE_NAME(50) TYPE C,&lt;/P&gt;&lt;P&gt;FINANCIAL_CODE(30) TYPE C,&lt;/P&gt;&lt;P&gt;CHECK_CODE(3) TYPE C,&lt;/P&gt;&lt;P&gt;INST_NAME(35) TYPE C,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF T_ED821.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Sep 2007 13:55:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-dataset-program-required/m-p/2827216#M661550</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-26T13:55:37Z</dc:date>
    </item>
    <item>
      <title>Re: BDC DATASET Program required</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-dataset-program-required/m-p/2827217#M661551</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;check this prog :&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;Includes                                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;include bdcrecx1.&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;Tables                                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;tables: sscrfields.&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;Types                                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;types: begin of ty_pcdata,&lt;/P&gt;&lt;P&gt;         data(250),&lt;/P&gt;&lt;P&gt;       end of ty_pcdata,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       begin of ty_upload,&lt;/P&gt;&lt;P&gt;          mandt      like ska1-mandt,  "client&lt;/P&gt;&lt;P&gt;          ktopl      like ska1-ktopl,  "chart of account&lt;/P&gt;&lt;P&gt;          saknr      like skb1-saknr,  "GL Account&lt;/P&gt;&lt;P&gt;          txt20      like skat-txt20 , "Short text.&lt;/P&gt;&lt;P&gt;          txt50      like skat-txt50 , "Long text&lt;/P&gt;&lt;P&gt;          mcod1      like ska1-mcod1,  "search term&lt;/P&gt;&lt;P&gt;          xbilk      type c,           "Balance Sheet account = X&lt;/P&gt;&lt;P&gt;          xplacct    type c,           "P&amp;amp;L account = X&lt;/P&gt;&lt;P&gt;          ktoks      like ska1-ktoks,  "account type&lt;/P&gt;&lt;P&gt;          fdlev      like skb1-fdlev,  "Planning level&lt;/P&gt;&lt;P&gt;          fipls      like skb1-fipls,  "fin budget&lt;/P&gt;&lt;P&gt;          fstag      like skb1-fstag,  "Field status group&lt;/P&gt;&lt;P&gt;          kdfsl      like skb1-kdfsl,  "Exchange rate diff&lt;/P&gt;&lt;P&gt;          mitkz      like skb1-mitkz,  "recon. acct for acct type&lt;/P&gt;&lt;P&gt;          mwskz      like skb1-mwskz,  "tax category&lt;/P&gt;&lt;P&gt;          waers      like skb1-waers,  "Currency&lt;/P&gt;&lt;P&gt;          xgkon      like skb1-xgkon,  "relevant to cash flow&lt;/P&gt;&lt;P&gt;          xintb      like skb1-xintb,  "Post automatically only = X&lt;/P&gt;&lt;P&gt;          xkres      like skb1-xkres,  "line item display = X&lt;/P&gt;&lt;P&gt;          xopvw      like skb1-xopvw,  "open item management = X&lt;/P&gt;&lt;P&gt;          xspeb      like skb1-xspeb,  "posting block&lt;/P&gt;&lt;P&gt;          znirt      like skb1-vzskz,  "int.calc.freq&lt;/P&gt;&lt;P&gt;          zuawa      like skb1-zuawa,  "sort&lt;/P&gt;&lt;P&gt;          altkt      like skb1-altkt,  "alternative account no&lt;/P&gt;&lt;P&gt;          xsalh      like skb1-xsalh,  "balanve in local currency&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        xmwno      like skb1-xmwno , "tax not required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          bukrs      like skb1-bukrs,  "Company no&lt;/P&gt;&lt;P&gt;       end of ty_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal Tables                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;data: t_pcdata type ty_pcdata occurs 0,&lt;/P&gt;&lt;P&gt;      t_upload type ty_upload occurs 0.&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; Variable data                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;data: v_pcdata type ty_pcdata,&lt;/P&gt;&lt;P&gt;      v_upload type ty_upload,&lt;/P&gt;&lt;P&gt;      v_path   like usr05-parva,&lt;/P&gt;&lt;P&gt;      v_date(10)   type c,&lt;/P&gt;&lt;P&gt;      v_file   type string,&lt;/P&gt;&lt;P&gt;      v_filler(30) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants                                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;constants: c_sep type x value '09',  "&lt;/P&gt;&lt;P&gt;           c_keep_session like apqi-qerase value 'X'.&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; Parameters                                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;            p_file(60). "  LIKE rfpdo-rfbifile.&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;Initialization                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;  group   = 'FS00NEW'.&lt;/P&gt;&lt;P&gt;  e_group = 'FS00ERR'.&lt;/P&gt;&lt;P&gt;  keep    = 'X'.&lt;/P&gt;&lt;P&gt;  ctumode = 'E'.&lt;/P&gt;&lt;P&gt;  cupdate = 'S'.&lt;/P&gt;&lt;P&gt;  e_keep  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Help on filename                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on value-request for p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single parva&lt;/P&gt;&lt;P&gt;    into  v_path&lt;/P&gt;&lt;P&gt;    from  usr05&lt;/P&gt;&lt;P&gt;    where bname = sy-uname&lt;/P&gt;&lt;P&gt;      and parid = 'GR8'.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    v_path = 'H:\'.&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;  call function 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            def_filename = p_file&lt;/P&gt;&lt;P&gt;            def_path     = v_path  "'H:\'&lt;/P&gt;&lt;P&gt;            mask         = ',&lt;STRONG&gt;.txt,&lt;/STRONG&gt;.txt.'&lt;/P&gt;&lt;P&gt;            mode         = '0'&lt;/P&gt;&lt;P&gt;            title        = 'Output file'&lt;/P&gt;&lt;P&gt;       importing&lt;/P&gt;&lt;P&gt;            filename     = p_file&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            others       = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message e000 with 'Unable to find file.'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; case SSCRFIELDS-UCOMM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; when 'ONLI' or 'PRIN'.   "Only process if action key hit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM upload_file.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; when others.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; endcase.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Main processing                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform upload_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform extract_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_upload into v_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;skip if header line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    if v_upload-bukrs+2(1) cn '0123456789'.&lt;/P&gt;&lt;P&gt;      continue.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;start screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro using  'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;    perform bdc_field  using:&lt;/P&gt;&lt;P&gt;                       'BDC_OKCODE'   '=ACC_CRE',&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_KEY-SAKNR'  v_upload-saknr,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_KEY-BUKRS'  v_upload-bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro using  'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;    perform bdc_field  using:&lt;/P&gt;&lt;P&gt;                       'BDC_OKCODE'                    '=TAB02',&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_COA-KTOKS'    v_upload-ktoks,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_COA-XPLACCT'  v_upload-xplacct,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_COA-XBILK'    v_upload-xbilk,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_COA-TXT20_ML' v_upload-txt20,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_COA-TXT50_ML' v_upload-txt50.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write  v_upload-zuawa to  v_upload-zuawa right-justified.&lt;/P&gt;&lt;P&gt;    translate  v_upload-zuawa using ' 0'.&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;    perform bdc_field  using:&lt;/P&gt;&lt;P&gt;                       'BDC_OKCODE'                    '=TAB03',&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-WAERS'  v_upload-waers,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-XSALH'  v_upload-xsalh,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-MWSKZ'  v_upload-mwskz,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-XKRES'  v_upload-xkres,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-ZUAWA'  v_upload-zuawa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case v_upload-ktoks.&lt;/P&gt;&lt;P&gt;      when 'AS' or 'CASH' or 'GL' or 'MAT'.&lt;/P&gt;&lt;P&gt;        perform bdc_field  using:&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-XOPVW'  v_upload-xopvw.&lt;/P&gt;&lt;P&gt;      when 'AS' or 'CASH' or 'GL'.&lt;/P&gt;&lt;P&gt;        perform bdc_field  using:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-MITKZ'  v_upload-mitkz.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;    perform bdc_field  using:&lt;/P&gt;&lt;P&gt;                       'BDC_OKCODE'                    '=SAVE',&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-FSTAG'  v_upload-fstag,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-XINTB'  v_upload-xintb,&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-FDLEV'  v_upload-fdlev.&lt;/P&gt;&lt;P&gt;    case v_upload-ktoks.&lt;/P&gt;&lt;P&gt;      when 'CASH' or 'GL'.&lt;/P&gt;&lt;P&gt;        perform bdc_field  using:&lt;/P&gt;&lt;P&gt;                       'GLACCOUNT_SCREEN_CCODE-XGKON'  v_upload-xgkon.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_transaction using 'FS00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear bdcdata.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;  format hotspot on color 5.&lt;/P&gt;&lt;P&gt;  write:  'Click here to run transaction SM35'.&lt;/P&gt;&lt;P&gt;  format hotspot off.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM upload_file                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Upload the text file from the PC                              *&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 upload_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_file = p_file.&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                      = v_file&lt;/P&gt;&lt;P&gt;      filetype                      = 'ASC'&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      data_tab                      = t_pcdata&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;      invalid_type                  = 5&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTHORITY                  = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_ERROR                 = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BAD_DATA_FORMAT               = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_NOT_ALLOWED            = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SEPARATOR_NOT_ALLOWED         = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER_TOO_LONG               = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_DP_ERROR              = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACCESS_DENIED                 = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_OUT_OF_MEMORY              = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISK_FULL                     = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DP_TIMEOUT                    = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 17&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;P&gt;    case sy-subrc.&lt;/P&gt;&lt;P&gt;      when 1.&lt;/P&gt;&lt;P&gt;        message e000 with 'Incorrect filename or the file is in use'.&lt;/P&gt;&lt;P&gt;      when 2.&lt;/P&gt;&lt;P&gt;        message e000 with 'Problem reading the file'.&lt;/P&gt;&lt;P&gt;      when 5.&lt;/P&gt;&lt;P&gt;        message e000 with 'Incorrect file type'.&lt;/P&gt;&lt;P&gt;      when others.&lt;/P&gt;&lt;P&gt;        message e000 with 'Problem with the selected file'.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM extract_data                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Extract the data from the uploaded file into useable table    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form extract_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_pcdata into v_pcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    split v_pcdata at c_sep into&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-saknr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-ktoks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-xplacct&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-xbilk&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-txt20&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-txt50&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-xmwno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-xopvw&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-xkres&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-altkt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-zuawa&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-waers&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-fstag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-fdlev&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-xintb&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-xintb&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-xgkon&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-mitkz&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_upload-mwskz&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        v_filler.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;         v_upload-mandt&lt;/P&gt;&lt;P&gt;         v_upload-ktopl&lt;/P&gt;&lt;P&gt;         v_upload-saknr&lt;/P&gt;&lt;P&gt;         v_upload-txt20&lt;/P&gt;&lt;P&gt;         v_upload-txt50&lt;/P&gt;&lt;P&gt;         v_upload-mcod1&lt;/P&gt;&lt;P&gt;         v_upload-xbilk&lt;/P&gt;&lt;P&gt;         v_upload-xplacct&lt;/P&gt;&lt;P&gt;         v_upload-ktoks&lt;/P&gt;&lt;P&gt;         v_upload-fdlev&lt;/P&gt;&lt;P&gt;         v_upload-fipls&lt;/P&gt;&lt;P&gt;         v_upload-fstag&lt;/P&gt;&lt;P&gt;         v_upload-kdfsl&lt;/P&gt;&lt;P&gt;         v_upload-mitkz&lt;/P&gt;&lt;P&gt;         v_upload-mwskz&lt;/P&gt;&lt;P&gt;         v_upload-waers&lt;/P&gt;&lt;P&gt;         v_upload-xgkon&lt;/P&gt;&lt;P&gt;         v_upload-xintb&lt;/P&gt;&lt;P&gt;         v_upload-xkres&lt;/P&gt;&lt;P&gt;         v_upload-xopvw&lt;/P&gt;&lt;P&gt;         v_upload-xspeb&lt;/P&gt;&lt;P&gt;         v_upload-znirt&lt;/P&gt;&lt;P&gt;         v_upload-zuawa&lt;/P&gt;&lt;P&gt;         v_upload-altkt&lt;/P&gt;&lt;P&gt;         v_upload-xsalh&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       v_upload-xmwno&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         v_upload-bukrs&lt;/P&gt;&lt;P&gt;         v_filler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if v_upload-xbilk = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear v_upload-xplacct.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   else.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     v_upload-xplacct = 'X'.&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;    append v_upload to t_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rewards points if helpfull&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regads,&lt;/P&gt;&lt;P&gt;Vind&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Sep 2007 14:11:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-dataset-program-required/m-p/2827217#M661551</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-26T14:11:00Z</dc:date>
    </item>
    <item>
      <title>Re: BDC DATASET Program required</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-dataset-program-required/m-p/2827218#M661552</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;see the sample code for uploading from Application server while doing BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report ZSDBDCP_PRICING no standard page heading&lt;/P&gt;&lt;P&gt;       line-size 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include zbdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table To hold condition records data from flat file.&lt;/P&gt;&lt;P&gt;Data: begin of it_pricing occurs 0,&lt;/P&gt;&lt;P&gt;       key(4),&lt;/P&gt;&lt;P&gt;       f1(4),&lt;/P&gt;&lt;P&gt;       f2(4),&lt;/P&gt;&lt;P&gt;       f3(2),&lt;/P&gt;&lt;P&gt;       f4(18),&lt;/P&gt;&lt;P&gt;       f5(16),&lt;/P&gt;&lt;P&gt;      end of it_pricing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table To hold condition records header  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : begin of it_header occurs 0,&lt;/P&gt;&lt;P&gt;         key(4),&lt;/P&gt;&lt;P&gt;         f1(4),&lt;/P&gt;&lt;P&gt;         f2(4),&lt;/P&gt;&lt;P&gt;         f3(2),&lt;/P&gt;&lt;P&gt;       end of it_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table To hold condition records details .&lt;/P&gt;&lt;P&gt;data : begin of it_details occurs 0,&lt;/P&gt;&lt;P&gt;        key(4),&lt;/P&gt;&lt;P&gt;        f4(18),&lt;/P&gt;&lt;P&gt;        f5(16),&lt;/P&gt;&lt;P&gt;       end of it_details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_sno(2),&lt;/P&gt;&lt;P&gt;       v_rows type i,&lt;/P&gt;&lt;P&gt;       v_fname(40).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;refresh : it_pricing,it_header,it_details.&lt;/P&gt;&lt;P&gt;clear  : it_pricing,it_header,it_details.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FILENAME                = 'C:\WINDOWS\Desktop\pricing.txt'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FILETYPE                = 'DAT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           DATA_TAB                = it_pricing&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;           CONVERSION_ERROR        = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           INVALID_TABLE_WIDTH     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           INVALID_TYPE            = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           NO_BATCH                = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           UNKNOWN_ERROR           = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           GUI_REFUSE_FILETRANSFER = 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;  WRITE : / 'Condition Records ', P_FNAME, ' on ', SY-DATUM.&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_FNAME FOR INPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    write : / 'File could not be uploaded.. Check file name.'.&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  CLEAR : it_pricing[], it_pricing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    READ DATASET P_FNAME INTO V_STR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;write v_str.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;translate v_str using '#/'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SPLIT V_STR AT ',' INTO it_pricing-key&lt;/P&gt;&lt;P&gt;                            it_pricing-F1 it_pricing-F2 it_pricing-F3&lt;/P&gt;&lt;P&gt;                            it_pricing-F4 it_pricing-F5 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND it_pricing.&lt;/P&gt;&lt;P&gt;    CLEAR it_pricing.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF it_pricing[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE : / 'No data found to upload'.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_pricing.&lt;/P&gt;&lt;P&gt;    At new key.&lt;/P&gt;&lt;P&gt;      read table it_pricing index sy-tabix.&lt;/P&gt;&lt;P&gt;      move-corresponding it_pricing to it_header.&lt;/P&gt;&lt;P&gt;      append it_header.&lt;/P&gt;&lt;P&gt;      clear it_header.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    move-corresponding it_pricing to it_details.&lt;/P&gt;&lt;P&gt;    append it_details.&lt;/P&gt;&lt;P&gt;    clear it_details.&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;  perform open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_rows = sy-srows - 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMV13A' '0100'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'RV13A-KSCHL'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RV13A-KSCHL'&lt;/P&gt;&lt;P&gt;                                  it_header-f1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'KONP-KBETR(01)'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'KOMG-VKORG'&lt;/P&gt;&lt;P&gt;                                  it_header-f2.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'KOMG-VTWEG'&lt;/P&gt;&lt;P&gt;                                   it_header-f3.&lt;/P&gt;&lt;P&gt;**Table Control&lt;/P&gt;&lt;P&gt;    v_sno = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at it_details where key eq it_header-key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_sno = v_sno + 1.&lt;/P&gt;&lt;P&gt;      clear v_fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KOMG-MATNR(' V_SNO ')' INTO V_FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform bdc_field       using v_fname&lt;/P&gt;&lt;P&gt;                                    it_details-f4.&lt;/P&gt;&lt;P&gt;      clear v_fname.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'KONP-KBETR(' V_SNO ')' INTO V_FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform bdc_field       using v_fname&lt;/P&gt;&lt;P&gt;                                    it_details-f5.&lt;/P&gt;&lt;P&gt;      if v_sno eq v_rows.&lt;/P&gt;&lt;P&gt;        v_sno = 0.&lt;/P&gt;&lt;P&gt;        perform bdc_dynpro      using 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                 '=P+'.&lt;/P&gt;&lt;P&gt;        perform bdc_dynpro      using 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;        perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                 '/00'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Save&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMV13A' '1004'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_transaction using 'VK11'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  perform close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Sep 2007 14:24:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-dataset-program-required/m-p/2827218#M661552</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-26T14:24:06Z</dc:date>
    </item>
  </channel>
</rss>

