How to track agents and there actions at all levels in a workflow

Hi All,
We have a requiement where in the task description we are
required to give the details of the people who had executed the workflow and the action they have taken.
That is suppose  a user approves or rejects a workiitem.
Then the another user who recieves the workitem should know
who the previous users were and what action they had taken
The previous agent who executed the work item can be identified, but we don't know how to identify what action did the previous user has taken.
Thanks and Regards
Shraddha

You can make use of WI_ACTUAL_AGENT container element of the respective task container in order to know who has executed the last workitem.
Thanks
Arghadip

Similar Messages

  • How to find Latch and what actions need to be taken when there is a latch

    Hi
    Can you please tell me how to find Latch and what actions need to be taken when there is a latch?
    Thanks
    Regards,
    RJ.

    1. What is a latch?
    Latches are low level serialization mechanisms used to protect shared
    data structures in the SGA. The implementation of latches is operating
    system dependent, particularly in regard to whether a process will wait
    for a latch and for how long.
    A latch is a type of a lock that can be very quickly acquired and freed.
    Latches are typically used to prevent more than one process from
    executing the same piece of code at a given time. Associated with each
    latch is a cleanup procedure that will be called if a process dies while
    holding the latch. Latches have an associated level that is used to
    prevent deadlocks. Once a process acquires a latch at a certain level it
    cannot subsequently acquire a latch at a level that is equal to or less
    than that level (unless it acquires it nowait).
    2. Latches vs Enqueues
    Enqueues are another type of locking mechanism used in Oracle.
    An enqueue is a more sophisticated mechanism which permits several concurrent
    processes to have varying degree of sharing of "known" resources. Any object
    which can be concurrently used, can be protected with enqueues. A good example
    is of locks on tables. We allow varying levels of sharing on tables e.g.
    two processes can lock a table in share mode or in share update mode etc.
    One difference is that the enqueue is obtained using an OS specific
    locking mechanism. An enqueue allows the user to store a value in the lock,
    i.e the mode in which we are requesting it. The OS lock manager keeps track
    of the resources locked. If a process cannot be granted the lock because it
    is incompatible with the mode requested and the lock is requested with wait,
    the OS puts the requesting process on a wait queue which is serviced in FIFO.
    Another difference between latches and enqueues is that
    in latches there is no ordered queue of waiters like in enqueues. Latch
    waiters may either use timers to wakeup and retry or spin (only in
    multiprocessors). Since all waiters are concurrently retrying (depending on
    the scheduler), anyone might get the latch and conceivably the first one to
    try might be the last one to get.
    3. When do we need to obtain a latch?
    A process acquires a latch when working with a structure in the SGA
    (System Global Area). It continues to hold the latch for the period
    of time it works with the structure. The latch is dropped when the
    process is finished with the structure. Each latch protects a different
    set of data, identified by the name of the latch.
    Oracle uses atomic instructions like "test and set" for operating on latches.
    Processes waiting to execute a part of code for which a latch has
    already been obtained by some other process will wait until the
    latch is released. Examples are redo allocation latches, copy
    latches, archive control latch etc. The basic idea is to block concurrent
    access to shared data structures. Since the instructions to
    set and free latches are atomic, the OS guarantees that only one process gets
    it. Since it is only one instruction, it is quite fast. Latches are held
    for short periods of time and provide a mechanism for cleanup in case
    a holder dies abnormally while holding it. This cleaning is done using
    the services of PMON.
    4. Latches request modes?
    Latches request can be made in two modes: "willing-to-wait" or "no wait". Normally,
    latches will be requested in "willing-to-wait" mode. A request in "willing-to-wait" mode
    will loop, wait, and request again until the latch is obtained. In "no wait" mode the process
    request the latch. If one is not available, instead of waiting, another one is requested. Only
    when all fail does the server process have to wait.
    Examples of "willing-to-wait" latches are: shared pool and library cache latches
    A example of "no wait" latches is the redo copy latch.
    5. What causes latch contention?
    If a required latch is busy, the process requesting it spins, tries again
    and if still not available, spins again. The loop is repeated up to a maximum
    number of times determined by the initialization parameter SPINCOUNT.
    If after this entire loop, the latch is still not available, the process must yield
    the CPU and go to sleep. Initially is sleeps for one centisecond. This time is
    doubled in every subsequent sleep.
    This causes a slowdown to occur and results in additional CPU usage,
    until a latch is available. The CPU usage is a consequence of the
    "spinning" of the process. "Spinning" means that the process continues to
    look for the availability of the latch after certain intervals of time,
    during which it sleeps.
    6. How to identify contention for internal latches?
    Relevant data dictionary views to query
    V$LATCH
    V$LATCHHOLDER
    V$LATCHNAME
    Each row in the V$LATCH table contains statistics for a different type
    of latch. The columns of the table reflect activity for different types
    of latch requests. The distinction between these types of requests is
    whether the requesting process continues to request a latch if it
    is unavailable:
    willing-to-wait If the latch requested with a willing-to-wait
    request is not available, the requesting process
    waits a short time and requests the latch again.
    The process continues waiting and requesting until
    the latch is available.
    no wait If the latch requested with an immediate request is
    not available, the requesting process does not
    wait, but continues processing.
    V$LATCHNAME key information:
    GETS Number of successful willing-to-wait requests for
    a latch.
    MISSES Number of times an initial willing-to-wait request
    was unsuccessful.
    SLEEPS Number of times a process waited a requested a latch
    after an initial wiling-to-wait request.
    IMMEDIATE_GETS Number of successful immediate requests for each latch.
    IMMEDIATE_MISSES Number of unsuccessful immediate requests for each latch.
    Calculating latch hit ratio
    To get the Hit ratio for latches apply the following formula:
    "willing-to-wait" Hit Ratio=(GETS-MISSES)/GETS
    "no wait" Hit Ratio=(IMMEDIATE_GETS-IMMEDIATE_MISSES)/IMMEDIATE_GETS
    This number should be close to 1. If not, tune according to the latch name
    7. Useful SQL scripts to get latch information
    ** Display System-wide latch statistics.
    column name format A32 truncate heading "LATCH NAME"
    column pid heading "HOLDER PID"
    select c.name,a.addr,a.gets,a.misses,a.sleeps,
    a.immediate_gets,a.immediate_misses,b.pid
    from v$latch a, v$latchholder b, v$latchname c
    where a.addr = b.laddr(+)
    and a.latch# = c.latch#
    order by a.latch#;
    ** Given a latch address, find out the latch name.
    column name format a64 heading 'Name'
    select a.name from v$latchname a, v$latch b
    where b.addr = '&addr'
    and b.latch#=a.latch#;
    ** Display latch statistics by latch name.
    column name format a32 heading 'LATCH NAME'
    column pid heading 'HOLDER PID'
    select c.name,a.addr,a.gets,a.misses,a.sleeps,
    a.immediate_gets,a.immediate_misses,b.pid
    from v$latch a, v$latchholder b, v$latchname c
    where a.addr = b.laddr(+) and a.latch# = c.latch#
    and c.name like '&latch_name%' order by a.latch#;
    8. List of all the latches
    Oracle versions might differ in the latch# assigned to the existing latches.
    The following query will help you to identify all latches and the number assigned.
    column name format a40 heading 'LATCH NAME'
    select latch#, name from v$latchname;

  • How to Track DDL and DML Operations happening in Backend into Log Files....

    Hi I have one requirement for Tracking the DDL And DML Operation happening in Backend once the user Inserts or Updates any Table.How to Implement the same can anyone proviode the code for the same.
    Ex: I have multiple tables in my database if any user fires the DDL or DML it should make entry in the Log file as
    Name of the Table Operation Timestamp
    X Insert DD-MM-YYYY HH24:MM:SS
    Y Update DD-MM-YYYY HH24:MM:SS
    Z Delete DD-MM-YYYY HH24:MM:SS
    L Select DD-MM-YYYY HH24:MM:SS
    Is it Possible to Develop it through Procedure,Function or Package,please give me Idea,,,,,

    Please do not post same question in multiple forum. How to Track DDL and DML Operations happening in Backend into Log Files....
    What's wrong with the answers posted in the above forum ? Do you go through the "AUDIT" option as suggested in the above post by various members ?

  • How to track face and allocate lips in face using labview

    My final year project is "Text Input System developed by Lips Image Recognition based on Labview for Serious Disabled".
    In this, image of person's face will be acquired by CCD camera.. Then it has stages like face tracking, lips area allocation and extraction and further processing.
    Then the status of mouth-open or mouth-close will be acquired in binary format as 1 & 0 respectively..This information will be given to MORSE CODE TEXT INPUT SYSTEM which will convert morse code into english text...I am having problem in developing program to track face and allocate lips area...Kindly help...
    Attachments:
    Lips Image Recognition.pdf ‏808 KB

    ok sir...the first program has been developed by me and it contains error...and i am not able to identify the same...
    Attachments:
    Extraction of color planes.vi ‏163 KB
    Changes made in program.vi ‏111 KB

  • How to track face and allocate lips in the face using labview

    My final year project is "Text Input System developed by Lips Image Recognition based on Labview for Serious Disabled".
    In this, image of person's face will be acquired by CCD camera.. Then it has stages like face tracking, lips area allocation and extraction and further processing.
    Then the status of mouth-open or mouth-close will be acquired in binary format as 1 & 0 respectively..This information will be given to MORSE CODE TEXT INPUT SYSTEM which will convert morse code into english text...I am having problem in developing program to track face and allocate lips area...Kindly help...
    Attachments:
    Lips Image Recognition.pdf ‏808 KB

    You would probably get more useful responses by posting in the Machine Vision board.
    Lynn

  • In my Thunderbd 24.4.0-Windows7-how can I copy and save to DVD all the emails? Unlike in previous Thundrbd they no longer come up in Defaults under Mail.

    In my win XP, after Profiles to Default with all those numbers, then Mail, up came Local Folders which contained all the current emails, which were then easily open-able and save-able.
    How can I now do the same with my newer thunderbird on my windows 7?
    Thank you

    Thank you - I now can find the Mail folder, and then only when I select : pop3.virginmedia-1.com (my server) from it's 3 choices, does it show all my email folders. They are all in 2 versions. Those ending .msf I cannot open as they are "not a valid Win 32 application". The others with a little page icon, do all open - in Wordpad or Libreoffice, but the messages are almost totally lost amongst dozens of complex data pages before and after each little actual message! How can I open and see just the actual email messages without all the vast other data, so that I can then save them to a DVD?
    Thank you,
    Ted

  • Jbo:DataScroller - how to ensure 'First' and 'Last' action links appear

    I'm working in JDeveloper 10.1.3.5.0.
    I'd like to know if there's a way to ensure that the action links 'First' and 'Last' will appear, in addition to the 'Next' and 'Previous' ones (that is, assuming we're not already at the first or last range position).
    It seems as if the thing that determines whether or not they appear is the number of total range positions. I can't be certain, but it seems like the magic number is 1000. If there are fewer, then 'First' and 'Last' will appear, and if there are more, then they will not. It'd be great to be able to have control of this, though. Is it possible?
    Thanks
    Shea

    Encore is being phased out?  I would be surprised if Adobe did not offer some kind of DVD authoring solution in it's place.  I have not heard about this yet myself.
    I have a menu size issue because, despite my reported file size being under 4.7G, Encore continues to report a menu size problem.  Of course it doesn't say which menu or by how much it is exceeded.  When I build it to DVD it waits several hours before reporting that there is a space issue.  See below.
    There is a file called woodstock-1.mp4.  I can find no use of this clip at this point and it's not part of a timeline, yet Encore won't let it be deleted.  Encore reports it's still in use.  Surely there should be some way to track down any dependencies quickly.

  • How to track operation number in action log

    Hi,
    When we make changes in any operation  the change is captured in action log but in action log(or table JCDS) operation no is not captured.
    is there any way by which we can track the operation no also with PM order no.
    Thanks
    Yogesh Gupta

    Well all the details of line item are stored in Line Item Table ( BSEG ) and all the details of the header are stored in BKPF.
    Hope that helps.
    Thanks,
    Nandita

  • How to upoload images and give actions to those images

    Hi,
    I want to upload images to view and want to give action to the image.
    insted of creating a button (for eg : save . instead of creating save button i want to upload an image for the this save and once user clicks on image it shouls perform the action like as save button)
    pls guide me on this.
    Regards,
    Pavani

    Hi,
        The image type can be .jpg or .gif. After putting the image in the folder suggested by Armin, do the following :
    1. Create a link to action
    2. In the properties of  this LTA, make the 'image first' property as true.
    3. Now in the image source property, choose component image and select the desired image (one which you  have already put in the folder)
    4. Now declare the action for the LTA.
    The image would appear on the screen and clicking on it would fire the desired LTA.
    Hope this helps.
    Regards,
    Himanshu

  • How to track Delivery and Read Receipts, to update the e-mail status?

    Hi,
    I got bit confused, How can I came to know that my e-mail has been successfully sent or not without opening my inbox.
    Am sending 50,000 mails per day by using java mail sending program, while sending I am enabled Delivery and Read receipt and I saved message-id in database and I got that receipt back to my inbox.
    Then I am reading my Inbox using another java program based on message-id concept, And also I need to parse the body of the mail to update the reason if any message failed.
    Here my Inbox received more than 1 lac mails per day as receipts. Because am sending 50,000 mails, So, I got 2 receipt mails for 1 mail, totally 50,000*2=1lac mails in Inbox. My problem is, my reading Inbox java program not able read all 1lac mails at one day. It just reading 5,000 mails per day. When my next day mail sending process started, again i am getting another 1 lac receipts.
    Since I am not able to read and delete the receipts completely, mail counts in my inbox getting accumulated. So, I got stuck, How can I do this?
    If anybody have any other ideas please share with me.
    Already I surfed on net lot, but I can`t find solution for this concept.
    Thanks in advance.

    Hi EJP,
    step 2: Taking total inbox length using message.length
    The message count is available via Folder.getMessageCount*().//ok I will try this one.*
    step 3: In for loop, for(i=0; i < = n; i+){+ //--here we are getting mails one by one
    That should be i < n, not i <= n. *//here I was wrongly specified, I used i<n only.*
    step 5: In that mail body we are searching our own unique keyword(which we set for our unique mail reference)
    Searching how?
    In order to find the keyword, we are getting entire text/plain mail body using below method,
    //To get body plain/text body part start here
         public static void getTextPlainBodyPart(Part p) throws Exception {
              if (p.isMimeType("text/plain")) {
                   if (!(showStructure) && !(saveAttachments)){
                       lstr = (String)p.getContent();
              }else if (p.isMimeType("multipart/*")) {
                 Multipart mp = (Multipart)p.getContent();
                 level++;
                  int count = mp.getCount();
                  for (int i = 0; i < count; i++){
                 getTextPlainBodyPart(mp.getBodyPart(i));
                  level--;
    //To get body plain/text body part end hereAbove method will return entire body of the mail in one string variable, Eg: String mailBody;(*mailBody variable contains entire body)*
    Then using mailBody variable we are searching our own keyword(which we set for our unique mail reference while sending mail) using below technique,
    if(lstr.indexOf("!$*#*$") != -1 && lstr.lastIndexOf("$*#*$!") != -1){
    KeyWord = lstr.substring(lstr.indexOf("!$*#*$")+3,lstr.lastIndexOf("$*#*$!"));
    //to get reason alone
    if(lstr.contains("Reason:")){
         Pattern p = Pattern.compile("Reason:\\s([^\\n])*");
    Matcher m = p.matcher(lstr);
    boolean result = m.find();
         while(result) {
            reason = m.group();
             result = m.find();
    //System.out.println("Reason:>>>>"+reason);
    }else{
         reason = "";
    }After getting that keyword in KeyWord variable,
    then we are updating our database using that KeyWord,(here we are using KeyWord variable in where condition in update query)
    Note:_ KeyWord is nothing but, we were stored all our unique keyword against every mails while sending.So, If when get that keyword while reading the receipts,then we can update our table using that same keyword.
    guide how can I do this effieciently. And if you any other new concept please share with me.
    Thanks in advance..
    Edited by: EJP on 17/03/2011 16:54: added code tags. Please use them. Code is 100% illegible otherwise.

  • ITunes screws up track order and randomly screws up volume level

    I'm really starting to regret replacing my 5g video with the classic. The video out issue is one problem, but my biggest issue is my Media Monkey isn't compatible and I had to go back to iTunes. First off I hate using iTunes to manage content. The format ***. But a bigger issue is why does having info in the id3 tag that has nothing to do with the track order of an album screw up the order? I shouldn't have to delete fields like "Album Artist" to get things to sort correctly. Track number should be the ONLY criteria for sorting tracks in an album. The second issue is, I've had problems witrh not being able to hear tracks, no volume. When I check in iTunes it has somehow adjusted the volume to zero for those tracks! I'll be happy when MM updates their software to work with the classic.

    yosarian wrote:
    I don't know what column I am sorting on when I drag the mp3s over to iTunes. It's whatever the default order is when you create a new play list.
    I believe the default is to sort the songs in the order they were added to the playlist. If you want to keep them in track order, you can click on the "Track #" or "Album" column headers.
    As for the built in browser duplicating the individual play lists, how does my ipod know which songs belong together? The artist to album menu? I have never used the browser feature, so will have to play with it when I get home.
    When determining whether songs are part of the same album, I believe iTunes and iPods look at the Album, Album Artist (or Artist if there is none), and Disc # fields, and whether or not the album is marked as a compilation. If all those fields are filled out, there shouldn't be any trouble with the Browser recognizing albums.

  • How to disable Wifi and Network access in low level setting for security ?

    Hi
    New to here
    One of our final customer bought imac last months. OS 10.9, SN is c02*******J4i
    Since they are security printing, all the necessary ports accessing to outisdes need to be disabled in low level setting(not the ons just like turn on and off ).
    The ports including USB storage, Network and WIFI.
    I googled and found the following
    Open the /System/Library/Extensions folder.
    To remove support for USB mass storage devices, drag the following file to the Trash: IOUSBMassStorageClass.kext
    Open Terminal and enter the following command: $ sudo touch /System/Library/Extensions The touch command changes the modified date of the /System/Library/Extensions folder. When the folder has a new modified date, the Extension cache files (located in /System/Library/) are deleted and rebuilt by Mac OS X.
    Choose Finder > Secure Empty Trash to delete the file.
    Restart the system.
    I want to confirm this before sending to final user. Since I didn't have mac on hand, just wonder whether there are similar kext files for network and wifi to remove.
    Just like step 2 described.
    I would like customer to backup these files before permanently removed.
    Many thanks
    Kevin
    <Edited By Host>

    chiqui wrote:
    Is it possible to disable Internet access point and WAP as when I use WiFi some connections to WAP server of my provider are still made and I get charged. I am looking for the option not to delete it entirely from the access point list, but rather disable it as I might need connection when WiFi is not available and I want to be able to enable it as once I delete the server name and setting I won't know it.
    Is it possible to do it and how?
    You could delete WAP accesspoint. Not all providers (carriers) allow this.
    ‡Thank you for hitting the Blue/Green Star button‡
    N8-00 RM 596 V:111.030.0609; E71-1(05) RM 346 V: 500.21.009

  • How can I install and activate extensions for all users

    Hi, within the version 7.0.1 I am able to install noscript extension for example for all users.
    With version 8.0 the extensions are disabled by default, so I do not install it on company computers.
    How can I manage extensions and settings for all users in 9.0?
    Best regards
    Jens

    Hi John,
    I appreciate your prompt response.
    We have an Australian client here in the Philippines and would want to purchase an adobe software under Creative Cloud Licensing.
    Since this type of licensing is not yet available here in the Philippines, they are suggesting that they can purchase it in their country.
    My main concern is, will there be any conflict upon installing/activating an adobe software under Creative Cloud which will be purchased from their country?
    And what are the steps for installing and activating a software under this type of license.

  • How can I capture and take screenshots of all the browser tabs and not only windows ?

    This class identifies all minimized windows and take a snapshot (screenshot) of them. I want to take screenshots also of all the broswer for example chrome tabs windows that are open but not in the front. Same idea that it get now the minimized windows but
    to get the screenshots of the broswer opened tabs ! What should I change in the WindowSnap class? Since both classes are a bit long I added them to pastebin.com
    What i'm doing now is to get all the minimized windows i mean all the the windows in the back if it's chrome browser windows or open tabs if it's program games other windows. This is what i'm doing in form1 constructor:
    this.listBoxSnap.Items.AddRange(WindowSnap.GetAllWindows(true, true).ToArray());
    int numitems = this.listBoxSnap.Items.Count;
    for (int i = listBoxSnap.Items.Count - 1; i >= 0; i--)
    string tt = listBoxSnap.Items[i].ToString();
    if (tt.Contains(" ,"))
    listBoxSnap.Items.RemoveAt(i);
    listBoxSnap is just a regular listBox1 in my form1 designer.
    And this is the WindowSnap class code, it's a bit long code but it's all connected:
    I'm not sure what to show here from this class what is the most important part so i added all the class code to a link to pastebin.com:
    WindowSnap.cs
    What i'm calling/using in form1 constructor from this WindowSnap.cs class is the GetAllWaindows method:
    public static WindowSnapCollection GetAllWindows(bool minimized, bool specialCapturring)
    windowSnaps = new WindowSnapCollection();
    countMinimizedWindows = minimized;//set minimized flag capture
    useSpecialCapturing = specialCapturring;//set specialcapturing flag
    EnumWindowsCallbackHandler callback = new EnumWindowsCallbackHandler(EnumWindowsCallback);
    EnumWindows(callback, IntPtr.Zero);
    return new WindowSnapCollection(windowSnaps.ToArray(), true);
    EnumWindowsCallBackHandler is:
    private delegate bool EnumWindowsCallbackHandler(IntPtr hWnd, IntPtr lParam);
    EnumWindows is:
    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    private static extern bool EnumWindows(EnumWindowsCallbackHandler lpEnumFunc, IntPtr lParam);
    Then i have the class called WindowSnapCollection:
    WindowSnapCollection.cs
    The problem is in form1 constructor i'm getting only 23-24 windows in the listBox1. When i'm doing this two lines:
    this.listBoxSnap.Items.AddRange(WindowSnap.GetAllWindows(true, true).ToArray());
    int numitems = this.listBoxSnap.Items.Count;
    I see in numitems about 30 windows and after filtering i'm getting 20 windows and i checked that's the correct number of opened minmizied windows i have in this example 20.
    Now what i want to do is somehow to get with all this windows in the listBox also all the opened tabs in chrome.
    For exmaple i have only 4 opened chrome windows. But in one of the chrome windows i have almost 40 tabs opened !
    I want somehow to add to the listBox all this opened tabs also as captured screenshots like i'm doing now with the windows.
    This is a screenshot of my program showing what i'm doing and what i get:
    So now i have 19 windows captured in the next refresh it will show 20.
    My question is if there is any way to capture also all the chrome opened tabs in all the windows if any opened tabs are opened at all ? Now i'm getting only the chrome opened windows captured screenshot. But i want to get also the chrome tabs captured screenshots.

    Hi Chocolade1972,
    Since this forum is discussing about Windows Forms general like winform controls, and your issue is related with Windows Desktop SDK, I will move this thread to the more related forum.
    Thanks for your understanding.
    Best Regards,
    Edward
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

  • Rule returns no agent and workitem sent to all users

    Hi,
    In my workflow I have defined a rule fot a workitem. The task is general task. When this rule does not return a possible agent system is sending workitem to all the users in the system.
    I tried to make the task general forwarding not allowed, then the workitem is not triggered saying no agent assigned though my rule results in an agent.
    I can give a user of workflow administrator or dummy user in rule - function module. But what is the standard way of solving this issue. I was expecting the workflow to go into error mode when my rule - function module returns no agent instead its going to the inbox of all users in the system.
    Please advise.
    Best Regards,
    Aleem Mohiuddin.

    In PFAC ubder Rule definition tab...
    You have a chck box for  "Terminate if rule resolution without result"
    Please cheeck this and try.

Maybe you are looking for