ActiveSync:Deferred Task role provision

Hello,
During active sync I am trying to provision an IDM role in some future date (ex. 30 days)
on the same date I will need to remove the current IDM role.
What is the best way to accomplish this?
1) Should be done using a Deferred Task?
Where I use a work-flow that removes the current role and then adds the new role?
If so is the done by executing a workflow using viewOptions.Process?
<Field name='viewOptions.Process'>
  <Disable>
    <neq>
      <ref>activeSync.DeferredFlag</ref>
      <s>true</s>
    </neq>
  </Disable>
  <Expansion>
    <s>MyDeferredTaskWorkflow</s>
  </Expansion>
</Field>2) Should this be done by manipulating the Role Date ?
http://docs.sun.com/app/docs/doc/820-5822/byahf?l=en&a=view&q=role+date
This is for IDM 8.1
All input is welcome and appreciated.
Thank you

This is an example of a field at the end of your activeSync form to set the workflow that invokes a deferred task (ours is quite complicated)
<Field name='viewOptions.Process'>
<Comments> Define custom workflow to run for each feed operation. Use null if the standard workflow for that operation should be used.</Comments>
<Expansion>
<s>Your custom workflow</s>
</Expansion>
</Field>

Similar Messages

  • Create a Task, for use in "Deferred Task"

    I am in the processing of creating Deferred Tasks for my Update-User workflow.
    I know how to create these easily. My problem is : the actual "Task" itself, which will be called upon from the Workflow.
    I don't know the proper syntax for it.
    For instance, below is the code I am using for my "Send Email Task". This task is supposed to send an automatic email notification.
    *<?xml version='1.0' encoding='UTF-8'?>*
    *<!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'>*
    *<!-- MemberObjectGroups="#ID#Top" authType="UserAdminTask" createDate="Thu Jul 16 15:22:08 EEST 2009" extensionClass="WFProcess" name="Send Email Task" visibility="invisible"-->*
    *<TaskDefinition name='Send Email Task' creator='%STARTUP%Configurator' createDate='1247746928617' lastModifier='%STARTUP%Configurator' lastModDate='1247746928617' repoMod='1247746928170' primaryObjectClass='TaskDefinition' wstype='ProvisioningTask' taskType='Workflow' executor='com.waveset.workflow.WorkflowExecutor' syncControlAllowed='true' execMode='sync' execLimit='0' resultLimit='3600' resultOption='delete' visibility='invisible' progressInterval='0'>*
    *<Extension>*
    *<WFProcess maxSteps='0' audit='true'>*
    *<Variable name='user' input='true'>*
    *<Comments>&#xA; A user view. This is required.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='backgroundProvisioning' input='true'>*
    *</Variable>*
    *<Variable name='provisioningRetryButton' value='true' input='true'>*
    *<Comments>&#xA; Set to "true" to enable the inclusion of a Retry link&#xA; in the task result if the provisioning fails.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='approvals'>*
    *<Comments>&#xA; Returned from the Lighthouse Approval process. Contains the&#xA; approval structure. The approvals.approved variable set if&#xA; all approvals were successful. This is passed into the Notify&#xA; process later for post-provisioning notifications.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='userCreated'>*
    *<Comments>&#xA; Set to "true" from the Provision workflow when the&#xA; Lighthouse account has been created.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='sunset'>*
    *<Comments>&#xA; Object containing information for registering a sunset date/time.&#xA; </Comments>*
    *</Variable>*
    *<Variable name='error'>*
    *<Comments>Set in the event of unusual processing errors.</Comments>*
    *</Variable>*
    *<Variable name='options'>*
    *<Comments>Options to pass to the provisioning task regarding resource&#xA; provisioning.&#xA; </Comments>*
    *</Variable>*
    *<Transition to='end'>*
    *<Comments>&#xA; Terminate if we encounter unusual errors (not provisioning errors).&#xA; </Comments>*
    *<ref>error</ref>*
    *</Transition>*
    *<Activity id='0' name='start'>*
    *<Transition to='Notify'/>*
    *</Activity>*
    *<Activity id='1' name='Notify'>*
    *<Action id='0' name='Email' application='com.waveset.provision.WorkflowServices'>*
    *<Argument name='op' value='notify'/>*
    *<Argument name='template' value='Send Email Now'/>*
    *</Action>*
    *<Transition to='End'/>*
    *</Activity>*
    *<Activity id='2' name='end'>*
    *<WorkflowEditor x='428' y='275'/>*
    *</Activity>*
    *</WFProcess>*
    *</Extension>*
    *<MemberObjectGroups>*
    *<ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/>*
    *</MemberObjectGroups>*
    *</TaskDefinition>*
    I am not sure if my syntax is correct?
    Any tips?

    Thanks again, sbalu.
    I may have found the error (although, I don't understand what it means).
    Something about *"Missing View"*
    Catalog#format() Entry locale=null, key=SES_WORKITEM_MISSING_VIEW, defVal=SES_WORKITEM_MISSING_VIEW
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Info parameters=null
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Info tmp=null
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Info pattern=Missing view id.
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Info msg=Missing view id.
    20091126 08:28:22.701 TaskThread(0x0052fecf) Catalog#format() Exit returned= Missing view id.
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#addTaskResult() Entry name=Send Email Task, ti=TaskInstance:Send Email Task tdalton
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Entry locale=null, key=SES_WORKITEM_MISSING_VIEW, defVal=SES_WORKITEM_MISSING_VIEW
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Info parameters=null
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Info tmp=null
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Info pattern=Missing view id.
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Info msg=Missing view id.
    20091126 08:28:23.092 TaskThread(0x0052fecf) Catalog#format() Exit returned= Missing view id.
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#addTaskResult() Exit void
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data executeOnce= false
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#launchTask() Exit returned= false
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Exit returned= false
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#endObject() Entry no args
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#endObject() Exit void
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#processObject() Exit returned= false
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#processDeferredTasks() Data idOrName== #ID#6BF7-:B3702F65421:491FD113-:D0E4376B71977D1D
    20091126 08:28:23.092 TaskThread(0x0052fecf) DeferredScanner#processDeferredTasks() Data nameOrId== ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processDeferredTasks() Data object lastMod= 24
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processObject() Entry obj=User:ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processObject() Data tasks= [ { accountId=ukaila, task=Send Email Task, name=Send Email Task, date=11/25/2009 11:15:00 } ]
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processObject() Data task list object= { accountId=ukaila, task=Send Email Task, name=Send Email Task, date=11/25/2009 11:15:00 }
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Entry obj=User:ukaila, trig={ accountId=ukaila, task=Send Email Task, name=Send Email Task, date=11/25/2009 11:15:00 }
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data start= 11/25/09 11:15 AM
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data _now= 11/26/09 8:28 AM
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data task definition= CSC Send Email Task
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#startObject() Entry obj=User:ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#startObject() Entry type=User, nameOrId=ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#startObject() Exit void
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#startObject() Exit void
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data task template= null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data task definition= TaskDefinition:Send Email Task
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#processTrigger() Data task template= TaskTemplate:null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Entry obj=User:ukaila, trig={ accountId=ukaila, task=Send Email Task, name=Send Email Task, date=11/25/2009 11:15:00 }, tt=TaskTemplate:null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data taskName= null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data generated taskName= Send Email Task ukaila
    20091126 08:28:23.123 TaskThread(0x0052fecf) TaskTemplate#setTaskName(String) Entry no args
    20091126 08:28:23.123 TaskThread(0x0052fecf) TaskTemplate#setTaskName(String) Exit void
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data orgName= null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data owner= null
    20091126 08:28:23.123 TaskThread(0x0052fecf) DeferredScanner#launchTask() Data subjectLength= 29,650
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Entry element=[Map: null]
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Entry element=[Map: null]
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info elname=Map
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info classAtt=null
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info classAtt=null
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info regName=Map
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Exit returned= com.waveset.util.XmlObjectFactory$Registration@1edf84f
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Info handler=com.waveset.util.XmlHashMap@493dca
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Entry element=[Locale: null]
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Entry element=[Locale: null]
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info elname=Locale
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info classAtt=null
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info classAtt=null
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Info regName=Locale
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#getConstructor() Exit returned= com.waveset.util.XmlObjectFactory$Registration@77a748
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Info handler=com.waveset.util.XmlLocale@1876e5d
    20091126 08:28:23.123 TaskThread(0x0052fecf) XmlObjectFactory#create(Element) Exit returned= en_US

  • Deferred Task ----  what am I doing wrong?

    I am trying to configure a Deferred Task, which will send an Email Notification on a particular date.
    I included this Task in my Update User Workflow (I included it as an <Action> in the Activity "Notify").
    Here is the code :
    <Activity id='7' name='Notify'>
    <Action id='0' process='Provisioning Notification'>
    <Argument name='approvals' value='$(approvals)'/>
    <Argument name='notifications' value='$(notifications)'/>
    </Action>
    <Action id='1' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='addDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(accountId)'/>
    <Argument name='task' value='Send Email Task'/>
    <Argument name='date' value='$(user.global.parseddate)'/>
    <Argument name='accountId' value='$(accountId)'/>
    </Action>
    <Transition to='end'/>
    </Activity>
    The "Send Email Task" there is a Workflow which should send the Email Notification.
    Unfortunately, this didn't work.
    I don't know if the reason is because I made this an ACTION, and maybe it should be an ACTIVITY all by itself?
    Or, maybe the problem lies with the DATE ?

    Hi,
    I think the problem is in your Taskdefinition. Compare to mine as shown below and you will find a lot of differences.
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <TaskDefinition name='Sunset Delete User' primaryObjectClass='TaskDefinition' taskType='DeferredTaskScanner' executor='com.waveset.workflow.WorkflowExecutor' syncControlAllowed='true' execMode='async' execLimit='0' resultLimit='0' resultOption='rename' visibility='runschedule' progressInterval='0'>
      <Extension>
        <WFProcess name='Sunset Delete User' maxSteps='0'>
          <Variable name='id' input='true'>
            <Comments>Passed in by Deferred Task Scanner</Comments>
          </Variable>
          <Variable name='triggerName' input='true'>
            <Comments>Passed in by Deferred Task Scanner</Comments>
          </Variable>
          <Variable name='accountId' input='true'>
            <Comments>
              The accountId of the user to be updated.
            </Comments>
          </Variable>
          <Variable name='options'>
            <Comments>
              Contains provisioning options stored in a Map representation of a
              ProvisioningOptions object.  See the DeProvision subprocess
              for a description of the options.
            </Comments>
          </Variable>
          <Variable name='user' input='true'/>
          <Activity id='0' name='start'>
            <Transition to='Check ID'/>
          </Activity>
          <Activity id='1' name='Check ID'>
            <Transition to='end'>
              <isnull>
                <ref>id</ref>
              </isnull>
            </Transition>
            <Transition to='Delete User'/>
          </Activity>
          <Activity id='2' name='Delete User'>
            <Variable name='user'/>
            <Action id='0' application='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='getView'/>
              <Argument name='authorized' value='true'/>
              <Argument name='id' value='$(id)'/>
              <Argument name='type' value='User'/>
              <Return from='view' to='user'/>
            </Action>
            <Action id='1'>
              <expression>
                <block>
                  <set name='options.accountId'>
                    <ref>user.waveset.accountId</ref>
                  </set>
                  <set name='options.unlinkTargets'>
                    <list>
                      <s>app</s>
                    </list>
                  </set>
                  <set name='options.unassignTargets'>
                    <list>
                          <s>app</s>
                    </list>
                  </set>
                  <set name='options.targets'>
                    <remove>
                      <ref>user.accountInfo.assigned</ref>
                        <s>app</s>
                    </remove>
                  </set>
                  <set name='options.deleteUser'>
                    <s>true</s>
                  </set>
                  <set name='options.fetchAccounts'>
                    <s>false</s>
                  </set>
                  <set name='options.forceDelete'>
                    <s>false</s>
                  </set>
                  <set name='options.noCreate'>
                    <s>true</s>
                  </set>
                  <set name='options.noDelete'>
                    <s>false</s>
                  </set>
                  <set name='options.noLink'>
                    <s>false</s>
                  </set>
                  <set name='options.noUpdate'>
                    <s>true</s>
                  </set>
                  <set name='options.preserveChanges'>
                    <s>false</s>
                  </set>
                  <set name='options.fetchAccounts'>
                    <s>false</s>
                  </set>
                  <set name='options.selectAll'>
                    <s>true</s>
                  </set>
                </block>
              </expression>
            </Action>
            <Action id='2' process='DeProvision'>
              <Argument name='accountId' value='$(id)'/>
              <Argument name='options' value='$(options)'/>
            </Action>
            <Transition to='end'/>
          </Activity>
          <Activity id='3' name='end'>
          </Activity>
        </WFProcess>
      </Extension>
      <MemberObjectGroups>
        <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/>
      </MemberObjectGroups>
    </TaskDefinition>

  • Deferred Tasks

    All,
    I would like for a user to request a role that can be assigned for only 24 or more hours. After this time expires I would like for the role to be deprovisioned. Would I use a defered task to achive this?
    Thanks

    If you are using 8.1 you can set activation and expiration dates while assigning roles. Its supported in 7.1 too.
    You can also write deferred task but i guess its not required if you set the dates.

  • OIM 9.1.0.2: Remove user assigned to a task in Provisioning Process

    I have read Note: Ability to Have Multiple Approvers Per Resource Object in OIM [ID 429999.1], and executed each steps described in it. But when grant these resource object to some user. First the request was not sended directly to a approval process, as had been expected that I would. The request was send to a provisioning process, specifically to user has been assigned a task, when the user approves the request until the request is then sent to approval process.
    I need to send directly to a approval process, because that's where I have defined my levels of approval.
    I'm using oim 9.1.0.2 BP18 running on OC4J 10.1.3.5 on AIX 6.1 64-bit clustered install with two nodes, Oracle Database 10.2.0.4 on AIX 6.1 64-bit on RAC.

    Hello Everyone,
    Thanks for your response. Actually i have a Approval Process, where i have defined my levels of approvals. In Resume I have this Env. :
    1.- A Resource: ResourceA
    2.- A Provisioning Process in relation with ResourceA.
    3.- A Approval Process in relation with ResourceA.
    The request was send to a provisioning process, specifically to user has been assigned a task, when the user approves the request until the request is then sent to approval process.
    I need to send directly to a approval process, because that's where I have defined my levels of approval. In other words i need to bypass the user assigned a task in provisioning process.

  • How to Get a list of pending deferred tasks

    Hi all
    there is a bunch of unfinished threads here asking how to get a list/report of deferred tasks that are associated with user objects and scheduled for future execution.
    I need this list and I can't find out how to get it anyway.
    I don't care if it's a SJSIM report, a database query or a SJSIM log mining exercise.
    Does anyone know how to do this?
    My org has just gone live with SJSIM and I want to report on the number of legacy resource accounts that have had deferred tasks created against them for future disabling/deletion (our consultants added this workflow based on rules with an email warning, a disabling deferred task set for 2 weeks from now and a deleting deferred task for 6 months after that). Hopefully I can say "look, 5,000 legacy accounts are going to be cleaned up!
    Thanks in advance

    You can do it with a custom workflow, something like this:
         <Activity>
            <Action id='0' class='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='queryObjectNames'/>
              <Argument name='type' value='User'/>
              <Argument name='attributes'>
                 <list>
                        <new class='com.waveset.object.AttributeCondition'>
                           <s>deferredTaskDate</s>
                           <s>isPresent</s>
                        </new>
                  </list>
               </Argument>
            <Action id='1' process='Check User'>
              <Iterate for='currentUser' in='queryResult'/>
              <Argument name='accountId' value='$(currentUser)'/>
            </Action>
         </Activity>And:
           <WFProcess name='Check User'>
             <Variable name='accountId' input='true'/>
             <Activity id='0' name='start'>
               <Transition to='Check User'/>
             </Activity>
             <Activity id='1' name='Check User' hidden='true'>
               <Action id='1' name='Get User View' application='com.waveset.session.WorkflowServices'>
                 <Argument name='op' value='getView'/>
                 <Argument name='type' value='User'/>
                 <Argument name='id' value='$(accountId)'/>
                 <Argument name='authorized' value='true'/>
               </Action>
               <Transition to='Got One'>
                   <notnull>
                           <ref>view.accounts[Lighthouse].properties.tasks[Legacy Cleanup].date<ref>
                    </notnull>
                 </Transition>
                 <Transition to='end'/>
              </Activity>
              <Activity id='2 name='Got One'>
                 <ActionResult name='users' type='message' overwrite='false'>
                    <ref>accountId</ref>
                  </ActionResult>
              </Action>
              <Transition to='end'/>
            </Activity>
         </WFProcess>This just gives a rough idea of how it can be done. It might be best to bring your consultants back in to implement this.
    Edited by: PaulHilchey on Feb 25, 2009 10:35 AM

  • How to find out if a user has a deferred task

    In my WF, I will add a deferred task to a user. If that user already has a deferred task then i want to skip it. How do we find out if a user already has a deferred task? Thanks

    This should help you
    <notnull>
    <ref>view.accounts[Lighthouse].properties.tasks[taskname]</ref>
    </notnull>

  • How to check if a user has a deferred task or not?

    Right now, I use getView and then check for the deferred task as below
    1)
    <Action id='0' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='getView'/>
    <Argument name='type' value='User'/>
    <Argument name='id' value='$(accountId)'/>
    </Action>
    2)
    <Transition to='Add Deferred Task'>
    <isnull>
    <ref>view.accounts[Lighthouse].properties.tasks[Task Name]</ref>
    </isnull>
    </Transition>
    Is there a quicker way to combine both steps 1 and 2 into one step?

    Here's my code
    <Action id='0' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='queryObjectNames'/>
    <Argument name='type' value='User'/>
    <Argument name='single' value='true'/>
    <Argument name='attributes'>
    <map>
    <s>accountId</s>
    <ref>accountId</ref>
    <s>deferredTaskDate</s>
    <s>Task 123</s>
    </map>
    </Argument>
    </Action>
    So I'll pass in 2 parameters, the accountId and a task name. I want to see if this user has that particular task name or not.
    In the WF trace, I see this
    Argument attributes = {accountId=ABC, deferredTaskDate=Task 123}
    queryResult is null because it could not find this user even though user ABC exists in IDM and has a deferred task named Task 123.
    Is my code wrong and how do I use AttributeCondition in the queryObjectNames above?

  • CProjects-MS Project - import and export of task-role-resource assignment

    Hi,
    We are on PPM5.0
    We are currently working on cProjects-MSP client integration.
    What we have not been able to configure for import/export so far is:
    1. Task-Role-Resource assignment
    Whereas we are are able to import/export the "Person Responsible" and "Role Responsible" fields, we have not been able to align the task-role-resource assignments.
    We see a "Resource Name" column (Standard) in MSP. When we click on the drop down, we see all the roles from the cProjects project. But the alignment does not happen.
    Summary:
    On export and import, we need to automatically see the role-resource-task assignment. How is this possible?
    2. Code field to "VC_BUPA_GUID" gets a number which is not the BP ID.
    Is it possible to import the BP numbers in MSP. Also, how can we assign a number to the role in MSP such that on import into cProjects, the role is already staffed with the corresponding BP.
    3. Is it possible to export all the resources (BPs) into a drop down in MSP - like we see the Project Type, Role Type etc.
    Thanks.

    Hi Anuradha,
    Thanks for your inputs.
    When we export to MSP, we see the cProjects roles under the "Resource Name" drop down in MSP.
    However, they are only seen when we expand on the drop down.
    For e.g. RoleA, and RoleB are two roles in cProjects project, along with many other roles.
    Both of these roles are assigned to a task, say TASK1.
    When exported to MSP, we expect both of these roles to show against TASKI, as "RoleA, RoleB" under the "Resource Name" column. However, these roles are not seen. They only appear as elements of drop down, along with all other roles in the project, when we explicitly click on the drop down.
    Please let me know if I are missing out on something.
    Thanks.

  • Dates appear different in log file vs. debug page for Deferred Task

    I added a deferred task and in the log file, the date appeared correctly as
    Mon Dec 15 16:34:11 PST 2008
    But when I viewed the user in the debug page, the date appeared as
    <Date>2008-12-16T00:34:11.430Z</Date>
    I called an external java class that return a Date object
    <Action id='0' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='addDeferredTask'/>
    <Argument name='date'>
    <invoke name='addWeekDays' class='MyDateUtil'/>
    </Argument>
    </Action>
    Do you have any ideas?

    IDM commonly stores dates in a Java or JDBC date format (which is what your debug date is) but often formats the date differently for log files and for web pages. It's annoying if you're trying to line two different outputs up.

  • Not able to Pass Reference Variables to Deferred task

    Hi All,
    I am not able to Pass the reference variables to Deferred task, With the following code, I am getting null values (for the passed refs) in Deferred Task.
    Code is as:
    <Action id='1' name='Set Deferred Task Action' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='addDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(empId)'/>
    <Argument name='authorized' value='true'/>
    <Argument name='task' value='WF_User Deferred Task'/> // Task defination
    <Argument name='date'>
    <Date>2008-11-19T14:50:18.840Z</Date>
    </Argument>
    <Argument name='taskDefinition'>
    <block trace='true'>
    <defvar name='usrObject'> // This is the variable I am passing to 'WF_User Deferred Task'
    <new class='com.waveset.object.GenericObject'/>
    </defvar>
    <invoke name='setAttributes'>
    <ref>usrObject</ref>
    <map>
    <s>accId</s>
    <ref>empId</ref>
    <s>updStatus</s>
    <ref>newStatus</ref>
    </map>
    </invoke>
    </block>
    </Argument>
    </Action>
    <Transition to='End'/>
    Please suggest me.
    Thanks,
    Ravi.

    yeah, you don't have your usrObject available in the deffered task however all variables that you put inside the usrObject are avialble. Like <ref>accId<ref> and <ref>updStatus</ref>. If you still need them organized hierarchically, you might try to add one more level to the object before passing it to addDefferedTask
                <block>
                  <defvar name='objWrapper'>
                    <new class='com.waveset.object.GenericObject'/>
                  </defvar>
                  <defvar name='usrObject'>
                    <new class='com.waveset.object.GenericObject'/>
                  </defvar>
                  <invoke name='setAttributes'>
                    <ref>usrObject</ref>
                    <map>
                      <s>accId</s>
                      <s>yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy</s>
                      <s>updStatus</s>
                      <s>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</s>
                    </map>
                  </invoke>
                  <invoke name='setAttributes'>
                    <ref>objWrapper</ref>
                    <map>
                      <s>usrObject</s>
                      <ref>usrObject</ref>
                    </map>
                  </invoke>
                  <ref>objWrapper</ref>
                </block>I hope you ve got the idea. Cheerz.

  • Deferred task date change problem

    Hi,
    Every user in IDM has a deferred task as shown below. The requirement is to change the 'Date' value to set the time as 23:59:59.00Z.
    At the moment different users have different times set for them. All need to be same as mentioned above. Please assist me in this with a faster way as there are more than 5K users.
    <Object name='WF - Expire Contractor'>
    <Attribute name='authorized' value='true'/>
    <Attribute name='date'>
    <Date>2011-04-14T06:00:00.000Z</Date>
    </Attribute>
    <Attribute name='executeOnce' value='true'/>
    <Attribute name='owner' value='C670635'/>
    <Attribute name='subject' value='ProxyAdmin'/>
    <Attribute name='task' value='WF - Expire Contractor'/>
    </Object>
    Thanks,
    Santoshanand

    A code in xpress would be of great help.But much more lines of code :-(
    I am not sure if we have any already existing java or need to write
    a new one. So, I think writing a custom workflow will be a good way.I avoid writing XPRESS code unless it is absolutely necessary, so here I cannot help you :-( I think a
    stand-alone Java program of ~20 lines would complete your task.
    Also, task.setStartDate(<the date>); requires a date object. Problem
    here is to set the time to 23:59 for the same date.
    (new SimpleDateFormat("yyyy-MM-dd hh:mm")).parse("2011-04-14 23:59", new ParsePosition(0));

  • Deferred Task --- Variables not displaying in "Email Notification"

    Hi,
    there have been quite a lot of postings here regarding the issue of Deferred Tasks.
    I created a Deferred Task, and it is working perfectly. My deferred task is supposed to send an email notification on a pre-set date.
    The Email is being sent as it should.
    Just one problem : the "variables" / "attributes" of the particular User are not being displayed in the body of the email.
    The "Email Notification" is supposed to say something like : "*This is to notify you that the account for user Michael Jackson has been updated. Next update will occur on blah-blah-blah"*
    In other words, the body of the email should display the attributes : FIRSTNAME, LASTNAME, NEXT-DATE, etc, etc
    I input these attributes in the body of the email as follows : $firstname, $lastname, etc, etc, etc
    Furthermore, I made sure to DECLARE these variables at the beginning of the Email Template, as follows :
    *<EmailTemplate name='Send Notification' displayName='Send Notification' creator='Configurator' createDate='1258045088776' lastModifier='Configurator' lastModDate='1259051622181' lastMod='1' repoMod='1259051624770' smtpHost='$(smtpHost)' fromAddress='[email protected]' toAddress='[email protected]' authEnabled='$(authEnabled)' userId='$(userId)' password='$(password)' ssl='$(ssl)' port='$(port)'>*
    *<Variable name='firstname'>*
    *<select>*
    *<ref>user.global.firstname</ref>*
    *</select>*
    *</Variable>*
    *<Variable name='lastname'>*
    *<select>*
    *<ref>user.global.lastname</ref>*
    *</select>*
    *</Variable>*
    Apparently, there is something I am not doing correctly. But, I can't figure out what it is.
    Any tips would be welcome.
    Thanks.

    Email templates are slightly different in how they reference variables. Here's what I do in one of my deferred tasks. Notice the arguments in the action and the way the email template references those arguments, specifically the eventDate, accountId, method and eventtime arguments. The other variables are either filled in by IDM's configuration or they resolve to blank or empty strings.
    Action to call the notify process from my deferred task:
    <Action id='1' process='Notify'>
        <Argument name='template' value='My Email Template'/>
        <Argument name='from' value='%%FROM_ADDRESS%%'/>
        <Argument name='to' value='%%TO_ADDRESS%%'/>
        <Argument name='eventDate'>
            <ref>eventdate</ref>
        </Argument>
        <Argument name='accountId'>
            <ref>accountId</ref>
        </Argument>
        <Argument name='method'>
            <s>create</s>
        </Argument>
        <Argument name='eventtime'>
            <ref>eventtime</ref>
        </Argument>
    </Action>The email template:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE EmailTemplate PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <EmailTemplate
    id="#ID#EmailTemplate:MyEmailTemplate"
    name='My Email Template' 
    smtpHost='$(smtpHost)' 
    htmlEnabled='false'
    authEnabled='$(authEnabled)'
    userId='$(userId)'
    password='$(password)'
    ssl='$(ssl)'
    ignoreCert='$(ignoreCert)'>
      <subject>Processing $(method) $(accountId)</subject>
      <body>
    Processing $(method) account $(accountId) on $(eventDate) $(eventtime) is complete.
      </body>
      <MemberObjectGroups>
        <ObjectRef type='ObjectGroup' id='#ID#All' name='All'/>
      </MemberObjectGroups>
    </EmailTemplate>

  • It's posible the OID role Provisioning With OIM?

    Hi experts,
    I'm installing and configuring the OIM connector for OID. However I've found on the installation guide the next 'warnings':
    - Reconciliation of roles is supported only for ODSEE and Novell eDirecotory target systems.
    - Provisioning of roles is supported only for ODSEE and Novell eDirecotory target systems.
    then my question is: how can I provision OID roles to any user using OIM??? If I can't do role provisioning to OID, I cant see so much utility for this connector.
    My request its to provisioning roles that I've created on OID, using OIM interface.
    Has anyone done this?
    Thanks for you time.
    regards.
    Edited by: Daniel Cermeño on Sep 10, 2012 4:39 PM

    Hi Leoncio and Gyanprakash,
    Tanks for your response, thats make me feel more quiet.
    I have still one question about this. In the installation and configuration guide says:
    - If you are using the default connector configuration, for every group in the target system, create a corresponding organizational unit (with the same group name) in Oracle Identity Manager. This ensures that all groups from the target system are reconciled into their newly created organizational units, respectively.
    - You can also configure the connector to reconcile the groups under one organization.
    Then, when I run the reconciliation of OID groups in OIM. I obtain one organization with one resource representing my OID group. Or, if I prefer, I obtaion one organization with many resource that represents all my OID groups. However, I dont find how to provision this resources to my OIM users, cause I need that one user be part of one o more groups. If I put the user in the organization that represent my OID group, how I can provision more groups?
    Furthermore, the reconciliations of OID groups creates resources/organizations, but in my understending this no create OIM roles isn't?
    I'm sorry for my ignorance. This maybe is a trivial question, but I hope you can clarify this concepts to me.
    Thanks for your time.
    regards.
    Edited by: Daniel Cermeño on Sep 11, 2012 8:08 AM

  • Deferred Task Date - Issue

    Hello,
    I am attaching to deferred to a user object, for the date argument I am adding 2 hours to the current time. In the workflow trace I see the date argument is returning correctly i.e. adding 2 hours to the current time, but when I see the user object (from debug pages) it is adding additional 5 hours (including the 2hours) for the date argument.
    It looks like by default it is adding additional 5 hours and not sure how to control this.
    Did anybody come across a similar issue? I think it is not a code issue, some configuration settings I need to change and don't know where to change this.
    Please share any ideas.
    Thanks in advance.

    Yes, the deferred tasks show a time in comparison with the GMT. So, I think your code is correct, it just shows the different time in the user object, but actually it is the addition of 2 hours to it (considering GMT).
    e.g. If you are in India, it shows 6 hours latter time in the user object than the current.
    Your local time - 2011-04-08T00:00:00.000Z
    Time in debug pages - 2011-04-08T06:00:00.000Z
    When you add 2 hours to this, it shows 2011-04-08T08:00:00.000Z in Debug, BUT in fact it is 2011-04-08T02:00:00.000Z
    Thanks

Maybe you are looking for

  • Is there a way to use Illustrator to draw over a live video feed coming from my microscope?

    Hi, we use illustrator to draw (trace) over static images of mite specimens taken under a microscope. Although this works, it would be much better to be able to draw directly from the live video feed coming from my microscope. The specimens are dead,

  • Is it possible to play a slideshow in less than full screen mode

    running 10.9.4, latest version of iPhoto. Is there any way I can play a slideshow at less than full screen mode? Like maybe half or quarter screen instead of having the app take over the entire screen? Very irritating. If I could run a slideshow as j

  • Oracle iLearning Training Material

    The Loading Oracle iLearning Training Material (INS50014) document states: "Four online, self-paced courses will be made available on Metalink (http://metalink.oracle.com), Note ID# 285000.1. A description of each course is supplied below to help you

  • Installing a unifying switch for many switchs linksys slm 224g

    currently I am the administrator of a network containing 6 linksys switch SLM224G... for optimal use I think bying and installing a unifying switch cisco .. is it the right solution ? what is the best solution and what is the best Cisco product ?

  • Data load from ODS to

    A basic question, I am working on a BI7 system but using the 3.5 BC objects for loading purchasing data. data source 2LIS_02_ITM -> Transfer rule   -> infosource     -> update rule       -> 0PUR_O01        -> update rule          -> 0PUR_O02 from the