Human Task : assign task to user at runtime based on some conditions

HI ,
I have a requirement that is, Assign task to users/ groups at runtime for approval based on material qty. please help me in design approach to achieve the same.
thanks in advance.
Guru

Hi Guru
You can achieve this with and without business rules. I am assuming you have a payload with element like "qty". In task details page or somehow, this gets filled. Now later on you can have like this:
1. Without Business Rules:
a) Lets assume you have human tasks like ApproverDefault, Approver100, Approver200, ApproverAll etc.
b) After your first Task, add a XOR Gateway. Default path of XOR goes to ApproverDefault. Then you have like 3 more paths with Conditions like qty between 0 and 100 goes to Approver100. Qty between 100 and 200 goes to Approver200. Qty more than 200 goes to ApproverAll.
Quantity
No conditions (Default) -> ApproverDefault
qty < 100 -> Approver100
qty > 100 and qty < 200 -> Approver200
qty > 300 -> ApproverAll.
2. With Business Rules
a) This needs some learning. Please do refer detailed online docs. I am just giving brief steps. Create extra fields of type Boolean in payload like AutoApproved, NeedApproval100, NeedApproval200, NeedApprovalAny etc. Have more meaningful names as per your requirement and human task though.
b) You need to drag and drop Business Rules component and edit it in JDeveloper.
c) First create a Bucket set with Range of Values for Qty field like -infinity to 0, 0 to 100, 100 to 200, 200 to infinity. You just enter rows like 0, 100, 200, and rest is taken care to add these Ranges.
d) Now create Decision Rules. For each range, create a action and set the flag(s) appropriately.
e) See hello world example for exact steps and full understanding.
http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/obpm/11g/r1/firstProcess/firstprocess_obpm11g.htm
Pros & Cons:
a) Without Business Rules is very simple and straight forward. Quick and easy to develop and test. But if you want to control the range of values for qty, you need to modify the process and redeploy. Its kind of tight.
b) Business Rules gives more flexible. You can change qty at run time, provided you use BPM Composer. But takes some learing and needs some debug if it fails like that.
There are many differences and pros and cons. But above are the main ones.
If you are a beginner, go with First Approach for now.
Thanks
Ravi Jegga

Similar Messages

  • BPM human task actionable user notification email not working

    Hi ,
    I am triing to send actionable email notification to assignees through the notification tab of the human task. The email settings in the em console has done fine so that I am getting the notification email without any fail.
    But the problem over here is the actionable buttons / links (Like Approve or Reject ) are not there inside the email body.
    I have checked the make notification actionable check box in jdev human task as well as configured the actionable email address in the server em console.Still the email body is not having the action items.
    email body is here
    Task Notification PendingUser Notification requires your attention.
    Access this task in the Workspace Application
    <PendingUser Notification > above is the task title.
    Please suggest
    many many thanks
    Tuku

    Hi All,
    I got the solution for it. Now the assignee is able to get the actionable email.
    the mistake i did is during the human task notification tab configuration I have put separate email id in the recipient column of first row.You need to do is ,choose Assignees from the drop down value , check the check box make notification actionable, then set the proper email in the email attribute property of the assigned user (user creation time).
    Thanks
    Tuku

  • How BPEL refers to human task form application during runtime ?

    Hi All,
    I have worked on coulple of 10g BPEL human tasks and I remember '.tform' file used to capture
    task display jsp application url
    content of tform file
    <template>${http_url}/${domain_id}/BPEL_PROCESS/1.0/Task Form/Task Form.jsp</template>
    I am looking for help on how same is achieved in 11g
    in Nutshell,
    How does 11g bpel knows which task form it has to invoke?
    Thanks,
    Praveen

    Hi Praveen
    If you already have a bpm/bpel application in soa 11g, open that in JDeveloper and serach for the file named hwtaskflow.xml. This file will be under your taskforms project -> Application Sources.
    In JDev, for each human task, there is a .task file generated with payload details, actions that task is allowed etc. We can generate taskform for this .task using autogenerte or custom. Either way the above file will have the details like the association of the actual Task and correspond taskform jspx file. If you are familiar with the ADF architecture like bindings you can understand much better.
    In EM console, click on the workflow file that is deployed under your soa_doamin. On right side, you will see list of all the human tasks and click on any human task. You will see the uri for that task. This is the reference for the deployed composite for that task. Now the above .xml file will have the exact human task name with additional information like which pageflow defintion file to invoke. All the pageflows xml files are under your taskforms\web-inf folder.
    See the below link for more details:
    http://download.oracle.com/docs/cd/E21764_01/integration.1111/e10224/bp_designtf.htm#CHDIFHIJ
    see the section named "28.3.3 What Happens When You Create an ADF Task Flow Based on a Human Task".
    Thanks
    Ravi Jegga

  • Assign Action and user at runtime

    Hello Experts,
         I have a requirement that we have to assign the action at runtime using the following way
    TaskTaskDetail     User1(Executer)     User2(Reviwer)
    XXXX     XXXX          Smith          John
    YYY     YYYY     Sneha          Rama
    Here Smith, John, etc... are the users that we have to assign at runtime while XXXX, YYYY are the actions having defined template.
    Can you please give me the right path to achive this requirement?
    Thanks in Advance
    Regards,
    Kuldeep Verma
    Edited by: Kuldeep Verma on Nov 11, 2008 1:53 PM

    hi,
    check the following links that will help you
    The specified item was not found.
    Different ways to model "Dynamical assignment of user to process roles" using Composition Tool Guided Procedures - Part 1
    http://help.sap.com/saphelp_nw04s/helpdata/en/43/fcdf77fc6510b3e10000000a11466f/frameset.htm
    with regards
    shanto aloor

  • How to change users' initial page based on a condition

    I'm using SSO on my application, and have two types of users who will be logging on - I want one set (admins) to go straight to one page, and the other set (users) to go to a another page after logging in. These two sets of users are stored in the database, so I can want to use that to check against.
    I get the impression this would be easy enough if my users went via the 101-login page, but as I'm using SSO I don't think they do. I can change the default starting page, with the home link setting in the application's security attributes, but you can only set one of those.
    I don't mind having it all default to one page, and then redirect away from that if the username meets a particular condition, but can't see how I can do that.
    Can anyone suggest how I can work this to achieve what I need?

    Tim,
    First I would create a HOME_PAGE application item. Then I would create an application computation on new instance that sets that item accordingly. something like this:
    with user_table as(
        select 'TIM' user_name, 'ADMIN' user_role from dual
    select case
               when exists(select *
                             from user_table
                            where user_name = :APP_USER
                              and user_role = 'ADMIN')
               then
                  102
               else
                  103
          end
      from user_tableI would make a landing page all people go to. Page 150. On that page i would make a branch before header which references your HOME_PAGE application item.
    Cheers,
    Tyson Jouglet

  • Calling different views at runtime based on my condition abap webdynpro

    Hi friends,
    Could you pls help me in this issue.
    I am new to webdynpro abap.
    I have an action on my first view.
    basically its a sales order linktoaction.  when i click it, i have to check a condition.
    if  process type = A,
    then navigate to view 2(different abap webdynpro component's view)
    elseif process type = B,
    then navigate to view 3(different abap webdynpro component's view)
    endif.
    I only have experience in calling one view for a action, so i dont have much idea on this how to acheive.
    I have this IF condition, on action event.ON that i need to call view of another application.
    thanks in advance,
    Niraja

    Hi Niraja,
    If you want to pass parameters to a WDA application you can pass them by URL link.
    Example: http://...?pass1=value1&pass2=value2 In this case you pass two parameters to the application.
    In WDA application you can control parameters in windows, you can add parameters in the plug 'Startup' which names are same as URL parameters, and then you can create notes/attributes in the context of windows then map them to the context of view. In the method of startup plug you can pass the parameters to the context of windows. You can search WDA help by WDA application parameters.
    You can check this [link |http://****************/Tutorials/WebDynproABAP/DynamicViews/Window.htm]for dynamic view navigation in a window. And no its a pdf file. It takes you to another website where they have explained it with step-by-step screenshots.
    You may also be interested in checking out this [link |http://****************/Tutorials/WebDynproABAP/views/navigation.htm]where they have explained Navigation from one View to other View along with parameters using Plugs with out using Component Controller context. It too isn't a pdf & does take you to another website.
    Hope these help.
    Regards,
    Uday

  • Human task notification after due date/expiration date/...

    I would like to set a due date (or expiration date) to Human task, and set some notification before this time. Ok, it seemed very easy:
    - i set due date to 5 minutes in human task -> Deadlines
    - i set notifications in human task -> notification and in tab Advanced i set remind once 2 minutes before due date
    Nothing happens. Exactly same (nothing) happens when i do the same with expiration date.
    But what exactly is meaned under word "Reminder"?
    It's mail? (then where I have to set email adress? I tried to set a "to" field in human task -> notification -> tab Advanced -> notif. header attributes => nothing happened)
    It's worklist inbox message?
    Or what ist "reminder" and how it should remind me?
    Edited by: user1175491 on Dec 28, 2010 7:21 PM

    Hi,
    I don’t know if you’ve managed to resolve this issue yet and you mention you have emails working from BPEL, but I'm not sure if you've got any notifications working for the Human Task, if not then I have done some work with the human task notifications and although I’ve not tried to do what you’re doing, this is what I have learned.
    Firstly to receive any notifications you need to configure the Messaging Driver and Workflow Notification Properties…
    In Enterprise Manager expand [farm] -> SOA -> soa-infra
    Right click soa-infra and choose SOA Administration -> Workflow Notification Properties
    Underneath the page title (Workflow Notification Properties) is a note telling you to configure the Messaging Service Driver. Click the "Go to the Messaging Driver page" link.
    In the associated drivers section you will have a single entry for soa_server1 (or what ever it's called for you). In the right hand column there is a button for configuring the driver, click this.
    In the driver specific configuration, scroll down to OutgoingMailServer and enter the hostname or IP address of your mail server, then click Apply at the top of the screen.
    Now go back to the Workflow Notification Properties screen and choose “Email” from the notification Mode and enter some sensible email addresses in the Notification Service section. It’s useful to have real email addresses in here at the moment because any failures will be returned to this address.
    You now need to restart Weblogic for these changes to take affect.
    After the restart you can test the notifications by doing the following
    Back in Enterprise Manager expand [farm] -> SOA -> soa-infra
    Right click soa-infra and choose Service Engines -> Human Workflow
    Click on the Notification Management tab.
    You can click the "Sent Test Notification" button to make sure everything is working ok. This screen also allows you to monitor notifications for failures.
    Now that the notifications have been set up you can configure who gets notified on which events against your human task in JDeveloper.
    The email addresses for the users are retrieved from your identify provider for the relevant user, by default this is the internal LDAP directory. I’m not using this, so I’m not sure exactly how this will work. There are options in the worklist application for individual users, but I’m not using this either.
    Now that this is set up you can configure the human task within JDeveloper. On the notification tab you can decide who gets notified when. By default when a task is assigned to a user, the assignees are notified, you can play about with these settings to see what works best for you. Have a look at http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_workflow.htm#BABBHDGF for more information.
    I’m not sure I’ve solved your problem, but I hope this at least helps.

  • Complex human task route management in Oracle SOA Suite

    Hello. I am struggling to implement a complex role/route model for a human task. Maybe somebody will give me some advice?
    I need to:
    Assign a task to least busy user (this is easily done in Assigment UI for Human Tasks)
    If user rejects the task it should be forwarded to the next least busy user in the same group (I have not found a method to implement highlited condition)
    If all users in group rejected the task it should be escalated to supervisor (user with a special role; Again, I am having problems with implementing highlited condition)
    Thanks in advance for your answers!

    It has to be one window before the installation start (during the wizard), and in this windows is for the OC4J that will be used for the Administration, and there is a box that says something about Make this my default OC4J and also in this page will ask for the password for the oc4jadmin user, if you dont check this box, you wont be able to access the EM console.
    Can you clarify you checked this box?
    Greetings.

  • Human Task - How to cause expiration of a task after SUSPEND

    Hello,
    This is a very simple question, but i don't know how to do this.
    I'm using the web services in bpel for manipulate the task.
    i invoke the operation suspendTask, it works success, but now i want set the expiration date time for 5 minutes for example.
    1) - I tried to call the method updateTask setting the expiration datetime attribute AFTER SUSPEND task, but i get this error:
    ORABPEL-10206
    Error in retrieving task metadata.
    Error in retrieving task metadata because the task is  no longer valid.
    Only valid tasks can by looked up.
    2) If i try to call updateTask operation BEFORE SUSPEND task, i getting this error:
    java.sql.SQLException: ORA-20005: Task is modified
    ORA-06512: at "CCEEDEV_SOAINFRA.WFTASKPKG_111120", line 2455
    ORA-20005:
    ORA-06512: at line 1
    My question, it is possible expirate tasks that have the status SUSPEND ? If yes, how to do this ?
    Thanks
    Victor Jabur
    Edited by: victorjabur on Aug 13, 2010 7:21 AM

    Hi Victor,
    I am Quite new to Oralce BPM/BPEL 11g, In my project I also need to update the task for expiration datetime but not after suspending the task rather before moving to next human task based on some condition.
    It would be great if you could give me the sample code to perform the same if its working with you.
    Regards,
    PK

  • How to assign ROle to user

    Hello All,
      I need to programmatically assign roles to user and want to give some authorization at runtime..
    please suggest me which function module to use ..
    please help me asap
    thanks,
    jigs
    helpful answers wil lbe rewarded

    Hi all,
    Thanks for the reply.
      But i want to add one role to user not profile.
      i got one bapi BAPI_USER_ACTGROUPS_ASSIGN, this bapi does work...
    but actually deletes previous roles and then assign new one.
    is there any fm which will add role to user without deleting existing role.
    thanks,
    jigs

  • Data Subsetting for users at runtime

    Hi all
    I have a requirement that I define data subsetting rules for the users based on some conditions which would be done at runtime.
    For ex. I want that whenever the user synchronizes the user should get the data for the last 60days which have been assigned to him.
    Can I have such policy defined.
    If anybody have implemented such thing, kindly let me know.
    thanx
    ramchow

    Hi Shaun
    Thanks for your prompt reply.
    I know this functionality and have been using it in my application from the beginning.
    But I have a requirement that instead of setting values through the control center which is more like static values for each user and application I could allow users to when they synchronizes then they should have the privilege to download on their conditions.
    For example user might say I want to download data for the last 60days.
    I appreciate your prompt reply but that did not solve my problem.
    Waiting for prompt reply again.
    Thanx and regards
    ramchow

  • Human task assignment for users in Group1 and Role1

    Is there a way to make a Human Task assignment in Oracle SOA Suite BPM 11g for all the users in Group1 who has the Role1 role?.
    I don't want to assign the task to all the Group1's users plus all the Rrrole1's users. I only need the users who belong to both: Group1 and has Role1, but I don't know how to configure this in the HumanTask.
    Edited by: alfredozn on Feb 23, 2011 10:04 AM
    Edited by: alfredozn on Feb 23, 2011 10:06 AM

    repost.

  • Dynamic list of user(s) in Human task activity.

    Hello Friends,
    Warm Greetings!!!
    Here is my query:-
    Can we have dynamic list of user(s) in human task for the same role. Request will flow to executive but based on some parameter it needs to go to different executives and this would be checked at run time.
    Please provide some clue or pointers for the same.
    PK

    ===========
    Assign tasks dynamically
    You can assign users, groups, and application roles dynamically using XPath expressions. These expressions enable you to dynamically determine the task participants at runtime. For example, you may have a business requirement to create a dynamic list of task approvers specified in a payload variable. The XPath expression can resolve to zero or more XML nodes. Each node value can be either of the following:
    Ref- http://docs.oracle.com/cd/E14571_01/integration.1111/e10224/bp_introhwf.htm
    ==============
    Either You can put a Xpath expression on Owner (open Human task from composite and see the General tab ) or you can have rule based assignment for users .
    Also in Xpath - Identity related functions can be found under - Identity Service Functions (from Functions drop down)
    Regards
    Rupesh Somani

  • BPM 11.1.1.5 Dynamic assignment of task to user

    Hi,
    I'm working with BPM 11.1.1.5 (without feature pack). I have a requirement to assign a task to a user dynamically, based on data that I pull from a DB query. If the task expires, I will assign it to another user once again based on a DB query.
    I have not been able to find a way to do this. I have tried creating the Participant List "By Expression", where the expression is: /task:task/task:systemAttributes/task:assignees/task:id, where I have previously assigned a LDAP user id to a TaskExecutionData input variable. This does not work!
    I've read a number of forum posts where people are trying to do this, but they are either not answered or answered inadequately.
    I've read a number of posts where people talk about doing this using bpws:getVariableData() where the dynamic user list is stored in a variable. This would be great, if it worked for BPM as this is exactly what I'd like to do. However, this is a BPEL solution as far as I can see! I haven't been able to find a way to access a declared variable from the Expression Builder form in BPM.
    Does anyone have a solution for this, please?
    Any help would be greatly appreciated. Is this something that is easier to do in PS5?
    Many thanks,
    Brian.

    Hi Brian,
    Not sure if this is what you need, but to assign the BPM work item instance to a participant based on information read from a database table, one approach is to:
    1. Read the table and return the userId to a process data object variable upstream of the Interactive activity.
    2. Pass the variable with the user id into the Interactive activity's human task.
    3. Open the human task, click the Assignment tab -> double click the performer icon in the center -> change the "Build a list of participants using" dropdown to "Names and Expressions" -> click the plus icon -> click "Add a User" -> under "Data Type" change the dropdown selection to "By Expression" -> click the "..." button under "Value" -> expand "task" -> expand "task:payload" -> select the variable that you set the user id to.
    I think there is probably more to your question than this, but hopefully it's a start.
    Dan

  • In human task, dynamically assign group doesn't work

    Oracle SOA 11.1.1.4
    My bpel process invokes a human task.
    On the human task Assignment tab, I assigned 3 users (by name), 1 group (by expression).
    The group is configured in LDAP
    When I tested the bpel process, I entered the group and other data required.
    From the worklist app, I see the task listed. It is assigned to the 3 users, but not the dynamically passed-in group.
    From the Audit trail, I saw all data I entered (include the group). Everything seems correct, but I still can’t make the dynamically-pass-group work.
    If I assign the group by name in human task, it works fine.
    The problem is: dynamically assign group doesn't work.
    Please kindly advice.

    Yes, it is possible assign a group as participant of some human task, passing the group name as parameter.
    I have tested just now.
    It works pretty well in SOA 11.1.1.4 (BPEL or BPM).
    Make sure add a data parameter in your human task definition and pass a valid group name to it.
    At the Assignment tab, in the participants' list, add a group, data type by expression, and set the value to the right xpath expression to the corresponding parameter.
    For example: /task:task/task:payload/task:group
    If it is not working look the SOA log files, probably you'll find some information about the error there. Maybe there is some problem with your jazn.com configuration.
    You can also test if there is something wrong related to the group name, trying to transfer some task to the same group by the worklist.

Maybe you are looking for

  • Editing a single color in FCP

    Hi Everyone, Is it possible to select and alter a single color in Final Cut Pro? For example, suppose you have an outdoor shot and everything on the ground looks good but you'd like to make the sky a little more blue. Is this possible? Many thanks Ge

  • WD ABAP Interactive forms

    Hi, I want to use IA form in WD abap, I set the templatesource PDF form, and the context node create auto, but there are only the nodes create from PDF form, the attributes under the nodes do not create. So I should create the attributes by myself or

  • URGENT!  Problems with On-Commit and Key-Commit triggers!!

    Hi there, We are having a problem with our form actually saving a value to the database after the commit_form is given. When we hit the Save Button (which triggers the Key-Commit, and that in turn triggers the On-Commit trigger) we want a populated g

  • Restore iPhoto library from NTFS NAS

    Hi all - need some help here please! I recently copied my iPhoto library to an NTFS NAS - not the smartest move I have come to realize! After the backup I flattened my MacBook Pro and installed Mavericks from scratch. I then downloaded the latest ver

  • Error in Oracle 9iAS R2 froms server

    hi, am using oracle forms server 9i that comes with the 9ias r2 and i have installed the headstart on it and we are using the headstart for our application. after running any form on the web using the headstart forms server configuration files i have