Skip to end of metadata
Go to start of metadata

Web UI has provided numerous bsp components to simulate nearly all the transactions in CRM GUI. But there might still be chances that it is not enough. And this is also a problem if the system we would like to call is a non CRM system. To solve this, the most straight forward way is to launch SAP GUI transactions directly in Web UI, so that we are complete. Here comes ITS and Transaction Launcher.

This article introduces some basic knowledge about ITS which might be unfamiliar for CRM consultant. And then talk about some basic settings and info about transaction launcher.

 

[Question 1]: what is ITS?

ITS, Internet Transaction Server. There are Standalone ITS and Integrated ITS. Starting from SAP Basis release 6.20, we are having Integrated ITS instead. Thus for recent CRM release we are using Integrated ITS only. For the detailed difference between the two, please check online documentation: 

http://help.sap.com/saphelp_nw04/helpdata/en/54/4d9993c6592941a407313a6763575c/frameset.htm
And also note 709038 SAP Integrated ITS .

 

[Question 2]: How to Check ITS version?

Depends on Standalone ITS or Integrated ITS, different concept of ITS version applies. Please check Note 366052 ITS versioning  for detailed info. Let me put some highlight of the note here. The standalone ITS has its own version while Integrated ITS shares the same version with SAP kernel ("kernel release" and "patch level").

Let’s use one of the method to check Standalone ITS version introduced in note 366052 to make an investigation on Integrated ITS. Let’s start an ITS page from a CRM 7.0 system without CRM web ui (how to start it will be detailed in Question 3) which launches the crmd_order transaction. We can see the page itself contains nearly all the elements available in SAP GUI.


pic 1 

Now please use Ctrl + Mouse right click, this will call the IE context menu instead of SAP GUI context menu. Click View Source


pic 2

In the very beginning of the source, we can see, the ITS we are using is SAP Integrated ITS. If you are using a standard alone ITS, the ITS version info will be displayed here


pic 3

It is possible to get to know the ITS version in another very easy way. When you start ITS, there will be a loading page similar to the following. The ITS integrated or not, and the kernel version is all there. (big grin)

 

pic 20

 

[Question 3] How to test with ITS?

Sometimes, we might have to identify whether this is an ITS issue or CRM Web UI issue. The easiest way is to test the ITS without Web UI and see whether the problem could be reproduced. If the ITS URL cannot work by himself, this should be an ITS issue. Then how to start ITS without Web UI? Let’s start from CRM consultant point of view firstly. We have a transaction CRMS_IC_CROSS_SYS in CRM system for the transaction launcher customizing:


pic 4

In which we can see several entries, OWNLOGSYS is defined for CRM system itself, and another link for linked ERP system. Let’s test for CRM system firstly, copy the URL for ITS in the above customizing transaction and put it directly into a browser, after enter logon data, you find the following screen. Which shows an error. Please ignore it at the moment (We will discuss it in Question 4), and expand the transaction field by click on the grey triangle:


 pic 5

 Type in /ncrmd_order, and press Enter


 pic 6

This will bring us to the crmd_order screen again. This is a successful ITS testing. The same steps apply to ERP ITS, we can copy the URL from CRMS_IC_CROSS_SYS for mapped ERP, and test /nva01 for example.

Then if we forget about CRM, how can we test for ITS? From online documentation we can see that the URL for ITS is always

http(s)://<icman-host>:<icman-port>/sap/bc/gui/sap/its/webgui

Then what is icman-host and icman-port? Please execute transaction smicm, which is not only within CRM system. Menu: Goto->Parameters->Display, we are interested in the following parameters


pic 7

The icman-host is the value for icm/host_name_full. And our system is configured for HTTP only, thus, we take the PORT in icm/server_port_0 as icman-port. This leads to the full ITS URL as

http://iwdfvm3088.wdf.sap.corp:8000/sap/bc/gui/sap/its/webgui

Let’s verify this URL with the setting in transaction CRMS_IC_CROSS_SYS, they are the same regarding the starting part. We should be on the right road. Then let’s copy this URL into a browser, we can see the SAP Easy Access menu, just like what we do after logon to the SAP GUI interface.


pic 8

This is even better than our testing before, since there is not any error message. We can continue to test crmd_order for example. This is another successful ITS testing.

And still another way is to test from transaction sicf, we can search service webgui, and right mouse click and choose Test Service, the URL loaded should be the same as 

http://iwdfvm3088.wdf.sap.corp:8000/sap/bc/gui/sap/its/webgui which we tested before.



pic 17

If let’s compare the URL from CRMS_IC_CROSS_SYS and the URL we composed based on online documentation. We can have a brave guess can we replace the words after ~transaction=? Let’s test withhttp://iwdfvm3088.wdf.sap.corp:8000/sap/bc/gui/sap/its/webgui?~transaction=crmd_order
This leads us to the crmd_order in browser without any error message. Great!


[Question 4] How is ITS fits into Web UI as transaction Launcher?

We have two options to display a GUI transaction into Web UI using ITS technique. First is to create a URL pointing to ITS link as non BSP link. This is just like to call the link directly in a browser.


 pic 9

The other option is to use configure transaction launcher wizard


pic 10

We will not detail the above in this article. Please check article regarding how to configure the transaction launcher for more detail.

