EFFICIENT way of escalating an open task

I need to escalate TASKS that are still open after 31 days.
I figure i need 2 workflows to do this.
As i see it right now:
1st WF. Waits for 31 days after the task has been created. On the 31st day it changes a read only field called "escalate" to YES.
2nd WF checks for changes in tasks where: If (Status=OPEN AND escalate<>pre(escalate)) is true then send an escalete email or task.
Is there a more efficient way of doing this?
TIA
Paul

Is there a reason you want two worfklows? Why not put an e-mail action after the Wait on the same workflow? If you check the "Reevaluate Rule Conditions After Wait" checkbox on the Wait action, the workflow rule will be re-evaluated after your 31 days... so it would only send the e-mail message if the Task is still open (assuming your workflow condition is set to look at Status = Open).
Chris

Similar Messages

  • Most efficient way to open a new TextEdit doc at a specific place

    Suppose I've navigated in the Finder to some deep dark location in the folder hierarchy...   I want a new text file titled "notes" in this folder, i.e. to this path.
    Assuming TextEdit is already open, what is the most efficient way of creating and begin adding text to a new TextEdit file in that location?
    Tried this:  Maybe the usual Save dialog is aware of the current folder, so I can choose "New Document" in TextEdit's Dock icon pulldown, and then choose that path when I do File --> Save, choose the Save dialog's expanded view, and pull down the Where: selection.  Nope.  The current path is not there.
    Tried this:  Keeping an empty TextEdit document named untitled on my desktop.  Drag-copying that to the current folder.  Rename the file to "notes", open it, and start editing  That works, except it is clumsy.
    Is there a better way?
    Please forgive me if I'm missing something incredibly obvious.

    The problem with that is a new file has nothing in it.
    If you save a dummy file on the desktop someplace or use a real file in each of your locations, you could right click and duplicate it, then doubleclick to open it in the program of choice.
    Another option would to be to create a AppleScript that took the current open windows pathname and create and save a Textfile there.
    You save the app in the Dock and only have to click on it once, it automatically quits when mission accomplished.

  • Is there any way to make Mail open next message?

    Is there any way to make Mail open the next message on the inbox automatically after deleting, forwarding o saving a message?
    I mean, is there any way to, after reading a message, going to the next or previous message without double clicking the main inbox window?
    I used (on windows) to read mail on outlook, or even on entourage for mac, and after I read a message, even if I deleted it, forward it, replied it, or even saving it on a folder, automatically the program (outlook, entourage, hotmail, etc) opened the next message on the inbox, but I am not able to find any way to make Mail do that.
    Is there a way to it? Or should I provide suggestions to Apple?
    By the way, no meant to prefer microsoft for this, I just think this is a cool feature for reading several messages one after another without going back to the main inbox page and double clicking the message to read...
    Thanks for any help

    Down-arrow, Return. Return opens the selected message. I read through hundreds of messages without ever touching the mouse. Once you get used to the keystrokes, Mail is extremely efficient.

  • Advice needed: Efficient way to scan users

    Hi all,
    I wish to know the efficient way to scan users in Lighthouse. I need to write a workflow that checkout all the users and perform some updates. This workflow should run everyday at midnight.
    I have created a scanner myself. Basically what It did are:
    1. call FormUtils.getUsers method to return all users' name into a variable.
    2. loop through this list and call a subprocess workflow to process every user. This subprocess checks out a user view, performs updates, and then checks in view.
    This solution is not efficient at all since it causes my JVM to be Out of Memory. (1G RAM assigned to JVM with about 78,000 users)
    Any advice is highly appreciated. Thank you.
    Steve

    Ok...I know understand what you are doing and why you need this.
    A long, long, long time ago (back in 3.x days) the deferred task scanner was really bad. Its nightly scan would scan ALL users each time. This is fine when your client had 4k users...but not when it has 140k users.
    Additionally, the "set deferred task" function had problems with two tasks with the same name "i.e. disable resource" since it used the name as the xml object name which can not be duplicated.
    soooo, to beat this I rewrote the deferred task handler to allow me to do all of this. Part of this was to add a searchable field called 'nextTaskDate' on the user object. After each workflow this 'date" is updated so it is always correctly populated with the users "next deferred task date"
    each night the scanner runs and querys all users with a nextTaskDate of today. This then gives us a result set that we can iterate over instead of having to list each user and search for tasks. It's a billion times faster.
    Your best bet is to store the task date in miliseconds and make your query a "all users with next task date BEFORE now"...this way if the server is hosed you can execute tasks you may have missed.
    We have an entire re-usable implmentation framework that we have patented (of which this code is a part) that answers most of these types of issues you are bringing up. It makes these implementations much much simpler, faster, scalable and maintainable.
    this make sense?
    Dana Reed
    AegisUSA
    Denver, CO 80211
    [email protected]
    773.412.3782
    "Now hiring best-in-class IdM architects. Inquire via emai"

  • My pdf reezes when I click on COMMENT. I am trying to get at the tools to edit a pdf. If I use the tools from the toolbar, there is no issue, but once I click COMMENT, the document freezes and I have to open Task Manager to crash it. This started in the l

    Sorry, I am new to the type of problem-solution process and I do not know how to edit my first statement. My true statement is below:
    My pdf freezes when I click on COMMENT. I am trying to get at the tools to edit a pdf. If I use the tools from the toolbar, there is no issue, but once I click COMMENT, the document freezes and I have to open Task Manager to crash it. This started in the last seven days (3.31.15).

    I answered your questions below, BUT while I was searching for properties, I found the REPAIR ACROBAT INSTALLATION feature, did the repair and (Voila!) the issue was resolved!
    Thanks for making me search for information.
    Karen
    I am using Acrobat XI Pro, version 11.0.10.32.
    I did not create the file I was working in during the freezes, so I tried a PDF that I created with Adobe and it also freezes when I click on COMMENT. I did discover that the COMMENTS plug-in is loaded. (see image
    I have used COMMENT for years without this issue occurring. It started in the last 2 weeks.
    I could not find Properties under the file menu, but found a security setting in Preferences under the Edit menu. It did not have a way to allow/disallow COMMENT.

  • Most efficient way to do some string manipulation

    Greetings,
    I need to cleanse some data in a string by replacing unsafe characters with encoded equivalents. (FYI, this is for the purpose of transforming "unsafe" characters into encoded values as data inside an XML document).
    The following code accomplishes the task:
    Note that a string "currentValue" contains the data to be cleansed.
    A string, "encodedValue" contains the result.
      for (counter = 0; counter < currentValue.length(); counter++)
        addChar = (currentValue.substring(counter,counter+1));
        if (addChar.equals("<"))
          addChar = "#60;";
        if (addChar.equals(">"))
          addChar = "#62;";
        if (addChar.equals("="))
          addChar = "#61;";
        if (addChar.equals("\""))
          addChar = "#34;";
        if (addChar.equals("'"))
          addChar = "#39;";
        if (addChar.equals("'"))
          addChar = "#39;";
        if (addChar.equals("/"))
          addChar = "#47;";
        if (addChar.equals("\\"))
          addChar = "#92;";
        encodedValue += addChar;
      } // forI'm sure there is a way to make this more efficient. I'm not exactly "new" to java, but I am learning on my own with no formal training and often take a "brute force" approach with my initial effort.
    What would be the most efficient way to re-do the above?
    TIA,
    --Paul Galvin
    Integrated Systems & Services Group

    im a c++ programmer so im not totally up on these java classes either but...from a c++ stand point you might want to consider using the if else statment.
    by using if else, you only test the character until you find the actual "violating" character and skip the rest of the tests.
    also, you might trying using something to check for alphaNumeric cases first and use the continue keyword when you find one. since more of your characters are probably safe than unsafe you can skip all the ifs/if else statement and only do one test on the good characters. (i just looked for a way to test that and i didnt find one. c++ has a function that does that by checking the ascii number range. dont think that works in java. but maybe you can find one, it would reduce the number of tests probably.)
    happy hunting,
    txjump :)

  • Most efficient way to apply Paragraph Style A to Paragraph style B?

    I'm looking for the most efficient way to all
    all aspects of an existing named paragraph style "A" to another named paragraph style "B". I'd especially like to find a keyboard-only way to do this.
    To my surprise,
    Copy Special >
    Paste doesn't seem to copy tab settings...(?) This leads me to suppose that other aspects of the source p'style may not be crossing the Great Paste Divide.
    Over the years I've used a variety of more or less clumsy multi-step, multi-tool "tricks" (including third-party plug-ins) to apply one named paragraph style to another, but knowing FrameMaker as I do I suspect there may be a truly efficient way to do what I want.
    Is there?
    Cheers & thanks,
    Riley

    Arnis:
    8.0p277.
    The Font family and style got Pasted -- that was immediately apparent. And based on all I know about F'Maker, I would've thought the tabs would go over.
    But when I opened the target p'style the Tabs area was completely blank.
    I'm not sure if anything else wasn't making it 'cross the Paste Divide: Once the Tabs weren't Pasted, I fell back to a different, brute-force strategy simply to get around the problem and return to work...
    Moreover, since the structured templates I inherited for this project are full of idiosyncrasies, I'll just file this one away under "The Templates Did It" and hope for better luck the next time I try the Copy Special thing...
    Cheers & thanks for your help,
    Riley

  • Most efficient way to get a  connection from a defined connection -pool [whole message]

    Having recently load-tested the application we are developing I noticed that
    one of the most expensive (time-wise) calls was my fetch of a db-connection
    from the defined db-pool. At present I fetch my connections using :
    private Connection getConnection() throws SQLException {
    try {
    Context jndiCntx = new InitialContext();
    DataSource ds =
    (DataSource)
    jndiCntx.lookup("java:comp/env/jdbc/txDatasource");
    return ds.getConnection();
    } catch (NamingException ne) {
    myLog.error(this.makeSQLInsertable("getConnection - could not
    find connection"));
    throw new EJBException(ne);
    In other parts of the code, not developed by the same team, I've seen the
    same task accomplished by :
    private Connection getConnection() throws SQLException {
    return DriverManager.getConnection("jdbc:weblogic:jts:FTPool");
    From the performance-measurements I made the latter seems to be much more
    efficient (time-wise). To give you some metrics:
    The first version took a total of 75724ms for a total of 7224 calls which
    gives ~ 11ms/call
    The second version took a total of 8127ms for 11662 calls which gives
    ~0,7ms/call
    I'm no JDBC guru som i'm probably missing something vital here. One
    suspicion I have is that the second call first find the jdbc-pool and after
    that makes the very same (DataSource)
    jndiCntx.lookup("java:comp/env/jdbc/txDatasource") in order to fetch the
    actual connection anyway. If that is true then my comparison is plain wrong
    since one call is part of the second. If not, then the second version sure
    seems a lot faster.
    Apart from the obvious performance-differences in the two above approaches,
    is there any other difference one should be aware of (transaction-context
    for instance) between the two ? Basically I'm working in an EJB-environment
    on weblogic 7.0 and looking for the most efficient way to get hold of a
    db-connection in code. Comments anyone ?
    //Linus Nikander - [email protected]

    Linus Nikander wrote:
    Thank you for both your replies. As per your suggestions I've improved my
    connectionhandling (I ended up implementing the Service Locator pattern as a
    matter of fact).
    One thing still puzzles me though. Which (and why) is the "proper" way to
    fetch the actual dataSource. As I stated before in the code I've seen two
    approaches within the code I've got.
    1. myDs = myServiceLocator.getDataSource("jdbc:weblogic:jts:FTPool");
    2. myDs = myServiceLocator.getDataSource("java:comp/env/jdbc/tgsDB");
    where getDataSource does a dataSource = (DataSource)
    initialContext.lookup(dataSourceName); dataSourceName being the input-string
    obviously.
    tgsDB is defined as
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jdbc/tgsDB</res-ref-name>
    <jndi-name>tgs-dataSource</jndi-name>
    </resource-description>
    </reference-descriptor>
    in weblogic-ejb-jar.xml
    From what I can understand by your answer, you don't recommend using the
    JNDI-lookup way of getting the connection at all ?Correct.
    The service locator that
    I implemented will still perform a JNDI lookup, but only once. Will the fact
    that I'm talking to an RMI-object anyway significantly impact performance
    (when compared to you non-jndi-method) ?In some cases, for earlier 7.0s, maybe yes. For the very latest, it shouldn't
    hurt.
    >
    >
    In my two examples above. If i use version 1. How will the server know
    whether to give me a TX-bound connection and when not to ? In version 1
    FTPool maps to a pool with both TX and non-TX datasources. In version 2.
    tgsDB maps directly to a TX-dataSource.
    I might be asking a lot of strange questions, probably because I'm just
    getting the hang of all the resource-reference issues that EJBs are
    associated with.Bear with me ;)
    //Linus
    "Joseph Weinstein" <[email protected]> wrote in message
    news:[email protected]...
    Hi. As Jon said, the lookups are redundant. Because you showed that otherway,
    I will infer that this code is always being run in serverside code. Good.I will give you
    a third way which is much better than either of the ones you showed. Thefirst method
    you showed has a problem for all but the latest sps, your jdbc objectswill all be
    going through an unnecessary level of indirection because you are gettingan rmi jdbc
    object which talks to the jts driver object.
    The second, faster method you showed also has a serious problem! Oneshould
    never call DriverManager methods in multithreaded JDBC programs becauseall
    DriverManager calls are class-synchronized, including some small internalones like
    DriverManager.println(), which all JDBC drivers and even the constructorfor
    SQLException call, so one slow getConnection() call can inadvertantly haltall other
    JDBC being done in the whole JVM! Also, for JVMs that have lots of jdbcdrivers
    registered, DriverManager is inefficient because it simply sends your URLand
    properties to every driver it has registered until it finds one thatdoesn't throw an
    exception and returns a connection.
    Here's the fastest way:
    // do once and reuse driver object everywhere. Can be used by multiplethreads
    Driver d =(Driver)Class.forName("weblogic.jdbc.jts.Driver").newInstance();
    Then, whenever you want a connection:
    public myJDBCMethod()
    Connection c = null; // always a method level object
    try {
    c = d.connect("jdbc:weblogic:jts:FTPool", null);
    ... do all the jdbc for the method...
    c.close();
    c = null;
    catch (Exception e) {
    ... do whatever, if needed...
    finally {
    // close connection regardless of failure or exit path
    if (c != null) try {c.close();}catch (Exception ignore){}
    Joe
    Linus Nikander wrote:
    Having recently load-tested the application we are developing I noticed
    that
    one of the most expensive (time-wise) calls was my fetch of adb-connection
    from the defined db-pool. At present I fetch my connections using :
    private Connection getConnection() throws SQLException {
    try {
    Context jndiCntx = new InitialContext();
    DataSource ds =
    (DataSource)
    jndiCntx.lookup("java:comp/env/jdbc/txDatasource");
    return ds.getConnection();
    } catch (NamingException ne) {
    myLog.error(this.makeSQLInsertable("getConnection - couldnot
    find connection"));
    throw new EJBException(ne);
    In other parts of the code, not developed by the same team, I've seenthe
    same task accomplished by :
    private Connection getConnection() throws SQLException {
    return DriverManager.getConnection("jdbc:weblogic:jts:FTPool");
    From the performance-measurements I made the latter seems to be muchmore
    efficient (time-wise). To give you some metrics:
    The first version took a total of 75724ms for a total of 7224 callswhich
    gives ~ 11ms/call
    The second version took a total of 8127ms for 11662 calls which gives
    ~0,7ms/call
    I'm no JDBC guru som i'm probably missing something vital here. One
    suspicion I have is that the second call first find the jdbc-pool andafter
    that makes the very same (DataSource)
    jndiCntx.lookup("java:comp/env/jdbc/txDatasource") in order to fetch the
    actual connection anyway. If that is true then my comparison is plainwrong
    since one call is part of the second. If not, then the second versionsure
    seems a lot faster.
    Apart from the obvious performance-differences in the two aboveapproaches,
    is there any other difference one should be aware of(transaction-context
    for instance) between the two ? Basically I'm working in anEJB-environment
    on weblogic 7.0 and looking for the most efficient way to get hold of a
    db-connection in code. Comments anyone ?
    //Linus Nikander - [email protected]

  • SQL help: Selecting tickets with no open tasks

    Hi Gurus,
    I'm new to SQL. I need your help in a script where I need to fetch the tickets with no open tasks.
    Say, following is the Task table
    Table: Task
    | ticketid | taskid | taskstatus |
    | 1 | 1 | O |
    | 1 | 2 | O |
    | 1 | 3 | O |
    | 2 | 4 | C |
    | 2 | 5 | C |
    | 3 | 6 | C |
    | 3 | 7 | O |
    The query should return the ticketid(s) with all its taskstatus = 'C'.
    Any help would be highly appreciated.
    Thanks

    Hi Surya,
    Here's an Oracle style example (Sorry, I just can't do that ansi stuff)
    SQL> with ticket as (select 1 ticketid, 'C' reason from dual union all
                    select 2 ticketid, 'O' reason from dual union all
                    select 3 ticketid, 'O' reason from dual union all
                    select 4 ticketid, 'C' reason from dual)
    ,taskstatus as (select 1 taskstatusid, 'O' taskstatus from dual union all
                    select 2 taskstatusid, 'C' taskstatus from dual union all
                    select 3 taskstatusid, 'P' taskstatus from dual union all
                    select 4 taskstatusid, 'F' taskstatus from dual union all
                    select 5 taskstatusid, 'O' taskstatus from dual union all
                    select 6 taskstatusid, 'C' taskstatus from dual union all
                    select 7 taskstatusid, 'P' taskstatus from dual union all
                    select 8 taskstatusid, 'F' taskstatus from dual)
          ,task as (select 1 ticketid,  1 taskid, 2 taskstatusid from dual union all
                    select 1 ticketid,  2 taskid, 3 taskstatusid from dual union all
                    select 1 ticketid,  3 taskid, 4 taskstatusid from dual union all
                    select 1 ticketid,  4 taskid, 4 taskstatusid from dual union all
                    select 2 ticketid,  5 taskid, 1 taskstatusid from dual union all
                    select 2 ticketid,  6 taskid, 1 taskstatusid from dual union all
                    select 2 ticketid,  7 taskid, 1 taskstatusid from dual union all
                    select 3 ticketid,  8 taskid, 2 taskstatusid from dual union all
                    select 3 ticketid,  9 taskid, 2 taskstatusid from dual union all
                    select 3 ticketid, 10 taskid, 6 taskstatusid from dual union all
                    select 4 ticketid, 11 taskid, 2 taskstatusid from dual union all
                    select 4 ticketid, 12 taskid, 6 taskstatusid from dual union all
                    select 4 ticketid, 13 taskid, 4 taskstatusid from dual union all
                    select 4 ticketid, 14 taskid, 8 taskstatusid from dual)
    select a.ticketid, c.taskstatus
      from  task a, ticket b, taskstatus c
    where a.ticketid = b.ticketid
       and c.taskstatusid = a.taskstatusid
       and (c.taskstatus = 'C' or c.taskstatus = 'F')
       and b.reason = 'C'     
       and not exists (select null
                         from task a1, taskstatus c1
                        where a1.ticketid = a.ticketid
                          and c1.taskstatusid = a1.taskstatusid
                          and (c1.taskstatus = 'O' or c1.taskstatus = 'P'))
    order by 1,2
      TICKETID T
             4 C
             4 C
             4 F
             4 F
    4 rows selected.Please note, how I made test data, that way is much more helpful than your tables
    Regards
    Peter

  • Efficient way get FCE4 Log and Transfer to read .mts files stored on drive?

    Hi All
    I've searched the FCE discussion forum and not found an answer verified by more than one user to this question: What is an efficient way to get FCE4 (via the Log and Transfer window) to see .mts files from an AVCHD camera stored on a drive (NOT via the camera -- directly from the drive)?
    I am trying to plan the most space-efficient system possible for storing un-transcoded .mts files from a Panasonic AG-HMC151 on a harddrive so that I can easily ingest them into FCE4. I am shooting a long project and I want to be able to look at .mts files so that I can decide which ones to transcode to AIC for the edit.
    Since FCE4 cannot see .mts files unless they have their metadata wrapper the question is really 'how do I most efficiently transfer .mts files from the camera to a storage harddrive with their metadata wrappers so that FCE4 can see them via the log and transfer window?'
    Nick Holmes, in a reply in this thread
    http://discussions.apple.com/thread.jspa?messageID=10423384&#10423384
    gives 2 options: Use the Disk Utility to make a disk image of the whole SD card, or copy the whole contents of the card to a folder. He says he prefers the first option because it makes sure everything on the card is copied.
    a) Have other FCE users done this successfully and been able to read the .mts files via Log and Transfer?
    In a response to this thread:
    http://discussions.apple.com/thread.jspa?messageID=10257620&#10257620
    wallybarthman gives a method for getting Log and Transfer to see .mts files that have been stored on a harddrive without their metadata wrappers by using Toast 9 or 10.
    b) Have any other FCE4 users used this method? Does it work well?
    c) Why is FCE4 unable to see .mts files without their metadata wrappers in the Log and Transfer window? Is it just a matter of writing a few lines of code?
    d) Is there an archiving / library app. on the market that would allow one to file / name / tag many .mts clips and view them prior to transcoding into space-hungry AIC files in FCE?
    Any/all help would be most gratefully received!

    I have saved the complete file structure on DVD as a backup, but have not needed to open them yet. But I will add this. As I understand the options with Toast you are infact converting the video to AIC or something like it. I haven't looked into it myself, but I can't imagine the extra files are that large, but maybe there are significant, I don't know. The transcoded files are huge in comparison to the AVCHD file.
    A new player on the scene for AVCHD is Clipwrap 2.0. As I understand this product. It rewraps the AVCHD into a wrapper the Quicktime can open and play. This is with the MTS files only, the rest of the file structure is not needed. The rewrap is much faster that the transcode to AIC. So you have the added benefit of being able to play the files as well as not storing the extra files. The 2.0 version (which is for AVCHD) was just recently released. I haven't tried it and don't personally know of anyone who has. You might want to try this, there is a trial version as I recall.

  • The efficient way to repair broken EPM report

    Hi experts,
    I'm looking for the efficient way to repair broken EPM report.
    In following cases, the relevant EPM reports are broken and I can't push "Edit report" (gray out) and lose connection to model...
    i) In removing dimension from a model (ex. rename dimension ID, add & delete it)
    ii) in removing member which is located on page axis of EPM report.
    To avoid the situation, I make a point of taking following measures:
    i) - clean up the dimension that I want to delete from axis of EPM report before remove it from relevant model
    ii) - clean up the member from EPM report before removing it.
    However these measures terribly bothered me if number of relevant EPM reports is too large... If these reports can connect to model or be able to "Edit report", the work will be more efficient.
    Do you mind if you tell me a good idea?
    Regards,
    Masa

    Hi Vadim,
    Here's the example in appearing issue ii).
    No i) is my misconception, sorry...
    in opening the broken EPM report:
    This dialog appears if the member that has already removed is located in pase axis. Unfortunately, this broken report isn't able to execute "Edit Report".
    My question is how I can repair the report by something to do. Please help me...
    Best regards,
    Masa

  • I have to open Task Manager to quit the Firefox process almost every time b4 it will shut down I just uninstalled & downloaded another copy/version & will reinstall again. Thought you would want to know. I am anjulz on comcast

    I have to open Task Manager & quit the Firefox process manually b4 it will stop. When I did it the last time b4 I just uninstalled my memory usage was up to like over 300,000 with only 1 tab open. Just downloaded another copy/version & will reinstall. Hopefully this will stop the problem. thought you would want to know this.

    The proper way to close Firefox is through the File menu "Exit" or the equivalent with the Firefox button.
    More detail in item '''#38 Firefox already running '''
    of
    [http://dmcritchie.mvps.org/firefox/firefox-problems.htm#fx4interface Fix Firefox 4.0 toolbar user interface, problems (Make Firefox 4.0 look like 3.6) (#fx4interface)]
    Firefox already running, to properly shutdown Firefox when closing the last window use File → Exit/Quit (or Firefox button → Exit). Closing Firefox with the [X] in the upper right corner closes the window ("Ctrl+W") but that does not necessarily close Firefox if it has subtasks running. If you want to close and reopen Firefox use the "Restart" within Add-ons if you made a change requiring a restart, or install "[https://addons.mozilla.org/firefox/addon/restartless-restart/ Restartless Restart]" ("Ctrl+Alt+R") which will allow you to take Firefox down and restart without having to check the Windows Task Manager to see if Firefox first actually ended. [http://kb.mozillazine.org/Firefox_hangs Firefox hangs]

  • MDX - More efficient way?

    Hi
    I am still learning MDX and have written this code. It needs to recalculate all employees in a cost center (COSTCENTER is a property of the DIM EMPLOYEE) when one of the assumptions (e.g P00205 etc) change. These assumptions are planned on cost center level and planned against employee DUMMY. Is there a more efficient way to write this code as there are lots of accounts that needs to be posted to::
    *SELECT (%EMPLOYEE%, ID, EMPLOYEE, [COSTCENTER]  = %COSTCENTER_SET%)
    //Workmens Comp
    *XDIM_MEMBERSET P_ACCT = "IKR0000642000"
    *FOR %EMP% = %EMPLOYEE%   
             [EMPLOYEE].[#%EMP%] = ( [P_ACCT].[P00205],[EMPLOYEE].[DUMMY ]) * ( [P_ACCT].[P00400],[EMPLOYEE].[%EMP%] )
    *NEXT
    *COMMIT
    //Fringe Benefits Employer
    *XDIM_MEMBERSET P_ACCT = "IKR0000628100" 
    *FOR %EMP% = %EMPLOYEE%
             [EMPLOYEE].[#%EMP%] = ( [P_ACCT].[P00210],[EMPLOYEE].[DUMMY ]) * ( [P_ACCT].[P00400],[EMPLOYEE].[%EMP%] )
    *NEXT
    *COMMIT
    //Fringe Benefits Other
    *XDIM_MEMBERSET P_ACCT = "IKR0000626100" 
    *FOR %EMP% = %EMPLOYEE%
             [EMPLOYEE].[#%EMP%] = ( [P_ACCT].[P00209],[EMPLOYEE].[DUMMY ]) * ( [P_ACCT].[P00400],[EMPLOYEE].[%EMP%] )
    *NEXT
    *COMMIT

    Maybe the following?
    *SELECT (%EMPLOYEE%, ID, EMPLOYEE, [COSTCENTER]  = %COSTCENTER_SET%)
    *XDIM_MEMBERSET EMPLOYEE = %EMPLOYEE%
    *XDIM_MEMBERSET P_ACCT = IKR0000642000,IKR0000628100,IKR0000626100
    //Workmens Comp
    [P_ACCT].[#IKR0000642000] = ( [P_ACCT].[P00205],[EMPLOYEE].[DUMMY] ) * ( [P_ACCT].[P00400] )
    //Fringe Benefits Employer
    [P_ACCT].[#IKR0000628100] = ( [P_ACCT].[P00210],[EMPLOYEE].[DUMMY] ) * ( [P_ACCT].[P00400] )
    //Fringe Benefits Other
    [P_ACCT].[#IKR0000626100] = ( [P_ACCT].[P00209],[EMPLOYEE].[DUMMY] ) * ( [P_ACCT].[P00400] )
    *COMMIT
    You should probably also restrict explicitly on all other dimensions in your applications so that none are accidentally left open that don't need to be.
    Ethan

  • SQL to manually complete bulk open tasks

    Hi,
    I am using OIM 9.1.0. The below sql is giving all open tasks that were created on a perticular day.
    SELECT USR_LOGIN,
    OSI.MIL_KEY,
    sch.sch_key,
    SCH.SCH_STATUS,
    OSI.OSI_RETRY_ON,
    MIL.MIL_NAME,SCH.*,OSI.*
    FROM OSI,
    SCH,
    MIL,
    USR,
    ORC
    WHERE SCH_CREATE >=TO_DATE('04/23/2012','MM/DD/YYYY')
    AND SCH.SCH_STATUS='R'
    AND OSI.SCH_KEY = SCH.SCH_KEY
    AND OSI.MIL_KEY = MIL.MIL_KEY
    AND OSI.ORC_KEY = ORC.ORC_KEY
    AND ORC.USR_KEY = USR.USR_KEY;
    However when I run the below SQL to complete these open tasks manually, these tasks are not getting completed. Please let me know the sql to manully complete bulk open tasks.
    update sch set sch_status='MC' where sch_key=(select sch.sch_key
    FROM OSI,
    SCH,
    MIL,
    ORC
    WHERE SCH_CREATE >=TO_DATE('04/23/2012','MM/DD/YYYY')
    AND SCH.SCH_STATUS='R'
    AND OSI.SCH_KEY = SCH.SCH_KEY
    AND OSI.MIL_KEY = MIL.MIL_KEY
    AND OSI.ORC_KEY = ORC.ORC_KEY);

    It is not recommended to manipulate OIM data using SQLs. It is against Audit. If we don't have any other way then only we go for SQLs.
    http://otndnld.oracle.co.jp/document/products/id_mgmt/idm_904/doc_cd/javadocs/operations/Thor/API/Operations/tcProvisioningOperationsIntf.html#setTasksCompletedManually%28long[]%29

  • Closing an open task programatically

    HI,
    I have created a custom component in order to establish connection to BPM .
    The flow is such that , the connection gets established and i need to fetch the tasks based on the workflowInstance and user ID specified.
    I am able to fetch the tasks from which i extract the task state.
    Need to close the state of an open task i.e need to update the state of the task to close. Not able to do it.
    How do i achieve this?
    This is the piece of code that is supposed to perform the functionality.
    Please have a look and provide your inputs in order to achieve the needed.
    Function Call:
    this.updateTaskOutCome(task1, "CLOSE");
    Function Defnition:
    public int updateTaskOutCome(final task,
                                     final String outcome) {
            // variable to show success or failure
            int success = 0;
            // creating reference for TaskQueryService
            TaskQueryService taskQueryService = null;
            // creating reference for WorkflowContextType for admin context
            WorkflowContextType adminContext = null;
            // creating reference for WorkflowContextType for user context
            WorkflowContextType userContext = null;
            TaskService taskService = null;
            oracle.bpel.services.workflow.task.model.Task outcomeUpdatedTask =
                null;
            CredentialType adminCredentialtype = this.createAdminCredentialType();
            CredentialOnBehalfOfRequestType onBehalfRequestType =
                queryFactory.createCredentialOnBehalfOfRequestType();
            // calling getService method og BPMConnection
            //get taskQueryService Object from BPMConnection
            //taskService = getService("taskAction");
            //creating WorkflowContext for admin
            //setting admin context to onBehalfRequestType
            try {
                taskQueryService = (TaskQueryService)getService("taskQuery");
                adminContext = taskQueryService.authenticate(adminCredentialtype);
                onBehalfRequestType.setOnBehalfOfUser("username");// admin username given
                onBehalfRequestType.setWorkflowContext(adminContext);
                //creating WorkflowContext for user
               userContext= taskQueryService.authenticateOnBehalfOf(onBehalfRequestType);
                // getting BPM Client for performing user actions
                taskService = (TaskService)getService("taskAction");
                // creating UpdateTaskOutcomeType object and setting its property
                UpdateTaskOutcomeType updateTaskOutcomeType =
                    taskActionFactory.createUpdateTaskOutcomeType();
    //            //setting outcome
                updateTaskOutcomeType.setOutcome(outcome);
                //setting task
                updateTaskOutcomeType.setTask(task);
                // setting userContext
               updateTaskOutcomeType.setWorkflowContext(userContext);
                // calling webservice operation for performing user action
                //setting success variable
                outcomeUpdatedTask =
                        taskService.updateTaskOutcome(updateTaskOutcomeType);
            } catch (StaleObjectFaultMessage e) {
                Report.trace("mysectionstring",
                             "inside staleobject fault message catch block", null);
    //        } catch (WorkflowErrorMessage e) {
    //            TaskQueryServiceFaultType faultInfo = e.getFaultInfo();
            } catch (Exception e) {
                e.printStackTrace();
            if (outcomeUpdatedTask != null) {
                success = 1;
            return success;
    Thanks in advance,
    Bharath

    Any one facing similiar issue?
    Could someone please provide some information.
    Thanks,
    Bharath

Maybe you are looking for