0% found this document useful (0 votes)
123 views14 pages

Process Framework in Contract Management - SAP CRM For Utlilities - SAP Blogs

Uploaded by

GL1254
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
123 views14 pages

Process Framework in Contract Management - SAP CRM For Utlilities - SAP Blogs

Uploaded by

GL1254
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Community

Ask a Question Write a Blog Post Login

Former Member
May 14, 2012 12 minute read

Process Framework in Contract Management – SAP CRM for


Utlilities
Follow RSS feed Like

7 Likes 12,683 Views 2 Comments

TABLE OF CONTENTS

Introduction.
What is a Process Framework?.
De ne Process.
Business Roles and Process Pro le.
Architecture Overview.
Enhancement Options / Customer-Speci c Process Implementation.
Related Content.

Introduction.

This document aims at understanding the Process Framework with respect to Processes used in Contract
Management area of SAP CRM for Utilities.

What is a Process Framework ?

The Process Framework developed by SAP, can be used to adjust the appearance and application flow of the
processes in SAP. Specific functions in the Process Framework are particularly useful in Contract Management
Processes in SAP CRM for Utilities. We can make the relevant configurations in Customizing. Moreover we can
create our own processes or copy SAP standard processes and adapt them to our needs. The main objective during
the development of the process framework was to integrate processes in a user interface. It is important that the
process control can be implemented easily in the SAP CRM WebUIs and in the call center interface.

[Link] 1/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Customizing Involved in Process Framework

All the SPRO customizing related to Process Framework are defined/maintained at the below path:

SPRO->Customer Relationship Management->Industry-Specific Solutions ->Utility Industries->Settings for


User Interfaces->Transaction Processing->Processes

De ne Process

Following are the two important parameters required to de ne a Process in the Process Framework:

1. Process Category
2. Process Class

[Link] 2/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Process Category

Each Process de ned in the Process Framework has to be associated to a Process Category. Once you have
created the process category, you can create the process de nition (process ID). The description of the
process also appears later on the generic user interface. The process category must be allocated to the new
process de nition, and it determines the process con guration parameters. Process views can also be
allocated to the process de nition. They are then included dynamically in the generic user interface when
the process is running.

The below screenshot shows the existing Process Category (for New Contracts) in the SPRO.

Process Classes

The process implementation class is the core of a process in the Utilities Process Framework. You can
implement checks for the executability of a process, pre-assignment of data in a document, and
completeness of data by means of a de ned interface in the form of IF_CRM_IU_PROCESS or
[Link] 3/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

IF_CRM_IU_PROCESS_HEAD. In Customizing, you can enhance or replace the implementation classes


provided by SAP with customer-speci c classes. This allows you to derive the SAP classes to implement
additional checks or exchange entire processes.

Process Reasons

Process reasons allow users to specify the reason for executing a process. They are allocated to the process
category in Customizing. The process reason with the lowest sequence number is used as the default value
at runtime. Process reasons are written to the process log so that they can be evaluated at a later point as
the process log remains as an enhancement of the standard CRM business transaction document. For
example, during a Cancel Contract process, a user can de ne a process reason to specify the reason for
cancelling the Contract.

Process reasons allow users to specify the reason for executing a process. They are allocated to the process
category in Customizing. The process reason with the lowest sequence number is used as the default value
at runtime. Process reasons are written to the process log so that they can be evaluated at a later point as
the process log remains as an enhancement of the standard CRM business transaction document. For
example, during a Cancel Contract process, a user can de ne a process reason to specify the reason for
cancelling the Contract.

After the Process Reasons are de ned in the customizing, it needs to be associated with the Process
Category. Below screenshot shows how this can be done in SPRO:

[Link] 4/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Subsequent Process:

We can link processes to a process chain. To do this, we allocate a subsequent process category or a
subsequent process ID to a process in Customizing. Now when the process starts and ends, the process
framework automatically starts the appropriate subsequent process. The process implementation controls
the transfer of data to the subsequent process by registering the process items using method
REGISTER_ITEM_GUID_4_FOLLOWUP of the process context interface for the subsequent process in
question.

Business Roles and Process Pro le.

Defining the Process Profile

After defining the Process in the Process Framework, the same needs to be associated to a Process Profile. The
Process Profile is then associated a Business Role. Mentioned below are the steps on how to associate a
Process Profile to a Business Role :

Define the Process (as already described earlier)

Process Profiles can be defined as shown below:

[Link] 5/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

After defining the Process Profile as shown above, processes can then be assigned to the profile. The below
screenshot shows the Process assigned to the Process Profile “Default”:

[Link] 6/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Assigning the Process Profile to Business Role:

The Process Profile with the relevant processes assigned can then be assigned to the Business Role as shown
below:

Go to the transaction: CRMC_UI_PROFILE and then select the required Business Role (in this case UTIL_IC_REG )

[Link] 7/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

