SAP NetWeaver Portal allows you to access Web sites and other systems from within SAP CRM. Find out how the transaction launcher enables this functionality in systems without SAP NetWeaver Portal implemented.
Key Concept
In the standalone version of the CRM WebClient UI, you can access another system's transactions through a feature known as the transaction launcher, which is a wizard that generates any code necessary to enable you to execute a URL or transaction code in SAP CRM or other SAP systems. This tool was previously only available in Interaction Center (IC) WebClient. The IC WebClient GUI was the basis for the CRM WebClient UI (the only end user GUI for SAP CRM 2007), so this feature is now supported for all functional areas of SAP CRM.
With SAP CRM 2007, the only supported interface for end users is the new CRM WebClient UI. You can either run the new CRM WebClient UI as a standalone application supported by your internet browser or incorporate it as a portal iView and access it that way.
SAP is moving towards transactions designed for Web use, so you need to consider which Web approach is better for your users. Imbedding the CRM WebClient UI in SAP NetWeaver Portal provides cross-system access to other SAP systems, such as SAP NetWeaver BI and SAP ERP Central Component (SAP ECC). If you pick the standalone version, access across systems is harder to configure, but you can use the transaction launcher to provide some of the cross-system access capabilities that SAP NetWeaver Portal provides.
If you do not have SAP NetWeaver Portal implemented, I'll show you how you can use the transaction launcher for cross-system access with the standalone version of the CRM WebClient UI. My assumption is that your company has SAP ERP 5.0 or 6.0, SAP CRM 2007, and SAP NetWeaver BI 7.0 or later. I also assume that you have implemented an Internet Transaction Server (ITS) to access SAP ERP transactions via the Web.
Note
If you have SAP NetWeaver BI 7.0 or later, you need to install SAP NetWeaver Portal to access any Web-based output. The installation of the portal includes the code to create SAP NetWeaver BI Web reports. However, this does not mean that the users need to use the portal as their GUI.
Determine Your Approach
Table 1 shows the matrix of the business issues and the suggested GUI. The purpose of this table is to get you thinking about your options. You can see that I lean towards using the portal as the end user GUI in most cases, even though it is not a technical requirement. This option allows you to add non-CRM content without having to know CRM WebClient UI configuration.
|
Low-level operational/execution workers, such as receiving clerks, who are not in an SAP CRM area. Users rarely access systems other than SAP ERP.
|
P
|
S
|
S
|
|
Low-level managers or workers in Marketing, Sales, Service, or Interaction Center (IC). They access SAP ERP and SAP NetWeaver BI, but not as their primary tasks.
|
-
|
P or S
|
P or S
|
|
Non-CRM mid- to high-level managers. Their jobs focus on analysis, but they access SAP CRM infrequently.
|
-
|
-
|
P
|
|
CRM mid-level managers who need mostly analysis
|
-
|
S
|
P
|
|
High-level managers in all areas of the business
|
-
|
-
|
P
|
|
Corporate standards dictate that the portal should be used as a central security/access gatekeeper. This could be because corporate needs to have a delivery method for non-CRM information, for example.
|
-
|
-
|
P
|
|
You are a customer or partner (dealer/wholesaler) who needs SAP CRM data access for collaboration.
|
-
|
P
|
S
|
|
| Table 1 |
GUI options. P = primary GUI and S = secondary GUI |
However, if you do not have SAP NetWeaver Portal, you can still set up cross-system access in SAP CRM using the transaction launcher. First you need to carry out some preliminary and follow-on work to get it all up and running. I have broken up the rest of this article into three parts: preliminary tasks, using the transaction launcher wizard, and integrating the new transaction and URL. I will cover two separate uses of the transaction launcher, launching a URL and an SAP ECC-based transaction code. Although the final steps are the same for both scenarios, the preliminary steps are different for each.
Note
Although the SAPGUI is no longer supported as an end-user interface, the configuration team still uses SAPGUI for Windows to set up SAP CRM configuration.
Preliminary Tasks
The preliminary work required is partly Basis work and partly a functional CRM consultant's work. The Basis part is that an ITS must be set up to execute Web-based transactions in any target system you intend to use as a target system for your new transaction. The ITS takes in a URL as input and sends a Remote Function Call (RFC) to the SAP system, on the return, it processes an HTML format back to your Internet browser.
After the ITS is installed on the target system, the Basis team provides the URL for it. This information ends up as part of the command that the SAP CRM link generates. Figure 1 shows the information that the Basis team provides after a successful installation of an ITS. In my example, it points to an ITS that is linked into my target SAP ERP system. The Basis team provides the information in this configuration step. Note that the full URL in Figure 1 is https://t37tdc00.wdf.sap.corp:55080/sap/bc/gui/sap/its/webgui/!? ~transaction=IC_LTXE&~okcode=ICEXECUTE.

