<?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 creation in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038836#M719041</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;Please go through the following lines of code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Batch Input Program for Transaction VA01 &lt;/P&gt;&lt;P&gt;How to Create a batch input program for transaction VA01. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The scenerio is &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Input fields: Manditory fields to create a new Sales Order using VA01. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hint: Take an existing Sales Order and use the master data which was previously used. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Conditions: &lt;/P&gt;&lt;P&gt;1)Upload the input data from a text file stored in your note pc. &lt;/P&gt;&lt;P&gt;2)Use call transaction method. &lt;/P&gt;&lt;P&gt;3)Your program should allow to input the file path and file name to select the data. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here I'm attaching BDC Code for 'VA01'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report ZBDC3_VA01 &lt;/P&gt;&lt;P&gt;no standard page heading line-size 255. &lt;/P&gt;&lt;P&gt;include bdcrecx1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types : begin of ty_head, &lt;/P&gt;&lt;P&gt;auart(4), &lt;/P&gt;&lt;P&gt;vkorg(4), &lt;/P&gt;&lt;P&gt;vtweg(2), &lt;/P&gt;&lt;P&gt;spart(2), &lt;/P&gt;&lt;P&gt;kunnr(10), &lt;/P&gt;&lt;P&gt;bstkd(10), &lt;/P&gt;&lt;P&gt;end of ty_head. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: begin of ty_item, &lt;/P&gt;&lt;P&gt;matnr(18) type c, &lt;/P&gt;&lt;P&gt;kwmeng(13) type c, &lt;/P&gt;&lt;P&gt;end of ty_item. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: it_head type table of ty_head. " Header &lt;/P&gt;&lt;P&gt;data: wa_head like line of it_head. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: it_item type table of ty_item. " Item &lt;/P&gt;&lt;P&gt;data: wa_item like line of it_item. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:v_kwmeng(30) type c, &lt;/P&gt;&lt;P&gt;v_mabnr(30) type c. &lt;/P&gt;&lt;P&gt;DATA: VAL(2) TYPE N VALUE 01. &lt;/P&gt;&lt;P&gt;DATA : w_file2 TYPE string, &lt;/P&gt;&lt;P&gt;w_file1 TYPE string. &lt;/P&gt;&lt;P&gt;PARAMETERS: filename LIKE rlgrap-filename. &lt;/P&gt;&lt;P&gt;PARAMETERS: filenam1 LIKE rlgrap-filename. &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;CALL FUNCTION 'F4_FILENAME' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;file_name = filename. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filenam1. &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;file_name = filenam1. &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;w_file2 = filename. &lt;/P&gt;&lt;P&gt;w_file1 = filenam1. &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="15" type="ul"&gt;&lt;P&gt;HEADER ************************ &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD' &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;filename = w_file2 &lt;/P&gt;&lt;P&gt;filetype = 'ASC' &lt;/P&gt;&lt;P&gt;has_field_separator = 'X' &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;data_tab = it_head. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="15" type="ul"&gt;&lt;P&gt;Item ******************* &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;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 = w_file1 &lt;/P&gt;&lt;P&gt;filetype = 'ASC' &lt;/P&gt;&lt;P&gt;has_field_separator = 'X' &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;data_tab = it_item. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform open_group. &lt;/P&gt;&lt;P&gt;loop at it_head into wa_head. &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' &lt;/P&gt;&lt;P&gt;WA_HEAD-AUART. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBAK-VKORG' &lt;/P&gt;&lt;P&gt;WA_HEAD-VKORG. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBAK-VTWEG' &lt;/P&gt;&lt;P&gt;WA_HEAD-VTWEG. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBAK-SPART' &lt;/P&gt;&lt;P&gt;WA_HEAD-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' &lt;/P&gt;&lt;P&gt;WA_HEAD-BSTKD. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-BSTDK' &lt;/P&gt;&lt;P&gt;'30.01.2006'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'KUAGV-KUNNR' &lt;/P&gt;&lt;P&gt;WA_HEAD-KUNNR. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'RV45A-KETDAT' &lt;/P&gt;&lt;P&gt;'30.01.2006'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'RV45A-KPRGBZ' &lt;/P&gt;&lt;P&gt;'D'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-ZTERM' &lt;/P&gt;&lt;P&gt;'0001'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-INCO1' &lt;/P&gt;&lt;P&gt;'CIF'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-INCO2' &lt;/P&gt;&lt;P&gt;'COST INSUSRABCE FRIEGHT'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_item into wa_item . &lt;/P&gt;&lt;P&gt;CONCATENATE 'RV45A-MABNR(' '0' VAL ')' INTO v_MABNR. CONCATENATE 'RV45A-KWMENG(' '0' VAL ')' INTO v_kwmeng. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' &lt;/P&gt;&lt;P&gt;v_kwmeng. &lt;/P&gt;&lt;P&gt;perform bdc_field using v_mabnr &lt;/P&gt;&lt;P&gt;wa_item-matnr. &lt;/P&gt;&lt;P&gt;perform bdc_field using v_kwmeng &lt;/P&gt;&lt;P&gt;wa_item-kwmeng. &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;'/00'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VAL = VAL + 1. &lt;/P&gt;&lt;P&gt;IF VAL &amp;gt; 5. &lt;/P&gt;&lt;P&gt;VAL = 5. &lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;endloop. &lt;/P&gt;&lt;P&gt;VAL = 01. &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;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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward is usefull.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;patil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 06 Nov 2007 09:27:58 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-06T09:27:58Z</dc:date>
    <item>
      <title>BDC creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038835#M719040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can anybody give me step by step procedure for creating BDC for VA01 trscation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2007 08:23:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038835#M719040</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-06T08:23:40Z</dc:date>
    </item>
    <item>
      <title>Re: BDC creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038836#M719041</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;Please go through the following lines of code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Batch Input Program for Transaction VA01 &lt;/P&gt;&lt;P&gt;How to Create a batch input program for transaction VA01. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The scenerio is &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Input fields: Manditory fields to create a new Sales Order using VA01. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hint: Take an existing Sales Order and use the master data which was previously used. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Conditions: &lt;/P&gt;&lt;P&gt;1)Upload the input data from a text file stored in your note pc. &lt;/P&gt;&lt;P&gt;2)Use call transaction method. &lt;/P&gt;&lt;P&gt;3)Your program should allow to input the file path and file name to select the data. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here I'm attaching BDC Code for 'VA01'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report ZBDC3_VA01 &lt;/P&gt;&lt;P&gt;no standard page heading line-size 255. &lt;/P&gt;&lt;P&gt;include bdcrecx1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types : begin of ty_head, &lt;/P&gt;&lt;P&gt;auart(4), &lt;/P&gt;&lt;P&gt;vkorg(4), &lt;/P&gt;&lt;P&gt;vtweg(2), &lt;/P&gt;&lt;P&gt;spart(2), &lt;/P&gt;&lt;P&gt;kunnr(10), &lt;/P&gt;&lt;P&gt;bstkd(10), &lt;/P&gt;&lt;P&gt;end of ty_head. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: begin of ty_item, &lt;/P&gt;&lt;P&gt;matnr(18) type c, &lt;/P&gt;&lt;P&gt;kwmeng(13) type c, &lt;/P&gt;&lt;P&gt;end of ty_item. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: it_head type table of ty_head. " Header &lt;/P&gt;&lt;P&gt;data: wa_head like line of it_head. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: it_item type table of ty_item. " Item &lt;/P&gt;&lt;P&gt;data: wa_item like line of it_item. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:v_kwmeng(30) type c, &lt;/P&gt;&lt;P&gt;v_mabnr(30) type c. &lt;/P&gt;&lt;P&gt;DATA: VAL(2) TYPE N VALUE 01. &lt;/P&gt;&lt;P&gt;DATA : w_file2 TYPE string, &lt;/P&gt;&lt;P&gt;w_file1 TYPE string. &lt;/P&gt;&lt;P&gt;PARAMETERS: filename LIKE rlgrap-filename. &lt;/P&gt;&lt;P&gt;PARAMETERS: filenam1 LIKE rlgrap-filename. &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;CALL FUNCTION 'F4_FILENAME' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;file_name = filename. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filenam1. &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;file_name = filenam1. &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;w_file2 = filename. &lt;/P&gt;&lt;P&gt;w_file1 = filenam1. &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="15" type="ul"&gt;&lt;P&gt;HEADER ************************ &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD' &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;filename = w_file2 &lt;/P&gt;&lt;P&gt;filetype = 'ASC' &lt;/P&gt;&lt;P&gt;has_field_separator = 'X' &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;data_tab = it_head. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="15" type="ul"&gt;&lt;P&gt;Item ******************* &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;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 = w_file1 &lt;/P&gt;&lt;P&gt;filetype = 'ASC' &lt;/P&gt;&lt;P&gt;has_field_separator = 'X' &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;data_tab = it_item. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform open_group. &lt;/P&gt;&lt;P&gt;loop at it_head into wa_head. &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' &lt;/P&gt;&lt;P&gt;WA_HEAD-AUART. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBAK-VKORG' &lt;/P&gt;&lt;P&gt;WA_HEAD-VKORG. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBAK-VTWEG' &lt;/P&gt;&lt;P&gt;WA_HEAD-VTWEG. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBAK-SPART' &lt;/P&gt;&lt;P&gt;WA_HEAD-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' &lt;/P&gt;&lt;P&gt;WA_HEAD-BSTKD. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-BSTDK' &lt;/P&gt;&lt;P&gt;'30.01.2006'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'KUAGV-KUNNR' &lt;/P&gt;&lt;P&gt;WA_HEAD-KUNNR. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'RV45A-KETDAT' &lt;/P&gt;&lt;P&gt;'30.01.2006'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'RV45A-KPRGBZ' &lt;/P&gt;&lt;P&gt;'D'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-ZTERM' &lt;/P&gt;&lt;P&gt;'0001'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-INCO1' &lt;/P&gt;&lt;P&gt;'CIF'. &lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-INCO2' &lt;/P&gt;&lt;P&gt;'COST INSUSRABCE FRIEGHT'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_item into wa_item . &lt;/P&gt;&lt;P&gt;CONCATENATE 'RV45A-MABNR(' '0' VAL ')' INTO v_MABNR. CONCATENATE 'RV45A-KWMENG(' '0' VAL ')' INTO v_kwmeng. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' &lt;/P&gt;&lt;P&gt;v_kwmeng. &lt;/P&gt;&lt;P&gt;perform bdc_field using v_mabnr &lt;/P&gt;&lt;P&gt;wa_item-matnr. &lt;/P&gt;&lt;P&gt;perform bdc_field using v_kwmeng &lt;/P&gt;&lt;P&gt;wa_item-kwmeng. &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;'/00'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VAL = VAL + 1. &lt;/P&gt;&lt;P&gt;IF VAL &amp;gt; 5. &lt;/P&gt;&lt;P&gt;VAL = 5. &lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;endloop. &lt;/P&gt;&lt;P&gt;VAL = 01. &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;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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward is usefull.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;patil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2007 09:27:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038836#M719041</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-06T09:27:58Z</dc:date>
    </item>
    <item>
      <title>Re: BDC creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038837#M719042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Harman,&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;BDC:&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Batch Data Communication (BDC)&amp;lt;/b&amp;gt; is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Features :&lt;/P&gt;&lt;P&gt;BDC is an automatic procedure.&lt;/P&gt;&lt;P&gt;This method is used to transfer large amount of data that is available in electronic medium.&lt;/P&gt;&lt;P&gt;BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).&lt;/P&gt;&lt;P&gt;BDC uses normal transaction codes to transfer data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Types of BDC :&lt;/P&gt;&lt;P&gt;CLASSICAL BATCH INPUT (Session Method)&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BATCH INPUT METHOD:&lt;/P&gt;&lt;P&gt;This method is also called as &amp;#145;CLASSICAL METHOD&amp;#146;.&lt;/P&gt;&lt;P&gt;Features:&lt;/P&gt;&lt;P&gt;Asynchronous processing. &lt;/P&gt;&lt;P&gt;Synchronous Processing in database update.&lt;/P&gt;&lt;P&gt;Transfer data for more than one transaction.&lt;/P&gt;&lt;P&gt;Batch input processing log will be generated.&lt;/P&gt;&lt;P&gt;During processing, no transaction is started until the previous transaction has been written to the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION METHOD :&lt;/P&gt;&lt;P&gt;This is another method to transfer data from the legacy system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Features:&lt;/P&gt;&lt;P&gt;Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.&lt;/P&gt;&lt;P&gt;Updating the database can be either synchronous or asynchronous. The program specifies the update type.&lt;/P&gt;&lt;P&gt;Transfer data for a single transaction.&lt;/P&gt;&lt;P&gt;Transfers data for a sequence of dialog screens.&lt;/P&gt;&lt;P&gt;No batch input processing log is generated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Differences between Call Transaction and Sessions Method:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Session method. &lt;/P&gt;&lt;P&gt;1) synchronous processing. &lt;/P&gt;&lt;P&gt;2) can tranfer large amount of data. &lt;/P&gt;&lt;P&gt;3) processing is slower. &lt;/P&gt;&lt;P&gt;4) error log is created &lt;/P&gt;&lt;P&gt;5) data is not updated until session is processed. &lt;/P&gt;&lt;P&gt;6) generally used for back ground jobs.&lt;/P&gt;&lt;P&gt;7) at atime we can update to more than one screens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Call transaction. &lt;/P&gt;&lt;P&gt;1) asynchronous processing &lt;/P&gt;&lt;P&gt;2) can transfer small amount of data &lt;/P&gt;&lt;P&gt;3) processing is faster. &lt;/P&gt;&lt;P&gt;4) errors need to be handled explicitly &lt;/P&gt;&lt;P&gt;5) data is updated automatically &lt;/P&gt;&lt;P&gt;6) for background n fore ground jobs.&lt;/P&gt;&lt;P&gt;7) at atime we can update to a single screen. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For BDC:&lt;/P&gt;&lt;P&gt;&lt;A href="http://myweb.dal.ca/hchinni/sap/bdc_home.htm" target="test_blank"&gt;http://myweb.dal.ca/hchinni/sap/bdc_home.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&amp;amp;" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&amp;amp;&lt;/A&gt;;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/learning-bdc-programming.htm" target="test_blank"&gt;http://www.sap-img.com/abap/learning-bdc-programming.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/bdc/bdchome.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/bdc/bdchome.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm" target="test_blank"&gt;http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html" target="test_blank"&gt;http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check these link:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm" target="test_blank"&gt;http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/question-about-bdc-program.htm" target="test_blank"&gt;http://www.sap-img.com/abap/question-about-bdc-program.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/" target="test_blank"&gt;http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.planetsap.com/bdc_main_page.htm" target="test_blank"&gt;http://www.planetsap.com/bdc_main_page.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2491514"&gt;&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report ZABSALES_ORDER no standard page heading line-size 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: vbak, vbap.&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: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK salesblock WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : Order_ty LIKE vbak-auart DEFAULT 'OR'&lt;/P&gt;&lt;P&gt;modif id SC1,&lt;/P&gt;&lt;P&gt;Customer LIKE kuagv-kunnr OBLIGATORY VALUE CHECK,&lt;/P&gt;&lt;P&gt;Purchase LIKE vbkd-bstkd OBLIGATORY VALUE CHECK,&lt;/P&gt;&lt;P&gt;Material LIKE vbap-matnr OBLIGATORY VALUE CHECK,&lt;/P&gt;&lt;P&gt;Quantity LIKE rv45a-kwmeng OBLIGATORY VALUE CHECK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK salesblock.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF SCREEN 500.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SELECTION-SCREEN 500.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*At selection-screen on Order_ty.&lt;/P&gt;&lt;P&gt;*IF Order_ty &amp;lt;&amp;gt; 'OR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE E080(ZVIKALP).&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;start-of-selection.&lt;/P&gt;&lt;P&gt;&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;'=UER1'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBAK-AUART'&lt;/P&gt;&lt;P&gt;Order_ty.&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;perform bdc_field using 'VBKD-BSTKD'&lt;/P&gt;&lt;P&gt;Purchase.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'KUAGV-KUNNR'&lt;/P&gt;&lt;P&gt;Customer.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMSSY0' '0120'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'04/05'.&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;perform bdc_field using 'RV45A-KETDAT'&lt;/P&gt;&lt;P&gt;'06-05-2005'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RV45A-KPRGBZ'&lt;/P&gt;&lt;P&gt;'D'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'VBKD-PRSDT'&lt;/P&gt;&lt;P&gt;'05-29-2005'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RV45A-KWMENG(01)'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RV45A-MABNR(01)'&lt;/P&gt;&lt;P&gt;Material.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RV45A-KWMENG(01)'&lt;/P&gt;&lt;P&gt;Quantity.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLSPO2' '0101'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=OPT1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'VA01' USING bdcdata&lt;/P&gt;&lt;P&gt;MODE 'N'&lt;/P&gt;&lt;P&gt;UPDATE 'A'&lt;/P&gt;&lt;P&gt;MESSAGES INTO messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if messtab-msgtyp = 'S'.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 5.&lt;/P&gt;&lt;P&gt;elseif messtab-msgtyp = 'E'.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 6.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: / messtab-msgtyp, messtab-msgnr.&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;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'SC1'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&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;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start new screen *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Insert field *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;IF FVAL &amp;lt;&amp;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;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********By session method&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report ZAB_PURCHASE no standard page heading line-size 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: ekko, ekpo, t100.&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: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_MSG OCCURS 0.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE T100.&lt;/P&gt;&lt;P&gt;DATA: END OF T_MSG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*include bdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK salesblock WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : Vendor like Ekko-lifnr OBLIGATORY,&lt;/P&gt;&lt;P&gt;Order_ty like RM06E-BSART obligatory,&lt;/P&gt;&lt;P&gt;Pur_org like ekko-ekorg obligatory value check,&lt;/P&gt;&lt;P&gt;Pur_grp like ekko-ekgrp obligatory value check,&lt;/P&gt;&lt;P&gt;Material like ekpo-ematn obligatory value check,&lt;/P&gt;&lt;P&gt;Quantity(13) type n,&lt;/P&gt;&lt;P&gt;Plant like ekpo-werks obligatory value check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK salesblock.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN END OF SCREEN 500.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL SELECTION-SCREEN 500.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;WRITE :/40 'Creating Purchase Order' COLOR 4 INTENSIFIED ON INVERSE ON&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 7 INVERSE ON.&lt;/P&gt;&lt;P&gt;WRITE :/1(20) 'Mesaage Type',&lt;/P&gt;&lt;P&gt;25(20) 'Message'.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;*perform open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMM06E' '0100'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'EKKO-EKGRP'.&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 'EKKO-LIFNR'&lt;/P&gt;&lt;P&gt;Vendor.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RM06E-BSART'&lt;/P&gt;&lt;P&gt;Order_ty.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RM06E-BEDAT'&lt;/P&gt;&lt;P&gt;'05-30-2005'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'EKKO-EKORG'&lt;/P&gt;&lt;P&gt;Pur_org.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'EKKO-EKGRP'&lt;/P&gt;&lt;P&gt;Pur_grp.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RM06E-LPEIN'&lt;/P&gt;&lt;P&gt;'T'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMM06E' '0120'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'EKPO-WERKS(01)'.&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 'EKPO-EMATN(01)'&lt;/P&gt;&lt;P&gt;Material.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'EKPO-MENGE(01)'&lt;/P&gt;&lt;P&gt;Quantity.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'EKPO-WERKS(01)'&lt;/P&gt;&lt;P&gt;Plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform bdc_transaction using 'ME21'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL TRANSACTION 'ME21' USING BDCDATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MODE 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UPDATE 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGES INTO MESSTAB.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = 'ZAP3'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HOLDDATE = FILLER8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TCODE = 'ME21'&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;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;dynprotab = BDCDATA&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;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;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at messtab.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;ID = messtab-MSGID&lt;/P&gt;&lt;P&gt;LANG = 'EN'&lt;/P&gt;&lt;P&gt;NO = messtab-msgnr&lt;/P&gt;&lt;P&gt;V1 = messtab-MSGV1&lt;/P&gt;&lt;P&gt;V2 = messtab-MSGV2&lt;/P&gt;&lt;P&gt;V3 = messtab-MSGV3&lt;/P&gt;&lt;P&gt;V4 = messtab-MSGV4&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;MSG = T_MSG&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_FOUND = 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;if messtab-msgtyp = 'S'.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 5 inverse on.&lt;/P&gt;&lt;P&gt;elseif messtab-msgtyp = 'E'.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 6 inverse on.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3 inverse on.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;WRITE : /1(20) messtab-msgtyp ,&lt;/P&gt;&lt;P&gt;25(60) t_msg.&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 close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start new screen *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Insert field *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;IF FVAL &amp;lt;&amp;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;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points if Useful&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Gokul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2007 09:43:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038837#M719042</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-06T09:43:04Z</dc:date>
    </item>
    <item>
      <title>Re: BDC creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038838#M719043</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;Transaction Recorder (SHDB) &lt;/P&gt;&lt;P&gt;How to Upload Presentation Server Flat file to SAP R/3 system???&lt;/P&gt;&lt;P&gt;How to upload application server file to R/3 system?&lt;/P&gt;&lt;P&gt;Definition&lt;/P&gt;&lt;P&gt;Example - Call Transaction Method &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Transaction Recorder (SHDB)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Before you work with the Batch Input methods, you should know the purpose of the tool&lt;/P&gt;&lt;P&gt;Transaction Recorder.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use:&lt;/P&gt;&lt;P&gt;You can use the transaction recorder to record a series of transactions and their screens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Features:&lt;/P&gt;&lt;P&gt;You can use the recording to create&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data transfer programs that use batch input or CALL TRANSACTION &lt;/P&gt;&lt;P&gt;Batch input sessions &lt;/P&gt;&lt;P&gt;Test data &lt;/P&gt;&lt;P&gt;Function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: It doesn&amp;#146;t record F1, F4 and Scrollbar movements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upload Flat file from Presentation Server to SAP R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION &amp;#145;GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CODEPAGE = &amp;#145;IBM'&lt;/P&gt;&lt;P&gt;FILENAME = P_UFILE&lt;/P&gt;&lt;P&gt;FILETYPE = 'DAT'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = INT_TAB&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;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;MESSAGE E999(FR) WITH 'ERROR IN FILE UPLOAD'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upload file from application server to SAP R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Open the the application server file &lt;/P&gt;&lt;P&gt;OPEN DATASET &amp;lt;dsn&amp;gt; FOR INPUT &amp;lt;mode&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Read the data from application server file&lt;/P&gt;&lt;P&gt;READ DATASET &amp;lt;dsn&amp;gt; INTO &amp;lt;wa&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then close the application server file&lt;/P&gt;&lt;P&gt;CLOSE DATASET &amp;lt;dsn&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Definition- Declaring BDC Table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BDC_TAB LIKE STANDARD TABLE OF &lt;/P&gt;&lt;P&gt;BDCDATA INITIAL SIZE 6 &lt;/P&gt;&lt;P&gt;WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The internal table used to collect the transaction&amp;#146;s information must be declared &amp;#147;LIKE BDCDATA&amp;#148;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Filling BDC Table &amp;#150; Method #1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = &amp;#145;SAPMF02K&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = &amp;#145;01016&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;RF02K-LIFNR&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;TEST1&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;RF02K-D0010&amp;#146;. &lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = &amp;#145;SAPMF02K&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = &amp;#145;0110&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;LFA1-STRAS&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;123 Main St.&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;BDC_OKCODE&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;/11&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&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;Filling BDC Table &amp;#150; Method #2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM POPULATE_BDC_TAB&lt;/P&gt;&lt;P&gt;USING:&lt;/P&gt;&lt;P&gt;&amp;#145;1&amp;#146; &amp;#145;SAPMF02K&amp;#146; &amp;#145;0106&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;RF02K-LIFNR&amp;#146; &amp;#145;TEST1&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;RF02K-D0010&amp;#146; &amp;#145;X&amp;#146;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#145;1&amp;#146; &amp;#145;SAPMF02K&amp;#146; &amp;#145;0110&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;LFA1-STRAS&amp;#146;, &amp;#145;123 Main St.&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;BDC_OKCODE&amp;#146;, &amp;#145;/11&amp;#146;.&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;FORM POPULATE_BDC_TAB USING FLAG VAR1 VAR2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;IF FLAG = &amp;#145;1&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = VAR1.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = VAR2..&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = VAR1.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = VAR2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&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;P&gt;&lt;/P&gt;&lt;P&gt;This two subroutine method to fill the BDC table is preferable because the &amp;#147;POPULATE_BDC_TABLE&amp;#148; subroutine is reusable throughout all batch input programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example #1 - Change Vendor (Call Transaction Method)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example #1- Declaration Section&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Y180DM10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BDC_TAB LIKE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;BDCDATA INITIAL SIZE 6 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;INFILE(20) VALUE &amp;#145;/tmp/bc180_file4&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF INREC.&lt;/P&gt;&lt;P&gt;VENDNUM LIKE LFA1-LIFNR.&lt;/P&gt;&lt;P&gt;STREET LIKE LFA1-STRAS.&lt;/P&gt;&lt;P&gt;END OF INREC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: DISPMODE DEFAULT &amp;#145;A&amp;#146;,&lt;/P&gt;&lt;P&gt;UPDAMODE DEFAULT &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;OPEN DATASET INFILE&lt;/P&gt;&lt;P&gt;FOR INPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;READ DATASET INFILE INTO INREC.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE DISPMODE&lt;/P&gt;&lt;P&gt;UPDATE UPDAMODE.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;CLOSE DATASET INFILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;synchronous updating&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;&amp;#133;&amp;#133;&amp;#133;&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE &amp;#145;N&amp;#146;&lt;/P&gt;&lt;P&gt;UPDATE &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With synchronous updating, we can check SY-SUBRC to determine the success of the transaction and the actual update to the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asynchronous updating&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;&amp;#133;&amp;#133;&amp;#133;&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE &amp;#145;N&amp;#146;&lt;/P&gt;&lt;P&gt;UPDATE &amp;#145;A&amp;#146;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With asynchronous updating, we can check SY-SUBRC to determine the success of the transaction only, not the actual update to the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error Handling&lt;/P&gt;&lt;P&gt;Write an error report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Send the record(s) in error to an error file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create a batch input session with the record(s) in error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To store error messages ( CALL TRANSACTION )&lt;/P&gt;&lt;P&gt;data: begin of Tab_Mess occurs 0.&lt;/P&gt;&lt;P&gt;include structure bdcmsgcoll.&lt;/P&gt;&lt;P&gt;data : end of Tab_Mess,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146; USING BDC_TAB MODE &amp;#145;N&amp;#146; UPDATE &amp;#145;S&amp;#146; &lt;/P&gt;&lt;P&gt;MESSAGES INTO TAB_MESS.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;WRITE: / Tab_MESS-TCODE, Tab_MESS-DYNUMB, Tab_MESS-MSGTYP , &lt;/P&gt;&lt;P&gt;Tab_MESS-MSGID.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if usefull&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2007 09:49:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-creation/m-p/3038838#M719043</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-06T09:49:48Z</dc:date>
    </item>
  </channel>
</rss>

