Sync send step in a loop step
Hi Gurus,
I want to query a database and based on the return value I will proceed to the next step. For this I have a 'sync send' step where I am finding if the count(*) is 0 or greater than 0. If it is only '0' then only I will proceed to the next step.
For this functionality I am using a loop step with in which I have this sync send step (querying the database). The control will come out of the loop only when the count is 0.
But, I found that the response message container is not loading. That is the reason why the loop condition is always coming out as 'true'.
I want to know if I can use the send step with in a loop in BPM.
Please let me know your solutions.
Thanks
Kalyan
Hi,
see the counter variable , initial value is 0 ,then the loop always true.
second thing is when you send the request for synchronously and the response message to receive step, is it correct,
if so why do you want to maintain the loop, are more messages sending the messages in seqencially /syncrounously .
I think you want to check the response interface value is it , check this correctly..
See the below links for Sync Send .
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] [original link is broken]
Regards
Chilla
Similar Messages
-
Hi all,
I have the same type scenario that is file initiates the bpm that invokes the Webservice.the file data goes into bpm as the input data of the webservice and webservice gives the response and then the web-service response is mapped to
idoc and finally posted to R/3.
The interface sI created:
1.outbound Async -
>for file
2. Abstract async----
>bpm reciever step.
3.Abstract sync----
>bpm sync send step.
4.inbound sync -
>for the webservice to recieve the reqst and to send the response to Abstract sync
5.Abstract async----
>to send the data out of BPM
6.inbound async----
for idoc
created 3 communication channel.
1.file adapter: sender
2.SOAP adapter: Recv
3.IDOC adapter: Recv
created 3 reciever determination
Business process instance in ID
reciever agreement(2)
interface determaination
But getting a problem in BPM.
I think the scenario is logically correct as I have seen previous
SDN suggestions.
But getting the problem in BPM's sync step.and the SOAP rec channel is also inactive.in BPM workflow I can see the recv step is getting file req data but after that in the sync send step
its stuck up.getting error.
Please sir suggest me.Remove the interface you created for Idoc that is inbound async one. use the imported Idoc itself as the interface and also as the message type. Everything else looks good though i did not really evaluate ur ID configuration..
VJ -
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. -
Sync Send step after transformation step in BPM
Hi Gurus,
I have an interface where I am loading the data into an Oracle database and getting the response back (insertcount) from the database. Based on the response, I have to execute a stored procedure in another sync send step.
I am doing perfectly alright until the transformation step. The sync send step after this step has the following entries.
Sync interface: MI_LG_SP_INPUT_ABS
Request Message: sp_lg_rec
Response Message: sp_lg_snd
While doing 'check(F7)', I am getting the following error.
<b>Interface MI_LG_SP_INPUT_ABS for element sp_lg_poc_step2 is not abstract/asynchronous</b>
The request message for this sync send step is the target message of the transformation step.
This error is bugging me since 2 days. Please help me with this.
Thanks
KalyanSravya,
I know what I did now. For my send sync interface which is MI_LG_SP_INPUT_ABS, I have unnecessarily created a container element and which caused this problem. From your post, I rechecked it and found that I don't need a container element for my abs/sync interface as I already have container elements for request and response which are abs/asynch.
I gave you full points, thinking that you will come for my rescue in the future (just kidding!!!).
Thanks again,
Kalyan -
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 -
Sync send step in BPM fails and cant be resend XI
Hi Forum,
I have a file ->JDBC(Sync)->file scenario, with a BPM, having a synchronous send ........ sending and receiving message from a SQL Server,
the problem is ........... sometimes the synchronous send to the JDBC fails, bcoz of purely database connectivity issue, but then the whole scenario has to be rerun, coz sync send doesnt keep message persistent........ and we cant resend the failed Sync send step,
pls help .... its a production systemHi sreeram,
i think the sync send doesnt make retries while sending message,
in this case it means data lost............means not persistent in the BPM
do u think my design is faulty,
is their any alternative -
Sync Send step in Block step...in BPM
Hi All is it possible to maintain a syncrounous send step in Block step, please let me know how....we can maintain for request message and response message.
Thanks
SrinivasHi ,
Its simple
Receiver- transformation -Block -
Sync step -
Container-----Block -
Final send
Exception -
Regards,
Jude -
Sync send step after transformation step
Hi Gurus,
The send step I have after transformation step is not getting the input message. I am splitting the message into 2 messages in the trans step and using one of them as input message in send step. I am getting 'empty container is send to the send step' error.
Please help me with this problem. I am not sure what I am missing.
Thanks
KalyanKalyan,
Just adding to the disucussion, you might have specified a source and 2 target msgs in the transformation step.
Make sure it is one of the 2 target msgs that you have specified for the send step.
You can view the 2 target msgs in SXMB_MONI.
Use Michal's blog for reference.
/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
Regards,
Jai Shankar -
BPM - Do we need receiver determination step between trans and sync send?
Hi Gurus,
I have a 1:1 transformation step followed by a sync send step. The transformation step is executing fine. While the sync step is executing, I am getting an error says 'No receiver determination found'.
While I am executing this sync step in a separate, it is working fine.
Do I need to have 'Receiver determination step' between Transformation step and Sync send step? I think so. Can somebody confirms this?
Thanks for your kind help.
KalyanHi,
I think there is no need of a Receiver determination step in the BPM.
You should have a proper receiver determination in configuration for this BPM scenario. (i.e) A receiver determination from BPM to the service configured for the synchronous interface.
Regards,
P.Venkat -
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!!! -
I have a Send Step in a BPM that must execute (Sync) a FM to create a notice and return the number, via Monitor I am not see the execution of the FM only the previous Receiver Step and the next Async Send Step, but via Workflow Log I can see the Sync Send Step as "Step Completed", in the Step Configuration I have the following:
Synchronous Interface: mi_as_avisoEst
Request Message: mi_aa_avisoEst
Response Message: mi_aa_avisoEst
I am using the same Abstract Async Interface.
No correlations.
Any ideas?If it's working as it should and the only issue is that you can't see the synchronous messages in SXMB_MONI, go to SXMB_ADM -> Integration Engine Configuration -> Specific Configuration and set parameter LOGGING_SYNC with value '1' (default is '0').
Check /people/michal.krawczyk2/blog/2005/05/10/xi-i-cannot-see-some-of-my-messages-in-the-sxmbmoni for more details.
Regards,
Henrique. -
Synchronous Send step showing errors in process designer
Hi All,
I have few questions in using a synchronous send step in
BPM.
Can I use a synchronous send step without opening Sync/async bridge.
When is the sync/async bridge opened?
Scenario:
File async --> XI (receive async) --> sync send step to J2ee application (HTTP post) --> async response send to File
Sync Abstract Interface:
Input:
Message type (same as outbound)
Response:
Message type (same as Http response)
When I use the synchronous step, I see errors in the process designer saying
Message to be sent and synchronous interface are not of the same type. This happens for both request and response message.
Please help me.
Regards,
MeherI think the Problem is with the INTERFACE Determination.
You need a BPM for the above scenario, but not a Sync/Asynch Brindge
In BPM
Step 1 : Receive from File 1
Step 2 : Do Transformation from File1 format to J2EE Request Format
Step 3 : Send a Synchronous send Step to J2EE
Step 4 : Transform the HTTP response to your File2 Format Response
Step 5 : Send the Response to File2
Interface Determination
File1 to j2ee Request
J2ee Request/Response To J2EE Request/Response
J2ee Response to file 2
Please check your Interface determination very closely. -
How to handle error in Syncrounous Send step in BPM.
Hi All,
i am inserting the data into target database and getting the response from the target database in to XI(BPM) here i am sending the data as a bunch(packets), i mean i am splitting the recods into packets and inserting these packets into target database through Sync Send step... now my problem is how can i handle if any of the packet(one set of bunch recors) was fail, how can i handle this exception.
Thanks in advances for your suggesions and solutions which came by your huge experiences.
B'rgrds,
SrinivasSince the requirement is to catch the Exception proceed as:
Include a Block in your BPM --> Include the Send Step -> Right-click on the Block and choose insert Exception Branch> In the Exception Branch inlcude the logic that you want to implement in case of error.
Possible Exception Handling logics:
1) Send email to support personnel notifying him of the error and let the remaining process continue
2) Send email to support personnel notifying him of the error and cancel the process
3) Cancel the process.
Make sure that you create a Exception Handler to be included in the Block and also in the System Error section of the Send Step.
Regards,
Abhishek. -
Send step failure situations?
Hi All,
I would like to know in what all distinct situations a send step from BPM (Sync or Async) can fail? Idea is to catch such error/exceptions and raise corresponding alerts in my BPM.
I would much appreciate getting a list from your project experiences rather than scholarly knowledge.
Cheers.calvin,
i a sync send step , u need to specify a message which corresponds to a outbound sync interface....
now suppose if the receiver is jdbc , the request message type say is MT
then the response message type has to be appended with response...so respnse mt will be MTresponse else you will get error.
also the same applies to inbound synchronous intrface -
Hi
Can someone tell me about sync send step in detail
because in my scenario I am using a sync. send step and the other end is oracle database which uses a SP(stored procedure) for updation.
problem is that I am able to see updation process successfully in the database i.e.the adapter says processing successful.
but after certain amount of time the send step in the sxmb_moni shows error
I think the problem is with the return flag that I am using as an acknowledgement
which is sent by the SP, any suggestions pls
RanjitHi,
This might help you
Synchronous Sending followed by Transformation
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm
Re: Sync - Async Bridge
Regards
Agasthuri Doss
Maybe you are looking for
-
Problem in import of MetaData file in Oracle Warehouse Builder 9.2
My Problem is Related to Oracle WareHouse Builder.My system's configuration is following :- Machine : P4 Operating System :Windows XP ORacle : Version 9.2 Oracle WareHouse Builder 9.2 Ram :1GB SGA Size :Approximately 650M I have 2 MetaData files whic
-
QuickTime Crashes All Programs Using Plugin
Hello Everybody! I'm having trouble with my QuickTime plugin. It crashes anything that uses the plugin. Facebook Chat, which apparently uses QuickTime somehow (apparently), crashes my browser. I have Safari 4.0, and I also use the Beta version of Ope
-
Calling postChanges() Before a Stored Procedure
I am using JDeveloper 11.1.1.2 and ADF with BC. I have the following situation: I am updating a record via an updatable view object. When I click commit, I also need to call an existing stored procedure on my database to do some updates. The stored p
-
Hello all, Well, I have some custom CSS that I'd like to apply to a "DHTML Menu with Sublist". I've gotten as far as getting the top level to use the CSS, but I cannot get the sub list to work. Here's my workspace (page 1 - List) http://apex.oracle.c
-
I can not remember my answers to my security questions, what do i do?
I forgot the answer to my security questions, what do I do?