[Home] [Help]
PACKAGE BODY: APPS.GHR_PSN_PSN_VAL_PKG2
Source
1 package body ghr_psn_psn_val_pkg2 as
2 /* $Header: ghposrul.pkb 115.8 2003/07/03 08:31:57 ajose ship $ */
3 procedure ghr_psn_psn_val_pkg2_drv
4 (
5 p_grade in VARCHAR2
6 ,p_pay_plan in VARCHAR2
7 ,p_pos_grp1_type in ghr_api.pos_grp1_type
8 ,p_pos_oblig_type in ghr_api.pos_oblig_type
9 ,p_pos_valid_grade_type in ghr_api.pos_valid_grade_type
10 ,p_target_grade in VARCHAR2
11 )
12 is
13 begin
14 posn_oblig_2
15 (
16 p_pos_oblig_type => p_pos_oblig_type
17 );
18 psn_grade_9
19 (
20 p_grade => p_grade
21 ,p_pay_plan => p_pay_plan
22 );
23 psn_pay_basis_1
24 (
25 p_pay_plan => p_pay_plan
26 ,p_pos_valid_grade_type => p_pos_valid_grade_type
27 );
28 psn_pay_plan_grade_3
29 (
30 p_grade => p_grade
31 ,p_target_grade => p_target_grade
32 );
33 target_gr_civ5
34 (
35 p_target_grade => p_target_grade
36 );
37 psn_asg_work_sch
38 (
39 p_pos_grp1_type => p_pos_grp1_type
40 );
41 end ghr_psn_psn_val_pkg2_drv;
42 --
43 procedure posn_oblig_2
44 (
45 p_pos_oblig_type in ghr_api.pos_oblig_type
46 )
47 is
48 begin
49 IF ( p_pos_oblig_type.expiration_date IS NULL
50 AND p_pos_oblig_type.obligation_type IN ('C', 'E', 'M', 'N', 'S', 'T'))
51 THEN
52 hr_utility.set_message(8301, 'GHR_38456_POSN_RULES');
53 hr_utility.raise_error;
54 END IF;
55 end posn_oblig_2;
56 --
57 procedure psn_asg_work_sch
58 (
59 p_pos_grp1_type in ghr_api.pos_grp1_type
60 )
61 is
62 begin
63 IF ( p_pos_grp1_type.work_schedule in ('F','G','B','I','J')
64 AND p_pos_grp1_type.part_time_hours IS NOT NULL)
65 THEN
66 hr_utility.set_message(8301, 'GHR_38427_POSN_RULES');
67 hr_utility.raise_error;
68 END IF;
69 end psn_asg_work_sch;
70 --
71 procedure psn_grade_9
72 (
73 p_grade in VARCHAR2
74 ,p_pay_plan in VARCHAR2
75 )
76 is
77 begin
78 IF ( p_pay_plan IN ( 'GH', 'GM')
79 AND p_grade NOT IN ('13', '14', '15') )
80 THEN
81 hr_utility.set_message(8301, 'GHR_38458_POSN_RULES');
82 hr_utility.raise_error;
83 END IF;
84 end psn_grade_9;
85 --
86 procedure psn_pay_basis_1
87 (
88 p_pay_plan in VARCHAR2
89 ,p_pos_valid_grade_type in ghr_api.pos_valid_grade_type
90 )
91 is
92 begin
93 IF ( p_pay_plan IN ('WG', 'WL', 'WS', 'YV', 'YW')
94 AND p_pos_valid_grade_type.pay_basis <> 'PH')
95 THEN
96 hr_utility.set_message(8301, 'GHR_38461_POSN_RULES');
97 hr_utility.raise_error;
98 END IF;
99 end psn_pay_basis_1;
100 --
101 procedure psn_pay_plan_grade_3
102 (
103 p_grade in VARCHAR2
104 ,p_target_grade in VARCHAR2
105 )
106 is
107 begin
108 IF ( SUBSTR(p_target_grade, 4, 2) < p_grade )
109 THEN
110 hr_utility.set_message(8301, 'GHR_38463_POSN_RULES');
111 hr_utility.raise_error;
112 END IF;
113 end psn_pay_plan_grade_3;
114 --
115 procedure target_gr_civ5
116 (
117 p_target_grade in VARCHAR2
118 )
119 is
120 begin
121 IF ( SUBSTR(p_target_grade, 4, 2) > '05'
122 AND SUBSTR(p_target_grade, 1, 2) IN ('EX', 'WW'))
123 THEN
124 hr_utility.set_message(8301, 'GHR_38469_POSN_RULES');
125 hr_utility.raise_error;
126 END IF;
127 IF ( SUBSTR(p_target_grade, 4, 2) > '15'
128 AND SUBSTR(p_target_grade, 1, 2) IN ('GG', 'GH', 'GM', 'GS', 'RL', 'RM', 'WG', 'WL', 'XD', 'XL', 'XP'))
129 THEN
130 hr_utility.set_message(8301, 'GHR_38470_POSN_RULES');
131 hr_utility.raise_error;
132 END IF;
133 IF ( SUBSTR(p_target_grade, 4, 2) > '19'
134 AND SUBSTR(p_target_grade, 1, 2) IN ('SX', 'WS', 'XN', 'XS'))
135 THEN
136 hr_utility.set_message(8301, 'GHR_38471_POSN_RULES');
137 hr_utility.raise_error;
138 END IF;
139 end target_gr_civ5;
140 --
141 end ghr_psn_psn_val_pkg2;