After selecting the Business Role, double on the “Assign Function Profile” in the left panel. Then navigate to the
relevant Function Profile (IUPROCESS: Function Profile for Utilities Process).

The Profile Value already defined above in Point 4, now can be assigned to the Function Profile as shown in the
screenshot above.

Architecture Overview

The Utilities Process Framework was designed as a parallel layer to the UI, BOL, and API. The UI uses dedicated
methods provided by the process framework to control the processing of document items. The processing of UI
requests is delegated to the appropriate methods of the process implementation classes. Here, the standard CRM
business transaction API and the corresponding BOL entities can be used to access data. This allows simple and
above all customer-oriented use of the various APIs. The process framework makes sure that the BOL buffer
always reacts to changes at API level and that it is adjusted or invalidated as required. Implementing the process
triggers actions relating to the CRM business transaction data, and reacts to events triggered by background
changes at API level. This allows an individual reaction to a change to product, a date, or a point of delivery
allocation. As the implementation is process-specific, there are different reactions to these events depending on
the active process.

[Link] 8/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Overview of the Main Entities

A number of di erent entities play a central role within the Utilities Process Framework. This is

explained in greater detail in this section.

Process Manager:

The process manager is the central controlling unit within the Utilities Process Framework. All access to the
UIs takes place via the process manager in a special interface (IF_CRM_IU_PROCESS_MGR). The process
manager instance also de nes all document items to be used in processes. This virtual connection means
that items from di erent documents can be used together in one process. You can use the process manager
in the UI layer by means of the BOL entity IsuProcessMgr. This BOL entity is a BOL wrapper which provides
the functionality of the process manager as implementation class CL_CRM_IU_PROC_MGR_ENTITY derived
from the standard BOL entity class CL_CRM_BOL_ENTITY. The user interface application uses the factory
method GET_INSTANCE to determine the instance of the BOL entity. With BOL relation
“IsuProcessMgrProcessRel”, the available processes can then be listed as dependent BOL entities of
category IsuProcess.

Process Header and Process Item:

Process header and process item refer to the virtual representations of the process as an object

(Object Header) and the document item (process item). The process header does not necessarily

correspond to a document header, as a process can include items from di erent documents. The

process implementation classes correspond exactly to these two entities. This means that the

methods for the process header are called once only for each process, and the methods for the

process item are called for each document item contained in the process.
[Link] 9/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Process Context:

The process context de nes the context data for a process. You can temporarily store parameters in a
container, which you can access from the UI and from the process implementation.

Process Log and Log Access:

The process log allows you to log process execution. An entry is made in the process log every time a
process starts or ends. This means that you can evaluate the entries during processing. The start time, the
end time, the user name, and the process reason  selected by the user are all entered in the log. If a process
is cancelled by the user, it does not appear in the process log. The process implementation classes also have
access to the process log and can add messages or noti cations.

Enhancement Options / Customer-Speci c Process


Implementation.

Overview

The process implementation class is the core of a process in the Utilities Process Framework. We can implement
checks for the executability of a process, pre-assignment of data in a document, and completeness of data by means
of a defined interface in the form of IF_CRM_IU_PROCESS or IF_CRM_IU_PROCESS_HEAD. In Customizing, we
can enhance or replace the implementation classes provided by SAP with customer-specific classes. This allows us to
derive the SAP classes to implement additional checks or exchange entire processes. Both interfaces allow
implementations at process header level (IF_CRM_IU_PROCESS_HEAD as implementation interface for process
header) and/or at process item level (IF_CRM_IU_PROCESS for each document item). Therefore, depending of the
requirements of the process, you can decide the level at which an implementation is necessary. If, for example, we
want the process to react to a change of the allocated product for each item, the item implementation class is more
suitable. For a simple status change process, the implementation class at header level is sufficient. It is also possible
to combine the two implementation approaches. In this case, the methods of the process header implementation class
are always called first, followed by the methods of the item level class.

Central Methods

The process implementation classes implement the interface IF_CRM_IU_PROCESS_HEAD or

IF_CRM_IU_PROCES. The most important methods of process control are described below.

Each of these methods (except for INIT) has the instance of the process context as well as the

instance of the process log access as import parameters. This ensures that the current data such as the
items to be processed (GET_CURRENT_ITEM_GUID), the process context container, or the process
con guration can be accessed from the method implementation via the process context.

INIT: The INIT method is called on the rst instantiation of the process implementation class. The

[Link] 10/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

method allows you to prepare data for a process start, evaluate your Customizing data, and so on.

IS_EXECUTABLE: This method allows the process implementation to carry out checks regarding

the executability of a process. The return parameter SUCCESS can be used in the form of a

boolean value to release the process so it can be started. It is not possible to start a process if this method
returns the value ABAP_FALSE. The standard implementation of basic class

CL_CRM_IU_PROCESS_HEAD or CL_CRM_IU_PROCESS returns the value ABAP_TRUE. The method is


called implicitly when the START method is called.

START: The START method is the de ned time at which the process ow begins. The

