<?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 FLATFILE structure for bdc using table control(BOM) in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/flatfile-structure-for-bdc-using-table-control-bom/m-p/4730384#M1110187</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;the format of the flatfile is :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matnr             werks     stlan       idnrk              menge  postp  idnrk             menge  postp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;300000232     UN02       1           200000345     100       L         200000347    300      L&lt;/P&gt;&lt;P&gt;300000232     UN02       1           200000346     200       L         &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THE FLATFILE SRUCTURE IS THE MAIN PROBLEM....&lt;/P&gt;&lt;P&gt;COZ the line items can either be in the same line or in the next line....&lt;/P&gt;&lt;P&gt;so my pgm should be able to run in both the situations...&lt;/P&gt;&lt;P&gt;would b best if u provide me with code.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My second issue is what to use for primary recording.....shdb or sm35.....which one's better?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hav tried d pgm.....&lt;/P&gt;&lt;P&gt;1] &lt;A href="http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm" target="test_blank"&gt;http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;2] the one given in d forum.......given below....&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;DATA : w_auart(4) TYPE c,&lt;/P&gt;&lt;P&gt;w_vkorg(4) TYPE c,&lt;/P&gt;&lt;P&gt;w_vtweg(2) TYPE c,&lt;/P&gt;&lt;P&gt;w_spart(2) TYPE c,&lt;/P&gt;&lt;P&gt;w_kunnr(10) TYPE c,&lt;/P&gt;&lt;P&gt;w_kunrg(10) TYPE c,&lt;/P&gt;&lt;P&gt;w_bstkd(35) TYPE c,&lt;/P&gt;&lt;P&gt;w_bstdk(10) TYPE c,&lt;/P&gt;&lt;P&gt;w_kwmeng(18) TYPE c,&lt;/P&gt;&lt;P&gt;w_zterm(4) TYPE c,&lt;/P&gt;&lt;P&gt;w_inco1(3) TYPE c,&lt;/P&gt;&lt;P&gt;w_inco2(28) TYPE c,&lt;/P&gt;&lt;P&gt;w_augru(3) TYPE c.&lt;/P&gt;&lt;P&gt;DATA : var1 TYPE string,&lt;/P&gt;&lt;P&gt;var2 TYPE c VALUE '(',&lt;/P&gt;&lt;P&gt;var3 TYPE c VALUE ')',&lt;/P&gt;&lt;P&gt;num(2) TYPE c,&lt;/P&gt;&lt;P&gt;flag(1) TYPE c.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_order, " Internal table Structure&lt;/P&gt;&lt;P&gt;auart(4) TYPE c, " Sales Order Type&lt;/P&gt;&lt;P&gt;vkorg(4) TYPE c, " Sales Organization&lt;/P&gt;&lt;P&gt;vtweg(2) TYPE c, " Distribution Channel&lt;/P&gt;&lt;P&gt;spart(2) TYPE c, " Division&lt;/P&gt;&lt;P&gt;kunnr(10) TYPE c, " Sold-to-Party&lt;/P&gt;&lt;P&gt;kunrg(10) TYPE c, " Ship-to-Party&lt;/P&gt;&lt;P&gt;bstkd(35) TYPE c, " Purchase Order No&lt;/P&gt;&lt;P&gt;bstdk(10) TYPE c, " Purchase Order Date&lt;/P&gt;&lt;P&gt;zterm(4) TYPE c, " Payment Terms&lt;/P&gt;&lt;P&gt;inco1(3) TYPE c, " Inco Terms1&lt;/P&gt;&lt;P&gt;inco2(20) TYPE c, " Inco Terms2&lt;/P&gt;&lt;P&gt;augru(3) TYPE c, " Order Reason&lt;/P&gt;&lt;P&gt;mabnr(18) TYPE c, " Material No&lt;/P&gt;&lt;P&gt;kwmeng(18) TYPE c, " Quantity&lt;/P&gt;&lt;P&gt;END OF it_order,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;itab LIKE STANDARD TABLE OF it_order WITH HEADER LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETER filename LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;PARAMETER session LIKE apqi-groupid.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Get the file path &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 = filename&lt;/P&gt;&lt;P&gt;def_path = ' '&lt;/P&gt;&lt;P&gt;mask = ',.,..'&lt;/P&gt;&lt;P&gt;mode = 'O'&lt;/P&gt;&lt;P&gt;title = 'Select File'&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;filename = filename&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;selection_cancel = 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0.&lt;/P&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;CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;codepage = ' '&lt;/P&gt;&lt;P&gt;filename = filename&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;headlen = ' '&lt;/P&gt;&lt;P&gt;line_exit = ' '&lt;/P&gt;&lt;P&gt;trunclen = ' '&lt;/P&gt;&lt;P&gt;user_form = ' '&lt;/P&gt;&lt;P&gt;user_prog = ' '&lt;/P&gt;&lt;P&gt;dat_d_format = ' '&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FILELENGTH = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = itab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_error = 1&lt;/P&gt;&lt;P&gt;file_open_error = 2&lt;/P&gt;&lt;P&gt;file_read_error = 3&lt;/P&gt;&lt;P&gt;invalid_type = 4&lt;/P&gt;&lt;P&gt;no_batch = 5&lt;/P&gt;&lt;P&gt;unknown_error = 6&lt;/P&gt;&lt;P&gt;invalid_table_width = 7&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 8&lt;/P&gt;&lt;P&gt;customer_error = 9&lt;/P&gt;&lt;P&gt;OTHERS = 10.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO &lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;PERFORM open_group.&lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;CLEAR : w_auart,w_vkorg,w_vtweg,w_spart,w_kunnr,w_kunrg,&lt;/P&gt;&lt;P&gt;w_bstkd,w_bstdk,w_zterm,w_inco1,w_inco2,w_augru.&lt;/P&gt;&lt;P&gt;w_auart = itab-auart.&lt;/P&gt;&lt;P&gt;w_vkorg = itab-vkorg.&lt;/P&gt;&lt;P&gt;w_vtweg = itab-vtweg.&lt;/P&gt;&lt;P&gt;w_spart = itab-spart.&lt;/P&gt;&lt;P&gt;w_kunnr = itab-kunnr.&lt;/P&gt;&lt;P&gt;w_kunrg = itab-kunrg.&lt;/P&gt;&lt;P&gt;w_bstkd = itab-bstkd.&lt;/P&gt;&lt;P&gt;w_bstdk = itab-bstdk.&lt;/P&gt;&lt;P&gt;w_zterm = itab-zterm.&lt;/P&gt;&lt;P&gt;w_inco1 = itab-inco1.&lt;/P&gt;&lt;P&gt;w_inco2 = itab-inco2.&lt;/P&gt;&lt;P&gt;w_augru = itab-augru.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ON CHANGE OF itab-kunnr OR itab-kunrg OR itab-bstkd .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;flag = 0.&lt;/P&gt;&lt;P&gt;num = 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPMV45A' '0101'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'VBAK-AUART'.&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 'VBAK-AUART' " Order Type&lt;/P&gt;&lt;P&gt;itab-auart.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBAK-VKORG' " Sales Organization&lt;/P&gt;&lt;P&gt;itab-vkorg.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBAK-VTWEG' " Distribution Channel&lt;/P&gt;&lt;P&gt;itab-vtweg.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBAK-SPART' " Division&lt;/P&gt;&lt;P&gt;itab-spart.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.&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 'VBKD-BSTKD' " PO Number&lt;/P&gt;&lt;P&gt;itab-bstkd.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBKD-BSTDK' " PO Date&lt;/P&gt;&lt;P&gt;itab-bstdk.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'KUAGV-KUNNR' " Sold to Party&lt;/P&gt;&lt;P&gt;itab-kunnr.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'KUWEV-KUNNR' " Ship to Party&lt;/P&gt;&lt;P&gt;itab-kunrg.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBKD-ZTERM' " Payment Terms&lt;/P&gt;&lt;P&gt;itab-zterm.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBKD-INCO1' " Inco Terms1&lt;/P&gt;&lt;P&gt;itab-inco1.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBKD-INCO2' " Inco Terms2&lt;/P&gt;&lt;P&gt;itab-inco2.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBAK-AUGRU' " Order Reason&lt;/P&gt;&lt;P&gt;itab-augru.&lt;/P&gt;&lt;P&gt;ENDON.&lt;/P&gt;&lt;P&gt;IF flag = 0.&lt;/P&gt;&lt;P&gt;LOOP AT itab WHERE bstkd = itab-bstkd AND kunnr = itab-kunnr .&lt;/P&gt;&lt;P&gt;var1 = 'RV45A-MABNR'.&lt;/P&gt;&lt;P&gt;CONCATENATE var1 var2 num var3 INTO var1.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING var1&lt;/P&gt;&lt;P&gt;itab-mabnr.&lt;/P&gt;&lt;P&gt;var1 = 'RV45A-KWMENG'.&lt;/P&gt;&lt;P&gt;CONCATENATE var1 var2 num var3 INTO var1.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING var1&lt;/P&gt;&lt;P&gt;itab-kwmeng.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.&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;num = 2.&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;ELSE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CONTINUE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;flag = 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.&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 'VA01'.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;PERFORM close_group.&lt;/P&gt;&lt;P&gt;WRITE : / 'Session',session, 'was Created'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM open_group.&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;P&gt;group = session&lt;/P&gt;&lt;P&gt;user = sy-uname&lt;/P&gt;&lt;P&gt;keep = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM close_group.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM bdc_transaction USING tcode.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;tcode = tcode&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING program dynpro.&lt;/P&gt;&lt;P&gt;CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;bdcdata-program = program.&lt;/P&gt;&lt;P&gt;bdcdata-dynpro = dynpro.&lt;/P&gt;&lt;P&gt;bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;APPEND bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM bdc_field USING fnam fval.&lt;/P&gt;&lt;P&gt;IF fval ' '.&lt;/P&gt;&lt;P&gt;CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;APPEND bdcdata.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 11 Nov 2008 08:44:56 GMT</pubDate>
    <dc:creator>former_member206485</dc:creator>
    <dc:date>2008-11-11T08:44:56Z</dc:date>
    <item>
      <title>FLATFILE structure for bdc using table control(BOM)</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/flatfile-structure-for-bdc-using-table-control-bom/m-p/4730384#M1110187</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;the format of the flatfile is :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matnr             werks     stlan       idnrk              menge  postp  idnrk             menge  postp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;300000232     UN02       1           200000345     100       L         200000347    300      L&lt;/P&gt;&lt;P&gt;300000232     UN02       1           200000346     200       L         &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THE FLATFILE SRUCTURE IS THE MAIN PROBLEM....&lt;/P&gt;&lt;P&gt;COZ the line items can either be in the same line or in the next line....&lt;/P&gt;&lt;P&gt;so my pgm should be able to run in both the situations...&lt;/P&gt;&lt;P&gt;would b best if u provide me with code.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My second issue is what to use for primary recording.....shdb or sm35.....which one's better?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hav tried d pgm.....&lt;/P&gt;&lt;P&gt;1] &lt;A href="http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm" target="test_blank"&gt;http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;2] the one given in d forum.......given below....&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;DATA : w_auart(4) TYPE c,&lt;/P&gt;&lt;P&gt;w_vkorg(4) TYPE c,&lt;/P&gt;&lt;P&gt;w_vtweg(2) TYPE c,&lt;/P&gt;&lt;P&gt;w_spart(2) TYPE c,&lt;/P&gt;&lt;P&gt;w_kunnr(10) TYPE c,&lt;/P&gt;&lt;P&gt;w_kunrg(10) TYPE c,&lt;/P&gt;&lt;P&gt;w_bstkd(35) TYPE c,&lt;/P&gt;&lt;P&gt;w_bstdk(10) TYPE c,&lt;/P&gt;&lt;P&gt;w_kwmeng(18) TYPE c,&lt;/P&gt;&lt;P&gt;w_zterm(4) TYPE c,&lt;/P&gt;&lt;P&gt;w_inco1(3) TYPE c,&lt;/P&gt;&lt;P&gt;w_inco2(28) TYPE c,&lt;/P&gt;&lt;P&gt;w_augru(3) TYPE c.&lt;/P&gt;&lt;P&gt;DATA : var1 TYPE string,&lt;/P&gt;&lt;P&gt;var2 TYPE c VALUE '(',&lt;/P&gt;&lt;P&gt;var3 TYPE c VALUE ')',&lt;/P&gt;&lt;P&gt;num(2) TYPE c,&lt;/P&gt;&lt;P&gt;flag(1) TYPE c.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_order, " Internal table Structure&lt;/P&gt;&lt;P&gt;auart(4) TYPE c, " Sales Order Type&lt;/P&gt;&lt;P&gt;vkorg(4) TYPE c, " Sales Organization&lt;/P&gt;&lt;P&gt;vtweg(2) TYPE c, " Distribution Channel&lt;/P&gt;&lt;P&gt;spart(2) TYPE c, " Division&lt;/P&gt;&lt;P&gt;kunnr(10) TYPE c, " Sold-to-Party&lt;/P&gt;&lt;P&gt;kunrg(10) TYPE c, " Ship-to-Party&lt;/P&gt;&lt;P&gt;bstkd(35) TYPE c, " Purchase Order No&lt;/P&gt;&lt;P&gt;bstdk(10) TYPE c, " Purchase Order Date&lt;/P&gt;&lt;P&gt;zterm(4) TYPE c, " Payment Terms&lt;/P&gt;&lt;P&gt;inco1(3) TYPE c, " Inco Terms1&lt;/P&gt;&lt;P&gt;inco2(20) TYPE c, " Inco Terms2&lt;/P&gt;&lt;P&gt;augru(3) TYPE c, " Order Reason&lt;/P&gt;&lt;P&gt;mabnr(18) TYPE c, " Material No&lt;/P&gt;&lt;P&gt;kwmeng(18) TYPE c, " Quantity&lt;/P&gt;&lt;P&gt;END OF it_order,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;itab LIKE STANDARD TABLE OF it_order WITH HEADER LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETER filename LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;PARAMETER session LIKE apqi-groupid.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Get the file path &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 = filename&lt;/P&gt;&lt;P&gt;def_path = ' '&lt;/P&gt;&lt;P&gt;mask = ',.,..'&lt;/P&gt;&lt;P&gt;mode = 'O'&lt;/P&gt;&lt;P&gt;title = 'Select File'&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;filename = filename&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;selection_cancel = 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0.&lt;/P&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;CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;codepage = ' '&lt;/P&gt;&lt;P&gt;filename = filename&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;headlen = ' '&lt;/P&gt;&lt;P&gt;line_exit = ' '&lt;/P&gt;&lt;P&gt;trunclen = ' '&lt;/P&gt;&lt;P&gt;user_form = ' '&lt;/P&gt;&lt;P&gt;user_prog = ' '&lt;/P&gt;&lt;P&gt;dat_d_format = ' '&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FILELENGTH = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = itab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_error = 1&lt;/P&gt;&lt;P&gt;file_open_error = 2&lt;/P&gt;&lt;P&gt;file_read_error = 3&lt;/P&gt;&lt;P&gt;invalid_type = 4&lt;/P&gt;&lt;P&gt;no_batch = 5&lt;/P&gt;&lt;P&gt;unknown_error = 6&lt;/P&gt;&lt;P&gt;invalid_table_width = 7&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 8&lt;/P&gt;&lt;P&gt;customer_error = 9&lt;/P&gt;&lt;P&gt;OTHERS = 10.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO &lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;PERFORM open_group.&lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;CLEAR : w_auart,w_vkorg,w_vtweg,w_spart,w_kunnr,w_kunrg,&lt;/P&gt;&lt;P&gt;w_bstkd,w_bstdk,w_zterm,w_inco1,w_inco2,w_augru.&lt;/P&gt;&lt;P&gt;w_auart = itab-auart.&lt;/P&gt;&lt;P&gt;w_vkorg = itab-vkorg.&lt;/P&gt;&lt;P&gt;w_vtweg = itab-vtweg.&lt;/P&gt;&lt;P&gt;w_spart = itab-spart.&lt;/P&gt;&lt;P&gt;w_kunnr = itab-kunnr.&lt;/P&gt;&lt;P&gt;w_kunrg = itab-kunrg.&lt;/P&gt;&lt;P&gt;w_bstkd = itab-bstkd.&lt;/P&gt;&lt;P&gt;w_bstdk = itab-bstdk.&lt;/P&gt;&lt;P&gt;w_zterm = itab-zterm.&lt;/P&gt;&lt;P&gt;w_inco1 = itab-inco1.&lt;/P&gt;&lt;P&gt;w_inco2 = itab-inco2.&lt;/P&gt;&lt;P&gt;w_augru = itab-augru.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ON CHANGE OF itab-kunnr OR itab-kunrg OR itab-bstkd .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;flag = 0.&lt;/P&gt;&lt;P&gt;num = 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPMV45A' '0101'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'VBAK-AUART'.&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 'VBAK-AUART' " Order Type&lt;/P&gt;&lt;P&gt;itab-auart.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBAK-VKORG' " Sales Organization&lt;/P&gt;&lt;P&gt;itab-vkorg.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBAK-VTWEG' " Distribution Channel&lt;/P&gt;&lt;P&gt;itab-vtweg.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBAK-SPART' " Division&lt;/P&gt;&lt;P&gt;itab-spart.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.&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 'VBKD-BSTKD' " PO Number&lt;/P&gt;&lt;P&gt;itab-bstkd.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBKD-BSTDK' " PO Date&lt;/P&gt;&lt;P&gt;itab-bstdk.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'KUAGV-KUNNR' " Sold to Party&lt;/P&gt;&lt;P&gt;itab-kunnr.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'KUWEV-KUNNR' " Ship to Party&lt;/P&gt;&lt;P&gt;itab-kunrg.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBKD-ZTERM' " Payment Terms&lt;/P&gt;&lt;P&gt;itab-zterm.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBKD-INCO1' " Inco Terms1&lt;/P&gt;&lt;P&gt;itab-inco1.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBKD-INCO2' " Inco Terms2&lt;/P&gt;&lt;P&gt;itab-inco2.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'VBAK-AUGRU' " Order Reason&lt;/P&gt;&lt;P&gt;itab-augru.&lt;/P&gt;&lt;P&gt;ENDON.&lt;/P&gt;&lt;P&gt;IF flag = 0.&lt;/P&gt;&lt;P&gt;LOOP AT itab WHERE bstkd = itab-bstkd AND kunnr = itab-kunnr .&lt;/P&gt;&lt;P&gt;var1 = 'RV45A-MABNR'.&lt;/P&gt;&lt;P&gt;CONCATENATE var1 var2 num var3 INTO var1.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING var1&lt;/P&gt;&lt;P&gt;itab-mabnr.&lt;/P&gt;&lt;P&gt;var1 = 'RV45A-KWMENG'.&lt;/P&gt;&lt;P&gt;CONCATENATE var1 var2 num var3 INTO var1.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING var1&lt;/P&gt;&lt;P&gt;itab-kwmeng.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.&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;num = 2.&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;ELSE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CONTINUE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;flag = 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.&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 'VA01'.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;PERFORM close_group.&lt;/P&gt;&lt;P&gt;WRITE : / 'Session',session, 'was Created'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM open_group.&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;P&gt;group = session&lt;/P&gt;&lt;P&gt;user = sy-uname&lt;/P&gt;&lt;P&gt;keep = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM close_group.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM bdc_transaction USING tcode.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;tcode = tcode&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING program dynpro.&lt;/P&gt;&lt;P&gt;CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;bdcdata-program = program.&lt;/P&gt;&lt;P&gt;bdcdata-dynpro = dynpro.&lt;/P&gt;&lt;P&gt;bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;APPEND bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM bdc_field USING fnam fval.&lt;/P&gt;&lt;P&gt;IF fval ' '.&lt;/P&gt;&lt;P&gt;CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;APPEND bdcdata.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Nov 2008 08:44:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/flatfile-structure-for-bdc-using-table-control-bom/m-p/4730384#M1110187</guid>
      <dc:creator>former_member206485</dc:creator>
      <dc:date>2008-11-11T08:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: FLATFILE structure for bdc using table control(BOM)</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/flatfile-structure-for-bdc-using-table-control-bom/m-p/4730385#M1110188</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;codepage = ' '&lt;/P&gt;&lt;P&gt;filename = filename&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;headlen = ' '&lt;/P&gt;&lt;P&gt;line_exit = ' '&lt;/P&gt;&lt;P&gt;trunclen = ' '&lt;/P&gt;&lt;P&gt;user_form = ' '&lt;/P&gt;&lt;P&gt;user_prog = ' '&lt;/P&gt;&lt;P&gt;dat_d_format = ' '&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FILELENGTH = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = itab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_error = 1&lt;/P&gt;&lt;P&gt;file_open_error = 2&lt;/P&gt;&lt;P&gt;file_read_error = 3&lt;/P&gt;&lt;P&gt;invalid_type = 4&lt;/P&gt;&lt;P&gt;no_batch = 5&lt;/P&gt;&lt;P&gt;unknown_error = 6&lt;/P&gt;&lt;P&gt;invalid_table_width = 7&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 8&lt;/P&gt;&lt;P&gt;customer_error = 9&lt;/P&gt;&lt;P&gt;OTHERS = 10.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO &lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After using this function module  yoyr getting the data into  internal table itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then you can use the  below code.&lt;/P&gt;&lt;P&gt;you can split  your data based on delimeter. delimeter like , # | &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now  now problem  items can either be in the same line or in the next line...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;based on your internal table fileds its going to split...&lt;/P&gt;&lt;P&gt;loop at lt_itab into wa_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SPLIT  wa_itab  AT gc_comm  INTO&lt;/P&gt;&lt;P&gt;      wa_itab1-matnr&lt;/P&gt;&lt;P&gt;      wa_itab1-werks&lt;/P&gt;&lt;P&gt;      wa_itab1-stlan like &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;apeend to one more internal table.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Nov 2008 14:42:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/flatfile-structure-for-bdc-using-table-control-bom/m-p/4730385#M1110188</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-11T14:42:08Z</dc:date>
    </item>
    <item>
      <title>Re: FLATFILE structure for bdc using table control(BOM)</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/flatfile-structure-for-bdc-using-table-control-bom/m-p/4730386#M1110189</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hav worked out with delimiters bt the main pblm lies in assigning more than 1 line item........&lt;/P&gt;&lt;P&gt;n wht is gc_comm.....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 12:11:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/flatfile-structure-for-bdc-using-table-control-bom/m-p/4730386#M1110189</guid>
      <dc:creator>former_member206485</dc:creator>
      <dc:date>2008-11-12T12:11:34Z</dc:date>
    </item>
  </channel>
</rss>