Almost Everything About SAP CRM Transaction Launcher - Part Ihttp://www.sdn.sap.com/irj/bpx/crm?rid=/library/uuid/3059fb20-987f-2e10-ef82-d147b9b5e8b4

 Within this article it talks about using httpwatch to record the transaction launcher page loading from CRM IC Web UI, and locate genericpostexecution.htm, and copy the content of the page. Let’s try to make it here also, and do bit more steps after that.
Here we use the option 2 which is to configure the transaction launcher using wizard. I start the CRM IC Web UI, start the recording of HTTPWatch and click on one link which was configured as transaction launcher. According to the above article, we search for genericpostexecution.htm as URLs in the HTTPWatch result.


pic 11

Click on Content tab, and notice the following underlined values

 
pic 12

Let’s goto SAP GUI, type in transaction code IC_LTX, it will show like this



pic 13

If we click on execute without entering anything, the screen will show error as what we test the link in CRMS_IC_CROSS_SYS directly (see pic 5), let's solve this.


pic 14

If I enter data according to the info seen in HTTPWatch as following in transaction ic_ltx:


pic 15

Then click on execute (the green tick icon), or enter ICEXECUTE in the command field, it will show crmd_order, which looks like in normal SAP GUI. But actually it was called via transaction ic_ltx.


pic 16

For this test, SAP support do NOT have to open HTTP connection which simulates customer's intranet environment. By testing with ic_ltx directly in GUI, we are able to test directly without browser regarding correct or incorrect input for transaction launcher. For example different BOR Object Type, different method, and different transaction code (the smaller cases of the transaction code, which is discussed in article Almost Everything About SAP CRM Transaction Launcher - Part I ).

The above SWCONT* hidden parameter were filled by method IF_CRM_IC_ACTION_HANDLER~PREPARE_DATA_FLOW of each handler class of the transaction launcher itself. It will look like 

ICWEBCLIENTBORKEYPARAMETER
=
'SU3'.

me->set_container_object(
iv_name = '<*MAINOBJ*>'
iv_object_key = ICWEBCLIENTBORKEYPARAMETER
iv_object_type = gv_bortype ).

 

[Reference]

online help

http://help.sap.com/saphelp_nw04/helpdata/en/54/4d9993c6592941a407313a6763575c/frameset.htm

Note

709038 SAP Integrated ITS

366052 ITS versioning

SDN article

Almost Everything About SAP CRM Transaction Launcher - Part I

[Info]

Author: Hongyan Shao

Role: Support Consultant - SAP China

Date: Aug. 26th, 2011

 

[Discussion]

Here we will put the question raised from readers, and try to put answer later on

[Q1]

Sep. 1st, 2011, from sumit mittal:

How to pass data back from transaction launcher? For example CRM web ui call ERP va01 transaction launcher, can the sales order number be passed back?

[A1]

Sep. 2nd, 2011:

This is possible, and similar solution has been provided in standard CRM already. Please start the wizard of creating transaction launcher, and you will get the following flag: Save Data in Activity Clipboard, If you select it.


pic 18

And the transaction launcher handler class will have extra coding generated in method IF_CRM_IC_ACTION_HANDLER~PROCESS_RETURN(core coding has been highlighted with red):


pic 19

Here the important method is

CL_CRM_UI_LTX_ITS_FR_DATA_FLOW

GET_ENTITY_FROM_CONTAINER

You may also reference the coding in

CL_CRM_UI_LTX_ABSTRACT_ITS

GET_AND_ADD_ENTITY_TO_AC

for necessary context coding needed. And you can make your own coding in the method

<Z transaction launcher handler class>

IF_CRM_IC_ACTION_HANDLER~PROCESS_RETURN

You are able to find the handler class quickly by transaction CRMC_IC_ACTIONPROF.

Another issue you might take notice is you have to ensure the object you are reading can be recognized by CRM, here some standard provided objects are available in table bsp_dlc_obj_type. If yours is missing, you may need to add into customizing of table bspc_dlc_obj_typ. Debugging into 

CL_CRM_UI_LTX_ITS_FR_DATA_FLOW

GET_ENTITY_FROM_CONTAINER

will tell you the necessary object type.

Hope this has answered your request!

[Info]

Author: Hongyan Shao

Role: Support Consultant - SAP China

Session Date: Aug. 26th, 2011

Publish Date: Sep. 2nd, 2011
 

  • No labels

3 Comments

  1. Hello Hongyan,

    Thanks for the nice article.

    Could you please provide some info about the return parameters with transaction launcher? let's say we want to execute VA01 transaction in ECC and after the processing is completed we need the order number back from ECC to CRM with in the same session. 

    If possible please include some details around return parameter as none of the article has sample eg. for the return parameters.

    thanks in advance!!

    Regards,

    Sumit Mittal 

  2. Hello Sumit,

    Thank you so much for your question, please check at the bottom of this article, I've put your question, and my analyzing. Hope it could do some help for you.

    Regards,

    Hongyan

  3. Unknown User (kn8xs9p)

    Hi Hongyan,

    I can follow all of this right upto that last point that Sumit has asked, and would appreciate your advice.

    I have set up my transaction launcher to create a sales order in ERP. I set the flag to add the returned object to the clipboard, but got no result and no errors. So I debugged the code as you suggest and found what the missing element in bsp_dlc_obj_type was and added it. However, still no result.

    So, my expectation is to see the object listed in the activity clip board for the interaction record.  It would be nice if it was linked to my service request, but at the moment I would be happy to get any result. What am I missing.

    Thanks

    Peter