Multilevel dynamic approval process using precondition loop block

HI,
I am trying to create a multivel dynamic approval process using a precondition loop block. The structure of my process is,
Process->1)Sequential Block containing requestor action->processor of requestor action is initiator
            2)Precondition Loop Block containing
                    i)Loop Decision action containing a business logic callable object
                    ii)Loop Body Block containing Approver action-processor of approver action is filled from context parameter
The loop decision action implements the logic for loop decision. Can anybody help me by suggesting the proper target of each of these actions, and the processor for loop decision action?
Whenever I am initiating the process, the requestor action is getting executed,  On completion of this action I am getting a message "No activity is currently selected", that is, it is not entering the precondition loop block.
Please guide me with the proper process flow of this and how to adjust the roles and parameters
Thanks,
Swaralipi

Posted another thread on the same issue

Similar Messages

  • Invoce. N-step dynamic approval process

    Hello,
    I have a question.
    According documentation we have BADI ONLY for SC workflow
    and PO workflow.(BBP_WFL_APPROV_BADI)
    I need  N-step dynamic approval process  for Invoice.
    The question is : do i need to develop my own workflow or is there other functionality or BADI which i can use for INVOICE?
    Thank you.
    Tania

    Hi Hari,
    The total value of the shopping cart changes because Manager 1 deletes an item from the shopping cart. So the new value of the shopping cart is 10.000,- euro. In this example all managers must approve up to and including the first one who has an limit higher than the shopping cart value.
    Regards,
    Martin

  • Approach to create a generic Approval process using SOA human workflow ?

    Hello Experts,
    I'm looking to create a generic approval process using oracle soa human workflow component using JDev 11.1.1.5
    Have about 7-8 existing applications which do some kind of 'approval' . So need to create a generic solution for all 7-8 applications, instead of users logging into 7-8 different applications to approve by logging into different systems. Just want to have like a 'one stop shop' , where i can just go and approve for any application without having to log into separate applications.
    I'm looking to get some suggestions and ideas, on how I can achieve this functionality ... Any suggestions/ideas are appreciated .
    Thanks a lot.

    Hello,
    you can find multiple sample on the web like those
    http://www.splessons.com/2013/12/create-state-machine-workflow-in-sharepoint-2013-using-visual-studio-2012/
    http://msdn.microsoft.com/en-us/library/ee231606.aspx
    I don't think that's very different using VS2013 or VS2012
    Best regards, Christopher.
    Blog |
    Mail
    Please remember to click "Mark As Answer" if a post solves your problem or
    "Vote As Helpful" if it was useful.
    Why mark as answer?

  • Problem in Dynamic Parallel processing using Blocks

    Hi All,
    My requirement is to have parallel approvals so I am trying to use the dynamic parallel processing through Blocks. I cant use Forks since the agents are being determined at runtime.
    I am using the ParForEach block. I am sending the &agents& as a multiline container in 'Parallel Processing' tab. I have user decision in the block. Right now i am hardcoding 2 agents in the 'agents' multiline element. It is working fine..but i am getting 2 instances of the block.I understand that is because I am sending &AGENTS& in the parallel processing tab.. I just need one instance of the block going to all the users in the &AGENTS& multiline element.
    Please let me  know how to achieve the same. I have already searched the forum but i couldnt find anything that suits my req.
    Pls help!
    Regards,
    Soumya

    Yes that's true when ever you try to use  ParForEach block then for each value entry in the table a separate workitem ID is created, i.e. a separate instance is created that paralle processing is not possible like that
    Instead of that what you can do is create a fork with 3 branches and define a End Condition such that until all 3 branches are executed .
    Before to the fork step determine all the agents and store them in a internal table , you can access the one internal table entry by using the index value check this [wiki|https://www.sdn.sap.com/irj/scn/wiki?path=/display/abap/accessingSingleEntryfromMulti-line+Element] to access single entry from a internal table.
    For each task in the fork assgin a agent
    So, as we have defined the condition that until all the three branches are executed you don't want to come out of the fork step so, it will wait until all the stpes are completed.

  • Dynamic parallel processing using a multiline container element

    Hi All ,
      I just wanted to how things work when we use "Dynamic parallel processing" for a decision step . I came across a situation wherein a Rule gets the approving user(s) and the work item should be sent to all those users . After getting an approval from all the users , the workflow should proceed or else it should terminate .
       I was just wondering whether "Dynamic parallel processing" will do this job or not . I had also thought of using forks but as the number of approvers are  decided at runtime , i dont think it is possible .
       Any inputs ?
      Edit : We are working on CRM 5.0
    Thanks ,
    Shounak M.
    Message was edited by: Shounak  M

    Hi Shounak,
    Just do as Mike says:
    use the multiline element for a subflow.
    The subflow consists of your user decision, if someone rejects it, remember it (could be done by updating a small table using a method, or use an event, or what mike suggested, updating appending a table )
    In the top flow, after the multiline element step determine if someone rejected it (wait for event, or reading the table).
    Kind regards, Rob Dielemans
    Message was edited by: Rob Dielemans

  • Dynamic Parallel Processing using Rule

    Hello,
    I am using a User Decision within a Block (ParForEach type) step to send work-items to multiple Approvers parallelly.
    For this I have created a Multi-line container LI_APPROVERS and bound &LI_APPROVERS[&_WF_PARFOREACH_INDEX&]& to &_LI_APPROVERS_LINE& in the "Parallel Processing" tab of the Block.
    Now in User Decision I am using Agent as Expression = &_LI_APPROVERS_LINE&. This is working perfectly fine if I fetch the values in LI_APPROVERS via a background method before "Block" step is executed.
    I want to know if we can do this using a "Rule" within the User Decision? Meaning approvers are determined by the Rule(through a FM) at the run time instead of fetching them beforehand. I created a custom Rule and tried passing it under Agents but it didn't work. I do not know what bindings need to be done and how each line will be passed to User Decision to create a work-item for each user.
    Or
    I should remove the Block step completely and directly use the User Decision Task with Parallel Processing option under Miscellaneous tab?
    Can someone please explain how to achieve this using a Rule and exactly what bindings are required.
    Thanks.

    Hi Anjan,
    Yes, that's exactly what I want to know. I saw your below response in one of the threads but could not understand exactly how to do it. Can you please explain it.
    You have all  your agents in one multiline container element in workflow.
    Then you take a block step with perforeach.
    Then create a custom rule which will import multiline element of agents , and a line_no. Then in the rule you populate the actor_tab with agents from that multiline contaier elemens of agent. The logic will take the agent from the multiline container[line_no].
    Then you take a activity step . In agent use your custom rule usin prpoer bindin of multiline element of agents and for line_no you pass _***_line from block container. Then workitem will sent to n no of people parrallaly.
    This is my current design:
    Activity returns agents in LI_APPROVERS.
    At Block: I have binding &LI_APPROVERS[&_WF_PARFOREACH_INDEX&]& --> &_LI_APPROVERS_LINE&
    At UD: I have Agents as Expression = &_LI_APPROVERS_LINE&
    I want to remove the Activity step (to get Agents in background) and replace with Rule within UD. What binding do I need from Rule to Workflow? How to get the "Line_no" from rule as you mentioned above.
    Thanks for your response.

  • Developing Balckberry Approval process using WAPI's

    Hi All,
    I'm very new to world of workflow handling.
    I have a requirement in Blackberry Approval process.
    One of our client is currently using SAP Workflowto send PR items via Outlook to the approver of these PRs. The approver then gets an email which contains a link to the Portal where he/she approves or rejects the PR.
    Now, along with the email to the approver, the approver should also get the PRs on his/her Blackberry and should be able to approve or reject the PRs from the Blackberry Device itself.
    The UIs for blackberry haveto be developed using webdynpro for Java.
    I need to know how do I link the blackberry webdynpro application to workflow?
    How do I get the WorkItems to the blackberry device?
    I would be grateful if anybody could guide me in this. Overview of steps to be followed is also welcome, I'll explore on the individual steps.
    Thanks and regards.
    Romi Malik
    Edited by: romi malik on Oct 14, 2008 11:40 AM

    For you to test Approvals, you have to setup a number of things;
    1. Supervisor Hierarchy (If using that as hierarchy)
    2. Job Levels (If using Job-level approvals)
    3. New rules for SSHR functions.
    The getApprStartingPointPersonId function returns the starting point person ID for the transaction in the HR_API_TRANSACTIONS table. It uses that to traverse the supervisor hierarchy based on the approval.
    Hope this helps.

  • Parameter mapping in Dynamic approval process

    Hi experts,
    We have a webdynpro application where the user inputs certain data.
    Then from this application we are triggering a GP process and also passing parameters to the GP process.
    In GP my Approval callable object is webdynpro(GP interface) Co.
    In the execute method, I am reading the input parameters
    CurrentLevel=(executionContext.getInputStructure().getAttributeAsInt("I_CurrentLevel"))+ 1;
    totalLevel=(executionContext.getInputStructure().getAttributeAsInt("I_TotalLevel"));
    VendorNo=executionContext.getInputStructure().getAttributeAsString("I_VendorNo");
    Now in complete method I am writing these values to the output parameters.
    output.setAttributeValue("O_VendorNo",contextElement.getVendorNo());   
    output.setAttributeValue("O_TotalLevel",contextElement.getTotalLevel());output.setAttributeValue("O_CurrentLevel",contextElement.getCurrentLevel());
    In the Gp I have a process under which I have a postcondition loop ,it has a loop decision action and  Business logic Co (with two parameters current level and total level).
    And next I have a sequential block with the approver Co.
    I have certain doubt regarding the parameter mappings.
    For the first time the input to the Approver Co is passed from my application (triggering and also passing parameters).
    So we are able to see the input parameters on the GP screen.
    When the first approver approves it, it checks the loop condition, but my problem is Always the input to the approver screen is same.
    After first approval the output of it should become the input for the second approval.
    At which level should I group the parameters in GP because i tried mapping them at process level and also at the postcondition block level .
    Thanks,
    Swetha

    Posted another thread on the same issue

  • Requisition Approval Process using HCM Processes and Forms

    Hi all,
    Can HCM P&F be used for processes other than HR? For example, Purchase Requisition form to be displayed in the portal instead of HR process like 'transfer' form and upon final approval, creation of requisition in SAP should happen instead of HR infotype updation.
    Is this possible? If so, please mention the advantages and disadvantages of using HCM P&F for other than HR processes.
    Regards
    Srini

    Srinivasan,
    I replied to your posting in other forum and pasting my response here as well.
    As mentioned by other SDN peer, HCM P & F is aimed at business processes in HCM area. HCM P & F has provision to retrieve employee's information stored in PA/PT/OM modules and also designed to use infotype framework to update the form data back to employee master data. The navigation of application starts in choosing employee for which Form is to be submitted.
    If you are on EhP4, using new feature we can bypass choosing employee to begin with.
    That said, if you still want to use HCM P & F for non-HCM area then you may end up doing lots of customization.
    Also, SAP had delivered several ISR forms (based on ISR framework) for non HCM business processes, for example 1. Customer master data 2. Cost center maintenance 3. Profit Center etc. You have to look at appropriate business package documentation for more details.
    HCM P & F is also based on ISR framework but with lots of latest features.
    regards
    Sridhar

  • Multiple dynamic repository variable using one initialization block

    I am trying to declare three dynamic repository variables var1, var2, var3. I want to have only one intialization block for all three.
    The point I am confused at is when declaring vraibles, I can normally do
    select x, y, z from table where expr1=expr2
    and then x, y, z can give values to my three variables.
    But in the above case the query is selecting three different things (different columns) from the same row in the database.
    But in my case I want to select the same column from different rows.
    for example
    var1 will be
    select x from table where expr1=expr2
    var2
    select x from table where expr1=expr3
    and var 3
    select x from table where expr1=expr4
    1. Is it possible to do that.
    2. Is it possible to dynamically name a dynamic repository varibale?
    I use OBIEE-11g
    Thank you
    Edited by: user6287828 on Jan 26, 2012 9:41 AM

    Hi,
    I think the primary advantage of WITH clause is to resolve complex sub queries (I am sorry, I am mistaken here). But as per my readings and the BI Server too generating queries using WITH clauses, I think this is an optimized option to choose from in your case (I think there might be other queries too that can get your requirement solved though).
    You may want to refer to http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:524736300346304074 for some info. The database experts say the usage is case-by-case and hence probably in your case if you want to populate 20 variables at one shot you in BI using this kind of query, you have to further evaluate the time taken by the sql etc or break it down again.
    However, I think this certainly is an option here.
    Hope this helps.
    Thank you,
    Dhar

  • Preconditional Loop - with Roles through context not working

    I have created a Pre conditional loop block with action getting user id from output parameters. I am assigning the same action to the next user based on Input_parameters->User using block's Roles tab to the action.
    But the user is not assigned to the action , instead the action is getting repeated in the loop for the old user.
    action should execute like User1, User2, User3.. but the action is assigned to User1 onlly all the time.
    I have grouped Output_parameters and Input_Parameters of the same action to get the users passed from output to input correctly.
    Please let me know if I need to do any configuration in GP for this action/block to accept the Roles to context?
    I am using the blog for example:/people/dipankar.saha3/blog/2007/05/31/how-to-create-dynamic-approval-process-using-conditional-loop-block-in-guided-procedure

    Try this,
    var myDocument = app.activeDocument;
    for (a=1; a < myDocument.allParagraphStyles.length; a++) {
        if(myDocument.allParagraphStyles[a].appliedFont.fontFamily == "Times New Roman (OTF)") {alert()}
    for (b=1; b < myDocument.allCharacterStyles.length; b++) {
        if(myDocument.allCharacterStyles[b].appliedFont.fontFamily == "Times New Roman (OTF)") {alert()}
    Regards,
    Chinna

  • Dynamic approval with loop

    Hello All,
    I am developing a dynamic approval process and here is my requirement.
    We are maintaining the agents in the custom table.I am using multiline element to send the user decision tasks to all users in the table. if user approves then workflow continues..if user rejects then i need to send the user decision task to all agents in the table or just to the rejected user for reapproval..
    for this..
    what i have done so far is..
    1. i have called a system method to pull the agents from custom table.
    2. i have used the multiline element to the user decision step..and work items are going out for approvals to all agents in the table under this task which is parallel.
    3.if approved..continue workflow
    My question is  if user 1 rejects the item can i do another user decision step which is sending the approval to all or just to the rejected user in the rejection path?
    again if user2 rejects i need to follow the same..as it is dynamic am not sure how to achieve this flow..
    and it continues until all approved..am not sure how to pursue this..please help..
    Thanks in advance..

    Dear Suresh,
    This means if rejected-- need to send it to all or just to the rejected user depending upon initiator decision..i believe we can add another option in second user decison as to send only to rejected user along with resubmit..i will try this option..
    Yes you are right.. Provide 3 buttons to initiator like 1)resubmit to all 2) resubmit to rejector 3) exit
    Have a multiline container element with name say approver. If initiator clicks the resubmit to all button in user decision then use the multiline container approver (which has all approvers populated by you). If he selects resubmit to rejector the pass the agent (who rejected the workitem in previous step) via binding for that step.
    Remaining logic remains the same as mentioned by Sanju.
    Regards,
    Bharath

  • Approval Process in SSHR using Approval Management

    Could any one suggest for the below mentioned issue ?
    I have set up the approval process using approval management. But when I tried to test the approval process in both the ways ('Create a test transaction' and 'View a real transaction's approval process), I am receiving different error messages.
    1. if I test by using 'View a real transaction's approval process'
    receiving the error message saying "ORA-20001: The attribute TRANSACTION_REQUESTOR_PERSON_ID probably has an invalid query string. The attribute caused the following exception:
    -972
    ORA-00972: identifier is too long"
    2. if I test by using 'create a test creation' receiving error message as "ORA-20001: Casey Browning (Browning, Doctor Casey) lacks a supervisor, so OAM cannot complete the chain of authority for the transaction"
    What am i missing in the setups ?
    which way is the recommended way to test the process ?
    Your response is more appreciated.
    Regards
    Jhansi

    For you to test Approvals, you have to setup a number of things;
    1. Supervisor Hierarchy (If using that as hierarchy)
    2. Job Levels (If using Job-level approvals)
    3. New rules for SSHR functions.
    The getApprStartingPointPersonId function returns the starting point person ID for the transaction in the HR_API_TRANSACTIONS table. It uses that to traverse the supervisor hierarchy based on the approval.
    Hope this helps.

  • Calling Synchronous process in a loop

    Hi
    I am facing a problem while I am tring to call Synchronous process in a loop. I am having a parent process that fetch batches numbers (list of batches) and loop for each of them and call a child Synchronous process to do some activity.
    the issue here is that the output variable on the process is taking the value that returns from the first batch call and keep repeating it for all the rest batches. I tried to initialize it to null every time I am entring the loop but strangly it has been overrided with the output variable of the first batch and then for the rest it just initialized to null and not had been overriden.
    any body face this before or knows about it
    thanks and best regards,
    Baraa

    This is Arun (working with Baraa in same Company)
    Let me eloborate the situvation
    Facing problem while I call a Sync process from an Async process using while loop.
    When I call sync child multiple times from a parent process using a While loop the response msg from child process is not correct.
    Meaning for instance let say
    Parent process : P
    Child processes : C1, C2, C3     (assuming the loop goes for three iteration)
    The expected response msg of the individual process where
    C1: 10000
    C2: 999
    C3 :           (null)
    But when I go through the audit of the parent process I could see all responses as 10000, meaning the response of the child process is not getting reflected in Parent process correctly
    Whereas when I inspect individual child process response; I could see the correct values.
    Note: I am using End Point Reference technique to call the child process
    Any Idea.
    Requirement:
    Parameter: Source System Name
    (this parameter decides which child to call, basically this will be the SERVICE on WSDL pointing to the child process)
    A parent Async process has to call a Sync child process “n” number of times (“n” get derived at run time) WHILE loop
    The parent will decide which child process to call at runtime (Dynamic call using EndPointReference)
    Some thing like below:
    <Set END POINT REFERENCE>
    <WHILE>
    Invoke Child (synchronize process)
    <END LOOP>

  • Using WF WS14000133 and WS14500015 in same approval process

    Dear WF-Experts,
    we want to use the WF WS14000133 and WS14500015 in same approval process in BAdi "Determination of Approver for n-Step Dynamic Approval Workflow".
    For Example:
    - Shopping cart with 3 items and total value 1000,. EUR
    - first approval step financial for complete shopping cart cause total value
    - second approval step for item 1 and 3 cause cost center
    - not seperate approval for position 2
    - third and final approval step for complete shopping cart cause total value
    Thank you for your support
    Best regards
    Heinz-Georg

    For one approval process you can use only one workflow. But as you want some steps for the complete shopping cart and others on line item, use the line item approval. If you want to do the approval on "header" level just make sure all the items get the same approval object guid. That way all the items are assigned to the same approver and in that way you have a "header" approval.
    I used this for a similar requirement and it works fine.
    Regards,
    Martin

Maybe you are looking for