Fork Step in BPM scenario PI 7.1
Hi All,
I have a requirement where in i will have to collect 3 different messages coming from the source and then combine these 3 messages to a single message and sent it to Target System .
To achieve this i came up with a BPM where in fork step was used and inside the fork step i added 3 branches with 3 receive steps to receive 3 different messages from the source .
Problem i am facing here is , the source system might send all the 3 messages or it might send only 2 messages or 1 message as well depening on the scenario .
So when we get only 2 messages frm the source system , fork step goes into waiting state since its waiting for the 3rd message also to come in . In this case i want the BPM to go ahead with 2 messages after a certain specified time (say 2 min) .
I tried adding wait step, deadline branch . Nothing seems to be working .
Please suggest what needs to be done here .
Waiting for your inputs
Regards
Vinay P.
Set Necessary Branches to 1 in the Fork properties. Use the fork inside a block with time out. In timeout branch throw an exception. Define an exception branch for that exception. It should work..!!
VJ
Similar Messages
-
Isuue regarding Fork step in bpm
Hi,
I am doing a scenario, collecting different idoc types into a flat file using BPM.
In the fork step while doing BPM , I am getting an error while adding more than two branches.
The error is "Maximum limited value is 2".
Please help me out.
Thanks.Hi Sailatha,
A fork step is used for parallel processing of a(single) message in N number of branches. For example, if you design a fork with 4 branches, each branch receives a msg and then the steps in each branch is carried out.
Follow the below procedure:
The fork by default comes with two branches when you first place it into your process. You need to insert another branch before it allows you to increase the max and so on.
In ur case plz try to change the Default Value 2 which is in properties window to the no. of branches u desire.
Regards,
Vinod. -
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. -
Hi,
When i am using more than one receive steps(each can start the process) in a fork then if i dont use the correlation it throws me a semantic error that "step does not use any correlation".
according to me if i declare the necessary branches property in the fork step then the fork step will wait until that many branches completes, means it will proceed only after the branches receive the message.
here i need not any correlation becuz the messages i am receiving are totally independent of each other.
still it forces me to declare a dummy correlation.
for what reason it is necessary?Hi
A fork step is used for parallel processing of a(single) message in N number of branches. For example, if you design a fork with 4 branches, each branch receives a msg and then the steps in each branch is carried out.
Follow the below procedure:
The fork by default comes with two branches when you first place it into your process. You need to insert another branch before it allows you to increase the max and so on.
Just check these links,
http://help.sap.com/saphelp_nw04/helpdata/en/24/e2283f2bbad036e10000000a114084/content.htm
Collecting and Bundling vendor records from different multiple interfaces (file system,Peoplesoft ) and sending to SAP-R/3 system. part-1
regards,
Surya -
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 -
Hey guys
i m trying to collect three different IDoc's in a BPM and using fork for that,when i try to enter 3 in the Necessary branches property of Fork,its giving me and error sayin that maximum value permitted is 2.
any idea why i m getting this error?
thanx
ahmadHi,
Are You the correlation
This might Help you
Fork and BPM
Fork is not working - BPM
Regards
Agasthuri Doss -
Concerning fork step : Here is the documentation :
You use a fork () when you want to continue a process in branches that are independent of each other, for example, to communicate with two systems that are independent of each other. The branches of the fork join in a union operator.
You can specify the required number of branches and then define whether the process must run through all branches, or just a particular number of branches. Furthermore, you can define an end condition for the fork (see also: Condition Editor).
As soon as a branch reaches the union operator at runtime, the system checks the following conditions in the specified order:
· The process has run through the required number of branches
· The specified end condition has returned true
The step is complete as soon as one of the conditions returns true.
I want to use it to do 3 different send process in parrallele with 3 different receivers.
Before Fork step I use a container to initialize varaiable count = 0
In each branch I do my send step and then a container that does count = count + 1
And finally I have defined my fork with following end conditions :
End condition : count = 3
Necessary branch : 3
But my BPM allways executes only one branch !!!
(Only one is in green in the graphical editor of monitoring for BPM)
Any idea ?
Do I use the right solution to do the following :
"You can specify the required number of branches and then define whether the process must run through all branches, or just a particular number of branches"Hi Jean-Charles,
I agree with Michal. Is it really necessary to use a fork for different send steps.
The reason for your unexpected termination could be the condition. Each fork branch reaching the union operator checks here in this sequence:
Process has run through required branches (here: 3)
End condition is true (container = 3, you have the same container element for ALL branches? This should not work. You need one for each, I think.)
Step is complete as soon as ONE of the conditions return true.
So use three different container elements as counter and connect them in the end condition with AND.
Regards
Dirk
Message was edited by:
Dirk Meinhard -
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 -
HI Experts,
I am working on BPM scenarios.Anybody plz explain about how end condition works in FORK step.
Please provide examples for that end condition in FORK step.
Regards,
Bhuvan.Hi,
Refer this links...
http://help.sap.com/saphelp_nw04/helpdata/en/24/e2283f2bbad036e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/77/0737133012b24b9d0a12c6df2b1054/content.htm
/people/prasadbabu.nemalikanti3/blog/2006/02/24/collecting-and-bundling-vendor-records-from-different-multiple-interfaces-file-systempeoplesoft-and-sending-to-sap-r3-system-part-1
Hope it helps..
Thanks,
Kumar. -
Relevance of Recv. Deter. step in BPM
Hi All,
I am a bit confused about the RD step in BPM.
I tried a scenario where in i split a message into two (say msg A and msg B)and sent it to two different systems (msg A to sys A and msg B to sys B).
In my BPM in a fork, before the sent steps i specified the RD (corresponding recv A and B ).
The scenario worked fine.
I came back and removed the RD steps from BPM.
Still the scenario works fine :-?
I guess my concept of the RD step in BPM is not clear. Can someone help me out on this ?
Regards,
ShabZHi,
>>I am a bit confused about the RD step in BPM.
take a look at this link
http://help.sap.com/saphelp_nw04/helpdata/en/14/d5283fd0ca8443e10000000a114084/content.htm
cheers,
naveen -
Fork in the BPM: collecting IDOC
Hi,
I have a scenario in which i have to collect the idocs the collection happens either by time(deadline monitioring) or by counter loop,
for this i have a fork whick send the message to the above 2 brances,
but my problem is if i send 5 idocs first 3 idocs are send to the branch 1 and rest to the branch 2 so both the condition ar failing ..
Can any one help on this
Thankx in advance,
Sri..Hi,
Are you collecting multple idoc types ( i,.e MATMAS01, MATMAS02 etc) or collecting one idoc type.
In the second case, i.e collecting one idoc types, FORK is not required.
I think, this is not coming out from Fork step. Check your correlation correctly.
Go thru BPM Pattern available in the SAP BSAIS component.
For multiple Idoc types-
/people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm
http://help.sap.com/saphelp_nw2004s/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
For multiple Idoc types~
http://help.sap.com/saphelp_nw2004s/helpdata/en/0e/56373f7853494fe10000000a114084/content.htm
Regards,
Moorthy -
Hi,
I have a scenario in which my BPM expects two different idocs and uses a Multimapping Transformation step to merge it into one single file structure, that is N:1 mapping( 2Idocs ---> 1 File).I am using a Fork Step in which there are 2 recieve steps in order to recieve the two idocs and then a Transformation step and then a Send step.
The problem is my BPM is waiting for both the IDOCS in order to complete the Fork and get to the Transformation step, but in my case i want the transformation to happen if any of the two IDOCS is recieved.Is this possible..or is there anyother way to achieve this....I have Marked the start process for both the recieve steps....Wud appreciate ur thought on this.Thank You.> Hi,
>
> >>>>but in my case i want the transformation to
> happen if any of the two IDOCS is recieved.Is this
> possible
>
> so why do you need the fork if you want
> only one idoc?
>
>
> Regards,
> michal
> -
> <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI /
> PI FAQ - Frequently Asked Questions</b></a>
Hi Mike,
Infact i am trying to derieve three different File structures from the Output of the Multi map(Which i havent mentioned...Sorry for that).
If the Transaction is R/3 generates these two idocs at a single shot then i would be generating Total of 3-final file structures which has fields from Both the idocs.
Otherwise if the Transaction is used to generate only one IDOC (say IDOC1) the i would be generating only one file structure based on it.
So the IDOC2 is optional It may or may not Occur.
so my logic is something like this
IDOC1 IDOC2
Intermediate File Structure
Check Condition (If IDOC2 is a reference of IDOC1)
>IF Yes Generate Three Files
>If No then generate Only one File based on IDOC1.
Is this the right way to do it...need ur inputs. -
BPM status is "IN Process" even after all the steps in BPM are completed
Hi All,
we have designed a BPM for collection of messages and have a transform step .
In some cases all the steps in BPM get completed but the status of BPM is still in" In Process" and in SWWL transaction the status is "Started".
Even though the status is started we are able to get the desired output.
Ideally after the steps in BPM get completed the status should be "Completed".
please suggest why we are getting this status and how can this be resolved.
Thanks and Regards,
Rajeshhi ,
I am using a fork and loop with a condition to end this loop.the condition gets satsfied.
The messages are coming out of the loop and fork but even then the status is in "InProcess"
thanks,
Rajesh -
How to add a Wait Step in BPM for the synchronous send step
Hi,
we have a scenario where in one of the step in BPM is a synchronous step which sends data to ECC system and gets the Respose .
The Requirement is that we need to add a wait for the Synchronous step in BPM as the data sent to RFC(ECC) need to get comitted before sendng the response which requires some wait time.
Currently we are getting the Response to PI from ECC where it was reported as the response is not correct.
Is this possible to add wait> Is this possible to add wait
No, this does not make any sense.
The BPM waits for the response anyway.
You could change the scenario to an asynchonous pair of messages.
But in my opinion the error is inside the ECC, because the response from ECC is not correct. -
Expression must return the interface type in Transformation Step in BPM
hi,
We are getting below while activating the IP,
Expression must return the interface type SI_Send_AA
Expression must return the interface type SI_Get_AA
No semantic errors found
We have a Transformation Step in BPM,
In OM, Source is SI_Send_AA and Target is SI_Get_AA
Also Container variable points to the same Abstract SI's.
Few Thread's for Same are error are:
Error in BPM
expression must return the interface type
Transformation step in ccBPM scenario
Error while compiling Business Process
Even after checking these i am getting this Exception.
Please Help!
Thanks,
MayankAlso Container variable points to the same Abstract SI's
Are you sure that you are using Abstract Message Interfaces only and that these are referring to relevant container variables.
Normally it happens that there is some mis-match between the message types/ interfaces that we use in the mapping and that we use in the BPM.
If still not solved, then delete the Transformation step --> save --> activate......then again Edit the BPM to include the Transformation Step.
Regards,
Abhishek.
Maybe you are looking for
-
HT1926 itunes invalid signature
Somebody please help me! It won't let me download the newest version of itunes. It just it has an invalid signature.
-
How can i use Bi-Technical Content is used for measuring the performance of
Hi recenetly i implemented the BI7.0 for one client. I want to know how to use 'BI Administraction Cockpit,. Actual what technical content does ??? And how can i use technical content or statistics for measuring the performance of my queries. Please
-
Big traffic and connecting by multiple patchcords?
Did connecting switch with computers to router by a few ethernet cables has sense? I would like to ensure 1gb connection speed on each part of my big network (about 50pcs, one nas). I am planning to conenct NAS by 4 cables, NAS has 4 ethernet interfa
-
Is there a way to give access to one table for an end user to pull some data everytime. Thanks Gita
-
Authorization for creating Aggregation Level
Hi Gurus, i cant create AL in the planning modeler, i was reading some notes and i got the next questions: 1- I got in my profile the next auth objects, but still exist the problem, now appears something about Authorization templates for Integrated p