BPM Scenario (4 steps in sequence)
Hi gurus,
I am facing following scenario:
PI receives a WS request, with some info
With this info, PI accesses a tabla in a DB in order to insert an STATUS field ('In_Progress' status)
With the same info (received via SOAP) PI accesses to SAP via sRFC and gets its output fields.
With this output, PI accesses the same tabla, updates the STATUS field ('Finished' status) and fills the table
So I decided to create a BPM with 4 steps:
Step1: RECEIVE the SOAP_Request_AI (async)
Step2: SEND the JDBC_STATUS_AI to LEGACY (async)
Step3:SEND the SEND_RECEIVE_sRFC_AI to SAP (sync)
Step4: SEND the JDBC_RESPONSE_AI to LEGACY (async)
I have created 7 MI's:
SOAP_REQUEST_OI -> out of the BPM, it receives the message from WS
SOAP_REQUEST_AI -> inside the BPM, it receives the message from SOAP_REQUEST_OI (No IM)
JDBC_STATUS_AI --> inside the BPM, it sends the message (that step1 received) to the DB (IM)
JDBC_STATUS_II --> not used so far!
SEND_RECEIVE_sRFC_AI -> inside the BPM, it sends the message (that step1 received) to SAP (IM)
JDBC_RESPONSE_AI ->inside the BPM, it takes the response of step3
JDBC_RESPONSE_II -> out of the BPM, it sends the message (that comes from step4) to DB (IM)
All my mappings are out of the BPM.
Interface Determinations:
SOAP_REQUEST_OI to SOAP_REQUEST_AI (No Mapping)
SOAP_REQUEST_AI to JDBC_STATUS_II (Mapping) --> here i have a doubt
SEND_RECEIVE_sRFC_AI to ZRFC (Mapping)
JDBC_RESPONSE_AI to JDBC_RESPONSE_II (No Mapping)
I followed the instructions of the following blog regarding MI's and mappings but it doesnt work!!!
RFC Scenario using BPM --Starter Kit
However if i delete step2, it does work so i think i am missing something regarding the conversion between interfaces in step1&2 and step2&3.....
Could you please give some indications?
Thanks a lot in advance and best regards,
David
David,
I think you need to change the objects. Please try the below logic, and let us know if it helps!
Message Interfaces used
SOAP_REQUEST_OI
SOAP_REQUEST_AI
SOAP_REQUEST_OI
JDBC_STATUS_AI
JDBC_STATUS_II
SEND_RECEIVE_sRFC_AI
JDBC_RESPONSE_AI
JDBC_RESPONSE_II
Sender Agreement:
O/B Interface : SOAP Request_OI
Receiver Determination -1
Sender : SOAP Service
Outbound Interface :SOAP_REQUEST_OI
Configured Receiver : BPM
Interface Determination-1
Sender : SOAP Service
Outbound Interface :SOAP_REQUEST_OI
Inbound Interface :SOAP_REQUEST_AI
No Interface Mapping
Receiver Determination -2
Sender : BPM
Outbound Interface :SOAP_REQUEST_AI
Configured Receiver : JDBC Service
Interface Determination-2
Sender : BPM
Outbound Interface :SOAP_REQUEST_AI
Inbound Interface :JDBC_STATUS_II
Interface Mapping IM_WS_2_JDBC
Receiver Determination -3
Sender : BPM
Outbound Interface :SEND_REC_RFC_AI
Configured Receiver : RFCService
Interface Determination-3
Sender : BPM
Outbound Interface :SEND_REC_RFC_AI
Inbound Interface :ZRFC
Interface Mapping from IM_WS_2_RFC_2_JDBC
Receiver Determination -4
Sender : BPM
Outbound Interface :JDBC_RESPONSE_AI
Configured Receiver : Receiver Service
Interface Determination-4
Sender : BPM
Outbound Interface :JDBC_RESPONSE_AI
Inbound Interface :JDBC_RESPONSE_II
No Interface Mapping
BPM Steps
Step1:
Receive: SOAP_REQUEST_AI
Step2:
Asynch Send:SOAP_REQUEST_AI
Step3:
Synch Send:
Synch Interface:SEND_REC_RFC_AI
Request:SOAP_REQUEST_AI
Response:JDBC_RESPONSE_AI
Step4:
Asynch Send:JDBC_RESPONSE_AI
I'm sure the above config will provide solution to the issue.
Thanks,
raj.
Similar Messages
-
Hi All,
In my scenario iam getting a message through RFC.Now i have to split the messsage into multiple messages and then send each message individually to a webservice and get the response.
I want to send them in Parallel mode by using Block step - Parforeach mode.
Following are the steps in my BPM.
1.Receive step - Open Syn/Async Bridge
2. Transformation step to split the message into multiple messages.
3.Opened a block in parforeach mode
4.Send step in synchronous mode
6.Collect the response in container.
7.Ouside the block close the ync/Async bridge.
When i exceute the scenario, i only see one message in SXMB_MONI which is from R3 system and even that message does not indicate what the problem is.The message recahed the BP engine.
Unable to figure out what the problem is.
Regards,
Srinivas.But to use the response of all the sync messages, u must use the correlation
See this
http://help.sap.com/saphelp_nw04/helpdata/en/11/13283fd0ca8443e10000000a114084/content.htm
Regards,
Prateek -
Where to chk the PipeLine process steps in BPM Scenario...
hi experts,
i hav a scenario where i need to send multile file formats to an synchronous R/3 system and from R/3 it needs to be forwarded to the Target system in file format... its a BPM scenario...
i need to CHK the sequence of Steps or Pipeline process to knw where exaclty the message is at each piont of time...
can any one help on this plz...
Thanks and Regards,
Srinivasits possible to do the same using the ALERT Framework also...for the same pls go through the info provided below.
From SP 14 on PMI-free alerting was introduced. That means before SP 14 one has to configure and activate the End-to-End Monitoring, and to schedule the report SXMSALERT_PROCESS_DATA_GET in order to extract the alerts from the PMI data. For SP 14 and higher, that's not longer necessary.
If no alerts are being delivered, please check if "Suppress multiple alerts of this rule" is checked for your rule.
For SP 14 and higher you could also have a look at the report sxmsalert_logreader. This report shows some information about alerts being created or not.
You'll find more information about trouble shooting the alerting in SAP Note 913858.
Also just check if this batch program (RSALERTPROC) is running or not.
The links below on Alert Management (ALM) will be of good help to you:
http://help.sap.com/saphelp_nw04/helpdata/en/3f/567ddea69d3d4c93a6aedabd08899e/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/3f/81023cfa699508e10000000a11402f/frameset.htm
Also go through these blogs:
https://www.sdn.sap.com/sdn/weblogs.sdn?blog=/pub/wlg/1382. [original link is broken] [original link is broken] [original link is broken]
The specified item was not found.
The specified item was not found.
Meanwhile look at these forum threads also:
Alerts not getting triggered from Adapter Framework
Alert Configs...
Also, In ALRTCATDEF, go to SETTINGS--> CONFIGURATION. By default, the option selected is INTERNAL PROCESSING. Select the option SMTP FORWARDING AS XML and give the email id. This will enable you to send an email alert whenever an error occurs in XI.
I hope it helps you in finding a solution to your problem. -
Issue in File to RFC to File Scenario with BPM using Block Step
Hi Everybody,
I am doing File to RFC to File Scenario for multiple records using BPM using Block Step. The File Message is getting posted and after that, the message is getting stuck up in the qRFC Monitor (Inbound Queue).
After seeing the message in Inbound Queue, I am trying to execute and release the message. But when i execute the LUW, it says " Function module doesnt exist or EXCEPTION raised" in Inbound queue.
Could somebody suggest me the outcome of this? What does this mean and how to
release the stuck up message in Queue.
Thanks and Regards,
N.Jayanth KumarHi Rajesh,
After going through the blog, i saw the trace messages. It says
" The exception occurred (program: CL_SWF_XI_INBOUND=============CP, include CL_SWF_XI_INBOUND=============CM00F, line: 19)"
Regards,
N.Jayanth Kumar -
Receiver Determination steps for BPM scenario
Hi Experts,
Scenario : SOAP -> Calling different webservices
1. SOAP Client Request
2. Call the Initial webserive to get the unique Id. No need to pass any request to call this webservice, but it will give the response.
3. Take the Initial websrevice's response as a request to second webservice
4. Pass the SOAP client request to Third webservice
BPM steps
1. Receive Step for SOAP Request
2. Send Step for the Initial webservice call.
3. Transformation step Initial webservice response to request change.
4. Send Step for Second webservice (Pass the the Transformation step's target interface as a request)
5. Send Step for Third webservice ( Pass SOAP client request)
I am done with the BPM flow. Could you please help to do the Receiver Determination steps.
Usually I follow the below steps.
1. Sender Service to BPM
2. BPM to other services. I have a doubt with the second step. I am not passing the SOAP client request to Initial webservice. So, please tell me how to proceed further for the BPM Receiver Determination steps..
Thanks & Regards
SaraHey,
First, what is th purpose of your SOAP client request.
Is it just to trigger the BPM.
Second on what basis are you fetching the unique Id from initial web service.
If it is a normal scenario then, the reciever determination will be like this.
Soap client-> BPM
BPM->initial webservice
BPM->second webservice
BPM->third webservice
but in this particular scenario i dont know which data is being used to fetch the unique Id.
regards,
Milan -
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 Scenario: Message has error status on outbound side
Hi All,
I am doing one BPM scenario. In my scenario i am collecting 12 different type of idocs in BPM and bundling these idocs and sending these to the 12 different files.
If i send 12 idocs from the R/3 then my scenario is working perfectly fine. If i send less than the 12 idocs that time i am getting the error message as "Message has error status on outbound side" with red flag.
Can you please explain what minght be the problem. I have already checked in SM58,SMQ1 and SMQ2.
Thanks & Regards,
PurushothamHi Nutan,
I hv configured my scenario as follows
1. Start
2. Block ( Deadline and Control step for cancell the process)
3. Fork(Necessary branches 12)
4. Loop(12 loops)
Under loop
a. Receive Step
b. Container Operation( For count)
c. Container Operation(For append)
5. Fork( Necessary branches 12)
6. Transformation
7. Send
8 Stop
This is my scenario. In the first Fork step i am checking end condition as total number of idocs is reached then i am sending all the data to the target system. If the idocs are not reaching with in 1 hour then i am cancelling the process.
Now can you please tell me what is the problem.
Thanks & Regards,
Purushotham -
BPM scenario,message struck in queue.
Hi folks,
I am doing a Simple file to file BPM scenario(NO TRANSFORMATION)...
My scenario executed properly,but in moni i receive a green flag, after i looked it in
LUW -->Display Process, I can see the steps as
Receive1--initialize-send1-UNDEFINEDWork flow completed.
I think there is a problem after send.... can u plz tell me what may be the reason.
Or Am i doing in creating a IP,..... if so can u give me a simple file to file scenario,with detailed stepsYes i have checked everything,
Status code of IP is 0 in sxi_cache-->IP
and interfaces are assigned properly at right places......
Still the message gt struck in queue...
I have a doubt,that why The Unsefined step is coming after send1....
RECEIVE1>INITIALIZE>SEND1>UNDEFINED-STEP>COMPLETED -
BPM Sync Send Step & Correlation
Hi Experts,
BPM Scenario: Step wise
1. Receive-1 from one sender
2. Send-1 it syncu2019ly to SAP using proxy and receive the response msg
3. N: 1 transformation b/w request message and response message to generate a target message
4. Send-2 the target message to a receiver
Though the scenario seems to be simple, I have a doubt about the sync send step.
How does the sync send step works in detail?
For every message the Receive-1 receives, a new process instance will be generated. When the message is sent to SAP syncu2019ly, how does it relate the response to the particular process instance?
For example, if 2 BPM process instances are created for two messages the Receive-1 step receives. However say, the second message is relatively less in size; in-turn consumes less time to execute in SAP and reaches XI well before the response for first message.
Which process instance will it be related to?
Please explain!
KarthikThanks, Udo! With your reply I heave that itching thought.
I would happy to read more about this sync-session logic.
Can you please provide more information/ blog/ material for detailed info?
P.S. pts added to you!
Thanks,
Karthik -
File to RFC to File with BPM Scenario
Hi all,
I am trying to implement a Sender File ( async ) to RFC (sync ) to Receiver File with a BPM. I using the blog https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1926. [original link is broken] But it doesnt work. First message FileRequestOut is correct in SXMB-MONI, but the second is showing a error. I checked in SXMB-MONI-BPE and I say in workitem is follow message:
Message Error Workflow
Error handling for work item 000000001714
Work item 000000001714: Object CL_SWF_XI_MSG_BROKER method SEND_SYNCHRON cannot be executed
No reference message specified when sending a response
No reference message specified when sending a response
I configured my BPM scenario in this way:
( Sender File Adapter )
First Step
Receiver Step ( Asynchronous )
Mode: Asynchronous
Receive Message: File Request
( Receiver RFC Adapter )
Second Step
Send Step ( Synchronous )
Mode: Synchronous
Request Message: File Request
Response Message: File Response
Receiver From: Send Context
( Receiver File Adapter )
Third Step
Send Step (Asynchronous )
Mode: Asynchronous
Receive Message: File Response
Receiver From: Send Context
I have changed it, many times and I can get solve it. About my configuration objects, I think it is ok, because a tested my Interfaces in Configuration Test Tools it was ok. ( Receiver Det. Interface Mapping, etc )
I have seen in SDN, this error maybe Sencond Step must be Synchronous e Third Step must be Synchronous too. Is it true? In other hand, I have seen, it is possible to use a Async / Sync Brigde.
Could you help me about this problem?
Thanks for help
Best regards
Fábio Ferri
Consultant XI/ABAP/NetweaverHi ,
<b><i> I have seen in SDN, this error maybe Sencond Step must be Synchronous e Third Step must be Synchronous too. Is it true? In other hand, I have seen, it is possible to use a Async / Sync Brigde.</i></b>
In BPM did u used as
Recive Step Async
Synchronous Send Step
Send Step is Async
<i><b> it is possible to use a Async / Sync Brigde.</b></i>
No need to use Asyn Sync Step for this
Assign poins if u found hepful
Best Regards.,
V.Rangarajan -
BPM scenario - How to check it?
Hi Experts,
I couldn't see any difference between in wsdl file which was created for BPM scenario and non-BPM scenario.
How to make sure that the BPM process worked fine? I couldn't get anything for SXMB_MONI_BPE. Am I missed out any steps?
Regards
SaraHi,
Refer to the guide: 'How to Monitor Integration Processes' at https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c.
Regards
Manish -
BPM Scenario : How to Proceed ?
hi folks,
I am working on a BPM scenario .
Scenario goes like this : I want to pick the data from a file and post the data into SAP using a RFC and get some data in response .now data which came back as a response from RFC response should be written in a XML file whose name should be dynamically generate and then the name of the dynamically generated XML file should go into a table.
My BPM is like this
Step 1 : Receive ( For collecting the data from file)
Step 2 : Sync Call to RFC ( For making a sync call to RFc and then sending back the resp data)
Step 3 : Send Step ( For sending the response data to XML file , name should be dynamically generated)
Step 4 : Send step ( For sending the dynamic file name of XML file to Table)
Till step 3 i have worked fine and getting the desired output also ( as i am getting the dynamic file name in the output xml file) but after that not sure how to proceed...
how to push the dynamic file name from XML file to Table.
Now my doubts...
Is design of my BPM is right...? if not please correct me...and also if there is any other way to get the same functionality ?
Regards,Hi Latika,
-->hw r u generating the filename? is it thru a field in ur structure that u are capturing by setting adapter specific attributes in receiver file adapter config?
Yes
-->if yes, then use that field only to get the file name. in ur last send step u can use a mapping to trasfer this field into the target structure for oracle database.
even i also want todo this...but how..this is the question..
My BPM is like this
Step 1 : Receive ( For collecting the data from file)
Step 2 : Sync Call to RFC ( For making a sync call to RFc and then sending back the resp data)
Step 3 : Send Step ( For sending the response data to XML file , name should be dynamically generated)
Step 4 : Send step ( For sending the dynamic file name of XML file to Table)
I step 3 data to file(dynamic file name) is send.
Now how can i send the data from dynamic file generated just now to JDBC.....?
Kindly help by step by steps..explanation..
Regards, -
Hi
i created a bpm scenario according to the blog "RFC Scenario using BPM --Starter Kit" by Arpit Seth. I get the file into XI successfully, but after this first step nothing else happens. In the SXMB_MONI i have only one successful message that read my file.
How can i debug the reason of this problem?
thx in advance
Michaeli haven't a SXMB_MONI_BPM. But i checked SXMB_MONI again and found 2 error messages from BPM belonging to the resend tests from the PE trace.
The Response message contains following error:
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.af.rfc.util.bapi.BapiException: Parameter with name RETURN not found.</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
Is this a BAPI problem? -
Hi Experts,
How to do Sync to Sync BPM scenario without using Sync/Async bridge?
Could you please give the BPM steps for SOAP to JDBC scenario?
Regards
Sara
Edited by: Sara D on Jan 17, 2008 7:59 AMHi,
Check below links for BPM scenarios.
/people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
/people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
/people/michal.krawczyk2/blog/2005/09/04/xi-do-you-realy-enjoy-clicking-and-waiting-while-tracing-bpm-steps
/people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/daea5871-0701-0010-12aa-c3a0c6d54e02
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/e8515171-0701-0010-be98-e37bec4706cc
Regards,
Phani -
No reciever could be determined in BPM scenario
Dear Friends,
I am working on BPM scenario i.e sending the delivery idoc from one ECC to another ECC using XI,In XI side after one hour it has to be updated, for this scenario I am uisng Recieve-wait-send step types are using.
I have done all the steps but in SXMB_MONI iam getting this error
i.e No reciever could be determined and Error in Back routing and Error in Communication channel.
Please tell me the what are steps required extra.
Regards,
Shalini Shah.Hi Shanlini,
Kindly find the below threads solved many times with same issue:
Re: No receiver could be determined
Re: No Receiver Could be determined
Re: No receiver could be determined
Reciever idoc adapter Determination error
Regards
Venkata Rao .G
Maybe you are looking for
-
Self Service Restore - Data Centre Failure
I'm evaluating the new 'Standard' tier of SQL database and self service restore feature. My question is about where the backups are stored for self service restore and whether they help in a full data centre failure. e.g. If my Standard SQL db is in
-
Place an element from library to document
I know the name of library and name of element. How can my script place an element from library to document at any location?
-
How to setup JDeveloper 9.0.4.0 for iStore development environment?
I am new to iStore and JDeveloper. I want to use JDeveloper as a development environment for making the UI customizations to iStore. Unfortunately the only documentation I could find is dated April 2002 for JDeveloper 3.2.3. Has anyone been able to c
-
Resizing very high-resolution photos?
downsizing photos i want to make a blurb book using photos professionally scanned at high resolution, 7351×4947 pixels at 5250ppi. for the book i want to make they should print at 11.25" and not more than 300ppi. when i downsize them (using image
-
VALIDATE_LAYER_WITH_CONTEXT - Rowid and NULL in result table
Hello, Oracle 10g R2 I performed validity test using VALIDATE_LAYER_WITH_CONTEXT as follow: CREATE TABLE RESULT_TABLE_CP(SDO_ROWID ROWID, RESULT VARCHAR2(2000)); CALL SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT('VESSEL_ZONE_GEOMETRY', 'POLYGON', 'RESULT_TAB