Figure 1
Configuration transaction CRMS_IC_CROSS_SYS
Additional prep work is required for each category of transactions that you want to launch. For example, to launch URLs such as google.com, you must first create the URL. The transaction launcher then wraps this URL with SAP- generated code so that you can use it within SAP CRM. In my example, I want to be able to go to the weather in Germany at www.wetter.net. To create the URL for this example use transaction SPRO and follow menu path Customer Relationship Management>UI Framework>Technical Role Definition>Transaction Launcher>Define URLs and Parameters. Enter the information shown in Figure 2.

Figure 2
Add the URL that you want the transaction launcher to reference
Next you need to do the preliminary work for running an SAP transaction. The pre-work in this case is the requirement to have a Business Object Repository (BOR) object type that allows the method EXECUTE and also supports synchronous calls.
Note
In my example I show how you could execute any transaction by using the object TSTC with its parameter of “any transaction you want to use.” SAP provides some pre-delivered logical links, such as ERP-CUS-OV, that link to BOR object type KNA1 (customer). A logical link has a direct connection to both a BOR object type and method or a URL to other CRM WebClient UI objects such as work centers. Review the delivered logical links and existing BOR object types to see if you need to access the object via this flexible TSTC type, or if a more specific BOR Object type is available.
I used to think that BOR types were just objects —such as customer, material, and order — that had methods (subroutines/functions) such as DISPLAY or CHANGE. However, there are a few that have the method EXECUTE. One of these is the SAP-delivered BOR object type TSTC (transaction). It has the method, but it does not have the delivered property of synchronous calls, so I need to copy this BOR object type and change its properties. I use this BOR object type with a parameter (the name of the transaction) to execute transaction MM02 (change material) in SAP ERP, so I create the custom BOR object type in SAP ERP.
Note
Instead of creating a new object type, your ABAP team can use a referencing technique to inherit the bulk of the SAP-delivered object and override the synchronous call property. Before you create the new object type, consult with your ABAP team to see if they prefer this method.
First, use transaction SE80 (Repository Browser), which is a tool that finds all the objects in an SAP system (Figure 3). Click on Repository Information System on the left side of the screen. Navigate to Business Object Types and enter tstc for the Object Type. Then click on the execute icon.

Figure 3
Use the Repository Browser to find TSTC
Now you can copy the TSTC type. Go to Business Objects>Copy. Enter the custom name you want to use for your new object type and click on the copy icon. I named my object type ZNEDTSTC. Then click on the change icon to select the change mode for your newly saved object. Expand the methods and select Execute. Change the property by selecting the Synchronous option (Figure 4).

Figure 4
Change the property for the Execute method
The last step is to generate the object so you can use it in the transaction launcher wizard later. Go to Edit>Change Release Status>Object Type>To implemented to change the object's status to implemented. From this status, the system can generate the object for use.
The Transaction Launcher Wizard
Now that you have finished the prep work, you can use the transaction launcher. The transaction launcher wizard creates any code that the system needs to kick off the URL or SAP transaction you set up previously.
I use the transaction launcher twice in my example — once to configure the URL-based transaction and once for the BOR object. To start the transaction launcher, follow IMG menu path Customer Relationship Management>UI Framework>Technical Role Definition>Transaction Launcher>Configure Transaction Launcher. Enter the transaction ID in the Launch Trans. ID field and click on the Continue button (Figure 5).

Figure 5
Start the transaction launcher
In the next screen, enter a Description and Class Name (Figure 6). The class is an ABAP object-oriented (OO) class that stores the code that the wizard generates. In my example, I selected the Stateful box, which means that the new transaction is launched in its own window. This is personal preference, but it can make it easier to view an order screen in SAP CRM and a materials screen in SAP ERP, for example. Click on the Continue button to proceed.

Figure 6
Enter the Description and Class for your launch transaction ID
Enter the BOR object type that you want to reference (Figure 7). In my case, the ITS is linked to the logical system ERP T90CLNT800. This is the system that is called in the code that the transaction launcher wizard generates.

Figure 7
Add the BOR object for your launch transaction ID
The parameters pane is the final link in my first example. This is where you enter the actual transaction code that you want the wizard to execute (Figure 8). For my example, I want to launch transaction MM02.

Figure 8
Select the parameter you want to use and the transaction you want to launch
URL Setup
This is simpler than the BOR process I showed you. The only entry that is tricky is the URL itself. This is not the real URL but rather the one I created in the setup step in the beginning of this article. To proceed, return to the transaction launcher. I named the launch transaction ID ZFALK_URL_TRANS_ID and assigned it to the ALL component set (Figure 9). Click on the Continue button and enter the technical details shown in Figure 10.

Figure 9
Create the Launch ID that the system uses to create a logical link

Figure 10
The class ZFALK_URL_TRANS_ID holds the code that the wizard generates
Click on the Continue button to enter the Further Technical Details. For this URL-based transaction I entered the URL www.wetter.net. Continue clicking through the screens to complete the setup.
Integrate the New Transaction and URL
Now that you have both transaction launch transaction IDs, you need to integrate them in a new SAP CRM 2007 object called a business role, which is the new object that organizes a user's work tasks. For my example, I am changing the work tasks by adding two new ones, so I need to create or copy and then modify several CRM WebClient UI-related objects that make up our role's navigation bar profile.
Access the navigation bar profile by using transaction SPRO and following menu path Customer Relationship Management>UI Framework>Technical Role Definition>Define Navigation Bar Profile. The first items I need to create are the logical links, which are the building blocks for the navigation bar profile. In the Dialog Structure, click on the Define Logical Links folder. In the screen that appears, enter the details as shown for ZNED_URL in Figure 11. Repeat this for the second logical link — in my example, ZNED_BOR.

Figure 11
Define the logical link for the German weather URL
Now that you have the links, you need to create either a work center link group or a direct link group, depending on how you want the user to access these links. In my case I want the user to find the links at the bottom of the navigation bar, so I create a direct link group. Go back to the Dialog Structure and click on Define Direct Link Groups. In this step you create a direct link group (ZNED_LGRP) then use the sub task to assign the links you created (Figure 12). Direct link groups provide a collection of logical links that appear at the bottom of the navigation bar in the CRM WebClient UI. Click on Assign Links to add links and define the order in which they appear in the group (Figure 13).

Figure 12
Create the direct link group

Figure 13
Assign the logical links created above and set their order
Now I need a new navigation bar profile to integrate the new ZNED_LGRP link group. In the Dialog Structure, click on Assign Direct Link Groups under Define Profile. I created the new profile as a copy of the SAP-delivered profile ZSLS-PRO (Figure 14). The new link group follows the SAP-created link group in the navigation bar.

Figure 14
Assign the link groups to the copied profile
Following normal configuration procedures you need to create a new business role and a copy of SAP- delivered objects. During the copy function, assign the navigation bar profile you just created. Use transaction SPRO and follow menu path Customer Relationship Management>UI Framework>Technical Role Definition and Customer Relationship Management>Business Roles>Define Business Role. In the Dialog Structure, go to Define Business Roles.
In the screen that appears, you can see the navigation bar profile you just created (Figure 15). In my example, this is ZSLS-PRO. In addition, you need to enter a new PFCG authorization-based role because each business role has to have a unique PFCG role. Press Enter to execute the copy.

Figure 15
Set up the new business role ZSALESPRO_NF
Before you use your new business role you must enable the links in the direct link group. This extra step is designed to make sure the end user is not surprised with links that were not approved by the person who is in charge of the business role. In the Dialog Structure, go to Define Business Roles>Adjust Direct Link Groups>Adjust Direct Links (Figure 16). Select the check boxes in the Visible column for the two logical links you created.

Figure 16
Select the Visible check boxes to prevent hiding of the logical links
When you have assigned your user to the new business role, check the logical links to see if your new link appears. In my example, the logical link to the German weather Web site appears under my NED's LINKS direct link group (Figure 17). Clicking on this link takes me directly to www.wetter.net.

Figure 17
Logical links appear in the direct link group
Note
The material in this article is derived from Ramp-Up Knowledge Transfer (RKT) training course RTUI60 and CRM training course CR580. RKT training is available to early adopting customers who need knowledge quickly, whereas anyone can take the CRM training course. The example I use in the article takes the material one level deeper because I discuss launching a transaction on SAP ERP rather than SAP CRM. If you want more information, refer to these sources as well as online help at
https://help.sap.com/saphelp_crm40/helpdata/en/12/c3e68620514b499c06b8eb26874424/content.htm. You can disregard the statement in the help document that this only works with IC WebClient.
Ned Falk
Ned Falk is a senior education consultant at SAP. In prior positions, he implemented many ERP solutions, including SAP R/3. While at SAP, he initially focused on logistics. Now he focuses on SAP HANA, SAP BW (formerly SAP NetWeaver BW), SAP CRM, and the integration of SAP BW and SAP BusinessObjects tools. You can meet him in person when he teaches SAP HANA, SAP BW, or SAP CRM classes from the Atlanta SAP office, or in a virtual training class over the web. If you need an SAP education plan for SAP HANA, SAP BW, BusinessObjects, or SAP CRM, you may contact Ned via email.
You may contact the author at ned.falk@sap.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.