37: l_proc varchar2(72) := g_package||'set_security_group_id';
38: --
39: begin
40: --
41: hr_utility.set_location('Entering:'|| l_proc, 10);
42: --
43: -- Ensure that all the mandatory parameter are not null
44: --
45: hr_api.mandatory_arg_error
72: (p_security_group_id => l_security_group_id
73: );
74: end if;
75: --
76: hr_utility.set_location(' Leaving:'|| l_proc, 20);
77: --
78: end set_security_group_id;
79: --
80: -- ---------------------------------------------------------------------------
101: l_proc varchar2(72) := g_package||'return_legislation_code';
102: --
103: Begin
104: --
105: hr_utility.set_location('Entering:'|| l_proc, 10);
106: --
107: -- Ensure that all the mandatory parameter are not null
108: --
109: hr_api.mandatory_arg_error
119: -- call to this function. Just return the value in the global
120: -- variable.
121: --
122: l_legislation_code := pay_bad_bus.g_legislation_code;
123: hr_utility.set_location(l_proc, 20);
124: else
125: --
126: -- The ID is different to the last call to this function
127: -- or this is the first call to this function.
136: close csr_leg_code;
137: fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
138: fnd_message.raise_error;
139: end if;
140: hr_utility.set_location(l_proc,30);
141: --
142: -- Set the global variables so the values are
143: -- available for the next call to this function.
144: --
145: close csr_leg_code;
146: pay_bad_bus.g_attribute_id := p_attribute_id;
147: pay_bad_bus.g_legislation_code := l_legislation_code;
148: end if;
149: hr_utility.set_location(' Leaving:'|| l_proc, 40);
150: return l_legislation_code;
151: end return_legislation_code;
152: --
153: -- ----------------------------------------------------------------------------
216: where nvl(business_group_id,-1) = nvl(p_bg_id,-1);
217: --
218: Begin
219: --
220: hr_utility.set_location('Entering: '||l_proc,5);
221: --
222: -- Only execute the cursor if absolutely necessary.
223: -- a) During update, the attribute_name has actually changed to another not
224: -- null value, i,e, the value passed to this procedure is different to the
233: nvl(p_attribute_name, hr_api.g_varchar2))
234: or
235: (p_attribute_id is null)) then
236: --
237: hr_utility.set_location(l_proc, 10);
238: --
239: -- Only need to open the cursor if attribute_name is not null
240: --
241: if p_attribute_name is not null then
247: ,l_leg_code
248: ,l_bg_id;
249: IF csr_attribute_name%NOTFOUND THEN
250: --
251: hr_utility.trace('insert row');
252: close csr_attribute_name;
253: ELSE
254: if l_mode = 'GENERIC' then
255: hr_utility.set_location(l_proc, 15);
251: hr_utility.trace('insert row');
252: close csr_attribute_name;
253: ELSE
254: if l_mode = 'GENERIC' then
255: hr_utility.set_location(l_proc, 15);
256: if (l_leg_code is null and l_bg_id is null) then
257: -- generic row with duplicate name already exists
258: hr_utility.set_message(801, 'PAY_34231_DUP_ATT_G');
259: hr_utility.raise_error;
254: if l_mode = 'GENERIC' then
255: hr_utility.set_location(l_proc, 15);
256: if (l_leg_code is null and l_bg_id is null) then
257: -- generic row with duplicate name already exists
258: hr_utility.set_message(801, 'PAY_34231_DUP_ATT_G');
259: hr_utility.raise_error;
260: elsif
261: l_leg_code is not null
262: or l_bg_id is not null then
255: hr_utility.set_location(l_proc, 15);
256: if (l_leg_code is null and l_bg_id is null) then
257: -- generic row with duplicate name already exists
258: hr_utility.set_message(801, 'PAY_34231_DUP_ATT_G');
259: hr_utility.raise_error;
260: elsif
261: l_leg_code is not null
262: or l_bg_id is not null then
263: -- name exists at lower level, existing row must be deleted
261: l_leg_code is not null
262: or l_bg_id is not null then
263: -- name exists at lower level, existing row must be deleted
264: -- so new seeded row can be inserted.
265: hr_utility.set_message(801,'PAY_34232_S_U_ATT_LOW_LVL_DEL');
266: hr_utility.raise_error;
267: end if;
268: elsif l_mode = 'STARTUP' THEN
269: --
262: or l_bg_id is not null then
263: -- name exists at lower level, existing row must be deleted
264: -- so new seeded row can be inserted.
265: hr_utility.set_message(801,'PAY_34232_S_U_ATT_LOW_LVL_DEL');
266: hr_utility.raise_error;
267: end if;
268: elsif l_mode = 'STARTUP' THEN
269: --
270: hr_utility.set_location(l_proc, 20);
266: hr_utility.raise_error;
267: end if;
268: elsif l_mode = 'STARTUP' THEN
269: --
270: hr_utility.set_location(l_proc, 20);
271: if (l_leg_code = p_legislation_code) then
272: -- startup row with duplicate name already exists
273: hr_utility.set_message(801,'PAY_34233_DUP_ATT_S');
274: hr_utility.raise_error;
269: --
270: hr_utility.set_location(l_proc, 20);
271: if (l_leg_code = p_legislation_code) then
272: -- startup row with duplicate name already exists
273: hr_utility.set_message(801,'PAY_34233_DUP_ATT_S');
274: hr_utility.raise_error;
275: elsif
276: l_leg_code is null then
277: if l_bg_id is not null then
270: hr_utility.set_location(l_proc, 20);
271: if (l_leg_code = p_legislation_code) then
272: -- startup row with duplicate name already exists
273: hr_utility.set_message(801,'PAY_34233_DUP_ATT_S');
274: hr_utility.raise_error;
275: elsif
276: l_leg_code is null then
277: if l_bg_id is not null then
278: open csr_bg_leg(l_bg_id);
280: close csr_bg_leg;
281: if p_legislation_code = l_bg_leg then
282: -- Row with duplicate name exists at lower hierarchy.
283: -- Row needs to be deleted so seeded row can be inserted.
284: hr_utility.set_message(801,'PAY_34234_U_ATT_LOW_LVL_DEL');
285: hr_utility.raise_error;
286: end if;
287: else -- l_bg_id is null then
288: -- Row with duplicate name exists at higher level,
281: if p_legislation_code = l_bg_leg then
282: -- Row with duplicate name exists at lower hierarchy.
283: -- Row needs to be deleted so seeded row can be inserted.
284: hr_utility.set_message(801,'PAY_34234_U_ATT_LOW_LVL_DEL');
285: hr_utility.raise_error;
286: end if;
287: else -- l_bg_id is null then
288: -- Row with duplicate name exists at higher level,
289: -- so cannot insert this row.
286: end if;
287: else -- l_bg_id is null then
288: -- Row with duplicate name exists at higher level,
289: -- so cannot insert this row.
290: hr_utility.set_message(801,'PAY_34235_G_ATT_HI_LVL');
291: hr_utility.raise_error;
292: end if;
293: end if;
294: else -- mode is 'USER'
287: else -- l_bg_id is null then
288: -- Row with duplicate name exists at higher level,
289: -- so cannot insert this row.
290: hr_utility.set_message(801,'PAY_34235_G_ATT_HI_LVL');
291: hr_utility.raise_error;
292: end if;
293: end if;
294: else -- mode is 'USER'
295: open csr_bg_leg(p_business_group_id);
297: close csr_bg_leg;
298: --
299: if l_bg_id = p_business_group_id then
300: -- user row with duplicate name already exists
301: hr_utility.set_message(801,'PAY_34236_DUP_ATT_U');
302: hr_utility.raise_error;
303: elsif
304: l_bg_id is null then
305: if ((l_leg_code is null)
298: --
299: if l_bg_id = p_business_group_id then
300: -- user row with duplicate name already exists
301: hr_utility.set_message(801,'PAY_34236_DUP_ATT_U');
302: hr_utility.raise_error;
303: elsif
304: l_bg_id is null then
305: if ((l_leg_code is null)
306: or (l_leg_code is not null
306: or (l_leg_code is not null
307: and l_leg_code = l_bg_leg)) then
308: -- Row with duplicate name exists at higher level, so
309: -- cannot insert this row.
310: hr_utility.set_message(801,'PAY_34237_G_S_ATT_HI_LVL');
311: hr_utility.raise_error;
312: end if;
313: end if;
314: end if; -- what mode
307: and l_leg_code = l_bg_leg)) then
308: -- Row with duplicate name exists at higher level, so
309: -- cannot insert this row.
310: hr_utility.set_message(801,'PAY_34237_G_S_ATT_HI_LVL');
311: hr_utility.raise_error;
312: end if;
313: end if;
314: end if; -- what mode
315: close csr_attribute_name;
316: END IF;
317: --
318: end if;
319: end if;
320: hr_utility.set_location('Leaving: '||l_proc, 20);
321: --
322: END chk_attribute_name;
323: -- ----------------------------------------------------------------------------
324: -- |-----------------------< chk_user_attribute_name >------------------------|
386: where nvl(business_group_id,-1) = nvl(p_bg_id,-1);
387: --
388: Begin
389: --
390: hr_utility.set_location('Entering: '||l_proc,5);
391: --
392: -- Only execute the cursor if absolutely necessary.
393: -- a) During update, the user_attribute_name has actually changed to another not
394: -- null value, i,e, the value passed to this procedure is different to the
403: nvl(p_user_attribute_name, hr_api.g_varchar2))
404: or
405: (p_attribute_id is null)) then
406: --
407: hr_utility.set_location(l_proc, 10);
408: --
409: -- Only need to open the cursor if user_attribute_name is not null
410: --
411: if p_user_attribute_name is not null then
417: ,l_leg_code
418: ,l_bg_id;
419: IF csr_user_attribute_name%NOTFOUND THEN
420: --
421: hr_utility.trace('insert row');
422: close csr_user_attribute_name;
423: ELSE
424: if l_mode = 'GENERIC' then
425: hr_utility.set_location(l_proc, 15);
421: hr_utility.trace('insert row');
422: close csr_user_attribute_name;
423: ELSE
424: if l_mode = 'GENERIC' then
425: hr_utility.set_location(l_proc, 15);
426: if (l_leg_code is null and l_bg_id is null) then
427: -- generic row with duplicate name already exists
428: hr_utility.set_message(801, 'PAY_34277_DUP_USRATT_G');
429: hr_utility.raise_error;
424: if l_mode = 'GENERIC' then
425: hr_utility.set_location(l_proc, 15);
426: if (l_leg_code is null and l_bg_id is null) then
427: -- generic row with duplicate name already exists
428: hr_utility.set_message(801, 'PAY_34277_DUP_USRATT_G');
429: hr_utility.raise_error;
430: elsif
431: l_leg_code is not null
432: or l_bg_id is not null then
425: hr_utility.set_location(l_proc, 15);
426: if (l_leg_code is null and l_bg_id is null) then
427: -- generic row with duplicate name already exists
428: hr_utility.set_message(801, 'PAY_34277_DUP_USRATT_G');
429: hr_utility.raise_error;
430: elsif
431: l_leg_code is not null
432: or l_bg_id is not null then
433: -- name exists at lower level, existing row must be deleted
431: l_leg_code is not null
432: or l_bg_id is not null then
433: -- name exists at lower level, existing row must be deleted
434: -- so new seeded row can be inserted.
435: hr_utility.set_message(801,'PAY_34278_S_U_USRAT_LWLVL_DEL');
436: hr_utility.raise_error;
437: end if;
438: elsif l_mode = 'STARTUP' THEN
439: --
432: or l_bg_id is not null then
433: -- name exists at lower level, existing row must be deleted
434: -- so new seeded row can be inserted.
435: hr_utility.set_message(801,'PAY_34278_S_U_USRAT_LWLVL_DEL');
436: hr_utility.raise_error;
437: end if;
438: elsif l_mode = 'STARTUP' THEN
439: --
440: hr_utility.set_location(l_proc, 20);
436: hr_utility.raise_error;
437: end if;
438: elsif l_mode = 'STARTUP' THEN
439: --
440: hr_utility.set_location(l_proc, 20);
441: if (l_leg_code = p_legislation_code) then
442: -- startup row with duplicate name already exists
443: hr_utility.set_message(801,'PAY_34279_DUP_USRATT_S');
444: hr_utility.raise_error;
439: --
440: hr_utility.set_location(l_proc, 20);
441: if (l_leg_code = p_legislation_code) then
442: -- startup row with duplicate name already exists
443: hr_utility.set_message(801,'PAY_34279_DUP_USRATT_S');
444: hr_utility.raise_error;
445: elsif
446: l_leg_code is null then
447: if l_bg_id is not null then
440: hr_utility.set_location(l_proc, 20);
441: if (l_leg_code = p_legislation_code) then
442: -- startup row with duplicate name already exists
443: hr_utility.set_message(801,'PAY_34279_DUP_USRATT_S');
444: hr_utility.raise_error;
445: elsif
446: l_leg_code is null then
447: if l_bg_id is not null then
448: open csr_bg_leg(l_bg_id);
450: close csr_bg_leg;
451: if p_legislation_code = l_bg_leg then
452: -- Row with duplicate name exists at lower hierarchy.
453: -- Row needs to be deleted so seeded row can be inserted.
454: hr_utility.set_message(801,'PAY_34280_U_USRAT_LWLVL_DEL');
455: hr_utility.raise_error;
456: end if;
457: else -- l_bg_id is null then
458: -- Row with duplicate name exists at higher level,
451: if p_legislation_code = l_bg_leg then
452: -- Row with duplicate name exists at lower hierarchy.
453: -- Row needs to be deleted so seeded row can be inserted.
454: hr_utility.set_message(801,'PAY_34280_U_USRAT_LWLVL_DEL');
455: hr_utility.raise_error;
456: end if;
457: else -- l_bg_id is null then
458: -- Row with duplicate name exists at higher level,
459: -- so cannot insert this row.
456: end if;
457: else -- l_bg_id is null then
458: -- Row with duplicate name exists at higher level,
459: -- so cannot insert this row.
460: hr_utility.set_message(801,'PAY_34281_G_USRATT_HI_LVL');
461: hr_utility.raise_error;
462: end if;
463: end if;
464: else -- mode is 'USER'
457: else -- l_bg_id is null then
458: -- Row with duplicate name exists at higher level,
459: -- so cannot insert this row.
460: hr_utility.set_message(801,'PAY_34281_G_USRATT_HI_LVL');
461: hr_utility.raise_error;
462: end if;
463: end if;
464: else -- mode is 'USER'
465: open csr_bg_leg(p_business_group_id);
467: close csr_bg_leg;
468: --
469: if l_bg_id = p_business_group_id then
470: -- user row with duplicate name already exists
471: hr_utility.set_message(801,'PAY_34282_DUP_USRATT_U');
472: hr_utility.raise_error;
473: elsif
474: l_bg_id is null then
475: if ((l_leg_code is null)
468: --
469: if l_bg_id = p_business_group_id then
470: -- user row with duplicate name already exists
471: hr_utility.set_message(801,'PAY_34282_DUP_USRATT_U');
472: hr_utility.raise_error;
473: elsif
474: l_bg_id is null then
475: if ((l_leg_code is null)
476: or (l_leg_code is not null
476: or (l_leg_code is not null
477: and l_leg_code = l_bg_leg)) then
478: -- Row with duplicate name exists at higher level, so
479: -- cannot insert this row.
480: hr_utility.set_message(801,'PAY_34283_G_S_USRATT_HI_LVL');
481: hr_utility.raise_error;
482: end if;
483: end if;
484: end if; -- what mode
477: and l_leg_code = l_bg_leg)) then
478: -- Row with duplicate name exists at higher level, so
479: -- cannot insert this row.
480: hr_utility.set_message(801,'PAY_34283_G_S_USRATT_HI_LVL');
481: hr_utility.raise_error;
482: end if;
483: end if;
484: end if; -- what mode
485: close csr_user_attribute_name;
486: END IF;
487: --
488: end if;
489: end if;
490: hr_utility.set_location('Leaving: '||l_proc, 20);
491: --
492: END chk_user_attribute_name;
493: -- ----------------------------------------------------------------------------
494: -- |---------------------------< chk_alterable >------------------------------|
527: l_argument varchar2(30);
528: --
529: Begin
530: --
531: hr_utility.set_location('Entering: '||l_proc,5);
532: --
533: -- YES_NO is a system level lookup, so only need to validate against
534: -- hr_standard_lookups, even though the table has a business_group_id and
535: -- would expect to need to validate against hr_lookups.
538: --
539: if hr_startup_data_api_support.g_startup_mode = 'USER' then
540: --
541: if p_alterable <> 'Y' then
542: hr_utility.set_location(l_proc, 10);
543: hr_utility.set_message(801, 'PAY_34238_U_ALT_FLAG_MUSTB_Y');
544: hr_utility.raise_error;
545: end if;
546: --
539: if hr_startup_data_api_support.g_startup_mode = 'USER' then
540: --
541: if p_alterable <> 'Y' then
542: hr_utility.set_location(l_proc, 10);
543: hr_utility.set_message(801, 'PAY_34238_U_ALT_FLAG_MUSTB_Y');
544: hr_utility.raise_error;
545: end if;
546: --
547: else -- startup or generic mode
540: --
541: if p_alterable <> 'Y' then
542: hr_utility.set_location(l_proc, 10);
543: hr_utility.set_message(801, 'PAY_34238_U_ALT_FLAG_MUSTB_Y');
544: hr_utility.raise_error;
545: end if;
546: --
547: else -- startup or generic mode
548: --
557: --
558: fnd_message.set_name('PAY', 'PAY_34239_INV_ALT_FLAG');
559: fnd_message.raise_error;
560: --
561: hr_utility.set_location(l_proc, 15);
562: END IF;
563: end if; -- what mode
564: --
565: hr_utility.set_location('Leaving: '||l_proc, 20);
561: hr_utility.set_location(l_proc, 15);
562: END IF;
563: end if; -- what mode
564: --
565: hr_utility.set_location('Leaving: '||l_proc, 20);
566: --
567: End chk_alterable;
568: -- ----------------------------------------------------------------------------
569: -- |-------------------------< chk_for_child_rows >---------------------------|
625: l_argument varchar2(30);
626: l_exists number(1);
627: --
628: BEGIN
629: hr_utility.set_location('Entering: '||l_proc,5);
630: --
631: if p_business_group_id is not null then -- user run type
632: open csr_child_attrib(p_attribute_id, p_business_group_id);
633: fetch csr_child_attrib into l_exists;
632: open csr_child_attrib(p_attribute_id, p_business_group_id);
633: fetch csr_child_attrib into l_exists;
634: if csr_child_attrib%FOUND then
635: close csr_child_attrib;
636: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
637: hr_utility.raise_error;
638: hr_utility.set_location(l_proc, 10);
639: else
640: close csr_child_attrib;
633: fetch csr_child_attrib into l_exists;
634: if csr_child_attrib%FOUND then
635: close csr_child_attrib;
636: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
637: hr_utility.raise_error;
638: hr_utility.set_location(l_proc, 10);
639: else
640: close csr_child_attrib;
641: end if;
634: if csr_child_attrib%FOUND then
635: close csr_child_attrib;
636: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
637: hr_utility.raise_error;
638: hr_utility.set_location(l_proc, 10);
639: else
640: close csr_child_attrib;
641: end if;
642: --
643: open csr_child_defaults(p_attribute_id, p_business_group_id);
644: fetch csr_child_defaults into l_exists;
645: if csr_child_defaults%FOUND then
646: close csr_child_defaults;
647: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
648: hr_utility.raise_error;
649: hr_utility.set_location(l_proc, 15);
650: else
651: close csr_child_defaults;
644: fetch csr_child_defaults into l_exists;
645: if csr_child_defaults%FOUND then
646: close csr_child_defaults;
647: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
648: hr_utility.raise_error;
649: hr_utility.set_location(l_proc, 15);
650: else
651: close csr_child_defaults;
652: end if;
645: if csr_child_defaults%FOUND then
646: close csr_child_defaults;
647: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
648: hr_utility.raise_error;
649: hr_utility.set_location(l_proc, 15);
650: else
651: close csr_child_defaults;
652: end if;
653: --
657: open csr_child_attrib(p_attribute_id, each_bg.business_group_id);
658: fetch csr_child_attrib into l_exists;
659: if csr_child_attrib%FOUND then
660: close csr_child_attrib;
661: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
662: hr_utility.raise_error;
663: hr_utility.set_location(l_proc, 20);
664: else
665: close csr_child_attrib;
658: fetch csr_child_attrib into l_exists;
659: if csr_child_attrib%FOUND then
660: close csr_child_attrib;
661: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
662: hr_utility.raise_error;
663: hr_utility.set_location(l_proc, 20);
664: else
665: close csr_child_attrib;
666: end if;
659: if csr_child_attrib%FOUND then
660: close csr_child_attrib;
661: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
662: hr_utility.raise_error;
663: hr_utility.set_location(l_proc, 20);
664: else
665: close csr_child_attrib;
666: end if;
667: --
670: open csr_child_defaults(p_attribute_id, each_bg.business_group_id);
671: fetch csr_child_defaults into l_exists;
672: if csr_child_defaults%FOUND then
673: close csr_child_defaults;
674: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
675: hr_utility.raise_error;
676: hr_utility.set_location(l_proc, 25);
677: else
678: close csr_child_defaults;
671: fetch csr_child_defaults into l_exists;
672: if csr_child_defaults%FOUND then
673: close csr_child_defaults;
674: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
675: hr_utility.raise_error;
676: hr_utility.set_location(l_proc, 25);
677: else
678: close csr_child_defaults;
679: end if;
672: if csr_child_defaults%FOUND then
673: close csr_child_defaults;
674: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
675: hr_utility.raise_error;
676: hr_utility.set_location(l_proc, 25);
677: else
678: close csr_child_defaults;
679: end if;
680: end loop;
683: open csr_child_attrib(p_attribute_id, p_business_group_id);
684: fetch csr_child_attrib into l_exists;
685: if csr_child_attrib%FOUND then
686: close csr_child_attrib;
687: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
688: hr_utility.raise_error;
689: hr_utility.set_location(l_proc, 30);
690: else
691: close csr_child_attrib;
684: fetch csr_child_attrib into l_exists;
685: if csr_child_attrib%FOUND then
686: close csr_child_attrib;
687: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
688: hr_utility.raise_error;
689: hr_utility.set_location(l_proc, 30);
690: else
691: close csr_child_attrib;
692: end if;
685: if csr_child_attrib%FOUND then
686: close csr_child_attrib;
687: hr_utility.set_message(801,'PAY_34240_CHILD_ATTRIBUTE');
688: hr_utility.raise_error;
689: hr_utility.set_location(l_proc, 30);
690: else
691: close csr_child_attrib;
692: end if;
693: --
696: open csr_child_defaults(p_attribute_id, p_business_group_id);
697: fetch csr_child_defaults into l_exists;
698: if csr_child_defaults%FOUND then
699: close csr_child_defaults;
700: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
701: hr_utility.raise_error;
702: hr_utility.set_location(l_proc, 35);
703: else
704: close csr_child_defaults;
697: fetch csr_child_defaults into l_exists;
698: if csr_child_defaults%FOUND then
699: close csr_child_defaults;
700: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
701: hr_utility.raise_error;
702: hr_utility.set_location(l_proc, 35);
703: else
704: close csr_child_defaults;
705: end if;
698: if csr_child_defaults%FOUND then
699: close csr_child_defaults;
700: hr_utility.set_message(801,'PAY_34241_CHILD_ATT_DEFAULT');
701: hr_utility.raise_error;
702: hr_utility.set_location(l_proc, 35);
703: else
704: close csr_child_defaults;
705: end if;
706: END IF;
703: else
704: close csr_child_defaults;
705: end if;
706: END IF;
707: hr_utility.set_location(' Leaving:'|| l_proc, 40);
708: --
709: End chk_for_child_rows;
710: -- ----------------------------------------------------------------------------
711: -- |-----------------------< chk_non_updateable_args >------------------------|
756: fnd_message.set_token('STEP ', '5');
757: fnd_message.raise_error;
758: END IF;
759: --
760: hr_utility.set_location(l_proc, 10);
761: --
762: if nvl(p_rec.business_group_id, hr_api.g_number) <>
763: nvl(pay_bad_shd.g_old_rec.business_group_id, hr_api.g_number) then
764: l_argument := 'business_group_id';
763: nvl(pay_bad_shd.g_old_rec.business_group_id, hr_api.g_number) then
764: l_argument := 'business_group_id';
765: raise l_error;
766: end if;
767: hr_utility.set_location(l_proc, 15);
768: --
769: if p_rec.attribute_id <> pay_bad_shd.g_old_rec.attribute_id then
770: l_argument := 'attribute_id';
771: raise l_error;
769: if p_rec.attribute_id <> pay_bad_shd.g_old_rec.attribute_id then
770: l_argument := 'attribute_id';
771: raise l_error;
772: end if;
773: hr_utility.set_location(l_proc, 20);
774: --
775: if p_rec.legislation_code <> pay_bad_shd.g_old_rec.legislation_code then
776: l_argument := 'legislation_code';
777: raise l_error;
775: if p_rec.legislation_code <> pay_bad_shd.g_old_rec.legislation_code then
776: l_argument := 'legislation_code';
777: raise l_error;
778: end if;
779: hr_utility.set_location(l_proc, 25);
780: --
781: if p_rec.attribute_name <> pay_bad_shd.g_old_rec.attribute_name then
782: l_argument := 'attribute_name';
783: raise l_error;
781: if p_rec.attribute_name <> pay_bad_shd.g_old_rec.attribute_name then
782: l_argument := 'attribute_name';
783: raise l_error;
784: end if;
785: hr_utility.set_location(l_proc, 30);
786: --
787: if p_rec.alterable <> pay_bad_shd.g_old_rec.alterable then
788: l_argument := 'alterable';
789: raise l_error;
787: if p_rec.alterable <> pay_bad_shd.g_old_rec.alterable then
788: l_argument := 'alterable';
789: raise l_error;
790: end if;
791: hr_utility.set_location(l_proc, 35);
792: --
793: EXCEPTION
794: WHEN l_error THEN
795: hr_api.argument_changed_error
796: (p_api_name => l_proc
797: ,p_argument => l_argument);
798: WHEN OTHERS THEN
799: RAISE;
800: hr_utility.set_location(' Leaving:'|| l_proc, 40);
801: --
802: End chk_non_updateable_args;
803: --
804: -- ----------------------------------------------------------------------------
853: --
854: l_proc varchar2(72) := g_package||'insert_validate';
855: --
856: Begin
857: hr_utility.set_location('Entering:'||l_proc, 5);
858: --
859: -- Call all supporting business operations
860: --
861: --
900: (p_effective_date => p_effective_date
901: ,p_alterable => p_rec.alterable
902: );
903: --
904: hr_utility.set_location(' Leaving:'||l_proc, 10);
905: End insert_validate;
906: -- ----------------------------------------------------------------------------
907: -- |---------------------------< delete_validate >----------------------------|
908: -- ----------------------------------------------------------------------------
912: --
913: l_proc varchar2(72) := g_package||'delete_validate';
914: --
915: Begin
916: hr_utility.set_location('Entering:'||l_proc, 5);
917: --
918: chk_startup_action(false
919: ,pay_bad_shd.g_old_rec.business_group_id
920: ,pay_bad_shd.g_old_rec.legislation_code
925: ,p_business_group_id => pay_bad_shd.g_old_rec.business_group_id
926: ,p_legislation_code => pay_bad_shd.g_old_rec.legislation_code
927: );
928: --
929: hr_utility.set_location(l_proc, 10);
930: --
931: -- NB. need to use g_old_rec, as p_rec is not pupulated with all the columns
932: -- for delete mode.
933: --
932: -- for delete mode.
933: --
934: IF hr_startup_data_api_support.g_startup_mode
935: NOT IN ('GENERIC','STARTUP') THEN
936: hr_utility.set_location(l_proc, 15);
937: --
938: -- Validate Important Attributes
939: --
940: -- After validating the set of important attributes,
941: -- if Multiple Message Detection is enabled and at least
942: -- one error has been found then abort further validation.
943: --
944: hr_multi_message.end_validation_set;
945: hr_utility.set_location(l_proc, 20);
946: END IF;
947: --
948: -- Call all supporting business operations
949: --
946: END IF;
947: --
948: -- Call all supporting business operations
949: --
950: hr_utility.set_location(' Leaving:'||l_proc, 30);
951: End delete_validate;
952: --
953: end pay_bad_bus;