Trigger a process task based on Lookup Value

Hi Everyone,
We have a requirement like for one of the custom adaptors,we have
The Process form has the below five attributes
i)First Name----(String)
ii)Last Name----(String)
iii)Location----(Lookup)
iv)Address----(String)
V)Mobile-----(String)
The attribute Location is a lookup Field.
in Location we have
Code Decode
Chennai Chennai
Bangalore Bangalore
Delhi Delhi
Mumbai Mumbai
NOw if i select chennai in the location lookup.I want to trigger a seperate task from process definition.
How can this be achieved?
Regards,
Naveen

you can't achieve dynamicly using process task.
if the value of that lookup is limited and known then you can design like below(Static)
1. create a process task adapter which takes one string input(location) and return the same. update response for each location values
2. create task called Location updated or if this task is there for update location value in target system then leave as it is
3. create a new condiional task "call task based on location" . attach newly created adapter. pass location attribute as input and map return value with response code.
finally attach this task on the success response of "Location Updated" task
4. now you have response for all location . so attach respective task on each response.
Note: if there is no Location Updated task present then create "Location Updated " task and directly attach above adapter on this task.
--nayan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • IDOC to be triggered based on Lookup value

    Hi all,
       There is a requirement where in we wil have to trigger IDOCon the receiver  based on certain value which will be coming from RFC lookup during mapping runtime.
    So the entire scenario goes like this
    If look up result is 1 trigger IDOCX to receiverA,
    if look up result is 2 trigger IDOCY to receiverA.(receiver is same for both the cases).
    1. I think its not possible by using the combination of multimapping and enhanced interfacedetermiation,because multimapping doesnot support IDOC choosing , as it creates the second IDOC with error .even tough occurances have been changed.
    2. To apply condition in the interface determination to select required IDOC receiverinterface. The valueis not coming from source structure but coming from look up.
    Please suggest the better solution to acheive it.
    Thanks,
    Amar.

    Hi Amar,
    Yes It is Possible.
    1.Export the both IDOcs in XSD format and Change the Occurance of like (<xsd:element name="IDOC" minOccurs="0"   maxOccurs="unbounded" type="MessageType.BasicType"/>)
    2.Create Two External Definitions(ED_IdocOne & ED_IdocTwo) and Import (Modified) XSD format (No need to Create any Message Type & Service Interface)
    3.Message Mapping(MM_MultiMapp), Import the Both External Definitions(ED_IdocOne & ED_IdocTwo), using CREATEIF Node function Complete your Mapping, and under Signature Tab Change the both of External Definitions Occurence like 0......unbound
    4. Operational Mapping(OM_MultiMapp),Import the Both Idocs(which is importhe from ECC) and Change the Signatures like 0.......unbound and Import the MultiMapping(MM_MultiMapp).
    5. Then Complete Your RFC LookUps.
    Configurations
    1.Create Business Systems and Communication Channel
    2.Create one Sender Agreement
    3. Create Two Receiver Agreements
    4. Create Interface Determination
    5. Create Receiver Determination
    but, whether u execute the both IDOcs same time the Monitoring Time(SXMB_MONI) it displays Black Flag but doesn't display the PAYLOAD, then Go ECC and check (TCode   we02)

  • How to trigger a process task on IT Resource process form

    Hi,
    I want to know how to trigger a process task on IT resource process form using OIM API.For Example:- If a task ilike an e-mail is to be sent on the departure date of a user.So,how can it be done using API?
    Thanks.

    This would typically be done through a scheduled task. Write your code to query for the departure date. If someone meets your criteria for an action to occur, you can either use the addProcessTaskInstance which has an adapter attached to it to send the email, or in your code, send the email.
    The details that need to be considered though is where the departure date is stored. Is it on a process form, or is it on the user's OIM profile. Do you want to disable the user or revoke the object instance at this departure date? You could use the notification tab of these existing tasks if so.
    -Kevin

  • Executing OIM Process task based on Condition

    Hi Experts ,
    I have the following requirement :
    when a OIM user field - X is updated with a value A i have to call task T1, generate a random number on this task and have to trigger CREATE user Task within in the same process definition of an IT resource
    when the same OIM user field - X is updated with a value B i have to call task T1 again, generate a random number on this task and have to trigger DISABLE user Task.
    Im taking the approach of OIM lookup triggers which will kickoff the task T1 when user field X is updated
    My question is how can i add the conditional logic to a task(T1) to trigger the only one dependent task, either create user or disable user when a condition satisfies.
    currently i have added create user task and disable task as the dependent tasks of the task T1.
    If i am triggering create user task how can i get all the attribute mapping values of createuserAdp. since few are referring the process form, userdata and IT resource
    Im confused and not sure as how to implement such Work flow based on conditions. hope some one can help me!!
    Thanks in advance
    Edited by: user8942439 on Aug 24, 2012 11:58 PM

    Use the responses returned by task T1. Lets say for create user, Task T1 returns a response "CREATE". So in the responses tab add this response, select it and in the tasks to generate section add "Create user" task to this response. In the same way task T1 returns response "DISABLE", so on DISABLE response select task to generate Disable user.
    regards,
    GP

  • Process Task Adapter that looksup value

    Hi,
    Any help on creation of a process task adapter that will lookup a value in OIM.
    I wanted to make this as a generic adapter, by passing the lookup name and a codekey value which should fetch the decoded value in that lookup table.
    By doing so, I wanted to set few attributes so that when a attribute value got changed in USR form, it should search the mapped lookup and the codekey value (using a process task definition) and then set the decoded value in the targetted attribute.
    Thanks in advance.
    Regards.

    Here is the thread which might help you. Solution is there.
    Adapter for querying lookup table
    Sunny

  • Trigger another Process Task after Enable User completed

    I would like to have a process task trigger after the "Enable User" process task successfully completed.
    E.g. Scenario
    A user currently has a disabled resource. When I enable the user, the Enable User process task
    gets called and enables the user. After that I would like to have my custom process task triggered after that.
    I tried adding my custom process task in the Enable User task as a dependent task, but it never gets called.
    Also, I tried adding the custom task to Tasks to Generate but that did not work.
    What am I doing wrong or am I missing a step?

    Instructions:
    Goal: When 1st process task is triggered, the 2nd process task will kickoff.
    1. Select the 1st process task
    2. In the Task Dependency Tab of the 1st process task, add the 2nd process task in the Dependant Task section.
    3. In the Responses Task of the 1st process task, select the SUCCESS response and add the 2nd process task in the Tasks to Generate section.
    IMPORTANT: Each response has its own Task to Generate. So make sure you add to the response you want the 2nd process task to trigger off by.

  • Conditional Plan Task Based on Customer Value

    Trigger Task in Plan that will route a service ticket to a different group based on Customer field
    I have a hardware request form.  I would like to route the task to a group based on the location of the customer.  Our company has approx 147 distinct locations and the request for a hardware request will get routed to approx 20 different Tier 2 groups based on the customer's location.
    First off, I am not using Request Center for service delivery.  I am using a servicelink agent to route a ticket to HP Service Desk.  I was planning on using the conditionals in the plan and create a 20 tasks for each Tier 2 group I need to route to.  The conditionals would look like this:
    Service.Data.Customer_Information.Location_Code = "ATLNTA1100" OR Service.Data.Customer_Information.Location_Code = "AUSTIN7600" OR Service.Data.Customer_Information.Location_Code = "BIRMIN3595"
    The problem is that the conditional section only allows for up to 255 characters.  There are 25+ locations that would route to one of the Tier 2 groups.
    Can someone think of a different way I could route this?

    We are doing something similar to Joshua.  In our environment, every user has a location code tied to their HR record, which we pull in through a directory integration.
    when ordering, there is a DDR on the form that looks up the location code in a SQL server table we have created.  In that table, addition to the site logistics, like street, city, stat, country and zip, we also have columns for various performer roles that exist, like desktop support, blackberry support, phone support, desktop purchasing, etc.  We pull that back into the form and then let the customer override and validate a different location if they need something for a different location. 
    We have about 2000 location codes in our system to support our 50,000 employees, many of which are just different parts of a floor or floors in a building.  We set the performer roles to the queue name that gets the work(we are using Service manager for Fulfillment).    so, we have one task, but it route to a performer based on an expression, which is the looked-up value for that support function.
    that enables us to change routing or add locations via data changes in SQL rather than  Catalog deploying a new version of a service or writing a massive client-side javascript.  We've been using this for about 3 months and it works very well.

  • Invoking process task

    Hi,
    Is there a way ,I can invoke my process task manually based on some condition.For example,I have a process task "Disable User" and I need to call this task whenever an user's organization gets changed.
    Also I would like to know how process tasks are getting triggered?.
    Thanks.

    I found an interesting strategy the other day.
    First I created an adapter which I called Mirror. It's only function is to return whatever string is passed to it.
    The Process Task 'Change TransactionType' was created for each target resource and the MIrror adapter was integrated with it.
    My trusted source is an HR system that passes transaction type as a field to Xellerate User. It can have values like ENABLE_USER, DISABLE_USER, CHANGE_JOB, CHANGE_EIN, CHANGE_OSID, CHANGE_NAME etc.
    In lookup.usr.process.triggers I mapped 'Change TransactionType' to the TransactionType field.
    On the Response Code for each 'Change TransactionType' Process Task I listed each transaction type value the trusted source generates. Then associate the appropriate Process Task with each Response.
    The end result is the equivalent of a case statement for launching Process Tasks based on an operation, not just specific field values.
    I hope I explained this adequately. If not, let me know. I think you will find this strategy helpful for many different cases.

  • Error in DB  process task

    Hi,
    I have created a process task to update a value in database table.I am getting following error.
    "Could not find IT asset value for Svr_key=51 and spd_key=13".
    When I tried using the defauld task provided with the connector,it is working fine.
    Any idea?.
    Thanks.
    .

    Interesting.
    Are you trying to use the CP 9.0.1.4 app table db connector?
    I got exactly the same error but after a few hours testing assumed that the problem must be a configuration error. I then sidestepped the problem by setting the values using literals in the process task which worked fine but is more labor intensive and error prone.
    I was planning to circle back to this issue this week.
    Best regards
    /M

  • Passing Arguments to a Process Task

    I have a Process Task inside a For Each Loop Container.
    When I hardcode the arguments to a known id it works fine.
    If I set the Arguments property to my variable as -> User::CustomerId nothing happens and it looks like nothing is passed.
    This variable is set in a Script Task previously inside the For Each Loop container and I see it is set when I debug it.
    I am a little lost as to what is happening.
    Anyone?
    Thanks,
    C.
    CG

    Try like this
    1. Put a breakpoint on the pre execute of the execute process task
    2. When package execution hits the breakpoint go to watch window and check the value set for variable
    3. Copy the value out and go to command prompt
    4. invoke the exe which execute process task calls with argument value you got from variable and then you will get the exact error message.
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Triggering Process Definition Tasks Based on Changes to Multiple Attributes

    Hi All,
    I'm in the process of creating a custom GTC connector to provision accounts to an LDAP directory. I've got more than 100 user defined fields with the user object in OIM and about 60 of them will be kept in sync with the user accounts in LDAP. When any of these 60 attributes get updated for a user, I would like OIM to update the attributes for the user in LDAP.
    I know I can add 60 "Change <field name>" tasks to the process definition. However, that would be very inefficient for what I'm trying to do due to the number of attributes I'm dealing with. Often during large reconciliations from the systems of record, multiple attributes will change for each user. So if 20 attributes change for a user in one transaction and I have separate tasks for each attribute, that would result in 20 LDAP updates rather than just one.
    So I'm wondering, is there a way to have one process definition task that will trigger when any of these 60 attributes get updated and include all the attributes and values that got updated in that transaction?
    Thanks

    Thanks for your response.
    I was actually hoping to not have to use a process form to store all the user data for the LDAP provisioning connector. I was hoping to have the "Change" tasks update LDAP directly. The GTC framework seems to want to create a process form to store the target ID, but I would like to avoid storing all the user defined fields there. My reasoning for this is simply to avoid having user data duplicated in another location, which can often lead to sync issues. However, with that being said, if the only way I can gain performance improvements is through storing all the data in the process form, I would be willing to do that. Do you have any suggestions on how I can accomplish the single LDAP modify for multiple attributes without storing all the user defined fields in a process form?
    But in any case, I've attempted your suggestion. I have created a few lookup definitions:
    Code Key | Decode
    USR_LAST_NAME | Change Multiple
    USR_FIRST_NAME | Change Multiple
    USR_LOGIN | Change Multiple
    etc....
    I've then added the "Change Multiple" task to the process definition. That task calls an adapter called adpTESTGTC_GTC. Now if I update last name and first name in the same transaction, I notice that the adpTESTGTC_GTC adapter gets called twice. So it seems like even though there's just one "Change" task, it will still get executed once for each attribute modified. So adpTESTGTC_GTC would essentially be performing the same work for each attribute (that is getting all the user data and updating the process form). Since both LDAP and the Oracle Database are external to the application server, I'm guessing X LDAP modifies is just as bad for performance as X updates to the process form, where X is the number of attributes being updated in the transaction.
    kevin.pinsky wrote:
    When the update completes, if any of the fields change, it will trigger your "Updated" task on your form for that field.I'm also not sure I understand your last sentence. Are you suggesting that I have one "Updated" task for each attribute that's being sync'ed with LDAP? If that's the case, then I'm still doing multiple LDAP modifies for one transaction, right? In the end, my goal is for a reconciliation process that updates up to 60 attributes for a user to just make one LDAP modify with the up to 60 attributes being updated rather than having a separate LDAP modify for each attribute. So if a reconciliation process updates 20 attributes for a user in OIM, I would like a single LDAP modify to update the 20 attributes for the user in LDAP rather than having 20 LDAP modifies that each update one attribute.
    Thanks for your help. I would appreciate any further comments or suggestions.

  • Process chain flow - based on table values

    Hi,
    I want to control the flow of Process chain run through the values that exist in a field ZCONTROL of Z table.
    I have created an ABAP Program where I access the Ztable to get the ZCONTROL values and have added the program in the ABAP process type.
    Below the ABAP process type, I have added the Process type "Decision between Multiple Alternatives" and created a formula using Predecessor_Parameter function to get the ZCONTROL values.
    The format is PREDECESSOR_PARAMETER( <I_FIELDNAME>, <I_LOW_OR_HIGH>, <I_NUM
    How should I get the I_FIELDNAME value here?
    Please help.
    Thanks.

    Hi Eric / Steph,
    Thanks for your reponses.
    Eric,
    My table has the infopackages name and ZCONTROL field, which contains an indicator "X" or SPACE based the scheduling requirements.  If "X", the Infopackage is scheduled else, it is not.
    In the formula, how will I import the infopackage name.  The custom function can be created with export parameters as ZCONTROL values.
    But when I use the custom funtion, I will need to use the fields on the left hand side and it should have the infopackage name ideally.
    If you get any idea, please let me know.
    Steph,
    I will try your suggestion. 
    Can one ABAP program added as an ABAP Process type in the Process chain, trigger multiple events for different process chains?
    Also, if the infopackages are scheduled, one below the other, if one is not scheduled, will it move to the next one?  Will it go as an error(red) or green?  Should 2 load infopackages process types connected as success or Always?
    Please clarify.
    Thanks.
    Also,

  • Trigger only one process task on Process form update

    Hello,
    I'd like to trigger a single process task (a single time) when one or several attributes are updated in a process form.
    any idea how to do that?
    what I don't want to do :)
    - call the same process task on "firstname update" AND on "lastname update" => this process task would be launched twice on a single process form update/save
    thanks in advance for your help

    Create a task with the form name like such:
    UD_ADUSRLX Updated
    This task will trigger any time a value(s) are updated on the form. You will get only a single task, and not individual. But if you add this task, you don't get the option of the other tasks triggering individually.
    -Kevin

  • Assign Task to a specific user based on the value of DDL from the form

    Hello,
    Can any one please advise me on how to assign a task to a specific user based on the value of the drop down list from the form. E.g. user fills the form and before they submit the form they have to select one of the name from the drop down list so the form can go to that person for approval.
    Thanks in advance,
    Han

    I got it works now by using the xpath expression (in workbench) to assign to the selected user from the DDL in the form.

  • Lookup rate based on reported value

    Hello Experts,
    I have a new supplement where users should be able to select a month for which some specific accounts should be translated at that months close rate.
    So during reporting of 2010.MAY the user might select that the accounts should be translated at 2010.FEB Close rate. In the time dimensions i have one property TIMEID so i can send in the value 20100200 on one account.
    But my problem is that i don't know how to be able to make the lookup collect the end rate for 2010.FEB based on the value 20100200?
    If you know how that can be done or have any idea for another solution it would be very appriciated.
    Thankyou and Best regards,
    Jonas

    Hi Jonas,
    It will be difficult in that way. Because you need to do lot of customizations in your K2 logic to capture the user input and then pass it to the script logic through selections.
    The better way would be to prompt the user with the list of the time dimension members. The user will select a member from there.This will be automatically stored in the variable %TIME_SET%. This variable can then be used in your script logic.
    Hope this helps.

Maybe you are looking for