Purpose:
Transaction launcher can be opened in a new window from CRM webui page. But what is the backend logic? Which JavaScript is used to open this new window with expected url?
Environment:
The source codes come from CRM of version SAPK-74713INWEBCUIF/SAPKU71313
Steps:
Firstly, let’s make a HTTPWatch trace. From the trace, we can easily find out the requests for the new window.
As shown above, firstly, the request for crm_ui_frame/genericpostexecutionnewwindow.htm is sent out. In its content, we can find the next request crm_ui_frame/genericpostexecution.htm which contains webGUI requests. After this, transactions are processed on webGUIs.
Next, let’s see the way to find out how the new window is launched. We can use ‘Find’ button of the httpwatch tool to search with key word ‘genericpostexecutionnewwindow.htm’. We can find it in a crm_ui_frame/bspwdapplication.do request which is before the request of genericpostexecutionnewwindow.htm.
‘../crm_ui_frame/genericpostexecutionnewwindow.htm’ is transported to a javascript function launch_ltx_window as a parameter.
Where is this JS function located and what is it doing? Let’s click F12 to open the developer tools, search term launch_ltx_window. This JS function is in the js file 'LaunchTransactionAdmin.js' under BSP Application UICMP_LTX.
Now we click transaction launcher from the CRM webUI, the JS breakpoint stops. Keep clicking F10 and go to line 97, the source codes are:
ltx_window = window.open(url, ltx_window_name, "resizable=yes");
In order to check what URL is, we can double click on the ‘Global code’ from the callstack from the right side. It is more clear to get the value of url parameter:
Additonal:
Now we know the new window is actually launched from JS codes window.open. We can easily understand the information in
SAP KBA 2371634 - How to adjust the window size of transaction launcher.