DBA Data[Home] [Help]

APPS.HR_SECURITY dependencies on HR_SECURITY

Line 1: PACKAGE BODY HR_SECURITY AS

1: PACKAGE BODY HR_SECURITY AS
2: /* $Header: hrscsec.pkb 120.3.12000000.3 2007/08/03 13:57:21 agolechh ship $ */
3: --
4: -- PRIVATE FUNCTIONS AND PROCEDURES
5: --

Line 77: --< get_hr_security_context >------------------------------------------

73: --
74: -- PUBLIC FUNCTIONS AND PROCEDURES
75: --
76: -----------------------------------------------------------------------
77: --< get_hr_security_context >------------------------------------------
78: -----------------------------------------------------------------------
79: --
80: FUNCTION get_hr_security_context
81: RETURN NUMBER

Line 80: FUNCTION get_hr_security_context

76: -----------------------------------------------------------------------
77: --< get_hr_security_context >------------------------------------------
78: -----------------------------------------------------------------------
79: --
80: FUNCTION get_hr_security_context
81: RETURN NUMBER
82: IS
83: BEGIN
84: return (hr_signon.g_hr_security_profile.security_profile_id);

Line 84: return (hr_signon.g_hr_security_profile.security_profile_id);

80: FUNCTION get_hr_security_context
81: RETURN NUMBER
82: IS
83: BEGIN
84: return (hr_signon.g_hr_security_profile.security_profile_id);
85: END get_hr_security_context;
86: --
87: -----------------------------------------------------------------------
88: --< get_security_profile >---------------------------------------------

Line 85: END get_hr_security_context;

81: RETURN NUMBER
82: IS
83: BEGIN
84: return (hr_signon.g_hr_security_profile.security_profile_id);
85: END get_hr_security_context;
86: --
87: -----------------------------------------------------------------------
88: --< get_security_profile >---------------------------------------------
89: -----------------------------------------------------------------------

Line 117: l_security_profile_id := NVL(get_hr_security_context,VIEW_ALL_PROFILE);

113: --
114: -- If the security context is not set then use the
115: -- seeded view all security profile.
116: --
117: l_security_profile_id := NVL(get_hr_security_context,VIEW_ALL_PROFILE);
118: ELSE
119: --
120: -- If the current schema is attached to a security profile
121: -- then return that otherwise we are in a custom schema and

Line 180: -- Here people in hr_security_internal.g_per_tbl are added to

176: -- For the mean-time, two sets of person cache are maintained.
177: -- This is not ideal, but has been done to prevent regressions, both
178: -- functional and performance, using the evaluate_access method;
179: -- g_person_list will be obsoleted going forward.
180: -- Here people in hr_security_internal.g_per_tbl are added to
181: -- g_person_list for backwards compatibility.
182: --
183: PROCEDURE sync_person_cache
184: IS

Line 193: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN

189:
190: --
191: -- Sync the two sets of cache.
192: --
193: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN
194: i := hr_security_internal.g_per_tbl.FIRST;
195: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP
196: g_person_list(i) := TRUE;
197: i := hr_security_internal.g_per_tbl.NEXT(i);

Line 194: i := hr_security_internal.g_per_tbl.FIRST;

190: --
191: -- Sync the two sets of cache.
192: --
193: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN
194: i := hr_security_internal.g_per_tbl.FIRST;
195: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP
196: g_person_list(i) := TRUE;
197: i := hr_security_internal.g_per_tbl.NEXT(i);
198: END LOOP;

Line 195: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP

191: -- Sync the two sets of cache.
192: --
193: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN
194: i := hr_security_internal.g_per_tbl.FIRST;
195: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP
196: g_person_list(i) := TRUE;
197: i := hr_security_internal.g_per_tbl.NEXT(i);
198: END LOOP;
199: END IF;

Line 197: i := hr_security_internal.g_per_tbl.NEXT(i);

193: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN
194: i := hr_security_internal.g_per_tbl.FIRST;
195: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP
196: g_person_list(i) := TRUE;
197: i := hr_security_internal.g_per_tbl.NEXT(i);
198: END LOOP;
199: END IF;
200:
201: END sync_person_cache;

Line 272: -- hr_security_internal.evaluate_access.

268:
269: --
270: -- Bug 3584578.
271: -- All supervisor security is now evaluated in
272: -- hr_security_internal.evaluate_access.
273: --
274: /* cursor get_super_people(p_top_person_id number,
275: p_max_levels number) is
276: select asg.person_id

Line 357: l_security_profile_id:=hr_security.get_security_profile;

353: OPEN csr_get_schema_mode;
354: FETCH csr_get_schema_mode into g_apps_schema_mode, g_org_id;
355: CLOSE csr_get_schema_mode;
356: --
357: l_security_profile_id:=hr_security.get_security_profile;
358: g_user_id:=fnd_global.user_id;
359: g_resp_id:=fnd_global.resp_id;
360: g_resp_appl_id:=fnd_global.resp_appl_id;
361: g_security_group_id:=fnd_global.security_group_id;

Line 381: raise_error('HR SECURITY ERROR : INVALID PROFILE VALUE '||l_security_profile_id);

377: FETCH csr_get_sec_prf INTO g_context;
378: --
379: IF csr_get_sec_prf%NOTFOUND THEN
380: CLOSE csr_get_sec_prf;
381: raise_error('HR SECURITY ERROR : INVALID PROFILE VALUE '||l_security_profile_id);
382: ELSE
383: CLOSE csr_get_sec_prf;
384: END IF;
385:

Line 435: -- hr_security_internal.evaluate_access.

431:
432: --
433: -- Bug 3584578.
434: -- All supervisor security is now evaluated in
435: -- hr_security_internal.evaluate_access.
436:
437: /*
438: --
439: -- look to see if we are using supervisor hierarchies

Line 573: -- hr_security_internal.evaluate_access keeps a separate person

569: -- Where user-based security or assignment-level security is used,
570: -- the security is dynamically assessed, otherwise it picks up
571: -- the permissions from per_person_list.
572: --
573: -- hr_security_internal.evaluate_access keeps a separate person
574: -- cache at the moment, although it is expected that g_person_list
575: -- can be completely replaced by g_per_tbl in the near future
576: -- (this exercise requires references to g_person_list to be
577: -- replaced by g_per_tbl).

Line 584: g_effective_date := hr_security_internal.get_effective_date;

580: --
581: -- Fetch the parameters that allow different modelling options.
582: -- THESE PARAMETERS ARE FOR DEVELOPMENT USE ONLY AT PRESENT.
583: --
584: g_effective_date := hr_security_internal.get_effective_date;
585: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;
586: l_use_static_lists := hr_security_internal.get_use_static_lists;
587:
588: hr_security_internal.evaluate_access

Line 585: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;

581: -- Fetch the parameters that allow different modelling options.
582: -- THESE PARAMETERS ARE FOR DEVELOPMENT USE ONLY AT PRESENT.
583: --
584: g_effective_date := hr_security_internal.get_effective_date;
585: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;
586: l_use_static_lists := hr_security_internal.get_use_static_lists;
587:
588: hr_security_internal.evaluate_access
589: (p_person_id => g_person_id

Line 586: l_use_static_lists := hr_security_internal.get_use_static_lists;

582: -- THESE PARAMETERS ARE FOR DEVELOPMENT USE ONLY AT PRESENT.
583: --
584: g_effective_date := hr_security_internal.get_effective_date;
585: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;
586: l_use_static_lists := hr_security_internal.get_use_static_lists;
587:
588: hr_security_internal.evaluate_access
589: (p_person_id => g_person_id
590: ,p_user_id => g_user_id

Line 588: hr_security_internal.evaluate_access

584: g_effective_date := hr_security_internal.get_effective_date;
585: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;
586: l_use_static_lists := hr_security_internal.get_use_static_lists;
587:
588: hr_security_internal.evaluate_access
589: (p_person_id => g_person_id
590: ,p_user_id => g_user_id
591: ,p_effective_date => g_effective_date
592: ,p_sec_prof_rec => g_context

Line 626: hr_security_internal.g_per_tbl.delete(g_person_id);

622:
623: -- remove the current user if required.
624: if g_context.exclude_person_flag='Y' then
625: --g_person_list.delete(g_person_id);--6012095 (Forward port of 5985232)
626: hr_security_internal.g_per_tbl.delete(g_person_id);
627: end if;
628: --
629:
630: END IF;

Line 647: hr_signon.initialize_hr_security;

643: -- 2876315
644: --
645: if ( hr_signon.session_context <> fnd_global.session_context )
646: then
647: hr_signon.initialize_hr_security;
648: initialise_globals;
649: end if;
650:
651:

Line 652: RETURN (NVL(hr_signon.g_hr_security_profile.view_all_flag

648: initialise_globals;
649: end if;
650:
651:
652: RETURN (NVL(hr_signon.g_hr_security_profile.view_all_flag
653: ,g_context.view_all_flag));
654:
655:
656: END view_all;

Line 671: if (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag,

667: -- Bug 2638726
668: -- DK 18-NOV-2002 Modified to use hr_signon cache
669: --
670:
671: if (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag,
672: g_context.restrict_by_supervisor_flag) = 'N'
673: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,
674: g_context.view_all_organizations_flag) = 'Y'
675: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,

Line 673: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,

669: --
670:
671: if (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag,
672: g_context.restrict_by_supervisor_flag) = 'N'
673: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,
674: g_context.view_all_organizations_flag) = 'Y'
675: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,
676: g_context.view_all_positions_flag) = 'Y'
677: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,

Line 675: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,

671: if (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag,
672: g_context.restrict_by_supervisor_flag) = 'N'
673: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,
674: g_context.view_all_organizations_flag) = 'Y'
675: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,
676: g_context.view_all_positions_flag) = 'Y'
677: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,
678: g_context.view_all_payrolls_flag) = 'Y'
679: and NVL(hr_signon.g_hr_security_profile.custom_restriction_flag,

Line 677: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,

673: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,
674: g_context.view_all_organizations_flag) = 'Y'
675: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,
676: g_context.view_all_positions_flag) = 'Y'
677: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,
678: g_context.view_all_payrolls_flag) = 'Y'
679: and NVL(hr_signon.g_hr_security_profile.custom_restriction_flag,
680: g_context.custom_restriction_flag) = 'N' ) then
681: RETURN true;

Line 679: and NVL(hr_signon.g_hr_security_profile.custom_restriction_flag,

675: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,
676: g_context.view_all_positions_flag) = 'Y'
677: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,
678: g_context.view_all_payrolls_flag) = 'Y'
679: and NVL(hr_signon.g_hr_security_profile.custom_restriction_flag,
680: g_context.custom_restriction_flag) = 'N' ) then
681: RETURN true;
682: else
683: RETURN false;

Line 694: if (NVL(hr_signon.g_hr_security_profile.view_all_applicants_flag

690: FUNCTION view_all_applicants
691: RETURN BOOLEAN
692: IS
693: BEGIN
694: if (NVL(hr_signon.g_hr_security_profile.view_all_applicants_flag
695: ,g_context.view_all_applicants_flag) = 'Y') then
696: RETURN TRUE;
697: else
698: return FALSE;

Line 711: if NVL(hr_signon.g_hr_security_profile.view_all_cwk_flag

707: FUNCTION view_all_cwk
708: RETURN BOOLEAN
709: IS
710: BEGIN
711: if NVL(hr_signon.g_hr_security_profile.view_all_cwk_flag
712: ,g_context.view_all_cwk_flag) = 'Y' then
713: return true;
714: else
715: return false;

Line 727: if NVL(hr_signon.g_hr_security_profile.view_all_contacts_flag

723: FUNCTION view_all_contacts
724: RETURN BOOLEAN
725: IS
726: BEGIN
727: if NVL(hr_signon.g_hr_security_profile.view_all_contacts_flag
728: ,g_context.view_all_contacts_flag) = 'Y' then
729: return true;
730: else
731: return false;

Line 744: if (nvl(hr_signon.g_hr_security_profile.view_all_candidates_flag,

740: --
741: begin
742: -- This function will return TRUE if iRecruitment is not installed
743: -- or view_all_candidates_flag is set to 'All'.
744: if (nvl(hr_signon.g_hr_security_profile.view_all_candidates_flag,
745: g_context.view_all_candidates_flag) = 'Y' or
746: nvl(fnd_profile.value('IRC_INSTALLED_FLAG'), 'N') = 'N') then
747: --
748: return true;

Line 766: if NVL(hr_signon.g_hr_security_profile.view_all_employees_flag

762: FUNCTION view_all_employees
763: RETURN BOOLEAN
764: IS
765: BEGIN
766: if NVL(hr_signon.g_hr_security_profile.view_all_employees_flag
767: ,g_context.view_all_employees_flag) = 'Y' then
768: return true;
769: else
770: return false;

Line 782: if (NVL(hr_signon.g_hr_security_profile.view_all_applicants_flag

778: FUNCTION restricted_applicants
779: RETURN BOOLEAN
780: IS
781: BEGIN
782: if (NVL(hr_signon.g_hr_security_profile.view_all_applicants_flag
783: ,g_context.view_all_applicants_flag) = 'N') then
784: RETURN TRUE;
785: else
786: return FALSE;

Line 798: if NVL(hr_signon.g_hr_security_profile.view_all_cwk_flag

794: FUNCTION restricted_cwk
795: RETURN BOOLEAN
796: IS
797: BEGIN
798: if NVL(hr_signon.g_hr_security_profile.view_all_cwk_flag
799: ,g_context.view_all_cwk_flag) = 'N' then
800: return true;
801: else
802: return false;

Line 814: if NVL(hr_signon.g_hr_security_profile.view_all_contacts_flag

810: FUNCTION restricted_contacts
811: RETURN BOOLEAN
812: IS
813: BEGIN
814: if NVL(hr_signon.g_hr_security_profile.view_all_contacts_flag
815: ,g_context.view_all_contacts_flag) = 'N' then
816: return true;
817: else
818: return false;

Line 830: if NVL(hr_signon.g_hr_security_profile.view_all_employees_flag

826: FUNCTION restricted_employees
827: RETURN BOOLEAN
828: IS
829: BEGIN
830: if NVL(hr_signon.g_hr_security_profile.view_all_employees_flag
831: ,g_context.view_all_employees_flag) = 'N' then
832: return true;
833: else
834: return false;

Line 847: (NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag

843: RETURN BOOLEAN
844: IS
845: BEGIN
846: RETURN
847: (NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag
848: ,g_context.view_all_organizations_flag) = 'Y' );
849: END view_all_organizations;
850: --
851: -----------------------------------------------------------------------

Line 860: (NVL(hr_signon.g_hr_security_profile.view_all_positions_flag

856: RETURN BOOLEAN
857: IS
858: BEGIN
859: RETURN
860: (NVL(hr_signon.g_hr_security_profile.view_all_positions_flag
861: ,g_context.view_all_positions_flag) = 'Y' );
862: END view_all_positions;
863: --
864: -----------------------------------------------------------------------

Line 873: (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag

869: RETURN BOOLEAN
870: IS
871: BEGIN
872: RETURN
873: (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag
874: ,g_context.restrict_by_supervisor_flag) = 'Y' );
875: END restrict_by_supervisor;
876: --
877: --

Line 888: (NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag

884: RETURN BOOLEAN
885: IS
886: BEGIN
887: RETURN
888: (NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag
889: ,g_context.view_all_payrolls_flag) = 'Y' );
890: END view_all_payrolls;
891: --
892: --

Line 903: (NVL(hr_signon.g_hr_security_profile.exclude_person_flag

899: RETURN BOOLEAN
900: IS
901: BEGIN
902: RETURN
903: (NVL(hr_signon.g_hr_security_profile.exclude_person_flag
904: ,g_context.exclude_person_flag) = 'Y' );
905: END exclude_person;
906: --
907: -----------------------------------------------------------------------

Line 919: hr_signon.initialize_hr_security;

915: IS
916: begin
917:
918: IF globals_need_refreshing THEN
919: hr_signon.initialize_hr_security;
920: initialise_globals;
921: END IF;
922: --
923: -- return g_person_list.exists(p_person_id); -- Fixed for bug 5985232

Line 924: return hr_security_internal.g_per_tbl.exists(p_person_id); -- Fixed for bug 5985232 (6320769)

920: initialise_globals;
921: END IF;
922: --
923: -- return g_person_list.exists(p_person_id); -- Fixed for bug 5985232
924: return hr_security_internal.g_per_tbl.exists(p_person_id); -- Fixed for bug 5985232 (6320769)
925:
926: END check_person_list;
927: --
928: -----------------------------------------------------------------------

Line 1162: if not hr_security_internal.per_access_known then

1158: end if;
1159: -- If security evaluation was deferred at logon, or if the person/
1160: -- assignment permissions are unknown for some other reason, use
1161: -- caching on demand to evaluate permissions on the fly.
1162: if not hr_security_internal.per_access_known then
1163: -- Passing a value to p_what_to_evaluate avoids evaluating
1164: -- permissions for irrelevant security criteria.
1165: hr_security_internal.evaluate_access(
1166: p_person_id => g_person_id

Line 1165: hr_security_internal.evaluate_access(

1161: -- caching on demand to evaluate permissions on the fly.
1162: if not hr_security_internal.per_access_known then
1163: -- Passing a value to p_what_to_evaluate avoids evaluating
1164: -- permissions for irrelevant security criteria.
1165: hr_security_internal.evaluate_access(
1166: p_person_id => g_person_id
1167: ,p_user_id => g_user_id
1168: ,p_effective_date => g_effective_date
1169: ,p_sec_prof_rec => g_context

Line 1170: ,p_what_to_evaluate => hr_security_internal.g_per_sec_only);

1166: p_person_id => g_person_id
1167: ,p_user_id => g_user_id
1168: ,p_effective_date => g_effective_date
1169: ,p_sec_prof_rec => g_context
1170: ,p_what_to_evaluate => hr_security_internal.g_per_sec_only);
1171: -- The two sets of person cache are synched.
1172: --sync_person_cache;--Fixed for bug 6012095(Fwd port of 5985232)
1173: --
1174: end if;

Line 1261: IF NOT hr_security_internal.per_access_known THEN

1257: -- or if the person / assignment permissions are unknown for
1258: -- some other reason, use caching on demand to evaluate
1259: -- permissions on the fly.
1260: --
1261: IF NOT hr_security_internal.per_access_known THEN
1262: --
1263: -- Passing a value to p_what_to_evaluate avoids evaluating
1264: -- permissions for irrelevant security criteria.
1265: --

Line 1266: hr_security_internal.evaluate_access

1262: --
1263: -- Passing a value to p_what_to_evaluate avoids evaluating
1264: -- permissions for irrelevant security criteria.
1265: --
1266: hr_security_internal.evaluate_access
1267: (p_person_id => g_person_id
1268: ,p_user_id => g_user_id
1269: ,p_effective_date => g_effective_date
1270: ,p_sec_prof_rec => g_context

Line 1271: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY);

1267: (p_person_id => g_person_id
1268: ,p_user_id => g_user_id
1269: ,p_effective_date => g_effective_date
1270: ,p_sec_prof_rec => g_context
1271: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY);
1272:
1273: --
1274: -- The two sets of person cache are synched.
1275: --

Line 1405: IF NOT hr_security_internal.per_access_known THEN

1401: -- or if the person / assignment permissions are unknown for
1402: -- some other reason, use caching on demand to evaluate
1403: -- permissions on the fly.
1404: --
1405: IF NOT hr_security_internal.per_access_known THEN
1406: --
1407: -- Passing a value to p_what_to_evaluate avoids evaluating
1408: -- permissions for irrelevant security criteria.
1409: --

Line 1410: hr_security_internal.evaluate_access

1406: --
1407: -- Passing a value to p_what_to_evaluate avoids evaluating
1408: -- permissions for irrelevant security criteria.
1409: --
1410: hr_security_internal.evaluate_access
1411: (p_person_id => g_person_id
1412: ,p_user_id => g_user_id
1413: ,p_effective_date => g_effective_date
1414: ,p_sec_prof_rec => g_context

Line 1415: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY);

1411: (p_person_id => g_person_id
1412: ,p_user_id => g_user_id
1413: ,p_effective_date => g_effective_date
1414: ,p_sec_prof_rec => g_context
1415: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY);
1416:
1417: --
1418: -- The two sets of person cache are synched.
1419: --

Line 1430: IF hr_security_internal.g_asg_tbl.EXISTS(p_assignment_id) THEN

1426: -- the assignments list, rather than the person list.
1427: --
1428: IF NVL(g_context.restrict_on_individual_asg, 'N') = 'Y'
1429: THEN
1430: IF hr_security_internal.g_asg_tbl.EXISTS(p_assignment_id) THEN
1431: RETURN 'TRUE';
1432: ELSE
1433: RETURN 'FALSE';
1434: END IF;

Line 1438: -- referencing hr_security_internal.g_per_tbl until

1434: END IF;
1435: ELSE
1436: --
1437: -- For safety, continue using check_person_list rather than
1438: -- referencing hr_security_internal.g_per_tbl until
1439: -- evaluate_access does all the work.
1440: --
1441: IF check_person_list(p_person_id) THEN
1442: RETURN 'TRUE';

Line 1480: IF NOT hr_security_internal.org_access_known THEN

1476: -- or if organization permissions are unknown for
1477: -- some other reason, use caching on demand to evaluate
1478: -- permissions on the fly.
1479: --
1480: IF NOT hr_security_internal.org_access_known THEN
1481: --
1482: -- Passing a value to p_what_to_evaluate avoids evaluating
1483: -- permissions for non-org security criteria.
1484: --

Line 1485: hr_security_internal.evaluate_access

1481: --
1482: -- Passing a value to p_what_to_evaluate avoids evaluating
1483: -- permissions for non-org security criteria.
1484: --
1485: hr_security_internal.evaluate_access
1486: (p_person_id => g_person_id
1487: ,p_user_id => g_user_id
1488: ,p_effective_date => g_effective_date
1489: ,p_sec_prof_rec => g_context

Line 1490: ,p_what_to_evaluate => hr_security_internal.g_ORG_SEC_ONLY);

1486: (p_person_id => g_person_id
1487: ,p_user_id => g_user_id
1488: ,p_effective_date => g_effective_date
1489: ,p_sec_prof_rec => g_context
1490: ,p_what_to_evaluate => hr_security_internal.g_ORG_SEC_ONLY);
1491: END IF;
1492:
1493: IF hr_security_internal.g_org_tbl.EXISTS(p_organization_id) THEN
1494: RETURN 'TRUE';

Line 1493: IF hr_security_internal.g_org_tbl.EXISTS(p_organization_id) THEN

1489: ,p_sec_prof_rec => g_context
1490: ,p_what_to_evaluate => hr_security_internal.g_ORG_SEC_ONLY);
1491: END IF;
1492:
1493: IF hr_security_internal.g_org_tbl.EXISTS(p_organization_id) THEN
1494: RETURN 'TRUE';
1495: ELSE
1496: RETURN 'FALSE';
1497: END IF;

Line 1531: IF NOT hr_security_internal.pos_access_known THEN

1527: -- or if position permissions are unknown for
1528: -- some other reason, use caching on demand to evaluate
1529: -- permissions on the fly.
1530: --
1531: IF NOT hr_security_internal.pos_access_known THEN
1532: --
1533: -- Passing a value to p_what_to_evaluate avoids evaluating
1534: -- permissions for non-pos security criteria.
1535: --

Line 1536: hr_security_internal.evaluate_access

1532: --
1533: -- Passing a value to p_what_to_evaluate avoids evaluating
1534: -- permissions for non-pos security criteria.
1535: --
1536: hr_security_internal.evaluate_access
1537: (p_person_id => g_person_id
1538: ,p_user_id => g_user_id
1539: ,p_effective_date => g_effective_date
1540: ,p_sec_prof_rec => g_context

Line 1541: ,p_what_to_evaluate => hr_security_internal.g_POS_SEC_ONLY);

1537: (p_person_id => g_person_id
1538: ,p_user_id => g_user_id
1539: ,p_effective_date => g_effective_date
1540: ,p_sec_prof_rec => g_context
1541: ,p_what_to_evaluate => hr_security_internal.g_POS_SEC_ONLY);
1542: END IF;
1543:
1544: IF hr_security_internal.g_pos_tbl.EXISTS(p_position_id) THEN
1545: RETURN 'TRUE';

Line 1544: IF hr_security_internal.g_pos_tbl.EXISTS(p_position_id) THEN

1540: ,p_sec_prof_rec => g_context
1541: ,p_what_to_evaluate => hr_security_internal.g_POS_SEC_ONLY);
1542: END IF;
1543:
1544: IF hr_security_internal.g_pos_tbl.EXISTS(p_position_id) THEN
1545: RETURN 'TRUE';
1546: ELSE
1547: RETURN 'FALSE';
1548: END IF;

Line 1582: IF NOT hr_security_internal.pay_access_known THEN

1578: -- or if payroll permissions are unknown for
1579: -- some other reason, use caching on demand to evaluate
1580: -- permissions on the fly.
1581: --
1582: IF NOT hr_security_internal.pay_access_known THEN
1583: --
1584: -- Passing a value to p_what_to_evaluate avoids evaluating
1585: -- permissions for non-pos security criteria.
1586: --

Line 1587: hr_security_internal.evaluate_access

1583: --
1584: -- Passing a value to p_what_to_evaluate avoids evaluating
1585: -- permissions for non-pos security criteria.
1586: --
1587: hr_security_internal.evaluate_access
1588: (p_person_id => g_person_id
1589: ,p_user_id => g_user_id
1590: ,p_effective_date => g_effective_date
1591: ,p_sec_prof_rec => g_context

Line 1592: ,p_what_to_evaluate => hr_security_internal.g_PAY_SEC_ONLY);

1588: (p_person_id => g_person_id
1589: ,p_user_id => g_user_id
1590: ,p_effective_date => g_effective_date
1591: ,p_sec_prof_rec => g_context
1592: ,p_what_to_evaluate => hr_security_internal.g_PAY_SEC_ONLY);
1593: END IF;
1594:
1595: IF hr_security_internal.g_pay_tbl.EXISTS(p_payroll_id) THEN
1596: RETURN 'TRUE';

Line 1595: IF hr_security_internal.g_pay_tbl.EXISTS(p_payroll_id) THEN

1591: ,p_sec_prof_rec => g_context
1592: ,p_what_to_evaluate => hr_security_internal.g_PAY_SEC_ONLY);
1593: END IF;
1594:
1595: IF hr_security_internal.g_pay_tbl.EXISTS(p_payroll_id) THEN
1596: RETURN 'TRUE';
1597: ELSE
1598: RETURN 'FALSE';
1599: END IF;

Line 1748: hr_signon.initialize_hr_security;

1744: --
1745: -- 3676633
1746: --
1747: IF ( globals_need_refreshing ) THEN
1748: hr_signon.initialize_hr_security;
1749: initialise_globals;
1750: END IF;
1751:
1752:

Line 1791: raise_error ('HR_SECURITY : INVALID TABLE NAME');

1787: p_manager_id => p_val3,
1788: p_security_method => p_val4,
1789: p_business_group_id => p_val5));
1790: ELSE
1791: raise_error ('HR_SECURITY : INVALID TABLE NAME');
1792: END IF;
1793: END show_record;
1794: --
1795: -----------------------------------------------------------------------

Line 1873: hr_signon.initialize_hr_security;

1869: -- by calling evaluate_access with the g_mo_contexts (see below).
1870: -- If MO: Security Profile has no value, the context is already
1871: -- set to HR: Security Profile.
1872: --
1873: hr_signon.initialize_hr_security;
1874: initialise_globals;
1875: END IF;
1876:
1877: --

Line 1987: hr_security_internal.evaluate_access

1983: IF NOT g_mo_org_sec_known THEN
1984: --
1985: -- Re-evaluate organization security using the g_mo_context.
1986: --
1987: hr_security_internal.evaluate_access
1988: (p_person_id => g_mo_person_id
1989: ,p_user_id => g_user_id
1990: ,p_effective_date => g_effective_date
1991: ,p_sec_prof_rec => g_mo_context

Line 1992: ,p_what_to_evaluate => hr_security_internal.g_ORG_SEC_ONLY);

1988: (p_person_id => g_mo_person_id
1989: ,p_user_id => g_user_id
1990: ,p_effective_date => g_effective_date
1991: ,p_sec_prof_rec => g_mo_context
1992: ,p_what_to_evaluate => hr_security_internal.g_ORG_SEC_ONLY);
1993:
1994: --
1995: -- Set this flag so that the permissions are not re-evaluated
1996: -- with each function call. This flag is reset back to false

Line 2004: IF hr_security_internal.g_org_tbl.EXISTS(p_org_id) THEN

2000: g_mo_org_sec_known := TRUE;
2001:
2002: END IF;
2003:
2004: IF hr_security_internal.g_org_tbl.EXISTS(p_org_id) THEN
2005: RETURN 'TRUE';
2006: ELSE
2007: RETURN 'FALSE';
2008: END IF;

Line 2026: hr_signon.initialize_hr_security;

2022: ,p_assignment_id number) is
2023: begin
2024:
2025: IF globals_need_refreshing THEN
2026: hr_signon.initialize_hr_security;
2027: initialise_globals;
2028: END IF;
2029:
2030: IF g_context.view_all_flag <> 'Y' AND

Line 2035: hr_security_internal.g_asg_tbl(p_assignment_id) := p_person_id;

2031: NVL(g_context.restrict_on_individual_asg, 'N') = 'Y' AND
2032: p_person_id IS NOT NULL AND
2033: p_assignment_id IS NOT NULL
2034: THEN
2035: hr_security_internal.g_asg_tbl(p_assignment_id) := p_person_id;
2036: END IF;
2037:
2038: end add_assignment;
2039: --

Line 2049: hr_signon.initialize_hr_security;

2045: --
2046: begin
2047: --
2048: if globals_need_refreshing then
2049: hr_signon.initialize_hr_security;
2050: initialise_globals;
2051: end if;
2052: --
2053: if g_context.view_all_flag <> 'Y' then

Line 2056: hr_security_internal.g_per_tbl(p_person_id) := TRUE;

2052: --
2053: if g_context.view_all_flag <> 'Y' then
2054: --
2055: --g_person_list(p_person_id) := TRUE;--6012095(Forward port of 5985232)
2056: hr_security_internal.g_per_tbl(p_person_id) := TRUE;
2057: --
2058: end if;
2059: --
2060: end add_person;

Line 2070: hr_security_internal.g_per_tbl.delete(p_person_id);

2066: procedure remove_person(p_person_id number) is
2067: begin
2068: if g_context.view_all_flag<>'Y' then
2069: -- g_person_list.delete(p_person_id); --6012095(Forward port of 5985232)
2070: hr_security_internal.g_per_tbl.delete(p_person_id);
2071: end if;
2072: end remove_person;
2073: --
2074: -----------------------------------------------------------------------

Line 2084: hr_signon.initialize_hr_security;

2080: p_security_Profile_id number) is
2081: begin
2082: --
2083: IF globals_need_refreshing THEN
2084: hr_signon.initialize_hr_security;
2085: initialise_globals;
2086: END IF;
2087: --
2088: IF g_context.view_all_flag <> 'Y' AND

Line 2092: hr_security_internal.g_org_tbl(p_organization_id) := TRUE;

2088: IF g_context.view_all_flag <> 'Y' AND
2089: g_context.view_all_organizations_flag = 'N' AND
2090: p_organization_id IS NOT NULL
2091: THEN
2092: hr_security_internal.g_org_tbl(p_organization_id) := TRUE;
2093: END IF;
2094: --
2095: IF (NVL(g_context.top_organization_method, 'S') <> 'U') THEN
2096: hr_security_internal.add_org_to_security_list(p_security_Profile_id,

Line 2096: hr_security_internal.add_org_to_security_list(p_security_Profile_id,

2092: hr_security_internal.g_org_tbl(p_organization_id) := TRUE;
2093: END IF;
2094: --
2095: IF (NVL(g_context.top_organization_method, 'S') <> 'U') THEN
2096: hr_security_internal.add_org_to_security_list(p_security_Profile_id,
2097: p_organization_id);
2098: END IF;
2099: --
2100: end add_organization;

Line 2113: hr_signon.initialize_hr_security;

2109: p_security_profile_id number) is
2110: begin
2111: --
2112: IF globals_need_refreshing THEN
2113: hr_signon.initialize_hr_security;
2114: initialise_globals;
2115: END IF;
2116: --
2117: IF g_context.view_all_flag <> 'Y' AND

Line 2121: hr_security_internal.g_pos_tbl(p_position_id) := TRUE;

2117: IF g_context.view_all_flag <> 'Y' AND
2118: g_context.view_all_positions_flag = 'N' AND
2119: p_position_id IS NOT NULL
2120: THEN
2121: hr_security_internal.g_pos_tbl(p_position_id) := TRUE;
2122: END IF;
2123: --
2124: IF (NVL(g_context.top_position_method, 'S') <> 'U') THEN
2125: hr_security_internal.add_pos_to_security_list(p_security_profile_id,

Line 2125: hr_security_internal.add_pos_to_security_list(p_security_profile_id,

2121: hr_security_internal.g_pos_tbl(p_position_id) := TRUE;
2122: END IF;
2123: --
2124: IF (NVL(g_context.top_position_method, 'S') <> 'U') THEN
2125: hr_security_internal.add_pos_to_security_list(p_security_profile_id,
2126: p_position_id);
2127: END IF;
2128: --
2129: end add_position;

Line 2141: hr_signon.initialize_hr_security;

2137: (p_payroll_id number) is
2138: begin
2139:
2140: IF globals_need_refreshing THEN
2141: hr_signon.initialize_hr_security;
2142: initialise_globals;
2143: END IF;
2144:
2145: IF g_context.view_all_flag <> 'Y' AND

Line 2149: hr_security_internal.g_pay_tbl(p_payroll_id) := TRUE;

2145: IF g_context.view_all_flag <> 'Y' AND
2146: g_context.view_all_payrolls_flag = 'N' AND
2147: p_payroll_id IS NOT NULL
2148: THEN
2149: hr_security_internal.g_pay_tbl(p_payroll_id) := TRUE;
2150: END IF;
2151:
2152: end add_payroll;
2153: --

Line 2165: hr_signon.initialize_hr_security;

2161: begin
2162: if fnd_global.user_id <> -1 then
2163:
2164: if globals_need_refreshing then
2165: hr_signon.initialize_hr_security;
2166: initialise_globals;
2167: end if;
2168:
2169: return g_context.business_group_id;

Line 2189: hr_signon.initialize_hr_security;

2185: --
2186: -- Ensure the cache is up to date.
2187: --
2188: IF globals_need_refreshing THEN
2189: hr_signon.initialize_hr_security;
2190: initialise_globals;
2191: END IF;
2192:
2193: --

Line 2196: RETURN (NVL(hr_signon.g_hr_security_profile.restrict_on_individual_asg

2192:
2193: --
2194: -- Return the restrict on individual assignment flag.
2195: --
2196: RETURN (NVL(hr_signon.g_hr_security_profile.restrict_on_individual_asg
2197: ,NVL(g_context.restrict_on_individual_asg, 'N')) = 'Y');
2198:
2199: END restrict_on_individual_asg;
2200: --

Line 2214: hr_signon.initialize_hr_security;

2210: --
2211: -- Ensure the cache is up to date.
2212: --
2213: IF globals_need_refreshing THEN
2214: hr_signon.initialize_hr_security;
2215: initialise_globals;
2216: END IF;
2217:
2218: --

Line 2221: RETURN (NVL(hr_signon.g_hr_security_profile.restrict_on_individual_asg

2217:
2218: --
2219: -- Return the type of supervisor security.
2220: --
2221: RETURN (NVL(hr_signon.g_hr_security_profile.restrict_on_individual_asg
2222: ,NVL(g_context.restrict_on_individual_asg, 'N')));
2223:
2224: END restrict_by_supervisor_flag;
2225: --

Line 2230: hr_security_internal.delete_security_list_for_bg(p_business_group_id);

2226: --
2227: PROCEDURE delete_list_for_bg(p_business_group_id NUMBER)
2228: IS
2229: BEGIN
2230: hr_security_internal.delete_security_list_for_bg(p_business_group_id);
2231: END;
2232: --
2233: --
2234: PROCEDURE delete_per_from_list(p_person_id number)

Line 2237: hr_security_internal.delete_per_from_security_list(p_person_id);

2233: --
2234: PROCEDURE delete_per_from_list(p_person_id number)
2235: IS
2236: BEGIN
2237: hr_security_internal.delete_per_from_security_list(p_person_id);
2238: END;
2239: --
2240: --
2241: PROCEDURE delete_org_from_list(p_organization_id number)

Line 2244: hr_security_internal.delete_org_from_security_list(p_organization_id);

2240: --
2241: PROCEDURE delete_org_from_list(p_organization_id number)
2242: IS
2243: BEGIN
2244: hr_security_internal.delete_org_from_security_list(p_organization_id);
2245: END;
2246: --
2247: --
2248: PROCEDURE delete_pos_from_list(p_position_id number)

Line 2251: hr_security_internal.delete_pos_from_security_list(p_position_id);

2247: --
2248: PROCEDURE delete_pos_from_list(p_position_id number)
2249: IS
2250: BEGIN
2251: hr_security_internal.delete_pos_from_security_list(p_position_id);
2252: END;
2253: --
2254: --
2255: PROCEDURE delete_payroll_from_list(p_payroll_id number)

Line 2258: hr_security_internal.delete_pay_from_security_list(p_payroll_id);

2254: --
2255: PROCEDURE delete_payroll_from_list(p_payroll_id number)
2256: IS
2257: BEGIN
2258: hr_security_internal.delete_pay_from_security_list(p_payroll_id);
2259: END;
2260: --
2261: --
2262: -------------------------------------------------------------------------

Line 2270: hr_signon.initialize_hr_security;

2266: BEGIN
2267: --
2268: -- Initialise package global variables
2269: --
2270: hr_signon.initialize_hr_security;
2271: Initialise_Globals;
2272: --
2273: END HR_SECURITY;

Line 2273: END HR_SECURITY;

2269: --
2270: hr_signon.initialize_hr_security;
2271: Initialise_Globals;
2272: --
2273: END HR_SECURITY;