Skip to Content

With SAP NetWeaver Composition Environment (CE) it is possible to develop composite applications that are designed to meet the current business requirements.

But is this the best possible solution design? Actually not, because you should not have to change the solution if the business requirements change in a certain way. For example the solution should be flexible that it can be used by different legal entities.

There are many ways to achieve flexibility in solution design:

  • Service orientation
  • Configuration (unguided setting of parameters)
  • Customizing (guided setting of parameters)
  • BADIs, User-Exits and Enhancement Points
  • Templates (parameterized patterns)
  • Variants
  • etc.

For the implementation of process templates I will focus on the options to define parameters within SAP CE that will change the behavior of a process. 

Parameter settings 

Below I compare different options that are available in SAP NW CE 7.2 in the following table:

 CAF Business Object

+ Accessible via web service and EJB
+ Detailed authorization concept (down to instance level)
+ Transportalbe
– Flat data model (no complex structures without Java coding)
– No version management
– Requires to develop an interface for the business users

 Business Rules

+ Accessible via web service, EJB or as mapping function in process models
+ Business user interface (Rules Manager)
+ Flexible data model
+ Transportable
+ Version management with approval (4 eyes principle)
+ Can, but must not be linked to process model versions
+ Easy to define depended parameters
– Only high level authorization concept
– No customizable and extensible user interfaces

 Java Config

+ Framework with API
+ Flexible data model
– Only for administrators
– No version management
– Requires to develop an interface for business users

 Custom Development

+ Everything is possible
– High manual effort

From the list above Busines Rules Managment (BRM) seems to be a good way to implement process template parameters.

So let’s take a closer look of how this can be implemented. The following images show a way to define different approval patterns in a process template.

 DecisionTable

The decision table above allows different organizations to choose between one or two level approval. Furthermore the organizations can choose if the approval should happen in a sequential or in a parallel way. A process template using these parameters for process control is illustrated below:

ApprovalProcessTemplate1
ApprovalProcessTemplate2

Process Variants

Another way to achieve flexibility and still enforce standardization are process variants.
How can this be implemented with SAP CE 7.2?
Please take a look at the model below:

ProcessVariants1
ProcessVariants2

The idea is to leverage embedded sub processes that contain referenced sub-processes that represent the actual process variants. This way of modeling keeps the top most process model clean of the process variant details. With the referenced sub processes a process variant can be changed without effecting the rest of the executed process.

 In the next blog entry I will cover useful process patterns for a number of frequently reoccurring buisness requirements.

To report this post you need to login first.

1 Comment

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

  1. Marilyn Pratt
    Beyond excellent content here, I’d like to welcome you to blogging on SCN and introduce our community to you.  I’ve had the pleasure of knowing about your cutting edge BPM activities these past 2 years thanks to your participation in the Process Design Slam (and my introduction to you by SAP mentor Ann Rosenberg).  Anyone interested in use cases of BPM in a customer environment and kicking tires of BPM platform would do well to follow your experiences and subscribe to your thinkings.
    So excited to see you here.
    (0) 

Leave a Reply