<?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/2873362#M674235</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Seema,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically BDC uses recording of a given transaction and then replay of the same with different sets of input data. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So when you record any transaction, the technical details about the transaction are automatically recorded by SHDB transaction. When you transfer this recording detail in to Program, system automatically generate the code. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now this is the code where all the subroutines will be called related to this recording of transaction. The subroutines are called using PERFORM statement. &lt;/P&gt;&lt;P&gt;E.g. in your example it is PERFORM subroutine_name USING parameter values.&lt;/P&gt;&lt;P&gt;Hence here BDC_DYNPRO &amp;amp; BDC_FIELD are two subroutines. And these subroutines passes values for the defined parameters like Screen Number, Program Name, Whether a new screen has started in recording (Flag), actual values for the fields, the action codes like pressing Save button or pressing Enter key from recording. &lt;/P&gt;&lt;P&gt;For more details about what kind of parameters subroutine uses, just double click on Perform statement and it will take you to FORM - ENDFORM of the same. Here in Form you can see the type of parameters used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. PERFORM bdc_dynpro USING 'SAPMF02K' &lt;/P&gt;&lt;P&gt;Here Subroutine Name - BDC_DYNPRO&lt;/P&gt;&lt;P&gt;SAPMF02K - Program Name (Subroutine Parameter)&lt;/P&gt;&lt;P&gt;0100 - Screen Number (Subroutine Parameter)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. PERFORM bdc_field USING 'BDC_CURSOR' 'RF02K-KTOKK'.&lt;/P&gt;&lt;P&gt;Here Subroutine Name - BDC_FIELD&lt;/P&gt;&lt;P&gt;BDC_CURSOR - It is subroutine parameter and specifies that the cursor will be now placed on the field of transaction mentioned along with it i.e. RF02K-KT0KK in this example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. PERFORM bdc_field USING 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;Here Subroutine Name - BDC_FIELD&lt;/P&gt;&lt;P&gt;BDC_OKCODE - Subroutine parameter which specifies the action code along with it. E.g. here it Enter key with code '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think now it is clear to you.&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;Rahman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Sep 2007 13:29:46 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-27T13:29:46Z</dc:date>
    <item>
      <title>BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873357#M674230</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;I have dought in BDC. &lt;/P&gt;&lt;P&gt;Here in BDC we have: &lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' &lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RF02K-KTOKK'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'. &lt;/P&gt;&lt;P&gt;I am not clear with these. Pls help me to make me understand clearly those...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Seema&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 09:51:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873357#M674230</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T09:51:10Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873358#M674231</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' -&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;&lt;P&gt;Transaction Screen name at the time of recording&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RF02K-KTOKK'.----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;Particular Screen field of the Transaction at the time of recording&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'. -&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;Enter . at the time of recording if ur press enter then it shows in coding in  this way&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Pattan Naveen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 09:57:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873358#M674231</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T09:57:04Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873359#M674232</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Seema,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are 5 parts in a BDC program .Each part is executed one after another.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Selection screen is used with a parameter to input the text file of TYPE RLGRAP-FILENAME . Various function modules like KD_GET_FILENAME_ON_F4 can be used to read the file name at runtime or the filename can be defaulted by using DEAULT clause in the parameter statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Open the text file for input.If file fails to open (SY-SUBRC NE 0) then stop the program with a error message. &lt;/P&gt;&lt;P&gt;    OPEN DATASET filename FOR INPUT IN TEXT MODE is used to open the file.&lt;/P&gt;&lt;P&gt;3)Loop through the dataset using a loop  statement like DO .. ENDDO with an EXIT statemenyt if no next record exists.&lt;/P&gt;&lt;P&gt;and filling the work structure which will hold the data for a single transaction in each loop pass.&lt;/P&gt;&lt;P&gt;   Filling the BDC TABLE of TYPE BDCDATA in the loop for every record(equivalent to transaction) in the data set.  &lt;/P&gt;&lt;P&gt; Submit the internal table containing bdc data for each and every transaction (internal table of TYPE BDCDATA is submitted for each transaction until all the records in the dataset are read) using &lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'tr' USING I_bdcdata MODE 'N' UDATE 'S' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DO&lt;/P&gt;&lt;P&gt;  READ DATASET file INTO W_bdcdata&lt;/P&gt;&lt;P&gt;   IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM Fill_BDCDATA                                     &lt;/P&gt;&lt;P&gt;  PERFORM Submit_BDCDATA&lt;/P&gt;&lt;P&gt; ENDDO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Error handling when submission via CALL TRANSACTION fails ,either by using the internal table to be filled by the system messages which is of TYPE BDCMSGCOLS and can be specified in CALL TRANSACTION statement with the addition MESSAGES INTO .&lt;/P&gt;&lt;P&gt; Or error handling by sending the mail to a predefined recipient. &lt;/P&gt;&lt;P&gt; Or for each and every transaction that fails create a&lt;/P&gt;&lt;P&gt;single BDC SESSION by using BDC_OPEN_GROUP function module&lt;/P&gt;&lt;P&gt;and submitting the intenal bdc data table to it. &lt;/P&gt;&lt;P&gt; For each and every error a report should display them&lt;/P&gt;&lt;P&gt;all at the end of the program so that the transacton in error can be identified.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; The approach of opening a BDC SESSION is often used with an error report when an error occurs as all the transaction in error can be seen and executed in the session manager .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5)Clean up actions.&lt;/P&gt;&lt;P&gt; Here clean up actions are performed like closing the dataset with CLOSE DATASET command ,closing any error&lt;/P&gt;&lt;P&gt;session if they were created using CLOSE_GROUP function module.and displaying the report .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To fill the bdc data table we should have all the information associated with the screens used in the transaction &lt;/P&gt;&lt;P&gt;and all the fields in those screens that will be filled by the CALL TRANSACTION statement.We can use BDC SESSION RECORDER  or Transaction Recorder(Transaction SHDB) to get the information on the screens and the fields. The&lt;/P&gt;&lt;P&gt;data which is required to fill the internal table of TYPE BDCDATA is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Program Name&lt;/P&gt;&lt;P&gt;Screen Number&lt;/P&gt;&lt;P&gt;Screen Begin&lt;/P&gt;&lt;P&gt;Field Name&lt;/P&gt;&lt;P&gt;Field Value  &lt;/P&gt;&lt;P&gt;Information on Field Name and Field Type can be used to create the structure that will be used to read records from the data set .&lt;/P&gt;&lt;P&gt;While filling the Field value in BDCDATA table care should be taken for special fields like 'BDC_CURSOR',' BDC_OKCODE'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Structure of BDCDATA table&lt;/P&gt;&lt;P&gt;PROGRAM   Name of program&lt;/P&gt;&lt;P&gt;DYNPRO      Number of screen&lt;/P&gt;&lt;P&gt;DYNBEGIN   If New screen begins value ='X'&lt;/P&gt;&lt;P&gt;FNAM            Field Name&lt;/P&gt;&lt;P&gt;FVAL             Field Value &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Structure of  BDCMSGCOLL&lt;/P&gt;&lt;P&gt;MSGID          Message ID&lt;/P&gt;&lt;P&gt;MSGTYP      MessageType&lt;/P&gt;&lt;P&gt;MSGNR        Message Number&lt;/P&gt;&lt;P&gt;MSGV1         1st placeholder&lt;/P&gt;&lt;P&gt;MSGV2         2nd Place Holder&lt;/P&gt;&lt;P&gt;NSGV3         3rd Placce Holder&lt;/P&gt;&lt;P&gt;MSGV4         4th Place Holder    &lt;/P&gt;&lt;P&gt;To see all the messages stored by the system in the BDCMSGCOLS table we can use LOOP AT .ENDLOOP command. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code to read internal table of type BDCMSGCOLS.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TABLE T100 HAS FOLLOWING FIELDS&lt;/P&gt;&lt;P&gt;SPRSL   TYPE SPRAS (Language)&lt;/P&gt;&lt;P&gt;ARBGB  TYPE ARBGP (BUSINESS AREA)&lt;/P&gt;&lt;P&gt;MSGNR  Message number (3C) &lt;/P&gt;&lt;P&gt;TEXT       Message Text (Type 73C)&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; LOOP AT MESSTAB.     "Int Table of TYPE BDCMSGCOLS&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA&lt;/P&gt;&lt;P&gt;                                  AND   ARBGB = MESSTAB-MSGID&lt;/P&gt;&lt;P&gt;                                  AND   MSGNR = MESSTAB-MSGNR.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          L_MSTRING = T100-TEXT.&lt;/P&gt;&lt;P&gt;          IF L_MSTRING CS '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;1' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;2' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;3' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;4' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV1 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV2 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV3 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;            REPLACE '&amp;amp;' WITH MESSTAB-MSGV4 INTO L_MSTRING.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CONDENSE L_MSTRING.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE: / MESSTAB.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Abir&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Do not forget to reward POINTS  *&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="42" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 09:58:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873359#M674232</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T09:58:59Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873360#M674233</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC_DYNRPRO : handles a program and screen.&lt;/P&gt;&lt;P&gt;BDC_FIELD : Puts a value on the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC_OKCODE is the user command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Mandeep&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 10:02:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873360#M674233</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T10:02:09Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873361#M674234</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bdc_dynpro   -  calling the screen number and program name &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bdc_field       -  this meand in that screen perticular field &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bdc_field using 'BDC_OKCODE' - the action ur doing on the screen &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IN BDC program before coding you will do some recodring  by useing SHDB &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in that SHDB you will record each screen &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;that screen flow is nothing but that which the code you have given &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;To simulate user dialogue, you must know the following information:&amp;lt;/b&amp;gt;Online program name,&lt;/P&gt;&lt;P&gt;Screen numbers,&lt;/P&gt;&lt;P&gt;Field names&lt;/P&gt;&lt;P&gt;Field values&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The &amp;#145;BDCDATA&amp;#146; ABAP Dictionary structure is used in a batch input program to collect this information for an entire transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          BDCDATA&lt;/P&gt;&lt;P&gt;               1&lt;/P&gt;&lt;P&gt;               1&lt;/P&gt;&lt;P&gt;               1&lt;/P&gt;&lt;P&gt;               \/&lt;/P&gt;&lt;P&gt;             PROGRAM&lt;/P&gt;&lt;P&gt;             DYNPRO&lt;/P&gt;&lt;P&gt;             DYNBEGIN&lt;/P&gt;&lt;P&gt;             FNAM&lt;/P&gt;&lt;P&gt;             FVAL&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, 27 Sep 2007 10:13:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873361#M674234</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T10:13:39Z</dc:date>
    </item>
    <item>
      <title>Re: BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873362#M674235</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Seema,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically BDC uses recording of a given transaction and then replay of the same with different sets of input data. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So when you record any transaction, the technical details about the transaction are automatically recorded by SHDB transaction. When you transfer this recording detail in to Program, system automatically generate the code. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now this is the code where all the subroutines will be called related to this recording of transaction. The subroutines are called using PERFORM statement. &lt;/P&gt;&lt;P&gt;E.g. in your example it is PERFORM subroutine_name USING parameter values.&lt;/P&gt;&lt;P&gt;Hence here BDC_DYNPRO &amp;amp; BDC_FIELD are two subroutines. And these subroutines passes values for the defined parameters like Screen Number, Program Name, Whether a new screen has started in recording (Flag), actual values for the fields, the action codes like pressing Save button or pressing Enter key from recording. &lt;/P&gt;&lt;P&gt;For more details about what kind of parameters subroutine uses, just double click on Perform statement and it will take you to FORM - ENDFORM of the same. Here in Form you can see the type of parameters used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. PERFORM bdc_dynpro USING 'SAPMF02K' &lt;/P&gt;&lt;P&gt;Here Subroutine Name - BDC_DYNPRO&lt;/P&gt;&lt;P&gt;SAPMF02K - Program Name (Subroutine Parameter)&lt;/P&gt;&lt;P&gt;0100 - Screen Number (Subroutine Parameter)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. PERFORM bdc_field USING 'BDC_CURSOR' 'RF02K-KTOKK'.&lt;/P&gt;&lt;P&gt;Here Subroutine Name - BDC_FIELD&lt;/P&gt;&lt;P&gt;BDC_CURSOR - It is subroutine parameter and specifies that the cursor will be now placed on the field of transaction mentioned along with it i.e. RF02K-KT0KK in this example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. PERFORM bdc_field USING 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;Here Subroutine Name - BDC_FIELD&lt;/P&gt;&lt;P&gt;BDC_OKCODE - Subroutine parameter which specifies the action code along with it. E.g. here it Enter key with code '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think now it is clear to you.&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;Rahman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 13:29:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc/m-p/2873362#M674235</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T13:29:46Z</dc:date>
    </item>
  </channel>
</rss>

