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

Similar Messages

  • 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));

  • Bulk load to change deferred task date

    We initially loaded users with password expirations and a defered task we created to send them emails starting 15 days before the password expires. We want to move these dates out. Can we do a bulk load and change the dates?
    Thanks,
    Larry

    the deferred task scanner is expensive too. so much so in fact, that we dont use it. in fact, we keep a users "nextTaskDate" as a queriable attribute, which lets us get a result set of users that have tasks on that date. no more iterating through the users to find them. with this, its much easier to do what i had reccommended earlier.
    --Dana                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • 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.

  • 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>

  • 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

  • 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 Tasks - Passing Variables into Workflow

    Hi everyone
    I am experiencing difficulties with deferred tasks in IDM 8.1. I have managed to create a deferred task on a user, with the task name being ‘Generate Email’. I also passed in an attribute ‘id’, and these can be seen in the user view under waveset.properties.tasks.
      <Activity id='1' name='Add Deferred Task'>
                    <Action id='1' application='com.waveset.session.WorkflowServices'>
                        <Argument name='op' value='addDeferredTask'/>
                        <Argument name='type' value='User'/>
                        <Argument name='name'>
                            <ref>accountId</ref>
                        </Argument>
                        <Argument name='authorized' value='true'/>
                        <Argument name='subject'>
                            <s>Configurator</s>
                        </Argument>
                        <Argument name='task'>
                            <ref>taskToAdd</ref>
                        </Argument>
                        <Argument name='date'>
                            <new class='java.util.Date'/>
                        </Argument>
                        <Argument name='owner'>
                            <ref>WF_CASE_OWNER</ref>
                        </Argument>
                        <Argument name='taskDefinition'>
                            <new class='com.waveset.object.GenericObject'>
                                <map>
                                    <s>id</s>
                                    <ref>accountId</ref>
                                </map>
                            </new>
                        </Argument>
                    </Action>
                </Activity>I have set up a scheduler that correctly scans all the user objects for this workflow name, and the ‘Generate Email’ workflow is periodically run.
    The problem is when it gets to the Generate Email workflow, all the variables that were set when the deferred task was created are gone. Both <ref>id</ref> and <Variable name=’id’ input=’true’/> return null.
    Setting the following in the TaskSchedule object did not help, as the string value $(id) is passed into the workflow instead of the id itself. I cannot debug the TaskSchedule as the Netbeans IDE does not allow me to put in breakpoints on this file.
    <Variables>
        <Object>
          <Attribute name='id' value='$(id)'/>
        </Object>
      </Variables>My question is, how do I pass variables into a workflow via a deferred task?

    Hi,
    Here is an example that I found that may assist.
    <Activity name='setDefTask'>
         <Action application='com.waveset.session.WorkflowServices'>
           <Argument name='op' value='addDeferredTask'/>
           <Argument name='name' value='$(user)'/>
           <Argument name='task' value='$(taskType)'/>
           <Argument name='date' value='$(date)'/>
           <Argument name='description' value='$(taskDescription)'/>
           <Argument name='taskDefinition'>
              <Object>
                  <Attribute name='Arg1' value='value1'/>
                  <Attribute name='Arg2' value='value2'/>
                  <Attribute name='Arg3' value='value3'/>
              </Object>
           </Argument>
         </Action>
         <Transition to='end'/>
    </Activity>Hope it helps

  • 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 just for one organization

    Hi,
    Is there a way to configure deferred task to run on just one organization? We need to have a deferred task for contractors to notify the manager about the upcoming expiry date etc., Since the number of contractors are usually a small number, it would be much more efficient if we can let the scanner scan users objects just in contractor organization.
    Does anybody know what exactly the deferred task scanner does to find out that there is a task that needs to be executed. Does it go fetch the entire user object and then parse the user object xml for the list of tasks? Or does it do something more efficient?
    Just want to know some internal works to just get an idea of how efficient or inefficient the whole process is.
    Thanks
    -Kamal

    I actually run through all records with this
    <Action id='0' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='removeDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(employeeid)'/>
    <Argument name='task' value='SD_WFP_DailyTerminateUserProcess'/>
    </Action>
    <Action id='1' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='removeDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(employeeid)'/>
    <Argument name='task' value='SD_TerminateProcess'/>
    </Action>
    <Action id='2' application='com.waveset.session.WorkflowServices'>
    <Condition>
    <notnull>
    <ref>termdate</ref>
    </notnull>
    </Condition>
    <Argument name='op' value='addDeferredTask'/>
    <Argument name='type' value='User'/>
    <Argument name='name' value='$(employeeid)'/>
    <Argument name='task' value='SD_TerminateProcess'/>
    <Argument name='date' value='$(termdate)'/>
    </Action>
    I thought this will delete all old tasks (SD_WFP_DailyTerminateUserProcess) and re-assign the new one (SD_TerminateProcess). But today I still see 'SD_WFP_DailyTerminateUserProcess' running. Is there a way to find all DeferredTask assignments, to make sure that SD_WFP_DailyTerminateUserProcess tasks have been removed and SD_TerminateProcess assigned?
    I can query database if needed. I need to figure this out asap, this is a production server. thanks

  • 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>

  • 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>

  • ORA-23327: imported deferred rpc data does not match GLOBAL NAME of ..

    Hi,
    We took an export of a production database in Oracle 9i (9.2.0.7) and created a new database on a test server with Oracle 10g (10.1.0.5)
    The original production database was called DC20 and our new test database is called SD20.
    Looking at the logs after the import we're seeing this error:
    "ORA-23327: imported deferred rpc data does not match GLOBAL NAME of importing db"
    We've looked into it a little and it seems to make sense because the names of the databases are different, and from what we've read, we really didn't need to do a full import including SYSTEM anyway. We also came across a solution telling us:
    "If you are not using Replication on the target database, these errors can be ignored. However, you should subsequently remove all the replication objects by running:
    $ORACLE_HOME/rdbms/admin/catrepr.sql, then catproc.sql"
    What I was wondering was if someone could validate that running these scripts and ignoring the errors will be ok, or if they'll cause us issues further down the line.
    In case its needed, heres my Export parameter file
    "FULL=Y
    DIRECT=Y
    LOG=E:\Exports\DC20\Log\expDC20.LOG
    FILE=E:\Exports\DC20\Data\DC20.DMP"
    and heres my Import parameter file
    "FULL=Y
    COMMIT=Y
    GRANTS=N
    IGNORE=Y
    BUFFER=500000
    FILE=E:\Imports\SD20\data\SD20.dmp
    LOG=E:\imports\SD20\log\impSD20.LOG"
    Thanks for your help!

    Thanks Neil, we did already see this note and added it to our list of possible solutions. After we found this one, we also found the one I quoted, which would seem to be the path of least resistance (it would save a good 10 hours in import time if nothing else).
    However, if we can't do what I'm asking about in my original post however, the note you mentioned will be our next route..

  • Approval Action within a Deferred Task doesn't work

    Following is what I'm attempting to do :-
    1) Set a deferred task on the user to remove certain portion of his
    access on a particular date/time.
    2) The deferred task when executed has an activity for "approval" from
    a person after which the actual access removal happens.
    What happens is that workflow execution enters the approval activity and exits without creating the approval workitem. To eliminate any
    problems with the custom code for approval activity I substituted the custom deferred task with out-of-box approval activity in a simple
    TaskDefinition containing only the approval with approver's accountId hard-coded etc but even then the approval activity is skipped without
    creating the workitem that is to say that it proceeds to the next action without creating a workitem. If I run the same task directly via processLaunch.jsp it runs fine and creates workitem as expected. This suggests that approvals do not work inside deferred tasks. Is that true ? Has anyone created a working deferred task with an approval in it ?
    Please Help !

    Raoul,
    Thank you, I've had to do that with email specifically.  I guess I'm wondering if there's a distinction between external emailing, and tasks.  Based on the MS documentation, and the ability to configure tasks for external users in the web app configuration,
    I was hoping that tasks are different, but perhaps not.  I wonder if someone from MS could chime in on this?
    Thank you,
    Chad

  • .csv flat file loading data issue

    Environment: SQL Server 2008 R2
    Purpose: Load source data which are stored in a csv file to the destination table
    Problem: After setting up flat file transformation, including the columns in the output alias, see the following picture:
    ,because SSIS set datatype to 50 char while the length is 65. I also set up response string filed to 100 in the destination table, An error message showed as the following picture
    What I could do differently to overcome this issue. please advise

    There are a number of them but not associated with that field
    [SSIS.Pipeline] Warning: Warning: Could not open global shared memory to communicate with performance DLL; data flow performance counters are not available.  To resolve, run this package as an administrator, or on the system's console.
    1. [Flat File Source [511]] Error: Data conversion failed. The data conversion for column "Version_cd" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.".
    2. [Flat File Source [511]] Error: The "output column "Version_cd" (604)" failed because truncation occurred, and the truncation row disposition on "output column "Version_cd" (604)" specifies failure on truncation.
    A truncation error occurred on the specified object of the specified component.
    3. [Flat File Source [511]] Error: An error occurred while processing file "C:\Users\data\ETL files\dummydata.csv" on data row 2.
    4. [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Flat File Source" (511) returned error code 0xC0202092.  The component returned a failure code when the pipeline engine called PrimeOutput().
    The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.
    5. Task Data Flow Task failed

Maybe you are looking for

  • How to register one MBean inside another MBean

    Hi All, When i try to register one MBean(DynMBean1) inside another(DynMBean2) by passing object name of this MBean as attribute to the other MBean,iam getting the following error: Following shows the adapter interface List of MBean attributes: Name T

  • How to view higher frequencies in Soundbooth CS5

    I am using a zoom h2 portable recorder and set the settings to 96khz at 24bit. But I load the audio file into Soundbooth CS5 it only shows up 10khz in the Spectral Frequency Display. How do I view above that? I would like to see all the way up to 96,

  • Issue with Selection Listener when the table has only one row

    Hi All , I have developed a table in which I am using Selection Listener to perform some task when any row is selected. It is working fine when I have more than 1 row in the table, but when I have only one row in the table , the selection listener do

  • HT1199 Menu bar will not display time

    My menu wsuddenly no longer displys time and other things on the top right of the menu bar. I have gone in and reset time and even locked it but still does not display time and is then unlocked when I return to try again. Help!

  • Is there a PC Card / cardbus option to get lightpipe?  (Optical I/O?

    Any PC Card/cardbus out there for my PowerBook G4 that gives me Light pipe In/Out? I'm wanting to run QLab to my Yamaha 01v digital mixer, and want the sound to stay digital (via optical cable to my ADAT input on mixer). I could use some device like