Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Maxinum number of session reached while using Session method

Former Member
0 Likes
827

Hi,

I had done the BDC recording for the transaction code ABT1N and I had used the session method i.e BDC_OPEN,BDC_INSERT and BDC_CLOSE function module and I run this session in SM35 and for 7 records it is working fine and for 8th record and I am getting Maxinum number of session reached and BDC is not running.Could any one tell me how to handle this situation

Please find the below code

CALL FUNCTION 'BDC_OPEN_GROUP'

      EXPORTING

        client = sy-mandt

        group  = group

        user   = sy-uname.

*  ENDIF.

*

   LOOP AT tab.

*BEGIN OF CHANGES C5183207/SR#7001003263/26.11.2014

  perform screen1 using 'SAPLAMDPS2I' '0100'.

  perform field   using 'BDC_OKCODE' '/ENEWC'.

*

  PERFORM screen1 USING 'SAPLSPO1'  '0100'.

  perform field   using 'BDC_OKCODE' '=YES'.

*

  perform screen1 using 'SAPLSPO4'  '0300'.

  perform field   using 'SVALD-VALUE(01)' cc.

  perform field   using 'BDC_OKCODE' '=FURT'.

*

*    PERFORM screen1 USING 'SAPLAMDP'  '0100'.

    PERFORM screen1 USING 'SAPLAMDPS2I'  '0100'.

*END OF CHANGES C5183207/SR#7001003263/26.11.2014

    WRITE ddat TO dat MMDDYY.

    PERFORM field   USING 'RAIFP1-BLDAT' dat.

    WRITE pdat TO dat MMDDYY.

    PERFORM field   USING 'RAIFP1-BUDAT' dat.

    WRITE adat TO dat MMDDYY.

    PERFORM field   USING 'RAIFP1-BZDAT' dat.

    PERFORM field   USING 'RAIFP2-SGTXT' tab-ftxt.

*

    PERFORM field   USING 'RAIFP2-ANLN1' tab-fcom.

*Begin of changes CSN 0001632921 2012 by C5152079 22.03.2012

    IF chk_nrev IS INITIAL.

      PERFORM field   USING 'RAIFP2-XERBW' 'X'.

      PERFORM field   USING 'RAIFP2-AFABE' '01'.

    ELSE.

      PERFORM field   USING 'RAIFP2-XNOER' 'X'.

    ENDIF.

*End of changes CSN 0001632921 2012 by C5152079 22.03.2012

*

    PERFORM field   USING 'RAIFP3-ANLN1' tab-ass.

    PERFORM field   USING 'RAIFP3-BUKRS' tab-tcc.

*BEGIN OF CHANGES C5183207/SR#7001003263/26.11.2014

*    PERFORM field   USING 'BDC_OKCODE' '=NEWC'.

    PERFORM field   USING 'BDC_OKCODE' '=TAB02'.

*

*    PERFORM screen1 USING 'SAPLSPO1'  '0100'.

*    PERFORM field   USING 'BDC_OKCODE' '=YES'.

**

*    PERFORM screen1 USING 'SAPLSPO4'  '0300'.

*    PERFORM field   USING 'SVALD-VALUE(01)' cc.

*    PERFORM field   USING 'BDC_OKCODE' '=FURT'.

**

*    PERFORM screen1 USING 'SAPLAMDP'  '0100'.

*    PERFORM field   USING 'BDC_OKCODE' '=TAB02'.

*

*    PERFORM screen1 USING 'SAPLAMDP'  '0100'.

    PERFORM screen1 USING 'SAPLAMDPS2I'  '0100'.

*END OF CHANGES C5183207/SR#7001003263/19.11.2014

    PERFORM field   USING 'RAIFP2-MONAT' per.

    PERFORM field   USING 'RAIFP1-BLART' dtyp.

    PERFORM field   USING 'RAIFP1-TRAVA' tnor.

    PERFORM field   USING 'RAIFP2-ZUONR' tab-ttxt.

    PERFORM field   USING 'BDC_OKCODE' '=SAVE'.

*

*BEGIN OF CHANGES C5183207/SR#7001003263/26.11.2014

*    CALL FUNCTION 'BDC_INSERT'

*      EXPORTING

*        tcode     = 'ABT1N'

*      TABLES

*        dynprotab = bdcdata.

**

*BEGIN OF CHANGES C5183207/SR#7001003263/27.03.2015

    SET PARAMETER ID 'AN1' field ldf_ANLN1.

*END OF CHANGES C5183207/SR#7001003263/27.03.2015

*    REFRESH bdcdata.

*END OF CHANGES C5183207/SR#7001003263/26.11.2014

  ENDLOOP.

*

*BEGIN OF CHANGES C5183207/SR#7001003263/26.11.2014

    CALL FUNCTION 'BDC_INSERT'

      EXPORTING

        tcode     = 'ABT1N'

      TABLES

        dynprotab = bdcdata.

*

    REFRESH bdcdata.

*END OF CHANGES C5183207/SR#7001003263/26.11.2014

*

  IF sy-subrc = 0.



      CALL FUNCTION 'BDC_CLOSE_GROUP'.

** begin of insert ISDK980413 **

*  call transaction 'SM35'.

    CALL FUNCTION 'ABAP4_CALL_TRANSACTION'

      EXPORTING

        tcode                   = 'SM35'

      EXCEPTIONS

        call_transaction_denied = 1

        tcode_invalid           = 2

        OTHERS                  = 3.

Hi,

I had done the BDC recording for the transaction code ABT1N and I had used the session method i.e BDC_OPEN,BDC_INSERT and BDC_CLOSE function module and I run this session in SM35 and for 7 records it is working fine and for 8th record and I am getting Maxinum number of session reached and BDC is not running.Could any one tell me how to handle this situation

