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
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.
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
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.
[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
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
we make changes of the transaction code CRMD_ORDER into lower cases as following and then F8.
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.
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.
Author: Hongyan Shao
Role: Support Consultant - SAP China
Session Date: Sep. 7th, 2011
Publish Date: Sep. 7th, 2011