1 2 3 9 Previous Next

Process Orchestration

133 Posts

Introduction

In ABAP, you may find search helps defined to make it easy for the end user to select values from a list. This is highly useful in avoiding typographical errors, and also doesn't need the user to remember any specific value. Another advantage is in the speed of filling the form. These savings in time will be compounded if there are a significant number of fields on the form.


You might often encounter such situations while filling fields in the NetWeaver BPM task UI forms. If these values could be filled in from a backend then BPM Value Help is a very handy feature available in SAP Process Orchestration as of SAP NetWeaver 7.3 EhP1 SP10.  This would significantly facilitate the entry of these form fields.

Using the search help defined in the backend

Before you can use the search help defined within the ABAP backend(thereby promoting re-use and hence reducing the TCO), you need to configure the NW BPM Value Help in NetWeaver Administrator.  The steps involved in this configuration are:

  • Creation of a new ABAP Alias
  • Assignment of role(s) allowed to access the Alias
  • (Optional) Filter definition for the Alias

A Value Help Alias is an indirection that allows you to decouple the development of the BPM Task UI from the configuration of the Value Help. It also allows you fine-grained access control of the help values.

 

The Alias needs to be bound to the ABAP Search Help by providing the necessary details that resolve the Search Help at runtime. One of the parameters that needs to be provided during alias creation is an NWA Destination of type RFC.  I will refrain from going into too many details of creating an alias as you can refer to those on a related blog[2] or the help documentation[3].  The focus of this blog is using SSO as authentication mechanism.


1 Connect to the backend

In order to connect to the backend, you need to create a destination of type RFC in NWA.

Navigate to the Destinations application in NWA as follows:

  1. Login to NWA and Select the Configuration Tab
  2. Select the Connectivity sub-menu
  3. Click on Destination

Now you are ready to create a destination.


1.1 Create a Destination

  • Click on the Create button and fill-in the details
  • Destination Name: Provide a name for the Destination
  • Destination Type: Select RFC as the Destination type

Destination-2.png

1.2 Provide connection details

  • Load Balancing: select No (For simplicity, we will not be using Load Balancing here).
  • Fill in the rest of the details corresponding to the screenshots below

ConnectionDetails-2.png

1.3 Configure user details

  • To use SSO, choose  Current User (Assertion Ticket) for the Authentication field (refer to the image below)
  • Provide additional details and save the Destination
  • If you have already imported the J2EE server certificate in the ABAP server, then you should be able to ping the destination
    (An user with same name as logged on user should exist in ABAP system)
  • If you have not yet imported the certificates from the J2EE server, follow the steps in the next section for the SSO set-up.

SSO-Destination User.png

2 Preparing the ABAP system to accept SSO communication from J2EE server

SSO communication is based on a trust relationship between two systems.  To achieve this two systems exchange certificates before communication can be initiated using SSO.  As in case of NW BPM Value Help, the request is only one way i.e., from J2EE to ABAP system, which means that only the ABAP System needs to import the certificates of J2EE server.  Here's the procedure to do that.


2.1 Prerequisite

  • The same username should exist on both the ABAP and J2EE systems
  • Use Transaction RZ11 and make sure these values are set  (refer to images below)
    • Profile Parameter login/accept_sso2_ticket = 1
    • Profile Parameter login/create_sso2_ticket = 0

SSO-Pre-requiste-ProfileCheck.png

 

2.2 Export the J2EE cerificate

     Now, we export the SAPLogonTicketKeypair-cert

  • Navigate to Configuration > Certificates and Keys
  • Select the Key Storage Tab
  • Filter for name TicketKeystore
  • Select the row SAPLogonTicketKeypair-cert
  • Click on Export Entry button
    • Choose the export format as Base64 X.509
    • Click on the download link and Save the file

SSO-1.png

2.3 Import the certificate to the ABAP System

  • Run the Transaction STRUSTSSO2
  • On the Certificate Menu, click Import
  • Select the certificate from the filesystem that you had exported in the previous step
  • Click Add to Certificate List

SSO-ImportingCertificate.png

  • Next, click Add to ACL.  Provide the J2EE engine System ID, for example 001.

AddToACL.png

  • Click Save


Once the ABAP system has been configured to accept the certificate of the J2EE server, you will be able to configure the NWA destination using SSO as described above. After this using this destination, you can look up the values of Search Help.


3 Technical User vs SSO

Both approaches give you control over who can access the backend data.  But the SSO option is more flexibile.  In case of a technical user, the user accessing the Value Help utilizes the technical user's authorization provided by the ABAP backend to access the value.  This means in terms of connecting and accessing the backend, all users accessing Value Help (beyond alias level authorization) have the same level of authorization. This is good enough when the level of complexity is not too high.

In case you want more sophisticated control over the specific Value Helps in the ABAP backend, then SSO should be your choice.  You can define different levels of authorization within the backend for the different users(the login user should also exist in ABAP) accessing the Value Helps.


References / Related content

[1] Value Help in Process Orchestration

[2] ABAP Value Help in Process Orchestration

[3] SAP Help documentation for BPM Value Help

[4] Value Help Public API

[5] Single Sign-On for Interaction between Systems

[6] SAP NetWeaver Identity Management Help Portal

OData enablement is a subject of significance, especially, considering pressing needs of requirement by frameworks that facilitate state-of-the-art user interfaces. It also becomes important by another high-demand requirement that is multichannel access to services and solutions.

 

It is evident that OData is endorsed in SAP world. In fact, the ABAP stack has a pretty mature Out-Of-the-Box availability of OData enablement.

 

The blog - What's new in Process Orchestration 7.31 SP09/7.4 SP04 , provides introduction of BPM OData services. It’s not only pleasing to realize the availability of OData service for BPM, but reflects importance of 'OData exposure for technologies'.

 

In the light of realization of the significance of OData enablement, there are a few use cases which still stand devoid of OData enablement – a situation that we recently came across in our team. They were :

  • Need for exposure of not only BPM but CAF (Composite Application Framework) services as well in form of OData services.
    • Existing CAF based solutions with WebDynpro and VC as front end might want to move to UI5 based state-of-the-art solutions, to be also able to have multiple device access enablement. The wish here would be that this should be possible with minimal effort. We should be able to draw advantage of the layered architecture. Thus utilizing most of the existing solution.

1.png

  • Exposure of BPM for PO versions before 7.31 SP 09, with minimal effort for achieving OData enablement.

2.png

 

Ahead, in the article I will present  the approach used to enable OData enablement from point of view of components involved (and step-wise description, perhaps later, if needed).

 

The OData enablement is done for two scenarios :

  1. Exposing CAF service as an OData Endpoint. (CAF services then, may or may not, initiate a BPM process)
  2. Exposing BPM as an OData endpoint

Prerequisite:

  • We used odata4j library as dependency for OData capabilities. The odata4j library download information may be accessed at this link.
  • For creation of OData request we used :
    • ¨ datajs library
    • ¨ SAP UI5
    • ¨ odata4j consumer library for JAVA based request creation.
    • ¨ other JS frameworks come with the same capability and also of almost same ease (download information available at this link).

 

So, here is a synopsis of the steps we followed :

Exposing CAF service as OData Endpoint

 

 


5.png

 

    1. Create and fire an OData request, from OData consumer (may or may not be a web module for composing the OData request to act as an OData consumer)
    2. Façade DC invokes CAF Service - Query parameters are extracted from OData request and used to invoke CAF services through JNDI invocation.

 

