Skip to Content
0
Mar 17, 2009 at 10:18 AM

sap-sessioncmd=open causes OnCreate triger twice.

109 Views

Hi All,

I have a BSP application with three pages .

1)Page 1 is just to show message 'Application is being loaded' .

2)This page contains UI elements one radio button group , three DDLBs and some other .

3)This page is just to show the selected items in page 2.

This application is called using OCI (on SRM 5.0) from standard ITS Service and used to create shopping cart.

Now if the user selects some options from radio buttons and DDLBs on page 2 , completes the execution and then LogOff using the Logoff link on ITS portal. If the user starts the application again in the same IE window , the values selected in the radio buttons and DDLBs in the previous session are still selected ie. the values are not initial.

So in Page 1 (Loading page) in the oninputprocessing I added the following code..

call method runtime->construct_bsp_url
          exporting
            in_protocol       = 'http'
            in_application_ns = runtime->application_namespace
            in_application    = runtime->application_name
            in_page           = 'pscmain.htm'
          importing
            out_abs_url       = target_url.

       
    concatenate target_url '?sap-sessioncmd=open' into target_url .

    navigation->set_parameter( 'HOOK_URL' ).

    navigation->goto_page( target_url ).

ie added the URL parameter SAP-SESSIONCMD=OPEN to the URL of page 2 so that every time the link is clicked a new session is created .

But the problem is that after adding the above mentioned URL parameter the eventhandler OnCreate is trigered twice.

First Time --> Instead of going to next event ahndlers and layout it shows the following code in debuging

class lcl_hr_timer implementation.

method if_abap_runtime~get_runtime by kernel module ab_kmGetRuntimeHR.
endmethod.
endclass.

class lcl_lr_timer implementation.

method if_abap_runtime~get_runtime by kernel module ab_kmGetRuntimeLR.
endmethod.

endclass.

Second Time--> Agin Oncreate is trigered and this time it goes to other event handlers and then layout .

As I am retreving some cookies (which I am also deleting after retreving) , these cookies are retreved and deleted when OnCreate is trigered first time .I need this cookie data for further processing .

So why do using SAP-SESSIONCMD=OPEN causes OnCreate to triger twice?

Hope my issue is clear.

Regards,

Anubhav J