This tutorial describes how to delete the user session with the parameter ~singletransaction when the transaction started with ~transaction ends.
When calling a transaction with ITS 6.20 using the parameter ~transaction, ITS takes care to delete the session when the transaction ends. With SAP Netweaver and integrated ITS this don't work because session handling is not longer done by ITS but by the SAP kernel itself. When a transaction ends the system shows the transaction selection screen with the "Start Easy Access Menu" button.
In a portal environment this is often not desired. SAP therefore enhanced the kernel to provide a similar functionality as with ITS 6.20. To activate this functionality you have to set the parameter ~singletransaction=1 in the ICF service. This parameter tells ITS to ask the SAP kernel to logoff a user session at the end of transaction. SAP note 959417 describes the kernel and support package requirements. For those who do not currently have access to the SAP service marketplace:
SAP Netweaver 2004, aka 640:
ABAP Support-Package: SAPKB64018
SAP Netweaver 2004s, aka 700:
ABAP Support-Package: SAPKB70009
The parameter has the limitation that it doesn't work if the transaction is terminated with LEAVE TO TRANSACTION. You should therefore not use this parameter with the standard webgui service but create an own z-service in SICF with ~transaction set to the tcode you want to provide your users.