Subworkflow triggering

Hi,
I have a small problem in subworkflow triggering. I have a main workflow which has 5 steps.
Step2 is an sub workflow and step 3  is condition box .Based on the step 2 result, a variable flag in main workflow is getting set as 'X' or space. Then if it is 'X' , it should go to step 4 or else to step 5. But before the sub workflow is executed , the step 3 step4  step 5 is executed and at last step 2 is getting executed.Is there any way to make the main workflow wait until the step 2 is executed.
Regards,
Anand

As far as I know the mainworkflow always waits on the subworkflow to finish. As long as the subworkflow is build into the mainworkflow as a task. Then just like a task it has to be finished before the mainworkflow can continue.
Also you say both step 4 and step 5 are executed although it should be based on a condition, this seems very strange to me. It looks like there is something wrong in the definition of the workflow.

Similar Messages

  • Workflow design: Repeatedly triggering subworkflow at some interval

    Hi,
    I have a workflow with many sub workflows. In this workflow, one particular sub workflow should be triggered repeatedly say every week until some validity date.
    For ex: If a sales order triggers the main workflow and the sales order has a BEGDA and ENDDA, then one particular subworkflow should be triggered repeatedly every week(This duration can change and should be picked up from a customizing table) until the system date becomes ENDDA.
    Any ideas appreciated.
    Regards,
    Srini.

    Hi Srinivasa,
    U can use a LOOP step to carry out this functionality.
    1. Add a initial step to Triiger the subworkflow.
    2. Then, create a LOOP(Until) step.
    Condition for that can be the (sy-datum EQ ENDDA).
    Inside the loop u have to add a step which will add 7 to the sy-datum(Current date) and store the result date in a container.
    OR else u can omit this step and directly mention the waiting time in next step like this.
    Refer date/time : Work Item creation
    Date : <Current date>.
    Time : ---
          + 7 Days
    3. Next to this step u will have ACTIVITY step which wiil just wait till the resultant date
    In this activity step, add this date in the REQUESTED START tab.
    Refer date/time : Work Item creation
    Date : <Result date>.
    4. After this add an ACTIVITY which will trigger the same subworkflow.
    5. After this the loop will check the condition and repeat the process.
    Rgds,
    Prakash
    Message was edited by: Prakashsingh Mehra
    Message was edited by: Prakashsingh Mehra

  • Completion worlflow -Subworkflow not triggered

    Hi
    i have an issue in completion workflow WS14000044,
    A)when requestor creates cart and the completion workflow gets triggered which results to route the cart to buyer.
    B) After buyer does the sourcing, the cart backs to requestor.
    Up to here the completion workflow works fine.
    Here my issue is , when cart backs to requestor from buyer it has to go to the Employee in box with status "In your Inbox" but the subworkflow responsible for employee in box is not triggered ,the task responsible for the work flow is TS14007938.
    So as a result of this my workflow gets hanging in half the way.
    I dont know why the workflow gets hanged and how to identify whats the cause for it?
    Please advice me if anyone have ever come across this kind of issue.
    Thanks,
    Sibi

    Hi Sibi,
    Please check the following:
    Stuck remote function calls: SM58
    System dumps: ST22
    Stuck update requests: SM13
    System log: SM21
    Run a consistency check on the workflow: SWUD
    ->e.g enter task '14000044' and hit enter.                             
      ->choose 'Test Environment' and flag 'Including parts'               
        ->execute                                                          
          ->choose 'Consistency check for components' and flag 'Including subworkflows'                                                  
            ->execute 
    Do you see any error messages?
    Kind regards,
    Siobhan

  • Triggering a sub work flow for multiple users at same time.

    I have a scenario in which I have created sub workflow as an activity for approval process. This sub work flow should be triggered for multiple users at the same time and their decison is independent of each other.
    This is like creating multipe instance of the same sub work flow and then the sub work flow runs indepedently as a new work flow for each of the approver and the process is completeded for approver independently.
    How can this be achieved?

    Tyr to do like this,
    1. First include the subworkflow in the main workflow template.
    2. Now include standard Block Step in the main workflow template.
    3. In the block select the block type as ParForEach.
    4. Before doing the 3rd point make sure that all the agents for whom you want whom you want to initiate the workflow, populate them in a Multiline conatiner element.
    5. Once completing 3rd and 4th points open the block step under the tab ParallelProcessing  assign the multiline container element name in the   for e;g if the multi line container element name is COSTCENTER then do the binding like below. the conatiner element COSTCENTERLINE is created by default once you include the multi line conatiner element under parller processing tab.
    &COSTCENTER[&_WF_PARFOREACH_INDEX&]&   -------->     &_COSTCENTER_LINE&
    Now assign the agent of the subworkflow as COSTCENTERLINE , imean if suppose you have 3 entries in the internal table then three separate and for three different agents the workflow is instantiated.

  • Multiline container --how to assign agents in subworkflow

    Hello Friends,
      I have mutiline element with 3 agents type wfsyst-sgent. I am triggering a subworkflow and assigned this multiline element in others. Now what is the agent name in the subworkflow. Because it is triggering 3 times the same task to one agent. Why it is not sending to all agents. How to send tasks to individual agents only one.
    Thanks
    Mn

    I think you can sue Workcenter option here. I generally do some coding in User Exit for FM ME_REL_GET_RESPONSIBLE
    which is attached to Rule 20000027.
    For the Release effected step you can add but I think you have to create cuistom Wflow for that. You cannot use WS20000075.
    Thanks
    Arghadip

  • Update main workflow container from In-Progress Subworkflow

    Hi,
    I have a requirement where I need to update a main workflow container element from a sub-workflow, while the sub-workflow is still running. (In-Progress)
    I have tried using the FM SAP_WAPI_WRITE_CONTAINER in sub-workflow, but it returns an error saying "Cannot call WAPI interface 'SAP_WAPI_WRITE_CONTAINER' in this context".
    I have also tried FM SWW_WI_CONTAINER_MODIFY, but it does not update at all.
    I have also tried triggering an even in sub-workflow, which in turn triggers a class method, but it gives an errors saying "WF locked"
    Please let me know if you have any other strategies.
    Thanks
    Krishna

    Hi,
    what I can suggest you is try to create a program exit in the subworkflow  and in the program exit you can access the main workflow F wotkitem ID, by using thie main workflow workitem ID try to create the instance of the container. and from there in the program exit class you can set and get the values of the workflow container elements.
    but here you have to make sure that you have to create the instance of the parent workitem ID  container, but  not the subworkflow workitem ID container.
    [Program Exits In Workflow |http://wiki.sdn.sap.com/wiki/display/ABAP/ProgramExitsIn+Workflow]
    Regards
    Pavan

  • Subworkflow - event trigerring within workflow

    Hi,
    Scenario -- WF is triggered when customer creates quote and it goes to manager for approval. If the manager rejects it, work item goes back to the user. My requirement is -- if the user makes any change with price - he changes the status of the quote to 'revised' at header level. Then it should again go back to manager for approval. If the user makes some other changes and does not change the status to revised--- then it need not go back to manager. How do I keep it in loop. Is there need for me to check some table and trigger a new event and create a subworkflow. How do I go about. Please help me. It is urgent.
    Thanks,
    Raju

    First of all do not include new question in existing thread. Post a new Thread for this.
    Your original question resolution.
    Create a fork(1 necessary branch and 2 parallel branch). In one branch put the approval step. In aonther branch put the wait for Change Event Step. Put this step in a loop. Now create an attribute inside your business object or amethod that will check whether it is a price change or not. You can achieve this by Changedocument. Read CDHDR and CDPOS table. Accordingly set a flag. If the flag is X means change in price the Loop condition will tereminate. Otherwise flag not X that means changes not relevant for approval.
    Please close thread if resolved.
    Thanks
    Arghadip

  • How to find out which event is triggered in SDK

    Hi all
    From SDK, I am would like to know which event is triggered when the user select navigation menu Follow up -> Create Lead (screen 1).
    I am guessing, it calls LeadCreateWithRef outport event but I don't see any absl code?? (screen 2)
    When I try to switch from Display to Edit, I got error "Component which you are trying to edit comes from a lower layer. Please use Extensibility Explore to Edit" (screen 3)
    Also in Extensibility Explorer, I can't open the button details (can't even see it in the buttongroup).
    Any advice is welcomed.
    Thanks
    Anthony

    Hi Meghna
    Thanks for the info. I am trying to do reverse engineering, to understand how to existing UI screen is built, how and what events get called when button is pressed and which screen will be opened.
    For example, in Ticket screen, when I select Follow up then Create Lead:
    I cannot drill down to see the button and its properties??
    nb. Also there is no left right scroll bar to see the rest of button group. Is it a bug?? I am using Windows 8.1.
    And in outport setting, I don't see which action/event triggered? and what screen to show?
    Thanks again,
    Anthony

  • How can I implement a recursive update within triggers?

    Given
    INSTANCE (table)
    INST_ID
    etc.
    INSTANCE_STRUCTURE (table)
    PARENT_ID (fk to INST_ID)
    CHILD_ID (fk to INST_ID)
    And that I COULD write code which recursively navigates the hierarchy (ie. START WITH parent_id = ? CONNECT BY PRIOR child_id = parent_id) and issues UPDATEs to each "child" along the way, thereby propogating the desired update, how can I accomplish the same thing using triggers?
    Keep in mind I am using Oracle 7.3 and I have no choice. Also, the DBA is very difficult to get a hold of and I have no idea if there may be some server settings which are preventing some of my attempts from succeeding.
    Of course the simplest method is to make an update trigger on INSTANCE select all CHILD_ID from INSTANCE_STRUCTURE and issue UPDATE to each which, in turn, would invoke the same trigger, however, we can't have a mutating table, now can we?
    Next, I tried the old global variable in a package bit. That's when I first started getting this "end of channel" business which essentially disconnects me from Oracle (while using SQLPlus). I started to debug that, and then other users started getting errors ... apparently due to the global variable being global ACROSS sessions ... which I did not expect (correct me if I'm wrong and I can try it again), however, due to the amount of data I'm dealing with in any one particular line of hierarchy, I'm not sure I wouldn't get an error anyhow ... particularly if I have to maintain a global array for everyone at once. Anyhow, it was during that, that I realized the "too many open cursors" thing and so I started working with START WITH CONNECT BY to identify all rows which must be dealt with.
    Then, I tried setting up some new tables (as opposed to global variables) in which I would identify userenv('sessionid') and other data so that a BEFORE UPDATE, FOR EACH ROW trigger could check to make sure that the AFTER UPDATE trigger had not begun yet (IOW, not recursing yet). Basically, everything's fine until the AFTER UPDATE trigger tries to apply UPDATEs for the children (identified from a cursor on START WITH CONNECT BY) ... then I get the "end of channel" thing again.
    Obviously, this whole thing is an attempt to denormalize some data for performance reasons.
    Any help would be appreciated.
    Thanks.

    Nevermind, I figured somethin' out.

  • PO creation triggering orders05

    Hi Experts,
        We are using IDOC PORDCR102 idoc for creating purchase order. In the inbound FM after creating the purchase order we are posting good issue. After the creation of purchase order ORDERS05 idoc is getting triggered which needs to happen after Post goods issue. The issue is happening because we are commiting after purchase order creation which creates an entry in NAST table and posts the ORDERS05 Idoc. Is there any way to stop posting orders05 idoc after the purchase order creation.
    Regards
    Sridevi S

    Hi,
    In the inbound side create a new entry in WE57 tcode.. with the functio mdoule as "IDOC_INPUT_ORDERS", basic type "ORDERS05", extn< specify the extn u created at outbound side>, message type "ORDERS". Now see if it is working.
    Regards,
    Nagaraj

  • Error in MIGO of Subcon PO in MTO scn, not triggering Movement type 543/E

    Dear Consultants,
                                  I am trying to perform Goods receipt against a Subconctracting PO, in a MTO scenario. The components are linked to Sales Order (Special Stock - E). I have maintained '0' in the Individual / Coll requirements field in the MRP 4 view of the component.
    So after creation of PO(Subcon), I am trying to perform MIGO - without issuing components to vendor as 541/E movement type for componenets is not allowed in standard.
    While performing MIGO I am getting the error no stock available with vendor, the system is trying to trigger 543/O movement type whereas I am expecting 543/E to be triggered for the components.
    I am also not able to perform 311/411 E movement type for the components as they are linked to WIP Batch.
    Can anyone sujjest if there is a way by which the MIGO should trigger 543/E during MIGO.
    Thanks
    Arindam.

    Hi
    i donr think the movement type 543 E will trigger as the subcontracting only supports 543 O in standard , you need to do customizing as follows
    Also check in SPRO > Logistics - General > Tax on Goods Movements > India > Business Transactions > Subcontracting > Maintain Movement Type Groups > here for Movement Type Group "0002", Movement Type "543 E" should be maintained.
    just check following link for the subcontracting with sales order ,
    [Sub Con 1|http://help.sap.com/saphelp_470/helpdata/en/4d/2b90b043ad11d189410000e829fbbd/content.htm]
    [subcon 2|Subcontracting for project stock;

  • Creation of triggers using CFQUERY tag is giving error

    Hi,
    I am creating triggers and stored procedure on ORACLE data
    base using <CFQUERY>.
    <CFQUERY DATASOURCE="CRM">
    create or replace trigger AWC_ACCOUNTINGPERIODSID_TRI
    before insert on AWC_ACCOUNTINGPERIODS
    for each row
    begin
    select AWC_ACCOUNTINGPERIODSID_SEQ.nextval into :new.AP_ID
    from dual;
    end;
    </CFQUERY>
    But the created trigger is not compiled, it is giving the
    following error
    "Line # = 1 Column # = 6 Error Text = PLS-00103: Encountered the
    symbol "" when expecting one of the following: begin case declare
    exit for goto if loop mod null pragma raise return select update
    while with <an identifier> << close current delete
    fetch lock insert open rollback savepoint set sql execute commit
    forall merge pipe The symbol "" was ignored."
    If I edit that trigger in enterprise manager console by
    pressing space and compile that, it is working fine with out any
    error. If i run the above statement in sql *plus, It is working
    fine with out any error. Can you please tell me why this is
    happening if i run it using cfquery tag and also the possible
    solutions.
    Thanks in advance,
    Vinod

    I can't tell you why your particular trigger is failing, but
    here is some "typical" reasons from Oracle's metalink.
    Common reasons for PLS-00103
    Error Summary
    PLS-00103 Encountered the symbol "%s" when expecting one of
    the following (Oerr
    LS.103)
    Error Details
    ~~~~~~~~~~~~~
    Error: PLS-00103
    Text: Encountered the symbol "%s" when expecting one of the
    following:
    Cause: This error message is from the parser. It found a
    token
    (language element) that is inappropriate in this context.
    Action: Check previous tokens as well as the one given in the
    error message. The line and column numbers given in the
    error
    message refer to the end of the faulty language construct.
    PLS-00103 errors can often be difficult to localize what the
    error is so here are some
    common reasons for PLS-00103 errors..
    A very common reason for PLS-00103 is when a reserved word is
    used, with a reserved word
    means words that names an oracle object or a built in
    procedure, for example MOD, ABS,
    TABLE, VIEW etc..
    When trying to use SQL*PLUS commands in PL/SQL procedures,
    like SPOOL, SET and other
    commands that belongs to SQL*PLUS can result in this error.
    Using parameter declaration at the IN/OUT clause in a
    procedure, this works in versions
    prior to 8.0.4, but it just ignored the declaration.
    Using DDL commands in PL/SQL will fail in PLS-00103, the way
    to use DDL commands is
    to build a procedure in dynamic sql.
    When creating package specification and a package body, a
    PLS-00103 error will occur
    if there is no slash, '/', after the package specification.
    Phil

  • Logical database sdf in custom program not triggering selection screen?

    I added logical Database SDF (screen 905) to a custom program - but the selection screen is not getting triggered.
    Do I have to associate these somewhere?
    Thanks,
    Ven

    HI,
    Declare this statement after the Report Statement in the program.
    TABLES : SKA1, SKB1.
    You will get the selection screen now.

  • Simple Bridge script will not read metadata and triggers Adobe Stock Photos

    I have been trying to learn to write scripts for bridge but can't get past the most basic tasks. When I run the script on an open window in bridge it throws an "Uncaught exception metadata" error. The most bizarre thing is it sometimes causes an Adobe Stock Photo script to launch in the extendscript toolkit and throw and the "Uncaught exception metadata" error in that script. My script is as follows:
    #target "bridge"
    if (BridgeTalk.appName == "bridge")
    var items = app.document.visibleThumbnails
    for (i=0; i< items.length; i++)
    item = items[i]
    md=item.metadata
    md.namespace = "http://ns.adobe.com/photoshop/1.0/";
    Window.alert(md.Title)
    Window.alert(i + " "+ " Files Finished")
    Basically I was asking to extract the title of each thumbnail from the metadata and show it in a window. I figured if I could do something as basic as that then I could move on and tackle the more complicated tasks that I need to do.
    Any ideas of what is going on? Has anyone else accidentally triggered Adobe Stock Photos?

    Another bit of info....   As I looked at this further, it seems to be occuring only on those photos where I previously ran camera raw from CS3. I've upgraded to CS5 but have not rerun camera raw since. I understand the camera raw engine in CS3 was different. Could this be involved? Could Lightroom be changing the metadata because the engine is updating the information and I have to save TO file to get this to synch?
    update about this camera raw engine possibilty..... it would not appear to be the answer. I have some files that synch even tho lightroom develop says they are using the 2003 process version. I have some files that are on the new version that won't synch.

  • Triggerring PXI-4110 to measure 1 current value while HSDIO PXI-6552 generating waveform

    Hi,
    Some question about PXI-4110 to measure current while PXI-6552 is generating the waveform. 
    1. Let say, I need to measure 3 points of current values, i.e. while PXI-6552 is generating sample-1000, 2000 and 3500. On the edge of sample 1000,2000 and 3500, the PXI-6552 will send a pulse via PFI line or via PXI backplane trigger line. My question is, is it possible to trigger PXI-4110 (hardware trigger or software trigger) to measure current values at these points ?
    2. Let say I need to measure the current on 0ms (start of waveform generation by PXI-6552) , 1ms, 2ms, 3ms, 4ms... and so on for 1000 points of measurement, code diagram as shown at the figure below. It is possible for the VI "niDCPower Measure Multiple" to measure exactly at 1ms, 2ms, 3ms .. ? How much time will have to spend to complete acquire 1 point of measurement by "niDCPower Measure Multiple" ?
    Thanks for viewing this post. Your advice on hardware used or software method is much appreciated. Thanks in advance.  
    Message Edited by engwei on 02-02-2009 04:24 AM
    Attachments:
    [email protected] ‏46 KB

    Hi engwei,
    1. Unfortunately, the 4110 does not support hardware triggering. Therefore you cannot implement direct triggering through the backplane or anything like that. However, there are a couple of possible workarounds you can try:
    a) Use software triggering: Say your 6552 is generating in one while loop, and your 4110 is to measure in another while loop. You can use a software syncrhonization method like notifiers to send a notification to your 4110 loop when your 6552 has generated the desired sample. This method, however, will not be very deterministic because the delay between the trigger and the response depends on your processor speed and load. Therefore, if you have other applications running in the background (like antivirus) it will increase the delay.
    b) Use hardware triggering on another device: If you have another device that supports hardware triggering (like maybe an M-series multifunction DAQ module), you can configure this device to be triggered by a signal from the 6552, perform a very quick task (like a very short finite acquisition) then immediately execute the DCPower VI to perform the measurement. The trigger can be configured to be re-triggerable for multiple usage. This will most likely have a smaller time delay then the first option, but there will still be a delay (the time it takes to perform the short finite acquisiton on the M-series). Please refer to the attached screenshot for an idea of how to implement this.
    2. To make your 4110 measure at specific time intervals, you can use one of the methods discussed above. As for how long it will take to acquire 1 measurement point, you may find this link helpful: http://zone.ni.com/devzone/cda/tut/p/id/7034
    This article is meant for the PXI-4130 but the 4110 has the same maximum sampling rate (3 kHz) and so the section discussing the speed should apply for both devices.
    Under the Software Measurement Rate section, it is stated that the default behavior of the VI is to take an average of 10 samples. This corresponds to a maximum sampling rate of 300 samples/second. However, if you configure it to not do averaging (take only 1 sample) then the maximum rate of 3000 samples/second can be achieved.
    It is also important to note that your program can only achieve this maximum sampling rate if your software loop takes less time to execute than the actual physical sampling. For example, if you want to sample at 3000 samples/second, that means that taking one sample takes 1/3000 seconds or 333 microseconds. If you software execution time is less than 333 microseconds, then you can achieve this maximum rate (because the speed is limited by the hardware, not the software). However, if your software takes more than 333 microseconds to execute, then the software loop time will define the maximum sampling rate you can get, which will be lower than 3000 samples/second.
    I hope this answers your question.
    Best regards,
    Vern Yew
    Applications Engineer, NI ASEAN
    Best regards,
    Vern Yew
    Applications Engineer
    Attachments:
    untitled.JPG ‏18 KB

Maybe you are looking for