DBA Data[Home] [Help]

APPS.HR_SECURITY dependencies on HR_SECURITY_INTERNAL

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 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 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 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 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 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 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 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 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 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: -------------------------------------------------------------------------