BPM FLOW
Dear friends,
I have following confusinon in BPM.
When i design for eg in BPM like the following: async
RECIEVE----->SEND
I like to understand the flow here.My Undersanding is-
When message comes from source (file) flow is ( Source-->File adapter--->Pipeline(Inbound processing and recv identification) Here now Our reciever is BPM so this source message will be send to BPE engine from Integration Engine.
How Intergration Engine is communicating with BPE engine.
case2 :
RECIEVE--->TRANSFORM---->SEND.
How the mapping program is getting execute in BPM.Since mapping will be done in Pipeline Step.
Kindly guide how this flow will be...... I designed BPM for above cases and working fine but i am confused with flow logic.
Renu.
Hi Renu,
as you know Integration engine and BPE Engine part of ABAP Stack,BPE engine tightly conected with IE.so its very easy to trasfer data to BPE from IE,it does not reuired XI Adapter.But in case of AE and IE communication PI Uses XI Adapter.
When you define Integration Process it stores in BPE Engine,when you define Receive step in BPM,we define Receiver Determination to IE to BPM,in this step IE will send message to BPM.
case 2: Normally mapping program will execute in Trasformation step,When you cal transformation step it executes in BPE Engine,if you mention operation/Interface mapping in Trasformation step,other wise we can execute operation mapping in Interface determination it self,no need to mention Operation mapping in Traformation step.
but always best idea and good practice to execute operation/interface mapping in INterface Determination .
Regards,
Raj
Similar Messages
-
Unable to see the BPM Flow Trace
Hi, can anybody help,I'm not get the BPM flow trace in EM console but I'm able to see the BPEL flow trace,currently I'm working in 11.1.1.5.Thanks in advance.
Do you mean JDeveloper 11gR2? BPM is not supported on that version. You must use the matching JDev version and soa+ bpm extension versions.
Latest is 11.1.1.5.0 with extension version either 11.1.1.5.0 or 1.1.1.1.5.0FP.
http://www-content.oracle.com/technetwork/middleware/bpm/downloads/index.html
Heidi. -
Starting a BPM-flow programmatically
Hi,
When we start a BPM-flow in a manual way, via Configuration Management - Processes and Tasks - Process Repository, we can which user has initiated the process in Operation Management - Manage Processes in the column 'Started by'.
However, when we try to start the same process programmatically, eg. in a webdyn pro app, via the assigned webservice in the start event, we don't see the user who has started the flow, instead we get to see 'Guest_'.
Anyone an idea to resolve this issue?
Thx!
WesleyHi,
When we start a BPM-flow in a manual way, via Configuration Management - Processes and Tasks - Process Repository, we can which user has initiated the process in Operation Management - Manage Processes in the column 'Started by'.
However, when we try to start the same process programmatically, eg. in a webdyn pro app, via the assigned webservice in the start event, we don't see the user who has started the flow, instead we get to see 'Guest_'.
Anyone an idea to resolve this issue?
Thx!
Wesley -
Call BPM flow from EJB container
Hi,
I wondered, since we can start a BPM flow through a webservice call, how we could call a webservice from an EJB 3.x container?
Anyone an idea?
Thx,
WesleyYou mean from a bean?
Like any other web service call, in which case your EJB will be a WS-Client
regards,
Harsha -
BPM flow instance identifier in message mapping
Question: Is the unique instance identifier (number) of an executing BPM flow available to a message map being executed in a transformation step in the flow? I'm thinking that it would be a parameter available in the container object, or something like that. I would expect to need a user defined function to access it.
Thanks,
ChrisI doubt that you can do that.
All the StreamTransformationConstants that you can access can be found if you write
StreamTransformationConstants.
and press ctrl+space, in eclipse (or NWDS).
Make sure you have
import com.sap.aii.mapping.api.StreamTransformationConstants;
and that you have added aii_map_api.jar to your project.
Regards,
Henrique. -
Need a more compact BPM flow than the one over here.
This is the BPM i have encountered with.
The parameters for the steps are :
1. Start: One Queue
1. Loop: Condition: CO_endloop value: not = true
2. Parallel: End condition; necessary branches : value: 1
3. Fork Start.
4. Receive: message: Collect message; use correlation: Correlation
5. Append : target: Collectmessagelist; operation: Append
6. loop parameter1: target:Co_endloop;expression:False
7. Wait:duration: 2mins;
8. loop parameter2: target:co_endloop;expression:True
9. Applymapping: source and target messages defined.
10. Send New message: mode:asynchcronous.
11. Stop: One queue.
The graphical definition looks like this:
.................................-> wait(15 minutes) > loop2>
Start--> loop --> Parallel(Fork).....................Parallel Fork END --> loop END --> append >send>Stop
.................................--> receive -->append --> loop1 --->
Kindly show me how this works.
Is it a good flow;Please inform if u can come up with a more reduced BPM for the said requirement.
If we have a similar kind of bpm for another interface,with another branch to add in the parallel node specifying the number or cardinality function(specifying number of idocs to be collected along with the wait condition). how can we do it ?
Please explain.
If there are any reference materials in any blogs for the same then please post in reply.This is the BPM i have encountered with.
The parameters for the steps are :
1. Start: One Queue
1. Loop: Condition: CO_endloop value: not = true
2. Parallel: End condition; necessary branches : value: 1
3. Fork Start.
4. Receive: message: Collect message; use correlation: Correlation
5. Append : target: Collectmessagelist; operation: Append
6. loop parameter1: target:Co_endloop;expression:False
7. Wait:duration: 2mins;
8. loop parameter2: target:co_endloop;expression:True
9. Applymapping: source and target messages defined.
10. Send New message: mode:asynchcronous.
11. Stop: One queue.
The graphical definition looks like this:
.................................-> wait(15 minutes) > loop2>
Start--> loop --> Parallel(Fork).....................Parallel Fork END --> loop END --> append >send>Stop
.................................--> receive -->append --> loop1 --->
Kindly show me how this works.
Is it a good flow;Please inform if u can come up with a more reduced BPM for the said requirement.
If we have a similar kind of bpm for another interface,with another branch to add in the parallel node specifying the number or cardinality function(specifying number of idocs to be collected along with the wait condition). how can we do it ?
Please explain.
If there are any reference materials in any blogs for the same then please post in reply. -
Hi Experts,
Async Scenario : SOAP -> Call Microsoft webservice -> Call BEA 2 webservices -> call ORACLE webservice -> call Microsoft webservice -> call XI webservice -> call Microsoft webservice
Issue: When I execute the above scenario, the services are called many times as well as that was not in order. I would like to call the service only once as well as it should be in the above order. How to do it with BPM?
Please help me out.
Thanks & Regards
SaraUse BPM pattern BpmPatternSerializeOneTrigger
http://help.sap.com/saphelp_nw04/helpdata/en/77/0737133012b24b9d0a12c6df2b1054/frameset.htm
Regards,
Prateek -
BPM flow Proxy to File and then Acknowledgement back to Proxy or JDBC.
hi All,
I have to create an BPM scnario to get acknowledgement from receiver file adapter.
Steps created in BPM are:
receive -> send (Transport Acknowledgement is selected) as per blog /people/michal.krawczyk2/blog/2006/06/22/xi-playing-with-the-file-adapters-acknowledgments
Now what i want to do is whenever any type of acknowledgement is obtained i need to send success or failure message to proxy or JDBC(have alreay seen how to request for acknowledgements through client proxy).
What i need to do in order to achieve this scenario?
Thanks,
Mayankhi,
If we are getting exception for some reason and error text as visible in moni for example is:
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: An error occurred while retrieving an FTP connection from the connection pool: com.sap.aii.af.lib.util.concurrent.ResourcePoolException: Unable to create new pooled resource: ConnectException: Connection timed out: connect</SAP:AdditionalText>
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
Is it possible to capture Additional Text somewhere in BPM, so that in case if deadline limit is exceeded we can send exception text back to the sender?
thanks. -
Passing table values from one webdypro screen to the next in BPM flow
Hi,
I have a BPM scenario where in User 1 will be entering data on a java webdynpro view in the form of a table. The user 1 should be able to edit contents of the table.
These set of values in the table from User 1 needs to be passed to User 2 through BPM. The User 2 should be able to read the values edited by User 1 in the table.
Please could you suggest how we could map the table attribute?
With respect to Context Elements, I have a Node created for the table. But, the data doesnot seem to pass from User 1 to User 2.
Any suggestions on this would be extemely helpful.
Thank You.Hi,
Please follow the below mentioned steps:
Create a Human Activity containing the task(WebDynpro Task) to edit the table values.
Create a data context of type (Context of the table node used in the Webdynpro task).
Map the output of the human activity to the input of the data context.
Create another human activity that contains the task to read the values of task1
Assign this task to User 2
Map the output of data context with the input of the second human activity.
Regards,
Gayathri -
SAP BPM Flow Rule set error: Result for ResultSet is required.
Hi ,
I want to create of Rule set or Flow rule set inside "Process development" perspective.
I have defined one process under "Processes" folder. After this, I want to create a rule set under "Rule Sets" folder.
While creating a rule set, it prompts for "Result for ResultSet is Required" but I don't get anything in drop down select. Please help me whats going wrong here.
Regards,
AmanHi Aman,
Have you mentioned the Return Type in signature while creating RuleSet ?
Refer the document : SAP NetWeaver Business Process Management Resource Center
-Abhijeet -
Retrieve Specific Mapping Error Information Within BPM Flow.
I have an Integration Process which executes a message mapping step prior to further processing. When the message mapping receives an error there is an exception branch
within the process that will send an email using the Mail Receiver Adapter. The mail message prototcol is XIALL which sends the payload and soap envelope.
However, I need to retrieve the actual error returned from the mapping step and forward that specific information to the originator of the failed message as an email.
I know we can use the alert functions to send alerts, but my requirement is to send the actual error via email to our external vendors / customers.
Has anyone had success doing this?Hi, have you got it done? Please share!
Thanks,
Karthik -
Hi ,
I created a BPM application which has a human task in the BPM flow. This task takes a parameter (requestor id) and sends an email to this requestor to submit a form.Data enetered should be saved in the database.
How can i achieve this?
Thanks,
Lakshmi.Hello Lakshmi -
Assuming that you are using BPM10g.
1. Please go thru the Expense report example tutorial on Oracle.com
Ref : http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/tutorial/index.html
Then create a simple process as your requirement.
Sample process for this example :+CreateData+ is my Global Creation (Accept data from user - here using screen flow)
And Save is Interactive Activity.(Email and DB insertion)
2. The extra things you needs are following..
a) Create BPM Object for input Data (Here DataEntry is the Module name, Data is BPM Object)
b) Catalog your DB into BPM by using Catalog an SQL Component under DataEntry Module.
Here using scott.emp table from Oracle sample schema
c) Persisting input data code
d) Sending email code
CIL for c and d in Save activity.
// Persisting data.
INSERT INTO DataEntry.SCOTT.EMP(ename, job, empno)
VALUES (this.data.name, this.data.job, this.data.empId);
logMessage "!!!!!!!"+activity.name+"data insertion completed !!!!!!!!!!!!!!!"
// Email
mailer as Fuego.Net.Mail
sender as Fuego.Net.MailSender
mailer.from = Participant.email
mailer.recipient = "[email protected]"
mailer.subject = "Test email from BPM10g"
mailer.message = "Input message here.... RequestId : "+this.data.req_id
sender = Fuego.Net.MailSender(mail : mailer)
send sender
logMessage "!!!!!!!"+activity.name+"email sent !!!!!!!!!!!!!!!"Also you need to configure Email server info
Right Click on your Project -> Engine Preference --> General --> Networking section --> Fill up the details.
BR,
Justin -
In BPM sync/async Step , can you have different message schema?
Scenario:
File to XI to BPM to SOAP to RFC
In order to trigger the webservice , I use a dummy file which will be polled at a certain frequency- once in 30 minutes in Test mode - this will call the Webservice. The answer of webservice is sent to RFC Async.
so these are the Repository objects I created :
1. File Outbound Async Message Interface- Output Message (File_Request_MT)
2.File Abstract Message Interface-Output Message (File_Request_MT)
3.Async/ sync bridge Abstract interface to call the Webservice
4 Webservice Inbound Sync Message interface- with both input and output message
5.RFC Inbound Async message interface- input message (RFC_Request)
6 RFC Abstract Async Message interface-input message (RFC_Request)
BPM
a) Receive step which uses the the object 2.
b) Sync send which uses object 3
c) Send step which uses Object 5
I am using a BPM to Receive the file data/ "request " by using the File abstract message interface
Then use the the object 3 to call the webservice in BPM .
My question is on this step
Can I have for the abstract Interface(Object 3) the Request message as File_Request_MT and
response message as (RFC_Request) ?
I use a message mapping to map Input and Ouput message of Object 3 with Object 4.
Thanks for your insightRaj,
Thanks for the feedback , but I have a question regarding your reply
Interface Objects
Object 1: File_Request_Abs
Object 2: Soap_Response_Abs
Object 3:Soap_Abs_Synch
Output Message:File_Request_Abs
Input Message:Soap_Response_Abs
Object 4:Rfc_Request_Abs
The question is about
a)SOAP_RESPONSE_ABS : could you please tell me why do we need an abstract interface -SOAP_RESPONSE_ABS?
I created a message type MT_SOAP_RESPONSE and used that in the BPM sync Send step as the Input message.
b)Soap_Abs_Synch- I am using message types
MT_File_request and MT_SOAP_Response From your reponse, it looks like you are suggesting to use
Abstract Interfaces as Output message and Input Message, am I correct? Could you please tell me whether this has advantages over using message types MT_file_request and MT_soap_reponse? I haven't used Abstract interfaces before as Input message and output message; infact, I wasn't even aware that it can be. Please confirm that it is possible. Thank you for increasing my knowledge !!!
These are the Objects I created
Message Type :
a) MT_Filerequest
b) MT_SOAPresponse
Message Interface
a)MI_Filerequest_out_async -
Output message
Mess. type MT_filerequst
b)MI_filerequest_async_abs-
Mess. type MT_filerequst
Used
i) used for BPM receiver step- container definition
ii) receiver determination
c)MI_webservice_sync_in - This is created from External definition
d)MI_webservice_sync_abs-
Input message - MT_soapresponse
Output message- MT_fierequest
Used:
i) used for BPM sync send step ,
ii)Interface mapping between MI_Webservice_sync_in and MI_webservice_sync_abs
iii)Container element-SOAP_response
e) MI_RFC_async_out
Input message
RFC_Request(This is imported from RFC definition)
g) MI_RFC_async_abs
Input message
RFC_Request(This is imported from RFC definition)
Mapping
Message mapping
i)Filerequest_TO_SOAPrequest
Source: MT_Filerequest
Target: SOAPrequest(Got from External definition)
ii)SOAPresponse_TO_BPM_response
Source : SOAPresponse(got from External definition)
Target : MT_SOAPresponse
Interface Mapping
i)IM_BPM_TO_SOAP
Source Interface : MI_webservice_sync_abs
Target :MI_webservice_sync_in
uses following message mapping
Request : filerequest_TO_SOAPrequest
Response:SOAPresponse_TO_BPM_response
BPM container element
i)Receiver_container TYPE MI_Filerequest_out_async
ii)SOAP Responsecontainer TYPE MI_webservice_sync_abs
iii)RFC_Request_container TYPE MI_RFC_async_abs
BPM flow
Receive---->Send Synch-->Transformation----->Send Asynch
Receive -
> receiver_container
Send Synch -
> receiver_container(Request Message), Soap_response_container(Response Message)
Transformation -
> Source(Soap_response_container), Target(RFC_request_container)
Send Asynch -
> RFC_request_container
Thanks for your help!!! -
BPM process : where in pipeline
Wanted to know where does bpm fit in the PI pipeline ? like we can do som nay steps like collect ,split IDocs etc. But where in pipeline does this kick off? since we can do recv determination also in bpm so does pipeline kick with the bpm rather than recv det?
Thank you.Hi,
Can you see amars reply in this thread:
pipeline steps
Also see siva and abhisheks reply in this thread:
BPM FLOW
Regards,
---Satish -
hi all,
My BPM flow starts with a single message that I split using a message map into a list of messages into a block which is foreach mode to be sent synchronously one by one splitted messages to an Oracle stored procedure via the JDBC adapter. After the mapping step, the flow goes into a ParForEach block that executes the sync Send step to the JDBC adapter, and then has a Container Action that collects the responses.
My problem is that BPM seems to not like executing a synchronous send from inside a block. The first execution of the send step will produce an error in the BPM flow.
thanks in advance.
srinivas.
Edited by: sri_rambo on Nov 27, 2009 8:06 AMMy problem is that BPM seems to not like executing a synchronous send from inside a block.
BPM does support SYNCSend step inside a Block....but not for ForEach/ ParForEach mode of execution.
I think you are following this procedure from quite a long time.....sync send inside a foreach block.
Regards,
Abhishek.
Maybe you are looking for
-
Connecting a Samsung TV to the internet ...
Hi all, Hopefully an easy one to sort for those of you who have been through this yourselves!!! We have a BT V2 home hub, BT Broadband and BT Vision (with two 9020 powerline adapters (the black ones) , both ethernet cable connected ... one in the hub
-
P45D3 Platinum - does the esata (external) have port multiplier ability?
Hi, have the MSI P45D3 and just bought the Icydock mb561us-4s (http://www.icydock.com.tw/English/mb561us-4s_frame.html) which requires the esata to have port multiplier function. Does the esata have it.....if yes....please help with instructions to e
-
Lost music after sync
-
Room Discussion - Remove Buttons
Hi, I want to remove "Add to Favorites" and "Subscribe to Discussion" button from the com.sap.netweaver.coll.RoomDiscussion iView. I can't find the appropriate UI Command to remove to make this happen. Anyone who can help me? Thanks.
-
I Can't find PS in my App folder on my Desktop.
Just Downloaded PS and Lightroom Bundle. LR downloaded and works PS Downloaded but no where to be seen?