Fork Step problem

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.

Similar Messages

  • 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

  • Workflow error in fork step, process control, wait event

    I am using fork step in workflow which has 2 parallel branches. In 1st branch i have a user decision step followed by a task for posting PO document in case of approval. In the 2nd branch of fork step I have a wait step to wait for an event followed by the same task for posting document with a process control step after that in the end to cancel the workitem(workitem generated by user decision step in the 1st branch of fork). I created the event by using a custom BOR object.
    After the fork step is triggered, i have both a wait event running and workitem generated. When i raise the wait event from SWUE by entering the event, object key etc it works fine i.e., the workitem in the other branch is set of logically deleted and workflow ends.
    But if the wait event is triggered from the program i.e., using FM SWW_WI_CREATE_VIA_EVENT, both get an error message in workflow log(SWIA). The message is: Error when executing the binding between work item 000000XXXXXX and flow item 000000XXXXXX where workitem number is the workitem id of the posting document task and flow item id is the workflow parent id

    hi,
    message is self explanatory.
    Activate the event trace SWELS, then do the event with SWUE and within your program (als please use SAP_WAPI function modules).
    Now compare the 2 events in SWEL to see what the differences are .
    Kind regards, Rob Dielemans

  • Fork Step in BPM

    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

  • 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.

  • BPM "Fork" step question

    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

  • Error in Fork Step causing issue in generating next work items

    All,
    We have ECC 6.0 with the following SP:
    SAP_BASIS     700     0012     SAPKB70012     SAP Basis Component
    SAP_ABA                     700     0012     SAPKA70012     Cross-Application Component
    I have this strange issue. In one of my custom workflows, i am using a Fork step with 02/ 02 necessary outcomes. In branch 1, i am sending a mail to a user's e-mail id. In branch 2, i have 3 activity steps for another user. Step 1 is to display an invoice and step 2 is a user decision to apprve/deny this invoice.
    I know that during runtime, at the Fork step, the work item for branch 1 and the 1st work item for activity step 1 in branch 2 get generated almost simultaneously(though with some small time difference). This is OK. But the issue is, when the sendmail in branch 1 errors out due to some error, and when step 1 is finished successfully by another user, the work item for 2nd activity step in branch 2 is not getting created.
    As i understand, in the Fork, the 2 branches, execution should be independent of each other, that means, the work item creation and execution of branch 1 and 3 steps in branch 2 should be happening independently. But, this doesn't seem to be the case.
    I understand when the sendmail in branch failed, the wflow is set to 'Error' Status.But there is already an open workitem for step 1 of branch 2. When this workitem is completed successfully, I expect the work item for 2nd step should get generated.But this is not happening. But, when i restart the whole workflow using SWPR, it generates the witem for 2nd step in branch 2. And still the wflow is in 'Error' status.
    When the user finishes the 2nd workitem of branch 2, the next work item for 3rd step is not getting generated. Instead i needed to restart the whole wflow again and this time, it generated the 3rd witem in ranch 2.
    To my understanding, when a Fork is there, if i specify 02/02 outcomes necessary, these 2 branches should go in parallel, both creation and execution of workitems, until they are joined. And at this point, if the whole Fork step is successful, then workflow will proceed further with steps below the Fork. Shouldn't this be the case ?
    Anybody had similar issue? Pl share your thoughts on this. I'd really appreciate if somebody can clarify whats going on in the above case and how to fix this.
    Thank you in advance
    Regards,
    venu
    Edited by: Venugopal Jogi on Jun 10, 2009 5:58 PM

    Hi Arghadip,
    Thanks for your reply. You said
    "When a Workflow goes into error the processing should stop whether it is in same branch or in different.".
    If this is correct, then as i explained earlier, when i restart the workflow without fixing the errored branch, then also, the next work item should not be created..Right ? But, it is. I didn't fix the errored branch but simply restarted the workflow. Then it created the witem for 2nd step, in the branch 2 that is not errored.
    How can this be, the branch 1 is still in ERROR status only. So, can you pl clarify if something else might be going on here.
    Also, fixing the issue is fine. But, the SendMail step in branch 1 is just an information only and per business requirement, this should not be holding up the approval process. And if we don't process the invoice in time, just because of some informational mail errored out, this will not be a feasible solution to the client,Right ? That's the whole reason i am using Fork step, so that they both proceed parallelly (independently).
    If step 1 is a pre-requisite for step 2, then it makes sense to fix error in step 1 so that we can proceed with step 2.
    Any other thoughts on this.....
    Regards,
    venu

  • Error in Fork step

    Hi All
    Please let me know if there is an error in one branch of Fork step of workflow then the whole workflow will stop?

    Hi RS,
    could you elaborate.
    If your WF didnt route thru the error part of your Fork, then the WF would continue, else would stop at the error.
    Aditya

  • ** Exception Throw in Fork Step - How to inform ?

    Hi Friends,
    Customer sends 2 IDoc DEBMAS, ADRMAS. The conditions is when both the IDocs is having the same customer no we need to send to the outside system.  (DEBMAS - E1KNA1M - KUNNR) equals to (ADRMAS - E1ADRMAS - OBJ_ID).
    I have designed BPM for this : Start --> Fork Step --> 2 Receive Step --> Correlation mentioned in 2 receive step --> Next Block --> Fork --> Transformation Step & Send Step (Two sets : 1 is for DEBMAS & 2nd is for ADRMAS)
    I have checked the design. It is semantcially correct. But, I have the following doubts.
    1) If no matching records found in first block (DEBMAS customer no is not equal to ADRMAS) how much time the fork will wait ?
    2) To effect this, 'Exception Branch' is inserted. After Fork which contains 2 receive steps, one control step is inserted to trigger an exception. Question here is, after how much time, this control step will trigger an exception
    3) What is the purpose of 'End Condition' Property in Fork Step ? Is it required.
    Could you kindly help me friends to clarify the above 3 points. If those clarified, my BPM will be complete.
    Thanking you.
    Kind regards,
    Jegathees P.

    >
    Jegatheeswaran Pitchaimuthu wrote:
    > Hi Friends,
    >
    > Customer sends 2 IDoc DEBMAS, ADRMAS. The conditions is when both the IDocs is having the same customer no we need to send to the outside system.  (DEBMAS - E1KNA1M - KUNNR) equals to (ADRMAS - E1ADRMAS - OBJ_ID).
    >
    > I have designed BPM for this : Start --> Fork Step --> 2 Receive Step --> Correlation mentioned in 2 receive step --> Next Block --> Fork --> Transformation Step & Send Step (Two sets : 1 is for DEBMAS & 2nd is for ADRMAS)
    >
    > I have checked the design. It is semantcially correct. But, I have the following doubts.
    >
    > 1) If no matching records found in first block (DEBMAS customer no is not equal to ADRMAS) how much time the fork will wait ?
    > 2) To effect this, 'Exception Branch' is inserted. After Fork which contains 2 receive steps, one control step is inserted to trigger an exception. Question here is, after how much time, this control step will trigger an exception
    > 3) What is the purpose of 'End Condition' Property in Fork Step ? Is it required.
    >
    > Could you kindly help me friends to clarify the above 3 points. If those clarified, my BPM will be complete.
    >
    > Thanking you.
    >
    > Kind regards,
    > Jegathees P.
    your design should be Fork with two receive steps and correlation should be the customer number field for both. This will ensure that only when the customer numbers are equal the BPM will process further.
    Now you need to handle the exception using a block step around the fork step. You can define a time of your choice until how long should the BPM process wait to receive the different idoc with the same customer num. If within the specified time it is not received then you can raise a exception, trigger alerts etc. as u need.

  • End condition in FORK step

    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.

  • Changes in fork step

    Hi friends,
    There is a Schedule manager w/f in production. We  have a fork step in w/f. we havd to add 4 more branches. what is the procedure to do that. when I open that w/f in change mode in dev server, it doesn't allow to change no of branches directly.
    Please guide me through the procedure to make changes in fork step.
    Regards,
    Vittalprasad

    Hi
    Just select the fork, right click on it and those create and insert the step type you need (Activity, decision task, undefined task etc.)
    Another option is to insert a step in one of the branches, just beneath the fork - this will also create a new branch.
    Regards
    Morten Nielsen

  • Abt Fork step

    Hi frnds,  Can u explain me about the FORK step .
    what is the difference between FORK step and SWITCH step.

    Hi,
    In switch , one condition or one Branch will be true  at a time only that can be Processed.
    In Fork, how many branch you are giving will process simultaneous.
    For Example. for situation, if you want to trigger workflow only during Created or  change always you want to Re-trigger the workflow.
    In one Parallel put one wait for change event, this will wait till the workflow is complete or any change event Occurred.
    For further clarification reply me
    regards,
    Surjith

  • Fork step type.

    Hi Experts,
                     i am learning workflows. could you please explian me the significance of FORK step type with real time example so that i can understand it better.

    Hi,
    By using fork you execute several process in parallel.
    While creating Fork, you have to enter no of parallel branches and necessary branches.
    Parallel branches signifies that how many parallel branches you need to meet your requirement.
    Necessary branches. signifies that how many branches need to complete to move next step in worklfow.
    For example,
    You need 3 approval from 3 manager for your leave.
    Now create fork with 3 parallel branches and necessary branches 3.
    This signifies that after the completion of three branches workflow will process to next step.
    If you have made and necessary branches 1 then workflow will proceed to next step if any branch completed.
    Thanks and regards,
    SNJY

  • Fork step & Workflow Buffer error

    Hi,
    I have created workflow for parked documents approval before posting with single approver that was worked fine,
    again i got some changes multiple approver should approver a document if one approver approved means another workitems should get delete
    to achieve above task i have gone withFORK step i have give necessary branches 01 Parallel Branches 03 still if one approver released means other workitems not deleting
    and same time the changes i have sent from dev to quality changes was showing in swdd t-code but when i create parked document new changes steps are not showing in SAP business place (SBWP)  i have cleared buffer using RSWDCLRBUF RSUSR405 but these programs are not working .
    please guide me to come out from above mentioned problems
    Regards,
    Srini

    hi srinivasan ,
    'to achieve above task i have gone withFORK step i have give necessary branches 01 Parallel Branches 03 still if one approver released means other workitems not deleting'
    Ans:  This is exactly how a FORK works.
    Your requirement is to send the workitem to different users and when one executes the woritem it should get deleted from others inbox. For this
    1. Remove Fork.
    2. use a Container of property multiline and pass the user ids there as different line items.
    3. Now pass this container to the activity in the agents section.
    By doing this the workitem will be received by all the user ids mentioned in the conatiner but ones the workitem is executed by any user it would be automatically removed from others inbox. Hope i understood your query properly.
    Regards
    Anik

  • Dialog Participant step problem when completed with CQ Sidekick

    Hi,
    I got the problem that the dialog that is used in a Dialog participant step isn't displayed correctly when i complete the Step via the CQ Sidekick. If i complete the step from the User inbox the dialog is rendered correctly. To make it clear : if i use the CQ Sidekick to complete the Step then i can only enter the next step and a comment and not the additional fields that should be added because of the dialog.
    My first guess is that my dialog.xml isn't correct but i can't find the Problem. What is your experience with the Dialog Praticipant step?
    This is the dialog i use:
    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
        jcr:primaryType="cq:Panel">
        <items jcr:primaryType="cq:WidgetCollection">
            <title
                jcr:primaryType="cq:Widget"
                border="{Boolean}true"
                collapsed="{Boolean}false"
                collapsible="{Boolean}false"
                fieldLabel="Bullet Points"
                name="./listItems"
                typeHint="String"
                xtype="multifield">
                <fieldConfig
                    jcr:primaryType="nt:unstructured"
                    maxLength="{Long}50"
                    minLength="{Long}1"
                    separator=""
                    xtype="textfield"/>
            </title>
        </items>
    </jcr:root>
    Thank you

    You can do this via the Workflow/WorkItem Metadata. https://dev.day.com/docs/en/cq/5-5/workflows/wf-ref/workflow_steps.html explains how to access the metadata. if the reviewer needs to be set dynamically (the dalog does not allows that), follow Ram Atmakur's post at http://forums.adobe.com/message/4317233 .

Maybe you are looking for