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.9.12020000.8 2013/02/21 09:33:54 karthmoh ship $ */
3: --
4: -- PRIVATE FUNCTIONS AND PROCEDURES
5: --

Line 80: --< get_hr_security_context >------------------------------------------

76: --
77: -- PUBLIC FUNCTIONS AND PROCEDURES
78: --
79: -----------------------------------------------------------------------
80: --< get_hr_security_context >------------------------------------------
81: -----------------------------------------------------------------------
82: --
83: FUNCTION get_hr_security_context
84: RETURN NUMBER

Line 83: FUNCTION get_hr_security_context

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

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

83: FUNCTION get_hr_security_context
84: RETURN NUMBER
85: IS
86: BEGIN
87: return (hr_signon.g_hr_security_profile.security_profile_id);
88: END get_hr_security_context;
89:
90: -----------------------------------------------------------------------
91: --< is_user_rtm >------------------------------------------

Line 88: END get_hr_security_context;

84: RETURN NUMBER
85: IS
86: BEGIN
87: return (hr_signon.g_hr_security_profile.security_profile_id);
88: END get_hr_security_context;
89:
90: -----------------------------------------------------------------------
91: --< is_user_rtm >------------------------------------------
92: -----------------------------------------------------------------------

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

129: --
130: -- If the security context is not set then use the
131: -- seeded view all security profile.
132: --
133: l_security_profile_id := NVL(get_hr_security_context,VIEW_ALL_PROFILE);
134: ELSE
135: --
136: -- If the current schema is attached to a security profile
137: -- then return that otherwise we are in a custom schema and

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

192: -- For the mean-time, two sets of person cache are maintained.
193: -- This is not ideal, but has been done to prevent regressions, both
194: -- functional and performance, using the evaluate_access method;
195: -- g_person_list will be obsoleted going forward.
196: -- Here people in hr_security_internal.g_per_tbl are added to
197: -- g_person_list for backwards compatibility.
198: --
199: PROCEDURE sync_person_cache
200: IS

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

205:
206: --
207: -- Sync the two sets of cache.
208: --
209: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN
210: i := hr_security_internal.g_per_tbl.FIRST;
211: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP
212: g_person_list(i) := TRUE;
213: i := hr_security_internal.g_per_tbl.NEXT(i);

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

206: --
207: -- Sync the two sets of cache.
208: --
209: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN
210: i := hr_security_internal.g_per_tbl.FIRST;
211: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP
212: g_person_list(i) := TRUE;
213: i := hr_security_internal.g_per_tbl.NEXT(i);
214: END LOOP;

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

207: -- Sync the two sets of cache.
208: --
209: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN
210: i := hr_security_internal.g_per_tbl.FIRST;
211: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP
212: g_person_list(i) := TRUE;
213: i := hr_security_internal.g_per_tbl.NEXT(i);
214: END LOOP;
215: END IF;

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

209: IF hr_security_internal.g_per_tbl.COUNT > 0 THEN
210: i := hr_security_internal.g_per_tbl.FIRST;
211: WHILE i <= hr_security_internal.g_per_tbl.LAST LOOP
212: g_person_list(i) := TRUE;
213: i := hr_security_internal.g_per_tbl.NEXT(i);
214: END LOOP;
215: END IF;
216:
217: END sync_person_cache;

Line 298: -- hr_security_internal.evaluate_access.