Please find the below code

CALL FUNCTION 'BDC_OPEN_GROUP'

      EXPORTING

        client = sy-mandt

        group  = group

        user   = sy-uname.

*  ENDIF.

*

   LOOP AT tab.

*BEGIN OF CHANGES C5183207/SR#7001003263/26.11.2014

  perform screen1 using 'SAPLAMDPS2I' '0100'.

  perform field   using 'BDC_OKCODE' '/ENEWC'.

*

  PERFORM screen1 USING 'SAPLSPO1'  '0100'.

  perform field   using 'BDC_OKCODE' '=YES'.

*

  perform screen1 using 'SAPLSPO4'  '0300'.

  perform field   using 'SVALD-VALUE(01)' cc.

  perform field   using 'BDC_OKCODE' '=FURT'.

*

*    PERFORM screen1 USING 'SAPLAMDP'  '0100'.

    PERFORM screen1 USING 'SAPLAMDPS2I'  '0100'.

*END OF CHANGES C5183207/SR#7001003263/26.11.2014

    WRITE ddat TO dat MMDDYY.

    PERFORM field   USING 'RAIFP1-BLDAT' dat.

    WRITE pdat TO dat MMDDYY.

    PERFORM field   USING 'RAIFP1-BUDAT' dat.

    WRITE adat TO dat MMDDYY.

    PERFORM field   USING 'RAIFP1-BZDAT' dat.

    PERFORM field   USING 'RAIFP2-SGTXT' tab-ftxt.

*

    PERFORM field   USING 'RAIFP2-ANLN1' tab-fcom.

*Begin of changes CSN 0001632921 2012 by C5152079 22.03.2012

    IF chk_nrev IS INITIAL.

      PERFORM field   USING 'RAIFP2-XERBW' 'X'.

      PERFORM field   USING 'RAIFP2-AFABE' '01'.

    ELSE.

      PERFORM field   USING 'RAIFP2-XNOER' 'X'.

    ENDIF.

*End of changes CSN 0001632921 2012 by C5152079 22.03.2012

*

    PERFORM field   USING 'RAIFP3-ANLN1' tab-ass.

    PERFORM field   USING 'RAIFP3-BUKRS' tab-tcc.

*BEGIN OF CHANGES C5183207/SR#7001003263/26.11.2014

*    PERFORM field   USING 'BDC_OKCODE' '=NEWC'.

    PERFORM field   USING 'BDC_OKCODE' '=TAB02'.

*

*    PERFORM screen1 USING 'SAPLSPO1'  '0100'.

*    PERFORM field   USING 'BDC_OKCODE' '=YES'.

**

*    PERFORM screen1 USING 'SAPLSPO4'  '0300'.

*    PERFORM field   USING 'SVALD-VALUE(01)' cc.

*    PERFORM field   USING 'BDC_OKCODE' '=FURT'.

**

*    PERFORM screen1 USING 'SAPLAMDP'  '0100'.

*    PERFORM field   USING 'BDC_OKCODE' '=TAB02'.

*

*    PERFORM screen1 USING 'SAPLAMDP'  '0100'.

    PERFORM screen1 USING 'SAPLAMDPS2I'  '0100'.

*END OF CHANGES C5183207/SR#7001003263/19.11.2014

    PERFORM field   USING 'RAIFP2-MONAT' per.

    PERFORM field   USING 'RAIFP1-BLART' dtyp.

    PERFORM field   USING 'RAIFP1-TRAVA' tnor.

    PERFORM field   USING 'RAIFP2-ZUONR' tab-ttxt.

    PERFORM field   USING 'BDC_OKCODE' '=SAVE'.

*

*BEGIN OF CHANGES C5183207/SR#7001003263/26.11.2014

*    CALL FUNCTION 'BDC_INSERT'

*      EXPORTING

*        tcode     = 'ABT1N'

*      TABLES

*        dynprotab = bdcdata.

**

*BEGIN OF CHANGES C5183207/SR#7001003263/27.03.2015

    SET PARAMETER ID 'AN1' field ldf_ANLN1.

*END OF CHANGES C5183207/SR#7001003263/27.03.2015

*    REFRESH bdcdata.

*END OF CHANGES C5183207/SR#7001003263/26.11.2014

  ENDLOOP.

*

*BEGIN OF CHANGES C5183207/SR#7001003263/26.11.2014

    CALL FUNCTION 'BDC_INSERT'

      EXPORTING

        tcode     = 'ABT1N'

      TABLES

        dynprotab = bdcdata.

*

    REFRESH bdcdata.

*END OF CHANGES C5183207/SR#7001003263/26.11.2014

*

  IF sy-subrc = 0.



      CALL FUNCTION 'BDC_CLOSE_GROUP'.

** begin of insert ISDK980413 **

*  call transaction 'SM35'.

    CALL FUNCTION 'ABAP4_CALL_TRANSACTION'

      EXPORTING

        tcode                   = 'SM35'

      EXCEPTIONS

        call_transaction_denied = 1

        tcode_invalid           = 2

        OTHERS                  = 3.

2 REPLIES 2
Read only

Former Member
0 Likes
678

Hi Durgaprasanth,

I think for every record it is opening SM35 tcode. In your SAP system maximum number of session is 7.

Try to close previous session windows or else comment the below function module.

ABAP4_CALL_TRANSACTION



Hopes it helps you.



Thanks,

Ashok.

Read only

0 Likes
678

yes you are right that maxinum number of session is 7 but when i run in Session in SM35 in foreground and i did not see any 7 session opening but i am getting Maximum session reached .


And also ABAP4_CALL_TRANSACTION  function module is not in the loop. so it will not call every time .