<?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 BDC_INSERT, session not opened Error in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431726#M824272</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a BDC program to Add, Update and Delete a customer. If I do either Add, Update or Delete it is working fine. But if I have ADD and Update And Delete or any two of those it is giving me BDC_INSERT session not opened error. I have BDC_OPEN_GROUP, BDC_CLOSE_GROUP and BDC_INSERT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone please help me to resolve this error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;veni.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    when 'UPDATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE itab_output LINES lv_cnt.&lt;/P&gt;&lt;P&gt;      DO lv_cnt TIMES.&lt;/P&gt;&lt;P&gt;        lv_index = sy-index + 3.&lt;/P&gt;&lt;P&gt;        READ LINE lv_index FIELD VALUE chk.&lt;/P&gt;&lt;P&gt;        IF chk = 'X'.&lt;/P&gt;&lt;P&gt;          READ TABLE itab_output INTO wa_index INDEX sy-index.&lt;/P&gt;&lt;P&gt;          IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;            wa_index-index = sy-index.&lt;/P&gt;&lt;P&gt;            APPEND wa_index TO itab_output2.&lt;/P&gt;&lt;P&gt;            CLEAR wa_index.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR chk.&lt;/P&gt;&lt;P&gt;      ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      set pf-status 'NORM1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP at itab_output2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF itab_output2-transpzone = 'ADDITION'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name        TO wa1-name.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_2      TO wa1-name_2.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_3      TO wa1-name_3.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_4      TO wa1-name_4.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city        TO wa1-city .&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city_no     TO wa1-city_no.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-postl_cod1  TO wa1-postl_cod1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-transpzone  TO wa1-transpzone.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-street      TO wa1-street.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-str_suppl1  TO wa1-str_suppl1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-country     TO wa1-country.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-extens_1    TO wa1-extens_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM FORMAT_STORENO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa1 TO itab_output3.&lt;/P&gt;&lt;P&gt;          CLEAR: wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSEIF itab_output2-transpzone = 'CHANGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name        TO wa1-name.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_2      TO wa1-name_2.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_3      TO wa1-name_3.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_4      TO wa1-name_4.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city        TO wa1-city .&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city_no     TO wa1-city_no.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-postl_cod1  TO wa1-postl_cod1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-transpzone  TO wa1-transpzone.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-street      TO wa1-street.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-str_suppl1  TO wa1-str_suppl1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-country     TO wa1-country.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-extens_1    TO wa1-extens_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM FORMAT_STORENO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa1 TO itab_output4.&lt;/P&gt;&lt;P&gt;          CLEAR: wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSEIF itab_output2-transpzone = 'DELETE'.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name        TO wa1-name.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_2      TO wa1-name_2.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_3      TO wa1-name_3.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_4      TO wa1-name_4.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city        TO wa1-city .&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city_no     TO wa1-city_no.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-postl_cod1  TO wa1-postl_cod1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-transpzone  TO wa1-transpzone.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-street      TO wa1-street.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-str_suppl1  TO wa1-str_suppl1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-country     TO wa1-country.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-extens_1    TO wa1-extens_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM FORMAT_STORENO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa1 TO itab_output5.&lt;/P&gt;&lt;P&gt;          CLEAR: wa1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear chk.&lt;/P&gt;&lt;P&gt;      refresh itab_output2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE itab_output3 LINES lv_cnt.&lt;/P&gt;&lt;P&gt;      if lv_cnt &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        perform add_shipto.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      clear lv_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE itab_output4 LINES lv_cnt.&lt;/P&gt;&lt;P&gt;      if lv_cnt &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        perform change_shipto.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      clear lv_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE itab_output5 LINES lv_cnt.&lt;/P&gt;&lt;P&gt;      if lv_cnt &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        perform delete_shipto.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      clear lv_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FORMAT_STORENO.&lt;/P&gt;&lt;P&gt;  IF itab_output2-storeno &amp;gt;= 1 AND itab_output2-storeno &amp;lt;= 9.&lt;/P&gt;&lt;P&gt;    CONCATENATE '1012'&lt;/P&gt;&lt;P&gt;                '00000'&lt;/P&gt;&lt;P&gt;                itab_output2-storeno&lt;/P&gt;&lt;P&gt;                INTO wa1-storeno.&lt;/P&gt;&lt;P&gt;  ELSEIF itab_output2-storeno &amp;gt; 9 AND itab_output2-storeno &amp;lt; 100.&lt;/P&gt;&lt;P&gt;    CONCATENATE '1012'&lt;/P&gt;&lt;P&gt;                '0000'&lt;/P&gt;&lt;P&gt;                itab_output2-storeno&lt;/P&gt;&lt;P&gt;                INTO wa1-storeno.&lt;/P&gt;&lt;P&gt;  ELSEIF itab_output2-storeno &amp;gt; 99 AND itab_output2-storeno &amp;lt; 1000.&lt;/P&gt;&lt;P&gt;    CONCATENATE '1012'&lt;/P&gt;&lt;P&gt;                '000'&lt;/P&gt;&lt;P&gt;                itab_output2-storeno&lt;/P&gt;&lt;P&gt;                INTO wa1-storeno.&lt;/P&gt;&lt;P&gt;  ELSEIF itab_output2-storeno &amp;gt; 999 AND itab_output2-storeno &amp;lt; 10000.&lt;/P&gt;&lt;P&gt;    CONCATENATE '1012'&lt;/P&gt;&lt;P&gt;                '00'&lt;/P&gt;&lt;P&gt;                itab_output2-storeno&lt;/P&gt;&lt;P&gt;                INTO wa1-storeno.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FORMAT_STORENO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM add_shipto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at itab_output3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE '1012'                TO WA_EDPAR-KUNNR.&lt;/P&gt;&lt;P&gt;    MOVE 'WE'                  TO WA_EDPAR-PARVW.&lt;/P&gt;&lt;P&gt;    MOVE itab_output3-name_4   TO WA_EDPAR-EXPNR.&lt;/P&gt;&lt;P&gt;    MOVE itab_output3-storeno  TO WA_EDPAR-INPNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    INSERT INTO EDPAR VALUES WA_EDPAR.&lt;/P&gt;&lt;P&gt;    CLEAR WA_EDPAR.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open &amp;lt;&amp;gt; gc_true.&lt;/P&gt;&lt;P&gt;    m_grpid = 'ADD_SHIPTO'.&lt;/P&gt;&lt;P&gt;    PERFORM open_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab_output3 INTO wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_lzone = wa1-postl_cod1(3).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMF02D' '0107'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR' 'RF02D-KTOKD'.&lt;/P&gt;&lt;P&gt;   // &lt;STRONG&gt;BDC to add customer&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING gc_tcode2.&lt;/P&gt;&lt;P&gt;    m_count = m_count + 1.&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;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    WRITE: /01 'Batch job created successfully',&lt;/P&gt;&lt;P&gt;           /01 'Number of new records added', m_count.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  clear m_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open = gc_true.&lt;/P&gt;&lt;P&gt;    PERFORM close_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " add_shipto&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM change_shipto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at itab_output4.&lt;/P&gt;&lt;P&gt;    UPDATE EDPAR SET   expnr = itab_output4-name_4&lt;/P&gt;&lt;P&gt;                 WHERE kunnr = '0000001012'   AND&lt;/P&gt;&lt;P&gt;                       inpnr = itab_output4-storeno.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open &amp;lt;&amp;gt; gc_true.&lt;/P&gt;&lt;P&gt;    m_grpid = 'CHANGE_SHIPTO'.&lt;/P&gt;&lt;P&gt;    PERFORM open_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab_output4 INTO wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_lzone = wa1-postl_cod1(3).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMF02D' '0108'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR' 'RF02D-D0125'.&lt;/P&gt;&lt;P&gt;   // &lt;STRONG&gt;BDC to change customer&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING gc_tcode1.&lt;/P&gt;&lt;P&gt;    m_count = m_count + 1.&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;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    WRITE: /01 'Batch job created successfully',&lt;/P&gt;&lt;P&gt;           /01 'Number of records changed', m_count.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  clear m_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open = gc_true.&lt;/P&gt;&lt;P&gt;    PERFORM close_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " change_shipto&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM delete_shipto.&lt;/P&gt;&lt;P&gt;  loop at itab_output5.&lt;/P&gt;&lt;P&gt;    DELETE FROM EDPAR&lt;/P&gt;&lt;P&gt;                 WHERE kunnr = '0000001012'   AND&lt;/P&gt;&lt;P&gt;                       expnr = itab_output5-name_4 AND&lt;/P&gt;&lt;P&gt;                       inpnr = itab_output5-storeno.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open &amp;lt;&amp;gt; gc_true.&lt;/P&gt;&lt;P&gt;    m_grpid = 'DELETE_SHIPTO'.&lt;/P&gt;&lt;P&gt;    PERFORM open_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab_output5 INTO wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMF02D' '0507'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR' 'RF02D-SPART'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RF02D-KUNNR' wa1-storeno.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RF02D-VKORG' '300'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RF02D-VTWEG' '20'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RF02D-SPART' '01'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMF02D' '0520'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR' 'KNA1-LOEVM'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE' '=UPDA'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'KNA1-LOEVM' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING gc_tcode3.&lt;/P&gt;&lt;P&gt;    m_count = m_count + 1.&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;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    WRITE: /01 'Batch job created successfully',&lt;/P&gt;&lt;P&gt;           /01 'Number of records deleted', m_count.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  clear m_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open = gc_true.&lt;/P&gt;&lt;P&gt;    PERFORM close_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " delete_shipto&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM open_bdc_session.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            client = sy-mandt&lt;/P&gt;&lt;P&gt;            group  = m_grpid&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;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e208(00) WITH 'Session open error'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    gd_open = gc_true.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " open_bdc_session&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM close_bdc_session.&lt;/P&gt;&lt;P&gt;  IF gd_open = gc_true.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              client = sy-mandt&lt;/P&gt;&lt;P&gt;              group  = m_grpid&lt;/P&gt;&lt;P&gt;              keep   = 'X'&lt;/P&gt;&lt;P&gt;              user   = sy-uname.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " close_bdc_session&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING    p_program&lt;/P&gt;&lt;P&gt;                         p_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: itab_bdcdata.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-program  = p_program.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-dynpro   = p_screen.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-dynbegin = gc_true.&lt;/P&gt;&lt;P&gt;  APPEND itab_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_dynpro&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_field USING    p_fieldname&lt;/P&gt;&lt;P&gt;                        p_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR itab_bdcdata.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-fnam = p_fieldname.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-fval = p_value.&lt;/P&gt;&lt;P&gt;  APPEND itab_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_transaction USING    p_tcode.&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     = p_tcode&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            dynprotab = itab_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH itab_bdcdata.&lt;/P&gt;&lt;P&gt;  CLEAR: itab_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_transaction&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Feb 2008 18:55:15 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-08T18:55:15Z</dc:date>
    <item>
      <title>BDC_INSERT, session not opened Error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431726#M824272</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a BDC program to Add, Update and Delete a customer. If I do either Add, Update or Delete it is working fine. But if I have ADD and Update And Delete or any two of those it is giving me BDC_INSERT session not opened error. I have BDC_OPEN_GROUP, BDC_CLOSE_GROUP and BDC_INSERT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone please help me to resolve this error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;veni.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    when 'UPDATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE itab_output LINES lv_cnt.&lt;/P&gt;&lt;P&gt;      DO lv_cnt TIMES.&lt;/P&gt;&lt;P&gt;        lv_index = sy-index + 3.&lt;/P&gt;&lt;P&gt;        READ LINE lv_index FIELD VALUE chk.&lt;/P&gt;&lt;P&gt;        IF chk = 'X'.&lt;/P&gt;&lt;P&gt;          READ TABLE itab_output INTO wa_index INDEX sy-index.&lt;/P&gt;&lt;P&gt;          IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;            wa_index-index = sy-index.&lt;/P&gt;&lt;P&gt;            APPEND wa_index TO itab_output2.&lt;/P&gt;&lt;P&gt;            CLEAR wa_index.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR chk.&lt;/P&gt;&lt;P&gt;      ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      set pf-status 'NORM1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP at itab_output2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF itab_output2-transpzone = 'ADDITION'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name        TO wa1-name.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_2      TO wa1-name_2.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_3      TO wa1-name_3.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_4      TO wa1-name_4.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city        TO wa1-city .&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city_no     TO wa1-city_no.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-postl_cod1  TO wa1-postl_cod1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-transpzone  TO wa1-transpzone.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-street      TO wa1-street.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-str_suppl1  TO wa1-str_suppl1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-country     TO wa1-country.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-extens_1    TO wa1-extens_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM FORMAT_STORENO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa1 TO itab_output3.&lt;/P&gt;&lt;P&gt;          CLEAR: wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSEIF itab_output2-transpzone = 'CHANGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name        TO wa1-name.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_2      TO wa1-name_2.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_3      TO wa1-name_3.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_4      TO wa1-name_4.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city        TO wa1-city .&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city_no     TO wa1-city_no.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-postl_cod1  TO wa1-postl_cod1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-transpzone  TO wa1-transpzone.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-street      TO wa1-street.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-str_suppl1  TO wa1-str_suppl1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-country     TO wa1-country.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-extens_1    TO wa1-extens_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM FORMAT_STORENO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa1 TO itab_output4.&lt;/P&gt;&lt;P&gt;          CLEAR: wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSEIF itab_output2-transpzone = 'DELETE'.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name        TO wa1-name.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_2      TO wa1-name_2.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_3      TO wa1-name_3.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-name_4      TO wa1-name_4.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city        TO wa1-city .&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-city_no     TO wa1-city_no.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-postl_cod1  TO wa1-postl_cod1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-transpzone  TO wa1-transpzone.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-street      TO wa1-street.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-str_suppl1  TO wa1-str_suppl1.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-country     TO wa1-country.&lt;/P&gt;&lt;P&gt;          MOVE itab_output2-extens_1    TO wa1-extens_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM FORMAT_STORENO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa1 TO itab_output5.&lt;/P&gt;&lt;P&gt;          CLEAR: wa1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear chk.&lt;/P&gt;&lt;P&gt;      refresh itab_output2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE itab_output3 LINES lv_cnt.&lt;/P&gt;&lt;P&gt;      if lv_cnt &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        perform add_shipto.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      clear lv_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE itab_output4 LINES lv_cnt.&lt;/P&gt;&lt;P&gt;      if lv_cnt &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        perform change_shipto.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      clear lv_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE itab_output5 LINES lv_cnt.&lt;/P&gt;&lt;P&gt;      if lv_cnt &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        perform delete_shipto.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      clear lv_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FORMAT_STORENO.&lt;/P&gt;&lt;P&gt;  IF itab_output2-storeno &amp;gt;= 1 AND itab_output2-storeno &amp;lt;= 9.&lt;/P&gt;&lt;P&gt;    CONCATENATE '1012'&lt;/P&gt;&lt;P&gt;                '00000'&lt;/P&gt;&lt;P&gt;                itab_output2-storeno&lt;/P&gt;&lt;P&gt;                INTO wa1-storeno.&lt;/P&gt;&lt;P&gt;  ELSEIF itab_output2-storeno &amp;gt; 9 AND itab_output2-storeno &amp;lt; 100.&lt;/P&gt;&lt;P&gt;    CONCATENATE '1012'&lt;/P&gt;&lt;P&gt;                '0000'&lt;/P&gt;&lt;P&gt;                itab_output2-storeno&lt;/P&gt;&lt;P&gt;                INTO wa1-storeno.&lt;/P&gt;&lt;P&gt;  ELSEIF itab_output2-storeno &amp;gt; 99 AND itab_output2-storeno &amp;lt; 1000.&lt;/P&gt;&lt;P&gt;    CONCATENATE '1012'&lt;/P&gt;&lt;P&gt;                '000'&lt;/P&gt;&lt;P&gt;                itab_output2-storeno&lt;/P&gt;&lt;P&gt;                INTO wa1-storeno.&lt;/P&gt;&lt;P&gt;  ELSEIF itab_output2-storeno &amp;gt; 999 AND itab_output2-storeno &amp;lt; 10000.&lt;/P&gt;&lt;P&gt;    CONCATENATE '1012'&lt;/P&gt;&lt;P&gt;                '00'&lt;/P&gt;&lt;P&gt;                itab_output2-storeno&lt;/P&gt;&lt;P&gt;                INTO wa1-storeno.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FORMAT_STORENO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM add_shipto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at itab_output3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE '1012'                TO WA_EDPAR-KUNNR.&lt;/P&gt;&lt;P&gt;    MOVE 'WE'                  TO WA_EDPAR-PARVW.&lt;/P&gt;&lt;P&gt;    MOVE itab_output3-name_4   TO WA_EDPAR-EXPNR.&lt;/P&gt;&lt;P&gt;    MOVE itab_output3-storeno  TO WA_EDPAR-INPNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    INSERT INTO EDPAR VALUES WA_EDPAR.&lt;/P&gt;&lt;P&gt;    CLEAR WA_EDPAR.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open &amp;lt;&amp;gt; gc_true.&lt;/P&gt;&lt;P&gt;    m_grpid = 'ADD_SHIPTO'.&lt;/P&gt;&lt;P&gt;    PERFORM open_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab_output3 INTO wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_lzone = wa1-postl_cod1(3).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMF02D' '0107'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR' 'RF02D-KTOKD'.&lt;/P&gt;&lt;P&gt;   // &lt;STRONG&gt;BDC to add customer&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING gc_tcode2.&lt;/P&gt;&lt;P&gt;    m_count = m_count + 1.&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;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    WRITE: /01 'Batch job created successfully',&lt;/P&gt;&lt;P&gt;           /01 'Number of new records added', m_count.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  clear m_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open = gc_true.&lt;/P&gt;&lt;P&gt;    PERFORM close_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " add_shipto&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM change_shipto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at itab_output4.&lt;/P&gt;&lt;P&gt;    UPDATE EDPAR SET   expnr = itab_output4-name_4&lt;/P&gt;&lt;P&gt;                 WHERE kunnr = '0000001012'   AND&lt;/P&gt;&lt;P&gt;                       inpnr = itab_output4-storeno.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open &amp;lt;&amp;gt; gc_true.&lt;/P&gt;&lt;P&gt;    m_grpid = 'CHANGE_SHIPTO'.&lt;/P&gt;&lt;P&gt;    PERFORM open_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab_output4 INTO wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_lzone = wa1-postl_cod1(3).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMF02D' '0108'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR' 'RF02D-D0125'.&lt;/P&gt;&lt;P&gt;   // &lt;STRONG&gt;BDC to change customer&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING gc_tcode1.&lt;/P&gt;&lt;P&gt;    m_count = m_count + 1.&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;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    WRITE: /01 'Batch job created successfully',&lt;/P&gt;&lt;P&gt;           /01 'Number of records changed', m_count.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  clear m_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open = gc_true.&lt;/P&gt;&lt;P&gt;    PERFORM close_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " change_shipto&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM delete_shipto.&lt;/P&gt;&lt;P&gt;  loop at itab_output5.&lt;/P&gt;&lt;P&gt;    DELETE FROM EDPAR&lt;/P&gt;&lt;P&gt;                 WHERE kunnr = '0000001012'   AND&lt;/P&gt;&lt;P&gt;                       expnr = itab_output5-name_4 AND&lt;/P&gt;&lt;P&gt;                       inpnr = itab_output5-storeno.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open &amp;lt;&amp;gt; gc_true.&lt;/P&gt;&lt;P&gt;    m_grpid = 'DELETE_SHIPTO'.&lt;/P&gt;&lt;P&gt;    PERFORM open_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab_output5 INTO wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMF02D' '0507'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR' 'RF02D-SPART'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RF02D-KUNNR' wa1-storeno.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RF02D-VKORG' '300'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RF02D-VTWEG' '20'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'RF02D-SPART' '01'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform bdc_dynpro      using 'SAPMF02D' '0520'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_CURSOR' 'KNA1-LOEVM'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'BDC_OKCODE' '=UPDA'.&lt;/P&gt;&lt;P&gt;    perform bdc_field       using 'KNA1-LOEVM' 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING gc_tcode3.&lt;/P&gt;&lt;P&gt;    m_count = m_count + 1.&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;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    WRITE: /01 'Batch job created successfully',&lt;/P&gt;&lt;P&gt;           /01 'Number of records deleted', m_count.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  clear m_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gd_open = gc_true.&lt;/P&gt;&lt;P&gt;    PERFORM close_bdc_session.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " delete_shipto&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM open_bdc_session.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            client = sy-mandt&lt;/P&gt;&lt;P&gt;            group  = m_grpid&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;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e208(00) WITH 'Session open error'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    gd_open = gc_true.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " open_bdc_session&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM close_bdc_session.&lt;/P&gt;&lt;P&gt;  IF gd_open = gc_true.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              client = sy-mandt&lt;/P&gt;&lt;P&gt;              group  = m_grpid&lt;/P&gt;&lt;P&gt;              keep   = 'X'&lt;/P&gt;&lt;P&gt;              user   = sy-uname.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " close_bdc_session&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING    p_program&lt;/P&gt;&lt;P&gt;                         p_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: itab_bdcdata.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-program  = p_program.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-dynpro   = p_screen.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-dynbegin = gc_true.&lt;/P&gt;&lt;P&gt;  APPEND itab_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_dynpro&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_field USING    p_fieldname&lt;/P&gt;&lt;P&gt;                        p_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR itab_bdcdata.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-fnam = p_fieldname.&lt;/P&gt;&lt;P&gt;  itab_bdcdata-fval = p_value.&lt;/P&gt;&lt;P&gt;  APPEND itab_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_transaction USING    p_tcode.&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     = p_tcode&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            dynprotab = itab_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH itab_bdcdata.&lt;/P&gt;&lt;P&gt;  CLEAR: itab_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " bdc_transaction&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 18:55:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431726#M824272</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T18:55:15Z</dc:date>
    </item>
    <item>
      <title>Re: BDC_INSERT, session not opened Error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431727#M824273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think you are PERFORMing open_bdc_session multiple times. Make sure you just do it once for each BDC session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 19:09:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431727#M824273</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T19:09:02Z</dc:date>
    </item>
    <item>
      <title>Re: BDC_INSERT, session not opened Error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431728#M824274</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The data comming from EDI 816 may contain Add, Change, Delete customer. If I have all 3, then i have to create 3 BDC sessions one for each ADD_SHIPTO, CHANGE_SHIPTO and DELETE_SHIPTO. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Veni.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 19:20:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431728#M824274</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T19:20:12Z</dc:date>
    </item>
    <item>
      <title>Re: BDC_INSERT, session not opened Error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431729#M824275</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Then make sure the previous one was closed before opening a new one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 19:27:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431729#M824275</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T19:27:23Z</dc:date>
    </item>
    <item>
      <title>Re: BDC_INSERT, session not opened Error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431730#M824276</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Rob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just added this in BDC_CLOSE_GROUP, and it worked. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    gd_open = ' '.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In BDC_OPEN_GROUP if gd_open = ' ', then only it opens a new session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Veni.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: veni reddy on Feb 8, 2008 8:52 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 19:51:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431730#M824276</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T19:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: BDC_INSERT, session not opened Error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431731#M824277</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You're welcome Veni - glad to help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you manage to do this so you only get one each BDC session for add change and delete?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 19:56:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431731#M824277</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T19:56:38Z</dc:date>
    </item>
    <item>
      <title>Re: BDC_INSERT, session not opened Error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431732#M824278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No Rob, Based on status it creates, if I have only add, change or delete it creates one session. If I have any 2 of 3 then creates 2, if I have all 3 then creates 3 diffearent sessions, one for each.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Veni.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 20:11:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-insert-session-not-opened-error/m-p/3431732#M824278</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T20:11:52Z</dc:date>
    </item>
  </channel>
</rss>

