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; -
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 KBok 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 KBYou would probably get more useful responses by posting in the Machine Vision board.
Lynn -
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 youThank 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
SheaEncore 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 GuptaWell 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,
PavaniHi,
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
JensHi 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
-
HT1918 how do i remove my credit card information from my apple account
How do i remove my credit card information from my apple account
-
Internal Unit of measurement in J1ILIC01
Hi, While creating Deemed Export Licence thru T.Code J1ILIC01, I came across one issue that when I enter the Material Number it only pics the description of material. However, the UoM is not picked automatically. When I tried to put it manually, it w
-
Error notification for process
Hello I have a pl sql process, and catch an exception in the code. If the Process ready and is an exception thrown I get an success- instead of an error notification. How I can activate the error notification after catching exception? thanks for any
-
How do you identify which iPhone model you are using?
How doyou identify on the phone whch model it is?
-
Unable to open /CS(ContentServer) in Delivery environment in Webcenter Sites?
Hi, I have installed webcenter sites 11.1.1.6 on windows 7 using Single server mode and delivery environment. server_wcs_PRD01 - managed server on which CS application is deployed - port number 7113 server_cas_PRD01 - managed server on which cas appl