<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: bdc in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3638651#M876311</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Refer this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Code used to create BDC&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;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Sourabh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 10 Apr 2008 10:10:31 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-10T10:10:31Z</dc:date>
    <item>
      <title>bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3638649#M876309</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello everyone,&lt;/P&gt;&lt;P&gt;    can anyone please help me with a sample code of BDC using call transaction method , actually i am not too much expert in bdc , i want to upload a data using T.code J3G(.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;your reply is highly appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Apr 2008 10:01:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3638649#M876309</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-10T10:01:02Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3638650#M876310</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;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;report zbdc_j1id_ind
       no standard page heading line-size 255.
tables : j_1imtchid.
data: begin of bdcdata occurs 0.
        include structure bdcdata.
data: end of bdcdata.
data : begin of itab occurs 0,
         matnr like mara-matnr,
         werks like t001w-werks,
         ind(1) type c,
       end of itab,
       fg(1),bg(1),typ(1).
*include bdcrecx1.

start-of-selection.

  import fg bg from memory id 'UNBW'.
  if fg = 'X'.
     typ = 'A'.
  else.
    typ = 'E'.
  endif.
  call function 'UPLOAD'
    exporting
      filename                = 'C:\'
      filetype                = 'DAT'
    tables
      data_tab                = itab
    exceptions
      conversion_error        = 1
      invalid_table_width     = 2
      invalid_type            = 3
      no_batch                = 4
      unknown_error           = 5
      gui_refuse_filetransfer = 6
      others                  = 7.
  if sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.



perform bdc_dynpro      using 'SAPMJ1ID' '0200'.
perform bdc_field       using 'BDC_CURSOR'
                              'RB1'.
perform bdc_field       using 'BDC_OKCODE'
                              '=EX'.
perform bdc_field       using 'RB11'
                              'X'.
*perform bdc_field       using 'RB1'
*                              'X'.
loop at itab.
*perform open_group.
  if itab-matnr na sy-abcde and itab-matnr na '/*-_.'.
     unpack itab-matnr to itab-matnr.
   else.
     translate itab-matnr to upper case.
   endif.
   select single * from j_1imtchid where matnr = itab-matnr and werks = itab-werks.
   if sy-subrc ne 0.
     continue.
   endif.
    perform bdc_dynpro      using 'SAPLJ1I5' '0020'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'J_1IMTCHID-MATNR(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=POSI'.
    perform bdc_dynpro      using 'SAPLSPO4' '0300'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'SVALD-VALUE(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=FURT'.
    perform bdc_field       using 'SVALD-VALUE(01)'
                                  itab-matnr.       "'940101'.
    perform bdc_field       using 'SVALD-VALUE(02)'
                                  itab-werks.        "'7200'.
    perform bdc_dynpro      using 'SAPLJ1I5' '0020'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'J_1IMTCHID-J_1ICAPIND(01)'.
    perform bdc_field       using 'J_1IMTCHID-J_1ICAPIND(01)'
                                  itab-ind.  "C'.
endloop.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=SAVE'.


perform bdc_dynpro      using 'SAPLJ1I5' '0020'.
perform bdc_field       using 'BDC_CURSOR'
                              'J_1IMTCHID-J_1ICAPIND(01)'.
perform bdc_field       using 'BDC_OKCODE'
                              '=BACK'.
perform bdc_dynpro      using 'SAPMJ1ID' '0200'.
perform bdc_field       using 'BDC_OKCODE'
                              '/EEXIT'.
perform bdc_field       using 'BDC_CURSOR'
                              'EXCISE'.
**perform bdc_transaction using 'J1ID'.
**
**perform close_group.
    call transaction 'J1ID' using bdcdata mode typ update 'S'.



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  bdc_dynpro
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;PROGRAM    text
*      --&amp;gt;DYNPRO     text
*----------------------------------------------------------------------*
form bdc_dynpro using program dynpro.
  clear bdcdata.
  bdcdata-program  = program.
  bdcdata-dynpro   = dynpro.
  bdcdata-dynbegin = 'X'.
  append bdcdata.
endform.                    "bdc_dynpro

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  bdc_field
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;FNAM       text
*      --&amp;gt;FVAL       text
*----------------------------------------------------------------------*
form bdc_field using fnam fval.
*  if fval &amp;lt;&amp;gt; ' '.       "NODATA.
  clear bdcdata.
  bdcdata-fnam = fnam.
  bdcdata-fval = fval.
  append bdcdata.
*  endif.
endform.                    "bdc_field&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if usefull&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Apr 2008 10:04:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3638650#M876310</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-10T10:04:14Z</dc:date>
    </item>
    <item>
      <title>Re: bdc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3638651#M876311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Refer this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Code used to create BDC&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;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Sourabh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Apr 2008 10:10:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/3638651#M876311</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-10T10:10:31Z</dc:date>
    </item>
  </channel>
</rss>

