DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_BF_GEN_DATA_PUMP

Source


1 PACKAGE BODY PER_BF_GEN_DATA_PUMP AS
2 /* $Header: pebgendp.pkb 115.6 2002/09/05 12:56:36 apholt noship $ */
3 
4 -- Declare local variables
5 --
6 l_package_name    VARCHAR2(30) DEFAULT 'PER_BF_GEN_DATA_PUMP.';
7 -- -------------------------------------------------------------------------
8 -- --------------------< get_input_value_id >-------------------------------
9 -- -------------------------------------------------------------------------
10 FUNCTION get_input_value_id
11   (p_reporting_name  IN VARCHAR2
12   ,p_business_group_id  IN NUMBER
13   ,p_effective_date     IN DATE)
14 RETURN BINARY_INTEGER
15 IS
16  l_input_value_id  NUMBER DEFAULT null;
17 BEGIN
18   IF p_reporting_name IS NOT NULL THEN
19     SELECT input_value_id
20     INTO l_input_value_id
21     FROM pay_input_values_f iv
22        , pay_element_types_f et
23      WHERE et.reporting_name = p_reporting_name
24      AND et.business_group_id = p_business_group_id
25      AND et.element_type_id = iv.element_type_id
26      AND iv.display_sequence=1
27      AND iv.name <> 'Pay Value'
28      AND p_effective_date
29 	 BETWEEN et.effective_start_date AND et.effective_end_date
30      AND p_effective_date
31 	 BETWEEN iv.effective_start_date AND iv.effective_end_date;
32   END IF;
33   --
34   RETURN (l_input_value_id);
35 EXCEPTION
36 WHEN OTHERS THEN
37   -- General Datapump fail procedure
38   hr_data_pump.fail('get_input_value_id'
39 		   ,sqlerrm
40 		   ,p_reporting_name
41 		   ,p_business_group_id
42 		   ,p_effective_date);
43   RAISE;
44 END get_input_value_id;
45 -- -------------------------------------------------------------------------
46 -- --------------------< get_balance_type_id >------------------------------
47 -- -------------------------------------------------------------------------
48 FUNCTION get_balance_type_id
49   (p_balance_type_name  IN VARCHAR2
50   ,p_business_group_id  IN NUMBER
51   ,p_effective_date     IN DATE)
52 RETURN BINARY_INTEGER
53 IS
54   --
55   -- Cursor to get the balance_type_id
56   --
57   CURSOR csr_get_balance_type_id IS
58   SELECT balance_type_id
59     FROM per_bf_balance_types
60    WHERE internal_name  = p_balance_type_name
61      AND business_group_id = p_business_group_id
62      AND p_effective_date
63 	 BETWEEN NVL(date_from,to_date('01-01-0001','DD-MM-YYYY'))
64              AND NVL(date_to,to_date('31-12-4712','DD-MM-YYYY'));
65   --
66   l_balance_type_id   NUMBER;
67 BEGIN
68   --
69   OPEN csr_get_balance_type_id;
70   FETCH csr_get_balance_type_id INTO l_balance_type_id;
71   --
72   IF csr_get_balance_type_id%FOUND THEN
73     --
74     CLOSE csr_get_balance_type_id;
75     --
76     RETURN (l_balance_type_id);
77     --
78   ELSE
79     --
80     CLOSE csr_get_balance_type_id;
81     --
82     -- No ID has been found so raise an error.
83     --
84     RAISE_APPLICATION_ERROR (-20000,
85       'Cannot find balance_type_id');
86     --
87   END IF;
88   --
89 EXCEPTION
90 WHEN OTHERS THEN
91   -- General Datapump fail procedure
92   hr_data_pump.fail('get_balance_type_id'
93 		   ,sqlerrm
94 		   ,p_balance_type_name
95 		   ,p_business_group_id
96 		   ,p_effective_date);
97   RAISE;
98 END get_balance_type_id;
99 -- -------------------------------------------------------------------------
100 -- --------------------< get_payroll_id >-----------------------------------
101 -- -------------------------------------------------------------------------
102 FUNCTION get_payroll_id
103 (
104    p_payroll_name      in varchar2,
105    p_business_group_id in number,
106    p_effective_date    in date
107 )
108 RETURN BINARY_INTEGER IS
109   l_payroll_id BINARY_INTEGER;
110 BEGIN
111    SELECT pay.payroll_id
112    INTO   l_payroll_id
113    FROM   pay_payrolls_f pay
114    WHERE  pay.payroll_name          = p_payroll_name
115    AND    pay.business_group_id + 0 = p_business_group_id
116    AND    p_effective_date BETWEEN
117           pay.effective_start_date AND pay.effective_end_date;
118    RETURN(l_payroll_id);
119 EXCEPTION
120 WHEN OTHERS THEN
121    hr_data_pump.fail('get_payroll_id'
122 		    , sqlerrm
123 		    , p_payroll_name
124 		    , p_business_group_id
125 		    , p_effective_date);
126    RAISE;
127 END get_payroll_id;
128 -- -------------------------------------------------------------------------
129 -- --------------------< get_payroll_run_id >-------------------------------
130 -- -------------------------------------------------------------------------
131 FUNCTION get_payroll_run_id
132   (p_payroll_run_user_key     IN VARCHAR2)
133 RETURN BINARY_INTEGER
134 IS
135   l_payroll_run_id   NUMBER;
136 BEGIN
137  SELECT unique_key_id
138  INTO  l_payroll_run_id
139  FROM   hr_pump_batch_line_user_keys
140  WHERE  user_key_value = p_payroll_run_user_key;
141   --
142   RETURN (l_payroll_run_id);
143   --
144 EXCEPTION
145 WHEN OTHERS THEN
146   -- General Datapump fail procedure
147   hr_data_pump.fail('get_payroll_run_id'
148 		   ,sqlerrm
149 		   ,p_payroll_run_user_key);
150   RAISE;
151 END get_payroll_run_id;
152 --
153 -- -------------------------------------------------------------------------
154 -- --------------------< get_assignment_id >--------------------------------
155 -- -------------------------------------------------------------------------
156 FUNCTION get_assignment_id
157   (p_employee_number          IN VARCHAR2
158   ,p_business_group_id        IN NUMBER
159   ,p_effective_date           IN DATE)
160 RETURN BINARY_INTEGER
161 IS
162   l_assignment_id  NUMBER;
163 BEGIN
164   SELECT pa.assignment_id
165   INTO   l_assignment_id
166   FROM   per_all_assignments_f pa
167       ,  per_all_people_f pp
168   WHERE pp.employee_number   = p_employee_number
169     AND pp.business_group_id = p_business_group_id
170     AND pp.person_id = pa.person_id
171     AND pa.primary_flag = 'Y'
172     AND pa.assignment_type = 'E'
173     AND p_effective_date
174 	BETWEEN pa.effective_start_date
175 	    AND pa.effective_end_date
176     AND p_effective_date
177 	BETWEEN pp.effective_start_date
178 	    AND pp.effective_end_date;
179   --
180   RETURN (l_assignment_id);
181   --
182 EXCEPTION
183 WHEN OTHERS THEN
184   -- General Datapump fail procedure
185   hr_data_pump.fail('get_assignment_id'
186 		   ,sqlerrm
187 		   ,p_employee_number
188 		   ,p_effective_date);
189   RAISE;
190 END get_assignment_id;
191 -- -------------------------------------------------------------------------
192 -- ------------------< get_personal_payment_method_id >---------------------
193 -- -------------------------------------------------------------------------
194 FUNCTION get_personal_payment_method_id
195   (p_employee_number          IN VARCHAR2
196   ,p_business_group_id        IN NUMBER
197   ,p_effective_date           IN DATE
198   ,p_org_payment_method_name  IN VARCHAR2)
199 RETURN BINARY_INTEGER
200 IS
201   l_personal_payment_method_id NUMBER;
202 BEGIN
203   SELECT personal_payment_method_id
204   INTO l_personal_payment_method_id
205   FROM PAY_PERSONAL_PAYMENT_METHODS_F ppm
206      , PAY_ORG_PAYMENT_METHODS_F_TL opm
207      , PER_ALL_PEOPLE_F pp
208      , PER_ALL_ASSIGNMENTS_F asg
209     WHERE opm.org_payment_method_id = ppm.org_payment_method_id
210     AND opm.org_payment_method_name = p_org_payment_method_name
211     AND pp.employee_number = p_employee_number
212     AND pp.business_group_id = p_business_group_id
213     AND pp.person_id = asg.person_id
214     AND asg.primary_flag = 'Y'
215     AND asg.assignment_id = ppm.assignment_id
216     AND p_effective_date
217 	BETWEEN pp.effective_start_date AND pp.effective_end_date
218     AND p_effective_date
219 	BETWEEN asg.effective_start_date AND asg.effective_end_date
220     AND p_effective_date
221 	BETWEEN ppm.effective_start_date AND ppm.effective_end_date
222     AND rownum=1
223     ORDER BY priority;
224   --
225   RETURN (l_personal_payment_method_id);
226 EXCEPTION
227 WHEN OTHERS THEN
228   -- General Datapump fail procedure
229   hr_data_pump.fail('get_personal_payment_method_id'
230 		   ,sqlerrm
231 		   ,p_employee_number
232 		   ,p_org_payment_method_name
233 		   ,p_effective_date);
234   RAISE;
235 END get_personal_payment_method_id;
236 END PER_BF_GEN_DATA_PUMP;