Few points about this Façade Development Component :

 

      1. Request is received at one of the exposed end-points ( from within a web module, separately deployable as an enterprise DC).
      2. This web module performs an ejb invocation to CAF operation (which can then invoke BPM service).
      3. The web module has dependencies on a DC created as type of 'External Library' which consists of jar files from odata4j library. Also, the web module has created namespace for OData request and registered resource, as well.
      4. Query parameters are extracted from the request payload.
      5. Make the actual ejb invocation for CAF service from the creatEntity endpoint, to initiate a BPM process.

  3.  The BPM service is invoked from within a CAF service, through a web service.

  4.  BPM Process Instance ID is returned.

  5.  BPM Process instance id is further returned to OData producer.

  6.  OData response entity is created and returned to the OData Consumer

 

Exposing BPM as an OData endpoint

 

Depending on the NW version you have, you will be faced which of the solutions below to follow :

For versions 7.31 SP9 and above :

These versions come with default OData enablement of BPM and so they may be directly consumed.

For versions 7.31 SP8 and below :

For these versions there is no default OData support available and so we will do façade creation as follows:

4.png

  1. Create and fire an OData request, from OData consumer (may or may not be a web module for composing the OData request to act as OData consumer)
  2. Façade DC initiates BPM – Query  parameters are extracted from OData request and used to initiate BPM process.

 

Few points about this Façade Development Component :

 

    1. Request is received at one of the exposed end-points (from within a web module, separately deployable as an enterprise DC).
    2. The web module has dependencies on the DC created as type of ‘External Library’, which consists of jar files from odata4j libarary. Also, the web module has created a namespace for OData request and also registered resource.
    3. Query parameters are extracted from the request payload.
    4. This web module initiates the BPM process, with help of BPM JAVA APIs.

   3.  The response is sent to OData producer.

   4.  OData response entity is created and returned to the OData Consumer.

 

Some additional points to be taken care of while making the solution work, could be with respect to cross origin request handling and authentication.

Conclusion :

 

Having performed the above steps creates a short, quick and yet a proper (hopefully!) solution to give OData enablement to your PO stack’s BPM & CAF, which then gives you the capability to consume services by any technology like javaScript, JAVA, dotNet etc.

ABAP Value Help in SAP Process Orchestration

The Value Help feature has been part of SAP Process Orchestration as of SAP NetWeaver 7.3 EhP1 SP10.  You may be excited about using Help values from an ABAP backend in your application.  This blog takes you through the steps to achieve this.


Pre-requisites

  • For ABAP Value Help, you should have a Search Help defined and a Destination configured in NetWeaver Administrator.
  • The consumption of the Value Help API requires the SAP_BPM_VALUE_HELP action. 
    You may also need one or more roles that are defined while configuring a Value Help Alias.
  • For refreshing the Search Helps, i.e., to refetch them from the ABAP backend via API, you need the SAP_BPM_VALUE_HELP_ADMIN action
  • For configuring the Value Help alias you need the SAP_BPM_VALUE_HELP_ADMIN action


1. Configure a Destination in NetWeaver Administrator

  • Login to NetWeaver Administrator
  • Navigate to the Configuration tab > Infrastructure > Destinations (refer to screenshot)
  • Click Create for a new Destination
  • Provide a Destination name, let us say Destination1
  • Choose RFC as the Destination Type
  • Configure the Connection settings on the next screen
  • Provide the logon data on the next screen (Typically, Client, Username and Password)
  • You should now be able to test the Destination by clicking on the Ping Destination button.
  • If the ping is successful, you are all set to use this Destination.  Otherwise, you may have to revisit the credentials section of the Destination.


vh_1_dest.png


2. Configure an ABAP Value Help alias in NetWeaver Administrator

  • Login to NetWeaver Administrator
  • Navigate to the Configuration tab > Connectivity > Value Help (refer to screenshot below)

vh_3_valuehelp.png

  • Click the Create button and choose "New ABAP Alias"
  • Provide a unique and meaningful "Alias Name"
  • Provide an appropriate Destination name for the alias.  (See section above for details on configuring a Destination)
  • An optional description may be provided for the allias.
  • Enter the ABAP Source Location fields.  You can find these details by referring to the ABAP Search Help (refer to screenshot below)
    • Enter the Object Name, Object Type, Method Name, Parameter, Field, Search Help and Value Column
    • If you also need the Description Column in your application, enter the Description Column.

VH_alias_1_set.png

  • Navigate to the Roles tab
  • Add as many relevant Roles as necessary for your application
  • (Optional) Navigate to the Filters tab if you would like a filter defined for your Value Help
    • Add a Filter Alias and the associated ABAP Field Name for the Filter Alias
    • You can add additional Filter Aliases, but keep in mind that the Filter Conditions will be 'AND'ed logically, potentially giving you a smaller subset of results to choose from in your application
  • Finally, Save the Alias Definition
  • You should be able to see the Alias Name, Type (ABAP) and Description in the Table.
  • The Value Help alias is ready to be used in a consumption application



3. Consumption of Value Help

  • Value Helps can be consumed via SAP UI5 or any Custom UI
  • When a Search Help is fetched for the very first time from the backend ABAP system, the help values are cached in a database.  Subsequently, the values are fetched from the cache.  API is used to refresh the cache based on your preferences, via a scheduled job or on-demand.
  • A typical consumption URI for Value Help looks like this

              valuehelp://ALIAS/aliasname

  • Here's an example of a Value Help consumption URI with a filter
        valuehelp://ALIAS/aliasname?filter=FILTER_ALIAS:filterstring,operation:CP
  • And here's one with a language 'EN' specified

              valuehelp://ALIAS/aliasname?lang=EN

  • You can fetch a set of values via OData using a URL that looks like this

              http://nwaserver:50000/metadata/valuehelp.svc/Country/HelpValues?lang=EN

  • A sample code snippet for consumption of an alias called 'Country' is provided here


Code snippet to demonstrate the consumption of Value Help using OData
var aliasName="Country";
var lang="EN";
var url = "/bpmodata/valuehelp.svc/"+ aliasName +"?lang="+lang;

var oTable = new sap.ui.table.Table ({ // create Table UI
  selectionMode
: sap.ui.table.SelectionMode.Single, visibleRowCount: 10,  
                      navigationMode
:sap.ui.table.NavigationMode.Scrollbar, });

oTable.addColumn
( new sap.ui.table.Column ({
 
label: new sap.ui.commons.Label({text: "City"}),
  template
: new sap.ui.commons.TextView().bindProperty("text", "Value") }));
oTable.addColumn
( new sap.ui.table.Column ({
 
label: new sap.ui.commons.Label({text: "Country"}),
  template
: new sap.ui.commons.TextView().bindProperty("text", "DisplayText")}));

oModel
= new sap.ui.model.odata.ODataModel(url,true);
oTable.setModel
(oModel);   // set model to Table
oTable.bindRows
("/HelpValues"); oTable.placeAt("contentLocation");

 

References / Related content

[1] Value Help in Process Orchestration

[2] Using SSO to access ABAP Search Help in Process Orchestration

[3] SAP Help documentation for BPM Value Help

[4] SAP NetWeaver Identity Management Help Portal

[5] Value Help Public API

There has been a lot of buzz lately in the Process Integration / Orchestration community around migration from SAP NetWeaver Process Integration & BPM to Orchestration, what is the effort, what are the benefits.

 

I would like to draw your attention to two business transformation studies of PI customers in two different industries who embarked on the migration journey. The common line is one migration – multiple benefits.

 

 

SWD-PI-to-PO.jpg

Stadtwerke Düsseldorf (SWD) is a Utilities company that provides reliable energy and water service to over 1 million people in and around Düsseldorf. With a growing volume of electronically transferred messages, SWD needed to grow its IT platform as well and implement a reliable B2B solution. They embarked on this business transformation working with SAP Partner Itelligence.

 

The aftermath is 2.5 million | 3x faster | 1 translating into:

  • 2.5 million electronic messages per month through SAP NetWeaver Process Orchestration
  • 3x faster message exchange with SAP NetWeaver Process Orchestration with a B2B add-on
  • 1 system to monitor in a single-stack (instead of a dual-stack)

 

Holger Sueße, Integration Architect, Stadtwerke Düsseldorf says: “We are glad that we migrated from SAP NetWeaver PI to SAP NetWeaver Process Orchestration. Message transfers are now much faster and process monitoring became much easier. This gives us more time to focus on how best to serve our customers.

 

Read the full case study for more about the business requirements, the solution and benefits:

Stadtwerke Düsseldorf: Transferring Electronic Messages Faster and More Reliably with SAP NetWeaver Process Orchestration.

 

 

Siemens-PI-to-PO.jpg

Siemens Industry Drive Technologies has worked with SAP Partner Evosoft GmbH on their migration. Their main objectives were to enable A2A integration, business process and rules management and increase flexibility to route sales-relevant data to different applications. The company now has one powerful solution in place and enjoys greater efficiency.

 

Jörg Weiß, Head of Process Integration, evosoft GmbH is positive that “Creating model-based integration scenarios with SAP NetWeaver Process Orchestration is much simpler than it was before. The software gives us the flexibility we need to make quick IT changes to support changing business requirements.”

 

The aftermath for Siemens Industry Drive Technologies is impressive:

  • Appr. 25% reduction in TCO (total cost of ownership) after consolidating SAP NetWeaver BPM and SAP NetWeaver PI under SAP NetWeaver Process Orchestration
  • Appr. 33% acceleration in development of new integration scenarios (compared to SAP NetWeaver PI alone)
  • 100% reuse of existing SAP NetWeaver PI mapping logic

 

Access the full case study for more about the business requirements, resolution and achieved benefits:

Siemens Industry Drive Technologies: Accelerating Application-to-Application Integration with SAP NetWeaver Process Orchestration.

With the latest update, we have combined the individual PI and BPM product roadmaps into a single Process Orchestration roadmap.

You can find it in the "Road Maps" section on Service Market Place:

 

service.sap.com/roadmaps / Product and solution roadmaps / Database and Technology / Product Roadmaps / SAP NetWeaver Process Orchestration (including PI, BPM, BRM)

 

 

Here are some highlights on what's planned:

  • New PI adapters: WS-RM, OData, REST
  • OData provisioning via Gateway Java
  • Mobile BPM inbox

 

If you want to know what has already been delivered as part of the last SPs, take a look at Stephans Blog here:

What's new in SAP Process Orchestration - Q1/2014 (7.31 SP10&11 / 7.4 SP05&06)

I have been working on creating a course for PI developers so they could learn how to use Process Orchestration/BPMN. I was missing a good tutorial to get started with BPMN so I could help my customers move to the single stack. I can now see that SAP have created BIT800 to help train BPMN.

 

So I decided to create a course on the topic of BPMN and PI. One of the things I learned most from was on interview with some of the people how have been suing BPMN for some time. In this blog I’ll share some of the information that I got from the interviews.

 

BPMN is a beautiful tool that, we as PI developers, must understand how to use. Yes it was the word beautiful on a SAP product. Really nice. The reason is that it enables developers to draw the processes much better and is easier to understand. There is also the concept that there is the Business Rules Management (BRM) which makes some actions easier.

 

BPMN is easy to get started with. It was not so difficult to use if you had the background on ccBPM. The basic building blocks are much the same and then it can do a bit more. Most experts agreed that it was a good idea to start small and with a simple process. Then you could enhance it to make sure that you covered the business. If you stared with designing the full process you would have a hard time validating it.

 

Performance is improvement is much better. So there is not the requirement to try to avoid using BPMN for all cost. With ccBPM the goal was to avoid using it because of the negative performance that it had. The people that I interview did not share this concern and thought that BPMN was a much better performing tool and the PO was a good solid platform.

 

 

BPMN can be eliminated in many patterns in the migration. In a lot of instances we want can avoid using BPMN when migrating. A lot of ccBPM is from old releases of XI where we often had to create collect patterns and async/sync bridges.  Well this mean that you will not end up having the same number of ccBPMs and BPMN if you do a migration. In some scenarios you may also end up creating new processes, to make the business process better supported.

 

Data structures/message types is being validated much more. In ccBPM you could put whatever message into the process. BPMN requires you to have the exact data structure, so you will have to define the data as it are. This is giving some issues if you want to have idoc data into the process. One workaround is to use CDATA structures for the data you don’t want to define.

 

 

Versioning can cause some challenges. The best is to use NWDI to handle the projects. NWDI did make all of the change management and version control much better. The challenge is that not all clients have NWDI. So there is the option to export the software components

 

 

*) I don’t know if any of the issues has been change with the newer services packs, but this is the results of my interviews.

 

What is your best advice to BPMN/PI newbies.

