<?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: session method program in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/session-method-program/m-p/2999585#M708604</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;1)Could any one give in steps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Transaction Recorder (SHDB) &lt;/P&gt;&lt;P&gt;How to Upload Presentation Server Flat file to SAP R/3 system???&lt;/P&gt;&lt;P&gt;How to upload application server file to R/3 system?&lt;/P&gt;&lt;P&gt;Definition&lt;/P&gt;&lt;P&gt;Example - Call Transaction Method &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Transaction Recorder (SHDB)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Before you work with the Batch Input methods, you should know the purpose of the tool&lt;/P&gt;&lt;P&gt;Transaction Recorder.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use:&lt;/P&gt;&lt;P&gt;You can use the transaction recorder to record a series of transactions and their screens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Features:&lt;/P&gt;&lt;P&gt;You can use the recording to create&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data transfer programs that use batch input or CALL TRANSACTION &lt;/P&gt;&lt;P&gt;Batch input sessions &lt;/P&gt;&lt;P&gt;Test data &lt;/P&gt;&lt;P&gt;Function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: It doesn&amp;#146;t record F1, F4 and Scrollbar movements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upload Flat file from Presentation Server to SAP R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION &amp;#145;GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CODEPAGE = &amp;#145;IBM'&lt;/P&gt;&lt;P&gt;FILENAME = P_UFILE&lt;/P&gt;&lt;P&gt;FILETYPE = 'DAT'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = INT_TAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;CONVERSION_ERROR = 1&lt;/P&gt;&lt;P&gt;FILE_OPEN_ERROR = 2&lt;/P&gt;&lt;P&gt;FILE_READ_ERROR = 3&lt;/P&gt;&lt;P&gt;INVALID_TYPE = 4&lt;/P&gt;&lt;P&gt;NO_BATCH = 5&lt;/P&gt;&lt;P&gt;UNKNOWN_ERROR = 6&lt;/P&gt;&lt;P&gt;INVALID_TABLE_WIDTH = 7&lt;/P&gt;&lt;P&gt;GUI_REFUSE_FILETRANSFER = 8&lt;/P&gt;&lt;P&gt;CUSTOMER_ERROR = 9&lt;/P&gt;&lt;P&gt;OTHERS = 10 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;MESSAGE E999(FR) WITH 'ERROR IN FILE UPLOAD'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upload file from application server to SAP R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Open the the application server file &lt;/P&gt;&lt;P&gt;OPEN DATASET &amp;lt;dsn&amp;gt; FOR INPUT &amp;lt;mode&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Read the data from application server file&lt;/P&gt;&lt;P&gt;READ DATASET &amp;lt;dsn&amp;gt; INTO &amp;lt;wa&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then close the application server file&lt;/P&gt;&lt;P&gt;CLOSE DATASET &amp;lt;dsn&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Definition- Declaring BDC Table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BDC_TAB LIKE STANDARD TABLE OF &lt;/P&gt;&lt;P&gt;BDCDATA INITIAL SIZE 6 &lt;/P&gt;&lt;P&gt;WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The internal table used to collect the transaction&amp;#146;s information must be declared &amp;#147;LIKE BDCDATA&amp;#148;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Filling BDC Table &amp;#150; Method #1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = &amp;#145;SAPMF02K&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = &amp;#145;01016&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;RF02K-LIFNR&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;TEST1&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;RF02K-D0010&amp;#146;. &lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = &amp;#145;SAPMF02K&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = &amp;#145;0110&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;LFA1-STRAS&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;123 Main St.&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;BDC_OKCODE&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;/11&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Filling BDC Table &amp;#150; Method #2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM POPULATE_BDC_TAB&lt;/P&gt;&lt;P&gt;USING:&lt;/P&gt;&lt;P&gt;&amp;#145;1&amp;#146; &amp;#145;SAPMF02K&amp;#146; &amp;#145;0106&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;RF02K-LIFNR&amp;#146; &amp;#145;TEST1&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;RF02K-D0010&amp;#146; &amp;#145;X&amp;#146;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#145;1&amp;#146; &amp;#145;SAPMF02K&amp;#146; &amp;#145;0110&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;LFA1-STRAS&amp;#146;, &amp;#145;123 Main St.&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;BDC_OKCODE&amp;#146;, &amp;#145;/11&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POPULATE_BDC_TAB USING FLAG VAR1 VAR2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;IF FLAG = &amp;#145;1&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = VAR1.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = VAR2..&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = VAR1.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = VAR2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This two subroutine method to fill the BDC table is preferable because the &amp;#147;POPULATE_BDC_TABLE&amp;#148; subroutine is reusable throughout all batch input programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example #1 - Change Vendor (Call Transaction Method)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example #1- Declaration Section&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Y180DM10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BDC_TAB LIKE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;BDCDATA INITIAL SIZE 6 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;INFILE(20) VALUE &amp;#145;/tmp/bc180_file4&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF INREC.&lt;/P&gt;&lt;P&gt;VENDNUM LIKE LFA1-LIFNR.&lt;/P&gt;&lt;P&gt;STREET LIKE LFA1-STRAS.&lt;/P&gt;&lt;P&gt;END OF INREC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: DISPMODE DEFAULT &amp;#145;A&amp;#146;,&lt;/P&gt;&lt;P&gt;UPDAMODE DEFAULT &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;OPEN DATASET INFILE&lt;/P&gt;&lt;P&gt;FOR INPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;READ DATASET INFILE INTO INREC.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE DISPMODE&lt;/P&gt;&lt;P&gt;UPDATE UPDAMODE.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;CLOSE DATASET INFILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;synchronous updating&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;&amp;#133;&amp;#133;&amp;#133;&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE &amp;#145;N&amp;#146;&lt;/P&gt;&lt;P&gt;UPDATE &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With synchronous updating, we can check SY-SUBRC to determine the success of the transaction and the actual update to the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asynchronous updating&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;&amp;#133;&amp;#133;&amp;#133;&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE &amp;#145;N&amp;#146;&lt;/P&gt;&lt;P&gt;UPDATE &amp;#145;A&amp;#146;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With asynchronous updating, we can check SY-SUBRC to determine the success of the transaction only, not the actual update to the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error Handling&lt;/P&gt;&lt;P&gt;Write an error report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Send the record(s) in error to an error file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create a batch input session with the record(s) in error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To store error messages ( CALL TRANSACTION )&lt;/P&gt;&lt;P&gt;data: begin of Tab_Mess occurs 0.&lt;/P&gt;&lt;P&gt;include structure bdcmsgcoll.&lt;/P&gt;&lt;P&gt;data : end of Tab_Mess,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146; USING BDC_TAB MODE &amp;#145;N&amp;#146; UPDATE &amp;#145;S&amp;#146; &lt;/P&gt;&lt;P&gt;MESSAGES INTO TAB_MESS.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;WRITE: / Tab_MESS-TCODE, Tab_MESS-DYNUMB, Tab_MESS-MSGTYP , &lt;/P&gt;&lt;P&gt;Tab_MESS-MSGID.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)what is the role of ABAPER in it&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;total BDC specification is given by Functional consultant , our role in BDC is to develop a program for them , max work will be done by ABAPERS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3)Could any one give some best scenario ,where we will use BDC ,nowadays with some business requirement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;suppose one client useing some non SAP system like morphis or mainframes etc..supose that client wants to change the technology to SAP then that total DATA available in that old technology must be uploaded into SAP system &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4)In real time whether they use Call transaction or session method&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;maximum they use CALL TRANSACTION &lt;/P&gt;&lt;P&gt;now a days they are useing LSMW &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7)Whether Nowadays ,are we using BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;useing but not more &lt;/P&gt;&lt;P&gt;now days they are useing LSMW also &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;reward if useful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Nov 2007 12:34:15 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-07T12:34:15Z</dc:date>
    <item>
      <title>session method program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/session-method-program/m-p/2999583#M708602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can any body help me , how to write a bdc programming using session method .&lt;/P&gt;&lt;P&gt;and can u explain me how to use bdc_insert , bdc_open , bdc_close  in session method programe.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2007 06:42:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/session-method-program/m-p/2999583#M708602</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-07T06:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: session method program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/session-method-program/m-p/2999584#M708603</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;In this method you transfer data from internal table to database table through sessions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this method, an ABAP/4 program reads the external data that is to be entered in the SAP System and stores the data in session. A session stores the actions that are required to enter your data using normal SAP transaction i.e., Data is transferred to session which in turn transfers data to database table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Session is intermediate step between internal table and database table. Data along with its action is stored in session i.e., data for screen fields, to which screen it is passed, the program name behind it, and how the next screen is processed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When the program has finished generating the session, you can run the session to execute the SAP transactions in it. You can either explicitly start and monitor a session or have the session run in the background processing system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unless session is processed, the data is not transferred to database table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC_OPEN_GROUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You create the session through program by BDC_OPEN_GROUP function. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters to this function are: &lt;/P&gt;&lt;P&gt;&amp;#149; User Name: User name &lt;/P&gt;&lt;P&gt;&amp;#149; Group: Name of the session&lt;/P&gt;&lt;P&gt;&amp;#149; Lock Date: The date on which you want to process the session.&lt;/P&gt;&lt;P&gt;&amp;#149; Keep: This parameter is passed as &amp;#145;X&amp;#146; when you want to retain session after&lt;/P&gt;&lt;P&gt;processing it or &amp;#145; &amp;#145; to delete it after processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC_INSERT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function creates the session &amp;amp; data is transferred to Session.&lt;/P&gt;&lt;P&gt;Parameters to this function are:&lt;/P&gt;&lt;P&gt;&amp;#149; Tcode: Transaction Name &lt;/P&gt;&lt;P&gt;&amp;#149; Dynprotab: BDC Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC_CLOSE_GROUP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function closes the BDC Group. No Parameters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some additional information for session processing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When the session is generated using the KEEP option within the BDC_OPEN_GROUP, the system always keeps the sessions in the queue, whether it has been processed successfully or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, if the session is processed, you have to delete it manually. When session processing is completed successfully while KEEP option was not set, it will be removed automatically from the session queue. Log is not removed for that session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the batch-input session is terminated with errors, then it appears in the list of INCORRECT session and it can be processed again. To correct incorrect session, you can analyze the session. The Analysis function allows to determine which screen and value has produced the error. If you find small errors in data, you can correct them interactively, otherwise you need to modify batch input program, which has generated the session or many times even the data file.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZSR_BDC_MADHU_SESSION&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;&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;&lt;/P&gt;&lt;P&gt;report  zsr_bdc_madhu_session.&lt;/P&gt;&lt;P&gt;parameter: p_file like rlgrap-filename default 'C:/DATA2.TXT'&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;types: begin of ff,&lt;/P&gt;&lt;P&gt;        lifnr like rf02k-lifnr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       BUKRS LIKE RF02K-BUKRS,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	 ktokk like rf02k-ktokk,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;	 ANRED LIKE LFA1-ANRED,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	 name1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;	 sortl like lfa1-sortl,&lt;/P&gt;&lt;P&gt;	 land1 like lfa1-land1,&lt;/P&gt;&lt;P&gt;        spras like lfa1-spras,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;	 KUNNR LIKE LFA1-KUNNR,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      end   of ff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: p_file1 type string,&lt;/P&gt;&lt;P&gt;      v_index type i value 1,&lt;/P&gt;&lt;P&gt;      v_index1 type i value 1,&lt;/P&gt;&lt;P&gt;      vs_count type i value 0,&lt;/P&gt;&lt;P&gt;      vf_count type i value 0,&lt;/P&gt;&lt;P&gt;      vt_count type i value 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: it_ff type ff occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: if_ff type ff occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: is_ff type ff occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: it_bdc like bdcdata occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: it_msg type bdcmsgcoll occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform generate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform bdc_insert.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform close_session.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get_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 get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_file1 = p_file.&lt;/P&gt;&lt;P&gt;  call function 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      filename                      = p_file1&lt;/P&gt;&lt;P&gt;      filetype                      = 'ASC'&lt;/P&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;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IGNORE_CERR                   = ABAP_TRUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  REPLACEMENT                   = '#'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CHECK_BOM                     = ' '&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_ff&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;endform.                    " get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  generate&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form generate .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: lv_msg(255) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_ff.&lt;/P&gt;&lt;P&gt;    perform populate using :&lt;/P&gt;&lt;P&gt;    'SAPMF02K'	'0100' 'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;P&gt;    	'' 'RF02K-LIFNR' it_ff-lifnr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'RF02K-BUKRS' it_ff-bukrs,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    	'' 'RF02K-KTOKK' it_ff-ktokk,&lt;/P&gt;&lt;P&gt;    'SAPMF02K'	'110'	'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  	'' 'LFA1-ANRED'	it_ff-anred,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    	'' 'LFA1-NAME1'	it_ff-name1,&lt;/P&gt;&lt;P&gt;    	'' 'LFA1-SORTL'	it_ff-sortl,&lt;/P&gt;&lt;P&gt;    	'' 'LFA1-LAND1'	it_ff-land1,&lt;/P&gt;&lt;P&gt;       '' 'lfa1-spras'     it_ff-spras,&lt;/P&gt;&lt;P&gt;    'SAPMF02K'	'120'	'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'LFA1-KUNNR'	it_ff-kunnr,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    'SAPMF02K'	'0130'	'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'=ENTR',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   'SAPMF02K'	'0210'	'X',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   'SAPMF02K'	'0215'	'X',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   'SAPMF02K'	'0220'	'X',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    'SAPLSPO1'	'0300'	'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'=YES'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call transaction 'XK01'&lt;/P&gt;&lt;P&gt;      using it_bdc&lt;/P&gt;&lt;P&gt;      mode   'N'&lt;/P&gt;&lt;P&gt;      update 'S'&lt;/P&gt;&lt;P&gt;      messages into it_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      read table it_ff index v_index.&lt;/P&gt;&lt;P&gt;      is_ff-lifnr = it_ff-lifnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_FF-BUKRS = IT_FF-BUKRS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      is_ff-ktokk = it_ff-ktokk.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_FF-ANRED = IT_FF-ANRED.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      is_ff-name1 = it_ff-name1.&lt;/P&gt;&lt;P&gt;      is_ff-sortl = it_ff-sortl.&lt;/P&gt;&lt;P&gt;      is_ff-land1 = it_ff-land1.&lt;/P&gt;&lt;P&gt;      is_ff-spras = it_ff-spras.&lt;/P&gt;&lt;P&gt;      append is_ff.&lt;/P&gt;&lt;P&gt;      vs_count = vs_count + 1.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      read table it_ff index v_index.&lt;/P&gt;&lt;P&gt;      if_ff-lifnr = it_ff-lifnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF_FF-BUKRS = IT_FF-BUKRS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF_FF-KTOKK = IT_FF-KTOKK.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF_FF-ANRED = IT_FF-ANRED.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if_ff-name1 = it_ff-name1.&lt;/P&gt;&lt;P&gt;      if_ff-sortl = it_ff-sortl.&lt;/P&gt;&lt;P&gt;      if_ff-land1 = it_ff-land1.&lt;/P&gt;&lt;P&gt;      if_ff-spras = it_ff-spras.&lt;/P&gt;&lt;P&gt;      append if_ff.&lt;/P&gt;&lt;P&gt;      vf_count = vf_count + 1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    v_index = v_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not it_msg[] is initial.&lt;/P&gt;&lt;P&gt;      loop at it_msg.&lt;/P&gt;&lt;P&gt;        call function 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;          exporting&lt;/P&gt;&lt;P&gt;            id        = it_msg-msgid&lt;/P&gt;&lt;P&gt;            lang      = '-D'&lt;/P&gt;&lt;P&gt;            no        = it_msg-msgnr&lt;/P&gt;&lt;P&gt;            v1        = it_msg-msgv1&lt;/P&gt;&lt;P&gt;            v2        = it_msg-msgv2&lt;/P&gt;&lt;P&gt;            v3        = it_msg-msgv3&lt;/P&gt;&lt;P&gt;            v4        = it_msg-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;          write:/ lv_msg.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    clear: it_bdc[],&lt;/P&gt;&lt;P&gt;           it_msg[].&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  vt_count = vs_count + vf_count.&lt;/P&gt;&lt;P&gt;  write:/ 'total = ' , vt_count.&lt;/P&gt;&lt;P&gt;  write:/ 'succesfully = ' , vs_count.&lt;/P&gt;&lt;P&gt;  loop at is_ff.&lt;/P&gt;&lt;P&gt;    write:/ is_ff-lifnr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IS_FF-BUKRS,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_ff-ktokk,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IS_FF-ANRED,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_ff-name1,&lt;/P&gt;&lt;P&gt;            is_ff-sortl,&lt;/P&gt;&lt;P&gt;            is_ff-land1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  is_ff-spras.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; write:/ 'Failed DATA = ' , vf_count.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at if_ff.&lt;/P&gt;&lt;P&gt;    write:/ if_ff-lifnr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF_FF-BUKRS,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          if_ff-ktokk,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF_FF-ANRED,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          if_ff-name1,&lt;/P&gt;&lt;P&gt;          if_ff-sortl,&lt;/P&gt;&lt;P&gt;          if_ff-land1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  if_ff-spras.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                    " generate&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  POPULATE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0182   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0183   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0184   text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate  using    value(p_val1)&lt;/P&gt;&lt;P&gt;                        value(p_val2)&lt;/P&gt;&lt;P&gt;                        value(p_val3).&lt;/P&gt;&lt;P&gt;  if not p_val1 is initial.&lt;/P&gt;&lt;P&gt;    it_bdc-program  = p_val1.&lt;/P&gt;&lt;P&gt;    it_bdc-dynpro   = p_val2.&lt;/P&gt;&lt;P&gt;    it_bdc-dynbegin = p_val3.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    it_bdc-fnam     = p_val2.&lt;/P&gt;&lt;P&gt;    it_bdc-fval     = p_val3.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  append it_bdc.&lt;/P&gt;&lt;P&gt;  clear  it_bdc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " POPULATE&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  close_session&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form close_session .&lt;/P&gt;&lt;P&gt;  call function 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NOT_OPEN          = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  QUEUE_ERROR       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS            = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " close_session&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_insert&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form bdc_insert .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: lv_date like sy-datum.&lt;/P&gt;&lt;P&gt;  lv_date = sy-datum - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;P&gt;     client                    = sy-mandt&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DEST                      = FILLER8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     group                     = 'ZSR'&lt;/P&gt;&lt;P&gt;     holddate                  = lv_date&lt;/P&gt;&lt;P&gt;     keep                      = 'X'&lt;/P&gt;&lt;P&gt;     user                      = sy-uname&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    RECORD                    = FILLER1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PROG                      = SY-CPROG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    QID                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CLIENT_INVALID            = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DESTINATION_INVALID       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    GROUP_INVALID             = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    GROUP_IS_LOCKED           = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    HOLDDATE_INVALID          = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    INTERNAL_ERROR            = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    QUEUE_ERROR               = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    RUNNING                   = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    SYSTEM_LOCK_ERROR         = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USER_INVALID              = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                    = 11&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at if_ff.&lt;/P&gt;&lt;P&gt;      perform populate using :&lt;/P&gt;&lt;P&gt;    'SAPMF02K'	'0100'	'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;P&gt;    	'' 'RF02K-LIFNR' if_ff-lifnr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'RF02K-BUKRS' if_ff-bukrs,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    	'' 'RF02K-KTOKK' if_ff-ktokk,&lt;/P&gt;&lt;P&gt;    'SAPMF02K'	'0110'	'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'LFA1-ANRED'	if_ff-anred,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    	'' 'LFA1-NAME1'	if_ff-name1,&lt;/P&gt;&lt;P&gt;    	'' 'LFA1-SORTL'	if_ff-sortl,&lt;/P&gt;&lt;P&gt;    	'' 'LFA1-LAND1'	if_ff-land1,&lt;/P&gt;&lt;P&gt;    'SAPMF02K'	'0120'	'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'LFA1-KUNNR'	if_ff-kunnr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   'SAPMF02K'	'0130'	'X',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'BDC_OKCODE'	'=ENTR',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   'SAPMF02K'	'0210'	'X',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   'SAPMF02K'	'0215'	'X',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   'SAPMF02K'	'0220'	'X',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   	'' 'BDC_OKCODE'	'/00',&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    'SAPLSPO1'	'0300'	'X',&lt;/P&gt;&lt;P&gt;    	'' 'BDC_OKCODE'	'=YES'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      call function 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;     exporting&lt;/P&gt;&lt;P&gt;       tcode                  = 'XK01'&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_bdc.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTERNAL_ERROR         = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NOT_OPEN               = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  QUEUE_ERROR            = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TCODE_INVALID          = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRINTING_INVALID       = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POSTING_INVALID        = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                 = 7&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      .&lt;/P&gt;&lt;P&gt;      clear it_bdc[].&lt;/P&gt;&lt;P&gt;      if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " bdc_insert&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2007 10:17:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/session-method-program/m-p/2999584#M708603</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-07T10:17:08Z</dc:date>
    </item>
    <item>
      <title>Re: session method program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/session-method-program/m-p/2999585#M708604</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;1)Could any one give in steps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Transaction Recorder (SHDB) &lt;/P&gt;&lt;P&gt;How to Upload Presentation Server Flat file to SAP R/3 system???&lt;/P&gt;&lt;P&gt;How to upload application server file to R/3 system?&lt;/P&gt;&lt;P&gt;Definition&lt;/P&gt;&lt;P&gt;Example - Call Transaction Method &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Transaction Recorder (SHDB)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Before you work with the Batch Input methods, you should know the purpose of the tool&lt;/P&gt;&lt;P&gt;Transaction Recorder.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use:&lt;/P&gt;&lt;P&gt;You can use the transaction recorder to record a series of transactions and their screens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Features:&lt;/P&gt;&lt;P&gt;You can use the recording to create&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data transfer programs that use batch input or CALL TRANSACTION &lt;/P&gt;&lt;P&gt;Batch input sessions &lt;/P&gt;&lt;P&gt;Test data &lt;/P&gt;&lt;P&gt;Function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: It doesn&amp;#146;t record F1, F4 and Scrollbar movements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upload Flat file from Presentation Server to SAP R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION &amp;#145;GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CODEPAGE = &amp;#145;IBM'&lt;/P&gt;&lt;P&gt;FILENAME = P_UFILE&lt;/P&gt;&lt;P&gt;FILETYPE = 'DAT'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = INT_TAB&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;CONVERSION_ERROR = 1&lt;/P&gt;&lt;P&gt;FILE_OPEN_ERROR = 2&lt;/P&gt;&lt;P&gt;FILE_READ_ERROR = 3&lt;/P&gt;&lt;P&gt;INVALID_TYPE = 4&lt;/P&gt;&lt;P&gt;NO_BATCH = 5&lt;/P&gt;&lt;P&gt;UNKNOWN_ERROR = 6&lt;/P&gt;&lt;P&gt;INVALID_TABLE_WIDTH = 7&lt;/P&gt;&lt;P&gt;GUI_REFUSE_FILETRANSFER = 8&lt;/P&gt;&lt;P&gt;CUSTOMER_ERROR = 9&lt;/P&gt;&lt;P&gt;OTHERS = 10 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;MESSAGE E999(FR) WITH 'ERROR IN FILE UPLOAD'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upload file from application server to SAP R/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Open the the application server file &lt;/P&gt;&lt;P&gt;OPEN DATASET &amp;lt;dsn&amp;gt; FOR INPUT &amp;lt;mode&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Read the data from application server file&lt;/P&gt;&lt;P&gt;READ DATASET &amp;lt;dsn&amp;gt; INTO &amp;lt;wa&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then close the application server file&lt;/P&gt;&lt;P&gt;CLOSE DATASET &amp;lt;dsn&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Definition- Declaring BDC Table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BDC_TAB LIKE STANDARD TABLE OF &lt;/P&gt;&lt;P&gt;BDCDATA INITIAL SIZE 6 &lt;/P&gt;&lt;P&gt;WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The internal table used to collect the transaction&amp;#146;s information must be declared &amp;#147;LIKE BDCDATA&amp;#148;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Filling BDC Table &amp;#150; Method #1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = &amp;#145;SAPMF02K&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = &amp;#145;01016&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;RF02K-LIFNR&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;TEST1&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;RF02K-D0010&amp;#146;. &lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = &amp;#145;SAPMF02K&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = &amp;#145;0110&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;LFA1-STRAS&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;123 Main St.&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = &amp;#145;BDC_OKCODE&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = &amp;#145;/11&amp;#146;.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Filling BDC Table &amp;#150; Method #2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM POPULATE_BDC_TAB&lt;/P&gt;&lt;P&gt;USING:&lt;/P&gt;&lt;P&gt;&amp;#145;1&amp;#146; &amp;#145;SAPMF02K&amp;#146; &amp;#145;0106&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;RF02K-LIFNR&amp;#146; &amp;#145;TEST1&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;RF02K-D0010&amp;#146; &amp;#145;X&amp;#146;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#145;1&amp;#146; &amp;#145;SAPMF02K&amp;#146; &amp;#145;0110&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;LFA1-STRAS&amp;#146;, &amp;#145;123 Main St.&amp;#146;,&lt;/P&gt;&lt;P&gt;&amp;#145; &amp;#145; &amp;#145;BDC_OKCODE&amp;#146;, &amp;#145;/11&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POPULATE_BDC_TAB USING FLAG VAR1 VAR2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;IF FLAG = &amp;#145;1&amp;#146;.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = VAR1.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = VAR2..&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = &amp;#145;X&amp;#146;.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = VAR1.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = VAR2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This two subroutine method to fill the BDC table is preferable because the &amp;#147;POPULATE_BDC_TABLE&amp;#148; subroutine is reusable throughout all batch input programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example #1 - Change Vendor (Call Transaction Method)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example #1- Declaration Section&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Y180DM10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BDC_TAB LIKE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;BDCDATA INITIAL SIZE 6 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;INFILE(20) VALUE &amp;#145;/tmp/bc180_file4&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF INREC.&lt;/P&gt;&lt;P&gt;VENDNUM LIKE LFA1-LIFNR.&lt;/P&gt;&lt;P&gt;STREET LIKE LFA1-STRAS.&lt;/P&gt;&lt;P&gt;END OF INREC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: DISPMODE DEFAULT &amp;#145;A&amp;#146;,&lt;/P&gt;&lt;P&gt;UPDAMODE DEFAULT &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;OPEN DATASET INFILE&lt;/P&gt;&lt;P&gt;FOR INPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;READ DATASET INFILE INTO INREC.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE DISPMODE&lt;/P&gt;&lt;P&gt;UPDATE UPDAMODE.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;CLOSE DATASET INFILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;synchronous updating&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;&amp;#133;&amp;#133;&amp;#133;&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE &amp;#145;N&amp;#146;&lt;/P&gt;&lt;P&gt;UPDATE &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With synchronous updating, we can check SY-SUBRC to determine the success of the transaction and the actual update to the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asynchronous updating&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;&amp;#133;&amp;#133;&amp;#133;&lt;/P&gt;&lt;P&gt;PERFORM FILL_BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146;&lt;/P&gt;&lt;P&gt;USING BDC_TAB&lt;/P&gt;&lt;P&gt;MODE &amp;#145;N&amp;#146;&lt;/P&gt;&lt;P&gt;UPDATE &amp;#145;A&amp;#146;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt; &amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: /&amp;#145;ERROR&amp;#146;. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With asynchronous updating, we can check SY-SUBRC to determine the success of the transaction only, not the actual update to the database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error Handling&lt;/P&gt;&lt;P&gt;Write an error report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Send the record(s) in error to an error file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create a batch input session with the record(s) in error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To store error messages ( CALL TRANSACTION )&lt;/P&gt;&lt;P&gt;data: begin of Tab_Mess occurs 0.&lt;/P&gt;&lt;P&gt;include structure bdcmsgcoll.&lt;/P&gt;&lt;P&gt;data : end of Tab_Mess,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION &amp;#145;FK02&amp;#146; USING BDC_TAB MODE &amp;#145;N&amp;#146; UPDATE &amp;#145;S&amp;#146; &lt;/P&gt;&lt;P&gt;MESSAGES INTO TAB_MESS.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;WRITE: / Tab_MESS-TCODE, Tab_MESS-DYNUMB, Tab_MESS-MSGTYP , &lt;/P&gt;&lt;P&gt;Tab_MESS-MSGID.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)what is the role of ABAPER in it&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;total BDC specification is given by Functional consultant , our role in BDC is to develop a program for them , max work will be done by ABAPERS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3)Could any one give some best scenario ,where we will use BDC ,nowadays with some business requirement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;suppose one client useing some non SAP system like morphis or mainframes etc..supose that client wants to change the technology to SAP then that total DATA available in that old technology must be uploaded into SAP system &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4)In real time whether they use Call transaction or session method&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;maximum they use CALL TRANSACTION &lt;/P&gt;&lt;P&gt;now a days they are useing LSMW &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7)Whether Nowadays ,are we using BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;useing but not more &lt;/P&gt;&lt;P&gt;now days they are useing LSMW also &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;reward if useful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2007 12:34:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/session-method-program/m-p/2999585#M708604</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-07T12:34:15Z</dc:date>
    </item>
  </channel>
</rss>

