118: AND NVL(TRUNC(wlur.expiration_date),l_sysdate) >= l_sysdate;
119:
120: -- Select all inactive records from resource teams table
121: -- whose corresponding records in the workflow local roles
122: -- table (wf_local_roles) are still active.
123: -- These workflow local role records have to be inactivated.
124:
125: CURSOR c_team_wf_del IS
126: SELECT team.team_id, team.team_name, team.email_address
124:
125: CURSOR c_team_wf_del IS
126: SELECT team.team_id, team.team_name, team.email_address
127: ,team.start_date_active, team.end_date_active
128: FROM jtf_rs_teams_vl team, wf_local_roles wlr
129: WHERE NVL(TRUNC(team.end_date_active),l_sysdate) < l_sysdate
130: AND wlr.orig_system_id = team.team_id
131: AND wlr.orig_system = l_team_orig_system
132: AND wlr.name = l_team_orig_system||':'||to_char(team.team_id)
134: OR NVL(TRUNC(wlr.expiration_date),l_sysdate) >= l_sysdate);
135:
136: -- Select all active team records from resource teams table where one
137: -- of the matching columns to the corresponding records in workflow
138: -- local roles table (wf_local_roles) has been modified (not in sync).
139: -- These workflow role records have to be updated with new values.
140:
141: CURSOR c_team_wf_upd IS
142: SELECT team.team_id, team.team_name, team.email_address
141: CURSOR c_team_wf_upd IS
142: SELECT team.team_id, team.team_name, team.email_address
143: ,team.end_date_active, team.start_date_active
144: ,wlr.start_date wlr_start_date, wlr.expiration_date wlr_exp_date
145: FROM jtf_rs_teams_vl team, wf_local_roles wlr
146: WHERE NVL(TRUNC(team.end_date_active),l_sysdate) >= l_sysdate
147: AND wlr.orig_system_id = team.team_id
148: AND wlr.orig_system = l_team_orig_system
149: AND wlr.name = l_team_orig_system||':'||to_char(team.team_id)
172: (wlur.expiration_date IS NOT NULL AND team.end_date_active IS NULL) OR
173: wlur.expiration_date <> team.end_date_active);
174:
175: -- Select all the team records from the resource teams table
176: -- that are still not defined in workflow roles table (wf_local_roles).
177: -- A new record to be created in Workflow roles table, for each team record.
178:
179: CURSOR c_team_wf_crt IS
180: SELECT team.team_id, team.team_name, team.email_address
180: SELECT team.team_id, team.team_name, team.email_address
181: ,team.end_date_active, team.start_date_active
182: FROM jtf_rs_teams_vl team
183: WHERE NVL(TRUNC(team.end_date_active),l_sysdate) >= l_sysdate
184: AND NOT EXISTS (SELECT 1 FROM wf_local_roles wlr
185: WHERE wlr.orig_system_id = team.team_id
186: AND wlr.orig_system = l_team_orig_system
187: AND wlr.name = l_team_orig_system||':'||to_char(team.team_id));
188:
461: AND NVL(TRUNC(wlur.expiration_date),l_sysdate) >= l_sysdate;
462:
463: -- Select all inactive records from resource groups table
464: -- whose corresponding records in the workflow local roles
465: -- table (wf_local_roles) are still active.
466: -- These workflow local role records have to be inactivated.
467:
468: CURSOR c_grp_wf_del IS
469: -- Hints provided based on Perf. Team's recommendations (Jaikumar Bathija).
469: -- Hints provided based on Perf. Team's recommendations (Jaikumar Bathija).
470: SELECT /*+ use_hash(grp.t) use_hash(grp.b) use_hash(wlr) parallel(grp) parallel(wlr) */
471: grp.group_id, grp.group_name, grp.email_address
472: ,grp.start_date_active, grp.end_date_active
473: FROM jtf_rs_groups_vl grp, wf_local_roles wlr
474: WHERE NVL(TRUNC(grp.end_date_active),l_sysdate) < l_sysdate
475: AND wlr.orig_system_id = grp.group_id
476: AND wlr.orig_system = l_grp_orig_system
477: AND wlr.name = l_grp_orig_system||':'||to_char(grp.group_id)
488: SELECT /*+ use_hash(grp.t) use_hash(grp.b) use_hash(wlr) parallel(grp) parallel(wlr) */
489: grp.group_id, grp.group_name, grp.email_address
490: ,grp.end_date_active, grp.start_date_active
491: ,wlr.start_date wlr_start_date, wlr.expiration_date wlr_exp_date
492: FROM jtf_rs_groups_vl grp, wf_local_roles wlr
493: WHERE NVL(TRUNC(grp.end_date_active),l_sysdate) >= l_sysdate
494: AND wlr.orig_system_id = grp.group_id
495: AND wlr.orig_system = l_grp_orig_system
496: AND wlr.name = l_grp_orig_system||':'||to_char(grp.group_id)
523: (wlur.expiration_date IS NOT NULL AND grp.end_date_active IS NULL) OR
524: wlur.expiration_date <> grp.end_date_active);
525:
526: -- Select all the group records from the resource groups table
527: -- that are still not defined in workflow roles table (wf_local_roles).
528: -- A new record to be created in Workflow roles table, for each group record.
529:
530: CURSOR c_grp_wf_crt IS
531: -- Hints provided based on Perf. Team's recommendations (Jaikumar Bathija).
533: grp.group_id, grp.group_name, grp.email_address
534: ,grp.end_date_active, grp.start_date_active
535: FROM jtf_rs_groups_vl grp
536: WHERE NVL(TRUNC(grp.end_date_active),l_sysdate) >= l_sysdate
537: AND NOT EXISTS (SELECT 1 FROM wf_local_roles wlr
538: WHERE wlr.orig_system = l_grp_orig_system
539: AND wlr.orig_system_id = grp.group_id
540: AND wlr.name = l_grp_orig_system||':'||to_char(group_id));
541:
818: AND NVL (expiration_date, l_sysdate) >= l_sysdate;
819:
820: CURSOR c_wf_role_details (l_orig_system_id NUMBER, l_orig_system VARCHAR2, l_name VARCHAR2) IS
821: SELECT display_name, email_address, start_date, expiration_date
822: FROM wf_local_roles
823: WHERE orig_system_id = l_orig_system_id
824: AND orig_system = l_orig_system
825: AND name = l_name
826: AND NVL (expiration_date, l_sysdate) >= l_sysdate;
824: AND orig_system = l_orig_system
825: AND name = l_name
826: AND NVL (expiration_date, l_sysdate) >= l_sysdate;
827:
828: l_user_name wf_local_roles.name%TYPE;
829: l_ind_user_name wf_local_roles.name%TYPE;
830: l_user_orig_system wf_local_roles.orig_system%TYPE;
831: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
832:
825: AND name = l_name
826: AND NVL (expiration_date, l_sysdate) >= l_sysdate;
827:
828: l_user_name wf_local_roles.name%TYPE;
829: l_ind_user_name wf_local_roles.name%TYPE;
830: l_user_orig_system wf_local_roles.orig_system%TYPE;
831: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
832:
833: l_start_date DATE;
826: AND NVL (expiration_date, l_sysdate) >= l_sysdate;
827:
828: l_user_name wf_local_roles.name%TYPE;
829: l_ind_user_name wf_local_roles.name%TYPE;
830: l_user_orig_system wf_local_roles.orig_system%TYPE;
831: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
832:
833: l_start_date DATE;
834: l_end_date DATE;
827:
828: l_user_name wf_local_roles.name%TYPE;
829: l_ind_user_name wf_local_roles.name%TYPE;
830: l_user_orig_system wf_local_roles.orig_system%TYPE;
831: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
832:
833: l_start_date DATE;
834: l_end_date DATE;
835:
832:
833: l_start_date DATE;
834: l_end_date DATE;
835:
836: l_display_name wf_local_roles.display_name%TYPE;
837: l_email_address wf_local_roles.email_address%TYPE;
838: l_expiration_date wf_local_roles.expiration_date%TYPE;
839:
840: log_msg_hdr2 fnd_new_messages.message_text%type := NULL;
833: l_start_date DATE;
834: l_end_date DATE;
835:
836: l_display_name wf_local_roles.display_name%TYPE;
837: l_email_address wf_local_roles.email_address%TYPE;
838: l_expiration_date wf_local_roles.expiration_date%TYPE;
839:
840: log_msg_hdr2 fnd_new_messages.message_text%type := NULL;
841: log_message40 fnd_new_messages.message_text%type := NULL;
834: l_end_date DATE;
835:
836: l_display_name wf_local_roles.display_name%TYPE;
837: l_email_address wf_local_roles.email_address%TYPE;
838: l_expiration_date wf_local_roles.expiration_date%TYPE;
839:
840: log_msg_hdr2 fnd_new_messages.message_text%type := NULL;
841: log_message40 fnd_new_messages.message_text%type := NULL;
842:
1206:
1207: l_end_date_active DATE;
1208: m_end_date_active DATE;
1209: m_start_date_active DATE;
1210: m_role_name wf_local_roles.name%TYPE;
1211: l_user_name wf_local_roles.name%TYPE;
1212: m_user_orig_system wf_local_roles.orig_system%TYPE;
1213: l_user_orig_system wf_local_roles.orig_system%TYPE;
1214: m_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1207: l_end_date_active DATE;
1208: m_end_date_active DATE;
1209: m_start_date_active DATE;
1210: m_role_name wf_local_roles.name%TYPE;
1211: l_user_name wf_local_roles.name%TYPE;
1212: m_user_orig_system wf_local_roles.orig_system%TYPE;
1213: l_user_orig_system wf_local_roles.orig_system%TYPE;
1214: m_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1215: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1208: m_end_date_active DATE;
1209: m_start_date_active DATE;
1210: m_role_name wf_local_roles.name%TYPE;
1211: l_user_name wf_local_roles.name%TYPE;
1212: m_user_orig_system wf_local_roles.orig_system%TYPE;
1213: l_user_orig_system wf_local_roles.orig_system%TYPE;
1214: m_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1215: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1216: l_debug_prefix VARCHAR2(30) := '';
1209: m_start_date_active DATE;
1210: m_role_name wf_local_roles.name%TYPE;
1211: l_user_name wf_local_roles.name%TYPE;
1212: m_user_orig_system wf_local_roles.orig_system%TYPE;
1213: l_user_orig_system wf_local_roles.orig_system%TYPE;
1214: m_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1215: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1216: l_debug_prefix VARCHAR2(30) := '';
1217: BEGIN
1210: m_role_name wf_local_roles.name%TYPE;
1211: l_user_name wf_local_roles.name%TYPE;
1212: m_user_orig_system wf_local_roles.orig_system%TYPE;
1213: l_user_orig_system wf_local_roles.orig_system%TYPE;
1214: m_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1215: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1216: l_debug_prefix VARCHAR2(30) := '';
1217: BEGIN
1218: -- Debug info.
1211: l_user_name wf_local_roles.name%TYPE;
1212: m_user_orig_system wf_local_roles.orig_system%TYPE;
1213: l_user_orig_system wf_local_roles.orig_system%TYPE;
1214: m_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1215: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1216: l_debug_prefix VARCHAR2(30) := '';
1217: BEGIN
1218: -- Debug info.
1219: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1350: );
1351: IF (l_user_orig_system IS NULL OR l_user_orig_system_id IS NULL) THEN
1352: fnd_file.put_line (fnd_file.log,'Not creating Workflow User Roles for corresponding Resource Group Members whose Member
1353: Resource is Resource ID - '||i.resource_id||', Resource Name - '||i.resource_name||' and Resource
1354: Category - '||i.category||', because there was no corresponding User defined in wf_local_roles table');
1355: ELSE
1356: BEGIN
1357: Wf_local_synch.propagate_user_role (
1358: p_user_orig_system => l_user_orig_system,
1511:
1512: l_end_date_active DATE;
1513: m_end_date_active DATE;
1514: m_start_date_active DATE;
1515: l_user_name wf_local_roles.name%TYPE;
1516: l_user_orig_system wf_local_roles.orig_system%TYPE;
1517: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1518:
1519: BEGIN
1512: l_end_date_active DATE;
1513: m_end_date_active DATE;
1514: m_start_date_active DATE;
1515: l_user_name wf_local_roles.name%TYPE;
1516: l_user_orig_system wf_local_roles.orig_system%TYPE;
1517: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1518:
1519: BEGIN
1520:
1513: m_end_date_active DATE;
1514: m_start_date_active DATE;
1515: l_user_name wf_local_roles.name%TYPE;
1516: l_user_orig_system wf_local_roles.orig_system%TYPE;
1517: l_user_orig_system_id wf_local_roles.orig_system_id%TYPE;
1518:
1519: BEGIN
1520:
1521: log_msg_hdr5 := fnd_message.get_string ('JTF','JTF_RS_WF_ROLE_SYNC_LOG_HDR5');
1619: );
1620: IF (l_user_orig_system IS NULL OR l_user_orig_system_id IS NULL) THEN
1621: fnd_file.put_line (fnd_file.log,'Not creating Workflow User Roles for corresponding Resource Team Members whose Member
1622: Resource is Resource ID - '||i.resource_id||', Resource Name - '||i.resource_name||' and Resource
1623: Category - '||i.category||', because there was no corresponding User defined wf_local_roles table');
1624: ELSE
1625: BEGIN
1626: Wf_local_synch.propagate_user_role(
1627: p_user_orig_system => l_user_orig_system,