Sunday, March 2, 2008

Designing adhoc roles

I recently came across a code which creates adhoc roles for sending Missing Timecard notifications to Supervisors.
Requirement: Every timecard has to approved by the Project Manager of the Project. If a timecard is not submitted then a notification has to be sent to the Employee and to the PM of that Project.
Issue: The code I saw created one role for every timecard submitted.
Problem is an Employee will work in various projects, may be even during the same time. There is only one approver for each project. So how can you get this resolved?
The Code I saw, creates an adhoc role for every Timecard submitted. Obviously, this will create millions of rows in wf_local_user_roles, since each role created will have at least 2 persons to notify.
My preferred solution: What I would do is either create one role for every project the Employee works for and append the Project Managers to this; or, create a PLSQL table of persons to whom the notifications has to be sent and in the approval workflow, loop till this list is exhausted.

No comments: