Page tree
Skip to end of metadata
Go to start of metadata

When trouble shooting, we might have a lot of assumptions. If there is quicker way to test the assumption, it would be great!

Assume that we got problem for the transaction launcher, for example the transaction launcher was not loaded, or loaded but incorrect. Let’s list some assumptions, and present the possible way of testing.

[Assumption 1] Suspect that the URL maintained for transaction launcher is incorrect.

As indicated in the previous session, the customizing related is in transaction CRMS_IC_CROSS_SYS

pic 1

We can test the URL directly in browser, but this URL does not contain the info related to the transaction launcher, for example the transaction code. Thus it might be worthwhile to test within the transaction launcher environment. And maybe it is not convenient for you to change the customizing in customer’s system for testing. Here we go, set breakpoint in



When we execute the transaction launcher, it will be hit, and you can find the logic regarding how URL is determined from transaction CRMS_IC_CROSS_SYS. And also we can change the


for example, change the transaction or okcode parameter.

pic 2

If the result is the same, we give up this assumption.

[Assumption 2] If the URL in CRMS_IC_CROSS_SYS can work fine, which means ITS itself is working. Then can the parameter was not correctly passed to ITS? The two parameters we used here are ~transaction and ~okcode. Let’s set breakpoint here



Here the system will check the parameters defined in

  • Transaction sicf
  • Parameter added in URL
  • Other setting in backend system

For the parameter defined in transaction sicf, it is in WEBGUI -> Service Data -> GUI Configuration

pic 3

Parameter ~transaction can be entered here, which will overwrite the one provided in URL. If ~transaction was not provided in URL and not available in sicf, the parameter ~okcode in URL will take important role. This might be related when you are doing trouble shooting.

pic 4

[Assumption 3] Could the parameter passed into IC_LTX or IC_LTXE is wrong?

Let’s set breakpoint in function module WCF_LTX_EWB_PROC_CREATE_RFC, while the breakpoint hit, let’s check the GT_SWCONT

pic 5

Here we can see the data being passed to ic_ltx transaction, and we are able to change the value for testing within debugging mode. The value here is the same as that in "content of genericpostexecution.htm in httpwatch trace" which we discussed in our last session.

Let’s make a testing similar to the one discussed in article

Almost Everything About SAP CRM Transaction Launcher - Part I

we make changes of the transaction code CRMD_ORDER into lower cases as following and then F8.
pic 6

If you are quick enough, you are able to see the following screen with error at the below. And soon the screen will be flashed and return to the previous page.

pic 7

Actually this error is not so correct. This is not related to authorization issue, but the transaction code should be entered with Upper cases. This can be adjusted via transaction launcher wizard.

[Others 1] okcode parameter not working

Beside the above, there might be some other points need to be considered while trouble shooting. In bit newer SAP Basis support package *, filter of okcode was introduced for ITS, this is to avoid wrong operation which might lead to data damage for example. And the coding was checked in



The parameter can be added in sicf, as~OKCODE_PERMIT~OKCODE_PROHIBIT
If okcode seems not working, this is worth of checking.

* didn’t check the detailed support package, as far as I checked in internal system, it might be introduced in SAPKB70108 for SAP_BASIS 701.


[Other 2] issue caused by logon userexit

To have a quick test to see if the issue is related to logon userexit:

  • When logon via SAP gui, are there any not familiar popup?
  • Set parameter ~no_logon_userexit in sicf gui configuration, and retest the issue.

Last time I met a problem, the transaction launcher in web ui can be loaded, but it shows the initial screen of IC_LTX, and not the transaction we want to be loaded. This means the ITS itself is working. And testing in GUI with the content of genericpostexecution.htm works fine. The transaction was loaded. Then the problem should be between the loading of ITS and the execution of IC_LTX with content, which should be the okcode not executed. Since IC_LTX is working fine, we contacted ITS colleague. And ITS colleague suggested parameter ~no_logon_userexit which solves the issue, and identified the root cause.



SDN article

Almost Everything About SAP CRM Transaction Launcher - Part I

SDN wiki

SAP CRM Transaction Launcher to SAP ERP BOR Objects - Debugging


Author: Hongyan Shao

Role: Support Consultant - SAP China

Session Date: Sep. 7th, 2011

Publish Date: Sep. 7th, 2011

  • No labels

1 Comment

  1. Unknown User (nf63aqr)

    Thanks for the article.

    If you do not want to change the default SAP SICF service with a parameter value, you can create an external alias with a reference to the ITS WebGUI service.
    In this external alias you can define the same parameters already exists in the WebGui service and add the parameter you want, for example ~no_logon_userexit.

    You can now point your url to: http://domain:port/webgui/\!?~transaction=IC_LTXE&~okcode=ICEXECUTE
    Instead of: http://domain:port/sap/bc/gui/sap/its/webgui/\!?~transaction=IC_LTXE&~okcode=ICEXECUTE