cancel
Showing results for 
Search instead for 
Did you mean: 

BPM Integration with BRM

Former Member
0 Kudos

Hi All,

I am integrating BPM with BRM as mentioned below

Steps performed

1.Created the BRM rule,exposed it as web service which is working fine when tested using Web Service Navigator

2.Imported the BRM Web Service into BPM successfully.

3.Created the Service Group into BPM and used it in Properties of Automated Activity "Calculation"

4.Created the mappings and build and deployed the process into SAP PO server

5.Assigned the Provider System which is SAP PO to the Service Group Created

6.Did not click the button Local Provider System in the properties of Service group created.

Once Serive Group was created there was a warning saying,it does not poiint to the same host or something like that.

Used the following blog to create Service Group and Provider System

But when there is not process mentioned in the Configuration-Processes and Tasks-Process Repository to start.

Did I miss anything like sequence of creation of Procider system ,serive group ,build and deployment etc?

Please let me know as this thing has become a blockage point for our delivery.

Appriciate quick reply.

Thanks in advance

Accepted Solutions (1)

Accepted Solutions (1)

ROHITGERA1
Participant

Hi,

Simply Create a web service in your BRM DC
  Right Click on your RuleSet-Web Serve - Create WSDL Artifact

  deploy the DC and publish the Web Service and you ca use it into the BPM dc in Automated Activity

Former Member
0 Kudos

Hi Rohit,

Thanks a lot for a very helpful answer.


Simply Create a web service in your BRM DC

  Right Click on your RuleSet-Web Serve - Create WSDL Artifact

  deploy the DC and publish the Web Service and you ca use it into the BPM dc in Automated Activity

Does it mean that need not create any Service Group or Provider system to integrate BRM into BPM in my case.Is it?

How to publish the Web Service in Services Registry?

Thanks in advance

ROHITGERA1
Participant
0 Kudos

Hi
you can create Service Group , for Step by step process you can use below link :

Former Member
0 Kudos

Hi Rohit,

Thanks a lot .

WIll creating Service Group suffice or will have to create provider systems as well?

Also,is creation of Service Group and Provider System a mandatory step or it will work without these too?

Thanks in advance

Former Member
0 Kudos

Hi Rohit,

I created one BRM rule,exposed it as web service and deployed the DC.I used it in BPM as an automated activity.I did not create any provider system as we are deploying the DC on SAP PO server itself but while assignning the Service Interface to Automated activity in BPM it asks for Service References wherein I gave the Service group created by default and ticked the button for Local Provider System as SAP PO is the one wherein the process will be deployed.

But now while starting the process,the button or Start Process is disabled in Configuration-Processes and Tasks-Process Repository so cant start process.

Can you please guide me?Its become a roadblock for the delivery .

Thanks in advance

ROHITGERA1
Participant
0 Kudos

Hi ,
  for enable the start proceess button you have to give the below portal Role to your user :

   Role : SAP_BPM_SuperAdmin

  or for more Authorizations and Roles please follow the sap link :

  Authorizations and Roles - Business Process Management Security Guide - SAP Library

hope it will help you
thanks
Rohit

Former Member
0 Kudos
Hi Rohit,
Thanks once again.
I am now able to start the process.But I am getting the error
Mapping 
failed
java.lang.IllegalStateException: Occurrence violated, container
constrained to single mandatory node

com.sap.mapping.lib.execution.api.exception.TExecutionException: Cannot
process assignment
at RelayTransformer, SetIntegrator, DisjunctionExpander(
TerminalPart:assignment )
at
demo.sap.com/testing_1_dc/Testing_1_Process/Testing_1_Pool:testing_output(
TerminalPart:assignment )
at ( BroadMapping )
For more details, decrease
severity of log controller as described in SAP Note 1753560.
From one of the threads I came to know it can be solved using string-Join function and about the cardinality of nodes how to use this function
ROHITGERA1
Participant
0 Kudos

Hi,

the exception you are getting is related to the maaping betwwen the nodes,
check the maaping in your BPM process, weather BRM output is mapped with context node..

and check the node cardinality should be same while mapping to other node

Former Member
0 Kudos

Hi Rohit,

For Mapping,please let me know if the mappings done are correct also how to use any string -join function

Input-Output mapping

Automatic Activity-Input Activity

Automatic Activity-Output Mapping

Display -Input Mapping

Former Member
0 Kudos

Hi Rohit,

Can you please tell me the following based on the screen shots provided

1.Where and how to check and change the cardinality?

2.Where and how to use the string join function to correct the error I am getting,if needed?

3.I am using 3 data objects as testing_1_input1,testing_1_input2,testing_1output instead of context nodes this is because as per my understanding the context node is created in Process Modelling-Data types only and only if we create Web Dynpro screens explicitely and dont use the default screen we create using Appluy Template.Is it ok to use the 3 data objects instead of context nodes?

Appreciate quick reply.

Thanks in advance

Former Member
0 Kudos

Hi All,

I am completely lost.Can you please help me ?

Thanks in advance

ROHITGERA1
Participant
0 Kudos

Hi ,
I have also faced the same issue like mapping failed
means we have to set the value in the mandatory node for BRM service input and output

Please check again weather you mapped the node input and outpurt values correctly

thnks
Rohit

Former Member
0 Kudos

Hi Rohit,

I tried in another way just now.

Did not create any data objects instead used the context created in Process Modelling-Data Types.

Now I am getting the error as


