21: return varchar2
22: is
23: begin
24: if wf_directory.g_system_status is null then
25: wf_directory.g_system_status:= wf_core.translate('WF_SYSTEM_STATUS');
26: end if;
27: return wf_directory.g_system_status;
28: end;
29: --
163: when invalidNumConv then
164: return FALSE;
165:
166: when others then
167: wf_core.context('Wf_Directory','CompositeName',p_CompositeName);
168: raise;
169: end;
170:
171: --
222: close c;
223: elsif corig%ISOPEN then
224: close corig;
225: end if;
226: wf_core.context('Wf_Directory','GetRoleUsers',Role);
227: raise;
228: end GetRoleUsers;
229:
230: --
249: begin
250: null;
251: exception
252: when others then
253: wf_core.context('Wf_Directory','GetUserRelation',base_user,relation);
254: raise;
255: end GetUserRelation;
256:
257: --
301: elsif (corig%ISOPEN) then
302: close corig;
303: end if;
304:
305: wf_core.context('Wf_Directory','GetUserRoles',User);
306: raise;
307: end GetUserRoles;
308:
309: --
337: territory := role_info_tbl(1).territory;
338:
339: exception
340: when others then
341: wf_core.context('Wf_Directory','GetRoleInfo',Role);
342: raise;
343: end GetRoleInfo;
344:
345: --
420: substrb(R.DESCRIPTION,1,1000),
421: R.NOTIFICATION_PREFERENCE,
422: R.LANGUAGE,
423: R.TERRITORY,
424: wf_core.nls_date_format, -- <7578908> new NLS parameters
425: R.LANGUAGE, -- default nls_date_language
426: wf_core.nls_calendar ,
427: wf_core.nls_numeric_characters,
428: wf_core.nls_sort,
422: R.LANGUAGE,
423: R.TERRITORY,
424: wf_core.nls_date_format, -- <7578908> new NLS parameters
425: R.LANGUAGE, -- default nls_date_language
426: wf_core.nls_calendar ,
427: wf_core.nls_numeric_characters,
428: wf_core.nls_sort,
429: wf_core.nls_currency, --
430: substrb(R.EMAIL_ADDRESS,1,320),
423: R.TERRITORY,
424: wf_core.nls_date_format, -- <7578908> new NLS parameters
425: R.LANGUAGE, -- default nls_date_language
426: wf_core.nls_calendar ,
427: wf_core.nls_numeric_characters,
428: wf_core.nls_sort,
429: wf_core.nls_currency, --
430: substrb(R.EMAIL_ADDRESS,1,320),
431: R.FAX,
424: wf_core.nls_date_format, -- <7578908> new NLS parameters
425: R.LANGUAGE, -- default nls_date_language
426: wf_core.nls_calendar ,
427: wf_core.nls_numeric_characters,
428: wf_core.nls_sort,
429: wf_core.nls_currency, --
430: substrb(R.EMAIL_ADDRESS,1,320),
431: R.FAX,
432: R.STATUS,
425: R.LANGUAGE, -- default nls_date_language
426: wf_core.nls_calendar ,
427: wf_core.nls_numeric_characters,
428: wf_core.nls_sort,
429: wf_core.nls_currency, --
430: substrb(R.EMAIL_ADDRESS,1,320),
431: R.FAX,
432: R.STATUS,
433: R.EXPIRATION_DATE,
458: substrb(R.DESCRIPTION,1,1000),
459: R.NOTIFICATION_PREFERENCE,
460: R.LANGUAGE,
461: R.TERRITORY,
462: wf_core.nls_date_format, -- <7578908> new NLS parameters
463: R.LANGUAGE, -- default nls_date_language
464: wf_core.nls_calendar ,
465: wf_core.nls_numeric_characters,
466: wf_core.nls_sort,
460: R.LANGUAGE,
461: R.TERRITORY,
462: wf_core.nls_date_format, -- <7578908> new NLS parameters
463: R.LANGUAGE, -- default nls_date_language
464: wf_core.nls_calendar ,
465: wf_core.nls_numeric_characters,
466: wf_core.nls_sort,
467: wf_core.nls_currency, --
468: substrb(R.EMAIL_ADDRESS,1,320),
461: R.TERRITORY,
462: wf_core.nls_date_format, -- <7578908> new NLS parameters
463: R.LANGUAGE, -- default nls_date_language
464: wf_core.nls_calendar ,
465: wf_core.nls_numeric_characters,
466: wf_core.nls_sort,
467: wf_core.nls_currency, --
468: substrb(R.EMAIL_ADDRESS,1,320),
469: R.FAX,
462: wf_core.nls_date_format, -- <7578908> new NLS parameters
463: R.LANGUAGE, -- default nls_date_language
464: wf_core.nls_calendar ,
465: wf_core.nls_numeric_characters,
466: wf_core.nls_sort,
467: wf_core.nls_currency, --
468: substrb(R.EMAIL_ADDRESS,1,320),
469: R.FAX,
470: R.STATUS,
463: R.LANGUAGE, -- default nls_date_language
464: wf_core.nls_calendar ,
465: wf_core.nls_numeric_characters,
466: wf_core.nls_sort,
467: wf_core.nls_currency, --
468: substrb(R.EMAIL_ADDRESS,1,320),
469: R.FAX,
470: R.STATUS,
471: R.EXPIRATION_DATE,
512: substrb(R.DESCRIPTION,1,1000),
513: R.NOTIFICATION_PREFERENCE,
514: R.LANGUAGE,
515: R.TERRITORY,
516: wf_core.nls_date_format, -- <7578908> new NLS parameters
517: R.LANGUAGE, -- default nls_date_language
518: wf_core.nls_calendar ,
519: wf_core.nls_numeric_characters,
520: wf_core.nls_sort,
514: R.LANGUAGE,
515: R.TERRITORY,
516: wf_core.nls_date_format, -- <7578908> new NLS parameters
517: R.LANGUAGE, -- default nls_date_language
518: wf_core.nls_calendar ,
519: wf_core.nls_numeric_characters,
520: wf_core.nls_sort,
521: wf_core.nls_currency, --
522: substrb(R.EMAIL_ADDRESS,1,320),
515: R.TERRITORY,
516: wf_core.nls_date_format, -- <7578908> new NLS parameters
517: R.LANGUAGE, -- default nls_date_language
518: wf_core.nls_calendar ,
519: wf_core.nls_numeric_characters,
520: wf_core.nls_sort,
521: wf_core.nls_currency, --
522: substrb(R.EMAIL_ADDRESS,1,320),
523: R.FAX,
516: wf_core.nls_date_format, -- <7578908> new NLS parameters
517: R.LANGUAGE, -- default nls_date_language
518: wf_core.nls_calendar ,
519: wf_core.nls_numeric_characters,
520: wf_core.nls_sort,
521: wf_core.nls_currency, --
522: substrb(R.EMAIL_ADDRESS,1,320),
523: R.FAX,
524: R.STATUS,
517: R.LANGUAGE, -- default nls_date_language
518: wf_core.nls_calendar ,
519: wf_core.nls_numeric_characters,
520: wf_core.nls_sort,
521: wf_core.nls_currency, --
522: substrb(R.EMAIL_ADDRESS,1,320),
523: R.FAX,
524: R.STATUS,
525: R.EXPIRATION_DATE,
548: substrb(R.DESCRIPTION,1,1000),
549: R.NOTIFICATION_PREFERENCE,
550: R.LANGUAGE,
551: R.TERRITORY,
552: wf_core.nls_date_format, -- <7578908> new NLS parameters
553: R.LANGUAGE, -- default nls_date_language
554: wf_core.nls_calendar ,
555: wf_core.nls_numeric_characters,
556: wf_core.nls_sort,
550: R.LANGUAGE,
551: R.TERRITORY,
552: wf_core.nls_date_format, -- <7578908> new NLS parameters
553: R.LANGUAGE, -- default nls_date_language
554: wf_core.nls_calendar ,
555: wf_core.nls_numeric_characters,
556: wf_core.nls_sort,
557: wf_core.nls_currency, --
558: substrb(R.EMAIL_ADDRESS,1,320),
551: R.TERRITORY,
552: wf_core.nls_date_format, -- <7578908> new NLS parameters
553: R.LANGUAGE, -- default nls_date_language
554: wf_core.nls_calendar ,
555: wf_core.nls_numeric_characters,
556: wf_core.nls_sort,
557: wf_core.nls_currency, --
558: substrb(R.EMAIL_ADDRESS,1,320),
559: R.FAX,
552: wf_core.nls_date_format, -- <7578908> new NLS parameters
553: R.LANGUAGE, -- default nls_date_language
554: wf_core.nls_calendar ,
555: wf_core.nls_numeric_characters,
556: wf_core.nls_sort,
557: wf_core.nls_currency, --
558: substrb(R.EMAIL_ADDRESS,1,320),
559: R.FAX,
560: R.STATUS,
553: R.LANGUAGE, -- default nls_date_language
554: wf_core.nls_calendar ,
555: wf_core.nls_numeric_characters,
556: wf_core.nls_sort,
557: wf_core.nls_currency, --
558: substrb(R.EMAIL_ADDRESS,1,320),
559: R.FAX,
560: R.STATUS,
561: R.EXPIRATION_DATE,
616: end if;
617: end;
618:
619: when others then
620: wf_core.context('Wf_Directory','GetRoleInfo2',Role);
621: raise;
622: end GetRoleInfo2;
623:
624: --
672: end;
673:
674: exception
675: when others then
676: wf_core.context('Wf_Directory','GetRoleInfoMail',Role);
677: raise;
678: end GetRoleInfoMail;
679:
680: procedure GetRoleInfoMail2( p_role in varchar2,
732: wf_log_pkg.String(WF_LOG_PKG.LEVEL_PROCEDURE, l_api,'END');
733: end if;
734: exception
735: when others then
736: wf_core.context('Wf_Directory','GetRoleInfoMail2', p_role);
737: raise;
738: end GetRoleInfoMail2;
739:
740: --
757:
758: return notification_preference;
759: exception
760: when others then
761: wf_core.context('Wf_Directory','GetRoleNotePref',Role);
762: raise;
763: end GetRoleNtfPref;
764:
765: --
785: orig_system_id := role_info_tbl(1).orig_system_id;
786:
787: exception
788: when others then
789: wf_core.context('Wf_Directory','GetRoleOrigSysInfo',Role);
790: raise;
791: end GetRoleOrigSysInfo;
792:
793: --
874: exception
875: when no_data_found then
876: return FALSE;
877: when others then
878: wf_core.context('Wf_Directory','IsPerformer',User,Role);
879: raise;
880: end IsPerformer;
881:
882: --
890: begin
891: return NULL;
892: exception
893: when others then
894: wf_core.context('Wf_Directory','CurrentUser');
895: raise;
896: end CurrentUser;
897:
898: --
939: exception
940: when no_data_found then
941: return FALSE;
942: when others then
943: wf_core.context('Wf_Directory','UserActive',Username);
944: raise;
945: end UserActive;
946:
947: --
973: fetch c_user into p_name, p_display_name;
974: close c_user;
975: exception
976: when others then
977: wf_core.context('Wf_Directory','GetUserName', p_orig_system,
978: p_orig_system_id);
979: raise;
980: end GetuserName;
981:
1007: fetch c_role into p_name,p_display_name;
1008: close c_role;
1009: exception
1010: when others then
1011: wf_core.context('Wf_Directory','GetRoleName',p_orig_system,p_orig_system);
1012: raise;
1013: end GetRoleName;
1014:
1015: --
1169: status=>SetAdHocUserStatus.status);
1170:
1171: exception
1172: when others then
1173: wf_core.context('Wf_Directory', 'SetAdHocUserStatus', user_name, status);
1174: raise;
1175: end SetAdHocUserStatus;
1176:
1177: --
1202: status=>SetAdHocRoleStatus.status);
1203:
1204: exception
1205: when others then
1206: wf_core.context('Wf_Directory', 'SetAdHocRoleStatus', role_name, status);
1207: raise;
1208: end SetAdHocRoleStatus;
1209:
1210:
1278: -- If concat name is passed, check to make sure it is valid.
1279: --
1280: if ( instr(name, ':') > 0 ) then
1281: if ( (orig_system||':'||orig_system_id ) <> name) then
1282: WF_CORE.Token('NAME', name);
1283: WF_CORE.Token('ORIG_SYSTEM', orig_system);
1284: WF_CORE.Token('ORIG_SYS_ID', orig_system_id);
1285: WF_CORE.Raise('WF_INVAL_CONCAT_NAME');
1286:
1279: --
1280: if ( instr(name, ':') > 0 ) then
1281: if ( (orig_system||':'||orig_system_id ) <> name) then
1282: WF_CORE.Token('NAME', name);
1283: WF_CORE.Token('ORIG_SYSTEM', orig_system);
1284: WF_CORE.Token('ORIG_SYS_ID', orig_system_id);
1285: WF_CORE.Raise('WF_INVAL_CONCAT_NAME');
1286:
1287: end if;
1280: if ( instr(name, ':') > 0 ) then
1281: if ( (orig_system||':'||orig_system_id ) <> name) then
1282: WF_CORE.Token('NAME', name);
1283: WF_CORE.Token('ORIG_SYSTEM', orig_system);
1284: WF_CORE.Token('ORIG_SYS_ID', orig_system_id);
1285: WF_CORE.Raise('WF_INVAL_CONCAT_NAME');
1286:
1287: end if;
1288:
1281: if ( (orig_system||':'||orig_system_id ) <> name) then
1282: WF_CORE.Token('NAME', name);
1283: WF_CORE.Token('ORIG_SYSTEM', orig_system);
1284: WF_CORE.Token('ORIG_SYS_ID', orig_system_id);
1285: WF_CORE.Raise('WF_INVAL_CONCAT_NAME');
1286:
1287: end if;
1288:
1289: end if;
1292: -- Make sure no '#' or '/' exist in name.
1293: --
1294: /* Bug 2779747
1295: if ( (instr(name, '/') > 0) or (instr(name, '#') > 0) ) then
1296: WF_CORE.Token('ROLENAME', name);
1297: WF_CORE.Raise('WF_INVALID_ROLE');
1298: */
1299:
1300: --
1293: --
1294: /* Bug 2779747
1295: if ( (instr(name, '/') > 0) or (instr(name, '#') > 0) ) then
1296: WF_CORE.Token('ROLENAME', name);
1297: WF_CORE.Raise('WF_INVALID_ROLE');
1298: */
1299:
1300: --
1301: -- Make sure the length of the name is <= 320
1300: --
1301: -- Make sure the length of the name is <= 320
1302: --
1303: if ( lengthb(name) > 320 ) then
1304: WF_CORE.Token('NAME', name);
1305: WF_CORE.Token('LENGTH', 320);
1306: WF_CORE.Raise('WF_ROLENAME_TOO_LONG');
1307:
1308: end if;
1301: -- Make sure the length of the name is <= 320
1302: --
1303: if ( lengthb(name) > 320 ) then
1304: WF_CORE.Token('NAME', name);
1305: WF_CORE.Token('LENGTH', 320);
1306: WF_CORE.Raise('WF_ROLENAME_TOO_LONG');
1307:
1308: end if;
1309:
1302: --
1303: if ( lengthb(name) > 320 ) then
1304: WF_CORE.Token('NAME', name);
1305: WF_CORE.Token('LENGTH', 320);
1306: WF_CORE.Raise('WF_ROLENAME_TOO_LONG');
1307:
1308: end if;
1309:
1310: --
1312: --
1313: if ( CreateUser.status not in ('ACTIVE', 'TMPLEAVE', 'EXTLEAVE',
1314: 'INACTIVE') ) then
1315:
1316: WF_CORE.Token('STATUS', CreateUser.status);
1317: WF_CORE.Raise('WF_INVALID_ROLE_STATUS');
1318:
1319: end if;
1320:
1313: if ( CreateUser.status not in ('ACTIVE', 'TMPLEAVE', 'EXTLEAVE',
1314: 'INACTIVE') ) then
1315:
1316: WF_CORE.Token('STATUS', CreateUser.status);
1317: WF_CORE.Raise('WF_INVALID_ROLE_STATUS');
1318:
1319: end if;
1320:
1321: --
1329: l_ntfPref := 'MAILHTML';
1330: end if;
1331: elsif (CreateUser.notification_preference not in ('MAILHTML','MAILHTM2',
1332: 'MAILATTH', 'SUMMARY', 'SUMHTML', 'QUERY', 'MAILTEXT','DISABLED')) then
1333: WF_CORE.Token('NTF_PREF', CreateUser.notification_preference);
1334: WF_CORE.Raise('WF_INVALID_NTF_PREF');
1335: else
1336: l_ntfPref := CreateUser.notification_preference;
1337: end if;
1330: end if;
1331: elsif (CreateUser.notification_preference not in ('MAILHTML','MAILHTM2',
1332: 'MAILATTH', 'SUMMARY', 'SUMHTML', 'QUERY', 'MAILTEXT','DISABLED')) then
1333: WF_CORE.Token('NTF_PREF', CreateUser.notification_preference);
1334: WF_CORE.Raise('WF_INVALID_NTF_PREF');
1335: else
1336: l_ntfPref := CreateUser.notification_preference;
1337: end if;
1338:
1345: from WF_LANGUAGES
1346: where code = userenv('LANG');
1347: exception
1348: when NO_DATA_FOUND then
1349: wf_core.raise('WF_NO_LANG_TERR');
1350: end;
1351:
1352: end if;
1353:
1371: and ORIG_SYSTEM_ID <> CreateUser.orig_system_id;
1372: end if;
1373:
1374: if (l_count > 0) then
1375: WF_CORE.Token('NAME', CreateUser.name);
1376: WF_CORE.Token('ORIG_SYSTEM', l_origSys);
1377: WF_CORE.Raise('WFDS_DUPLICATE_NAME');
1378: end if;
1379: --
1372: end if;
1373:
1374: if (l_count > 0) then
1375: WF_CORE.Token('NAME', CreateUser.name);
1376: WF_CORE.Token('ORIG_SYSTEM', l_origSys);
1377: WF_CORE.Raise('WFDS_DUPLICATE_NAME');
1378: end if;
1379: --
1380: -- Evaluating the WHO columns in case they are not passed
1373:
1374: if (l_count > 0) then
1375: WF_CORE.Token('NAME', CreateUser.name);
1376: WF_CORE.Token('ORIG_SYSTEM', l_origSys);
1377: WF_CORE.Raise('WFDS_DUPLICATE_NAME');
1378: end if;
1379: --
1380: -- Evaluating the WHO columns in case they are not passed
1381:
1499: last_update_login=>CreateUser.last_update_login);
1500:
1501: exception
1502: when OTHERS then
1503: if (WF_CORE.error_name = 'WF_DUP_USER_ROLE') then
1504: SetUserRoleAttr(user_name=>CreateUser.name,
1505: role_name=>CreateUser.name,
1506: user_orig_system=>l_origSys,
1507: user_orig_system_id=>CreateUser.orig_system_id,
1526: end if;
1527: end;
1528: exception
1529: when DUP_VAL_ON_INDEX then
1530: WF_CORE.Token('DISPNAME', CreateUser.display_name);
1531: WF_CORE.Token('USERNAME', nvl(CreateUser.name,
1532: l_origSys || ':' ||
1533: CreateUser.orig_system_id));
1534: WF_CORE.Raise('WF_DUP_USER');
1527: end;
1528: exception
1529: when DUP_VAL_ON_INDEX then
1530: WF_CORE.Token('DISPNAME', CreateUser.display_name);
1531: WF_CORE.Token('USERNAME', nvl(CreateUser.name,
1532: l_origSys || ':' ||
1533: CreateUser.orig_system_id));
1534: WF_CORE.Raise('WF_DUP_USER');
1535:
1530: WF_CORE.Token('DISPNAME', CreateUser.display_name);
1531: WF_CORE.Token('USERNAME', nvl(CreateUser.name,
1532: l_origSys || ':' ||
1533: CreateUser.orig_system_id));
1534: WF_CORE.Raise('WF_DUP_USER');
1535:
1536: when others then
1537: wf_core.context('Wf_Directory', 'CreateUser', CreateUser.Name,
1538: l_origSys, CreateUser.orig_system_id );
1533: CreateUser.orig_system_id));
1534: WF_CORE.Raise('WF_DUP_USER');
1535:
1536: when others then
1537: wf_core.context('Wf_Directory', 'CreateUser', CreateUser.Name,
1538: l_origSys, CreateUser.orig_system_id );
1539: raise;
1540: end CreateUser;
1541:
1584: from wf_users u
1585: where u.name = CreateAdHocUser.name
1586: or u.display_name = CreateAdHocUser.display_name;
1587: if (d1 > 0) then
1588: wf_core.token('USERNAME', CreateAdHocUser.name);
1589: wf_core.token('DISPNAME', CreateAdHocUser.display_name);
1590: wf_core.raise('WF_DUP_USER');
1591: end if;
1592:
1585: where u.name = CreateAdHocUser.name
1586: or u.display_name = CreateAdHocUser.display_name;
1587: if (d1 > 0) then
1588: wf_core.token('USERNAME', CreateAdHocUser.name);
1589: wf_core.token('DISPNAME', CreateAdHocUser.display_name);
1590: wf_core.raise('WF_DUP_USER');
1591: end if;
1592:
1593: */
1586: or u.display_name = CreateAdHocUser.display_name;
1587: if (d1 > 0) then
1588: wf_core.token('USERNAME', CreateAdHocUser.name);
1589: wf_core.token('DISPNAME', CreateAdHocUser.display_name);
1590: wf_core.raise('WF_DUP_USER');
1591: end if;
1592:
1593: */
1594:
1626:
1627:
1628: exception
1629: when others then
1630: wf_core.context('Wf_Directory', 'CreateAdHocUser');
1631: raise;
1632: end CreateAdHocUser;
1633:
1634:
1699: -- If concat role_name is passed, check to make sure it is valid.
1700: --
1701: if ( instr(role_name, ':') > 0 ) then
1702: if ( (orig_system||':'||orig_system_id ) <> role_name) then
1703: WF_CORE.Token('NAME', role_name);
1704: WF_CORE.Token('ORIG_SYSTEM', orig_system);
1705: WF_CORE.Token('ORIG_SYS_ID', orig_system_id);
1706: WF_CORE.Raise('WF_INVAL_CONCAT_NAME');
1707:
1700: --
1701: if ( instr(role_name, ':') > 0 ) then
1702: if ( (orig_system||':'||orig_system_id ) <> role_name) then
1703: WF_CORE.Token('NAME', role_name);
1704: WF_CORE.Token('ORIG_SYSTEM', orig_system);
1705: WF_CORE.Token('ORIG_SYS_ID', orig_system_id);
1706: WF_CORE.Raise('WF_INVAL_CONCAT_NAME');
1707:
1708: end if;
1701: if ( instr(role_name, ':') > 0 ) then
1702: if ( (orig_system||':'||orig_system_id ) <> role_name) then
1703: WF_CORE.Token('NAME', role_name);
1704: WF_CORE.Token('ORIG_SYSTEM', orig_system);
1705: WF_CORE.Token('ORIG_SYS_ID', orig_system_id);
1706: WF_CORE.Raise('WF_INVAL_CONCAT_NAME');
1707:
1708: end if;
1709:
1702: if ( (orig_system||':'||orig_system_id ) <> role_name) then
1703: WF_CORE.Token('NAME', role_name);
1704: WF_CORE.Token('ORIG_SYSTEM', orig_system);
1705: WF_CORE.Token('ORIG_SYS_ID', orig_system_id);
1706: WF_CORE.Raise('WF_INVAL_CONCAT_NAME');
1707:
1708: end if;
1709:
1710: end if;
1713: -- Make sure no '#' or '/' exist in role_name.
1714: --
1715: /* Bug 2779747
1716: if ( (instr(role_name, '/') > 0) or (instr(role_name, '#') > 0) ) then
1717: WF_CORE.Token('ROLENAME', role_name);
1718: WF_CORE.Raise('WF_INVALID_ROLE');
1719: */
1720:
1721: --
1714: --
1715: /* Bug 2779747
1716: if ( (instr(role_name, '/') > 0) or (instr(role_name, '#') > 0) ) then
1717: WF_CORE.Token('ROLENAME', role_name);
1718: WF_CORE.Raise('WF_INVALID_ROLE');
1719: */
1720:
1721: --
1722: -- Make sure the length of the role_name is <= 320
1721: --
1722: -- Make sure the length of the role_name is <= 320
1723: --
1724: if ( lengthb(role_name) > 320 ) then
1725: WF_CORE.Token('NAME', role_name);
1726: WF_CORE.Token('LENGTH', 320);
1727: WF_CORE.Raise('WF_ROLENAME_TOO_LONG');
1728:
1729: end if;
1722: -- Make sure the length of the role_name is <= 320
1723: --
1724: if ( lengthb(role_name) > 320 ) then
1725: WF_CORE.Token('NAME', role_name);
1726: WF_CORE.Token('LENGTH', 320);
1727: WF_CORE.Raise('WF_ROLENAME_TOO_LONG');
1728:
1729: end if;
1730:
1723: --
1724: if ( lengthb(role_name) > 320 ) then
1725: WF_CORE.Token('NAME', role_name);
1726: WF_CORE.Token('LENGTH', 320);
1727: WF_CORE.Raise('WF_ROLENAME_TOO_LONG');
1728:
1729: end if;
1730:
1731: --
1733: --
1734: if ( CreateRole.status not in ('ACTIVE', 'TMPLEAVE', 'EXTLEAVE',
1735: 'INACTIVE') ) then
1736:
1737: WF_CORE.Token('STATUS', CreateRole.status);
1738: WF_CORE.Raise('WF_INVALID_ROLE_STATUS');
1739:
1740: end if;
1741:
1734: if ( CreateRole.status not in ('ACTIVE', 'TMPLEAVE', 'EXTLEAVE',
1735: 'INACTIVE') ) then
1736:
1737: WF_CORE.Token('STATUS', CreateRole.status);
1738: WF_CORE.Raise('WF_INVALID_ROLE_STATUS');
1739:
1740: end if;
1741:
1742: --
1750: l_ntfPref := 'MAILHTML';
1751: end if;
1752: elsif (CreateRole.notification_preference not in ('MAILHTML','MAILHTM2',
1753: 'MAILATTH', 'SUMMARY', 'SUMHTML', 'QUERY', 'MAILTEXT','DISABLED')) then
1754: WF_CORE.Token('NTF_PREF', CreateRole.notification_preference);
1755: WF_CORE.Raise('WF_INVALID_NTF_PREF');
1756: else
1757: l_ntfPref := CreateRole.notification_preference;
1758: end if;
1751: end if;
1752: elsif (CreateRole.notification_preference not in ('MAILHTML','MAILHTM2',
1753: 'MAILATTH', 'SUMMARY', 'SUMHTML', 'QUERY', 'MAILTEXT','DISABLED')) then
1754: WF_CORE.Token('NTF_PREF', CreateRole.notification_preference);
1755: WF_CORE.Raise('WF_INVALID_NTF_PREF');
1756: else
1757: l_ntfPref := CreateRole.notification_preference;
1758: end if;
1759:
1767: where code = userenv('LANG');
1768:
1769: exception
1770: when NO_DATA_FOUND then
1771: wf_core.raise('WF_NO_LANG_TERR');
1772: end;
1773:
1774: else
1775: nlang := CreateRole.language;
1813: l_lastupdlog:= nvl(CreateRole.last_update_login, WFA_SEC.LOGIN_ID);
1814:
1815: if (l_origSysIDTAB.COUNT > 0) then
1816: if (l_partitionID <> 2) then
1817: WF_CORE.Token('NAME', CreateRole.role_name);
1818: WF_CORE.Token('ORIG_SYSTEM', l_origSys);
1819: WF_CORE.Raise('WFDS_DUPLICATE_NAME');
1820: else
1821: --This is an FND_RESP which could be coming in from the loader using
1814:
1815: if (l_origSysIDTAB.COUNT > 0) then
1816: if (l_partitionID <> 2) then
1817: WF_CORE.Token('NAME', CreateRole.role_name);
1818: WF_CORE.Token('ORIG_SYSTEM', l_origSys);
1819: WF_CORE.Raise('WFDS_DUPLICATE_NAME');
1820: else
1821: --This is an FND_RESP which could be coming in from the loader using
1822: --afrole.lct, so we will go ahead and call the SetUserAttr() api
1815: if (l_origSysIDTAB.COUNT > 0) then
1816: if (l_partitionID <> 2) then
1817: WF_CORE.Token('NAME', CreateRole.role_name);
1818: WF_CORE.Token('ORIG_SYSTEM', l_origSys);
1819: WF_CORE.Raise('WFDS_DUPLICATE_NAME');
1820: else
1821: --This is an FND_RESP which could be coming in from the loader using
1822: --afrole.lct, so we will go ahead and call the SetUserAttr() api
1823: --for the other orig_system_id.
1933: end if;
1934: end if;
1935: exception
1936: when DUP_VAL_ON_INDEX then
1937: WF_CORE.Token('DISPNAME', CreateRole.role_display_name);
1938: WF_CORE.Token('ROLENAME', nvl(CreateRole.role_name,
1939: l_origSys || ':' ||
1940: CreateRole.orig_system_id));
1941: WF_CORE.Raise('WF_DUP_ROLE');
1934: end if;
1935: exception
1936: when DUP_VAL_ON_INDEX then
1937: WF_CORE.Token('DISPNAME', CreateRole.role_display_name);
1938: WF_CORE.Token('ROLENAME', nvl(CreateRole.role_name,
1939: l_origSys || ':' ||
1940: CreateRole.orig_system_id));
1941: WF_CORE.Raise('WF_DUP_ROLE');
1942:
1937: WF_CORE.Token('DISPNAME', CreateRole.role_display_name);
1938: WF_CORE.Token('ROLENAME', nvl(CreateRole.role_name,
1939: l_origSys || ':' ||
1940: CreateRole.orig_system_id));
1941: WF_CORE.Raise('WF_DUP_ROLE');
1942:
1943: when others then
1944: wf_core.context('Wf_Directory', 'CreateRole', CreateRole.role_Name,
1945: l_origSys, CreateRole.orig_system_id);
1940: CreateRole.orig_system_id));
1941: WF_CORE.Raise('WF_DUP_ROLE');
1942:
1943: when others then
1944: wf_core.context('Wf_Directory', 'CreateRole', CreateRole.role_Name,
1945: l_origSys, CreateRole.orig_system_id);
1946: raise;
1947: end CreateRole;
1948:
2003: parent_orig_system_id=>CreateAdhocRole.parent_orig_system_id,
2004: owner_tag=>CreateAdhocRole.owner_tag);
2005: exception
2006: when others then
2007: wf_core.context('Wf_Directory', 'CreateAdHocRole');
2008: raise;
2009: end CreateAdHocRole;
2010:
2011: --
2055: from wf_roles
2056: where name = CreateAdHocRole.role_name
2057: or display_name = CreateAdHocRole.role_display_name;
2058: if (d1 > 0) then
2059: wf_core.token('ROLENAME', CreateAdHocRole.role_name);
2060: wf_core.token('DISPNAME', CreateAdHocRole.role_display_name);
2061: wf_core.raise('WF_DUP_ROLE');
2062: end if;
2063:
2056: where name = CreateAdHocRole.role_name
2057: or display_name = CreateAdHocRole.role_display_name;
2058: if (d1 > 0) then
2059: wf_core.token('ROLENAME', CreateAdHocRole.role_name);
2060: wf_core.token('DISPNAME', CreateAdHocRole.role_display_name);
2061: wf_core.raise('WF_DUP_ROLE');
2062: end if;
2063:
2064: */
2057: or display_name = CreateAdHocRole.role_display_name;
2058: if (d1 > 0) then
2059: wf_core.token('ROLENAME', CreateAdHocRole.role_name);
2060: wf_core.token('DISPNAME', CreateAdHocRole.role_display_name);
2061: wf_core.raise('WF_DUP_ROLE');
2062: end if;
2063:
2064: */
2065:
2111:
2112:
2113: exception
2114: when others then
2115: wf_core.context('Wf_Directory', 'CreateAdHocRole2');
2116: raise;
2117: end CreateAdHocRole2;
2118:
2119: --
2207: WHERE NAME = CreateUserRole.USER_NAME
2208: AND ROWNUM < 2;
2209: exception
2210: when NO_DATA_FOUND then
2211: WF_CORE.Token('NAME', CreateUserRole.user_name);
2212: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2213: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2214: WF_CORE.Raise('WF_NO_USER');
2215: end;
2208: AND ROWNUM < 2;
2209: exception
2210: when NO_DATA_FOUND then
2211: WF_CORE.Token('NAME', CreateUserRole.user_name);
2212: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2213: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2214: WF_CORE.Raise('WF_NO_USER');
2215: end;
2216:
2209: exception
2210: when NO_DATA_FOUND then
2211: WF_CORE.Token('NAME', CreateUserRole.user_name);
2212: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2213: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2214: WF_CORE.Raise('WF_NO_USER');
2215: end;
2216:
2217: --Checking the Role.
2210: when NO_DATA_FOUND then
2211: WF_CORE.Token('NAME', CreateUserRole.user_name);
2212: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2213: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2214: WF_CORE.Raise('WF_NO_USER');
2215: end;
2216:
2217: --Checking the Role.
2218: begin
2224: WHERE NAME = CreateUserRole.ROLE_NAME
2225: AND ROWNUM < 2;
2226: exception
2227: when NO_DATA_FOUND then
2228: WF_CORE.Token('NAME', CreateUserRole.role_name);
2229: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2230: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2231: WF_CORE.Raise('WF_NO_ROLE');
2232: end;
2225: AND ROWNUM < 2;
2226: exception
2227: when NO_DATA_FOUND then
2228: WF_CORE.Token('NAME', CreateUserRole.role_name);
2229: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2230: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2231: WF_CORE.Raise('WF_NO_ROLE');
2232: end;
2233: else
2226: exception
2227: when NO_DATA_FOUND then
2228: WF_CORE.Token('NAME', CreateUserRole.role_name);
2229: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2230: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2231: WF_CORE.Raise('WF_NO_ROLE');
2232: end;
2233: else
2234: l_validateUserRole := validateUserRole;
2227: when NO_DATA_FOUND then
2228: WF_CORE.Token('NAME', CreateUserRole.role_name);
2229: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2230: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2231: WF_CORE.Raise('WF_NO_ROLE');
2232: end;
2233: else
2234: l_validateUserRole := validateUserRole;
2235: l_uorigSys := UPPER(CreateUserRole.user_orig_system);
2259: AND ORIG_SYSTEM_ID = l_uorigSysID
2260: AND PARTITION_ID = l_upartID;
2261: exception
2262: when NO_DATA_FOUND then
2263: WF_CORE.Token('NAME', CreateUserRole.user_name);
2264: WF_CORE.Token('ORIG_SYSTEM', l_uorigSys);
2265: WF_CORE.Token('ORIG_SYSTEM_ID', l_uorigSysID);
2266: WF_CORE.Raise('WF_NO_USER');
2267: end;
2260: AND PARTITION_ID = l_upartID;
2261: exception
2262: when NO_DATA_FOUND then
2263: WF_CORE.Token('NAME', CreateUserRole.user_name);
2264: WF_CORE.Token('ORIG_SYSTEM', l_uorigSys);
2265: WF_CORE.Token('ORIG_SYSTEM_ID', l_uorigSysID);
2266: WF_CORE.Raise('WF_NO_USER');
2267: end;
2268:
2261: exception
2262: when NO_DATA_FOUND then
2263: WF_CORE.Token('NAME', CreateUserRole.user_name);
2264: WF_CORE.Token('ORIG_SYSTEM', l_uorigSys);
2265: WF_CORE.Token('ORIG_SYSTEM_ID', l_uorigSysID);
2266: WF_CORE.Raise('WF_NO_USER');
2267: end;
2268:
2269: begin
2262: when NO_DATA_FOUND then
2263: WF_CORE.Token('NAME', CreateUserRole.user_name);
2264: WF_CORE.Token('ORIG_SYSTEM', l_uorigSys);
2265: WF_CORE.Token('ORIG_SYSTEM_ID', l_uorigSysID);
2266: WF_CORE.Raise('WF_NO_USER');
2267: end;
2268:
2269: begin
2270: if (l_rpartID is null) then
2279: AND ORIG_SYSTEM_ID = l_rorigSysID
2280: AND PARTITION_ID = l_rpartID;
2281: exception
2282: when NO_DATA_FOUND then
2283: WF_CORE.Token('NAME', CreateUserRole.role_name);
2284: WF_CORE.Token('ORIG_SYSTEM', l_rorigSys);
2285: WF_CORE.Token('ORIG_SYSTEM_ID', l_rorigSysID);
2286: WF_CORE.Raise('WF_NO_ROLE');
2287: end;
2280: AND PARTITION_ID = l_rpartID;
2281: exception
2282: when NO_DATA_FOUND then
2283: WF_CORE.Token('NAME', CreateUserRole.role_name);
2284: WF_CORE.Token('ORIG_SYSTEM', l_rorigSys);
2285: WF_CORE.Token('ORIG_SYSTEM_ID', l_rorigSysID);
2286: WF_CORE.Raise('WF_NO_ROLE');
2287: end;
2288: elsif (CreateUserRole.user_name = CreateUserRole.role_name) then
2281: exception
2282: when NO_DATA_FOUND then
2283: WF_CORE.Token('NAME', CreateUserRole.role_name);
2284: WF_CORE.Token('ORIG_SYSTEM', l_rorigSys);
2285: WF_CORE.Token('ORIG_SYSTEM_ID', l_rorigSysID);
2286: WF_CORE.Raise('WF_NO_ROLE');
2287: end;
2288: elsif (CreateUserRole.user_name = CreateUserRole.role_name) then
2289: --If this is a self reference we can set the user and role date values to
2282: when NO_DATA_FOUND then
2283: WF_CORE.Token('NAME', CreateUserRole.role_name);
2284: WF_CORE.Token('ORIG_SYSTEM', l_rorigSys);
2285: WF_CORE.Token('ORIG_SYSTEM_ID', l_rorigSysID);
2286: WF_CORE.Raise('WF_NO_ROLE');
2287: end;
2288: elsif (CreateUserRole.user_name = CreateUserRole.role_name) then
2289: --If this is a self reference we can set the user and role date values to
2290: --the same as the start/end of the user/role relationship as they are the
2394: WF_EVENT.AddParameterToList('ROLE_ORIG_SYSTEM', l_rorigSys, l_params);
2395: WF_EVENT.AddParameterToList('ROLE_ORIG_SYSTEM_ID', l_rorigSysID, l_params);
2396: WF_EVENT.AddParameterToList('START_DATE',
2397: to_char(trunc(CreateUserRole.start_date),
2398: WF_CORE.Canonical_Date_Mask),
2399: l_params);
2400: WF_EVENT.AddParameterToList('END_DATE',
2401: to_char(trunc(CreateUserRole.end_date),
2402: WF_CORE.Canonical_Date_Mask),
2398: WF_CORE.Canonical_Date_Mask),
2399: l_params);
2400: WF_EVENT.AddParameterToList('END_DATE',
2401: to_char(trunc(CreateUserRole.end_date),
2402: WF_CORE.Canonical_Date_Mask),
2403: l_params);
2404:
2405: WF_EVENT.AddParameterToList('CREATED_BY',
2406: to_char(CreateUserRole.created_by,
2403: l_params);
2404:
2405: WF_EVENT.AddParameterToList('CREATED_BY',
2406: to_char(CreateUserRole.created_by,
2407: WF_CORE.canonical_number_mask), l_params);
2408:
2409: WF_EVENT.AddParameterToList('CREATION_DATE',
2410: to_char(CreateUserRole.creation_date,
2411: WF_CORE.canonical_date_mask), l_params);
2407: WF_CORE.canonical_number_mask), l_params);
2408:
2409: WF_EVENT.AddParameterToList('CREATION_DATE',
2410: to_char(CreateUserRole.creation_date,
2411: WF_CORE.canonical_date_mask), l_params);
2412:
2413: WF_EVENT.AddParameterToList('LAST_UPDATED_BY',
2414: to_char(CreateUserRole.last_updated_by,
2415: WF_CORE.canonical_number_mask), l_params);
2411: WF_CORE.canonical_date_mask), l_params);
2412:
2413: WF_EVENT.AddParameterToList('LAST_UPDATED_BY',
2414: to_char(CreateUserRole.last_updated_by,
2415: WF_CORE.canonical_number_mask), l_params);
2416: WF_EVENT.AddParameterToList('LAST_UPDATE_DATE',
2417: to_char(CreateUserRole.last_update_date,
2418: WF_CORE.canonical_date_mask), l_params);
2419: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
2414: to_char(CreateUserRole.last_updated_by,
2415: WF_CORE.canonical_number_mask), l_params);
2416: WF_EVENT.AddParameterToList('LAST_UPDATE_DATE',
2417: to_char(CreateUserRole.last_update_date,
2418: WF_CORE.canonical_date_mask), l_params);
2419: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
2420: to_char(CreateUserRole.last_update_login,
2421: WF_CORE.canonical_number_mask), l_params);
2422: WF_EVENT.AddParameterToList('ASSIGNMENT_TYPE',
2417: to_char(CreateUserRole.last_update_date,
2418: WF_CORE.canonical_date_mask), l_params);
2419: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
2420: to_char(CreateUserRole.last_update_login,
2421: WF_CORE.canonical_number_mask), l_params);
2422: WF_EVENT.AddParameterToList('ASSIGNMENT_TYPE',
2423: CreateUserRole.assignment_type, l_params);
2424: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM',
2425: CreateUserRole.parent_orig_system, l_params);
2424: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM',
2425: CreateUserRole.parent_orig_system, l_params);
2426: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM_ID',
2427: to_char(CreateUserRole.parent_orig_system_id,
2428: WF_CORE.canonical_number_mask), l_params);
2429: WF_EVENT.AddParameterToList('PARTITION_ID', to_char(l_partitionID,
2430: WF_CORE.canonical_number_mask),l_params);
2431: WF_EVENT.AddParameterToList('ASSIGNMENT_REASON',
2432: CreateUserRole.assignment_reason, l_params);
2426: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM_ID',
2427: to_char(CreateUserRole.parent_orig_system_id,
2428: WF_CORE.canonical_number_mask), l_params);
2429: WF_EVENT.AddParameterToList('PARTITION_ID', to_char(l_partitionID,
2430: WF_CORE.canonical_number_mask),l_params);
2431: WF_EVENT.AddParameterToList('ASSIGNMENT_REASON',
2432: CreateUserRole.assignment_reason, l_params);
2433: if (eventParams is not null and eventParams.count>0) then
2434: for i in eventParams.first..eventParams.last loop
2465: end if;
2466:
2467: exception
2468: when DUP_VAL_ON_INDEX then
2469: WF_CORE.Token('UNAME', CreateUserRole.user_name);
2470: WF_CORE.Token('RNAME', CreateUserRole.role_name);
2471: WF_CORE.Raise('WF_DUP_USER_ROLE');
2472:
2473: when OTHERS then
2466:
2467: exception
2468: when DUP_VAL_ON_INDEX then
2469: WF_CORE.Token('UNAME', CreateUserRole.user_name);
2470: WF_CORE.Token('RNAME', CreateUserRole.role_name);
2471: WF_CORE.Raise('WF_DUP_USER_ROLE');
2472:
2473: when OTHERS then
2474: raise;
2467: exception
2468: when DUP_VAL_ON_INDEX then
2469: WF_CORE.Token('UNAME', CreateUserRole.user_name);
2470: WF_CORE.Token('RNAME', CreateUserRole.role_name);
2471: WF_CORE.Raise('WF_DUP_USER_ROLE');
2472:
2473: when OTHERS then
2474: raise;
2475:
2478:
2479:
2480: exception
2481: when others then
2482: wf_core.context('Wf_Directory', 'CreateUserRole',
2483: user_name, role_name, l_uorigSys,
2484: to_char(nvl(user_orig_system_id, l_uorigSysID)),
2485: l_rorigSys, to_char(nvl(role_orig_system_id, l_rorigSysID)));
2486:
2573: and rownum < 2;
2574:
2575: exception
2576: when NO_DATA_FOUND then
2577: WF_CORE.Token('NAME', SetUserRoleAttr.user_name);
2578: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2579: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2580: WF_CORE.Raise('WF_NO_USER');
2581: end;
2574:
2575: exception
2576: when NO_DATA_FOUND then
2577: WF_CORE.Token('NAME', SetUserRoleAttr.user_name);
2578: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2579: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2580: WF_CORE.Raise('WF_NO_USER');
2581: end;
2582: end if;
2575: exception
2576: when NO_DATA_FOUND then
2577: WF_CORE.Token('NAME', SetUserRoleAttr.user_name);
2578: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2579: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2580: WF_CORE.Raise('WF_NO_USER');
2581: end;
2582: end if;
2583:
2576: when NO_DATA_FOUND then
2577: WF_CORE.Token('NAME', SetUserRoleAttr.user_name);
2578: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2579: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2580: WF_CORE.Raise('WF_NO_USER');
2581: end;
2582: end if;
2583:
2584:
2598: end if;
2599:
2600: exception
2601: when NO_DATA_FOUND then
2602: WF_CORE.Token('NAME', SetUserRoleAttr.role_name);
2603: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2604: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2605: WF_CORE.Raise('WF_NO_ROLE');
2606: end;
2599:
2600: exception
2601: when NO_DATA_FOUND then
2602: WF_CORE.Token('NAME', SetUserRoleAttr.role_name);
2603: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2604: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2605: WF_CORE.Raise('WF_NO_ROLE');
2606: end;
2607: end if;
2600: exception
2601: when NO_DATA_FOUND then
2602: WF_CORE.Token('NAME', SetUserRoleAttr.role_name);
2603: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2604: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2605: WF_CORE.Raise('WF_NO_ROLE');
2606: end;
2607: end if;
2608: if (l_partitionID is null) then
2601: when NO_DATA_FOUND then
2602: WF_CORE.Token('NAME', SetUserRoleAttr.role_name);
2603: WF_CORE.Token('ORIG_SYSTEM', 'NULL');
2604: WF_CORE.Token('ORIG_SYSTEM_ID', 'NULL');
2605: WF_CORE.Raise('WF_NO_ROLE');
2606: end;
2607: end if;
2608: if (l_partitionID is null) then
2609: AssignPartition(l_rorigSys,l_partitionID,l_partitionName);
2623: and PARTITION_ID = l_partitionID;
2624:
2625: exception
2626: when NO_DATA_FOUND then
2627: WF_CORE.Raise('WF_INVAL_USER_ROLE');
2628: end;
2629:
2630: -- Evaluating the WHO columns in case they are not passed
2631: l_lastupdby := nvl(setuserroleattr.last_updated_by, WFA_SEC.USER_ID);
2722:
2723: end if;
2724:
2725: if (sql%ROWCOUNT = 0) then
2726: WF_CORE.Raise('WF_INVAL_USER_ROLE');
2727:
2728: end if;
2729: --We were able to update an existing record, so we will raise the
2730: --updated event
2736: WF_EVENT.AddParameterToList('ROLE_NAME', SetUserRoleAttr.role_name,
2737: l_params);
2738: WF_EVENT.AddParameterToList('USER_ORIG_SYSTEM', l_uorigSys, l_params);
2739: WF_EVENT.AddParameterToList('USER_ORIG_SYSTEM_ID', to_char(l_uorigSysID,
2740: WF_CORE.canonical_number_mask), l_params);
2741: WF_EVENT.AddParameterToList('ROLE_ORIG_SYSTEM', l_rorigSys, l_params);
2742: WF_EVENT.AddParameterToList('ROLE_ORIG_SYSTEM_ID', to_char(l_rorigSysID,
2743: WF_CORE.canonical_number_mask), l_params);
2744: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM', l_porigSys, l_params);
2739: WF_EVENT.AddParameterToList('USER_ORIG_SYSTEM_ID', to_char(l_uorigSysID,
2740: WF_CORE.canonical_number_mask), l_params);
2741: WF_EVENT.AddParameterToList('ROLE_ORIG_SYSTEM', l_rorigSys, l_params);
2742: WF_EVENT.AddParameterToList('ROLE_ORIG_SYSTEM_ID', to_char(l_rorigSysID,
2743: WF_CORE.canonical_number_mask), l_params);
2744: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM', l_porigSys, l_params);
2745: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM_ID', to_char(l_porigSysID,
2746: WF_CORE.canonical_number_mask), l_params);
2747: WF_EVENT.AddParameterToList('START_DATE',
2742: WF_EVENT.AddParameterToList('ROLE_ORIG_SYSTEM_ID', to_char(l_rorigSysID,
2743: WF_CORE.canonical_number_mask), l_params);
2744: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM', l_porigSys, l_params);
2745: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM_ID', to_char(l_porigSysID,
2746: WF_CORE.canonical_number_mask), l_params);
2747: WF_EVENT.AddParameterToList('START_DATE',
2748: to_char(trunc(SetUserRoleAttr.start_date),
2749: WF_CORE.canonical_date_mask),
2750: l_params);
2745: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM_ID', to_char(l_porigSysID,
2746: WF_CORE.canonical_number_mask), l_params);
2747: WF_EVENT.AddParameterToList('START_DATE',
2748: to_char(trunc(SetUserRoleAttr.start_date),
2749: WF_CORE.canonical_date_mask),
2750: l_params);
2751: WF_EVENT.AddParameterToList('END_DATE',
2752: to_char(trunc(SetUserRoleAttr.end_date),
2753: WF_CORE.canonical_date_mask),
2749: WF_CORE.canonical_date_mask),
2750: l_params);
2751: WF_EVENT.AddParameterToList('END_DATE',
2752: to_char(trunc(SetUserRoleAttr.end_date),
2753: WF_CORE.canonical_date_mask),
2754: l_params);
2755:
2756: if ((((l_oldStartDate is NOT NULL) and
2757: (SetUserRoleAttr.start_date is NOT NULL)) and
2760: (SetUserRoleAttr.start_date is NULL and l_oldStartDate is NOT NULL))) then
2761:
2762: WF_EVENT.AddParameterToList('OLD_START_DATE',
2763: to_char(trunc(l_oldStartDate),
2764: WF_CORE.Canonical_Date_Mask),
2765: l_params);
2766: else
2767: WF_EVENT.AddParameterToList('OLD_START_DATE', '*UNDEFINED*',
2768: l_params);
2776: and l_oldEndDate is NOT NULL))) then
2777:
2778: WF_EVENT.AddParameterToList('OLD_END_DATE',
2779: to_char(trunc(l_oldEndDate),
2780: WF_CORE.Canonical_Date_Mask),
2781: l_params);
2782: else
2783: WF_EVENT.AddParameterToList('OLD_END_DATE', '*UNDEFINED*',
2784: l_params);
2786:
2787:
2788: WF_EVENT.AddParameterToList('LAST_UPDATED_BY',
2789: to_char(SetUserRoleAttr.last_updated_by,
2790: WF_CORE.canonical_number_mask), l_params);
2791:
2792: WF_EVENT.AddParameterToList('LAST_UPDATE_DATE',
2793: to_char(SetUserRoleAttr.last_update_date,
2794: WF_CORE.canonical_date_mask), l_params);
2790: WF_CORE.canonical_number_mask), l_params);
2791:
2792: WF_EVENT.AddParameterToList('LAST_UPDATE_DATE',
2793: to_char(SetUserRoleAttr.last_update_date,
2794: WF_CORE.canonical_date_mask), l_params);
2795: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
2796: to_char(SetUserRoleAttr.last_update_login,
2797: WF_CORE.canonical_number_mask), l_params);
2798:
2793: to_char(SetUserRoleAttr.last_update_date,
2794: WF_CORE.canonical_date_mask), l_params);
2795: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
2796: to_char(SetUserRoleAttr.last_update_login,
2797: WF_CORE.canonical_number_mask), l_params);
2798:
2799: WF_EVENT.AddParameterToList('CREATED_BY',
2800: to_char(SetUserRoleAttr.created_by,
2801: WF_CORE.canonical_number_mask), l_params);
2797: WF_CORE.canonical_number_mask), l_params);
2798:
2799: WF_EVENT.AddParameterToList('CREATED_BY',
2800: to_char(SetUserRoleAttr.created_by,
2801: WF_CORE.canonical_number_mask), l_params);
2802:
2803: WF_EVENT.AddParameterToList('CREATION_DATE',
2804: to_char(SetUserRoleAttr.creation_date,
2805: WF_CORE.canonical_date_mask), l_params);
2801: WF_CORE.canonical_number_mask), l_params);
2802:
2803: WF_EVENT.AddParameterToList('CREATION_DATE',
2804: to_char(SetUserRoleAttr.creation_date,
2805: WF_CORE.canonical_date_mask), l_params);
2806:
2807: WF_EVENT.AddParameterToList('ASSIGNMENT_TYPE',
2808: SetUserRoleAttr.assignment_type, l_params);
2809:
2959: -- user.
2960:
2961: exception
2962: when others then
2963: wf_core.context('Wf_Directory', 'RemoveUserRole',
2964: user_name, role_name, user_orig_system, to_char(user_orig_system_id),
2965: role_orig_system, to_char(role_orig_system_id));
2966:
2967: raise;
2992: end if;
2993:
2994: exception
2995: when others then
2996: wf_core.context('Wf_Directory', 'AddUsersToAdHocRole',
2997: role_name, '"'||role_users||'"');
2998: raise;
2999: end AddUsersToAdHocRole;
3000:
3018:
3019: begin
3020: -- Validate Role
3021: if (wfa_sec.DS_Count_Local_Role(AddUsersToAdHocRole2.role_name) <= 0) then
3022: wf_core.token('ROLENAME', AddUsersToAdHocRole2.role_name);
3023: wf_core.raise('WF_INVALID_ROLE');
3024: end if;
3025:
3026: if (role_users.COUNT > 0) then
3019: begin
3020: -- Validate Role
3021: if (wfa_sec.DS_Count_Local_Role(AddUsersToAdHocRole2.role_name) <= 0) then
3022: wf_core.token('ROLENAME', AddUsersToAdHocRole2.role_name);
3023: wf_core.raise('WF_INVALID_ROLE');
3024: end if;
3025:
3026: if (role_users.COUNT > 0) then
3027: for userIND in role_users.FIRST..role_users.LAST loop
3057: AND rownum < 2;
3058: end if;
3059: exception
3060: when NO_DATA_FOUND then
3061: wf_core.token('USERNAME', role_users(userIND));
3062: wf_core.raise('WF_INVALID_USER');
3063:
3064: when others then
3065: wf_core.context('Wf_Directory', 'AddUsersToAdHocRole2', role_name);
3058: end if;
3059: exception
3060: when NO_DATA_FOUND then
3061: wf_core.token('USERNAME', role_users(userIND));
3062: wf_core.raise('WF_INVALID_USER');
3063:
3064: when others then
3065: wf_core.context('Wf_Directory', 'AddUsersToAdHocRole2', role_name);
3066: raise;
3061: wf_core.token('USERNAME', role_users(userIND));
3062: wf_core.raise('WF_INVALID_USER');
3063:
3064: when others then
3065: wf_core.context('Wf_Directory', 'AddUsersToAdHocRole2', role_name);
3066: raise;
3067: end;
3068:
3069: -- Check Duplicate
3082: -- and ROLE_ORIG_SYSTEM = 'WF_LOCAL_ROLES'
3083: -- and ROLE_ORIG_SYSTEM_ID = 0;
3084:
3085: -- if (d1 > 0) then
3086: -- wf_core.token('USERNAME', role_users(userIND));
3087: -- wf_core.token('DISPNAME', '');
3088: -- wf_core.raise('WF_DUP_USER');
3089: -- end if;
3090:
3083: -- and ROLE_ORIG_SYSTEM_ID = 0;
3084:
3085: -- if (d1 > 0) then
3086: -- wf_core.token('USERNAME', role_users(userIND));
3087: -- wf_core.token('DISPNAME', '');
3088: -- wf_core.raise('WF_DUP_USER');
3089: -- end if;
3090:
3091: CreateUserRole(user_name=>role_users(userIND),
3084:
3085: -- if (d1 > 0) then
3086: -- wf_core.token('USERNAME', role_users(userIND));
3087: -- wf_core.token('DISPNAME', '');
3088: -- wf_core.raise('WF_DUP_USER');
3089: -- end if;
3090:
3091: CreateUserRole(user_name=>role_users(userIND),
3092: role_name=>AddUsersToAdHocRole2.role_name,
3108: end if;
3109:
3110: exception
3111: when others then
3112: wf_core.context('Wf_Directory', 'AddUsersToAdHocRole2',
3113: role_name);
3114: raise;
3115: end AddUsersToAdHocRole2;
3116:
3191: AND ORIG_SYSTEM_ID = SetUserAttr.orig_system_id
3192: AND PARTITION_ID = l_partitionID;
3193: exception
3194: when NO_DATA_FOUND then
3195: wf_core.token('USERNAME', user_name);
3196: wf_core.raise('WF_INVALID_USER');
3197: end;
3198:
3199: --
3192: AND PARTITION_ID = l_partitionID;
3193: exception
3194: when NO_DATA_FOUND then
3195: wf_core.token('USERNAME', user_name);
3196: wf_core.raise('WF_INVALID_USER');
3197: end;
3198:
3199: --
3200: -- Evaluate the WHO columns, and set default values if they are not passed
3446:
3447: end if;
3448: end if;
3449: if (sql%rowcount = 0) then
3450: wf_core.token('USERNAME', user_name);
3451: wf_core.raise('WF_INVALID_USER');
3452: end if;
3453:
3454: --We were able to update the record, so we will raise the updated event
3447: end if;
3448: end if;
3449: if (sql%rowcount = 0) then
3450: wf_core.token('USERNAME', user_name);
3451: wf_core.raise('WF_INVALID_USER');
3452: end if;
3453:
3454: --We were able to update the record, so we will raise the updated event
3455: --Build parameter list.
3470: l_params);
3471: WF_EVENT.AddParameterToList('FAX', SetUserAttr.fax, l_params);
3472: WF_EVENT.AddParameterToList('EXPIRATION_DATE',
3473: to_char(trunc(SetUserAttr.expiration_date),
3474: WF_CORE.Canonical_Date_Mask),
3475: l_params);
3476: WF_EVENT.AddParameterToList('STATUS', SetUserAttr.status, l_params);
3477: WF_EVENT.AddParameterToList('START_DATE',
3478: to_char(trunc(SetUserAttr.start_date),
3475: l_params);
3476: WF_EVENT.AddParameterToList('STATUS', SetUserAttr.status, l_params);
3477: WF_EVENT.AddParameterToList('START_DATE',
3478: to_char(trunc(SetUserAttr.start_date),
3479: WF_CORE.Canonical_Date_Mask),
3480: l_params);
3481: if ((((l_oldStartDate is NOT NULL) and
3482: (SetUserAttr.start_date is NOT NULL)) and
3483: (trunc(l_oldStartDate) <> trunc(SetUserAttr.start_date))) or
3485: (SetUserAttr.start_date is NULL and l_oldStartDate is NOT NULL))) then
3486:
3487: WF_EVENT.AddParameterToList('OLD_START_DATE',
3488: to_char(trunc(l_oldStartDate),
3489: WF_CORE.Canonical_Date_Mask),
3490: l_params);
3491: else
3492: WF_EVENT.AddParameterToList('OLD_START_DATE', '*UNDEFINED*',
3493: l_params);
3501: and l_oldEndDate is NOT NULL))) then
3502:
3503: WF_EVENT.AddParameterToList('OLD_END_DATE',
3504: to_char(trunc(l_oldEndDate),
3505: WF_CORE.Canonical_Date_Mask),
3506: l_params);
3507: else
3508: WF_EVENT.AddParameterToList('OLD_END_DATE', '*UNDEFINED*',
3509: l_params);
3512: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM',
3513: SetUserAttr.parent_orig_system, l_params);
3514: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM_ID',
3515: to_char(SetUserAttr.parent_orig_system_id ,
3516: WF_CORE.canonical_number_mask), l_params);
3517: WF_EVENT.AddParameterToList('OWNER_TAG', SetUserAttr.owner_tag, l_params);
3518: WF_EVENT.AddParameterToList('LAST_UPDATED_BY',
3519: to_char(SetUserAttr.last_updated_by,
3520: WF_CORE.canonical_number_mask), l_params);
3516: WF_CORE.canonical_number_mask), l_params);
3517: WF_EVENT.AddParameterToList('OWNER_TAG', SetUserAttr.owner_tag, l_params);
3518: WF_EVENT.AddParameterToList('LAST_UPDATED_BY',
3519: to_char(SetUserAttr.last_updated_by,
3520: WF_CORE.canonical_number_mask), l_params);
3521: WF_EVENT.AddParameterToList('LAST_UPDATE_DATE',
3522: to_char(SetUserAttr.last_update_date,
3523: WF_CORE.canonical_date_mask), l_params);
3524: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
3519: to_char(SetUserAttr.last_updated_by,
3520: WF_CORE.canonical_number_mask), l_params);
3521: WF_EVENT.AddParameterToList('LAST_UPDATE_DATE',
3522: to_char(SetUserAttr.last_update_date,
3523: WF_CORE.canonical_date_mask), l_params);
3524: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
3525: to_char(SetUserAttr.last_update_login ,
3526: WF_CORE.canonical_number_mask), l_params);
3527: WF_EVENT.AddParameterToList('CREATED_BY', to_char(SetUserAttr.created_by ,
3522: to_char(SetUserAttr.last_update_date,
3523: WF_CORE.canonical_date_mask), l_params);
3524: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
3525: to_char(SetUserAttr.last_update_login ,
3526: WF_CORE.canonical_number_mask), l_params);
3527: WF_EVENT.AddParameterToList('CREATED_BY', to_char(SetUserAttr.created_by ,
3528: WF_CORE.canonical_number_mask), l_params);
3529: WF_EVENT.AddParameterToList('CREATION_DATE',
3530: to_char(SetUserAttr.creation_date,
3524: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
3525: to_char(SetUserAttr.last_update_login ,
3526: WF_CORE.canonical_number_mask), l_params);
3527: WF_EVENT.AddParameterToList('CREATED_BY', to_char(SetUserAttr.created_by ,
3528: WF_CORE.canonical_number_mask), l_params);
3529: WF_EVENT.AddParameterToList('CREATION_DATE',
3530: to_char(SetUserAttr.creation_date,
3531: WF_CORE.canonical_date_mask), l_params);
3532: if (eventParams is not null and eventParams.count>0) then
3527: WF_EVENT.AddParameterToList('CREATED_BY', to_char(SetUserAttr.created_by ,
3528: WF_CORE.canonical_number_mask), l_params);
3529: WF_EVENT.AddParameterToList('CREATION_DATE',
3530: to_char(SetUserAttr.creation_date,
3531: WF_CORE.canonical_date_mask), l_params);
3532: if (eventParams is not null and eventParams.count>0) then
3533: for i in eventParams.first..eventParams.last loop
3534: WF_EVENT.AddParameterToList(upper(eventParams(i).getName()),
3535: eventParams(i).getValue(),l_params);
3540: p_event_key=>user_name, p_parameters=>l_params);
3541:
3542: exception
3543: when others then
3544: wf_core.context('Wf_Directory', 'SetUserAttr', user_name, display_name);
3545: raise;
3546: end SetUserAttr;
3547:
3548: --
3614: AND ORIG_SYSTEM_ID = SetRoleAttr.orig_system_id
3615: AND PARTITION_ID = l_partitionID;
3616: exception
3617: when NO_DATA_FOUND then
3618: WF_CORE.Token('ROLENAME', role_name);
3619: WF_CORE.Raise('WF_INVALID_ROLE');
3620: end;
3621: --
3622:
3615: AND PARTITION_ID = l_partitionID;
3616: exception
3617: when NO_DATA_FOUND then
3618: WF_CORE.Token('ROLENAME', role_name);
3619: WF_CORE.Raise('WF_INVALID_ROLE');
3620: end;
3621: --
3622:
3623:
3672: --lets keep the code here rather than end for better understanding
3673: --If the role information was not updated, we need to raise an
3674: --invalid role error so the caller can call the CreateRole api.
3675: if (sql%rowcount = 0) then
3676: WF_CORE.Token('ROLENAME', role_name);
3677: WF_CORE.Raise('WF_INVALID_ROLE');
3678: end if;
3679:
3680: else
3673: --If the role information was not updated, we need to raise an
3674: --invalid role error so the caller can call the CreateRole api.
3675: if (sql%rowcount = 0) then
3676: WF_CORE.Token('ROLENAME', role_name);
3677: WF_CORE.Raise('WF_INVALID_ROLE');
3678: end if;
3679:
3680: else
3681: update WF_LOCAL_ROLES
3708:
3709: --If the base role information was not updated, we need to raise an
3710: --invalid role error so the caller can call the CreateRole api.
3711: if (sql%rowcount = 0) then
3712: WF_CORE.Token('ROLENAME', role_name);
3713: WF_CORE.Raise('WF_INVALID_ROLE');
3714: end if;
3715:
3716: --Update the _TL table for the display_name and
3709: --If the base role information was not updated, we need to raise an
3710: --invalid role error so the caller can call the CreateRole api.
3711: if (sql%rowcount = 0) then
3712: WF_CORE.Token('ROLENAME', role_name);
3713: WF_CORE.Raise('WF_INVALID_ROLE');
3714: end if;
3715:
3716: --Update the _TL table for the display_name and
3717: --description
3820: --lets keep the code here rather than end for better understanding
3821: --If the role information was not updated, we need to raise an
3822: --invalid role error so the caller can call the CreateRole api.
3823: if (sql%rowcount = 0) then
3824: WF_CORE.Token('ROLENAME', role_name);
3825: WF_CORE.Raise('WF_INVALID_ROLE');
3826: end if;
3827:
3828: else
3821: --If the role information was not updated, we need to raise an
3822: --invalid role error so the caller can call the CreateRole api.
3823: if (sql%rowcount = 0) then
3824: WF_CORE.Token('ROLENAME', role_name);
3825: WF_CORE.Raise('WF_INVALID_ROLE');
3826: end if;
3827:
3828: else
3829: update WF_LOCAL_ROLES
3858:
3859: --If the base role information was not updated, we need to raise an
3860: --invalid role error so the caller can call the CreateRole api.
3861: if (sql%rowcount = 0) then
3862: WF_CORE.Token('ROLENAME', role_name);
3863: WF_CORE.Raise('WF_INVALID_ROLE');
3864: end if;
3865:
3866: --Update the _TL table for the display_name and
3859: --If the base role information was not updated, we need to raise an
3860: --invalid role error so the caller can call the CreateRole api.
3861: if (sql%rowcount = 0) then
3862: WF_CORE.Token('ROLENAME', role_name);
3863: WF_CORE.Raise('WF_INVALID_ROLE');
3864: end if;
3865:
3866: --Update the _TL table for the display_name and
3867: --description
3949: l_params);
3950: WF_EVENT.AddParameterToList('FAX', SetRoleAttr.fax, l_params);
3951: WF_EVENT.AddParameterToList('EXPIRATION_DATE',
3952: to_char(trunc(SetRoleAttr.expiration_date),
3953: WF_CORE.Canonical_Date_Mask),
3954: l_params);
3955: WF_EVENT.AddParameterToList('STATUS', SetRoleAttr.status, l_params);
3956: WF_EVENT.AddParameterToList('START_DATE',
3957: to_char(trunc(SetRoleAttr.start_date),
3954: l_params);
3955: WF_EVENT.AddParameterToList('STATUS', SetRoleAttr.status, l_params);
3956: WF_EVENT.AddParameterToList('START_DATE',
3957: to_char(trunc(SetRoleAttr.start_date),
3958: WF_CORE.Canonical_Date_Mask),
3959: l_params);
3960: if ((((l_oldStartDate is NOT NULL) and
3961: (SetRoleAttr.start_date is NOT NULL)) and
3962: (trunc(l_oldStartDate) <> trunc(SetRoleAttr.start_date))) or
3964: (SetRoleAttr.start_date is NULL and l_oldStartDate is NOT NULL))) then
3965:
3966: WF_EVENT.AddParameterToList('OLD_START_DATE',
3967: to_char(trunc(l_oldStartDate),
3968: WF_CORE.Canonical_Date_Mask),
3969: l_params);
3970: else
3971: WF_EVENT.AddParameterToList('OLD_START_DATE', '*UNDEFINED*',
3972: l_params);
3980: and l_oldEndDate is NOT NULL))) then
3981:
3982: WF_EVENT.AddParameterToList('OLD_END_DATE',
3983: to_char(trunc(l_oldEndDate),
3984: WF_CORE.Canonical_Date_Mask),
3985: l_params);
3986: else
3987: WF_EVENT.AddParameterToList('OLD_END_DATE', '*UNDEFINED*',
3988: l_params);
3991: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM',
3992: SetRoleAttr.parent_orig_system, l_params);
3993: WF_EVENT.AddParameterToList('PARENT_ORIG_SYSTEM_ID',
3994: to_char(SetRoleAttr.parent_orig_system_id ,
3995: WF_CORE.canonical_number_mask),l_params);
3996:
3997: WF_EVENT.AddParameterToList('OWNER_TAG', SetRoleAttr.owner_tag, l_params);
3998: WF_EVENT.AddParameterToList('LAST_UPDATED_BY',
3999: to_char(SetRoleAttr.last_updated_by ,
3996:
3997: WF_EVENT.AddParameterToList('OWNER_TAG', SetRoleAttr.owner_tag, l_params);
3998: WF_EVENT.AddParameterToList('LAST_UPDATED_BY',
3999: to_char(SetRoleAttr.last_updated_by ,
4000: WF_CORE.canonical_number_mask), l_params);
4001: WF_EVENT.AddParameterToList('LAST_UPDATE_DATE',
4002: to_char(SetRoleAttr.last_update_date,
4003: WF_CORE.canonical_date_mask), l_params);
4004: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
3999: to_char(SetRoleAttr.last_updated_by ,
4000: WF_CORE.canonical_number_mask), l_params);
4001: WF_EVENT.AddParameterToList('LAST_UPDATE_DATE',
4002: to_char(SetRoleAttr.last_update_date,
4003: WF_CORE.canonical_date_mask), l_params);
4004: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
4005: to_char(SetRoleAttr.last_update_login ,
4006: WF_CORE.canonical_number_mask), l_params);
4007: if (eventParams is not null and eventParams.count>0) then
4002: to_char(SetRoleAttr.last_update_date,
4003: WF_CORE.canonical_date_mask), l_params);
4004: WF_EVENT.AddParameterToList('LAST_UPDATE_LOGIN',
4005: to_char(SetRoleAttr.last_update_login ,
4006: WF_CORE.canonical_number_mask), l_params);
4007: if (eventParams is not null and eventParams.count>0) then
4008: for i in eventParams.first..eventParams.last loop
4009: WF_EVENT.AddParameterToList(upper(eventParams(i).getName()),
4010: eventParams(i).getValue(),l_params);
4014: p_event_key=>role_name, p_parameters=>l_params);
4015:
4016: exception
4017: when others then
4018: wf_core.context('Wf_Directory', 'SetRoleAttr', SetRoleAttr.role_name,
4019: SetRoleAttr.display_name);
4020: raise;
4021: end SetRoleAttr;
4022:
4048: status=>NULL);
4049:
4050: exception
4051: when others then
4052: wf_core.context('Wf_Directory', 'SetAdHocUserExpiration', user_name, expiration_date);
4053: raise;
4054: end SetAdHocUserExpiration;
4055:
4056: --
4081: status=>NULL);
4082:
4083: exception
4084: when others then
4085: wf_core.context('Wf_Directory', 'SetAdHocRoleExpiration', role_name,
4086: expiration_date);
4087: raise;
4088: end SetAdHocRoleExpiration;
4089:
4131: owner_tag=>SetAdhocUserAttr.owner_tag);
4132:
4133: exception
4134: when others then
4135: wf_core.context('Wf_Directory', 'SetAdHocUserAttr', user_name,
4136: display_name);
4137: raise;
4138: end SetAdHocUserAttr;
4139:
4181: owner_tag=>SetAdHocRoleAttr.owner_tag);
4182:
4183: exception
4184: when others then
4185: wf_core.context('Wf_Directory', 'SetAdHocRoleAttr', role_name,
4186: display_name);
4187: raise;
4188: end SetAdHocRoleAttr;
4189:
4243: and UR.ROLE_ORIG_SYSTEM = 'WF_LOCAL_ROLES'
4244: and UR.ROLE_ORIG_SYSTEM_ID = 0
4245: and UR.PARTITION_ID = 0;
4246: if (sql%rowcount = 0) then
4247: wf_core.token('USERNAME', user);
4248: wf_core.raise('WF_INVALID_USER');
4249: end if;
4250:
4251: -- Delete from wf_user_role_Assignments as well
4244: and UR.ROLE_ORIG_SYSTEM_ID = 0
4245: and UR.PARTITION_ID = 0;
4246: if (sql%rowcount = 0) then
4247: wf_core.token('USERNAME', user);
4248: wf_core.raise('WF_INVALID_USER');
4249: end if;
4250:
4251: -- Delete from wf_user_role_Assignments as well
4252: delete from WF_USER_ROLE_ASSIGNMENTS URA
4262: end if;
4263:
4264: exception
4265: when others then
4266: wf_core.context('Wf_Directory', 'RemoveUsersFromAdHocRole',
4267: role_name, '"'||role_users||'"');
4268: raise;
4269: end RemoveUsersFromAdHocRole;
4270:
4312: end if;
4313:
4314: exception
4315: when others then
4316: WF_CORE.Context('WF_DIRECTORY', 'ChangeLocalUserName', OldName, NewName);
4317: raise;
4318:
4319: end ChangeLocalUserName;
4320:
4519: p_partitionName := g_partitionName;
4520:
4521: exception
4522: when OTHERS then
4523: WF_CORE.Context('WF_DIRECTORY', 'AssignPartition', p_orig_system);
4524: raise;
4525: end;
4526:
4527: -- Bug 3090738
4841: WF_LOG_PKG.String(WF_LOG_PKG.LEVEL_EXCEPTION,
4842: 'WF_DIRECTORY.deleteRole',
4843: 'Role is still active. Make sure it is end dated ');
4844: end if;
4845: WF_CORE.Context('WF_DIRECTORY', 'deleteRole', p_name);
4846: WF_CORE.Token('ROLE',p_name);
4847: WF_CORE.Raise('WFDS_ROLE_ACTIVE');
4848: exception
4849: when no_data_found then
4842: 'WF_DIRECTORY.deleteRole',
4843: 'Role is still active. Make sure it is end dated ');
4844: end if;
4845: WF_CORE.Context('WF_DIRECTORY', 'deleteRole', p_name);
4846: WF_CORE.Token('ROLE',p_name);
4847: WF_CORE.Raise('WFDS_ROLE_ACTIVE');
4848: exception
4849: when no_data_found then
4850:
4843: 'Role is still active. Make sure it is end dated ');
4844: end if;
4845: WF_CORE.Context('WF_DIRECTORY', 'deleteRole', p_name);
4846: WF_CORE.Token('ROLE',p_name);
4847: WF_CORE.Raise('WFDS_ROLE_ACTIVE');
4848: exception
4849: when no_data_found then
4850:
4851: delete from wf_local_roles
4889:
4890:
4891: exception
4892: when others then
4893: WF_CORE.Context('WF_DIRECTORY', 'deleteRole', p_name);
4894: raise;
4895: end;
4896:
4897:
4932: or(p_rolename is not null and (p_roleOrigSystem is null
4933: or p_roleOrigSystemID is null))) then
4934:
4935: --raise error
4936: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username,p_rolename);
4937: WF_CORE.Raise('WFSQL_ARGS');
4938:
4939: elsif p_username is null then -- role has been passed
4940: begin
4933: or p_roleOrigSystemID is null))) then
4934:
4935: --raise error
4936: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username,p_rolename);
4937: WF_CORE.Raise('WFSQL_ARGS');
4938:
4939: elsif p_username is null then -- role has been passed
4940: begin
4941:
4969: 'WF_DIRECTORY.DeleteUserRole',
4970: 'User/Role assignment is still active. Make sure it is end dated ' ||
4971: 'and removed from any hierarchies');
4972: end if;
4973: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_rolename);
4974: WF_CORE.Token('ROLE',p_rolename);
4975: WF_CORE.Raise('WFDS_USER_ROLE_ACTIVE');
4976: exception
4977: when no_data_found then
4970: 'User/Role assignment is still active. Make sure it is end dated ' ||
4971: 'and removed from any hierarchies');
4972: end if;
4973: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_rolename);
4974: WF_CORE.Token('ROLE',p_rolename);
4975: WF_CORE.Raise('WFDS_USER_ROLE_ACTIVE');
4976: exception
4977: when no_data_found then
4978: -- assignment is truly end dated
4971: 'and removed from any hierarchies');
4972: end if;
4973: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_rolename);
4974: WF_CORE.Token('ROLE',p_rolename);
4975: WF_CORE.Raise('WFDS_USER_ROLE_ACTIVE');
4976: exception
4977: when no_data_found then
4978: -- assignment is truly end dated
4979:
5012: 'WF_DIRECTORY.DeleteUserRole',
5013: 'User/Role assignment is still active. Make sure it is end dated ' ||
5014: 'and removed from any hierarchies');
5015: end if;
5016: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username);
5017: WF_CORE.Token('ROLE',p_username);
5018: WF_CORE.Raise('WFDS_USER_ROLE_ACTIVE');
5019: exception
5020: when no_data_found then
5013: 'User/Role assignment is still active. Make sure it is end dated ' ||
5014: 'and removed from any hierarchies');
5015: end if;
5016: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username);
5017: WF_CORE.Token('ROLE',p_username);
5018: WF_CORE.Raise('WFDS_USER_ROLE_ACTIVE');
5019: exception
5020: when no_data_found then
5021: -- assignment is truly end dated
5014: 'and removed from any hierarchies');
5015: end if;
5016: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username);
5017: WF_CORE.Token('ROLE',p_username);
5018: WF_CORE.Raise('WFDS_USER_ROLE_ACTIVE');
5019: exception
5020: when no_data_found then
5021: -- assignment is truly end dated
5022:
5063: 'WF_DIRECTORY.DeleteUserRole',
5064: 'User/Role assignment is still active. Make sure it is end dated ' ||
5065: 'and removed from any hierarchies');
5066: end if;
5067: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username,p_rolename);
5068: WF_CORE.Token('ROLE',p_rolename);
5069: WF_CORE.Token('USER',p_username);
5070: WF_CORE.Raise('WFDS_ASSIGNMENT_ACTIVE');
5071: exception
5064: 'User/Role assignment is still active. Make sure it is end dated ' ||
5065: 'and removed from any hierarchies');
5066: end if;
5067: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username,p_rolename);
5068: WF_CORE.Token('ROLE',p_rolename);
5069: WF_CORE.Token('USER',p_username);
5070: WF_CORE.Raise('WFDS_ASSIGNMENT_ACTIVE');
5071: exception
5072: when no_data_found then
5065: 'and removed from any hierarchies');
5066: end if;
5067: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username,p_rolename);
5068: WF_CORE.Token('ROLE',p_rolename);
5069: WF_CORE.Token('USER',p_username);
5070: WF_CORE.Raise('WFDS_ASSIGNMENT_ACTIVE');
5071: exception
5072: when no_data_found then
5073: -- assignment is truly end dated
5066: end if;
5067: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username,p_rolename);
5068: WF_CORE.Token('ROLE',p_rolename);
5069: WF_CORE.Token('USER',p_username);
5070: WF_CORE.Raise('WFDS_ASSIGNMENT_ACTIVE');
5071: exception
5072: when no_data_found then
5073: -- assignment is truly end dated
5074:
5087: end;
5088: end if;
5089: exception
5090: when others then
5091: WF_CORE.Context('WF_DIRECTORY', 'DeleteUserRole', p_username,p_rolename);
5092: raise;
5093: end;
5094:
5095: