Wednesday, December 29, 2010

Must-have parameters on the ITS

When using the ITS to launch transactions from CRM in the ERP system, there are a few parameters that I would recommend you check, to make the life of the users a little better.

You can choose to set the parameters in the webgui service in SICF (in the target system), or to add it as a parameter in the URL in CRMS_IC_CROSS_SYS in SAP CRM (after the ? or &).

To set the values in the SICF, change the webgui node
(/default_host/sap/bc/gui/sap/its/webgui) or create an alias for this node, and edit the GUI configuration settings in the Service Data tab.


Wednesday, December 22, 2010

Calling transactions and reports using the Transaction Launcher

From CRM, you can call functions in other applications using the transaction launcher.
When calling a transaction in SAP ECC or when calling a SAPGUI transaction in SAP CRM, you will be using the ITS. The setup of the ITS is described here.

Calling reports or transactions is done using so-called BOR-Methods. BOR stands for Business Object Repository, and is one of the first object-oriented initiatives in SAP. The business object repository contains a wide variety of objects like 'businesspartner', 'activity', 'marketingcampaign' etc. Most Business objects in the BOR start with 'BUS', followed by a number.

The Objects of the Business Object Repository can be viewed using transaction SWO1 (not to be confused with SW01). In this transaction, you can view the standard BUS Objects, and if necessary create a new one containing your own coding.

Often used objects are REPORT and TSTC (which in the ERP system has to be copied to ZTSTC because the method has to be synchronous).

Maintenance of the transaction launcher is available in the IMG under Customer Relationship Management --> UI Framework --> Technical Role Definition --> Transaction Launcher --> Configure Transaction Launcher.
The wizard will guide you through the process.
In the first screen you enter an ID. This should start with a Z or Y.
In the field Component Set, you can enter value 'ALL'.
In the second screen you enter the Description and the class name.
The class name is important. When you finish the wizard, this class will be generated using the values you entered in the wizard. The class will be saved in collection $TMP. This means the generated class will not be transported to other systems.

This screen also contains two checkboxes. 
The stateful checkbox determines whether the called screen should open in a popup or embedded in the current screen. When you set the indicator, the screen will open as a popup.
The Raise Veto checkbox determines whether a message should be raised when the user navigates away from the page. At least, that's what the helpfile wants us to believe. In practice, the popup will unfortunately always be raised when calling a BOR Object, whether the Stateful and Raise Veto checkboxes are selected or not.

Once you have finished the wizard, you can take a look at the class in SE80. The class will contain a couple of important and less important methods.

Because the class isn't transported (because it's in $TMP), you can expect that the after transporting the customizing to the QAS and PRD, the system will automatically generate the class in the target system.

I have noticed that in some cases (I believe when you have changed your launch transaction customizing), it sometimes happens that the classes are not automatically generated in the target system. Due to this, your change will not take effect.

If this happens, just manually run the wizard in the QAS (or PRD). Even though the system tells you you are not allowed to change the customizing, it will regenerate the coding, and the change will be effective. You don't need to open customizing to do this.

Wednesday, December 15, 2010

Setting up the ITS in SAP ERP and in SAP CRM

ITS stands for Internet Transaction Server, and was incorporated in SAP Netweaver as of version 04 Before that time, the ITS was a service that ran outside of SAP.

The ITS renders the SAPGUI screens online into a browser-supported format. This means that any changes that have been made in the SAPGUI screen will automatically also be available via the ITS.

The ITS is a plug-and-play service, which enables you to call your SAPGUI transactions in the webclient without building them in a web-page. This can be a very well affordable solution if you have created for instance a maintenance view or SAP query that you need to have available in the CRM Webclient. Of course it is also very usefull if you want ERP data to be visible or even maintainable for SAP CRM users without the big costs of rebuilding the functionality in BSP applications.

The downside of the tool is that the screens in the browser will not 'remember' the last entered values like the SAPGUI does, and because the screens are rendered real-time, the performance of the screens will not meet up to the performance of the SAP Webclient screens or the SAPGUI itself.

If you want to enable the ITS, you have to enable the following services in SICF of the system where you want to use the ITS.
default_host > sap > bc > gui > sap > its.

If you want to call screens from SAP CRM using the ITS, you will also need to set up the ABAP connection between the systems in SM59, maintain the logical system in BD54, map the logical system to the ABAP connection in BD97, and maintain the ITS URL in transaction CRMS_IC_CROSS_SYS.

When setting up the above, make sure the settings meet up to the following:
  • The logical system must have the same name as the ABAP connection. You won't notice during customizing, but the connection will not work if you don't.
  • Make sure the ABAP connection is one where the user logs on with the own username. This will prevent anonymous changes in the system.
  • Make sure the ABAP connection is a trusted connection. This will prevent that the user has to log on every time he calls the transaction.
  • The URL should be as follows (Note that in ERP the transaction to be called is LTXE, while in CRM it is LTX.
  • Implement logon tickets in SSO 1 and exchange server certificates in transaction SSO1 to prevent that the user has to log on when calling the ERP system.
In CRMS_IC_CROSS_SYS, enter the following, where you should change the values between the <> to the values of your system.
 
CRM
HTTP://<Host>:<port>/sap/bc/gui/sap/its/webgui?~transaction=IC_LTX&~okcode=ICEXECUTE
ERP
HTTP://<Host>:<port>/sap/bc/gui/sap/its/webgui?~transaction=IC_LTXE&~okcode=ICEXECUTE

If you don't know the port that is used for HTTP traffic, check transaction SMICM, in the menu choose GOTO --> Services (SHIFT-F11). Note the portnumber in the HTTP value.

When calling a BOR method from SAP CRM using the ITS, the system actually calls a transaction (LTX or LTXE) in the system, which on his turn calls the BOR-method with the parameters that you have specified.

Wednesday, December 8, 2010

Automatically attach the PDF factsheet to activities

In the IMG under Customer Relationship Management-->Transactions-->Settings for Activities-->Attach Fact Sheet to Activities you can set that your PDF factsheet is automatically attached to specified activities that are created.

You can customize per business role for which activity types and in which language the factsheet should be automatically generated and attached.



This functionality is particularly useful if you have for instance Sales Managers visiting customers. If you have implemented the (enhanced) factsheet, implemented the automatic attachment on the visit activity and implemented groupware integration, the Sales Managers will have the factsheet in the appointment in their outlook. When preparing for the meeting, they will now have an offline overview of the customer data.

Note that when saving the activity, this will from now on also include building the customer factsheet. To users, it will seem as if the system is slow if the data retrieval for the factsheet takes a long time.

Wednesday, December 1, 2010

PDF Factsheet enhancements

Getting from this... To this...

If the standard fact sheet does not meet up to the business requirements for a factsheet, you can choose to create a copy of the standard and alter it in transaction smartforms.

After you have made the changes you can assign the newly created PDF factsheet as described here.

In order to create your own factsheet, go to transaction smartforms and enter smartform CRM_ACC_ACCOUNT_OVERVIEW_PRN in the form field.
Click on the copy button and create your own Z-smartform.

If you assign this Z-smartform to the business role as described here you will be able to create your own version.

Particular changes would be:
  • Changing the smartstyle. You can do some easy enhancements on the look and feel by applying a more readable font.
  • Changing the layout. The standard is not as readable as you might expect. Some information is better off without borders in the table columns.
  • Delete unnecessary columns and add proper information.
  • Add your own coding and thus your own customer-specific information. A logical addition would for instance be (part) of the long text of an activity. You might of course also add information from your ERP system by adding a remote function call in the smartform. Be aware of performance though. If you have SAP retrieve much information, you will very likely have to wait for some time when opening the PDF factsheet.
If you want more information on how to do the programming in the factsheet, feel free to leave a message or contact me directly via twitter @p_rijlaarsdam