<?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: Sessions method Vs Call Transaction in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682889#M886845</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello surendranath,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Call transcation can handle only one Transcation and &lt;/P&gt;&lt;P&gt;Session method can handle 2 transcation codes a a time. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here i will provide you a sample code for MK01 using Session method. What u have to do for multiple transcation is you can to create  &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;*&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; PURPOSE : This BDC report is used to upload all the vendor master&lt;/P&gt;&lt;P&gt;*&amp;amp; data in to SAP using SESSION METHOD with handling the errors&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 Y035_SESSION_METHOD&lt;/P&gt;&lt;P&gt;no standard page heading line-size 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Structure declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Structure Declaration for source internal table&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF TY_UPLOAD,&lt;/P&gt;&lt;P&gt;LIFNR TYPE RF02K-LIFNR,&lt;/P&gt;&lt;P&gt;EKORG TYPE RF02K-EKORG,&lt;/P&gt;&lt;P&gt;KTOKK TYPE RF02K-KTOKK,&lt;/P&gt;&lt;P&gt;NAME1 TYPE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;SORTL TYPE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;LAND1 TYPE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;SPRAS TYPE LFA1-SPRAS,&lt;/P&gt;&lt;P&gt;WAERS TYPE LFM1-WAERS,&lt;/P&gt;&lt;P&gt;END OF TY_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Internal Table declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*Internal Table Declaration for source table&lt;/P&gt;&lt;P&gt;DATA : T_UPLOAD TYPE STANDARD TABLE OF TY_UPLOAD INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table Declaration for bdcdata&lt;/P&gt;&lt;P&gt;T_BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal table declaration for BDCMSGCOLL (To handle the errors)&lt;/P&gt;&lt;P&gt;T_BDCMSG TYPE STANDARD TABLE OF BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal table declaration for reprocess the errors&lt;/P&gt;&lt;P&gt;T_ERRORS TYPE STANDARD TABLE OF TY_UPLOAD INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Workarea declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work area delaration for source table&lt;/P&gt;&lt;P&gt;W_UPLOAD TYPE TY_UPLOAD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work area delaration for bdcdata&lt;/P&gt;&lt;P&gt;W_BDCDATA TYPE BDCDATA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work area delaration for BDCMSGCOLL&lt;/P&gt;&lt;P&gt;W_BDCMSG TYPE BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Selection screen declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selection Screen declaration&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_FLNAME TYPE FILENAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Start of selection declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Start of selection declaration&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Upload the data&lt;/P&gt;&lt;P&gt;PERFORM SUB_UPLOAD_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Populate the BDC data&lt;/P&gt;&lt;P&gt;PERFORM SUB_POPULATE_BDC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Process the error records&lt;/P&gt;&lt;P&gt;PERFORM SUB_ERROR_RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*include bdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form SUB_UPLOAD_DATA&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This subroutine is used to upload the data &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM SUB_UPLOAD_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : L_FLNAME TYPE STRING.&lt;/P&gt;&lt;P&gt;L_FLNAME = P_FLNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILENAME = L_FLNAME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FILETYPE = 'ASC' &lt;/P&gt;&lt;P&gt;HAS_FIELD_SEPARATOR = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = T_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " SUB_UPLOAD_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form SUB_POPULATE_BDC&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This subroutine is used to populate the BDC data &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM SUB_POPULATE_BDC .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : L_MSG TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To oper a sesion in SE35&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 = 'MAMA_SESSION'&lt;/P&gt;&lt;P&gt;USER = SY-UNAME&lt;/P&gt;&lt;P&gt;KEEP = 'X'&lt;/P&gt;&lt;P&gt;HOLDDATE = '20080129'&lt;/P&gt;&lt;P&gt;PROG = SY-CPROG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_UPLOAD INTO W_UPLOAD.&lt;/P&gt;&lt;P&gt;REFRESH T_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0107'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'RF02K-KTOKK'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RF02K-LIFNR' W_UPLOAD-LIFNR.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RF02K-EKORG' W_UPLOAD-EKORG.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RF02K-KTOKK' W_UPLOAD-KTOKK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0110'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'LFA1-SPRAS'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFA1-NAME1' W_UPLOAD-NAME1.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFA1-SORTL' W_UPLOAD-SORTL.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFA1-LAND1' W_UPLOAD-LAND1.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFA1-SPRAS' W_UPLOAD-SPRAS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0120'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'LFA1-KUNNR'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0310'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'LFM1-WAERS'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFM1-WAERS' W_UPLOAD-WAERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0320'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'RF02K-LIFNR'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '=ENTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLSPO1' '0300'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '=YES'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Transfer data to the session...Here u have to call this function *module BDC_INSERT again to use another T code say MM01 *and provide its name in parameter TCODE = MM01, here u &lt;STRONG&gt;have to create another structure, internal tables for MM01&lt;/STRONG&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 = 'MK01'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;dynprotab = T_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;*To close the session&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;ENDFORM. " SUB_POPULATE_BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start new screen * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&lt;/P&gt;&lt;P&gt;CLEAR W_BDCDATA.&lt;/P&gt;&lt;P&gt;W_BDCDATA-PROGRAM = PROGRAM.&lt;/P&gt;&lt;P&gt;W_BDCDATA-DYNPRO = DYNPRO.&lt;/P&gt;&lt;P&gt;W_BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;APPEND W_BDCDATA TO T_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Insert field * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;CLEAR W_BDCDATA.&lt;/P&gt;&lt;P&gt;W_BDCDATA-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;W_BDCDATA-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;APPEND W_BDCDATA TO T_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form SUB_ERROR_RECORD&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This subroutine is used to process the error records &lt;/P&gt;&lt;P&gt;in to a file T_ERRORS &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM SUB_ERROR_RECORD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILENAME = 'C:\MAMA_ERRORS.TXT'&lt;/P&gt;&lt;P&gt;WRITE_FIELD_SEPARATOR = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = T_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " SUB_ERROR_RECORD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************This is the way we work with muliple transcation codes **********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We need to create Structure, Internal table, Work area for  every corresponding Transaction Code.&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;P&gt;GROUP = 'ERROR'&lt;/P&gt;&lt;P&gt;KEEP = 'X'&lt;/P&gt;&lt;P&gt;USER = SY-UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TCODE = 'MK01'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = I_BDCDATA1 .&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 = 'MM01'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = I_BDCDATA2 .&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 = 'Tcode3'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = I_BDCDATA3 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope the Explonation and information I had provided will resolve your issue. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if information is Helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Krishna Chaitanya&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Krishna Chaitanya on Apr 7, 2008 5:21 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 07 Apr 2008 03:20:25 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-07T03:20:25Z</dc:date>
    <item>
      <title>Sessions method Vs Call Transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682886#M886842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please clarify me whether Sessions / Call transaction methods supports multiple transactions, If possible, how ???&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;Suren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 06 Apr 2008 11:21:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682886#M886842</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-06T11:21:59Z</dc:date>
    </item>
    <item>
      <title>Re: Sessions method Vs Call Transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682887#M886843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;create 2 recordings, call one first then when complete, you can call another. Is that simple.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Open BDC session.&lt;/P&gt;&lt;P&gt;BDC session 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;  All BDc screens &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call transaction using 'VA01'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC session 2.&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;  All BDC screens.&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;call transaction using 'VL01N'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;close bdc session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andrew&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 06 Apr 2008 13:27:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682887#M886843</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-06T13:27:23Z</dc:date>
    </item>
    <item>
      <title>Re: Sessions method Vs Call Transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682888#M886844</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;The Session Method allows multiple transactions to be processed but CALL TRANSACTION method allows only a single transaction to be processed by SAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We need to create each structure, Internal table. work area for every transaction.&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;P&gt; GROUP = 'ERROR'&lt;/P&gt;&lt;P&gt; KEEP = 'X'&lt;/P&gt;&lt;P&gt; USER = SY-UNAME.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;  TCODE = 'Tcode1'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;  DYNPROTAB = I_BDCDATA1 .&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 = 'Tcode2'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;  DYNPROTAB = I_BDCDATA2 .&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 = 'Tcode3'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;  DYNPROTAB = I_BDCDATA3 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the way to work with multiple transcations in Session method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ranjith.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 06 Apr 2008 20:59:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682888#M886844</guid>
      <dc:creator>former_member297642</dc:creator>
      <dc:date>2008-04-06T20:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: Sessions method Vs Call Transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682889#M886845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello surendranath,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Call transcation can handle only one Transcation and &lt;/P&gt;&lt;P&gt;Session method can handle 2 transcation codes a a time. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here i will provide you a sample code for MK01 using Session method. What u have to do for multiple transcation is you can to create  &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;*&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; PURPOSE : This BDC report is used to upload all the vendor master&lt;/P&gt;&lt;P&gt;*&amp;amp; data in to SAP using SESSION METHOD with handling the errors&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 Y035_SESSION_METHOD&lt;/P&gt;&lt;P&gt;no standard page heading line-size 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Structure declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Structure Declaration for source internal table&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF TY_UPLOAD,&lt;/P&gt;&lt;P&gt;LIFNR TYPE RF02K-LIFNR,&lt;/P&gt;&lt;P&gt;EKORG TYPE RF02K-EKORG,&lt;/P&gt;&lt;P&gt;KTOKK TYPE RF02K-KTOKK,&lt;/P&gt;&lt;P&gt;NAME1 TYPE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;SORTL TYPE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;LAND1 TYPE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;SPRAS TYPE LFA1-SPRAS,&lt;/P&gt;&lt;P&gt;WAERS TYPE LFM1-WAERS,&lt;/P&gt;&lt;P&gt;END OF TY_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Internal Table declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*Internal Table Declaration for source table&lt;/P&gt;&lt;P&gt;DATA : T_UPLOAD TYPE STANDARD TABLE OF TY_UPLOAD INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table Declaration for bdcdata&lt;/P&gt;&lt;P&gt;T_BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal table declaration for BDCMSGCOLL (To handle the errors)&lt;/P&gt;&lt;P&gt;T_BDCMSG TYPE STANDARD TABLE OF BDCMSGCOLL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal table declaration for reprocess the errors&lt;/P&gt;&lt;P&gt;T_ERRORS TYPE STANDARD TABLE OF TY_UPLOAD INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Workarea declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work area delaration for source table&lt;/P&gt;&lt;P&gt;W_UPLOAD TYPE TY_UPLOAD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work area delaration for bdcdata&lt;/P&gt;&lt;P&gt;W_BDCDATA TYPE BDCDATA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Work area delaration for BDCMSGCOLL&lt;/P&gt;&lt;P&gt;W_BDCMSG TYPE BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Selection screen declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selection Screen declaration&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_FLNAME TYPE FILENAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Start of selection declaration&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Start of selection declaration&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Upload the data&lt;/P&gt;&lt;P&gt;PERFORM SUB_UPLOAD_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Populate the BDC data&lt;/P&gt;&lt;P&gt;PERFORM SUB_POPULATE_BDC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Process the error records&lt;/P&gt;&lt;P&gt;PERFORM SUB_ERROR_RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*include bdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form SUB_UPLOAD_DATA&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This subroutine is used to upload the data &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM SUB_UPLOAD_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : L_FLNAME TYPE STRING.&lt;/P&gt;&lt;P&gt;L_FLNAME = P_FLNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILENAME = L_FLNAME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FILETYPE = 'ASC' &lt;/P&gt;&lt;P&gt;HAS_FIELD_SEPARATOR = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = T_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " SUB_UPLOAD_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form SUB_POPULATE_BDC&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This subroutine is used to populate the BDC data &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM SUB_POPULATE_BDC .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : L_MSG TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To oper a sesion in SE35&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 = 'MAMA_SESSION'&lt;/P&gt;&lt;P&gt;USER = SY-UNAME&lt;/P&gt;&lt;P&gt;KEEP = 'X'&lt;/P&gt;&lt;P&gt;HOLDDATE = '20080129'&lt;/P&gt;&lt;P&gt;PROG = SY-CPROG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_UPLOAD INTO W_UPLOAD.&lt;/P&gt;&lt;P&gt;REFRESH T_BDCDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0107'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'RF02K-KTOKK'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RF02K-LIFNR' W_UPLOAD-LIFNR.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RF02K-EKORG' W_UPLOAD-EKORG.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'RF02K-KTOKK' W_UPLOAD-KTOKK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0110'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'LFA1-SPRAS'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFA1-NAME1' W_UPLOAD-NAME1.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFA1-SORTL' W_UPLOAD-SORTL.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFA1-LAND1' W_UPLOAD-LAND1.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFA1-SPRAS' W_UPLOAD-SPRAS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0120'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'LFA1-KUNNR'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0310'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'LFM1-WAERS'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'LFM1-WAERS' W_UPLOAD-WAERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPMF02K' '0320'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR' 'RF02K-LIFNR'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '=ENTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLSPO1' '0300'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE' '=YES'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Transfer data to the session...Here u have to call this function *module BDC_INSERT again to use another T code say MM01 *and provide its name in parameter TCODE = MM01, here u &lt;STRONG&gt;have to create another structure, internal tables for MM01&lt;/STRONG&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 = 'MK01'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;dynprotab = T_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;*To close the session&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;ENDFORM. " SUB_POPULATE_BDC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start new screen * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM BDC_DYNPRO USING PROGRAM DYNPRO.&lt;/P&gt;&lt;P&gt;CLEAR W_BDCDATA.&lt;/P&gt;&lt;P&gt;W_BDCDATA-PROGRAM = PROGRAM.&lt;/P&gt;&lt;P&gt;W_BDCDATA-DYNPRO = DYNPRO.&lt;/P&gt;&lt;P&gt;W_BDCDATA-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;APPEND W_BDCDATA TO T_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Insert field * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM BDC_FIELD USING FNAM FVAL.&lt;/P&gt;&lt;P&gt;CLEAR W_BDCDATA.&lt;/P&gt;&lt;P&gt;W_BDCDATA-FNAM = FNAM.&lt;/P&gt;&lt;P&gt;W_BDCDATA-FVAL = FVAL.&lt;/P&gt;&lt;P&gt;APPEND W_BDCDATA TO T_BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form SUB_ERROR_RECORD&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This subroutine is used to process the error records &lt;/P&gt;&lt;P&gt;in to a file T_ERRORS &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM SUB_ERROR_RECORD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILENAME = 'C:\MAMA_ERRORS.TXT'&lt;/P&gt;&lt;P&gt;WRITE_FIELD_SEPARATOR = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DATA_TAB = T_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " SUB_ERROR_RECORD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************This is the way we work with muliple transcation codes **********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We need to create Structure, Internal table, Work area for  every corresponding Transaction Code.&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;P&gt;GROUP = 'ERROR'&lt;/P&gt;&lt;P&gt;KEEP = 'X'&lt;/P&gt;&lt;P&gt;USER = SY-UNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TCODE = 'MK01'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = I_BDCDATA1 .&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 = 'MM01'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = I_BDCDATA2 .&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 = 'Tcode3'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = I_BDCDATA3 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope the Explonation and information I had provided will resolve your issue. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if information is Helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Krishna Chaitanya&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Krishna Chaitanya on Apr 7, 2008 5:21 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Apr 2008 03:20:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682889#M886845</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-07T03:20:25Z</dc:date>
    </item>
    <item>
      <title>Re: Sessions method Vs Call Transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682890#M886846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    It is possible by session method.&lt;/P&gt;&lt;P&gt;Check the below sample program that how to handle multple transactions.&lt;/P&gt;&lt;P&gt;REPORT zra_gl_cr NO STANDARD PAGE HEADING LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: truxs.&lt;/P&gt;&lt;P&gt;DATA: it_raw TYPE truxs_t_text_data.&lt;/P&gt;&lt;P&gt;DATA:messtab1 LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF i_mess OCCURS 0,&lt;/P&gt;&lt;P&gt;l_mstring(480),&lt;/P&gt;&lt;P&gt;msgnr(5),&lt;/P&gt;&lt;P&gt;msgv1(15),&lt;/P&gt;&lt;P&gt;END OF i_mess.&lt;/P&gt;&lt;P&gt;DATA:i_mess1 LIKE i_mess OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: l_mstring(480),l_mstring1(480).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_itab OCCURS 0,&lt;/P&gt;&lt;P&gt;saknr(10), "G/L a/c number.&lt;/P&gt;&lt;P&gt;bukrs(4), "Company Code.&lt;/P&gt;&lt;P&gt;ktoks(4), "G/L a/c group.&lt;/P&gt;&lt;P&gt;xplacct(1), "P&amp;amp;L statement account.&lt;/P&gt;&lt;P&gt;xbilk(1), "Balance sheet account.&lt;/P&gt;&lt;P&gt;txt20_ml(20), "G/L a/c short text.&lt;/P&gt;&lt;P&gt;txt50_ml(50), "G/L a/c long text.&lt;/P&gt;&lt;P&gt;waers(5), "Account currency.&lt;/P&gt;&lt;P&gt;MWSKZ(2),&lt;/P&gt;&lt;P&gt;mitkz(1), "Reconciliation a/c for a/c type.&lt;/P&gt;&lt;P&gt;xopvw(1), "Open item management&lt;/P&gt;&lt;P&gt;xkres(1), "Line item display.&lt;/P&gt;&lt;P&gt;zuawa(3), "Sort Key.&lt;/P&gt;&lt;P&gt;fstag(4), "Field status group.&lt;/P&gt;&lt;P&gt;xintb(1), "Post automatically only.&lt;/P&gt;&lt;P&gt;hbkid(5), "House bank.&lt;/P&gt;&lt;P&gt;hktid(5), "Account id.&lt;/P&gt;&lt;P&gt;vzskz(2), "Interest indicator&lt;/P&gt;&lt;P&gt;END OF it_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: hdate LIKE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(15) text-103. " FOR FIELD P_FILE1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 25.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_file1 LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform file_selection will help to select the location of the file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM file_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;Perform data_upload will help to upload the data from the flat file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to the internal table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM data_upload.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM open_group.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Peform bdc_upload will help to upload the data from the internal&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table into its respective fields.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_fspo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM bdc_upload.&lt;/P&gt;&lt;P&gt;PERFORM exp_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM close_group.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform display_log will prepare a log for the data that has been&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;uploaded&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM display_log.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM file_selection .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;def_filename = ' '&lt;/P&gt;&lt;P&gt;def_path = 'C:\'&lt;/P&gt;&lt;P&gt;mask = ',&lt;STRONG&gt;.txt,&lt;/STRONG&gt;.xls.'&lt;/P&gt;&lt;P&gt;mode = 'O'&lt;/P&gt;&lt;P&gt;title = 'Open a excel file'&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;filename = p_file1&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;inv_winsys = 1&lt;/P&gt;&lt;P&gt;no_batch = 2&lt;/P&gt;&lt;P&gt;selection_cancel = 3&lt;/P&gt;&lt;P&gt;selection_error = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " file_selection&lt;/P&gt;&lt;P&gt;FORM data_upload .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_FIELD_SEPERATOR =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_line_header = 'X'&lt;/P&gt;&lt;P&gt;i_tab_raw_data = it_raw&lt;/P&gt;&lt;P&gt;i_filename = p_file1&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;i_tab_converted_data = it_itab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_failed = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " data_upload&lt;/P&gt;&lt;P&gt;FORM bdc_upload .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=ACC_CRE'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_KEY-SAKNR'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_KEY-SAKNR'&lt;/P&gt;&lt;P&gt;it_itab-SAKNR.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_KEY-BUKRS'&lt;/P&gt;&lt;P&gt;it_itab-BUKRS.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=2102_GROUP'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-KTOKS'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'&lt;/P&gt;&lt;P&gt;it_itab-KTOKS.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-XPLACCT'&lt;/P&gt;&lt;P&gt;it_itab-XPLACCT.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=2102_BS_PL'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-XBILK'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'&lt;/P&gt;&lt;P&gt;it_itab-KTOKS.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-XPLACCT'&lt;/P&gt;&lt;P&gt;it_itab-XPLACCT.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-XBILK'&lt;/P&gt;&lt;P&gt;it_itab-XBILK.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=ENTER'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'&lt;/P&gt;&lt;P&gt;it_itab-KTOKS.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-XBILK'&lt;/P&gt;&lt;P&gt;it_itab-XBILK.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-TXT20_ML'&lt;/P&gt;&lt;P&gt;it_itab-TXT20_ML.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-TXT50_ML'&lt;/P&gt;&lt;P&gt;it_itab-TXT50_ML.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-BILKT'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-BILKT'&lt;/P&gt;&lt;P&gt;it_itab-saknr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=TAB02'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-KTOKS'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-KTOKS'&lt;/P&gt;&lt;P&gt;it_itab-ktoks.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-TXT20_ML'&lt;/P&gt;&lt;P&gt;it_itab-txt20_ml.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-TXT50_ML'&lt;/P&gt;&lt;P&gt;it_itab-txt50_ml.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-BILKT'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-BILKT'&lt;/P&gt;&lt;P&gt;it_itab-saknr.&lt;/P&gt;&lt;P&gt;****&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=TAB02'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-KTOKS'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'&lt;/P&gt;&lt;P&gt;it_itab-KTOKS.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-KTOKS'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'&lt;/P&gt;&lt;P&gt;it_itab-KTOKS.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-XBILK'&lt;/P&gt;&lt;P&gt;it_itab-XBILK.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-TXT20_ML'&lt;/P&gt;&lt;P&gt;it_itab-TXT20_ML.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-TXT50_ML'&lt;/P&gt;&lt;P&gt;it_itab-TXT50_ML.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_COA-BILKT'&lt;/P&gt;&lt;P&gt;it_itab-saknr.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=ENTER'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-WAERS'&lt;/P&gt;&lt;P&gt;it_itab-waers.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-MWSKZ'&lt;/P&gt;&lt;P&gt;it_itab-MWSKZ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-MITKZ'&lt;/P&gt;&lt;P&gt;it_itab-mitkz.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_CCODE-XOPVW'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-XOPVW'&lt;/P&gt;&lt;P&gt;it_itab-XOPVW.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-XKRES'&lt;/P&gt;&lt;P&gt;it_itab-XKRES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-ZUAWA'&lt;/P&gt;&lt;P&gt;it_itab-ZUAWA.&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;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XPLACCT'&lt;/P&gt;&lt;P&gt;it_itab-xplacct.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XBILK'&lt;/P&gt;&lt;P&gt;it_itab-xbilk.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF it_itab-xbilk = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'=TAB03'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'GLACCOUNT_SCREEN_CCODE-WAERS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-WAERS'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-waers.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-XOPVW'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-xopvw.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-MITKZ'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-mitkz.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-XKRES'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-xkres.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-ZUAWA'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-zuawa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'=SAVE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'GLACCOUNT_SCREEN_CCODE-FSTAG'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-FSTAG'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-fstag.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-XINTB'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-xintb.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-HBKID'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-hbkid.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-HKTID'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-hktid.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-VZSKZ'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_itab-vzskz.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=TAB03'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_CCODE-WAERS'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-WAERS'&lt;/P&gt;&lt;P&gt;it_itab-WAERS.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-MWSKZ'&lt;/P&gt;&lt;P&gt;it_itab-MWSKZ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-MITKZ'&lt;/P&gt;&lt;P&gt;it_itab-MITKZ.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-ZUAWA'&lt;/P&gt;&lt;P&gt;it_itab-ZUAWA.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=ENTER'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_CCODE-FSTAG'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-FSTAG'&lt;/P&gt;&lt;P&gt;it_itab-FSTAG.&lt;/P&gt;&lt;P&gt;perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=SAVE'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_CCODE-FSTAG'.&lt;/P&gt;&lt;P&gt;perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-FSTAG'&lt;/P&gt;&lt;P&gt;it_itab-FSTAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM bdc_transaction USING 'FS00'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL TRANSACTION 'FS00' USING bdcdata MODE 'A'&lt;/P&gt;&lt;P&gt;UPDATE 'S'&lt;/P&gt;&lt;P&gt;MESSAGES INTO messtab1.&lt;/P&gt;&lt;P&gt;PERFORM mess1.&lt;/P&gt;&lt;P&gt;REFRESH bdcdata[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " bdc_upload&lt;/P&gt;&lt;P&gt;FORM bdc_fspo .&lt;/P&gt;&lt;P&gt;LOOP AT it_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=ACC_CRE'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_KEY-SAKNR'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_KEY-SAKNR'&lt;/P&gt;&lt;P&gt;it_itab-saknr.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_KEY-KTOPL'&lt;/P&gt;&lt;P&gt;'1000'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=2102_GROUP'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-KTOKS'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-KTOKS'&lt;/P&gt;&lt;P&gt;it_itab-ktoks.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XPLACCT'&lt;/P&gt;&lt;P&gt;it_itab-xplacct.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XBILK'&lt;/P&gt;&lt;P&gt;it_itab-xbilk.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=SAVE'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-KTOKS'&lt;/P&gt;&lt;P&gt;it_itab-ktoks.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XPLACCT'&lt;/P&gt;&lt;P&gt;it_itab-xplacct.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'GLACCOUNT_SCREEN_COA-TXT50_ML'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-TXT20_ML'&lt;/P&gt;&lt;P&gt;it_itab-txt20_ml.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-TXT50_ML'&lt;/P&gt;&lt;P&gt;it_itab-txt50_ml.&lt;/P&gt;&lt;P&gt;*perform bdc_transaction using 'FSP0'.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'FSP0' USING bdcdata MODE 'A'&lt;/P&gt;&lt;P&gt;UPDATE 'S'&lt;/P&gt;&lt;P&gt;MESSAGES INTO messtab.&lt;/P&gt;&lt;P&gt;PERFORM mess.&lt;/P&gt;&lt;P&gt;REFRESH bdcdata[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM. " bdc_fspo&lt;/P&gt;&lt;P&gt;FORM mess . "fsp0&lt;/P&gt;&lt;P&gt;LOOP AT messtab.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;id = messtab-msgid&lt;/P&gt;&lt;P&gt;lang = messtab-msgspra&lt;/P&gt;&lt;P&gt;no = messtab-msgnr&lt;/P&gt;&lt;P&gt;v1 = messtab-msgv1&lt;/P&gt;&lt;P&gt;v2 = messtab-msgv2&lt;/P&gt;&lt;P&gt;v3 = messtab-msgv3&lt;/P&gt;&lt;P&gt;v4 = messtab-msgv4&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;msg = l_mstring&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;CONDENSE l_mstring.&lt;/P&gt;&lt;P&gt;i_mess1-l_mstring = l_mstring(250).&lt;/P&gt;&lt;P&gt;i_mess1-msgnr = messtab1-msgnr.&lt;/P&gt;&lt;P&gt;i_mess1-msgv1 = messtab1-msgv1.&lt;/P&gt;&lt;P&gt;APPEND i_mess1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " mess&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM mess1 . "fs00&lt;/P&gt;&lt;P&gt;LOOP AT messtab1.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;id = messtab1-msgid&lt;/P&gt;&lt;P&gt;lang = messtab1-msgspra&lt;/P&gt;&lt;P&gt;no = messtab1-msgnr&lt;/P&gt;&lt;P&gt;v1 = messtab1-msgv1&lt;/P&gt;&lt;P&gt;v2 = messtab1-msgv2&lt;/P&gt;&lt;P&gt;v3 = messtab1-msgv3&lt;/P&gt;&lt;P&gt;v4 = messtab1-msgv4&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;msg = l_mstring1&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;CONDENSE l_mstring1.&lt;/P&gt;&lt;P&gt;i_mess-l_mstring = l_mstring1(250).&lt;/P&gt;&lt;P&gt;i_mess-msgnr = messtab1-msgnr.&lt;/P&gt;&lt;P&gt;i_mess-msgv1 = messtab1-msgv1.&lt;/P&gt;&lt;P&gt;APPEND i_mess.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM. " mess1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM exp_log .&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = 'c:\temp\error_fsp0.txt'&lt;/P&gt;&lt;P&gt;filetype = 'DAT'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = i_mess1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = 'c:\temp\error_fs00.txt'&lt;/P&gt;&lt;P&gt;filetype = 'DAT'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = i_mess.&lt;/P&gt;&lt;P&gt;ENDFORM. " exp_log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING program dynpro.&lt;/P&gt;&lt;P&gt;CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;bdcdata-program = program.&lt;/P&gt;&lt;P&gt;bdcdata-dynpro = dynpro.&lt;/P&gt;&lt;P&gt;bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;APPEND bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM. "BDC_DYNPRO&lt;/P&gt;&lt;P&gt;FORM bdc_field USING fnam fval.&lt;/P&gt;&lt;P&gt;CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;APPEND bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM. "BDC_Field&lt;/P&gt;&lt;P&gt;&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;Kiran&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Apr 2008 07:42:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682890#M886846</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-07T07:42:29Z</dc:date>
    </item>
    <item>
      <title>Re: Sessions method Vs Call Transaction</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682891#M886847</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; you can handle multipe transactions using session method.&lt;/P&gt;&lt;P&gt;.Use the function module in the following sequence.&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;BDC_INSERT. " for the first TCODE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC_INSERT. " for the second TCODE&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 will solve your problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;just spend some  time on the documentation given below ,&lt;/P&gt;&lt;P&gt;so that you will get a clear picture on the functionality of session and call transaction method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I&lt;/P&gt;&lt;P&gt;Batch Data Communication (BDC)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC is not a typical integration tool, it is used for uploading data into R/3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The input comes in the form of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The transaction is then started using this internal table as the input and executed in the background. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BATCH INPUT SESSION METHOD: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) This is a sequence of transactions, which is generated when user run a particular program. &lt;/P&gt;&lt;P&gt;2) Session Method can transfer LARGE amount of data. &lt;/P&gt;&lt;P&gt;3) But Session Method data processing is slower. &lt;/P&gt;&lt;P&gt;4) In this Session Method error log is created &lt;/P&gt;&lt;P&gt;5) In this Session Method until the session is processed data is not updated . &lt;/P&gt;&lt;P&gt;6) In this Session Method sy-subrc is not returned. &lt;/P&gt;&lt;P&gt;7) This is Synchronous processing &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION METHOD:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) This is Asynchronous processing &lt;/P&gt;&lt;P&gt;2) Call Transaction can transfer SMALL amount of data.&lt;/P&gt;&lt;P&gt;3) In Call Transaction data processing is faster. &lt;/P&gt;&lt;P&gt;4) In this Call Transaction Method errors need to be handled explicitly :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this Call Transaction method, the transactions are triggered at the time of processing itself. So the ABAP program must do the error handling. It can also be used for real-time interfaces and custom error handling &amp;amp; logging features.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) In this Call Transaction Method data is updated automatically.&lt;/P&gt;&lt;P&gt;6) In this Call transaction is sy-subrc is returned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Some more information&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Batch Input Session method is asynchronous as told by others here. But the advantage of this is that you have all the error messages and the data for each transaction held persistantly. You don't have to code anything for processing them or writing the logs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But at the same time, the same feature can be disadvantageous if you need to react to an error or if there are too many errors to manually correct in a session. Since the session are created in the program and its execution is done seperately, you loose the trackability of such transactions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With a call transaction, what was a disadvantage above will become an advantage. Call transaction immediately gives you messages back and you can react to it in your program. But the disadvantage is that, if you have several hundreds of transactions to run, running them from within the program can be resource crunching affair. It will hamper the system performance and you cannot really distribute the load. Of course, you have some mechanisms with which you can overcome this, but you will have to code for it. Also, storing the messages and storing the errored transaction data etc will have to be handled by you in the program. Whereas, in batch input session, your program's job is to just create the session, after that everything is standard SAP system's responsibility.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ideally, you should do a call transaction if the resources are not a problem and if it fails, put the errored transaction into a session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can decide based on the data volume that your BDC is processing. If data volume is high go for session else call transaction will do.The call transaction updates will be instantaneous where as session needs to be processed explictly after creation. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you can do it both manually and by using program RSBDCSUB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check these link:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm" target="test_blank"&gt;http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/question-about-bdc-program.htm" target="test_blank"&gt;http://www.sap-img.com/abap/question-about-bdc-program.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/" target="test_blank"&gt;http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.planetsap.com/bdc_main_page.htm" target="test_blank"&gt;http://www.planetsap.com/bdc_main_page.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2491514"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope u can understand this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Reward if useful.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: K.R.Reddy on Apr 7, 2008 12:05 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Apr 2008 10:02:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sessions-method-vs-call-transaction/m-p/3682891#M886847</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-07T10:02:22Z</dc:date>
    </item>
  </channel>
</rss>

