<?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/2409816#M537439</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;            check out the links. This is very useful.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/bdc/bdc_call.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/bdc/bdc_call.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Jun 2007 05:21:11 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-28T05:21:11Z</dc:date>
    <item>
      <title>BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409810#M537433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how to upload data using call transaction ,Explain clearly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2007 05:08:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409810#M537433</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-28T05:08:00Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409811#M537434</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;For a BDC upload you need to write a program which created BDC sessions. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steps: &lt;/P&gt;&lt;P&gt;1. Work out the transaction you would use to create the data manually. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Use transaction SHDB to record the creation of one material master data. &lt;/P&gt;&lt;P&gt;    Click the New recording button or the Menu - Recording - Create &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Save the recording, and then go back a screen and go to the overview. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. Select the recording and click on Edit - Create Program. Give the program a Z name, and select transfer from recording. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Edit the program. You will see that all the data you entered is hard-coded into the program. You need to make the following changes: &lt;/P&gt;&lt;P&gt;5.1 After the start-of-selection, Call ws_upload to upload the file (the excel file needs to be saved as TAB separated). &lt;/P&gt;&lt;P&gt;5.2 After the open-group, Loop on the uploaded data. For each line, perform validation checks on the data, then modify the perform bdc_field commands to use the file data. &lt;/P&gt;&lt;P&gt;5.3. After perform bdc_transaction, add the endloop. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Execute the program. It will have options to create a batch session or to process directly. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These are all my finds . Might be it will be useful to you. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Direct call of transactions, session handling: &lt;/P&gt;&lt;P&gt;/nxxxx This terminates the current transaction, and starts transaction xxxx &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/n This terminates the transaction. This generally corresponds to pressing F15 to go back. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/nend This termiantes all separate sessions and logs off (corresponds to System - Logoff). &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/nex This terminates all separate sessions and logs off immediately (without any warning!). &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/oxxxx This opens a new session and starts transaction xxxx in This session. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/o This lists existing sessions and allows deletion or opening of a new session. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/i This terminates the current session (corresponds to System End &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/i1, /i2,... This terminates the session with the number given. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;.xyzw Fast path: 'xyzw' refers to the underlined letters in the menus. This type of navigation is uncommon and is provided more for emergencies (such as a defective mouse). &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Batch &lt;/P&gt;&lt;P&gt;The following commands can be entered in correction mode ('Process in foreground' or 'Display errors only') when processing a batch input session: &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/n This terminates the current batch input transaction and characterizes it as &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/bdel This deletes the current batch input transaction. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/bend This terminates batch input processing and sets the session to Failed &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/bda This switches from Display errors only to Process in foreground &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/bde This switches from Process in foreground to Display errors only &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;ABAP/4 &lt;/P&gt;&lt;P&gt;/h This switches into debugging mode. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;/hs This switches into debugging mode and activates the debugging of system functions. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also check out the links. This is very useful.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/bdc/bdc_call.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/bdc/bdc_call.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kate&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2007 05:10:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409811#M537434</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-28T05:10:04Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409812#M537435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;CALL TRANSACTION is used especially for integration actions between two SAP systems or between different modules. Users sometimes wish to do something like that click a button or an item then SAP would inserts or changes data automatically. Here CALL TRANSACTION should be considered. &lt;/P&gt;&lt;P&gt;Use the CALL TRANSACTION USING statement:&lt;/P&gt;&lt;P&gt;Summary: With CALL TRANSACTION USING, the system processes the data more quickly than with batch input sessions. Unlike batch input sessions, CALL TRANSACTION USING does not automatically support interactive correction or logging functions.&lt;/P&gt;&lt;P&gt;Your program prepares the data and then calls the corresponding transaction that is then processed immediately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The most important features of CALL TRANSACTION USING are:&lt;/P&gt;&lt;P&gt;Synchronous processing &lt;/P&gt;&lt;P&gt;Transfer of data from an individual transaction each time the statement CALL TRANSACTION USING is called &lt;/P&gt;&lt;P&gt;You can update the database both synchronously and asynchronously&lt;/P&gt;&lt;P&gt;The program specifies the update type&lt;/P&gt;&lt;P&gt;Separate LUW (logical units of work) for the transaction&lt;/P&gt;&lt;P&gt;The system executes a database commit immediately before and after the CALL TRANSACTION USING statement &lt;/P&gt;&lt;P&gt;No batch input processing log&lt;/P&gt;&lt;P&gt;A technique similar to SESSION method, while batch input is a two-step procedure, Call Transaction does both steps online, one after the other. In this method, you call a transaction from your program by&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Call transaction &amp;lt;tcode&amp;gt; using &amp;lt;BDCTAB&amp;gt;&lt;/P&gt;&lt;P&gt;Mode &amp;lt;A/N/E&amp;gt;&lt;/P&gt;&lt;P&gt;Update &amp;lt;S/A&amp;gt;&lt;/P&gt;&lt;P&gt;Messages into &amp;lt;MSGTAB&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameter &amp;#150; 1 is transaction code.&lt;/P&gt;&lt;P&gt;Parameter &amp;#150; 2 is name of BDCTAB table.&lt;/P&gt;&lt;P&gt;Parameter &amp;#150; 3 here you are specifying mode in which you execute transaction&lt;/P&gt;&lt;P&gt;A is all screen mode. All the screen of transaction are displayed.&lt;/P&gt;&lt;P&gt;N is no screen mode. No screen is displayed when you execute the transaction.&lt;/P&gt;&lt;P&gt;E is error screen. Only those screens are displayed wherein you have error record.&lt;/P&gt;&lt;P&gt;Parameter &amp;#150; 4 here you are specifying update type by which database table is updated.&lt;/P&gt;&lt;P&gt;S is for Synchronous update in which if you change data of one table then all the related Tables gets updated. And sy-subrc is returned i.e., sy-subrc is returned for once and all.&lt;/P&gt;&lt;P&gt;A is for Asynchronous update. When you change data of one table, the sy-subrc is returned. And then updating of other affected tables takes place. So if system fails to update other tables, still sy-subrc returned is 0 (i.e., when first table gets updated).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameter &amp;#150; 5 when you update database table, operation is either successful or unsuccessful or operation is successful with some warning. These messages are stored in internal table, which you specify along with MESSAGE statement. This internal table should be declared like BDCMSGCOLL, a structure available in ABAP/4. It contains the following fields:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Tcode: Transaction code&lt;/P&gt;&lt;P&gt;2. Dyname: Batch point module name&lt;/P&gt;&lt;P&gt;3. Dynumb: Batch input Dyn number&lt;/P&gt;&lt;P&gt;4. Msgtyp: Batch input message type (A/E/W/I/S)&lt;/P&gt;&lt;P&gt;5. Msgspra: Batch input Lang, id of message&lt;/P&gt;&lt;P&gt;6. Msgid: Message id&lt;/P&gt;&lt;P&gt;7. MsgvN: Message variables (N = 1 - 4)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For each entry, which is updated in database, table message is available in BDCMSGCOLL. As BDCMSGCOLL is structure, you need to declare a internal table which can contain multiple records (unlike structure).&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;1. Internal table for the data (structure similar to your local file)&lt;/P&gt;&lt;P&gt;2. BDCTAB like BDCDATA&lt;/P&gt;&lt;P&gt;3. UPLOAD or WS_UPLOAD function to upload the data from local file to itab. (Considering file is local file)&lt;/P&gt;&lt;P&gt;4. Loop at itab.&lt;/P&gt;&lt;P&gt;Populate BDCTAB table.&lt;/P&gt;&lt;P&gt;Call transaction &amp;lt;tcode&amp;gt; using &amp;lt;BDCTAB&amp;gt;&lt;/P&gt;&lt;P&gt;Mode &amp;lt;A/N/E&amp;gt;&lt;/P&gt;&lt;P&gt;Update &amp;lt;S/A&amp;gt;.&lt;/P&gt;&lt;P&gt;Refresh BDCTAB.&lt;/P&gt;&lt;P&gt;Endloop.&lt;/P&gt;&lt;P&gt;(To populate BDCTAB, You need to transfer each and every field)&lt;/P&gt;&lt;P&gt;Steps for uploading data using CALL TRANSACTION&lt;/P&gt;&lt;P&gt;1. Internal table for the data (structure similar to your local file)&lt;/P&gt;&lt;P&gt;2. BDCTAB like BDCDATA&lt;/P&gt;&lt;P&gt;3. Internal table BDCMSG like BDCMSGCOLL&lt;/P&gt;&lt;P&gt;4. Internal table similar to Ist internal table&lt;/P&gt;&lt;P&gt;(Third and fourth steps are for error handling)&lt;/P&gt;&lt;P&gt;5. UPLOAD or WS_UPLOAD function to upload the data from the local file to itab. (Considering file is local file)&lt;/P&gt;&lt;P&gt;6. Loop at itab.&lt;/P&gt;&lt;P&gt;Populate BDCTAB table.&lt;/P&gt;&lt;P&gt;Call transaction &amp;lt;tr.code&amp;gt; using &amp;lt;Bdctab&amp;gt;&lt;/P&gt;&lt;P&gt;Mode &amp;lt;A/N/E&amp;gt;&lt;/P&gt;&lt;P&gt;Update &amp;lt;S/A&amp;gt;&lt;/P&gt;&lt;P&gt;Messages &amp;lt;BDCMSG&amp;gt;.&lt;/P&gt;&lt;P&gt;Perform check.&lt;/P&gt;&lt;P&gt;Refresh BDCTAB.&lt;/P&gt;&lt;P&gt;Endloop.&lt;/P&gt;&lt;P&gt;7 Form check.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0. (Call transaction returns the sy-subrc if updating is not successful).&lt;/P&gt;&lt;P&gt;Call function Format_message.&lt;/P&gt;&lt;P&gt;(This function is called to store the message given by system and to display it along with record)&lt;/P&gt;&lt;P&gt;Append itab2.&lt;/P&gt;&lt;P&gt;Display the record and message.&lt;/P&gt;&lt;P&gt;In this example I uploaded the data using CT and handlled the errrors,I opened session for error records.&lt;/P&gt;&lt;P&gt;*CALL TRANSACTION &lt;/P&gt;&lt;P&gt;REPORT ztest_report&lt;/P&gt;&lt;P&gt;NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;LINE-SIZE 255&lt;/P&gt;&lt;P&gt;MESSAGE-ID ZRASH.&lt;/P&gt;&lt;P&gt;*--Internal Table for Data Uploading.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_FFCUST OCCURS 0,&lt;/P&gt;&lt;P&gt;KUNNR(10),&lt;/P&gt;&lt;P&gt;BUKRS(4),&lt;/P&gt;&lt;P&gt;KTOKD(4),&lt;/P&gt;&lt;P&gt;ANRED(15),&lt;/P&gt;&lt;P&gt;NAME1(35),&lt;/P&gt;&lt;P&gt;SORTL(10),&lt;/P&gt;&lt;P&gt;STRAS(35),&lt;/P&gt;&lt;P&gt;ORT01(35),&lt;/P&gt;&lt;P&gt;PSTLZ(10),&lt;/P&gt;&lt;P&gt;LAND1(3),&lt;/P&gt;&lt;P&gt;SPRAS(2),&lt;/P&gt;&lt;P&gt;AKONT(10),&lt;/P&gt;&lt;P&gt;END OF IT_FFCUST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table to Store Error Records.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_ERRCUST OCCURS 0,&lt;/P&gt;&lt;P&gt;KUNNR(10),&lt;/P&gt;&lt;P&gt;EMSG(255),&lt;/P&gt;&lt;P&gt;END OF IT_ERRCUST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table to Store Successful Records.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_SUCCUST OCCURS 0,&lt;/P&gt;&lt;P&gt;KUNNR(10),&lt;/P&gt;&lt;P&gt;SMSG(255),&lt;/P&gt;&lt;P&gt;END OF IT_SUCCUST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table for Storing the BDC data.&lt;/P&gt;&lt;P&gt;DATA : IT_CUSTBDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table for storing the messages.&lt;/P&gt;&lt;P&gt;DATA : IT_CUSTMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : V_FLAG1(1) VALUE ' ',&lt;/P&gt;&lt;P&gt;"Flag used for opening session.&lt;/P&gt;&lt;P&gt;V_TLINES LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;"For storing total records processed.&lt;/P&gt;&lt;P&gt;V_ELINES LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;"For storing the no of error records.&lt;/P&gt;&lt;P&gt;V_SLINES LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;"For storing the no of success records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1.&lt;/P&gt;&lt;P&gt;PARAMETERS : V_FNAME LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;V_SESNAM LIKE RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*-- Form to upload flatfile data into the internal table.&lt;/P&gt;&lt;P&gt;PERFORM FORM_UPLOADFF.&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'Details of the error and success records for the transaction'.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*-- Form to Generate a BDC from the Uploaded Internal table&lt;/P&gt;&lt;P&gt;PERFORM FORM_BDCGENERATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--To write the totals and the session name.&lt;/P&gt;&lt;P&gt;PERFORM FORM_WRITEOP.&lt;/P&gt;&lt;P&gt;FORM FORM_UPLOADFF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Variable to change the type of the parameter file name.&lt;/P&gt;&lt;P&gt;DATA : LV_FILE TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LV_FILE = V_FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Function to upload the flat file to the internal table.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILETYPE = 'ASC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;HAS_FIELD_SEPARATOR = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER_LENGTH = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;READ_BY_LINE = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DAT_MODE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FILELENGTH =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = IT_FFCUST&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;*--Deleting the headings from the internal table.&lt;/P&gt;&lt;P&gt;DELETE IT_FFCUST INDEX 1.&lt;/P&gt;&lt;P&gt;*--Getting the total number of records uploaded.&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE IT_FFCUST LINES V_TLINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " form_uploadff&lt;/P&gt;&lt;P&gt;FORM FORM_BDCGENERATE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Generating the BDC table for the fields of the internal table.&lt;/P&gt;&lt;P&gt;LOOP AT IT_FFCUST.&lt;/P&gt;&lt;P&gt;PERFORM POPULATEBDC USING :&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0105',&lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '/00' ,&lt;/P&gt;&lt;P&gt;' ' 'RF02D-KUNNR' IT_FFCUST-KUNNR,&lt;/P&gt;&lt;P&gt;' ' 'RF02D-BUKRS' IT_FFCUST-BUKRS,&lt;/P&gt;&lt;P&gt;' ' 'RF02D-KTOKD' IT_FFCUST-KTOKD,&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0110' ,&lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;' ' 'KNA1-ANRED' IT_FFCUST-ANRED,&lt;/P&gt;&lt;P&gt;' ' 'KNA1-NAME1' IT_FFCUST-NAME1,&lt;/P&gt;&lt;P&gt;' ' 'KNA1-SORTL' IT_FFCUST-SORTL,&lt;/P&gt;&lt;P&gt;' ' 'KNA1-STRAS' IT_FFCUST-STRAS,&lt;/P&gt;&lt;P&gt;' ' 'KNA1-ORT01' IT_FFCUST-ORT01,&lt;/P&gt;&lt;P&gt;' ' 'KNA1-PSTLZ' IT_FFCUST-PSTLZ,&lt;/P&gt;&lt;P&gt;' ' 'KNA1-LAND1' IT_FFCUST-LAND1,&lt;/P&gt;&lt;P&gt;' ' 'KNA1-SPRAS' IT_FFCUST-SPRAS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMFO2D' '0120', &lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0125', &lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0130', &lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '=ENTR',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0340', &lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '=ENTR',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0360',&lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '=ENTR',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0210', &lt;/P&gt;&lt;P&gt;' ' 'KNB1-AKONT' IT_FFCUST-AKONT,&lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0215',&lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0220', &lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'X' 'SAPMF02D' '0230', &lt;/P&gt;&lt;P&gt;' ' 'BDC_OKCODE' '=UPDA'.&lt;/P&gt;&lt;P&gt;*--Calling the transaction 'fd01'.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'FD01' USING IT_CUSTBDC MODE 'N' UPDATE 'S'&lt;/P&gt;&lt;P&gt;MESSAGES INTO IT_CUSTMSG.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*--Populating the error records internal table.&lt;/P&gt;&lt;P&gt;IT_ERRCUST-KUNNR = IT_FFCUST-KUNNR.&lt;/P&gt;&lt;P&gt;APPEND IT_ERRCUST.&lt;/P&gt;&lt;P&gt;CLEAR IT_ERRCUST.&lt;/P&gt;&lt;P&gt;*--Opening a session if there is an error record.&lt;/P&gt;&lt;P&gt;IF V_FLAG1 = ' '.&lt;/P&gt;&lt;P&gt;PERFORM FORM_OPENSESSION.&lt;/P&gt;&lt;P&gt;V_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*--Inserting the error records into already open session.&lt;/P&gt;&lt;P&gt;IF V_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;PERFORM FORM_INSERT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*--Populating the Success records internal table.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;IT_SUCCUST-KUNNR = IT_FFCUST-KUNNR.&lt;/P&gt;&lt;P&gt;APPEND IT_SUCCUST.&lt;/P&gt;&lt;P&gt;CLEAR IT_SUCCUST.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*--Displaying the messages.&lt;/P&gt;&lt;P&gt;IF NOT IT_CUSTMSG[] IS INITIAL.&lt;/P&gt;&lt;P&gt;PERFORM FORM_FORMATMSG.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*--Clearing the message and bdc tables.&lt;/P&gt;&lt;P&gt;CLEAR : IT_CUSTBDC[],IT_CUSTMSG[].&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Getting the total no of error records.&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE IT_ERRCUST LINES V_ELINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Getting the total no of successful records.&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE IT_SUCCUST LINES V_SLINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Closing the session only if it is open.&lt;/P&gt;&lt;P&gt;IF V_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;PERFORM FORM_CLOSESESS.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " Form_bdcgenerate&lt;/P&gt;&lt;P&gt;FORM POPULATEBDC USING VALUE(P_0178)&lt;/P&gt;&lt;P&gt;VALUE(P_0179)&lt;/P&gt;&lt;P&gt;VALUE(P_0180).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF P_0178 = 'X'.&lt;/P&gt;&lt;P&gt;IT_CUSTBDC-PROGRAM = P_0179.&lt;/P&gt;&lt;P&gt;IT_CUSTBDC-DYNPRO = P_0180.&lt;/P&gt;&lt;P&gt;IT_CUSTBDC-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;IT_CUSTBDC-FNAM = P_0179.&lt;/P&gt;&lt;P&gt;IT_CUSTBDC-FVAL = P_0180.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND IT_CUSTBDC.&lt;/P&gt;&lt;P&gt;CLEAR IT_CUSTBDC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " populatebdc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FORM_OPENSESSION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Variable to convert the given session name into reqd type.&lt;/P&gt;&lt;P&gt;DATA : LV_SESNAM(12).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LV_SESNAM = V_SESNAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Opening a session.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CLIENT = SY-MANDT&lt;/P&gt;&lt;P&gt;GROUP = LV_SESNAM&lt;/P&gt;&lt;P&gt;HOLDDATE = '20040805'&lt;/P&gt;&lt;P&gt;KEEP = 'X'&lt;/P&gt;&lt;P&gt;USER = SY-UNAME&lt;/P&gt;&lt;P&gt;PROG = SY-CPROG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;QID =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Session not open'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " FORM_OPENSESSION&lt;/P&gt;&lt;P&gt;FORM FORM_INSERT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Inserting the record into session.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TCODE = 'FD01'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;POST_LOCAL = NOVBLOCAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PRINTING = NOPRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SIMUBATCH = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CTUPARAMS = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = IT_CUSTBDC&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 &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Unable to insert the record'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " FORM_INSERT&lt;/P&gt;&lt;P&gt;FORM FORM_CLOSESESS .&lt;/P&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;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FORM_CLOSESESS&lt;/P&gt;&lt;P&gt;FORM FORM_FORMATMSG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Var to store the formatted msg.&lt;/P&gt;&lt;P&gt;DATA : LV_MSG(255).&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 = SY-LANGU&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 = LV_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 = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; LV_MSG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;ENDFORM. " FORM_FORMATMSG&lt;/P&gt;&lt;P&gt;FORM FORM_WRITEOP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Total Records Uploaded :',V_TLINES,&lt;/P&gt;&lt;P&gt;/ 'No of Error Records :',V_ELINES,&lt;/P&gt;&lt;P&gt;/ 'No of Success Records :',V_SLINES,&lt;/P&gt;&lt;P&gt;/ 'Name of the Session :',V_SESNAM.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " form_writeop&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2007 05:10:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409812#M537435</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-28T05:10:44Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409813#M537436</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 this code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZSYSTEM LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;TABLES: T100.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Batch-input data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;DATA: G_MESSAGE(200). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDCDATA.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'FI01'  USING G_BDCDATA  MODE 'N'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of course it is nicer with a message itab, but this example&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;should also demostrate the use of system variables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT SINGLE * FROM T100 WHERE&lt;/P&gt;&lt;P&gt;                SPRSL = 'E'&lt;/P&gt;&lt;P&gt;            AND ARBGB = SY-MSGID&lt;/P&gt;&lt;P&gt;            AND MSGNR = SY-MSGNO.&lt;/P&gt;&lt;P&gt;G_MESSAGE = T100-TEXT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM REPLACE_PARAMETERS  USING     SY-MSGV1&lt;/P&gt;&lt;P&gt;                                      SY-MSGV2&lt;/P&gt;&lt;P&gt;                                      SY-MSGV3&lt;/P&gt;&lt;P&gt;                                      SY-MSGV4&lt;/P&gt;&lt;P&gt;                            CHANGING  G_MESSAGE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE: / 'System variables:'.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE: / '        Sy-msgty:', SY-MSGTY.&lt;/P&gt;&lt;P&gt;WRITE: / '        Sy-msgid:', SY-MSGID.&lt;/P&gt;&lt;P&gt;WRITE: / '        Sy-msgno:', SY-MSGNO.&lt;/P&gt;&lt;P&gt;WRITE: / '        Sy-msgv1:', SY-MSGV1.&lt;/P&gt;&lt;P&gt;WRITE: / '        Sy-msgv2:', SY-MSGV2.&lt;/P&gt;&lt;P&gt;WRITE: / '        Sy-msgv3:', SY-MSGV3.&lt;/P&gt;&lt;P&gt;WRITE: / '        Sy-msgv4:', SY-MSGV4.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE: / 'The transaction was called with a wrong country code.'.&lt;/P&gt;&lt;P&gt;WRITE: / 'The error message should be either that or that you have'.&lt;/P&gt;&lt;P&gt;WRITE: / '  no authorisation to execute the transaction'.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE: / 'Message:'.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;WRITE: / SY-MSGTY, G_MESSAGE. &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;      Build up the 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;P&gt;FORM FILL_BDCDATA.&lt;/P&gt;&lt;P&gt;  REFRESH G_BDCDATA. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM BDC_DYNPRO USING 'SAPMF02B' '0100'.&lt;/P&gt;&lt;P&gt;  PERFORM BDC_FIELD USING 'BNKA-BANKS' 'ZZZ'.&lt;/P&gt;&lt;P&gt;  PERFORM BDC_FIELD USING 'BDC_OKCODE' 'QQQQQ'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM BDC_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;      Batchinput: Start new 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;P&gt;FORM BDC_DYNPRO USING P_PROGRAM P_DYNPRO.&lt;/P&gt;&lt;P&gt;  CLEAR G_BDCDATA.&lt;/P&gt;&lt;P&gt;  G_BDCDATA-PROGRAM = P_PROGRAM.&lt;/P&gt;&lt;P&gt;  G_BDCDATA-DYNPRO = P_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.                               " 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;      FORM BDC_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Batchinput: Feld hinzufugen                                   *&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 P_FNAM P_FVAL.&lt;/P&gt;&lt;P&gt;  CLEAR G_BDCDATA.&lt;/P&gt;&lt;P&gt;  G_BDCDATA-FNAM = P_FNAM.&lt;/P&gt;&lt;P&gt;  G_BDCDATA-FVAL = P_FVAL.&lt;/P&gt;&lt;P&gt;  APPEND G_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BDC_FIELD&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 REPLACE_PARAMETERS                                       *&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;      ........                                                      *&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_PAR_1                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_PAR_2                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_PAR_3                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_PAR_4                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_MESSAGE                                                     *&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 REPLACE_PARAMETERS  USING    P_PAR_1&lt;/P&gt;&lt;P&gt;                                  P_PAR_2&lt;/P&gt;&lt;P&gt;                                  P_PAR_3&lt;/P&gt;&lt;P&gt;                                  P_PAR_4&lt;/P&gt;&lt;P&gt;                         CHANGING P_MESSAGE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;erst mal pruefen, ob numerierte Parameter verwendet wurden&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    REPLACE '&amp;amp;1' WITH P_PAR_1 INTO P_MESSAGE.&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;  ENDDO.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    REPLACE '&amp;amp;2' WITH P_PAR_2 INTO P_MESSAGE.&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;  ENDDO.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    REPLACE '&amp;amp;3' WITH P_PAR_3 INTO P_MESSAGE.&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;  ENDDO.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    REPLACE '&amp;amp;4' WITH P_PAR_4 INTO P_MESSAGE.&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;  ENDDO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;falls keine numerierten Parameter vorh., ersetzen wie gehabt&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REPLACE '&amp;amp;' WITH P_PAR_1 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;  CONDENSE P_MESSAGE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    REPLACE '&amp;amp;' WITH P_PAR_2 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;    CONDENSE P_MESSAGE.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      REPLACE '&amp;amp;' WITH P_PAR_3 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;      CONDENSE P_MESSAGE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        REPLACE '&amp;amp;' WITH P_PAR_4 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;        CONDENSE P_MESSAGE.&lt;/P&gt;&lt;P&gt;      ENDIF.&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;ENDFORM.                               "replace_parameters&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;Reward all helpfull answers.&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Jay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2007 05:14:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409813#M537436</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-28T05:14:01Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409814#M537437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lakshman,&lt;/P&gt;&lt;P&gt;    You can upload data using Call Transaction method using the following way&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Process Mode:A,&lt;/P&gt;&lt;P&gt;Update Mode:S,&lt;/P&gt;&lt;P&gt;Keep Session:Yes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then execute.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2007 05:19:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409814#M537437</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-28T05:19:11Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409815#M537438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC using Call transaction involves calling an SAP transaction in back ground from within the ABAP &lt;/P&gt;&lt;P&gt;program. The process involves building an Internal BDC table containing the screen information needed to &lt;/P&gt;&lt;P&gt;execute the required transaction and then passing this to the Call transaction command (See code example). &lt;/P&gt;&lt;P&gt;The full procedure for creating a BDC program is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;STEP 1&lt;/P&gt;&lt;P&gt;Create recording using SM35(or SHDB).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;STEP 2&lt;/P&gt;&lt;P&gt;Use recording as a basis to populate the Internal BDC table. See &lt;/P&gt;&lt;P&gt;'FORM bdc_update' within the code example&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;thaks&lt;/P&gt;&lt;P&gt;mrutyun^&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2007 05:19:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409815#M537438</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-28T05:19:17Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409816#M537439</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;            check out the links. This is very useful.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/bdc/bdc_call.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/bdc/bdc_call.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2007 05:21:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409816#M537439</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-28T05:21:11Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409817#M537440</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;answered&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 14:59:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2409817#M537440</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T14:59:31Z</dc:date>
    </item>
  </channel>
</rss>

