In my previous blog (Testing some of the new features in SAP CRM EhP1, EhP2 and EhP3) I explored some of the general features delivered with SAP CRM EhP1, EhP2 andEhP3. In contrast to that I'll explore utilities industry specific features in this blog, namely the Utilities Check Cockpit (UCC) and the Check Repository in the process framework.
The Utilities Check Cockpit as well as the Check Repository are part of the business function CRM_UT_ER_2 (Energy Retailer 2 - Business Functions for SAP Customer Relationship Management - SAP Library) delivered with SAP CRM EhP2. In order to use these features the business function CRM_UT_ER_2 needs to be activated using transaction SFW5.
However, the Utilities Check Cockpit has also been down ported to SAP CRM 7.0 EhP0 and EhP1 (cf. SAP Note 1742546 - Utilities Check Cockpit for further details).
The Utilities Check Cockpit is a tool to automatically perform comprehensive consistency checks of utilities specific application data. In particular the Utilities Check Cockpit can be used to check the consistency of contract and technical data across SAP CRM and SAP IS-U. Inconsistencies of the utilities specific application are usually sources process problem. An Example of such an inconsistency is a contract that has been cancelled in SAP IS-U and were the cancellation has not been replicated to SAP CRM correctly for whatever reason. This will most likely cause a process problem if an agent tries to create a move out for the contract in SAP CRM. The Utilities Check Cockpit aims to identify such inconsistencies before they can lead to process problems.
The initial setup of the Utilities Check Cockpit is pretty easy. Besides the activation of the business function CRM_UT_ER_2 the only thing I had was to implement SAP Note 1919089 - CRM-IU: Utilities Check Cockpit - Creation of a Check Run causes a dump. This note contains only the instruction to create two number range intervals for the number range objects CRM_UOCM and CRM_UOCM_I.
After this, the Utilities Check Cockpit can either be started using transaction CRM_IUCMON or via the Check Cockpit -> Check Run in the UTIL_SALES business role.
In order to execute an individual check run or schedule a periodic check run click "New" and select the check run category. SAP delivers three check categories in the standard delivery of the Utilities Check Cockpit, namely:
After the selection of the check run category one needs to set the parameters for the check run as well as the scheduling parameters for the batch process executing the checks. In the example below I've selected two check classes and scheduled the background job for immediate start. Furthermore, it is possible to provide an email address for a notification upon completion of the check run.
Upon completion of a check run the Utilities Check Cockpit provides an overview of the found issues for each of the selected check classes. For each issue it is possible to create a task and assign it to some agent in order to get the issues resolved. In the screen shot below the results of the check class CL_CRM_ISU_CM_CHECK_CANC are shown. This check class searches for contracts which are cancelled in IS-U but not in CRM. In the example check run 10 such cases were identified.
Furthermore, the Utilities Check Cockpit also offers the possibility to implement automatic corrections for each issue. However, none of the check classes delivered in the SAP standard provides functionality for an automatic correction.
In the standard SAP delivers the following set of check classes:
In addition to those check classes it is quite easy to extend the Utilities Check Cockpit with custom check classes. In order to create a custom check on needs to implement the custom check in a class implementing the interface IF_CRM_ISU_CM_CHECK. The check classes delivered in the SAP standard (e.g. CL_CRM_ISU_CM_CHECK_I2413), which are located in package CRM_IU_CM_API, provide plenty of code examples how to implement a custom.
After a custom check class has been implemented it only needs to added to the customizing at SPRO -> Customer Relationship Management -> Industry-Specific Solutions -> Utilties Industry -> General Settings -> Utilities Check Cockpit -> Define Settings for Utilities Check Cockpit. After this, the custom check class can be selected when a new check run is scheduled.
In order to provide an automated correction, the two methods IF_CRM_ISU_CM_CHECK~CORRECT and IF_CRM_ISU_CM_CHECK~IS_CORRECTION_SUPPORTED need to be implemented in the custom check class.
The second feature I want to focus on in this blog is the check repository in the process framework. If additional checks needed to be performed in the standard process classes (like e.g. CL_CRM_IU_PR_CNTR_END) the only way to do this was via the following approach:
There are a large number of scenarios requiring the implementation of custom checks in the process classes. In the systems of our clients custom checks are implemented, for example, to check the market communication deadlined before the creation of a move in or check if contract was billed after the date of a planned move out. The check repository in the process framework focuses exactly on this use case. It enables the addition of custom checks to the standard process classes without the need to create a custom process class implantation. Instead a custom check is implemented using the following approach:
In the following sections I'll describe these steps in more detail.
The class CL_CRM_IU_PR_CHK_CNTR_BILL_END in the package CRM_IU_IC_6X_SI_PROC_IMPL provides an example of a custom check implemented using the check repository. In the method IF_CRM_IU_PROCESS_CHECK~CHECK a check for a existing bill after the planned move out date is performed. In order to implement the check the method IF_CRM_IU_PROCESS_CHECK~CHECK has access to the process context. Furthermore, a reference to the log object is available in order to raise error messages to the user if necessary.
The customizing of the check repository is locates at SPRO -> Customer Relationship Management -> Industry-Specific Solutions -> Utilties Industry -> Settings for User Interfaces -> Transaction Processing -> Processes -> Define Processes.
In order to add a custom check to the check repository first a Check ID needs to be created. In the example below the check ID UCBILLEN is assigned to the implementation class CL_CRM_IU_PR_CHK_CNTR_BILL_END.
Next the check can be added to a process. In order to add a check to a process the execution time and the execution frequency within the process framework needs to be specified. The execution time is specified within the methods of the process framework, i.e.. checks can be executed before or after the following methods of the process framework are called for the process implementation class
In the example below the check UCBILLEN is executed after the method IS_COMPLETE of the process framework is called. Furthermore, the check will only be called once per execution of a process. In contrast to that it is also possible to execute a check for each item of a process.
In summary, the check repository provides a nice, clean way to extend the standard process classes with custom checks.
Christian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
6 | |
1 | |
1 | |
1 |