//Part -2 301 redirect -------->

My blog has moved! New blog contains all the entries found in this one.

You should be automatically redirected in 8 seconds. If not, visit
http://srinisboulevard.blogspot.com/
and update your bookmarks.

// End Part -2 301 redirect ------>

Saturday, July 11, 2009

Google accounts in Twitter

Google has posted a list of account it has in twitter & on its blog
Here is the link Click here to goto Google post

Thursday, January 08, 2009

How to capture invalid Email address & hot of others things

After a long hiatus from writing in the blog, I am back;
Problem is that, it is difficult to decide whether the post will add value or is it something known to everyone, except me!

This was an interesting issue. What appeared to be a relatively straightforward work, stretched beyond 2 days with no end in sight.
There is a metalink note how to handle this 456378.1
However, this did not mention how to enable the Event - I did not see any way to enable. A little digging showed me that "Create Events" button has to be enabled. Enabled it myself using "FND: Diagnostics" option.
Once the oracle.apps.wf.notification.send.failure event was enabled, ensured that I created a malformed email address. Then created a test email by going to OAM->Workflow Manager -> Service Components -> "NotificationMailer"->View Details -> Test Email. selected my role and that is it. Now Oracle will generate an invalid email address or so I thought.
However, I found that the Notification was still in MAIL Status.
This led to question is the Background Engine on? I need to turn on the Background engine with all the three parameters as Y. No problem. But I need to know the Item type before I can start. Only problem is what is the Workflow Item Type? All I had was the Notification.
The Table WF_ITEM_TYPES_VL carries the Item_Type and is linked to WF_NOTIFICATIONS (WF_ITEM_TYPES_VL.NAME = WF_NOTIFICATIONS.MESSAGE_TYPE) .

I was able to see in the Mailer Log , that Workflow mailer has attempted to send a notification several times. all of them ended up with an error message: "451 Timeout waiting for client input"

Tuesday, April 01, 2008

How to get Employee Supervisor Hierarchy?

I was recently asked this question.
The following script finds the Employee Supervisor Hierarchy:

SELECT paf.person_id, paf.supervisor_id
, LPAD (' ', 2 * LEVEL - 1)
|| SYS_CONNECT_BY_PATH (paf.person_id, '/') PATH
, LEVEL, paf.job_id -- used for linking to hr.per_jobs ,
, paf.effective_start_date, paf.effective_end_date
FROM per_all_assignments_f paf
START WITH paf.person_id = <:person_id>
AND paf.primary_flag = 'Y'
AND paf.assignment_type = 'E'
AND SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date
AND assignment_status_type_id = 1
CONNECT BY PRIOR paf.person_id = paf.supervisor_id
AND paf.primary_flag = 'Y'
AND paf.assignment_type = 'E'
AND SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date
AND assignment_status_type_id = 1

Note: In order to find the Person_id, select Person_id, Last_name, First_name from Per_all_people_f
The above sql will find topdown (Highest Level and follows down)
If you want to start from the lowest level and go all the way to CEO, then change the CONNECT BY clause as mentioned below:
CONNECT BY PRIOR paf.supervisor_id = paf.person_id

Tuesday, March 25, 2008

How to Capture invalid email address?

How can invalid or mal-formed email address (or so called bouncing emails) be captured?

As note: 456378.1 says, after enabling the event WF_MAIL.Disable_Recipient_Ntf_Pref, if a recipient's email address is invalid, an email notification is sent out the SYSADMIN that an email notification could not be sent.
Note:
1. However, this will work only on or after RUP5.
2. Notification preference for SYSADMIN should be MAILHTML or MAIL

to read the complete metalink note, click here

Sunday, March 09, 2008

How To Find Out What Time A Timecard Was Submitted Using Wfstatus.sql

I was recently posed a question: To identify when a timecard was submited?
Easy: Use WFSTATUS.sql
Pass parameters the Internal Type of the Timecard and the Timecard Number (It is also the Expenditure_ID as well as the Item Key)
Reference: Metalink Note: 185820.1