294:
295: --
296: -- Bug 3584578.
297: -- All supervisor security is now evaluated in
298: -- hr_security_internal.evaluate_access.
299: --
300: /* cursor get_super_people(p_top_person_id number,
301: p_max_levels number) is
302: select asg.person_id

Line 384: l_security_profile_id:=hr_security.get_security_profile;

380: OPEN csr_get_schema_mode;
381: FETCH csr_get_schema_mode into g_apps_schema_mode, g_org_id;
382: CLOSE csr_get_schema_mode;
383: --
384: l_security_profile_id:=hr_security.get_security_profile;
385: g_user_id:=fnd_global.user_id;
386: g_resp_id:=fnd_global.resp_id;
387: g_resp_appl_id:=fnd_global.resp_appl_id;
388: g_security_group_id:=fnd_global.security_group_id;

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

404: FETCH csr_get_sec_prf INTO g_context;
405: --
406: IF csr_get_sec_prf%NOTFOUND THEN
407: CLOSE csr_get_sec_prf;
408: raise_error('HR SECURITY ERROR : INVALID PROFILE VALUE '||l_security_profile_id);
409: ELSE
410: CLOSE csr_get_sec_prf;
411: END IF;
412:

Line 470: -- hr_security_internal.evaluate_access.

466:
467: --
468: -- Bug 3584578.
469: -- All supervisor security is now evaluated in
470: -- hr_security_internal.evaluate_access.
471:
472: /*
473: --
474: -- look to see if we are using supervisor hierarchies

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

604: -- Where user-based security or assignment-level security is used,
605: -- the security is dynamically assessed, otherwise it picks up
606: -- the permissions from per_person_list.
607: --
608: -- hr_security_internal.evaluate_access keeps a separate person
609: -- cache at the moment, although it is expected that g_person_list
610: -- can be completely replaced by g_per_tbl in the near future
611: -- (this exercise requires references to g_person_list to be
612: -- replaced by g_per_tbl).

Line 619: g_effective_date := hr_security_internal.get_effective_date;

615: --
616: -- Fetch the parameters that allow different modelling options.
617: -- THESE PARAMETERS ARE FOR DEVELOPMENT USE ONLY AT PRESENT.
618: --
619: g_effective_date := hr_security_internal.get_effective_date;
620: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;
621: l_use_static_lists := hr_security_internal.get_use_static_lists;
622:
623: hr_security_internal.evaluate_access

Line 620: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;

616: -- Fetch the parameters that allow different modelling options.
617: -- THESE PARAMETERS ARE FOR DEVELOPMENT USE ONLY AT PRESENT.
618: --
619: g_effective_date := hr_security_internal.get_effective_date;
620: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;
621: l_use_static_lists := hr_security_internal.get_use_static_lists;
622:
623: hr_security_internal.evaluate_access
624: (p_person_id => g_person_id

Line 621: l_use_static_lists := hr_security_internal.get_use_static_lists;

617: -- THESE PARAMETERS ARE FOR DEVELOPMENT USE ONLY AT PRESENT.
618: --
619: g_effective_date := hr_security_internal.get_effective_date;
620: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;
621: l_use_static_lists := hr_security_internal.get_use_static_lists;
622:
623: hr_security_internal.evaluate_access
624: (p_person_id => g_person_id
625: ,p_user_id => g_user_id

Line 623: hr_security_internal.evaluate_access

619: g_effective_date := hr_security_internal.get_effective_date;
620: l_what_to_evaluate := hr_security_internal.get_what_to_evaluate;
621: l_use_static_lists := hr_security_internal.get_use_static_lists;
622:
623: hr_security_internal.evaluate_access
624: (p_person_id => g_person_id
625: ,p_user_id => g_user_id
626: ,p_effective_date => g_effective_date
627: ,p_sec_prof_rec => g_context

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

657:
658: -- remove the current user if required.
659: if g_context.exclude_person_flag='Y' then
660: --g_person_list.delete(g_person_id);--6012095 (Forward port of 5985232)
661: hr_security_internal.g_per_tbl.delete(g_person_id);
662: end if;
663: --
664:
665: END IF;

Line 682: hr_signon.initialize_hr_security;

678: -- 2876315
679: --
680: if ( hr_signon.session_context <> fnd_global.session_context )
681: then
682: hr_signon.initialize_hr_security;
683: initialise_globals;
684: end if;
685:
686:

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

683: initialise_globals;
684: end if;
685:
686:
687: RETURN (NVL(hr_signon.g_hr_security_profile.view_all_flag
688: ,g_context.view_all_flag));
689:
690:
691: END view_all;

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

702: -- Bug 2638726
703: -- DK 18-NOV-2002 Modified to use hr_signon cache
704: --
705:
706: if (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag,
707: g_context.restrict_by_supervisor_flag) = 'N'
708: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,
709: g_context.view_all_organizations_flag) = 'Y'
710: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,

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

704: --
705:
706: if (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag,
707: g_context.restrict_by_supervisor_flag) = 'N'
708: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,
709: g_context.view_all_organizations_flag) = 'Y'
710: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,
711: g_context.view_all_positions_flag) = 'Y'
712: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,

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

706: if (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag,
707: g_context.restrict_by_supervisor_flag) = 'N'
708: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,
709: g_context.view_all_organizations_flag) = 'Y'
710: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,
711: g_context.view_all_positions_flag) = 'Y'
712: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,
713: g_context.view_all_payrolls_flag) = 'Y'
714: and NVL(hr_signon.g_hr_security_profile.custom_restriction_flag,

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

708: and NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag,
709: g_context.view_all_organizations_flag) = 'Y'
710: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,
711: g_context.view_all_positions_flag) = 'Y'
712: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,
713: g_context.view_all_payrolls_flag) = 'Y'
714: and NVL(hr_signon.g_hr_security_profile.custom_restriction_flag,
715: g_context.custom_restriction_flag) = 'N' ) then
716: RETURN true;

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

710: and NVL(hr_signon.g_hr_security_profile.view_all_positions_flag,
711: g_context.view_all_positions_flag) = 'Y'
712: and NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag,
713: g_context.view_all_payrolls_flag) = 'Y'
714: and NVL(hr_signon.g_hr_security_profile.custom_restriction_flag,
715: g_context.custom_restriction_flag) = 'N' ) then
716: RETURN true;
717: else
718: RETURN false;

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

725: FUNCTION view_all_applicants
726: RETURN BOOLEAN
727: IS
728: BEGIN
729: if (NVL(hr_signon.g_hr_security_profile.view_all_applicants_flag
730: ,g_context.view_all_applicants_flag) = 'Y') then
731: RETURN TRUE;
732: else
733: return FALSE;

Line 746: if NVL(hr_signon.g_hr_security_profile.view_all_cwk_flag

742: FUNCTION view_all_cwk
743: RETURN BOOLEAN
744: IS
745: BEGIN
746: if NVL(hr_signon.g_hr_security_profile.view_all_cwk_flag
747: ,g_context.view_all_cwk_flag) = 'Y' then
748: return true;
749: else
750: return false;

Line 762: if NVL(hr_signon.g_hr_security_profile.view_all_contacts_flag

758: FUNCTION view_all_contacts
759: RETURN BOOLEAN
760: IS
761: BEGIN
762: if NVL(hr_signon.g_hr_security_profile.view_all_contacts_flag
763: ,g_context.view_all_contacts_flag) = 'Y' then
764: return true;
765: else
766: return false;

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

775: --
776: begin
777: -- This function will return TRUE if iRecruitment is not installed
778: -- or view_all_candidates_flag is set to 'All'.
779: if (nvl(hr_signon.g_hr_security_profile.view_all_candidates_flag,
780: g_context.view_all_candidates_flag) = 'Y' or
781: nvl(fnd_profile.value('IRC_INSTALLED_FLAG'), 'N') = 'N') then
782: --
783: return true;

Line 801: if NVL(hr_signon.g_hr_security_profile.view_all_employees_flag

797: FUNCTION view_all_employees
798: RETURN BOOLEAN
799: IS
800: BEGIN
801: if NVL(hr_signon.g_hr_security_profile.view_all_employees_flag
802: ,g_context.view_all_employees_flag) = 'Y' then
803: return true;
804: else
805: return false;

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

813: FUNCTION restricted_applicants
814: RETURN BOOLEAN
815: IS
816: BEGIN
817: if (NVL(hr_signon.g_hr_security_profile.view_all_applicants_flag
818: ,g_context.view_all_applicants_flag) = 'N') then
819: RETURN TRUE;
820: else
821: return FALSE;

Line 833: if NVL(hr_signon.g_hr_security_profile.view_all_cwk_flag

829: FUNCTION restricted_cwk
830: RETURN BOOLEAN
831: IS
832: BEGIN
833: if NVL(hr_signon.g_hr_security_profile.view_all_cwk_flag
834: ,g_context.view_all_cwk_flag) = 'N' then
835: return true;
836: else
837: return false;

Line 849: if NVL(hr_signon.g_hr_security_profile.view_all_contacts_flag

845: FUNCTION restricted_contacts
846: RETURN BOOLEAN
847: IS
848: BEGIN
849: if NVL(hr_signon.g_hr_security_profile.view_all_contacts_flag
850: ,g_context.view_all_contacts_flag) = 'N' then
851: return true;
852: else
853: return false;

Line 865: if NVL(hr_signon.g_hr_security_profile.view_all_employees_flag

861: FUNCTION restricted_employees
862: RETURN BOOLEAN
863: IS
864: BEGIN
865: if NVL(hr_signon.g_hr_security_profile.view_all_employees_flag
866: ,g_context.view_all_employees_flag) = 'N' then
867: return true;
868: else
869: return false;

Line 882: (NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag

878: RETURN BOOLEAN
879: IS
880: BEGIN
881: RETURN
882: (NVL(hr_signon.g_hr_security_profile.view_all_organizations_flag
883: ,g_context.view_all_organizations_flag) = 'Y' );
884: END view_all_organizations;
885: --
886: -----------------------------------------------------------------------

Line 895: (NVL(hr_signon.g_hr_security_profile.view_all_positions_flag

891: RETURN BOOLEAN
892: IS
893: BEGIN
894: RETURN
895: (NVL(hr_signon.g_hr_security_profile.view_all_positions_flag
896: ,g_context.view_all_positions_flag) = 'Y' );
897: END view_all_positions;
898: --
899: -----------------------------------------------------------------------

Line 908: (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag

904: RETURN BOOLEAN
905: IS
906: BEGIN
907: RETURN
908: (NVL(hr_signon.g_hr_security_profile.restrict_by_supervisor_flag
909: ,g_context.restrict_by_supervisor_flag) = 'Y' );
910: END restrict_by_supervisor;
911: --
912: --

Line 923: (NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag

919: RETURN BOOLEAN
920: IS
921: BEGIN
922: RETURN
923: (NVL(hr_signon.g_hr_security_profile.view_all_payrolls_flag
924: ,g_context.view_all_payrolls_flag) = 'Y' );
925: END view_all_payrolls;
926: --
927: --

Line 938: (NVL(hr_signon.g_hr_security_profile.exclude_person_flag

934: RETURN BOOLEAN
935: IS
936: BEGIN
937: RETURN
938: (NVL(hr_signon.g_hr_security_profile.exclude_person_flag
939: ,g_context.exclude_person_flag) = 'Y' );
940: END exclude_person;
941: --
942: -----------------------------------------------------------------------

Line 954: hr_signon.initialize_hr_security;

950: IS
951: begin
952:
953: IF globals_need_refreshing THEN
954: hr_signon.initialize_hr_security;
955: initialise_globals;
956: END IF;
957: --
958: -- return g_person_list.exists(p_person_id); -- Fixed for bug 5985232

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

955: initialise_globals;
956: END IF;
957: --
958: -- return g_person_list.exists(p_person_id); -- Fixed for bug 5985232
959: return hr_security_internal.g_per_tbl.exists(p_person_id); -- Fixed for bug 5985232 (6320769)
960:
961: END check_person_list;
962: --
963: -- Added for Bug 8465433

Line 978: return hr_security_internal.g_vac_per_tbl.exists(p_person_id);

974:
975: IF globals_need_refreshing THEN
976: initialise_globals;
977: END IF;
978: return hr_security_internal.g_vac_per_tbl.exists(p_person_id);
979:
980: END check_vac_person_list;
981: --
982: -----------------------------------------------------------------------

Line 1242: if not hr_security_internal.per_access_known then

1238:
1239: -- If security evaluation was deferred at logon, or if the person/
1240: -- assignment permissions are unknown for some other reason, use
1241: -- caching on demand to evaluate permissions on the fly.
1242: if not hr_security_internal.per_access_known then
1243: -- Passing a value to p_what_to_evaluate avoids evaluating
1244: -- permissions for irrelevant security criteria.
1245: hr_security_internal.evaluate_access(
1246: p_person_id => g_person_id

Line 1245: hr_security_internal.evaluate_access(

1241: -- caching on demand to evaluate permissions on the fly.
1242: if not hr_security_internal.per_access_known then
1243: -- Passing a value to p_what_to_evaluate avoids evaluating
1244: -- permissions for irrelevant security criteria.
1245: hr_security_internal.evaluate_access(
1246: p_person_id => g_person_id
1247: ,p_user_id => g_user_id
1248: ,p_effective_date => g_effective_date
1249: ,p_sec_prof_rec => g_context

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

1246: p_person_id => g_person_id
1247: ,p_user_id => g_user_id
1248: ,p_effective_date => g_effective_date
1249: ,p_sec_prof_rec => g_context
1250: ,p_what_to_evaluate => hr_security_internal.g_per_sec_only);
1251: -- The two sets of person cache are synched.
1252: --sync_person_cache;--Fixed for bug 6012095(Fwd port of 5985232)
1253: --
1254: end if;

Line 1394: -- if not hr_security_internal.per_access_known then - sshr perf issue

1390:
1391: -- If security evaluation was deferred at logon, or if the person/
1392: -- assignment permissions are unknown for some other reason, use
1393: -- caching on demand to evaluate permissions on the fly.
1394: -- if not hr_security_internal.per_access_known then - sshr perf issue
1395: -- Passing a value to p_what_to_evaluate avoids evaluating
1396: -- permissions for irrelevant security criteria.
1397: hr_security_internal.evaluate_access(
1398: p_person_id => g_person_id

Line 1397: hr_security_internal.evaluate_access(

1393: -- caching on demand to evaluate permissions on the fly.
1394: -- if not hr_security_internal.per_access_known then - sshr perf issue
1395: -- Passing a value to p_what_to_evaluate avoids evaluating
1396: -- permissions for irrelevant security criteria.
1397: hr_security_internal.evaluate_access(
1398: p_person_id => g_person_id
1399: ,p_user_id => g_user_id
1400: ,p_effective_date => g_effective_date
1401: ,p_sec_prof_rec => g_context

Line 1402: ,p_what_to_evaluate => hr_security_internal.g_per_sec_only

1398: p_person_id => g_person_id
1399: ,p_user_id => g_user_id
1400: ,p_effective_date => g_effective_date
1401: ,p_sec_prof_rec => g_context
1402: ,p_what_to_evaluate => hr_security_internal.g_per_sec_only
1403: ,p_top_person_id => p_top_person_id);
1404: -- The two sets of person cache are synched.
1405: --sync_person_cache;--Fixed for bug 6012095(Fwd port of 5985232)
1406: --

Line 1503: IF NOT hr_security_internal.per_access_known THEN

1499: -- or if the person / assignment permissions are unknown for
1500: -- some other reason, use caching on demand to evaluate
1501: -- permissions on the fly.
1502: --
1503: IF NOT hr_security_internal.per_access_known THEN
1504: --
1505: -- Passing a value to p_what_to_evaluate avoids evaluating
1506: -- permissions for irrelevant security criteria.
1507: --

Line 1508: hr_security_internal.evaluate_access

1504: --
1505: -- Passing a value to p_what_to_evaluate avoids evaluating
1506: -- permissions for irrelevant security criteria.
1507: --
1508: hr_security_internal.evaluate_access
1509: (p_person_id => g_person_id
1510: ,p_user_id => g_user_id
1511: ,p_effective_date => g_effective_date
1512: ,p_sec_prof_rec => g_context

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

1509: (p_person_id => g_person_id
1510: ,p_user_id => g_user_id
1511: ,p_effective_date => g_effective_date
1512: ,p_sec_prof_rec => g_context
1513: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY);
1514:
1515: --
1516: -- The two sets of person cache are synched.
1517: --

Line 1606: -- IF NOT hr_security_internal.per_access_known THEN - SSHR PERF ISSUE

1602: -- or if the person / assignment permissions are unknown for
1603: -- some other reason, use caching on demand to evaluate
1604: -- permissions on the fly.
1605: --
1606: -- IF NOT hr_security_internal.per_access_known THEN - SSHR PERF ISSUE
1607: --
1608: -- Passing a value to p_what_to_evaluate avoids evaluating
1609: -- permissions for irrelevant security criteria.
1610: --

Line 1611: hr_security_internal.evaluate_access

1607: --
1608: -- Passing a value to p_what_to_evaluate avoids evaluating
1609: -- permissions for irrelevant security criteria.
1610: --
1611: hr_security_internal.evaluate_access
1612: (p_person_id => g_person_id
1613: ,p_user_id => g_user_id
1614: ,p_effective_date => g_effective_date
1615: ,p_sec_prof_rec => g_context

Line 1616: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY

1612: (p_person_id => g_person_id
1613: ,p_user_id => g_user_id
1614: ,p_effective_date => g_effective_date
1615: ,p_sec_prof_rec => g_context
1616: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY
1617: ,p_top_person_id => p_top_person_id);
1618:
1619: --
1620: -- The two sets of person cache are synched.

Line 1759: IF NOT hr_security_internal.per_access_known THEN

1755: -- or if the person / assignment permissions are unknown for
1756: -- some other reason, use caching on demand to evaluate
1757: -- permissions on the fly.
1758: --
1759: IF NOT hr_security_internal.per_access_known THEN
1760: --
1761: -- Passing a value to p_what_to_evaluate avoids evaluating
1762: -- permissions for irrelevant security criteria.
1763: --

Line 1764: hr_security_internal.evaluate_access

1760: --
1761: -- Passing a value to p_what_to_evaluate avoids evaluating
1762: -- permissions for irrelevant security criteria.
1763: --
1764: hr_security_internal.evaluate_access
1765: (p_person_id => g_person_id
1766: ,p_user_id => g_user_id
1767: ,p_effective_date => g_effective_date
1768: ,p_sec_prof_rec => g_context

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

1765: (p_person_id => g_person_id
1766: ,p_user_id => g_user_id
1767: ,p_effective_date => g_effective_date
1768: ,p_sec_prof_rec => g_context
1769: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY);
1770:
1771: --
1772: -- The two sets of person cache are synched.
1773: --

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

1780: -- the assignments list, rather than the person list.
1781: --
1782: IF NVL(g_context.restrict_on_individual_asg, 'N') = 'Y'
1783: THEN
1784: IF hr_security_internal.g_asg_tbl.EXISTS(p_assignment_id) THEN
1785: RETURN 'TRUE';
1786: ELSE
1787: RETURN 'FALSE';
1788: END IF;

Line 1792: -- referencing hr_security_internal.g_per_tbl until

1788: END IF;
1789: ELSE
1790: --
1791: -- For safety, continue using check_person_list rather than
1792: -- referencing hr_security_internal.g_per_tbl until
1793: -- evaluate_access does all the work.
1794: --
1795: IF check_person_list(p_person_id) THEN
1796: RETURN 'TRUE';

Line 1855: -- IF NOT hr_security_internal.per_access_known THEN - sshr perf issue

1851: -- or if the person / assignment permissions are unknown for
1852: -- some other reason, use caching on demand to evaluate
1853: -- permissions on the fly.
1854: --
1855: -- IF NOT hr_security_internal.per_access_known THEN - sshr perf issue
1856: --
1857: -- Passing a value to p_what_to_evaluate avoids evaluating
1858: -- permissions for irrelevant security criteria.
1859: --

Line 1860: hr_security_internal.evaluate_access

1856: --
1857: -- Passing a value to p_what_to_evaluate avoids evaluating
1858: -- permissions for irrelevant security criteria.
1859: --
1860: hr_security_internal.evaluate_access
1861: (p_person_id => g_person_id
1862: ,p_user_id => g_user_id
1863: ,p_effective_date => g_effective_date
1864: ,p_sec_prof_rec => g_context

Line 1865: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY

1861: (p_person_id => g_person_id
1862: ,p_user_id => g_user_id
1863: ,p_effective_date => g_effective_date
1864: ,p_sec_prof_rec => g_context
1865: ,p_what_to_evaluate => hr_security_internal.g_PER_SEC_ONLY
1866: ,p_top_person_id => p_top_person_id);
1867:
1868: --
1869: -- The two sets of person cache are synched.

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

1877: -- the assignments list, rather than the person list.
1878: --
1879: IF NVL(g_context.restrict_on_individual_asg, 'N') = 'Y'
1880: THEN
1881: IF hr_security_internal.g_asg_tbl.EXISTS(p_assignment_id) THEN
1882: RETURN 'TRUE';
1883: ELSE
1884: RETURN 'FALSE';
1885: END IF;

Line 1889: -- referencing hr_security_internal.g_per_tbl until

1885: END IF;
1886: ELSE
1887: --
1888: -- For safety, continue using check_person_list rather than
1889: -- referencing hr_security_internal.g_per_tbl until
1890: -- evaluate_access does all the work.
1891: --
1892: IF check_person_list(p_person_id) THEN
1893: RETURN 'TRUE';

Line 1937: IF NOT hr_security_internal.org_access_known THEN

1933: -- or if organization permissions are unknown for
1934: -- some other reason, use caching on demand to evaluate
1935: -- permissions on the fly.
1936: --
1937: IF NOT hr_security_internal.org_access_known THEN
1938: --
1939: -- Passing a value to p_what_to_evaluate avoids evaluating
1940: -- permissions for non-org security criteria.
1941: --

Line 1942: hr_security_internal.evaluate_access

1938: --
1939: -- Passing a value to p_what_to_evaluate avoids evaluating
1940: -- permissions for non-org security criteria.
1941: --
1942: hr_security_internal.evaluate_access
1943: (p_person_id => g_person_id
1944: ,p_user_id => g_user_id
1945: ,p_effective_date => g_effective_date
1946: ,p_sec_prof_rec => g_context

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

1943: (p_person_id => g_person_id
1944: ,p_user_id => g_user_id
1945: ,p_effective_date => g_effective_date
1946: ,p_sec_prof_rec => g_context
1947: ,p_what_to_evaluate => hr_security_internal.g_ORG_SEC_ONLY);
1948: END IF;
1949:
1950: IF hr_security_internal.g_org_tbl.EXISTS(p_organization_id) THEN
1951: RETURN 'TRUE';

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

1946: ,p_sec_prof_rec => g_context
1947: ,p_what_to_evaluate => hr_security_internal.g_ORG_SEC_ONLY);
1948: END IF;
1949:
1950: IF hr_security_internal.g_org_tbl.EXISTS(p_organization_id) THEN
1951: RETURN 'TRUE';
1952: ELSE
1953: RETURN 'FALSE';
1954: END IF;

Line 1988: IF NOT hr_security_internal.pos_access_known THEN

1984: -- or if position permissions are unknown for
1985: -- some other reason, use caching on demand to evaluate
1986: -- permissions on the fly.
1987: --
1988: IF NOT hr_security_internal.pos_access_known THEN
1989: --
1990: -- Passing a value to p_what_to_evaluate avoids evaluating
1991: -- permissions for non-pos security criteria.
1992: --

Line 1993: hr_security_internal.evaluate_access

1989: --
1990: -- Passing a value to p_what_to_evaluate avoids evaluating
1991: -- permissions for non-pos security criteria.
1992: --
1993: hr_security_internal.evaluate_access
1994: (p_person_id => g_person_id
1995: ,p_user_id => g_user_id
1996: ,p_effective_date => g_effective_date
1997: ,p_sec_prof_rec => g_context

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

1994: (p_person_id => g_person_id
1995: ,p_user_id => g_user_id
1996: ,p_effective_date => g_effective_date
1997: ,p_sec_prof_rec => g_context
1998: ,p_what_to_evaluate => hr_security_internal.g_POS_SEC_ONLY);
1999: END IF;
2000:
2001: IF hr_security_internal.g_pos_tbl.EXISTS(p_position_id) THEN
2002: RETURN 'TRUE';

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

1997: ,p_sec_prof_rec => g_context
1998: ,p_what_to_evaluate => hr_security_internal.g_POS_SEC_ONLY);
1999: END IF;
2000:
2001: IF hr_security_internal.g_pos_tbl.EXISTS(p_position_id) THEN
2002: RETURN 'TRUE';
2003: ELSE
2004: RETURN 'FALSE';
2005: END IF;

Line 2039: IF NOT hr_security_internal.pay_access_known THEN

2035: -- or if payroll permissions are unknown for
2036: -- some other reason, use caching on demand to evaluate
2037: -- permissions on the fly.
2038: --
2039: IF NOT hr_security_internal.pay_access_known THEN
2040: --
2041: -- Passing a value to p_what_to_evaluate avoids evaluating
2042: -- permissions for non-pos security criteria.
2043: --

Line 2044: hr_security_internal.evaluate_access

2040: --
2041: -- Passing a value to p_what_to_evaluate avoids evaluating
2042: -- permissions for non-pos security criteria.
2043: --
2044: hr_security_internal.evaluate_access
2045: (p_person_id => g_person_id
2046: ,p_user_id => g_user_id
2047: ,p_effective_date => g_effective_date
2048: ,p_sec_prof_rec => g_context

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

2045: (p_person_id => g_person_id
2046: ,p_user_id => g_user_id
2047: ,p_effective_date => g_effective_date
2048: ,p_sec_prof_rec => g_context
2049: ,p_what_to_evaluate => hr_security_internal.g_PAY_SEC_ONLY);
2050: END IF;
2051:
2052: IF hr_security_internal.g_pay_tbl.EXISTS(p_payroll_id) THEN
2053: RETURN 'TRUE';

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

2048: ,p_sec_prof_rec => g_context
2049: ,p_what_to_evaluate => hr_security_internal.g_PAY_SEC_ONLY);
2050: END IF;
2051:
2052: IF hr_security_internal.g_pay_tbl.EXISTS(p_payroll_id) THEN
2053: RETURN 'TRUE';
2054: ELSE
2055: RETURN 'FALSE';
2056: END IF;

Line 2215: hr_signon.initialize_hr_security;

2211: --
2212: -- 3676633
2213: --
2214: IF ( globals_need_refreshing ) THEN
2215: hr_signon.initialize_hr_security;
2216: initialise_globals;
2217: END IF;
2218:
2219:

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

2276: p_manager_id => p_val3,
2277: p_security_method => p_val4,
2278: p_business_group_id => p_val5));
2279: ELSE
2280: raise_error ('HR_SECURITY : INVALID TABLE NAME');
2281: END IF;
2282: END show_record;
2283: --
2284: -----------------------------------------------------------------------

Line 2362: hr_signon.initialize_hr_security;

2358: -- by calling evaluate_access with the g_mo_contexts (see below).
2359: -- If MO: Security Profile has no value, the context is already
2360: -- set to HR: Security Profile.
2361: --
2362: hr_signon.initialize_hr_security;
2363: initialise_globals;
2364: END IF;
2365:
2366: --

Line 2476: hr_security_internal.evaluate_access

2472: IF NOT g_mo_org_sec_known THEN
2473: --
2474: -- Re-evaluate organization security using the g_mo_context.
2475: --
2476: hr_security_internal.evaluate_access
2477: (p_person_id => g_mo_person_id
2478: ,p_user_id => g_user_id
2479: ,p_effective_date => g_effective_date
2480: ,p_sec_prof_rec => g_mo_context

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

2477: (p_person_id => g_mo_person_id
2478: ,p_user_id => g_user_id
2479: ,p_effective_date => g_effective_date
2480: ,p_sec_prof_rec => g_mo_context
2481: ,p_what_to_evaluate => hr_security_internal.g_ORG_SEC_ONLY);
2482:
2483: --
2484: -- Set this flag so that the permissions are not re-evaluated
2485: -- with each function call. This flag is reset back to false

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

2489: g_mo_org_sec_known := TRUE;
2490:
2491: END IF;
2492:
2493: IF hr_security_internal.g_org_tbl.EXISTS(p_org_id) THEN
2494: RETURN 'TRUE';
2495: ELSE
2496: RETURN 'FALSE';
2497: END IF;

Line 2515: hr_signon.initialize_hr_security;

2511: ,p_assignment_id number) is
2512: begin
2513:
2514: IF globals_need_refreshing THEN
2515: hr_signon.initialize_hr_security;
2516: initialise_globals;
2517: END IF;
2518:
2519: IF g_context.view_all_flag <> 'Y' AND

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

2520: NVL(g_context.restrict_on_individual_asg, 'N') = 'Y' AND
2521: p_person_id IS NOT NULL AND
2522: p_assignment_id IS NOT NULL
2523: THEN
2524: hr_security_internal.g_asg_tbl(p_assignment_id) := p_person_id;
2525: END IF;
2526:
2527: end add_assignment;
2528: --

Line 2538: hr_signon.initialize_hr_security;

2534: --
2535: begin
2536: --
2537: if globals_need_refreshing then
2538: hr_signon.initialize_hr_security;
2539: initialise_globals;
2540: end if;
2541: --
2542: if g_context.view_all_flag <> 'Y' then

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

2541: --
2542: if g_context.view_all_flag <> 'Y' then
2543: --
2544: --g_person_list(p_person_id) := TRUE;--6012095(Forward port of 5985232)
2545: hr_security_internal.g_per_tbl(p_person_id) := TRUE;
2546: --
2547: end if;
2548: --
2549: end add_person;

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

2555: procedure remove_person(p_person_id number) is
2556: begin
2557: if g_context.view_all_flag<>'Y' then
2558: -- g_person_list.delete(p_person_id); --6012095(Forward port of 5985232)
2559: hr_security_internal.g_per_tbl.delete(p_person_id);
2560: end if;
2561: end remove_person;
2562: --
2563: -----------------------------------------------------------------------

Line 2573: hr_signon.initialize_hr_security;

2569: p_security_Profile_id number) is
2570: begin
2571: --
2572: IF globals_need_refreshing THEN
2573: hr_signon.initialize_hr_security;
2574: initialise_globals;
2575: END IF;
2576: --
2577: IF g_context.view_all_flag <> 'Y' AND

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

2577: IF g_context.view_all_flag <> 'Y' AND
2578: g_context.view_all_organizations_flag = 'N' AND
2579: p_organization_id IS NOT NULL
2580: THEN
2581: hr_security_internal.g_org_tbl(p_organization_id) := TRUE;
2582: END IF;
2583: --
2584: IF (NVL(g_context.top_organization_method, 'S') <> 'U') THEN
2585: hr_security_internal.add_org_to_security_list(p_security_Profile_id,

Line 2585: hr_security_internal.add_org_to_security_list(p_security_Profile_id,

2581: hr_security_internal.g_org_tbl(p_organization_id) := TRUE;
2582: END IF;
2583: --
2584: IF (NVL(g_context.top_organization_method, 'S') <> 'U') THEN
2585: hr_security_internal.add_org_to_security_list(p_security_Profile_id,
2586: p_organization_id);
2587: END IF;
2588: --
2589: end add_organization;

Line 2602: hr_signon.initialize_hr_security;

2598: p_security_profile_id number) is
2599: begin
2600: --
2601: IF globals_need_refreshing THEN
2602: hr_signon.initialize_hr_security;
2603: initialise_globals;
2604: END IF;
2605: --
2606: IF g_context.view_all_flag <> 'Y' AND

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

2606: IF g_context.view_all_flag <> 'Y' AND
2607: g_context.view_all_positions_flag = 'N' AND
2608: p_position_id IS NOT NULL
2609: THEN
2610: hr_security_internal.g_pos_tbl(p_position_id) := TRUE;
2611: END IF;
2612: --
2613: IF (NVL(g_context.top_position_method, 'S') <> 'U') THEN
2614: hr_security_internal.add_pos_to_security_list(p_security_profile_id,

Line 2614: hr_security_internal.add_pos_to_security_list(p_security_profile_id,

2610: hr_security_internal.g_pos_tbl(p_position_id) := TRUE;
2611: END IF;
2612: --
2613: IF (NVL(g_context.top_position_method, 'S') <> 'U') THEN
2614: hr_security_internal.add_pos_to_security_list(p_security_profile_id,
2615: p_position_id);
2616: END IF;
2617: --
2618: end add_position;

Line 2630: hr_signon.initialize_hr_security;

2626: (p_payroll_id number) is
2627: begin
2628:
2629: IF globals_need_refreshing THEN
2630: hr_signon.initialize_hr_security;
2631: initialise_globals;
2632: END IF;
2633:
2634: IF g_context.view_all_flag <> 'Y' AND

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

2634: IF g_context.view_all_flag <> 'Y' AND
2635: g_context.view_all_payrolls_flag = 'N' AND
2636: p_payroll_id IS NOT NULL
2637: THEN
2638: hr_security_internal.g_pay_tbl(p_payroll_id) := TRUE;
2639: END IF;
2640:
2641: end add_payroll;
2642: --

Line 2654: hr_signon.initialize_hr_security;

2650: begin
2651: if fnd_global.user_id <> -1 then
2652:
2653: if globals_need_refreshing then
2654: hr_signon.initialize_hr_security;
2655: initialise_globals;
2656: end if;
2657:
2658: return g_context.business_group_id;

Line 2678: hr_signon.initialize_hr_security;

2674: --
2675: -- Ensure the cache is up to date.
2676: --
2677: IF globals_need_refreshing THEN
2678: hr_signon.initialize_hr_security;
2679: initialise_globals;
2680: END IF;
2681:
2682: --

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

2681:
2682: --
2683: -- Return the restrict on individual assignment flag.
2684: --
2685: RETURN (NVL(hr_signon.g_hr_security_profile.restrict_on_individual_asg
2686: ,NVL(g_context.restrict_on_individual_asg, 'N')) = 'Y');
2687:
2688: END restrict_on_individual_asg;
2689: --

Line 2703: hr_signon.initialize_hr_security;

2699: --
2700: -- Ensure the cache is up to date.
2701: --
2702: IF globals_need_refreshing THEN
2703: hr_signon.initialize_hr_security;
2704: initialise_globals;
2705: END IF;
2706:
2707: --

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

2706:
2707: --
2708: -- Return the type of supervisor security.
2709: --
2710: RETURN (NVL(hr_signon.g_hr_security_profile.restrict_on_individual_asg
2711: ,NVL(g_context.restrict_on_individual_asg, 'N')));
2712:
2713: END restrict_by_supervisor_flag;
2714: --

Line 2719: hr_security_internal.delete_security_list_for_bg(p_business_group_id);

2715: --
2716: PROCEDURE delete_list_for_bg(p_business_group_id NUMBER)
2717: IS
2718: BEGIN
2719: hr_security_internal.delete_security_list_for_bg(p_business_group_id);
2720: END;
2721: --
2722: --
2723: PROCEDURE delete_per_from_list(p_person_id number)

Line 2726: hr_security_internal.delete_per_from_security_list(p_person_id);

2722: --
2723: PROCEDURE delete_per_from_list(p_person_id number)
2724: IS
2725: BEGIN
2726: hr_security_internal.delete_per_from_security_list(p_person_id);
2727: END;
2728: --
2729: --
2730: PROCEDURE delete_org_from_list(p_organization_id number)

Line 2733: hr_security_internal.delete_org_from_security_list(p_organization_id);

2729: --
2730: PROCEDURE delete_org_from_list(p_organization_id number)
2731: IS
2732: BEGIN
2733: hr_security_internal.delete_org_from_security_list(p_organization_id);
2734: END;
2735: --
2736: --
2737: PROCEDURE delete_pos_from_list(p_position_id number)

Line 2740: hr_security_internal.delete_pos_from_security_list(p_position_id);

2736: --
2737: PROCEDURE delete_pos_from_list(p_position_id number)
2738: IS
2739: BEGIN
2740: hr_security_internal.delete_pos_from_security_list(p_position_id);
2741: END;
2742: --
2743: --
2744: PROCEDURE delete_payroll_from_list(p_payroll_id number)

Line 2747: hr_security_internal.delete_pay_from_security_list(p_payroll_id);

2743: --
2744: PROCEDURE delete_payroll_from_list(p_payroll_id number)
2745: IS
2746: BEGIN
2747: hr_security_internal.delete_pay_from_security_list(p_payroll_id);
2748: END;
2749: --
2750: --
2751: -------------------------------------------------------------------------

Line 2760: --hr_signon.initialize_hr_security;

2756: --
2757: -- Initialise package global variables
2758: --
2759: --Added for the bug#12774028
2760: --hr_signon.initialize_hr_security;
2761: if NOT hr_general2.reporting_user then
2762: hr_signon.initialize_hr_security;
2763: end if;
2764:

Line 2762: hr_signon.initialize_hr_security;

2758: --
2759: --Added for the bug#12774028
2760: --hr_signon.initialize_hr_security;
2761: if NOT hr_general2.reporting_user then
2762: hr_signon.initialize_hr_security;
2763: end if;
2764:
2765: Initialise_Globals;
2766: --

Line 2767: END HR_SECURITY;

2763: end if;
2764:
2765: Initialise_Globals;
2766: --
2767: END HR_SECURITY;