cancel
Showing results for 
Search instead for 
Did you mean: 

Issue when we run the same bsp applciation simultaneously by same user

Former Member
0 Kudos

Hi all,

We have a requriement to run the same bsp applciation simultaneously by same user simultaneously , different sessions has to have different context .

However if we run the same bsp application , new session also using the previous session context, Application is created as stateful..

When we check the SM04 for each new session for same bsp it is not showing new session, where as for if we run different bsp application it shows new entry in SM04..

Appreciate your help..

Thanks and Regards,

Vinay.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Vinay,

You can use URL parameter SAP-SESSIONCMD=OPEN to force the creation of a new session when launching your BSP application.

For example: http://<server>:<port>/sap/bc/bsp/sap/<your BSP>/<your page>?sap-sessioncmd=open

Regards,

Tanguy

Former Member
0 Kudos

Hi Tanguy,

My URL already contains "sap-sessioncmd=open" parameter, below is the URL i am using

http://<server>:<port>/sap/bc/bsp/sap/<your BSP>/<your page>?sap-client=040&sap-sessioncmd=open&sap-language=E.

Can you tell me any other possibilities?

Thanks in advance.

Regards,

Vinay.

Former Member
0 Kudos

Hi Vinay,

Oops, I should have tested!

You also have to add parameter sap-syscmd=nocookie.

This will mangle the session ID in the URL, so that each access to the server tells which session to use.

So your URL should be:

http://<server>:<port>/sap/bc/bsp/sap/<your BSP>/<your page>?sap-client=040&sap-sessioncmd=open&sap-language=E&sap-syscmd=nocookie

Hope it helps,

Tanguy

Former Member
0 Kudos

Hi Tanguy,

It's working Great...Excellent answer.

Thanks,

Vinay.

Former Member
0 Kudos

Hi Tanguy,

When i used "sap-syscmd=nocookie" this parameter it solved session issue(new instances created, new session created in SM04).

But i am storing some data as cookie in my program because when i am navigating from present BSP application to another BSP application, i want to use stored data.So, in all cases it is working fine except that navigation case, when i click on button to navigate from present bsp appl to another bsp appl (at this time i am storing data as cookie)now i am getting issue '400 Session timed out - please login again' .

Please help me.

Thanks,

Vinay.

Answers (2)

Answers (2)

Former Member
0 Kudos

Any other ways?

Edited by: vinay thumu on Jan 24, 2011 3:06 PM

Former Member
0 Kudos

Hi Vinay,

The command only disable cookies for storing session IDs; your cookie should still work fine.

How do you call the other BSP app from within the original one?

Because you may have to either transmit or hide your session ID to the other BSP by using one of the following methods of class CL_BSP_RUNTIME:

GET_URL_SAME_SESSION

GET_URL_NEW_SESSION

GET_URL_STATELESS

For example:

lv_url = runtime->get_url_same_session(
  application_name = <your other BSP app>
  page_name = <you new page name> ).

Regards,

Tanguy

Former Member
0 Kudos

Hi Tanguy,

Actually here problem is when we navigating from one BSP appl to another BSP appl we are getting issue not a problem of storing cookie.

Calling another BSP appl from present BSP appl:

CONCATENATE mv_html 'script language="javascript"' INTO mv_html.
        CONCATENATE mv_html `var lv_url = 'zbsputils/worklist.do?ID=data1&DATA_REF=HDR';'
        INTO mv_html.
        CONCATENATE mv_html `loadwindow(lv_url,'350','100');` INTO mv_html.
        CONCATENATE mv_html '/script' INTO mv_html.

Please help me in this issue.

Thanks,

Vinay.

Edited by: vinay thumu on Jan 24, 2011 4:04 PM

Former Member
0 Kudos

Hi Tanguy,

Actually data has been stored( i mean it has executed that storing data as cookie method successfully), after this next i am clicking another event at this time i am getting the session timeout issue.

400 Session timed out - please log in again

-


Error: -11

Version: 7000

Component: ICM

Date/Time: Mon Jan 24 08:53:25 2011

Module: icxxthr.c

Line: 1705

Server: uranus_ERD_00

Error Tag: {-}

Detail: Session does not exist

Thanks,

Vinay

Former Member
0 Kudos

Do you have any dump in ST22?

Is the other BSP app already opened when you have the error message? If yes, how do you open it?

Are you handling sessions in both BSP? How and when?

Tanguy

Former Member
0 Kudos

Tanguy,

No dumps in ST22.

Here actual scenario is: Now i am in ZTEST1 bsp application( this appl URL: http://<server>:<port>/sap/bc/bsp/sap/<your BSP>/<your page>?sap-client=040&sap-sessioncmd=open&sap-language=E&sap-syscmd=nocookie ) , when i click on one button i am navigating from this application ZTEST1 to ZTEST2 bsp application(which is popup).

I am successfully navigating to ZTEST2 application but when i click on any button(raise event) i am getting this session time out issue.

Code in page

'script language="javascript"'
`var lv_url = '/sap/bc/bsp/ztest2/worklist.do?ID=data1&DATA_REF=HDR';'
 widow.open(lv_url,'350','100');` 
  '/script

Vinay.

Former Member
0 Kudos

Hi Vinay,

Specifying sap-syscmd=nocookie tells the BSP framework to look for session ID in the URL (/sap(<session ID>)/bc/bsp/...).

When you launch URL /sap/bc/bsp/..., there is no session ID, that's why you are getting the error.

So you should really use standard functions to build URLs.

Just replace:

`var lv_url = '/sap/bc/bsp/ztest2/worklist.do?ID=data1&DATA_REF=HDR';'

by:

`var lv_url = '<%=runtime->get_url_new_session( application_name = 'ztest2' page_name = 'worklist.do' )%>?ID=data1&DATA_REF=HDR';'

Regards,

Tanguy

Former Member
0 Kudos

Hi Tanguy,

Have you got my message to you, i sent to you.

Thanks,

Vinay

Former Member
0 Kudos

Yes, I received it.

Those print screen are useful. Even if the other BSP is showing the first screen, I still think you should specify the session (same, new, or none) when building the URL (using the cl_bsp_runtime class).

Here is what I think is happening:

1) you call the BSP ztest2 without specifying session.

2) BSP framework creates a new session for ztest2, and tries to create a cookie for storing it. As cookies are disabled for storing sessions, the session ID is not retained.

3) ztest2 is showing the page with its new session

4) when you click on any button in ztest2 app, you send a server event

5) the BSP framework looks for a session ID which it doesn't find (see above: it looks for a cookie which does not exist because they are disabled)

6) the BSP framework sends a response with session error.

Did you try what I advised earlier?

Regards,

Tanguy

UweFetzer_se38
Active Contributor
0 Kudos

Hi Vinay,

the fastest way (without code change) is: use a 2nd (different) browser ie. Firefox.

"Private Mode" in Internet Explorer is not enough.

Regards, Uwe