pre-assignment of process items can take place here. In the event of an error, the method is exited by means
of the appropriate exception to the interface of the method. If processing is cancelled, the method
REVERT_START is called and any changes made before the cancellation are rolled back into it by the FINISH
method. The implementation of the basic classes

CL_CRM_IU_PROCESS_HEAD or CL_CRM_IU_PROCESS calls the CANCEL method from the

REVERT_START method.

IS_COMPLETE: This method allows the process implementation to check whether the process

can be ended. This ensures consistency in process execution. The return parameter SUCCESS

can be used in the form of a boolean value to release the process so it can be ended. It is not

possible to end a process if this method returns the value ABAP_FALSE. The standard

implementation of basic class CL_CRM_IU_PROCESS_HEAD or CL_CRM_IU_PROCESS

returns the value ABAP_TRUE. The method is called implicitly when the FINISH method is called.

FINISH: The FINISH method is the end of a process. Final data such as a status or a speci c date can be set
here for the process items. In the event of an error, the method is exited by means of the appropriate
exception to the interface of the method. If processing is cancelled, the method REVERT_FINISH is called
and any changes made before the cancellation are rolled back into it by the FINISH method.

CANCEL: If the user cancels a process, the CANCEL method of the process implementation class is called.
Changes that have already been made can be reversed here resulting in the original state before execution
of the process.

Event Handler Methods

If changes are made to the CRM document or to the items in the document, di erent events are
[Link] 11/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

triggered by the CRM document framework (business transaction). These events (such as “Date

Changed”) are usually handled by event handler function modules. However, as no process

information is available in these function modules (this means the function module must rst determine
which process could have been executed), a correct and process-speci c reaction to these types of event is
di cult and likely to result in errors. With the event handler methods of the process implementation classes,
the process framework enables a process-speci c reaction to the CRM document events. This allows you to
activate a speci c additional check, or to generate required data is certain situations (for example, the
generation of market communication data for the selection of a market-communication-relevant product).
The event handler methods of the process implementation classes also get the process context and the
process log access as import parameters. The old and the new data are transferred to the event. The
handler methods are generally only called for active processes and are automatically delegated to the
process implementation class (process header or process item) of the relevant item GUID. The following
event handler methods are available:

ON_ITEM_ADDED: This method allows you to react to a newly created item in the document

being processed. This means you can make pre-assignments or initial checks for the new item.

ON_ITEM_REMOVED: On deleting an item from the document being processed, the method

ON_ITEM_REMOVED is called to enable the implementation to react accordingly and release

internal bu ers.

ON_DATE_CHANGED: Event handler on changing a date for an item.

ON_PRODUCT_CHANGED: Event handler on selecting a new product for an item.

ON_POD_CHANGED: Event handler on changing a point of delivery allocation for an item.

Call Sequence

As a rule, the methods of the process header implementation classes are called rst. If execution is
successful (SUCCESS <> ABAP_FALSE, or no exception triggered), the method of the process item
implementation class is called for each process item in the process context. If an exception is triggered
during item processing, the corresponding REVERT_* method is called for the items that have already been
processed and then the REVERT_* method of the process header implementation class is called. In this way,
the REVERT and CANCEL methods di er from the general rule of “process header before process item” to
allow the changes to be rolled back correctly.

Related Content
SAP Customer Relationship Management

[Link] 12/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Best Practices for SAP CRM Web UI Customization

CRM Web Client UI Framework

For more information, visit Customer Relationship Management homepage

Alert Moderator

Assigned tags

Utilities | utilities |

Related Blog Posts

The Utilities Check Cockpit (UCC) and the Check Repository in the process framework
By Christian Drumm , Apr 05, 2014
SAP S/4HANA Utilities for Customer Management - a #SAP4U Recap
By Tammy Powlas , Oct 21, 2018

Out Now: SAP HANA Live for Utilities Q3/2014


By Tanja Bader , Aug 04, 2014

Related Questions

error ll the missing information in CRM WEB UI


By Sharmila Yadav , Sep 14, 2017
How to create sales contract in SAP CRM and replicate it to SAP ERP (IS-U)
By Han Derks , Nov 14, 2019

Unable to expand con guration Node FSCM -> Dispute Management in CRM
By Former Member , Sep 19, 2017

2 Comments

You must be Logged on to comment or reply to a post.


[Link] 13/14
02/12/2019 Process Framework in Contract Management – SAP CRM for Utlilities | SAP Blogs

Former Member

May 27, 2015 at 11:52 am

Hi Araind,

Excellent document, Thanks for the in details explanation. Is it possible to raise error message by using this
concept in New Contract : Account & Payment screen.

Regards,

Ravi N

Like (0)

Dietmar Schmidt

September 29, 2016 at 5:25 am

Thanks for your work, it helps a lot.

Like (0)

Find us on

Privacy Terms of Use

Legal Disclosure Copyright

Trademark Préférences de cookies

Newsletter Support

[Link] 14/14

You might also like