Since our last blog in December 2013 (What's new in Process Orchestration 7.31 SP09/7.4 SP04) we delivered some existing new stuff in SAP Process Orchestration.

This blog describes all the new features and enhancements in SAP Process Orchestration 7.31 SP10&11 / 7.4 SP05&06. After reading this blog you for sure want to upgrade to this latest SPs to leverage all new enhancements.

 

Process Integration Features


Enhancements in operating and monitoring SAP Process Orchestration

To operate SAP Process Orchestration you will get two new features:

  • Tracing for SOAP and HTTP channels

In case of error messages returned by a Web service you can now carry out detailed analysis of HTTP based adapters without the need of external tools. Therefore you enable tracing per receiver channel in module chain via a new parameter – TraceHTTP; supported by three severity levels: headers, plain, hex. Please take also a look at SAP note 1904944.1.png

  • Suspend & resume communication channels

In order to carry out operational tasks you can now suspend and resume all communication channels in a controlled manner. Trigger suspend and resume job via SuspendResumeAFWJob, while this state is preserved after restart of the server. If you resume the channels, they will be kept in their original state before you have suspended them and the ones in suspended mode cannot be restarted manually. For more details, please also take a look at the release notes.

 

Starting with SAP Solution Manager 7.1 SP10 you can now instrument the tooling for message flow monitoring. Targeting the IT&Application Support to enable end-to-end monitoring along integration layers of message exchange, e.g. search for relevant payload data like EDI interchange number or IDoc number and integrate with incident and notification management. Prerequisite for this is the Integration Visibility Core, shipped with SAP Process Orchestration 7.31 SP07 / 7.4 SP02.

 

2.png

 

Improved runtime behavior of adapter engine

Define the maximum number of receivers per interface and different processing capacity in PI for particular scenarios where the current global setting is not sufficient. Additionally use receiver parallelization in conjunction with message prioritization. Please also take a look at the release notes.

3.png

 

Consuming Web services secured by AGIV security protocol

There is a new PI Module – STSClientModule. It makes it possible to make a call to the STS (Secure Token Service), request new security token and store it in internal cache for further use. Default and ready to use predefined configuration content for handling AGIV Security Protocol is provided in advance. For configuration details, see SAP note 1907963.

4.png

Mapping version comparison

You will be able now to track the changes done during development by comparing two versions of a message mapping object. The changes are grouped using a color code and any kind of changes are tracked, e.g. change of logic, structure, user defined functions, parameters etc. Embedded into the mapping editor in Enterprise Services Repository this really improves developer productivity.

For more details, please take look here.

5.png

 

XSLT 2.0 support for XSLT mappings

From now on features provided with XSLT 2.0 like xsl:for-each-group, fn:format-date(), fn:replace(), fn:upper-case(), fn:lower-case(), etc are supported. Therefore use an external transformer such as open source SAXON XSLT and XQUERY Processor and import them together with XSLT mapping as external archive. While setting the new global parameter com.sap.aii.ibrun.server.mapping.externalTransfomer to true the mapping runtime searches for imported transformer and uses it. For more details, please take a look here.

6.png

 

Connectivity Add-On for SAP Process Orchestration

There’s a new SuccessFactors adapter available as Add-On (and therefore release-independent, can also be used with former releases, e.g. 7.11) for flexible cloud deployment models with a comprehensive functional scope. e.g. login, logout and session handling; query insert, update and upsert (to create new records or update existing records, avoiding duplicate records) operations; automatic XSD generation for mapping purposes; delta synchronization; automatic data polling and many more. And this with no additional license costs as included as part of PI/PO license.

Please take a look here as well as at this SCN blog.

 

Enhancements for B2B Add-On for SAP Process Orchestration

Partner onboarding and management will become much easier now. A single repository for managing, storing and browsing all trading partner related information will reduce the efforts. Also multiple access points for enabling rapid partner onboarding and dynamic lookup of trading partner information at runtime is supported following a governed approach this information. And here the release notes of the B2B Add-On.

 

7.png

Furthermore several monitoring enhancements are available now, e.g. status view of technical and functional acknowledgement in message monitor, search improvements, or viewing messages content both in original raw EDI and EDI XML message format.

Please also take a look at this SCN blog.

 

Wow, really a lot of new features and enhancements you will get in the PI-side of the house. But let’s take a look now at the new BPM features.

 

Business Process Management Features

Handling of technical errors for service calls

With the new boundary event TechnicalError you can now handle the technical errors during service execution, e.g. timeout, configuration error while the related output mapping contains several important items (error message, time stamps, interface name, PI message ID, log record ID). With this also different error handling strategies in the process model can be defined, like Retry, Email Notification, Raise Alert or Create Task.8.png

Get some more details in this SCN blog and in the release notes.

 

Value Help

Do you want to speed up your UI development? For sure, so make use of the built-in value help support. This could either be ABAP search helps or local DB value helps via JDBC data source using an internal cache for better performance. Also secured access via OData or Java API with role-based configuration is ensured. The configuration will be done within the NetWeaver Administrator (NWA -> Configuration -> Connectivity -> Value Help).

9.png

 

Please also take a look at the blog series and the release notes.


BPM OData Task Service enhancements

The OData Task Services have been enhanced with support for nested types, collections and task fault data.

10.png

Please also take a look at this SCN blog and the release notes.

 

BPM OData Start Process service

Use SAPUI5 to create a nice Web user interface to start your BPM process. With the BPM OData service you will get the currently active process definition and start the process.

Picture1.png

 

Please also take a look at the release notes.

 

BPM Inbox enhancements

Last but not least, now the end user is able to forward tasks within the BPM Inbox without explicitly claiming them. So you can directly assign a task in status Ready without opening this task. This makes daily work in the inbox much more comfortable.

The related release note you will find here.

 

Hope you have enjoyed the information of these new features – so upgrade, make use of them and gain the benefits right now.

 

Additional information:

More about Process Orchestration and an archive of “What is new” overview blogs can be found in this library:

Introduction to SAP NetWeaver Process Orchestration.

 

For a complete overview and further information of the enhancements with SP10, please see these release notes: http://help.sap.com/saphelp_nw73ehp1/helpdata/en/08/2a277430214fbda9e06e88357e116c/content.htm?frameset=/en/a3/721c134fdb4f1fbe774cfbfa9be66d/frameset.htm

 

For a complete overview and further information of the enhancements with SP11, please see these release notes: http://help.sap.com/saphelp_nw73ehp1/helpdata/en/42/68fefa73514cad827abade8dd9d7b9/content.htm?frameset=/en/a3/721c134fdb4f1fbe774cfbfa9be66d/frameset.htm

In August last year I published a blog around OPInt and how it could be used to give great visibility into your current business workflow and BPM processes (Operational Process Intelligence (SAP OPInt) + Tips For Your 1st Business Scenario), and I was recently tasked with creating a new FUN OPInt demo that we can show at the SAP Innovation Forum in London.

 

THE IDEA

 

In the recent months we have taken our dive into OPInt a little bit deeper and experimented with external influences and connection types to give our OPInt demonstrations more of a real life look and feel.

 

We recently pitched an idea around visualising the production of a luxury car using RFID Tags / Readers with OPInt as the real time dashboard.

 

The company were already using RFID tags on the cars to measure a certain set of metrics, so why not update HANA with the same RFID Technology??

 

In theory we could put an RFID reader at each step in the production line to update our record in HANA as to the development of our car.

 

BUILD THE DEMO

 

Using data sources in our OPInt scenario we mocked up the required data structure in HANA and exposed oData services that allows us to update our HANA table with a new status.

 

IMPORTANT - To update a HANA table that is connected to an OPInt scenario you must use XSJS services not xsodata otherwise there will be authorisation errors. Link to exmaple xsjs service

 

EXAMPLE SNIPPET FROM .XSJS SERVICE

 

blogss2.png

 

Once done we needed to call this service from the signal sent from the RFID reader. Using oData4j we wrote a socket listener on the RFID Reader to update the STATUS of our car on the line when it passed over the reader.

 

In our demo to the customers we used remote control cars, and drove them over the RFID readers. As we did this our update to HANA would run and our OPInt dashboard would change from phase to phase. Cool Demo!

 

THE INNOVATION DEMO


After demonstrating the OPInt Scenario to the customer we modified the demo so that it could be used at the Innovation Forum.


It was now a user entry competition!

A race against time to unlock the secret puzzle box and retrieve the RFID tag to stop the clock!


Screen Shot 2014-03-24 at 15.11.25.png

 

Users could enter some basic information and once they click submit the record is in HANA....

 

Screen Shot 2014-03-21 at 13.06.12.png

 

The OPInt dashboard is green, and the timer has started!!

 

Screen Shot 2014-03-21 at 13.07.28.png

 

They then have 4 minutes to complete the puzzle before the Opint instance turns read (just to add a little more pressure )

 

Screen Shot 2014-03-21 at 13.12.56.png

 

Finally the customer could then come back to the UI5 desktop app and look at the right hand side of the application which displayed a leaderboard of the top times.

 

 

 

t1.jpg

 

 

A Fun and interactive Demonstration that shows UI5 / HANA / OPint and potential external influences like RFID Technology.

SAP is a platinum sponsor for this year’s Gartner BPM Summit in London and we invite you to come by and see us at the event.

 

The theme of the event is “Prepare for the Digital Business Disruption: Embrace, Adapt, ReInvent”. According to Gartner, organizations that adapt their operations and reinvent their business processes can harness this disruption to become leaders in the digital industrial economy.


In this spirit SAP will demonstrate its new generation of Business Process Management software to support organizations on their journey in adapting their processes and making their business operations more intelligently.

 

As part of this SAP introduces a new offering called Intelligent Business Operations powered by SAP HANA. This offering allows organizations to streamline their operations and embed Big Data insights into their processes in real time. Line-of-business users will be empowered to gain full visibility into end-to-end operations to improve decision-making and to take corrective actions when or even before issues occur.

 

Intelligent Business Operations powered by SAP HANA combines:

  • SAP Operational Process Intelligence sapopint for analyzing large volumes of process data that can come from any data source, offering real-time visibility into end-to-end operations to line-of-business users.
  • SAP NetWeaver Process Orchestration for implementation and dynamic, rules-based execution of business processes that can span across multiple applications in heterogeneous system landscapes.
  • SAP Event Stream Processor for gathering events from legacy IT systems, along with social feeds, unstructured events and any kind of data source, and correlating them to aggregate and filter complex events that are meaningful to the business processes.
  • SAP PowerDesigner for enterprise-wide process modeling and documentation

 

See our sponsored session:

  • “Improving processes and data quality for new product introductions at Mondelēz International”
    Mondelēz International is a snacking powerhouse with global megabrands such as Cadbury, Milka, TUC, Oreo, Toblerone, Belvita, Carte Noir, Philadelphia and Dairylea, with thousands of new product developments and promotions to support and grow their brands. Attend this session to learn how Mondelēz International achieves significant savings due to increased masterdata quality and bringing new products to market faster.
  • Presenter: Ajay Patel, Master Data Manager for Mondelēz UK & Ireland and Owen Pettiford, co-CEO, Comprise IT
  • Date/Time: Wednesday March 19, 3:30 pm – 4:00 pm
  • Location: Westminster C, Park Plaza Westminster Bridge


Also be sure to visit our booth during the Solution Showcase open hours. We look forward seeing you.

In today’s competitive landscape and difficult business context, CIOs and Enterprise Architects are often struggling to find the key to turn their IT department from a cost and a burden to the business into a game-changing competitive advantage.

 

The challenges they face are significant. How can an enterprise achieve a higher degree flexibility on end-to-end business processes, often running on a complex and heterogeneous legacy of IT systems? How can it leverage the company’s Big Data within operational processes, in real-time, to make them “situation aware”? How can it infuse more intelligence into operational decisions? And finally, how can it do all this in the short term, with low risk and no disruption?

 

The innovative technology paradigm that covers these questions is surely Intelligent Business Operations (IBO), that Gartner defines as “a style of work in which real-time analytics and decision management technologies are integrated into the transaction-executing and book-keeping operational activities that run a business”. And the best-in-class solution that can turn this paradigm into reality quickly, easily and non-disruptively is SAP Intelligent Business Operations powered by HANA.

What can this solution bring to your business?
Think for example of a Telco company trying to reduce customer churn. Today, a lot of effort has been spent on building intelligence on customer data, profiling and segmentation, and running targeted retention and marketing campaigns for customers classified as “at risk”. Now, imagine if a Telco could use that intelligence within customer-facing business processes, to react in real-time to events and behaviors of each single customer, in a completely personalized way, aware of the specific customer context.

 

We could imagine similar scenarios for a Retail company running real-time personalized marketing, or a Utilities company running customer-specific campaigns for energy efficiency based on real-time consumption and so on. This is the level of competitive advantage that Intelligent Business Operations can bring to your business.


Architecture:

SAP Intelligent Business Operations powered by HANA is an integrated and streamlined solution that delivers the IBO paradigm with a unique best-in-class architecture.

IBO-architecture1.png

 

What do you get:

No matter how complex and heterogeneous your legacy is, SAP can help you evolve your current end-to-end processes to IBO. This solution leverages the HANA platform as the foundation that enables infusing intelligence (OLAP logic) into the transactional stack (OLTP logic), by merging them into one in-memory database with built-in statistics and predictive engines.

 

SAP Event Stream Processor is the Complex Event Processing engine that you can use to gather events from your legacy IT systems, as well as social feeds, unstructured events and any kind of data source, and correlate them to aggregate and filter complex events which are meaningful to the business processes.

 

SAP Operational Process Intelligence is the new operational intelligence component built on HANA and conceived to give useful and personalized business insights in real-time to all process stakeholders and business users, with an HTML5 mobile-ready and zero-training interface.

 

SAP Process Orchestration, obviously, is the comprehensive and standard-based orchestration suite that allows turning insights into action through its Process Integration (ESB), Business Process (BPM) and Rules Management (BRM) components.

 

And last but not least, SAP Power Designer is the leading enterprise modeling tool that allows designing and controlling your process models, to enforce a proper top-down approach and streamline the process lifecycle.

 

IBO-solution.png

There is no need to replace existing systems or heavily rework your processes: you can start with Intelligent Business Operations today on your infrastructure, and get your business to a new degree of competitiveness.

 

Read the SAP press release for more information: Intelligent Business Operations Bundle powered by SAP HANA Helps Organizations Contextualize Big Data Insights into Processes.

 

We will keep publishing more on this topic here so stay tuned. Learn more about this unique integrated offering with our industry demos, and reach out to your SAP representative to understand how you can be one of the early adopters in your industry.

With NetWeaver Process Orchestration 7.31 SP10 and 7.40 SP5, we are now able to detect and handle technical errors.  Some examples of technical errors are invalid password, unauthorized access, network failures, etc.  The technical errors include those occur in PI.  This capability has been missing in previous releases of BPM.

 

Why do we want this?  During the runtime of an integration scenario, when we receive a technical error, the integration will terminate with an error message, which we can view in the monitor.  We can also be alerted of the error.  But, what if we want to automate the process so that we can react to the error?  Maybe we want to update a status database or send the message to an alternate receiver or “rollback” a previously updated application/system.

 

This capability is also needed when we convert ccBPM to BPM, as ccBPM can detect such error event.

 

To configure this in BPM is quite easy.  I am assuming that the reader is already familiar with BPM.  The steps are as follow:

 

  1. Create or using an existing “Automated Activity”.

pic1.png

   2.  Select the “Automated Activity” and click on the “Property” tab.

   3.  In the “Property” tab, select “Boundary Events”:

pic2.png


   4.  Click “Add…”. This will bring up the events that can be selected.  Go ahead and select “Technical Error” and click “OK”:

pic3.png


  5.   A new object on the upper left corner will be create in the “Automated Activity”:

pic4.png

  6.   When you hover the mouse over this object, you will be able to select the action you want to perform when technical error occurs:

pic5.png

Below is a sample BPM which uses this feature:

pic6.png

Value Help in SAP Process Orchestration

SAP Process Orchestration is a single, integrated solution for building and running end-to-end business processes across both SAP and non-SAP environments.  Value Help or Search Help (often referred to as F4 Help in the ABAP world) is available as of SAP NetWeaver 7.3 EhP1 SP10.  This series of blogs introduces you to the various aspects of Value Help.

 

Value Help lookups are supported from either an ABAP backend or a Database system.  Accordingly, we have two flavors ABAP Value Help and DB Value Help.

 

Pre-requisites

Please see the related content for details on configuring ABAP or Database Value Help.

  • For ABAP Value Help, you should have a Search Help defined and a Destination configured in SAP NetWeaver Administrator.
  • For Database Value Help, you need a Datasource configured in SAP NetWeaver Administrator.


1. Features

  • Value Help Public API
  • Caching capabilities
  • Secure Value Help
  • Filtering capabilities
  • Alias configuration
  • Language support
  • OData access

 

1.1 Value Help Public API & Caching capabilities

  • getHelpValues( URI uri )
  • getHelpValues( URI uri, boolean forceCacheRefresh )
  • getHelpValues( URI uri, long notOlderThan )
  • refreshValueHelpCache( URI uri )
  • refreshAllValueHelpCaches( )

 

The Search Helps are consumable via the usage of the Public API[1] listed above.  Flexible caching capabilities are provided for the ease of consumption.  A wide array of applications use Search Helps repetitively, so much so that the cached value helps the applications to continue unaffected even when there are planned or unplanned downtimes of the ABAP or Database backend.

 

1.2 Secure Value Help

In order to cater to the needs of customers who prefer to use Secure Value Help, an abstraction layer has been introduced to limit the details that are exposed to the consumption applications.  The idea is to have a Value Help alias configured that includes the Search Help properties, the actions/roles tabulated below and filter settings.  Security checks here are accomplished via Actions defined in SAP NetWeaver Identity Management[2].  In addition to the actions, you may also configure one or more authorized roles for each alias based on the business requirement. The consumption application only needs to reference the relevant alias after this configuration.

 

FunctionalityRequired Action / Role

Create Alias (NWA  Application)

SAP_BPM_VALUE_HELP_ADMIN (Action)
Read / Refresh Help Values

SAP_BPM_VALUE_HELP (Action) +

Authorized Role(s) specified while configuring the alias

Refresh All Help ValuesSAP_BPM_VALUE_HELP_ADMIN (Action)


1.3 Value Help Filtering

Filtering support is also provided as of SAP Process Orchestration 7.31 SP11.  Filters can be either simple or sophisticated.  You can define a filter by navigating to the last tab while creating an alias.  Multiple filters are supported, but note that the filter conditions will be treated with a logical AND operation if you have defined them.  $filter (with certain limitations) is also allowed as part of OData support for Value Help.


1.4 Alias configuration

A Value Help alias configuration application is provided via the menu: SAP NetWeaver Administrator -> Configuration -> Connectivity -> Value Help.  You may configure an ABAP alias or a DB alias for Value Help from scratch, or choose to import a file containing your alias configuration.  The Alias Configuration application allows you to export all aliases at once, so that they may be imported into another instance, for e.g., from a Development environment to a Pre-Prod environment.  While the import may be handy for a large number of alias entries, do not forget to make sure that the alias properties are valid after an import, for e.g., the Datasources exist, the column names are the same as what they are supposed to be on your imported system, etc.  You may edit the alias properties to make the desired changes.  It is worth noting that the alias name and filter names cannot be modified via the Alias Configuration application.


1.5 Language support

Language support is also provided for Search Helps in SAP Process Orchestration.  If your backend has Search Helps defined in multiple languages, you may prefer to display the Search Helps in different languages for different locales.  The language column has to be defined as part of the alias and needs to be passed in as a parameter by the consumption application.


2. Value Help architecture

vh_arch.png

Fig 1. Value Help in SAP Process Orchestration

 

A high level architecture of Value Help in SAP Process Orchestration is shown in Figure 1.  Both ABAP and Database Search Helps are supported.  Apart from a Java API layer, there's a configuration layer and a caching mechanism for offline access to the Search Help and a persistence mechanism that is used for both caching as well as the configuration.  Value Help Alias Configuration is performed via the SAP NetWeaver Administrator.  The consumption application has a choice of using an OData service as well.


References / Related content

[1] Value Help Public API

[2] SAP NetWeaver Identity Management Help Portal

[3] SAP Help documentation for BPM Value Help

[4] ABAP Value Help in Process Orchestration

If you use the businesstobusiness add-on of SAP NetWeaver Process Integration / SAP NetWeaver Process Orchestration in order to connect to your business partners and networks, you may benefit from the latest enhancements that we have shipped with SP02 of the B2B add-on, see announcement in blog B2B Add-on SP2 released. Also refer to SAP note 1911897 and B2B Release Notes SP2 on help.sap.com.

 

This is the third and last part of a blog series about the improvements that we have introduced helping you to better monitor and track your B2B business transactions. Besides new capabilities that have been shipped within the local monitors of PI, we have introduced a new central monitor with SAP Solution Manager 1.0 SP10, the so called Message Flow Monitoring, which provides you an end-to-end insight into the correct closure of your A2A and B2B conversations.

 

The blog series is divided into three parts:

  1. I will introduce the new features along a typical B2B scenario. If you haven’t done already, you should start with part 1 of the blog series where I describe the underlying business scenario.
  2. In part 2 of the blog series, I will show you how to monitor the scenario by means of the local monitoring tools.
  3. In the current blog, I will show you what value the new Message Flow Monitoring of SAP Solution Manager will add.

 

Message Flow Monitor

 

The Message Flow Monitoring within SAP Solution Manager monitors the status of business-critical message-based transactions, centrally. You can check the status of B2B or A2A processes without needing to access a PI system. Furthermore, you can monitor and track the message flows from end-to-end, i.e., the message status along the runtime components the message has passed through. Here, a message flow represents a message exchange between a particular sender and receiver for a particular interface. In case of failed message flow instances, the Message Flow Monitoring helps you to identify the root cause and to resolve the issues.

 

As mentioned above, the Message Flow Monitor has been shipped with SAP Solution Manager 7.1 SP10 or higher. It relies on the information provided by the Integration Visibility Core component of SAP NetWeaver Process Integration / SAP NetWeaver Process Orchestration. Latter is supported as of release 7.31 SP07 or higher.

 

The Integration Visibility Core provides the technical foundation that discovers message flows in your system landscape and enables consumer applications such as the Message Flow Monitor to subscribe and consume monitoring events for a selected set of discovered message flows. Currently the monitoring of the following runtimes is supported: SAP NetWeaver PI (Advanced Adapter Engine Extended, ABAP Integration Server, Central Adapter Engine, Decentral Adapter Engines) and SAP backend system layers ABAP Proxy and ALE.

 

The following monitoring use cases are supported:

  • Get a status overview of all your business-critical messages
  • Get a list of the last 10 messages in error status
  • Search messages based on IDoc number, payload data, or B2B specific parameters such as interchange control number, sender identifier, receiver identifier. When using Trading Partner Management, more B2B related attributes are supported such as partner name, partner parent group, industry, region, etc. (see part 2 of the blog series)
  • Track a specific message from end-to-end
  • View status of technical and functional acknowledgement
  • View status of all related messages
  • View overall status of a business transaction
  • Root cause analysis and issue solving

 

I have triggered the scenario by sending an EDI 850 bulk order to PI. In my example, the interchange control number of the bulk order equals 191008023. The interchange control number is defined by the sender party to uniquely identify the transmission so that you are able to track the interchange with your partner.

 

Get a status overview of all your business-critical messages

 

You can access the Message Flow Monitor in the SAP Solution Manager Technical Monitoring work center. Once you have opened the Message Flow Monitor, it shows two panes in the Flow Overview tab, a Flow Overview pane and a Last 10 Flow instances pane.

 

The Flow Overview pane shows statistics about the status of the message flows grouped by so called flow groups that I am assigned to and that I am authorized to access. Besides other groups, I have configured a group for the Order to Invoice scenario comprising 3 message flows, the bulk message flow, the single order message flow, and the invoice message flow.

 

The Last 10 Flow instances lists the latest errors that occurred so that you can take immediate action to solve the issues.

03_01_overview.png

Figure 1: Message flow overview

 

Search messages based on IDoc number, payload data, or B2B specific parameters

 

From here I can navigate to the Flow Instances view by selecting the entries in the status overview table. Optionally, I can switch to the Flow Instances tab, and search based on an order number for instance if I am interested in a particular transaction only. In my case, I get both corresponding message instances displayed the order and the corresponding invoice.

 

03_02_search_payload.png

Figure 2: Search message flows based on order number

 

Track messages from end-to-end

 

Let’s have a closer look at the invoice message flow, and switch to the Flow Track tab. This shows you the status of the message within each runtime component that the message went through. From top to down, I see that the message was successfully sent from the backend system to PI, and then delivered to the partner. Since the partner system is not within my domain, I do not expect to get an event for the very last step. However, whether the business transaction has been completed, i.e., whether the partner has received the message can be seen from the acknowledgement exchanged between both parties.

 

03_03_invoice_track.png

Figure 3: Message flow track

 

View status of technical and functional acknowledgement

 

So, let’s switch to the Acknowledgment Status tab. The information shown here is the same that is provided in the local message monitoring (see part 2 of the blog series). It shows the history of the acknowledgements with respective status, status code, and correlation ID. In our case, the MDN and the 997 are displayed.

 

03_04_invoice_ackA.png

Figure 4: Acknowledgement history and status

 

View status of all related messages

 

On the Related Instances tab, I see the status of the order which corresponds to the invoice. Here, the correlation is established using the same order number.

03_05_invoice_related.png

Figure 5: Status of instances related to the message flow

 

View overall status of a business transaction

 

The General tab provides all relevant information at a glance: the invoice itself was successfully processed, all related messages were successfully delivered, and your partner has confirmed the receipt of your invoice and accepted the same.

03_06_invoice_general.png

Figure 6: Status summary of your business transaction

 

Root cause analysis and issue solving

 

In case of errors, you can take immediate actions to solve the issue such as canceling or re-sending the erroneous message, sending an email notification, creating an incident ticket, maintaining and running guided procedures that guide you through the issue solving.

03_07_bulk_with_error_activities.png

Figure 7: Create an email notification

 

Outlook

 

We plan to provide the following further improvements and capabilities for the Message Flow Monitor in SAP Solution Manager. This is subject to changes by SAP.

  • A new B2B transaction view in the Flow Overview page combining message flow status and acknowledgement status
  • Graphical visualization of the message flow instances (chevron layout, see figure 8 below)
  • Navigation to local monitoring at the PI system
  • Integration into Central Monitoring and Alerting Infrastructure of Solution Manager. This allows you to generate alerts in case of errors or KPI violations, e.g., failed message flows, negative acknowledgements received, missed acknowledgement for more than 2h, processing time of message flow and related message flows exceeds 2 days, etc.
  • Reporting dashboards and support for customer reports, e.g., top 10 message flows with high error ratio within the last week, number of message flows where end-to-end processing times have been violated grouped by partner, etc.
  • Support of end-to-end flows across multiple PI domains (so called compound end-to-end flows)
  • Support of events from SAP NetWeaver BPM processes

 

03_08_sample_chevron.png

Figure 8: Sample message flow track in chevron layout

 

Hope you enjoyed the blog series and the information revealed.

If you use the businesstobusiness add-on of SAP NetWeaver Process Integration / SAP NetWeaver Process Orchestration in order to connect to your business partners and networks, you may benefit from the latest enhancements that we have shipped with SP02 of the B2B add-on, see announcement in blog B2B Add-on SP2 released. Also refer to SAP note 1911897 and B2B Release Notes SP2 on help.sap.com.

 

This is the second part of a blog series about the improvements that we have introduced helping you to better monitor and track your B2B business transactions. Besides new capabilities that have been shipped within the local monitors of PI, we have introduced a new central monitor with SAP Solution Manager 1.0 SP10, the so called Message Flow Monitoring, which provides you an end-to-end insight into the correct closure of your A2A and B2B conversations.

 

The blog series is divided into three parts:

  1. I will introduce the new features along a typical B2B scenario. If you haven’t done already, you should start with part 1 of the blog series where I describe the underlying business scenario.
  2. In the current blog, I will show you how to monitor the scenario by means of the local monitoring tools.
  3. In part 3 of the blog series, I will show you what value the new Message Flow Monitoring of SAP Solution Manager will add.

 

New local message monitoring capabilities

 

In the following I will cover the new features that have been added to enhance the B2B monitoring capabilities within PI. See also SAP note 1815991 - Enhanced Local Message Monitor for B2B Messages.

 

The following B2B specific monitoring features are supported:

  • View status of technical and functional acknowledgement in message monitor
  • Search related messages
  • Search messages via sender identifier, receiver identifier, or interchange control number
  • View message content both original raw EDI and EDI XML message
  • View acknowledgement in a human readable report
  • If you use the new Trading Partner Management (TPM), you can define User Defined Message Search criteria for searching messages based on the following B2B related parameters:
    • Partner Name
    • Partner Parent Group Company
    • Classification
    • Industry
    • Region
    • Sender Partner Name
    • Receiver Partner Name

 

The Trading Partner Management by the way is a further major enhancement of SP02 shipment of the B2B add-on. It helps you reducing the effort for partner onboarding, support and maintenance by providing a single repository for managing, storing, and browsing all trading partner related information. It holds information such as unique identifiers and partner classification (e.g., vertical, region), partner profiles (e.g., transport protocols, connectivity settings, EDI Interchange header information, acknowledgements, custom parameters), support related information (e.g., address, support contacts, escalation path), documents per partner (e.g., contracts, agreements). For more details, refer to Trading Partner Management blog on SCN.

 

I have triggered the scenario by sending an EDI 850 bulk order to PI. In my example, the interchange control number of the bulk order equals 191008020. The interchange control number is defined by the sender party to uniquely identify the transmission so that you are able to track the interchange with your partner.

 

View status of technical and functional acknowledgement

 

In the PI message monitoring, I select the corresponding message. Two new columns have been added in the list view of the message monitor displaying the status of the technical and functional acknowledgements that were exchanged between the trading partners. Furthermore, in the message detail pane, you can switch to tab B2B Acknowledgements showing the history of the acknowledgements with respective status indicator, status code, and correlation ID. In our case, the technical acknowledgement corresponds to the MDN, the functional acknowledgment refers to the 997. The correlation ID holds the interchange control number, the sender identifier and the receiver identifier, see also below.

 

Note, that XI acknowledgments are not supported here.

02_01_850_bulk_ack.png

Figure 1: Acknowledgement status

 

Search related messages

 

Next, I would like to know which messages are related to this specific transformation. I select the bulk message, and click on the Related Messages button.

02_02_850_bulk_relatedMsgButton.png

Figure 2: Related messages button

 

This displays all related messages: the bulk message itself, the split messages (here the individual orders), and the associated acknowledgements which are processed as separate PI messages (here the 997).

02_03_850_bulk_relatedMsgList.png

Figure 3: List of all related messages in message monitor

 

Search messages via sender identifier, receiver identifier, or interchange control number

 

The relation is based on the correlation ID. So, you get the same result list when searching EDI messages using the correlation ID in the advanced search. As mentioned above, the correlation ID contains the interchange control number, the sender identifier and the receiver identifier. The format is as follows: <interchange ID>_<sender ID>_<receiver ID>. By using wildcards in the search field, I can search for messages based on any of the identifier.

02_04_search_correlationID.png

Figure 4: Search messages based on interchange control number

 

View original raw EDI

 

For monitoring or audit reasons, you may like to keep the original message before transforming into XML format. In the sender adapter of the Integration Flow #2 (routing of individual orders, see part 1 of the blog series), I switch to the Modules tab, and set parameter x12.copy of the X12ConverterModule module equals true.

02_05_iflow2_senderChannel_copyTrue.png

Figure 5: Configuring X12ConverterModule module in the module chain

 

As I can see in the message monitoring, in addition to the XML representation of the 850 order (payload named 850) a new payload named 850_copy has been attached which contains the original EDI 850 single order.

02_06_850_single2_copyLink.png

Figure 6: Accessing the original EDI message in message monitor

02_07_850_single2_copyMsg.png

Figure 7: EDI 850 message

 

View acknowledgement report

 

I am interested in the status of the interchange and all acknowledgments correlated to the interchange. I may open the EDI 997 payload, however the format makes it hard to capture the essential information. I would like to have all relevant information displayed in a more convenient and better readable format.

 

In the sender adapter of the Integration Flow #3 (routing of 997, see part 1 of the blog series), I switch to the Modules tab and add the AcknowledgmentReportModule module into the module chain before the CallSapAdapter module. The module does not require any parameter.

02_08_iflow3_senderChannel_997Report.png

Figure 8: Configuring AcknowledgmentReportModule module in the module chain

 

As I can see in the message monitoring, in addition to the 997 FA a new payload named AcknowledgementReport has been attached.

02_09_997_bulk_AckReportLink.png

Figure 9: Accessing the acknowledgement report in message monitor

 

The report provides you with all relevant information at a glance such as interchange control number, how many messages have been exchanged within the bulk, overall interchange status, status of the individual messages, etc.

02_10_997_bulk_AckReport.png

Figure 10: Acknowledgement report

 

Correlation via User Defined Message Search

 

So far, I have only captured all messages associated with the exchange of the order. Since each transmission has its own unique interchange control number, the messages associated with the exchange of the invoice are not related to the order via the correlation ID. However, in order to correlate the order with the invoice, I can use User Defined Message Search (UDS). This is actually not a new feature, I just like to mention this for reasons of completeness. Here, I have defined a UDS parameter for the order ID. Now I can search for the specific order number and would get displayed both the order and the corresponding invoice.

02_11_810_UDS.png

Figure11: UDS attribute of invoice message

 

Trading Partner Management integration

 

You can search via B2B relevant attributes that you have maintained in the Trading Partner Management cockpit, e.g., get all interchanges with a specific partner, a parent group company, from a specific region or a specific industry. In TPM, I have maintained the partner ABC_Partner and its attributes.

02_12_Partner_General.png

Figure 12: Partner information maintained in TPM

 

In the sender adapter of the Integration Flow #1 (routing of the bulk order message, see part 1 of the blog series), I switch to the Modules tab, and add the TPMContentAccessModule and EDISearchParametersModule modules into the module chain in the order as shown in figure 13 below. The modules do not require any parameter. The former module reads the B2B attributes from TPM, whereas the latter sets correlation ID and dynamic parameters in the message header on detecting any format of EDI messages such as EDIFACT, EANCOM, X12, TRADACOMS and Odette.

02_13_iflow1_senderChannel_modules.png

Figure13: Configuring TPMContentAccessModule and EDISearchParametersModule modules in the module chain

 

Once you have defined UDS criteria using the B2B attributes, in message monitor, select the bulk message, and switch to tab User-Defined Attributes. You can see that the attributes have been added to the message.

02_14_850_bulk_UDS_new.png

Figure14: B2B specifc UDS attributes

 

Now that we have learned about the new B2B relevant local monitoring features, let's continue with part 3 of the blog series where I show how to monitor the scenario within the Message Flow Monitor in SAP Solution Manager.

If you use the businesstobusiness add-on of SAP NetWeaver Process Integration / SAP NetWeaver Process Orchestration in order to connect to your business partners and networks, you may benefit from the latest enhancements that we have shipped with SP02 of the B2B add-on, see announcement in blog B2B Add-on SP2 released. Also refer to SAP note 1911897 and B2B Release Notes SP2 on help.sap.com.

 

In the current blog series, I would like to focus on the improvements that we have introduced helping you to better monitor and track your B2B business transactions. Besides new capabilities that have been shipped within the local monitors of PI, we have introduced a new central monitor with SAP Solution Manager 1.0 SP10, the so called Message Flow Monitoring, which provides you an end-to-end insight into the correct closure of your A2A and B2B conversations.

 

The blog series is divided into three parts:

  1. I will introduce the new features along a typical B2B scenario. In the first part which is covered in this blog, I will describe the business scenario. I won't go in detail, I will only describe that much that is required to understand the monitoring features that I will introduce in the other two parts of the blog series.
  2. In part 2 of the blog series, I will show you how to monitor the scenario by means of the local monitoring tools.
  3. In part 3 of the blog series, I will show you what value the new Message Flow Monitoring of SAP Solution Manager will add.

 

Order to Invoice B2B Scenario

 

A trading partner sends you an EDI bulk message containing multiple EDI 850 Purchase Orders. You have agreed with the partner to use the AS2 protocol. Within your PI system you split the bulk message into individual orders, and forward them to your backend system. Once you have processed the orders in your backend system, you send corresponding EDI 810 Invoices to the partner.

For all messages that you exchange with your partner, the AS2 protocol mandates to return a Message Disposition Notification (MDN). The MDN is a technical acknowledgment indicating that the message has been successfully received by the receiving party, and that the receiving party has verified the integrity of the data exchanged.

To confirm the receipt of the EDI 850 and that the order was syntactically correct, you return an EDI 997 Functional Acknowledgment to your trading partner. The same applies to the EDI 810 that you send to your trading partner. Here you expect that your trading partner confirms the receipt via an EDI 997. See also blog about 997 FA (Functional Acknowledgement) Status Reporting in SAP PI 7.31 B2B add-on.

 

The sequence diagram in figure 1 below shows how this scenario is implemented in PI

01_01_Scenario.png

Figure 1: Business scenario as sequence diagram

 

We have configured the following Integration Flows in the Process Integration Designer perspective in the SAP NetWeaver Developer Studio:

01_02_IflowList.png

Figure 2: List of all Integration Flows

 

Integration Flow #1 (see figure 3) receives the bulk message via AS2 protocol, and routes the original message to the EDI separator adapter on PI outbound (receiver channel). Upon successful receipt of the 850 bulk message, the AS2 sender adapter signs the MDN and returns the same to the trading partner. The EDI separator receiver adapter creates a 997 FA and routes it to the EDI separator adapter on PI inbound (sender channel) of Integration Flow #3 (see figure 5). Furthermore, it splits the 850 bulk into individual 850 purchase orders, and routes them to the EDI separator adapter on PI inbound of Integration Flow #2 (see figure 4).

01_03_iflow1_bulk.png

Figure 3: Integration Flow #1 - receiving bulk 850 message

 

Integration Flow #2 (see figure 4) receives the individual 850 orders. In the EDI separator sender adapter, the EDI 850 order is transformed into an XML representation of the 850. Depending on a routing condition, the message is sent to different backend systems. In our case, the lower path is taken. The message is mapped to the respective inbound interface and routed to the backend system via ABAP proxy.

01_04_iflow2_order.png

Figure 4: Integration Flow #2 - routing the single orders to the backend system

 

Integration Flow #3 (see figure 5) routes the 997 to the trading partner via AS2 protocol. The trading partner confirms the receipt of the 997 with returning an MDN.

01_05_iflow3_997.png

Figure 5: Integration Flow #3 - routing the 997 FA to the partner

 

Once the order has been processed in the backend system and a corresponding invoice has been created, the invoice is sent via ABAP proxy to PI. Integration Flow #4 (see figure 6) maps the invoice to 810 XML, and routes it to the trading partner. In the AS2 adapter, the 810 XML is transformed into EDI 810. The trading partner confirms the receipt of the 810 with returning an MDN.

01_06_iflow4_invoice.png

Figure 6: Integration Flow #4 - routing the invoice to the partner

 

Integration Flow #5 sends the MDN from the partner to a file share (optional, not captured in swim lane).

 

Integration Flow #6 sends the 997 from the partner to a file share (optional).

 

Now that we have understood the business scenario and how it has been implemented in PI, let's continue with part 2 of the blog series where I show how to monitor the scenario within the local monitoring of PI.

Actions

Filter Blog

By author:
By date:
By tag: