1: PACKAGE BODY hr_pay_basis AS
2: /* $Header: pepbasis.pkb 120.1 2006/01/06 10:06:26 rthiagar noship $ */
3: /*
4: ************************************************************************
5: * *
5: * *
6: *Copyright (c) Oracle Corporation 1991, 1992, 1993. All rights reserved*
7: ************************************************************************ */
8: /*
9: Name : hr_pay_basis (BODY)
10:
11: Description : This package declares procedures required to
12: INSERT, UPDATE and DELETE pay bases:
13:
40: --
41: v_pay_basis_id NUMBER;
42: --
43: Begin
44: hr_utility.set_location('hr_pay_basis.generate_unique_id',1);
45: Begin
46: select per_pay_bases_s.nextval
47: into v_pay_basis_id
48: from sys.dual;
107: --
108: exception
109: when NO_DATA_FOUND then
110: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
111: hr_utility.set_message_token('PROCEDURE','hr_pay_basis.insert_row',1 );
112: hr_utility.set_message_token('STEP','1');
113: hr_utility.raise_error;
114: End;
115: End insert_row;
126: duplicate VARCHAR2(1) := 'N';
127: --
128: BEGIN
129: --
130: -- hr_utility.set_location('hr_pay_basis.chk_name_uniqueness',1);
131: --
132: BEGIN
133: --
134: SELECT 'Y'
169: duplicate VARCHAR2(1) := 'N';
170: --
171: BEGIN
172: --
173: -- hr_utility.set_location('hr_pay_basis.chk_input_val_rate_uk',1);
174: --
175: BEGIN
176: --
177: SELECT 'Y'
214: --
215: BEGIN
216: --
217: v_validation_chk := 'N';
218: -- hr_utility.set_location('hr_pay_basis.chk_duplicate_element',1);
219: --
220: BEGIN
221: --
222: SELECT 'Y'
254: --
255: BEGIN
256: --
257: v_validation_chk := 'N';
258: -- hr_utility.set_location('hr_pay_basis.chk_element_entry',1);
259: --
260: --
261: BEGIN
262: --
297: --
298: BEGIN
299: --
300: v_validation_chk := 'N';
301: hr_utility.set_location('hr_pay_basis.chk_basis_assignment',1);
302: --
303: --
304: BEGIN
305: --
335: v_basis_meaning VARCHAR2(80);
336: --
337: Begin
338: --
339: hr_utility.set_location('hr_pay_basis.populate_basis',1);
340: --
341: Begin
342: select hlu.meaning into v_basis_meaning
343: from hr_lookups hlu
348: --
349: WHEN NO_DATA_FOUND THEN
350: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
351: hr_utility.set_message_token('PROCEDURE',
352: 'hr_pay.basis.populate_basis');
353: hr_utility.set_message_token('STEP','1');
354: hr_utility.raise_error;
355: end;
356: --
367: --
368: --
369: Begin
370: --
371: hr_utility.set_location ('hr_pay_basis.populate_element_iv_name',1);
372: --
373: Begin
374: --
375: select pivtl.name,
397: --
398: WHEN NO_DATA_FOUND THEN
399: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
400: hr_utility.set_message_token('PROCEDURE',
401: 'hr_pay.basis.populate_iv_name');
402: hr_utility.set_message_token('STEP','1');
403: hr_utility.raise_error;
404: end;
405: --
412: v_rate_name VARCHAR2(80);
413: --
414: Begin
415: --
416: hr_utility.set_location('hr_pay_basis.populate_rate_name',1);
417: Begin
418: --
419: select name into v_rate_name
420: from pay_rates
423: EXCEPTION
424: WHEN NO_DATA_FOUND THEN
425: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
426: hr_utility.set_message_token('PROCEDURE',
427: 'hr_pay.basis.populate_rate_name');
428: hr_utility.set_message_token('STEP','1');
429: hr_utility.raise_error;
430: end;
431: --
441: p_end_date OUT NOCOPY DATE) IS
442: --
443: Begin
444: --
445: hr_utility.set_location ('hr_pay_basis.populate_valid_dates',1);
446: --
447: Begin
448: --
449: select min(effective_start_date),
457: when NO_DATA_FOUND
458: then
459: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
460: hr_utility.set_message_token('PROCEDURE',
461: 'hr_pay.basis.populate_rate_name');
462: hr_utility.set_message_token('STEP','1');
463: hr_utility.raise_error;
464: end;
465: --
483: v_valid VARCHAR2(1);
484: --
485: Begin
486: --
487: hr_utility.set_location ('hr_pay_basis.retreive_fields',1);
488: --
489: Begin
490: -- check to see if salary basis reteived is valid for the given session
491: -- date
563: where rowid = p_row_id;
564:
565: --
566: Begin
567: hr_utility.set_location ('hr_pay_basis.validate_update',1);
568: --
569: OPEN C;
570: Fetch C into v_pay_basis, v_input_value_id;
571: if (C%NOTFOUND)
586: when no_data_found
587: then
588: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
589: hr_utility.set_message_token('PROCEDURE',
590: 'hr_pay_basis.validate_update');
591: hr_utility.set_message_token('STEP','1');
592: hr_utility.raise_error;
593: end;
594:
592: hr_utility.raise_error;
593: end;
594:
595:
596: END hr_pay_basis;