Step by Step Simple iFlow to BPM to iFlow and Calling Operation Mapping in BPM
This post show a simple example of connection from source iFlow to BPM, call an Operation Mapping in BPM, then send output to target iFlow.
The flow :
a. Sender (BC_S1) send a text file contain message FirstNameLastName via sender file adapter to first iFlow(PI to BPM).
b. First iFlow(PI to BPM) route message FirstNameLastName via receiver SOAP adapter to BPM(BC_BPM).
c. BPM(BC_BPM) call an Operation Mapping to combine message FirstNameLastName to FullName.
d. BPM(BC_BPM) route message FullName via sender SOAP adapter to second iFlow(BPM to PI).
e. Second iFlow(BPM to PI) save text file contain message FullName via receiver file adapter to Receiver (BC_R1).
The steps:
1. Create and activate interface objects in ESR
2. Create, activate and deploy source iFlow (PI to BPM) using NWDS
3. Create, activate and deploy target iFlow(BPM to PI) using NWDS
4. Create, activate and deploy BPM process. using NWDS
5. Test run it.
All sub steps:
1.1 Create data types DT_FirstNameLastName, DT_FullName
1.2 Create message types MT_FirstNameLastName, MT_FullName
1.3 Create below service interfaces :
SI_FirstNameLastName_OUT, outbound interface from Sender(S1).
SI_FirstNameLastName_IN_XI30, inbound interface to BPM(BC_BPM). Stateless XI30 compatible.
SI_FullName_OUT_XI30, outbound interface from BPM(BC_BPM). Stateless XI30 compatible.
SI_FullName_IN, inbound interface to Receiver(R1).
1.4 Create message mapping MM_FirstNameLastName_to_FullName to combine message FirstNameLastName to FullName.
1.5 Create operation mapping OM_FirstNameLastName_to_FullName, for use in BPM.
2.1 Create iFlow EIP_simplebpm_IF_01_FILE2BPM
2.2 Assign sender BC_S1, receiver BC_BPM
2.3 Assign sender interface SI_FirstNameLastName_OUT, receiver interface SI_FirstNameLastName_IN_XI30
2.4 Configure sender file adapter CC_SND_FILE_S1, receiver SOAP adapter CC_RCV_SOAP_BPM.
Receiver SOAP adapter use these URL “http://<hostname>:<port>/MessagingSystem/receive/JPR/XI” to send to BPM.
2.5 Activate and deploy. ICO generated.
3.1 Create iFlow EIP_simplebpm_IF_02_BPM2FILE
3.2 Assign sender BC_BPM, receiver BC_R1
3.3 Assign sender interface SI_FullName_OUT_XI30, receiver interface SI_FullName_IN
3.4 Configure sender SOAP adapter CC_SND_SOAP_BPM, receiver file adapter CC_RCV_FILE_R1.
3.5 Activate and deploy. ICO generated.
4.1 Create new project eip_simplebpm in NWDS using perspective “Proces Development”.
4.2 Import WDSL for SI_FirstNameLastName_IN_XI30
4.3 Import WDSL for SI_FullName_OUT_XI30
4.4 Import WDSL for OM_FirstNameLastName_to_FullName
4.5 Create new process pro_simple. The completed process is like below:
4.6 Create data objects act as variables to temporarily hold values before map to next steps.
4.7 At Start step, Event trigger, add StartMsg.
4.8 Add automated activity, OM_FirstNameLastName_to_FullName to bpm process.
4.9 Add automated activity, SI_FullName_OUT_XI30 to bpm process.
4.10 Ensure service references is correct:
For SI_FullName_OUT_XI30, Type is “XI”, then maintain sender component “BC_BPM”
5.1 Load source file, then file will go through source iFlow to BPM to target iFlow and finally create target file with fullname.
5.2 Communication Channel Monitoring:
5.3 Go to process repository and view it detail:
5.4 Go to manage processes, view process instances completed.
Reference:
http://scn.sap.com/community/process-orchestration/blog/2012/06/11/using-netweaver-pi-s-mapping-in-netweaver-bpm
Using Operation Mappings (PI) in a BPM Process
Configuring Message Processing from BPM to PI
Integrating PI Operation Mapping with SAP BPM
Thanks for viewing.
hi Yee,
I was trying out this scenario but getting an error in nwa ->configuration -> process instance ->
A technical error occured during invocation of operation 'OM_FirstNameLastName_to_FullName' of interface 'demosapcom_eip_simplebpm_OM_FirstNameLastName_to_FullNamePortType': 'Could not invoke service reference name d312e044-9007-4fe9-aa40-f5aa654a9628, component name demo.sap.com~eip_simplebpm~BPMcomponent, application name demo.sap.com/eip_simplebpm.'. Further information: root exception Message 'Configuration not found for application: demo.sap.com/eip_simplebpm,serviceRefId:{http://www.sap.com}eip_simplebpm_demo.sap.com~eip_simplebpm~BPMcomponent_d312e044-9007-4fe9-aa40-f5aa654a9628_WS. Please check the configuration details from the NWA. You may have not assigned the Service Group to a Provider System, or the generation of the configuration has failed.'; message ID 'n/a'; log ID 'C000AC156652EF1C0000000100001794'
Any idea on above error.
Thanks,
Rama.
Hi Rama,
I'm also facing the same issue..
Do you remember How did you solve it??
Many thanks,
Shahar
Not Exactly Shahar,
Guess I had some configuration settings in NWA, not sure but.
Thanks,
Rama.
Hi Shahar,
did you solved it? Facing same issue.
Regards
Chris
Hi Yee,
Thanks for the blog. Its really useful.
Hi Yee Loon Khoo
Thank you for the wonderful blog.
Could you confirm what is the Service Reference do we need to maintain for Start Msg trigger?
And Authentication profile to be maintained for BPM process?
We are referring Service Interface from ESR level and maintaining local host as the provider would be suffice? Please confirm
Best Regards,
Suresh S
Hi Yee Loon Khoo,
Thanks for the detailed blog on iFlow to NW BPM.
I was trying this blog and able to deploy. But while running the process getting the error with status "Suspended". Below is the error log screenshot.
Please share how to fix this issue, if you see this error before (Something to do with service reference or service group???)
1) Soap receiver & sender channels are working fine.
Hi Yee Loon Khoo,
Wonderfull Blog! Its helped me a lot!
Thanks!
Shahar
Hi Yee,
Its really wonderful blog, according to that I have created successfully.