<?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 transaction in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473803#M834973</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HAI,&lt;/P&gt;&lt;P&gt;WHEN I AM EXECUTE THIS PROGRAM, ONLY  BDC MESSAGE INFORMATION SHOULD BE DISPLAYED. WHAT ABOUT INTERNAL TABLES RECORDS.?THEY CANNOT DEPICT IN THE SCREEN OF PARTICULAR TRANSACTION ' YSC6'.&lt;/P&gt;&lt;P&gt;REGARDS&lt;/P&gt;&lt;P&gt;SURENDER&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Feb 2008 08:55:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-28T08:55:32Z</dc:date>
    <item>
      <title>bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473794#M834964</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;plz tell the step-wise procedure to create the bdc program using transaction method with simple example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;surender&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 04:46:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473794#M834964</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T04:46:54Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473795#M834965</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;refer to the following example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: EORD.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_file TYPE  rlgrap-filename.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_itab,&lt;/P&gt;&lt;P&gt;       matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;       werks TYPE werks,&lt;/P&gt;&lt;P&gt;       vdatu TYPE EORD-vdatu,&lt;/P&gt;&lt;P&gt;       bdatu TYPE bdatu,&lt;/P&gt;&lt;P&gt;       lifnr TYPE lifnr,&lt;/P&gt;&lt;P&gt;       ekorg TYPE ekorg,&lt;/P&gt;&lt;P&gt;       END OF ty_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :  BEGIN OF ty_file,&lt;/P&gt;&lt;P&gt;         file(200) TYPE c,&lt;/P&gt;&lt;P&gt;         END OF ty_file.&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_success,&lt;/P&gt;&lt;P&gt;          text(250) TYPE c,&lt;/P&gt;&lt;P&gt;        END OF ty_success.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : tt_file TYPE STANDARD TABLE OF ty_file,&lt;/P&gt;&lt;P&gt;        tt_success TYPE STANDARD TABLE OF ty_success,&lt;/P&gt;&lt;P&gt;        tt_itab TYPE STANDARD TABLE OF ty_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_file  TYPE  tt_file,&lt;/P&gt;&lt;P&gt;       itab  TYPE  tt_itab,&lt;/P&gt;&lt;P&gt;       it_success TYPE tt_success,&lt;/P&gt;&lt;P&gt;       wa_success TYPE ty_success,&lt;/P&gt;&lt;P&gt;       wa_file  TYPE  ty_file,&lt;/P&gt;&lt;P&gt;       wa_itab  TYPE  ty_itab,&lt;/P&gt;&lt;P&gt;       g_open TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************&lt;STRONG&gt;BDC DECLARATIONS&lt;/STRONG&gt;******************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :tt_bdcdata       TYPE  STANDARD TABLE OF bdcdata,                " table type  for the bdcdata&lt;/P&gt;&lt;P&gt;       tt_bdcmess       TYPE  STANDARD TABLE OF bdcmsgcoll.             " table type for the BDC Messages&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_bdcdata TYPE tt_bdcdata,&lt;/P&gt;&lt;P&gt;       it_bdcmess TYPE tt_bdcmess,&lt;/P&gt;&lt;P&gt;       it_bdcmess1 TYPE tt_bdcmess,&lt;/P&gt;&lt;P&gt;       wa_bdcdata TYPE bdcdata,&lt;/P&gt;&lt;P&gt;       wa_bdcmess TYPE bdcmsgcoll,&lt;/P&gt;&lt;P&gt;       wa_bdcmess1 TYPE bdcmsgcoll.&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;  PERFORM get_f4 CHANGING p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;IF P_FILE IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  PERFORM validate_file USING p_file.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;  MESSAGE I001(0) WITH' Please enter file name'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM upload_file USING p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM get_data USING it_file&lt;/P&gt;&lt;P&gt;                   CHANGING itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM bdc_transaction.&lt;/P&gt;&lt;P&gt;&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;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM write_messages.&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;&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 WA_bdcdata.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-program  = program.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND WA_bdcdata TO IT_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "bdc_dynpro&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF fval &amp;lt;&amp;gt; nodata.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR WA_bdcdata.&lt;/P&gt;&lt;P&gt;    wa_bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;    wa_bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;    APPEND WA_bdcdata TO IT_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    "bdc_field&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_F4&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_P_FILE  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_f4  CHANGING  pv_file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : l_file TYPE ibipparms-path.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     program_name        = syst-cprog&lt;/P&gt;&lt;P&gt;     dynpro_number       = syst-dynnr&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELD_NAME          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     file_name           = l_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pv_file = l_file.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    " GET_F4&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_FILE  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form VALIDATE_FILE  using file type c.&lt;/P&gt;&lt;P&gt;DATA: l_result TYPE c ,&lt;/P&gt;&lt;P&gt;        l_file(128) TYPE c ,&lt;/P&gt;&lt;P&gt;        lv_dir TYPE i,&lt;/P&gt;&lt;P&gt;        l_dir  TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    fname                = file&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   EXIST                = l_result&lt;/P&gt;&lt;P&gt;   ISDIR                = l_dir&lt;/P&gt;&lt;P&gt;   FILESIZE             = lv_dir&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   FILEINFO_ERROR       = 1&lt;/P&gt;&lt;P&gt;   OTHERS               = 2&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 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;IF l_result IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e000(01) WITH ' file is not vaild'.&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;endform.                    " VALIDATE_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UPLOAD_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_P_FILE  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form UPLOAD_FILE  using g_file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA : lv_file TYPE string.&lt;/P&gt;&lt;P&gt;  lv_file = g_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                      = lv_file&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    data_tab                      = it_file&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   FILE_OPEN_ERROR               = 1&lt;/P&gt;&lt;P&gt;   FILE_READ_ERROR               = 2&lt;/P&gt;&lt;P&gt;   NO_BATCH                      = 3&lt;/P&gt;&lt;P&gt;   GUI_REFUSE_FILETRANSFER       = 4&lt;/P&gt;&lt;P&gt;   INVALID_TYPE                  = 5&lt;/P&gt;&lt;P&gt;   NO_AUTHORITY                  = 6&lt;/P&gt;&lt;P&gt;   UNKNOWN_ERROR                 = 7&lt;/P&gt;&lt;P&gt;   BAD_DATA_FORMAT               = 8&lt;/P&gt;&lt;P&gt;   HEADER_NOT_ALLOWED            = 9&lt;/P&gt;&lt;P&gt;   SEPARATOR_NOT_ALLOWED         = 10&lt;/P&gt;&lt;P&gt;   HEADER_TOO_LONG               = 11&lt;/P&gt;&lt;P&gt;   UNKNOWN_DP_ERROR              = 12&lt;/P&gt;&lt;P&gt;   ACCESS_DENIED                 = 13&lt;/P&gt;&lt;P&gt;   DP_OUT_OF_MEMORY              = 14&lt;/P&gt;&lt;P&gt;   DISK_FULL                     = 15&lt;/P&gt;&lt;P&gt;   DP_TIMEOUT                    = 16&lt;/P&gt;&lt;P&gt;   OTHERS                        = 17&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&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;&lt;/P&gt;&lt;P&gt;endform.                    " UPLOAD_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_FILE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_IT_MARA  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form GET_DATA  using l_file TYPE tt_file&lt;/P&gt;&lt;P&gt;               changing l_itab TYPE tt_itab.&lt;/P&gt;&lt;P&gt;  DATA : lwa_file TYPE ty_file,&lt;/P&gt;&lt;P&gt;         lwa_itab TYPE ty_itab.&lt;/P&gt;&lt;P&gt; LOOP AT l_file INTO lwa_file.&lt;/P&gt;&lt;P&gt;lwa_itab-matnr = lwa_file+0(18).&lt;/P&gt;&lt;P&gt;lwa_itab-werks = lwa_file+18(4).&lt;/P&gt;&lt;P&gt;lwa_itab-vdatu = lwa_file+22(8).&lt;/P&gt;&lt;P&gt;lwa_itab-bdatu = lwa_file+30(8).&lt;/P&gt;&lt;P&gt;lwa_itab-lifnr = lwa_file+38(10).&lt;/P&gt;&lt;P&gt;lwa_itab-ekorg = lwa_file+48(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND lwa_itab TO itab.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BDC_TRANSACTION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form BDC_TRANSACTION .&lt;/P&gt;&lt;P&gt;LOOP AT itab INTO wa_itab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM open_group.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLMEOR' '0200'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                'EORD-MATNR'.&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 'EORD-MATNR'&lt;/P&gt;&lt;P&gt;                                wa_itab-matnr.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'EORD-WERKS'&lt;/P&gt;&lt;P&gt;                                wa_itab-werks.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_dynpro      USING 'SAPLMEOR' '0205'.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                'EORD-EKORG(02)'.&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 'EORD-VDATU(02)'&lt;/P&gt;&lt;P&gt;                                wa_itab-vdatu.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'EORD-BDATU(02)'&lt;/P&gt;&lt;P&gt;                                wa_itab-bdatu.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'EORD-LIFNR(02)'&lt;/P&gt;&lt;P&gt;                                wa_itab-lifnr.&lt;/P&gt;&lt;P&gt;  PERFORM bdc_field       USING 'EORD-EKORG(02)'&lt;/P&gt;&lt;P&gt;                                wa_itab-ekorg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM bdc_transaction USING 'ME01'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM close_group.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call transaction 'ME01' using it_bdcdata&lt;/P&gt;&lt;P&gt;                                      mode 'A'&lt;/P&gt;&lt;P&gt;                                      update 'S'&lt;/P&gt;&lt;P&gt;                              messages into it_bdcmesS.&lt;/P&gt;&lt;P&gt; perform get_messages.&lt;/P&gt;&lt;P&gt;    refresh :it_bdcdata,&lt;/P&gt;&lt;P&gt;                 it_bdcmess.&lt;/P&gt;&lt;P&gt;     CLEAR : wa_ITAB, wa_bdcdata, wa_bdcmess.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " BDC_TRANSACTION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form GET_MESSAGES .&lt;/P&gt;&lt;P&gt;DATA : lwa_messages TYPE char480.&lt;/P&gt;&lt;P&gt;  LOOP AT it_bdcmess INTO wa_bdcmess WHERE msgtyp = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   ID              = WA_BDCMESS-MSGID&lt;/P&gt;&lt;P&gt;   LANG            = '-D'&lt;/P&gt;&lt;P&gt;   NO              = WA_BDCMESS-MSGNR&lt;/P&gt;&lt;P&gt;   V1              = WA_BDCMESS-MSGV1&lt;/P&gt;&lt;P&gt;   V2              = WA_BDCMESS-MSGV2&lt;/P&gt;&lt;P&gt;   V3              = WA_BDCMESS-MSGV3&lt;/P&gt;&lt;P&gt;   V4              = WA_BDCMESS-MSGV4&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   MSG             = LWA_MESSAGES&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   NOT_FOUND       = 1&lt;/P&gt;&lt;P&gt;   OTHERS          = 2&lt;/P&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; wa_success-text = lwa_messages.&lt;/P&gt;&lt;P&gt;    APPEND wa_success TO it_success.&lt;/P&gt;&lt;P&gt;CLEAR wa_bdcmess.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form WRITE_MESSAGES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_success INTO wa_success.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE : / wa_success-text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " WRITE_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;sreelakshmi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 04:53:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473795#M834965</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T04:53:21Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473796#M834966</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;This is a simple step by step procrdure, follow this,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC CALL TRANSACTION METHOD:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since we cannot modify the error record using direct input method, we go for call transaction method. Here, we create a screen to populate error records in input fields and from the screen, we can modify the error records and then insert into database table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steps to be followed in Call Transaction MEthod:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Analyze the flat file.&lt;/P&gt;&lt;P&gt;2. Create a screen for database table fields using MPP. Create a Transaction code for the screen.&lt;/P&gt;&lt;P&gt;3. Write the following code in SE38 editor:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;       STR(255),&lt;/P&gt;&lt;P&gt;       END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   FILENAME                      = 'C:\KNA.TXT'&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA ITAB1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA JTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SPLIT ITAB-STR AT ',' INTO ITAB1-KUNNR ITAB1-NAME1 ITAB1-ORT01&lt;/P&gt;&lt;P&gt;ITAB1-LAND1.&lt;/P&gt;&lt;P&gt;APPEND ITAB1.&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;LOOP AT ITAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM PROGINFO USING 'SAPMZCALLTRANSACTION' '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FLDINFO USING 'KARTHIK-KUNNR' ITAB1-KUNNR.&lt;/P&gt;&lt;P&gt;PERFORM FLDINFO USING 'KARTHIK-NAME1' ITAB1-NAME1.&lt;/P&gt;&lt;P&gt;PERFORM FLDINFO USING 'KARTHIK-ORT01' ITAB1-ORT01.&lt;/P&gt;&lt;P&gt;PERFORM FLDINFO USING 'KARTHIK-LAND1' ITAB1-LAND1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'ZCALLTRANS' USING JTAB.&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;FORM PROGINFO USING PROGNAME SCRNUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR JTAB.&lt;/P&gt;&lt;P&gt;REFRESH JTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JTAB-PROGRAM = PROGNAME.&lt;/P&gt;&lt;P&gt;JTAB-DYNPRO = SCRNUM.&lt;/P&gt;&lt;P&gt;JTAB-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND JTAB.&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 FLDINFO USING FLDNAME FLDVALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR JTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JTAB-FNAM = FLDNAME.&lt;/P&gt;&lt;P&gt;JTAB-FVAL = FLDVALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND JTAB.&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;Save -&amp;gt; Activate -&amp;gt; Execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the above code,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDCDATA is a structure used to populate the internal table records into the screen fields. The BDCDATA structure has following components:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROGRAM - Holds the name of MPP program where the screen is created.&lt;/P&gt;&lt;P&gt;DYNPRO - Holds the screen number where the internal fields to be          populated.&lt;/P&gt;&lt;P&gt;DYNBEGIN - Used to initiate the screen when the program is executed.            The default value to be specified is 'X'.&lt;/P&gt;&lt;P&gt;FNAM - Specifies input field name in the screen where the data is to be populated.&lt;/P&gt;&lt;P&gt;FVAL - Specifies from which internal table field, the data should be passed to the screen field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'CALL TRANSACTION' statement is used to call the screen created to populate error records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SYNTAX:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;lt;Tcode&amp;gt; USING &amp;lt;BDCDATA_itab&amp;gt; MODE &amp;lt;mode&amp;gt; UPDATE &amp;lt;update&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODE: This is used to specify which mode to be followed when calling transaction. The types of mode are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A - Display the screen.&lt;/P&gt;&lt;P&gt;E - Display only error records from the flat file.&lt;/P&gt;&lt;P&gt;N - Background processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;UPDATE: This is used to specify the update task of records in the database table. The types of update tasks are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A - Asynchronous update&lt;/P&gt;&lt;P&gt;S - Synchronous update&lt;/P&gt;&lt;P&gt;L - Local update&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Advantages of CALL TRANSACTION:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error records can be modified.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This method can be used in support projects.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hop this helps u.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Arunsri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 04:58:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473796#M834966</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T04:58:23Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473797#M834967</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;Call transaction is mainly used when you want to update the database using a single transaction , you can also update the database in asynchronous mode, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Steps  for call Transaction method:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first step  is to identify the screens of the transaction that the program will process. &lt;/P&gt;&lt;P&gt;Next step is to write a program to build the BDC table that will be used to submit the data to SAP. &lt;/P&gt;&lt;P&gt;The final step is to submit the BDC table to the system in  single transaction by the CALL TRANSACTION command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax: &lt;STRONG&gt;Call Transaction&lt;/STRONG&gt;  &amp;lt;tcode&amp;gt; &lt;STRONG&gt;using&lt;/STRONG&gt; &amp;lt;I_BDCData&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;STRONG&gt;mode&lt;/STRONG&gt; 'N' / 'A' /  'E' &lt;STRONG&gt;Update&lt;/STRONG&gt;  Synchronous / Asynchronous.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;kavitha.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 05:01:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473797#M834967</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T05:01:49Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473798#M834968</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;BDC CALL TRANSACTION:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;       STR(255),&lt;/P&gt;&lt;P&gt;       END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA ITAB1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA JTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   FILENAME                      = 'C:\KARTHIK.TXT'&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      =  ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;SPLIT ITAB-STR AT ',' INTO ITAB1-KUNNR ITAB1-NAME1 ITAB1-ORT01&lt;/P&gt;&lt;P&gt;ITAB1-LAND1.&lt;/P&gt;&lt;P&gt;APPEND ITAB1.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB1.&lt;/P&gt;&lt;P&gt;PERFORM PROGINFO USING 'SAPMYCALLTRANSACTION' '400'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FLDINFO USING 'WA-KUNNR' ITAB1-KUNNR.&lt;/P&gt;&lt;P&gt;PERFORM FLDINFO USING 'WA-NAME1' ITAB1-NAME1.&lt;/P&gt;&lt;P&gt;PERFORM FLDINFO USING 'WA-ORT01' ITAB1-ORT01.&lt;/P&gt;&lt;P&gt;PERFORM FLDINFO USING 'WA-LAND1' ITAB1-LAND1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'YCALLTRANS' USING JTAB.&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;FORM PROGINFO USING PROGNAME SCRNUM.&lt;/P&gt;&lt;P&gt;CLEAR JTAB.&lt;/P&gt;&lt;P&gt;REFRESH JTAB.&lt;/P&gt;&lt;P&gt;JTAB-PROGRAM = PROGNAME.&lt;/P&gt;&lt;P&gt;JTAB-DYNPRO = SCRNUM.&lt;/P&gt;&lt;P&gt;JTAB-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;APPEND JTAB.&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 FLDINFO USING FLDNAME FLDVALUE.&lt;/P&gt;&lt;P&gt;CLEAR JTAB.&lt;/P&gt;&lt;P&gt;JTAB-FNAM = FLDNAME.&lt;/P&gt;&lt;P&gt;JTAB-FVAL = FLDVALUE.&lt;/P&gt;&lt;P&gt;APPEND JTAB.&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;CLEAR statement is used to delete the contents of the header line of internal table.&lt;/P&gt;&lt;P&gt;REFRESH statement is used to delete the contents of the body area of internal table.&lt;/P&gt;&lt;P&gt;FREE statement is used to delete the internal table after the program is closed.&lt;/P&gt;&lt;P&gt;DELETE statement is used to delete some particular contents of the internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SYNTAX:&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;lt;Tcode&amp;gt; USING &amp;lt;bdcdata_itab&amp;gt; MODE &amp;lt;mode&amp;gt; UPDATE &amp;lt;task&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tcode is the name of the transaction code which contains screen to display error records.&lt;/P&gt;&lt;P&gt;bdcdata_itab is an internal table which is created for BDCDATA structure.&lt;/P&gt;&lt;P&gt;mode specifies the type of mode for processing. There are three types as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A - Foreground processing&lt;/P&gt;&lt;P&gt;E - Errors only&lt;/P&gt;&lt;P&gt;N - Background processing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When 'N' is used, a predefined structure called BDCMSGCOLL should be used to collect the messages triggered during background processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax:&lt;/P&gt;&lt;P&gt;DATA KTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'YCALLTRANS' USING JTAB MODE 'N' MESSAGES INTO KTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Update specifies the task of updating records into database table.&lt;/P&gt;&lt;P&gt;A - Asynchronous update  - A return value is generated only after updating all the records in related tables.&lt;/P&gt;&lt;P&gt;S - Synchronous update - A return value is generated for each record updation in related tables inside the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Priya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 05:03:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473798#M834968</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T05:03:59Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473799#M834969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it may help u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code used to create BDC:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report ZBDC_EXAMPLE *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Example BDC program, which updates net price of item 00010 of a *&lt;/P&gt;&lt;P&gt;*&amp;amp; particular Purchase order(EBELN). *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZBDC_EXAMPLE NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;LINE-SIZE 132.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: ekko, ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;waers TYPE ekko-waers,&lt;/P&gt;&lt;P&gt;netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;err_msg(73) TYPE c,&lt;/P&gt;&lt;P&gt;END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_ekko TYPE t_ekko,&lt;/P&gt;&lt;P&gt;it_error TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_error TYPE t_ekko,&lt;/P&gt;&lt;P&gt;it_success TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_success TYPE t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_textout LIKE t100-text.&lt;/P&gt;&lt;P&gt;DATA: gd_update TYPE i,&lt;/P&gt;&lt;P&gt;gd_lines TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Used to store BDC data&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF bdc_tab OCCURS 0.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE bdcdata.&lt;/P&gt;&lt;P&gt;DATA: END OF bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Used to stores error information from CALL TRANSACTION Function Module&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF messtab OCCURS 0.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE bdcmsgcoll.&lt;/P&gt;&lt;P&gt;DATA: END OF messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;*Screen declaration&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME&lt;/P&gt;&lt;P&gt;TITLE text-001. "Purchase order Num&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_ebeln FOR ekko-ebeln OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK block1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME&lt;/P&gt;&lt;P&gt;TITLE text-002. "New NETPR value&lt;/P&gt;&lt;P&gt;PARAMETERS: p_newpr(14) TYPE c obligatory. "LIKE ekpo-netpr.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK block2.&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve data from Purchase order table(EKKO)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT ekko&lt;SUB&gt;ebeln ekko&lt;/SUB&gt;waers ekpo~netpr&lt;/P&gt;&lt;P&gt;INTO TABLE it_ekko&lt;/P&gt;&lt;P&gt;FROM ekko AS ekko INNER JOIN ekpo AS ekpo&lt;/P&gt;&lt;P&gt;ON ekpo&lt;SUB&gt;ebeln EQ ekko&lt;/SUB&gt;ebeln&lt;/P&gt;&lt;P&gt;WHERE ekko~ebeln IN so_ebeln AND&lt;/P&gt;&lt;P&gt;ekpo~ebelp EQ '10'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check data has been retrieved ready for processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE it_ekko LINES gd_lines.&lt;/P&gt;&lt;P&gt;IF gd_lines LE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display message if no data has been retrieved&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MESSAGE i003(zp) WITH 'No Records Found'(001).&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update Customer master data (instalment text)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT it_ekko INTO wa_ekko.&lt;/P&gt;&lt;P&gt;PERFORM bdc_update.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display message confirming number of records updated&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF gd_update GT 1.&lt;/P&gt;&lt;P&gt;MESSAGE i003(zp) WITH gd_update 'Records updated'(002).&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE i003(zp) WITH gd_update 'Record updated'(003).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Success Report&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;**********************&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Success table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE it_success LINES gd_lines.&lt;/P&gt;&lt;P&gt;IF gd_lines GT 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display result report column headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM display_column_headings.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display result report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM display_report.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Error Report&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;********************&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check errors table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE it_error LINES gd_lines.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If errors exist then display errors report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF gd_lines GT 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display errors report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM display_error_headings.&lt;/P&gt;&lt;P&gt;PERFORM display_error_report.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form DISPLAY_COLUMN_HEADINGS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display column headings&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 display_column_headings.&lt;/P&gt;&lt;P&gt;WRITE:2 ' Success Report '(014) COLOR COL_POSITIVE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE:2 'The following records updated successfully:'(013).&lt;/P&gt;&lt;P&gt;WRITE:/ sy-uline(42).&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;WRITE:/ sy-vline,&lt;/P&gt;&lt;P&gt;(10) 'Purchase Order'(004), sy-vline,&lt;/P&gt;&lt;P&gt;(11) 'Old Netpr'(005), sy-vline,&lt;/P&gt;&lt;P&gt;(11) 'New Netpr'(006), sy-vline.&lt;/P&gt;&lt;P&gt;WRITE:/ sy-uline(42).&lt;/P&gt;&lt;P&gt;ENDFORM. " DISPLAY_COLUMN_HEADINGS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BDC_UPDATE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate BDC table and call transaction ME22&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_update.&lt;/P&gt;&lt;P&gt;PERFORM dynpro USING:&lt;/P&gt;&lt;P&gt;'X' 'SAPMM06E' '0105',&lt;/P&gt;&lt;P&gt;' ' 'BDC_CURSOR' 'RM06E-BSTNR',&lt;/P&gt;&lt;P&gt;' ' 'RM06E-BSTNR' wa_ekko-ebeln,&lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '/00', "OK code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMM06E' '0120',&lt;/P&gt;&lt;P&gt;' ' 'BDC_CURSOR' 'EKPO-NETPR(01)',&lt;/P&gt;&lt;P&gt;' ' 'EKPO-NETPR(01)' p_newpr,&lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '=BU'. "OK code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call transaction to update customer instalment text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL TRANSACTION 'ME22' USING bdc_tab MODE 'N' UPDATE 'S'&lt;/P&gt;&lt;P&gt;MESSAGES INTO messtab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if update was succesful&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;ADD 1 TO gd_update.&lt;/P&gt;&lt;P&gt;APPEND wa_ekko TO it_success.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve error messages displayed during BDC update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT messtab WHERE msgtyp = 'E'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Builds actual message based on info returned from Call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'MESSAGE_TEXT_BUILD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;msgid = messtab-msgid&lt;/P&gt;&lt;P&gt;msgnr = messtab-msgnr&lt;/P&gt;&lt;P&gt;msgv1 = messtab-msgv1&lt;/P&gt;&lt;P&gt;msgv2 = messtab-msgv2&lt;/P&gt;&lt;P&gt;msgv3 = messtab-msgv3&lt;/P&gt;&lt;P&gt;msgv4 = messtab-msgv4&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;message_text_output = w_textout.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build error table ready for output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;wa_error = wa_ekko.&lt;/P&gt;&lt;P&gt;wa_error-err_msg = w_textout.&lt;/P&gt;&lt;P&gt;APPEND wa_error TO it_error.&lt;/P&gt;&lt;P&gt;CLEAR: wa_error.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear bdc date table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR: bdc_tab.&lt;/P&gt;&lt;P&gt;REFRESH: bdc_tab.&lt;/P&gt;&lt;P&gt;ENDFORM. " BDC_UPDATE&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;FORM DYNPRO *&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;stores values to bdc 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; DYNBEGIN *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; NAME *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; VALUE *&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 dynpro USING dynbegin name value.&lt;/P&gt;&lt;P&gt;IF dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR bdc_tab.&lt;/P&gt;&lt;P&gt;MOVE: name TO bdc_tab-program,&lt;/P&gt;&lt;P&gt;value TO bdc_tab-dynpro,&lt;/P&gt;&lt;P&gt;'X' TO bdc_tab-dynbegin.&lt;/P&gt;&lt;P&gt;APPEND bdc_tab.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CLEAR bdc_tab.&lt;/P&gt;&lt;P&gt;MOVE: name TO bdc_tab-fnam,&lt;/P&gt;&lt;P&gt;value TO bdc_tab-fval.&lt;/P&gt;&lt;P&gt;APPEND bdc_tab.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " DYNPRO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form DISPLAY_REPORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Report&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 display_report.&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_NORMAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Loop at data table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT it_success INTO wa_success.&lt;/P&gt;&lt;P&gt;WRITE:/ sy-vline,&lt;/P&gt;&lt;P&gt;(10) wa_success-ebeln, sy-vline,&lt;/P&gt;&lt;P&gt;(11) wa_success-netpr CURRENCY wa_success-waers, sy-vline,&lt;/P&gt;&lt;P&gt;(11) p_newpr, sy-vline.&lt;/P&gt;&lt;P&gt;CLEAR: wa_success.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;WRITE:/ sy-uline(42).&lt;/P&gt;&lt;P&gt;REFRESH: it_success.&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_BACKGROUND.&lt;/P&gt;&lt;P&gt;ENDFORM. " DISPLAY_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form DISPLAY_ERROR_REPORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display error report 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;P&gt;FORM display_error_report.&lt;/P&gt;&lt;P&gt;LOOP AT it_error INTO wa_error.&lt;/P&gt;&lt;P&gt;WRITE:/ sy-vline,&lt;/P&gt;&lt;P&gt;(10) wa_error-ebeln, sy-vline,&lt;/P&gt;&lt;P&gt;(11) wa_error-netpr CURRENCY wa_error-waers, sy-vline,&lt;/P&gt;&lt;P&gt;(73) wa_error-err_msg, sy-vline.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;WRITE:/ sy-uline(104).&lt;/P&gt;&lt;P&gt;REFRESH: it_error.&lt;/P&gt;&lt;P&gt;ENDFORM. " DISPLAY_ERROR_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form DISPLAY_ERROR_HEADINGS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display error report headings&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 display_error_headings.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE:2 ' Error Report '(007) COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE:2 'The following records failed during update:'(008).&lt;/P&gt;&lt;P&gt;WRITE:/ sy-uline(104).&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;WRITE:/ sy-vline,&lt;/P&gt;&lt;P&gt;(10) 'Purchase Order'(009), sy-vline,&lt;/P&gt;&lt;P&gt;(11) 'Netpr'(010), sy-vline,&lt;/P&gt;&lt;P&gt;(73) 'Error Message'(012), sy-vline.&lt;/P&gt;&lt;P&gt;WRITE:/ sy-uline(104).&lt;/P&gt;&lt;P&gt;FORMAT COLOR COL_NORMAL.&lt;/P&gt;&lt;P&gt;ENDFORM. " DISPLAY_ERROR_HEADINGS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;vasavi.&lt;/P&gt;&lt;P&gt;kindly reward if helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 05:06:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473799#M834969</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T05:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473800#M834970</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;Call transaction is mainly used when you want to update the database using a single transaction , you can also update the database in asynchronous mode, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steps for call Transaction method:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first step is to identify the screens of the transaction that the program will process. &lt;/P&gt;&lt;P&gt;Next step is to write a program to build the BDC table that will be used to submit the data to SAP. &lt;/P&gt;&lt;P&gt;The final step is to submit the BDC table to the system in single transaction by the CALL TRANSACTION command.&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am sending you the sample program you have only change the itab . replace the recording .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;eport ZBDC_ANU&lt;/P&gt;&lt;P&gt;       no standard page heading line-size 255.&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;*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;DATA : L_INDEX TYPE I,&lt;/P&gt;&lt;P&gt;       CTR TYPE I VALUE 0,&lt;/P&gt;&lt;P&gt;       L_MSTRING(480).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: bdcdata TYPE STANDARD TABLE OF bdcdata WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: messtab TYPE STANDARD TABLE OF bdcmsgcoll WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF L_INTERN OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE ALSMEX_TABLINE.&lt;/P&gt;&lt;P&gt;DATA: END OF L_INTERN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types : begin of itab1 ,&lt;/P&gt;&lt;P&gt;        vendor like RF02K-LIFNR ,&lt;/P&gt;&lt;P&gt;        sortl  like lfa1-sortl  ,&lt;/P&gt;&lt;P&gt;        end  of itab1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : ITAB TYPE STANDARD TABLE OF ITAB1 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; PARAMETERS:    fILE LIKE RLGRAP-FILENAME&lt;/P&gt;&lt;P&gt;                DEFAULT '' OBLIGATORY.   " File Name&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 FILE.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;*EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_NAME        = SYST-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DYNPRO_NUMBER       = SYST-DYNNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELD_NAME          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  STATIC              = '.XLS '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MASK                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    file_name           = FILE&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   MASK_TOO_LONG       = 1&lt;/P&gt;&lt;P&gt;   OTHERS              = 2&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 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;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM UPLOAD_FILE TABLES ITAB&lt;/P&gt;&lt;P&gt;                     USING FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: bdcdata , bdcdata[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*==============================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0106'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RF02K-D0110'.&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 'RF02K-LIFNR'&lt;/P&gt;&lt;P&gt;                              itab-vendor.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-BUKRS'&lt;/P&gt;&lt;P&gt;                              'VRL'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02K-D0110'&lt;/P&gt;&lt;P&gt;                              'X'.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02K' '0110'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              itab-SORTL.&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 'LFA1-NAME1'&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                             'INNER MONGOLIA LINHE XINDU'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***perform bdc_field       using 'LFA1-SORTL'&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                             'TEST'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***perform bdc_field       using 'LFA1-NAME2'&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                             'ECONOMIC &amp;amp; TRADING LTD CO'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***perform bdc_field       using 'LFA1-ORT01'&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                             'YIWU'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***perform bdc_field       using 'LFA1-PSTLZ'&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                             '111111'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***perform bdc_field       using 'LFA1-LAND1'&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                             'IN'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***perform bdc_field       using 'LFA1-REGIO'&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                             '30'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPLSPO1' '0300'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=YES'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'FK02' USING BDCDATA MODE 'A' MESSAGES INTO MESSTAB  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM TRAP_MESSAGES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform bdc_transaction using 'FK02'.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*====================================================&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM BDC_DYNPRO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_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;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM BDC_FIELD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM 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;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UPLOAD_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form UPLOAD_FILE  tables   p_it_tab&lt;/P&gt;&lt;P&gt;                  using    p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS : &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    filename                      = FILE&lt;/P&gt;&lt;P&gt;    i_begin_col                   = '1'&lt;/P&gt;&lt;P&gt;    i_begin_row                   = '2'&lt;/P&gt;&lt;P&gt;    i_end_col                     = '256'&lt;/P&gt;&lt;P&gt;    i_end_row                     = '10000'&lt;/P&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    intern                        = L_INTERN&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   INCONSISTENT_PARAMETERS       = 1&lt;/P&gt;&lt;P&gt;   UPLOAD_OLE                    = 2&lt;/P&gt;&lt;P&gt;   OTHERS                        = 3&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;   FORMAT COLOR COL_BACKGROUND INTENSIFIED.&lt;/P&gt;&lt;P&gt;   WRITE : / 'File Error'.&lt;/P&gt;&lt;P&gt;   EXIT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF L_INTERN[] IS INITIAL.&lt;/P&gt;&lt;P&gt;   FORMAT COLOR COL_BACKGROUND INTENSIFIED.&lt;/P&gt;&lt;P&gt;   WRITE : / 'No Data Uploaded'.&lt;/P&gt;&lt;P&gt;   EXIT.&lt;/P&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;P&gt;   SORT L_INTERN BY ROW COL.&lt;/P&gt;&lt;P&gt;   LOOP AT L_INTERN.&lt;/P&gt;&lt;P&gt;     MOVE L_INTERN-COL TO L_INDEX.&lt;/P&gt;&lt;P&gt;     ASSIGN COMPONENT L_INDEX OF STRUCTURE p_IT_TAB TO &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;     MOVE L_INTERN-VALUE TO &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;     AT END OF ROW.&lt;/P&gt;&lt;P&gt;       APPEND p_IT_TAB.&lt;/P&gt;&lt;P&gt;       CLEAR p_IT_TAB.&lt;/P&gt;&lt;P&gt;     ENDAT.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TRAP_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form TRAP_MESSAGES .&lt;/P&gt;&lt;P&gt;data: line type i value 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ctr = ctr + 1.&lt;/P&gt;&lt;P&gt;describe table messtab lines line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE MESSTAB INDEX line.&lt;/P&gt;&lt;P&gt;IF MESSTAB-MSGTYP = 'S'.&lt;/P&gt;&lt;P&gt; CONCATENATE 'Document' MESSTAB-MSGV1 'posted' into L_MSTRING separated&lt;/P&gt;&lt;P&gt;by space.&lt;/P&gt;&lt;P&gt; WRITE:/5 CTR , L_MSTRING(150).&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt; CONCATENATE 'Document not posted. Field ' messtab-FLDNAME into&lt;/P&gt;&lt;P&gt;L_MSTRING separated by space.&lt;/P&gt;&lt;P&gt; WRITE:/5 CTR , L_MSTRING(150).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: messtab , messtab[].&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 if helpfull&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 05:11:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473800#M834970</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T05:11:56Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473801#M834971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;BDC is used to transfer data from SAP to SAP systems or from a non-SAP system to SAP system. It is used to transfer a large amount of data that is available in electronic form.&lt;/P&gt;&lt;P&gt;SAP offers two methods for Batch Data Communication:&lt;/P&gt;&lt;P&gt;(1)Classical Method:&lt;/P&gt;&lt;P&gt;In this method, the data that is read by the BDC program from a sequential data set file is stored in a batch input session. To run the transactions in this session, you need to execute the session.&lt;/P&gt;&lt;P&gt;This method uses the function modules BDC_OPEN_GROUP, BDC_INSERT and BDC_CLOSE_GROUP to generate the sessions. The important aspects of this method are:&lt;/P&gt;&lt;P&gt;&lt;SPAN __jive_emoticon_name="info"&gt;&lt;/SPAN&gt; Asynchronous processing&lt;/P&gt;&lt;P&gt;(ii) Transfers data for multiple transactions.&lt;/P&gt;&lt;P&gt;(iii) A batch input processing log is generated for each session.&lt;/P&gt;&lt;P&gt;(iv) Synchronous database update.ie: During processing, no transaction is started until the previous transaction has been written to the database&lt;/P&gt;&lt;P&gt;(v) Can transfer large amount of data.&lt;/P&gt;&lt;P&gt;The BDC_OPEN_GROUP function module is used to create a new session. &lt;/P&gt;&lt;P&gt;Once you have created a session, then you can insert batch input data into it with BDC_INSERT. &lt;/P&gt;&lt;P&gt;The BDC_INSERT function module is used to add a transaction to a batch input session. You specify the transaction that is to be started in the call to BDC_INSERT. You must provide a BDCDATA structure that contains all of the data required to process the transaction completely. The code of the transaction to be run is provided in the TCODE export parameter.&lt;/P&gt;&lt;P&gt;The BDC_CLOSE_GROUP function module is used to close a session after you have inserted all of your batch input data into it. BDC_CLOSE_GROUP needs no parameters. It automatically closes the session that is currently open in your program. &lt;/P&gt;&lt;P&gt;CALL FUNCTION &amp;#145;BDC_CLOSE_GROUP&amp;#146;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NOT_OPEN = 1&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 2 &lt;/P&gt;&lt;P&gt;Once a session is closed, it can be processed. This is done by using the transaction code SM35&lt;/P&gt;&lt;P&gt;The mode of execution of the session can be chosen by the user as background or foreground&lt;/P&gt;&lt;P&gt;Using ABAP Statement &amp;#145;CALL TRANSACTION USING&amp;#146;:&lt;/P&gt;&lt;P&gt;This method offers faster processing of data than the batch input sessions. In this method BDC uses the ABAP statement &amp;#145;CALL TRANSACTION USING&amp;#146; to run a transaction.BDC does not create a session in this method. The important aspects of this method are:&lt;/P&gt;&lt;P&gt;&lt;SPAN __jive_emoticon_name="info"&gt;&lt;/SPAN&gt; Synchronous processing&lt;/P&gt;&lt;P&gt;(ii) Transfers data for a single transaction.&lt;/P&gt;&lt;P&gt;(iii) No batch input processing log is generated. Errors need to be handled explicitly.&lt;/P&gt;&lt;P&gt;(iv) Both synchronous and asynchronous update of the database possible.The program specifies the update type.&lt;/P&gt;&lt;P&gt;(v) Transfer small amount of data.&lt;/P&gt;&lt;P&gt;Both the above methods needs a common data structure for storing the data and instructions for SAP transactions. This structure is defined in the directory as BDCDATA.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF &amp;lt;BDC Table&amp;gt; OCCURS &amp;lt;Occurs Parameter&amp;gt;.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE BDCDATA.&lt;/P&gt;&lt;P&gt;DATA: END OF &amp;lt;BDC Table&amp;gt;.&lt;/P&gt;&lt;P&gt;This BDCDATA structure can contain data for one transaction at a time.&lt;/P&gt;&lt;P&gt;BDCDATA:&lt;/P&gt;&lt;P&gt;Field Name Type Length Description&lt;/P&gt;&lt;P&gt;PROGRAM char 8 BDC Module Pool&lt;/P&gt;&lt;P&gt;DYNPRO Numc 4 BDC DynPro number &lt;/P&gt;&lt;P&gt;DYNBEGIN char 1 BDC Starting a Dynpro&lt;/P&gt;&lt;P&gt;FNAM char 35 Field name&lt;/P&gt;&lt;P&gt;FVAL char 80 Field Value&lt;/P&gt;&lt;P&gt;To transfer the data from non-SAP to SAP system you will have to write an ABAP program that will export the data to a sequential data set file. The data in this file should be stored in a format acceptable to SAP batch input program.&lt;/P&gt;&lt;P&gt;To transfer data from an SAP system to another SAP system, RFC can be used.&lt;/P&gt;&lt;P&gt;The choice of the two methods for BDC depends on the situation:&lt;/P&gt;&lt;P&gt;&lt;SPAN __jive_emoticon_name="info"&gt;&lt;/SPAN&gt; Restarting capability and detailed logging are supported by the batch input management transactions in the classical method.Usually, we use session method in real time as we can transfer large amount of data from the internal table to the database.Moreover, if errors occur, processing will not proceed until the session is corrected.&lt;/P&gt;&lt;P&gt;&lt;SPAN __jive_emoticon_name="info"&gt;&lt;/SPAN&gt; CALL TRANSACTION USING offers faster processing if you want your batch input to be done in the time slot available. But however it offers less support for error recovery and management of batch input. Call transactions are good if it is needed to handle the return messages in the code and then act accordingly. Thus, if you create a sales order using call transaction method, and as soon as you get the success message with a sales order number, you want to do something else, then a call transaction is useful.&lt;/P&gt;&lt;P&gt;Advantages and Disadvantages of Classical Method:-&lt;/P&gt;&lt;P&gt;The advantage of Batch Input method is that you will have all the error messages and the data for each transaction held persistently.You don&amp;#146;t have to code anything for processing them or writing the log.&lt;/P&gt;&lt;P&gt;But at the same time, the same feature can be disadvantageous if you need to react to an error or if there are too many errors to manually correct in a session. Since the sessions are created in the program and its execution is done separately, you loose the trackability of such transactions.&lt;/P&gt;&lt;P&gt;Advantages and Disadvantages of CALL TRANSACTION USING method:-&lt;/P&gt;&lt;P&gt;Call transaction immediately gives you messages back and you can react to it in your program. But the disadvantage is that, if you have several hundreds of transactions to run, running them from within the program can be resource crunching affair. It will hamper the system performance and you cannot really distribute the load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following section describes a sample BDC program. This program is used to enter the employee details which include the employee name and employee number into a database table.&lt;/P&gt;&lt;P&gt;The employee details (which include the employee name and employee number) of several employees are stored in a text file, &amp;#147;emp.txt &amp;#147;with the details separated by tab (character &amp;#145;X&amp;#146;).&lt;/P&gt;&lt;P&gt;A dialog program is written which accepts the employee name and employee number and then inserts them into the database table-ZEMP_DETAILS.This dialog module is executed with the transaction code &amp;#145;ztrn1&amp;#146;.&lt;/P&gt;&lt;P&gt;An internal table ITAB_EMP_DETAILS is created which has the same structure as the database table ZEMP_DETAILS.The employee data present in the text file,&amp;#148; emp.txt&amp;#148; is populated into the internal table ITAB_EMP_DETAILS by calling the function module &amp;#147;GUI_UPLOAD&amp;#148; .The file path is specified in the Filename Export parameter. &lt;/P&gt;&lt;P&gt;You can upload file from the presentation server (user's PC) or the application server. The Presentation Server (often called the &amp;#145;client&amp;#146;) is the one with which the user interacts. Application Servers contain the complete business process logic of R/3 applications. It is like an "execution environment" where one can run application code, typically involving the business logic for things like reports or batch processing.&lt;/P&gt;&lt;P&gt;&lt;SPAN __jive_emoticon_name="info"&gt;&lt;/SPAN&gt; If you are loading from presentation server use the function module GUI_UPLOAD. &lt;/P&gt;&lt;P&gt;(ii) If you are loading from application server:&lt;/P&gt;&lt;P&gt;OPEN DATASET &lt;/P&gt;&lt;P&gt;READ DATASET&lt;/P&gt;&lt;P&gt;CLOSE DATASET commands can be used.&lt;/P&gt;&lt;P&gt;(Eg &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt; OPEN DATASET dsn FOR INPUT IN TEXT MODE ENCODING DEFAULT. &lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;EXIT. &lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;READ DATASET dsn INTO rec. &lt;/P&gt;&lt;P&gt;WHILE sy-subrc &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;WRITE / rec. READ DATASET dsn INTO rec. &lt;/P&gt;&lt;P&gt;ENDWHILE. &lt;/P&gt;&lt;P&gt;CLOSE DATASET dsn.&lt;/P&gt;&lt;P&gt;Note that you can't use BDC in background mode if you are loading file from presentation server. So it is always recommended to load file from application server. The reasons to have a file in application server are:&lt;/P&gt;&lt;P&gt;&lt;SPAN __jive_emoticon_name="info"&gt;&lt;/SPAN&gt; Security- No one can change your file data&lt;/P&gt;&lt;P&gt;(ii) If it is available in presentation server we can not access in the network, if it is at application server, we can access it from any place.&lt;/P&gt;&lt;P&gt;1. A recording of the transaction &amp;#145;ztrn1&amp;#146; is made using the transaction SM35.Save the recording &lt;/P&gt;&lt;P&gt;2. Then create a BDCDATA structure. Then fill the structure with data using the call transaction method. Build the structure line by line using MOVE and APPEND statements. Before building each line CLEAR the header line of the internal table.&lt;/P&gt;&lt;P&gt;The first record for each screen must contain information that identifies the screen: program name, screen name and Start of Screen Indicator. This information is recorded in the PROGRAM, DYNPRO and DYNBEGIN fields.&lt;/P&gt;&lt;P&gt;BDCDATA-PROGRAM = &amp;#145;Z_TEST_BDC&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCDATA-DYNPRO = &amp;#145;0100&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;APPEND BDCDATA.&lt;/P&gt;&lt;P&gt;Then the FNAM and FVAL fields have to be set .The FNAM field identifies the target field by its table and field names. FVAL specifies the value that is to be entered.&lt;/P&gt;&lt;P&gt;To position the cursor on a particular field you must use the special cursor field.&lt;/P&gt;&lt;P&gt;BDCDATA-FNAM = &amp;#145;BDC_CURSOR&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCDATA-FVAL = &amp;#145;EMPNO1&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDCDATA.&lt;/P&gt;&lt;P&gt;The Command field is identified by a special name in batch input, BDC_OKCODE.This name is constant and always identifies the command field.&lt;/P&gt;&lt;P&gt;BDCDATA-FNAM = &amp;#145;BDC_OKCODE&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCDATA-FVAL = &amp;#145;OK1&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDCDATA.&lt;/P&gt;&lt;P&gt;Some screen fields need multiple values one on each line. To provide values to one of these loop fields, an explicit line index should be used. This is shown in the below example.&lt;/P&gt;&lt;P&gt;BDCDATA-FNAM = &amp;#145;fieldname (5).&lt;/P&gt;&lt;P&gt;BDCDATA-FVAL = &amp;#145;value&amp;#146;.&lt;/P&gt;&lt;P&gt;Similarly, to position the cursor on a loop field you must again use an index.&lt;/P&gt;&lt;P&gt;BDCDATA-FNAM = &amp;#145;BDC_CURSOR&amp;#146;.&lt;/P&gt;&lt;P&gt;BDCDATA-FVAL = &amp;#145;fieldx (4)&amp;#146;.&lt;/P&gt;&lt;P&gt;REPORT ZTESTBDC. .&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF G_BDCDATA OCCURS 100.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE BDCDATA.&lt;/P&gt;&lt;P&gt;DATA: END OF G_BDCDATA.&lt;/P&gt;&lt;P&gt;DATA: ITAB_EMP_DETAILS TYPE STANDARD TABLE OF ZEMP_DETAILS WITH HEADER LINE. &lt;/P&gt;&lt;P&gt;*Call the subroutine to upload the data into an internal table&lt;/P&gt;&lt;P&gt;PERFORM GUI_UPLOAD.&lt;/P&gt;&lt;P&gt;LOOP AT ITAB_EMP_DETAILS.&lt;/P&gt;&lt;P&gt;CLEAR G_BDCDATA.&lt;/P&gt;&lt;P&gt;Perform bdc_dynpro using 'ZTESTBDC' '0100'.&lt;/P&gt;&lt;P&gt;Perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'EMPNAME1'.&lt;/P&gt;&lt;P&gt;Perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=OK1'.&lt;/P&gt;&lt;P&gt;Perform bdc_field using 'EMPNAME1'&lt;/P&gt;&lt;P&gt;ITAB_EMP_DETAILS-EMP_NAME.&lt;/P&gt;&lt;P&gt;Perform bdc_field using 'EMPNO1'&lt;/P&gt;&lt;P&gt;ITAB_EMP_DETAILS-EMP_NUMBER.&lt;/P&gt;&lt;P&gt;Perform bdc_dynpro using 'Z_TEST_BDC' '0100'.&lt;/P&gt;&lt;P&gt;Perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'EMPNAME1'.&lt;/P&gt;&lt;P&gt;Perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=EXIT1'.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;ZTRN1&amp;#146; USING G_BDCDATA MODE 'N'.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form GUI_UPLOAD&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This subroutine is used to upload the data from the text file into&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;an internal 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 GUI_UPLOAD.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;Exporting&lt;/P&gt;&lt;P&gt;Filename = 'C: \EMP.txt'&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 = ITAB_EMP_DETAILS&lt;/P&gt;&lt;P&gt;Exceptions&lt;/P&gt;&lt;P&gt;file_open_error = 1&lt;/P&gt;&lt;P&gt;file_read_error = 2&lt;/P&gt;&lt;P&gt;no_batch = 3&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;invalid_type = 5&lt;/P&gt;&lt;P&gt;no_authority = 6&lt;/P&gt;&lt;P&gt;unknown_error = 7&lt;/P&gt;&lt;P&gt;bad_data_format = 8&lt;/P&gt;&lt;P&gt;header_not_allowed = 9&lt;/P&gt;&lt;P&gt;separator_not_allowed = 10&lt;/P&gt;&lt;P&gt;header_too_long = 11&lt;/P&gt;&lt;P&gt;unknown_dp_error = 12&lt;/P&gt;&lt;P&gt;access_denied = 13&lt;/P&gt;&lt;P&gt;dp_out_of_memory = 14&lt;/P&gt;&lt;P&gt;disk_full = 15&lt;/P&gt;&lt;P&gt;dp_timeout = 16&lt;/P&gt;&lt;P&gt;Others = 17.&lt;/P&gt;&lt;P&gt;Endform. " GUI_UPLOAD&lt;/P&gt;&lt;P&gt;Form bdc_field using fnam fval.&lt;/P&gt;&lt;P&gt;Clear G_bdcdata.&lt;/P&gt;&lt;P&gt;G_bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;G_bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;Append G_bdcdata.&lt;/P&gt;&lt;P&gt;Endform.&lt;/P&gt;&lt;P&gt;Form bdc_dynpro using program dynpro.&lt;/P&gt;&lt;P&gt;Clear G_bdcdata.&lt;/P&gt;&lt;P&gt;G_bdcdata-program = program.&lt;/P&gt;&lt;P&gt;G_bdcdata-dynpro = dynpro.&lt;/P&gt;&lt;P&gt;G_bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;Append G_bdcdata.&lt;/P&gt;&lt;P&gt;Endform.&lt;/P&gt;&lt;P&gt;3.&lt;/P&gt;&lt;P&gt;In call transaction this needs to be handled explicitly using the structure BDCMSGCOLL.You can declare an internal table to trap the messages with the type BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;ZTRN1&amp;#146; &lt;/P&gt;&lt;P&gt;USING &amp;lt;BDC DATA table name&amp;gt; &lt;/P&gt;&lt;P&gt;MESSAGES INTO &amp;lt;BDCMSGCOLL table name&amp;gt;.&lt;/P&gt;&lt;P&gt;The BDCMSGCOLL does not have the messages text. It has only the message type, number and message parameters. The database table T100 stores all the messages. Read the dictionary table T100 FOR ALL ENTRIES in BDCMSGCOLL.The error messages have type &amp;#145;E&amp;#146;. Ignore other types of messages.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 05:20:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473801#M834971</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T05:20:11Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473802#M834972</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First i will explain the procedure step by step and will send a sample code plz check it once ok..And also i will attach a flat file at the end of SAMPLE CODE CHECK IT ONCE OK..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steps:&lt;/P&gt;&lt;P&gt;1.Bulid an internal table first according to ur flat file fields.&lt;/P&gt;&lt;P&gt;2.select the flat file by using PARAMETER.&lt;/P&gt;&lt;P&gt;3.And assign that file path to GUI_UPLOAD function module.&lt;/P&gt;&lt;P&gt;4.Call BDC_OPEN_GROUP is used to open the session.&lt;/P&gt;&lt;P&gt;5.loop that flat file data and palce BDC_INSERT funtion module in that loop for uploading data into database table&lt;/P&gt;&lt;P&gt;6.After loop call BDC_CLOSE_GROUP to close the session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAMPLE CODE:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ybdc_session_mm01 NO STANDARD PAGE HEADING LINE-SIZE 255.&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;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Global Structure for BDC Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;DATA: it_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&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;P&gt;Internal Table&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; DATA: BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mbrsh LIKE rmmg1-mbrsh,&lt;/P&gt;&lt;P&gt;mtart LIKE rmmg1-mtart,&lt;/P&gt;&lt;P&gt;maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;meins LIKE mara-meins,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF itab.&lt;/P&gt;&lt;P&gt;&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;P&gt;Upload the flat file&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&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 =&lt;/P&gt;&lt;P&gt;'C:\Documents and Settings\Compaq_Owner\Desktop\satish\mm01.txt'&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;has_field_separator = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HEADER_LENGTH = 0 &lt;/P&gt;&lt;P&gt;READ_BY_LINE = 'X' &lt;/P&gt;&lt;P&gt;DAT_MODE = ' ' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FILELENGTH = &lt;/P&gt;&lt;P&gt;HEADER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS &lt;/P&gt;&lt;P&gt;FILE_OPEN_ERROR = 1 &lt;/P&gt;&lt;P&gt;FILE_READ_ERROR = 2 &lt;/P&gt;&lt;P&gt;NO_BATCH = 3 &lt;/P&gt;&lt;P&gt;GUI_REFUSE_FILETRANSFER = 4 &lt;/P&gt;&lt;P&gt;INVALID_TYPE = 5 &lt;/P&gt;&lt;P&gt;NO_AUTHORITY = 6 &lt;/P&gt;&lt;P&gt;UNKNOWN_ERROR = 7 &lt;/P&gt;&lt;P&gt;BAD_DATA_FORMAT = 8 &lt;/P&gt;&lt;P&gt;HEADER_NOT_ALLOWED = 9 &lt;/P&gt;&lt;P&gt;SEPARATOR_NOT_ALLOWED = 10 &lt;/P&gt;&lt;P&gt;HEADER_TOO_LONG = 11 &lt;/P&gt;&lt;P&gt;UNKNOWN_DP_ERROR = 12 &lt;/P&gt;&lt;P&gt;ACCESS_DENIED = 13 &lt;/P&gt;&lt;P&gt;DP_OUT_OF_MEMORY = 14 &lt;/P&gt;&lt;P&gt;DISK_FULL = 15 &lt;/P&gt;&lt;P&gt;DP_TIMEOUT = 16 &lt;/P&gt;&lt;P&gt;OTHERS = 17 &lt;/P&gt;&lt;P&gt;.&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;&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;P&gt;Session Method Starts &lt;/P&gt;&lt;P&gt;BDC_OPEN_GROUP&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&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;&lt;/P&gt;&lt;P&gt;DEST = FILLER8 &lt;/P&gt;&lt;P&gt;GROUP = 'ychinnu'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HOLDDATE = FILLER8 &lt;/P&gt;&lt;P&gt;KEEP = 'X'&lt;/P&gt;&lt;P&gt;USER = SY-UNAME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RECORD = FILLER1 &lt;/P&gt;&lt;P&gt;PROG = SY-CPROG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;QID = &lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;CLIENT_INVALID = 1&lt;/P&gt;&lt;P&gt;DESTINATION_INVALID = 2&lt;/P&gt;&lt;P&gt;GROUP_INVALID = 3&lt;/P&gt;&lt;P&gt;GROUP_IS_LOCKED = 4&lt;/P&gt;&lt;P&gt;HOLDDATE_INVALID = 5&lt;/P&gt;&lt;P&gt;INTERNAL_ERROR = 6&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 7&lt;/P&gt;&lt;P&gt;RUNNING = 8&lt;/P&gt;&lt;P&gt;SYSTEM_LOCK_ERROR = 9&lt;/P&gt;&lt;P&gt;USER_INVALID = 10&lt;/P&gt;&lt;P&gt;OTHERS = 11&lt;/P&gt;&lt;P&gt;.&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;&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;P&gt;Create BDCDATA Structure&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*include bdcrecx1.&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;loop at itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RMMG1-MTART'.&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 'RMMG1-MBRSH'&lt;/P&gt;&lt;P&gt;itab-mbrsh.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RMMG1-MTART'&lt;/P&gt;&lt;P&gt;itab-mtart.&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;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After enterning MBRSH,MTART we press enter&lt;/P&gt;&lt;P&gt;&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;P&gt;PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'. "press Enter&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'MSICHTAUSW-DYTXT(01)'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=ENTR'.&lt;/P&gt;&lt;P&gt;&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;P&gt;View selection (Basic data1)&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'"view selection&lt;/P&gt;&lt;P&gt;'X'.&lt;/P&gt;&lt;P&gt;&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;P&gt;Select Tick Mark (ok)&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.&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;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'MAKT-MAKTX'&lt;/P&gt;&lt;P&gt;itab-maktx.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'MARA-MEINS'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'MARA-MEINS'&lt;/P&gt;&lt;P&gt;itab-meins.&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;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finally after filling the data we save the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;PERFORM bdc_field USING 'MARA-MTPOS_MARA' "For saving&lt;/P&gt;&lt;P&gt;'NORM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_transaction USING 'MM01'. &lt;/P&gt;&lt;P&gt;*&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;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC_INSERT&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TCODE = 'MM01'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;POST_LOCAL = NOVBLOCAL &lt;/P&gt;&lt;P&gt;PRINTING = NOPRINT &lt;/P&gt;&lt;P&gt;SIMUBATCH = ' ' &lt;/P&gt;&lt;P&gt;CTUPARAMS = ' ' &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;dynprotab = it_bdcdata&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INTERNAL_ERROR = 1&lt;/P&gt;&lt;P&gt;NOT_OPEN = 2&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 3&lt;/P&gt;&lt;P&gt;TCODE_INVALID = 4&lt;/P&gt;&lt;P&gt;PRINTING_INVALID = 5&lt;/P&gt;&lt;P&gt;POSTING_INVALID = 6&lt;/P&gt;&lt;P&gt;OTHERS = 7&lt;/P&gt;&lt;P&gt;.&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;&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;P&gt;Refresh BDCDATA&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; refresh it_bdcdata.&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;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Closing BDC Group&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NOT_OPEN = 1&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3&lt;/P&gt;&lt;P&gt;.&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;&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;P&gt;Start new screen *&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; FORM bdc_dynpro USING program dynpro.&lt;/P&gt;&lt;P&gt;CLEAR it_bdcdata.&lt;/P&gt;&lt;P&gt;it_bdcdata-program = program.&lt;/P&gt;&lt;P&gt;it_bdcdata-dynpro = dynpro.&lt;/P&gt;&lt;P&gt;it_bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;APPEND it_bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM. "BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&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;P&gt;Insert field *&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; FORM bdc_field USING fnam fval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF FVAL NODATA. &lt;/P&gt;&lt;P&gt;CLEAR it_bdcdata.&lt;/P&gt;&lt;P&gt;it_bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;it_bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;APPEND it_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;ENDFORM. "BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Flat File&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt; *M FERT IRON KG&lt;/P&gt;&lt;P&gt;*M ROH STEEL KG&lt;/P&gt;&lt;P&gt;*M HALB IRON KG&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 05:41:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473802#M834972</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T05:41:31Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473803#M834973</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HAI,&lt;/P&gt;&lt;P&gt;WHEN I AM EXECUTE THIS PROGRAM, ONLY  BDC MESSAGE INFORMATION SHOULD BE DISPLAYED. WHAT ABOUT INTERNAL TABLES RECORDS.?THEY CANNOT DEPICT IN THE SCREEN OF PARTICULAR TRANSACTION ' YSC6'.&lt;/P&gt;&lt;P&gt;REGARDS&lt;/P&gt;&lt;P&gt;SURENDER&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2008 08:55:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473803#M834973</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-28T08:55:32Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473804#M834974</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, this may be helpful for u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC recording&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tran code SM35&lt;/P&gt;&lt;P&gt;Select "Recording"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select "New Recording"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enter a name in Recording Field&lt;/P&gt;&lt;P&gt;Enter MM03 in Transactoin Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select Start Recording&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enter your material Number&lt;/P&gt;&lt;P&gt;Hit "Enter" key&lt;/P&gt;&lt;P&gt;Select your views&lt;/P&gt;&lt;P&gt;Hit "Enter" key&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Green Arrow (PF3) out until you get to Transaction recorder&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAVE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Green Arrow (PF3)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select your recording&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select Program button&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enter a name for you program&lt;/P&gt;&lt;P&gt;Select "Transfer from recording"&lt;/P&gt;&lt;P&gt;and then the  Green Check&lt;/P&gt;&lt;P&gt;Fill in Title etc&lt;/P&gt;&lt;P&gt;then Source code Button&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will generate a program that if run by itself will mimic your session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will need to select the parts of it and parts of the include into your program with field filled in.  Put the pieces into your orginal code.  Use the Call Transaction option in the generated program to see the fields you will need.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This process can take some practice to get used to.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;chaitanya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Mar 2008 10:31:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473804#M834974</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-12T10:31:47Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473805#M834975</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi surendar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     There are two methods in which you can execute the call transaction method such as manual and automatic. In the manual method you have to write the code for each and every screen sequences. Also its time consuming. But in automatic method you can record the screen sequence as in a well manner. Then you can derive a program with the result of the recording. The following steps will help you by some means.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Go to SHDB transaction.&lt;/P&gt;&lt;P&gt;2. Record the screen sequences with the values.&lt;/P&gt;&lt;P&gt;3. Finally with the recording click the program button in the Transaction recorder screen by selecting your recording name.&lt;/P&gt;&lt;P&gt;4. Give the new program name and select the option 'Transaction from recording'. &lt;/P&gt;&lt;P&gt;5. The code will be generated automatically with the desired screen sequences. Then pass your values from the internal table into the desired screen field values. &lt;/P&gt;&lt;P&gt;The following code will help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZCA01BDC NO STANDARD PAGE HEADING LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE  RC27M-MATNR,&lt;/P&gt;&lt;P&gt;WERKS LIKE  RC27M-WERKS,&lt;/P&gt;&lt;P&gt;PLNAL LIKE PLKOD-PLNAL,&lt;/P&gt;&lt;P&gt;VERWE LIKE PLKOD-VERWE,&lt;/P&gt;&lt;P&gt;STATU LIKE PLKOD-STATU,&lt;/P&gt;&lt;P&gt;LOSVN(16), " LIKE PLKOD-LOSVN,&lt;/P&gt;&lt;P&gt;ARBPL LIKE PLPOD-ARBPL,&lt;/P&gt;&lt;P&gt;STEUS LIKE PLPOD-STEUS,&lt;/P&gt;&lt;P&gt;LTXA1 LIKE PLPOD-LTXA1,&lt;/P&gt;&lt;P&gt;BMSCH(16), " LIKE PLPOD-BMSCH,&lt;/P&gt;&lt;P&gt;MEINH(3)," LIKE PLPOD-MEINH,&lt;/P&gt;&lt;P&gt;VGW01(9)," LIKE  PLPOD-VGW01,&lt;/P&gt;&lt;P&gt;VGE01 LIKE PLPOD-VGE01,&lt;/P&gt;&lt;P&gt;VGW02(9)," LIKE PLPOD-VGW02,&lt;/P&gt;&lt;P&gt;VGE02 LIKE PLPOD-VGE02,&lt;/P&gt;&lt;P&gt;VGW03(9), "LIKE PLPOD-VGW03,&lt;/P&gt;&lt;P&gt;VGE03 LIKE PLPOD-VGE04,&lt;/P&gt;&lt;P&gt;VGW04(9)," LIKE PLPOD-VGE04,&lt;/P&gt;&lt;P&gt;VGE04 LIKE PLPOD-VGE04,&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;INCLUDE ZBDC_DYNPFLD.&lt;/P&gt;&lt;P&gt;DATA: I_MSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;PARAMETERS: CHK AS CHECKBOX.&lt;/P&gt;&lt;P&gt;DATA: ARBPL(16),&lt;/P&gt;&lt;P&gt;      STEUS(16),&lt;/P&gt;&lt;P&gt;      LTXA1(16),&lt;/P&gt;&lt;P&gt;      BMSCH(16),&lt;/P&gt;&lt;P&gt;      MEINH(16),&lt;/P&gt;&lt;P&gt;      VGW01(16),&lt;/P&gt;&lt;P&gt;      VGE01(16),&lt;/P&gt;&lt;P&gt;      VGW02(16),&lt;/P&gt;&lt;P&gt;      VGE02(16),&lt;/P&gt;&lt;P&gt;      VGW03(16),&lt;/P&gt;&lt;P&gt;      VGE03(16),&lt;/P&gt;&lt;P&gt;      VGW04(16),&lt;/P&gt;&lt;P&gt;      VGE04(16).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: VAL(01) TYPE N VALUE 01,&lt;/P&gt;&lt;P&gt;      DATE1(10) TYPE C,&lt;/P&gt;&lt;P&gt;      CNT(10), " LIKE RC27X-ENTRY_ACT,&lt;/P&gt;&lt;P&gt;      CNT1(3),&lt;/P&gt;&lt;P&gt;      ITAB1 LIKE ITAB OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      WA LIKE ITAB.&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;  IF CHK = 'X'.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'UPLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        FILENAME                = 'C:\ITAB.TXT'&lt;/P&gt;&lt;P&gt;        FILETYPE                = 'DAT'&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;        INVALID_TABLE_WIDTH     = 2&lt;/P&gt;&lt;P&gt;        INVALID_TYPE            = 3&lt;/P&gt;&lt;P&gt;        NO_BATCH                = 4&lt;/P&gt;&lt;P&gt;        UNKNOWN_ERROR           = 5&lt;/P&gt;&lt;P&gt;        GUI_REFUSE_FILETRANSFER = 6&lt;/P&gt;&lt;P&gt;        OTHERS                  = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT ITAB BY MATNR WERKS.&lt;/P&gt;&lt;P&gt;    ITAB1[] = ITAB[].&lt;/P&gt;&lt;P&gt;    LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;      CLEAR WA.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING ITAB TO WA.&lt;/P&gt;&lt;P&gt;      CLEAR BDC_DATA.&lt;/P&gt;&lt;P&gt;      REFRESH BDC_DATA.&lt;/P&gt;&lt;P&gt;      AT NEW MATNR.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1010'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                      'RC27M-MATNR'.&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 'RC27M-MATNR'&lt;/P&gt;&lt;P&gt;                                      WA-MATNR.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'RC27M-WERKS'&lt;/P&gt;&lt;P&gt;                                       WA-WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_DYNPRO      USING 'SAPLCPDA' '1200'.&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 'PLKOD-PLNAL'&lt;/P&gt;&lt;P&gt;                                       WA-PLNAL.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'PLKOD-WERKS'&lt;/P&gt;&lt;P&gt;                                       WA-WERKS.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                     'PLKOD-LOSVN'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'PLKOD-VERWE'&lt;/P&gt;&lt;P&gt;                                       WA-VERWE.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'PLKOD-STATU'&lt;/P&gt;&lt;P&gt;                                       WA-STATU.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'PLKOD-LOSVN'&lt;/P&gt;&lt;P&gt;                                       WA-LOSVN.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'PLKOD-LOSBS'&lt;/P&gt;&lt;P&gt;                                '99,999,999'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'PLKOD-PLNME'&lt;/P&gt;&lt;P&gt;                                'NOS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_DYNPRO      USING 'SAPLCPDA' '1200'.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                      '=VOUE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1400'.&lt;/P&gt;&lt;P&gt;      PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                    'PLPOD-LTXA1(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;      CLEAR : CNT,CNT1.&lt;/P&gt;&lt;P&gt;      CNT = CNT + 1.&lt;/P&gt;&lt;P&gt;      LOOP AT ITAB1 WHERE MATNR = ITAB-MATNR.&lt;/P&gt;&lt;P&gt;        CNT1 = CNT1 + 1.&lt;/P&gt;&lt;P&gt;        IF  CNT1 = 1.&lt;/P&gt;&lt;P&gt;          VAL = '01'.&lt;/P&gt;&lt;P&gt;        ELSEIF CNT1 &amp;gt; 1.&lt;/P&gt;&lt;P&gt;          VAL = '02'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CONCATENATE: 'PLPOD-ARBPL(' VAL ')' INTO ARBPL,&lt;/P&gt;&lt;P&gt;                     'PLPOD-STEUS(' VAL ')' INTO STEUS,&lt;/P&gt;&lt;P&gt;                     'PLPOD-LTXA1(' VAL ')' INTO LTXA1,&lt;/P&gt;&lt;P&gt;                     'PLPOD-BMSCH(' VAL ')' INTO BMSCH,&lt;/P&gt;&lt;P&gt;                     'PLPOD-MEINH(' VAL ')' INTO MEINH,&lt;/P&gt;&lt;P&gt;                     'PLPOD-VGW01(' VAL ')' INTO VGW01,&lt;/P&gt;&lt;P&gt;                     'PLPOD-VGe01(' VAL ')' INTO VGE01,&lt;/P&gt;&lt;P&gt;                     'PLPOD-VGW02(' VAL ')' INTO VGW02,&lt;/P&gt;&lt;P&gt;                     'PLPOD-VGe02(' VAL ')' INTO VGE02,&lt;/P&gt;&lt;P&gt;                     'PLPOD-VGW03(' VAL ')' INTO VGW03,&lt;/P&gt;&lt;P&gt;                     'PLPOD-VGe03(' VAL ')' INTO VGE03,&lt;/P&gt;&lt;P&gt;                     'PLPOD-VGW04(' VAL ')' INTO VGW04,&lt;/P&gt;&lt;P&gt;                     'PLPOD-VGe04(' VAL ')' INTO VGE04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING ARBPL  ITAB1-ARBPL.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING STEUS  ITAB1-STEUS.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING LTXA1  ITAB1-LTXA1.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING BMSCH  ITAB1-BMSCH.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING MEINH  ITAB1-MEINH.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING VGW01  ITAB1-VGW01.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING VGE01  ITAB1-VGE01.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING VGW02  ITAB1-VGW02.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING VGE02  ITAB1-VGE02.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING VGW03  ITAB1-VGW03.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING VGE03  ITAB1-VGE03.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING VGW04  ITAB1-VGW04.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD  USING VGE04  ITAB1-VGE04.&lt;/P&gt;&lt;P&gt;        PERFORM BDC_FIELD       USING 'RC27X-ENTRY_ACT'&lt;/P&gt;&lt;P&gt;                                      CNT1.&lt;/P&gt;&lt;P&gt;        IF SY-TABIX &amp;gt;= 2.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1400'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RC27X-ENTRY_ACT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=EINF'.&lt;/P&gt;&lt;P&gt;          CNT = CNT + 1.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RC27X-ENTRY_ACT'&lt;/P&gt;&lt;P&gt;                                        CNT1.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1400'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'PLPOD-LTXA1(02)'.&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;        AT LAST.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1400'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                        'RC27X-ENTRY_ACT'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=MATA'.&lt;/P&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'RC27X-ENTRY_ACT'&lt;/P&gt;&lt;P&gt;                                    CNT1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_DYNPRO      USING 'SAPLSPO1' '0300'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       '=NO'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1000'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       'RC27X-ENTRY_ACT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                        '=BU'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_FIELD       USING 'RC27X-ENTRY_ACT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CNT1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1400'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       'PLPOD-UVORN(02)'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       '=END'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_FIELD       USING 'RC27X-ENTRY_ACT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       cnt1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_DYNPRO      USING 'SAPLSPO1' '0100'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       '=NO'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ENDAT.&lt;/P&gt;&lt;P&gt;        CLEAR ITAB1.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'CA01' USING BDC_DATA UPDATE 'A'&lt;/P&gt;&lt;P&gt;                                               MODE 'A'&lt;/P&gt;&lt;P&gt;                                               MESSAGES INTO I_MSG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM ERROR_MSG.&lt;/P&gt;&lt;P&gt;        CLEAR BDC_DATA.&lt;/P&gt;&lt;P&gt;        REFRESH BDC_DATA.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ERROR_MSG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ERROR_MSG .&lt;/P&gt;&lt;P&gt;  DATA: ERR_MSG(250).&lt;/P&gt;&lt;P&gt;  READ TABLE I_MSG WITH KEY MSGTYP = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      ID        = SY-MSGID&lt;/P&gt;&lt;P&gt;      LANG      = 'EN'&lt;/P&gt;&lt;P&gt;      NO        = SY-MSGNO&lt;/P&gt;&lt;P&gt;      V1        = SY-MSGV1&lt;/P&gt;&lt;P&gt;      V2        = SY-MSGV2&lt;/P&gt;&lt;P&gt;      V3        = SY-MSGV3&lt;/P&gt;&lt;P&gt;      V4        = SY-MSGV4&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      MSG       = ERR_MSG&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;      OTHERS    = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&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;  WRITE:'ERROR MESSAGE', ERR_MSG.&lt;/P&gt;&lt;P&gt;  CLEAR:I_MSG.&lt;/P&gt;&lt;P&gt;  REFRESH: I_MSG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERROR_MSG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Mar 2008 12:16:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473805#M834975</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-12T12:16:31Z</dc:date>
    </item>
    <item>
      <title>Re: bdc transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473806#M834976</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 look into the code this is for customer creation using call transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types : begin of ty_kna1,&lt;/P&gt;&lt;P&gt;        kunnr type kna1-kunnr,&lt;/P&gt;&lt;P&gt;        ktokd type kna1-ktokd,&lt;/P&gt;&lt;P&gt;        name1 type kna1-name1,&lt;/P&gt;&lt;P&gt;        sortl type kna1-sortl,&lt;/P&gt;&lt;P&gt;        ort01 type kna1-ort01,&lt;/P&gt;&lt;P&gt;        pstlz type kna1-pstlz,&lt;/P&gt;&lt;P&gt;        land1 type kna1-land1,&lt;/P&gt;&lt;P&gt;        spras type kna1-spras,&lt;/P&gt;&lt;P&gt;        end of ty_kna1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : i_kna1 type table of ty_kna1,&lt;/P&gt;&lt;P&gt;          w_kna1 type ty_kna1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : w_bdcdata type bdcdata,&lt;/P&gt;&lt;P&gt;       i_bdcdata type table of bdcdata.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD&amp;#145;&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;    FILENAME                      = 'c:\customer.txt'&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                      = I_KNA1&lt;/P&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;loop at i_kna1 into w_kna1.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02D' '0100'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RF02D-KTOKD'.&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 'RF02D-KUNNR'&lt;/P&gt;&lt;P&gt;                              w_kna1-kunnr.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'RF02D-KTOKD'&lt;/P&gt;&lt;P&gt;                              w_kna1-KTOKD.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro      using 'SAPMF02D' '0110'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'KNA1-SPRAS'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=UPDA'.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'KNA1-NAME1'&lt;/P&gt;&lt;P&gt;                              w_kna1-NAME1.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'KNA1-SORTL'&lt;/P&gt;&lt;P&gt;                              w_kna1-SORTL.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'KNA1-ORT01'&lt;/P&gt;&lt;P&gt;                              w_kna1-ORT01.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'KNA1-PSTLZ'&lt;/P&gt;&lt;P&gt;                              w_kna1-PSTLZ.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'KNA1-LAND1'&lt;/P&gt;&lt;P&gt;                              w_kna1-LAND1.&lt;/P&gt;&lt;P&gt;perform bdc_field       using 'KNA1-SPRAS'&lt;/P&gt;&lt;P&gt;                              w_kna1-SPRAS.&lt;/P&gt;&lt;P&gt;perform bdc_transaction using 'XD01'.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bdc_dynpro&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0099   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0100   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro  USING    VALUE(P_0099)&amp;amp;#8207;&lt;/P&gt;&lt;P&gt;                          VALUE(P_0100).&lt;/P&gt;&lt;P&gt;  CLEAR w_BDCDATA.&lt;/P&gt;&lt;P&gt;  w_BDCDATA-PROGRAM  = P_0099.&lt;/P&gt;&lt;P&gt;  w_BDCDATA-DYNPRO   = P_0100.&lt;/P&gt;&lt;P&gt;  w_BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND w_bdcdata to i_bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_dynpro&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bdc_field&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0098   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0099   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_field  USING    VALUE(P_0098)&amp;amp;#8207;&lt;/P&gt;&lt;P&gt;                         VALUE(P_0099).&lt;/P&gt;&lt;P&gt;     CLEAR w_BDCDATA.&lt;/P&gt;&lt;P&gt;    w_BDCDATA-FNAM = P_0098.&lt;/P&gt;&lt;P&gt;    w_BDCDATA-FVAL = P_0099.&lt;/P&gt;&lt;P&gt;    APPEND w_BDCDATA to i_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bdc_transaction&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0169   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_transaction  USING    VALUE(P_0169).&lt;/P&gt;&lt;P&gt;CALL TRANSACTION P_0169 USING i_BDCDATA&lt;/P&gt;&lt;P&gt;                     MODE   'A'&lt;/P&gt;&lt;P&gt;                     UPDATE 'S'.&lt;/P&gt;&lt;P&gt;                     "MESSAGES INTO MESSTAB.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_transaction&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Swapna.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Mar 2008 12:24:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-transaction/m-p/3473806#M834976</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-12T12:24:12Z</dc:date>
    </item>
  </channel>
</rss>

