cancel
Showing results for 
Search instead for 
Did you mean: 

disconnectonclose = 1 causes session to terminate on button press

former_member498918
Participant
0 Kudos

We are currently migrating our external ITS services to Internal ITS.

One of the services works fine until we add disconnectonclose = 1 to the service file. When this is added the user is disconnected from the page each time a button is pressed. We would like to use this parameter to prevent the locked timesheet issue.

The service is a copy of CATW from some time ago with many of our own changes. Therefore we do not want to have to use CATW and make the changes again.

Can anyone point me in the right direction to fix this problem? Is there something I can add or remove from my templates to avoid this problem? Has anyone else seen this probelm?

Thank you

Karen

Accepted Solutions (0)

Answers (1)

Answers (1)

thorsten_domsalla
Active Participant
0 Kudos

Hello Karen,

> One of the services works fine until we add disconnectonclose = 1 to the service file.

You mean ~disconnectonclose? What parameters else are defined in that service? What is the action on the button press supposed to do? Is there a parameter like ~singletransaction defined?

~disconnectonclose first lets the ITS create a frameset on session startup. This frameset manages the current session running the dynpros in a frame. On change of a frame the session will continue to exist. But when the frameset gets unloaded (by closing the window or changing the address of the window containing the frameset) the session will be closed by sending a /nex okcode.

Now, if the button triggers some Javascript code that affects the top frame in such a way that it gets changed, the session will be closed.

A good tool is an HTTP tracer that shows the requests and responses sent to and from the ITS. In case ~disconnectonclose is responsible for the session termination you will see a request containing a ~okcode=%2Fnex or equal. If so I expect the ITS frameset has been manipulated in some way.

With best regards,

TJ

former_member498918
Participant
0 Kudos

Thank you for your reply. Yes, I mean ~disconnectonclose.

I don't think I have manipulated the ITS frameset. What would I have to do to do this? Is there something I can check to make sure we are not manipulating the ITS frameset. All I have got is an HTML page with one standard form in it. The page is closing on any button press or anything else that refreshes the page when we add ~disconnectonclose = 1.

The ~disconnectonclose function is working in other transations so there is something set wrong in this one. Is there any help on how the frameset works. I'm really at a loss as to what to look at next.

I'm not aware of a parameter ~singletransaction. What does that do?

Cheers

Karen

thorsten_domsalla
Active Participant
0 Kudos

Hello Karen,

~singletransaction does not allow the user to change the transaction to another one than the one started with the service.

> ... an HTML page with one standard form in it.

What does the <form> look like? Does it contain a target attribut, e. g. <form ... target="top">?

Can you post the HTML source code of the page (or of the <form> and the button) so that I can have a look at it?

With best regards,

TJ