A technical error during invocation: Could not invoke service reference name site:scn.sap.com

I searched for the error for these things

http://wiki.scn.sap.com/wiki/display/TechTSG/Sending+a+message+from+SAP+NetWeaver+BPM+process+to+PI+...

First one is ruled out as we are not making call to SAP PO and only using the PO stack for deployment.

For second option tried,with unchecking the Local Providr System in Service Group tab and tried to assign the provider system to the BPM component but its getting failed.

Can you please guide me?

Thanks in advance

former_member191044
Active Contributor
0 Kudos

Please take a look to the log files and search for the whole exception. When did this exception occour?

Regards,

Tobias

ROHITGERA1
Participant
0 Kudos

Hi ,

  I think there might be server isssue .Please take a restart of your server and then do the neceessary configuration.

hope it will help

Thanks ,
Rohit

Former Member
0 Kudos

Hi Tobias,

Thanks for the reply.Will do the server restart once.

I checked with the exception and found floowing threads and blogs helpful

http://wiki.scn.sap.com/wiki/display/TechTSG/Sending+a+message

As per the above blog I tried to add the provider system but its getting failed.

http://scn.sap.com/thread/3413245

In the second thread,one SAP Note is mentioned which is 1378856 but we are already on higher version .Please guide.

Thanks in advance

Former Member
0 Kudos

Hi All,

I tried using the solutions mentioned in this blog

http://wiki.scn.sap.com/wiki/display/TechTSG/Sending+a+message+from+SAP+NetWeaver+BPM+process+to+PI+...

But getting the same error


A technical error during invocation: Could not invoke service reference name site:scn.sap.com

In addition to he solutions in this bog ,I tried these things as well

-restarting the SAP PO server which is being used to deploy BPM process and BRM web service

-ticking and unticking the Local Provider System in Service group and adding the Provider system as SAP PO

Please guide me.

Thanks in advance

former_member191044
Active Contributor
0 Kudos

Please do what i allready suggested and go to the Log Viewer in the NWA and show us the whole exception. I can't image why the service refernce name should be "site:scn.sap.com". And what is a SAP PO server? Does this mean Portal / CE?

Regards,

Tobias

former_member191643
Active Contributor
0 Kudos

In the input mapping of the automated activity where you are consuming the BRM(where you do data mapping of input parameters for BRM Input), put some definite value for the output parameter of the BRM as well (like "-"). Do not leave it null (unmapped). That is the reason why its failing to invoke your BRM web-service (null-pointer exception).

Former Member
0 Kudos

Hi Siddhant and Ahmed,

Thanks for Valuable reply

Siddhant-


In the input mapping of the automated activity where you are consuming the BRM(where you do data mapping of input parameters for BRM Input), put some definite value for the output parameter of the BRM as well (like "-"). Do not leave it null (unmapped). That is the reason why its failing to invoke your BRM web-service (null-pointer exception).

I have mapped the input mapping of the Automated activity like this

while the output mapping for Automated activity  is done this way

Is it the correct one?

Please guide me.

Thanks in advance

former_member191643
Active Contributor
0 Kudos

I know the solution to your problem. Firstly, tell me how you are imorting the BRM web service into your BPM Project? Through Services Registry? Or through WSDL File(on physical file system) directly?

Answers (3)

Answers (3)

Former Member
0 Kudos

Dear,

As your business rule is intended to be used directly in you business process, it's recommended for performance to not consume it as a web service reference. Plus it's much easier to integrate with.

You can create the ruleset directly in the same business process development component, and call it directly in the mapping expression of your process. the beauty here is you can also use the same schema types of your process context data object while defining your rule input and output, so it will be easy for you to map the input and output while calling the rule function. screenshot below, and under it the steps to implement this.

1- Create your ruleset in the same process development component, under Process Modeling --> Rule Sets (above screenshot).

2- In the ruleset definition, use the XML schema types of your process context while defining your ruleset input and output.

3- Add a mapping activity after your human activity "Enter Details" (you can add the expression directly in the activity output mapping).

4- In the mapping expression, locate the rule function under Rules and Functions --> your namespace (above screenshot).

5- The input of the rule function should be inputs from your dataobjects (simple or complex types are supported).

I hope this would resolve your problem.

Ahmed

former_member191643
Active Contributor
0 Kudos

This will apply only if the Business Rules is applicable only to that particular BPM Process. If the BRM is going to be re-used elsewhere, using it as a web-service is the preferred option.

junwu
Active Contributor
0 Kudos

have u deployed?

Former Member
0 Kudos

Hi Tobias and Jun Wu,

I am completely lost.

Can you please let me know what needs to be done to integrate a BRM rule in the form of a web service into BPM.

I did the following,please correct me what sub steps to be done in the following activities and the sequence of these steps are

1.Creation of Service Groups,do I neede to create Service Group Project ?

2.Creation of Provider Systems.

I am getting many blogs wherein some sun steps for above 2 steps are mentioned like the qay mentioned in this blog

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10271ce0-d613-2d10-a094-d4d693cd7...

What are those sub steps ,if any.

Can you please provide me the simple blog wherin the configurations are mentioned to integrate BRM with BPM in simple steps?

Appreciate quick reply.

Thanks in advance

former_member191044
Active Contributor
0 Kudos

I didn't get this sentence "But when there is not process mentioned in the Configuration-Processes and Tasks-Process Repository to start." So what exactly is the problem? Could please explain that again?

Regards,

Tobias