DBA Data[Home] [Help]

PACKAGE: APPS.GHR_MSL_PKG

Source


1 PACKAGE GHR_MSL_PKG AS
2 /* $Header: ghmslexe.pkh 120.7.12010000.1 2008/07/28 10:33:09 appldev ship $ */
3 
4   msl_error    EXCEPTION;
5 
6 g_ses_msl_process     VARCHAR2(1);
7 g_ses_bp_capped BOOLEAN := FALSE;
8 
9 ---GPPA Update 46 changes
10 g_first_noa_code      ghr_nature_of_actions.code%type;
11 
12 -- Bug#5063304  Moved this type definition from execute_msl to global level.
13 TYPE pay_plan_prd IS RECORD
14 (
15 pay_plan	ghr_mass_salary_criteria.pay_plan%type,
16 prd		    ghr_mass_salary_criteria.pay_rate_determinant%type
17 );
18 
19 TYPE pp_prd IS TABLE OF pay_plan_prd INDEX BY BINARY_INTEGER;
20 
21 TYPE pay_plan_prd_per_gr IS RECORD
22 (
23 pay_plan	ghr_mass_salary_criteria.pay_plan%type,
24 prd		    ghr_mass_salary_criteria.pay_rate_determinant%type,
25 percent		ghr_mass_salary_criteria_ext.increase_percent%type,
26 grade		ghr_mass_salary_criteria_ext.grade%type
27 );
28 
29 TYPE pp_prd_per_gr IS TABLE OF pay_plan_prd_per_gr INDEX BY BINARY_INTEGER;
30 
31 PROCEDURE execute_msl (p_errbuf out nocopy varchar2,
32                        p_retcode out nocopy number,
33                        p_mass_salary_id in number,
34                        p_action in varchar2
35 		       );
36                        --p_bus_grp_id in number);
37 
38 
39 PROCEDURE execute_msl_perc (p_errbuf out nocopy varchar2,
40                        p_retcode out nocopy number,
41                        p_mass_salary_id in number,
42                        p_action in varchar2);
43 
44 function SUBMIT_CONC_REQ (P_APPLICATION IN VARCHAR2,
45                               P_PROGRAM IN VARCHAR2,
46                               P_DESCRIPTION IN VARCHAR2,
47                               P_START_TIME IN VARCHAR2,
48                               P_SUB_REQUEST IN BOOLEAN,
49                               P_ARGUMENT1 IN VARCHAR2,
50                               P_ARGUMENT2 IN VARCHAR2)
51    return number;
52 
53 procedure purge_processed_recs(p_session_id in number,
54                                p_err_buf out nocopy varchar2);
55 
56 procedure pop_dtls_from_pa_req(p_person_id in number,p_effective_date in date,
57          p_mass_salary_id in number, p_org_name in varchar2);
58 
59 FUNCTION GET_PAY_PLAN_NAME (PP IN VARCHAR2) RETURN VARCHAR2;
60 FUNCTION GET_USER_TABLE_name (P_USER_TABLE_id IN NUMBER) RETURN VARCHAR2;
61 
62 procedure ins_upd_per_extra_info
63                (p_person_id in number,p_effective_date in date,
64                 p_sel_flag in varchar2, p_comment in varchar2,
65                 p_msl_id   in number, p_increase_percent in number default NULL);
66 
67 procedure ins_upd_per_ses_extra_info
68                (p_person_id in number,p_effective_date in date,
69                 p_sel_flag in varchar2, p_comment in varchar2,
70                 p_msl_id   in number, p_ses_basic_pay in number default NULL);
71 
72 PROCEDURE get_extra_info_comments
73                 (p_person_id in number,
74                  p_effective_date in date,
75                  p_sel_flag    in out nocopy varchar2,
76                  p_comments    in out nocopy varchar2,
77                  p_mass_salary_id in number,
78 		 p_increase_percent out nocopy number,
79 		 p_ses_basic_pay out nocopy number);
80 
81 -- Bug#5063304 Created this new procedure
82 PROCEDURE fetch_and_validate_emp(
83                               p_action              IN VARCHAR2
84                              ,p_mass_salary_id      IN NUMBER
85                              ,p_mass_salary_name    IN VARCHAR2
86                              ,p_full_name           IN per_people_f.full_name%TYPE
87 							 ,p_national_identifier IN per_people_f.national_identifier%TYPE
88                              ,p_assignment_id       IN per_assignments_f.assignment_id%TYPE
89 							 ,p_person_id           IN per_assignments_f.person_id%TYPE
90 							 ,p_position_id         IN per_assignments_f.position_id%TYPE
91 							 ,p_grade_id            IN per_assignments_f.grade_id%TYPE
92 							 ,p_business_group_id   IN per_assignments_f.business_group_iD%TYPE
93 							 ,p_location_id         IN per_assignments_f.location_id%TYPE
94 							 ,p_organization_id     IN per_assignments_f.organization_id%TYPE
95                              ,p_msl_organization_id       IN per_assignments_f.organization_id%TYPE
96                              ,p_msl_duty_station_id       IN ghr_duty_stations_f.duty_station_id%TYPE
97                              ,p_msl_personnel_office_id    IN VARCHAR2
98                              ,p_msl_agency_code_subelement IN VARCHAR2
99                              ,p_msl_user_table_id          IN NUMBER
100                              ,p_rec_pp_prd                 IN pp_prd
101                              ,p_personnel_office_id OUT NOCOPY VARCHAR2
102                              ,p_org_structure_id    OUT NOCOPY VARCHAR2
103                              ,p_position_title      OUT NOCOPY VARCHAR2
104                              ,p_position_number     OUT NOCOPY VARCHAR2
105                              ,p_position_seq_no     OUT NOCOPY VARCHAR2
106                              ,p_subelem_code        OUT NOCOPY VARCHAR2
107                              ,p_duty_station_id     OUT NOCOPY ghr_duty_stations_f.duty_station_id%TYPE
108                              ,p_tenure              OUT NOCOPY VARCHAR2
109                              ,p_annuitant_indicator OUT NOCOPY VARCHAR2
110                              ,p_pay_rate_determinant OUT NOCOPY VARCHAR2
111                              ,p_work_schedule       OUT NOCOPY  VARCHAR2
112                              ,p_part_time_hour      OUT NOCOPY VARCHAR2
113                              ,p_to_grade_id         OUT NOCOPY per_assignments_f.grade_id%type
114                              ,p_pay_plan            OUT NOCOPY VARCHAR2
115                              ,p_to_pay_plan         OUT NOCOPY VARCHAR2
116                              ,p_pay_table_id        OUT NOCOPY NUMBER
117                              ,p_grade_or_level      OUT NOCOPY VARCHAR2
118                              ,p_to_grade_or_level   OUT NOCOPY VARCHAR2
119                              ,p_step_or_rate        OUT NOCOPY VARCHAR2
120                              ,p_pay_basis           OUT NOCOPY VARCHAR2
121                              ,p_elig_flag           OUT NOCOPY BOOLEAN
122 			                );
123 --
124 --
125 --
126 PROCEDURE fetch_and_validate_emp_perc(
127                               p_action              IN VARCHAR2
128                              ,p_mass_salary_id      IN NUMBER
129                              ,p_mass_salary_name    IN VARCHAR2
130                              ,p_full_name           IN per_people_f.full_name%TYPE
131 							 ,p_national_identifier IN per_people_f.national_identifier%TYPE
132                              ,p_assignment_id       IN per_assignments_f.assignment_id%TYPE
133 							 ,p_person_id           IN per_assignments_f.person_id%TYPE
134 							 ,p_position_id         IN per_assignments_f.position_id%TYPE
135 							 ,p_grade_id            IN per_assignments_f.grade_id%TYPE
136 							 ,p_business_group_id   IN per_assignments_f.business_group_iD%TYPE
137 							 ,p_location_id         IN per_assignments_f.location_id%TYPE
138 							 ,p_organization_id     IN per_assignments_f.organization_id%TYPE
139                              ,p_msl_organization_id       IN per_assignments_f.organization_id%TYPE
140                              ,p_msl_duty_station_id       IN ghr_duty_stations_f.duty_station_id%TYPE
141                              ,p_msl_personnel_office_id    IN VARCHAR2
142                              ,p_msl_agency_code_subelement IN VARCHAR2
143                              ,p_msl_user_table_id          IN NUMBER
144                              ,p_rec_pp_prd_per_gr          IN pp_prd_per_gr
145                              ,p_personnel_office_id OUT NOCOPY VARCHAR2
146                              ,p_org_structure_id    OUT NOCOPY VARCHAR2
147                              ,p_position_title      OUT NOCOPY VARCHAR2
148                              ,p_position_number     OUT NOCOPY VARCHAR2
149                              ,p_position_seq_no     OUT NOCOPY VARCHAR2
150                              ,p_subelem_code        OUT NOCOPY VARCHAR2
151                              ,p_duty_station_id     OUT NOCOPY ghr_duty_stations_f.duty_station_id%TYPE
152                              ,p_tenure              OUT NOCOPY VARCHAR2
153                              ,p_annuitant_indicator OUT NOCOPY VARCHAR2
154                              ,p_pay_rate_determinant OUT NOCOPY VARCHAR2
155                              ,p_work_schedule       OUT NOCOPY  VARCHAR2
156                              ,p_part_time_hour      OUT NOCOPY VARCHAR2
157                              ,p_pay_plan            OUT NOCOPY VARCHAR2
158                              ,p_pay_table_id        OUT NOCOPY NUMBER
159                              ,p_grade_or_level      OUT NOCOPY VARCHAR2
160                              ,p_step_or_rate        OUT NOCOPY VARCHAR2
161                              ,p_pay_basis           OUT NOCOPY VARCHAR2
162                              ,p_increase_percent    OUT NOCOPY NUMBER
163                              ,p_elig_flag           OUT NOCOPY BOOLEAN
164 			                );
165 --
166 --
167 --
168 FUNCTION check_init_eligibility(p_duty_station_id in number,
169                            p_PERSONNEL_OFFICE_ID in varchar2,
170                            p_AGENCY_CODE_SUBELEMENT in varchar2,
171 
172                            p_l_duty_station_id in number,
173                            p_l_personnel_office_id in varchar2,
174                            p_l_sub_element_code in varchar2)
175 RETURN boolean;
176 
177 FUNCTION check_eligibility(p_mass_salary_id  in number,
178                            p_user_table_id   in  number,
179                            p_pay_table_id    in  number,
180                            p_pay_plan        in  varchar2,
181 
182                            p_pay_rate_determinant in varchar2,
183                            p_person_id in number,
184                            p_effective_date in date,
185                            p_action in varchar2)
186 RETURN boolean;
187 
188 function person_in_pa_req_1noa
189           (p_person_id      in number,
190            p_effective_date in date,
191            p_first_noa_code in varchar2,
192            p_pay_plan       in varchar2,
193            p_days           in number default 350
194            )
195   return boolean;
196 
197 function person_in_pa_req_2noa
198           (p_person_id      in number,
199            p_effective_date in date,
200            p_second_noa_code in varchar2,
201            p_days           in number default 350
202            )
203   return boolean;
204 
205 PROCEDURE get_from_sf52_data_elements (p_assignment_id in number,
206                                        p_effective_date in date,
207                                        p_old_basic_pay out nocopy number,
208                                        p_old_avail_pay out nocopy number,
209                                        p_old_loc_diff out nocopy number,
210                                        p_tot_old_sal out nocopy number,
211                                        p_old_auo_pay out nocopy number,
212                                        p_old_adj_basic_pay out nocopy number,
213                                        p_other_pay out nocopy number,
214                                        p_auo_premium_pay_indicator out nocopy varchar2,
215                                        p_ap_premium_pay_indicator out nocopy varchar2,
216                                        p_retention_allowance out nocopy number,
217                                        p_retention_allow_perc out nocopy number,
218                                        p_supervisory_differential out nocopy number,
219                                        p_supervisory_diff_perc out nocopy number,
220                                        p_staffing_differential out nocopy number);
221 
222 procedure get_sub_element_code_pos_title
223                (p_position_id in per_assignments_f.position_id%type,
224                 p_person_id in number,
225                 p_business_group_id in per_assignments_f.business_group_id%type,
226                 p_assignment_id in per_assignments_f.assignment_id%type,
227                 p_effective_date in date,
228                 p_sub_element_code out nocopy varchar2,
229                 p_position_title   out nocopy varchar2,
230                 p_position_number   out nocopy varchar2,
231                 p_position_seq_no   out nocopy varchar2);
232 
233 procedure get_other_dtls_for_rep(p_prd in varchar2,
234                  p_first_lac2_information1 in varchar2,
235                  p_first_lac2_information2 in varchar2,
236                  p_first_action_la_code1 out nocopy varchar2,
237                  p_first_action_la_code2 out nocopy varchar2,
238                  p_remark_code1 out nocopy varchar2,
239                  p_remark_code2 out nocopy varchar2
240                  );
241 
242 function check_select_flg_msl_perc(p_person_id in number,
243                           p_action in varchar2,
244                           p_effective_date in date,
245                           p_mass_salary_id in number,
246                           p_sel_flg in out nocopy varchar2,
247 						  p_increase_percent in out nocopy number)
248 return boolean;
249 
250 
251 function check_select_flg(p_person_id in number,
252                           p_action in varchar2,
253                           p_effective_date in date,
254                           p_mass_salary_id in number,
255                           p_sel_flg in out nocopy varchar2)
256 return boolean;
257 
258 procedure purge_old_data (p_mass_salary_id in number);
259 
260 PROCEDURE get_pay_plan_and_table_id (p_prd in varchar2,
261                         p_person_id in number,
262                         p_position_id in per_assignments_f.position_id%type,
263                         p_effective_date in date,
264                         p_grade_id in per_assignments_f.grade_id%type,
265                         p_assignment_id in per_assignments_f.assignment_id%type,
266                         p_action in varchar2,
267                         p_pay_plan out nocopy varchar2,
268                         p_pay_table_id out nocopy number,
269                         p_grade_or_level out nocopy varchar2,
270                         p_step_or_rate   out nocopy varchar2,
271                         p_pay_basis out nocopy varchar2);
272 
273 --Bug#5089732 Created new overloaded procedure get_pay_plan_and_table_id
274 PROCEDURE get_pay_plan_and_table_id (p_prd in varchar2,
275                         p_person_id in number,
276                         p_position_id in per_assignments_f.position_id%type,
277                         p_effective_date in date,
278                         p_grade_id in per_assignments_f.grade_id%type,
279                         p_to_grade_id out nocopy per_assignments_f.grade_id%type,
280                         p_assignment_id in per_assignments_f.assignment_id%type,
281                         p_action in varchar2,
282                         p_pay_plan out nocopy varchar2,
283 			            p_to_pay_plan out nocopy varchar2,
284                         p_pay_table_id out nocopy number,
285                         p_grade_or_level out nocopy varchar2,
286 			            p_to_grade_or_level out nocopy varchar2,
287                         p_step_or_rate   out nocopy varchar2,
288                         p_pay_basis out nocopy varchar2);
289 
290 procedure update_sel_flg (p_person_id in number,p_effective_date date);
291 
292 FUNCTION check_grade_retention(p_prd in varchar2
293                               ,p_person_id in number
294                               ,p_effective_date in date) return varchar2;
295 
296 procedure get_pos_grp1_ddf (p_position_id in per_assignments_f.position_id%type,
297                             p_effective_date in date,
298                             p_pos_ei_data     out nocopy per_position_extra_info%rowtype);
299 
300 procedure create_mass_act_prev (
301  p_effective_date in date,
302  p_date_of_birth in date,
303  p_full_name in varchar2,
304  p_national_identifier in varchar2,
305  p_duty_station_code in varchar2,
306  p_duty_station_desc in varchar2,
307  p_personnel_office_id in varchar2,
308  p_basic_pay       in number,
309  p_new_basic_pay   in number,
310    -- Bug#2383992
311  p_adj_basic_pay       in number,
312  p_new_adj_basic_pay   in number,
313   -- Bug#2383992
314  p_old_avail_pay   in number,
315  p_new_avail_pay   in number,
316  p_old_loc_diff    in number,
317  p_new_loc_diff    in number,
318  p_tot_old_sal     in number,
319  p_tot_new_sal     in number,
320  p_old_auo_pay     in number,
321  p_new_auo_pay     in number,
322  p_position_id in per_assignments_f.position_id%type,
323  p_position_title in varchar2,
324  -- FWFA Changes Bug#4444609
325  p_position_number in varchar2,
326  p_position_seq_no in varchar2,
327  -- FWFA Changes
328  p_org_structure_id in varchar2,
329  p_agency_sub_element_code in varchar2,
330  p_person_id       in number,
331  p_mass_salary_id  in number,
332  p_sel_flg         in varchar2,
333  p_first_action_la_code1 in varchar2,
334  p_first_action_la_code2 in varchar2,
335  p_remark_code1 in varchar2,
336  p_remark_code2 in varchar2,
337  p_grade_or_level in varchar2,
338  p_step_or_rate in varchar2,
339  p_pay_plan     in varchar2,
340  p_pay_rate_determinant in varchar2,
341  p_tenure in varchar2,
342  p_action in varchar2,
343  p_assignment_id in number,
344  p_old_other_pay in number,
345  p_new_other_pay in number,
346    -- Bug#2383992
347  p_old_capped_other_pay in number,
348  p_new_capped_other_pay in number,
349  p_old_retention_allowance in number,
350  p_new_retention_allowance in number,
351  p_old_supervisory_differential in number,
352  p_new_supervisory_differential in number,
353  p_organization_name            in varchar2,
354  -- Bug#2383992
355  p_increase_percent in number default null,
356  -- FWFA Changes Bug#4444609
357  p_input_pay_rate_determinant in varchar2,
358  p_from_pay_table_id  number,
359  p_to_pay_table_id  number
360  -- FWFA Changes
361  );
362 
363 procedure get_lac_dtls
364             (p_pa_request_id  in number,
365              p_sf52_rec       out nocopy ghr_pa_requests%rowtype);
366 
367 procedure create_lac_remarks
368             (p_pa_request_id  in number,
369              p_new_pa_request_id  in number);
370 
371 procedure upd_ext_info_to_null(p_effective_date in date);
372 
373 PROCEDURE assign_to_sf52_rec(
374  p_person_id              in number,
375  p_first_name             in varchar2,
376  p_last_name              in varchar2,
377  p_middle_names           in varchar2,
378  p_national_identifier    in varchar2,
379  p_date_of_birth          in date,
380  p_effective_date         in date,
381  p_assignment_id          in number,
385  p_to_pay_plan            in varchar2,
382  p_tenure                 in varchar2,
383   -- Bug#5089732 Added to_grade_id, to_pay_plan,to_grade_or_level parameters.
384  p_to_grade_id            in number,
386  p_to_grade_or_level      in varchar2,
387  -- Bug35089732
388  p_step_or_rate           in varchar2,
389  p_annuitant_indicator    in varchar2,
390  p_pay_rate_determinant   in varchar2,
391  p_work_schedule          in varchar2,
392  p_part_time_hour         in varchar2,
393  p_flsa_category          in varchar2,
394  p_bargaining_unit_status in varchar2,
395  p_functional_class       in varchar2,
396  p_supervisory_status     in varchar2,
397  p_basic_pay              in number,
398  p_to_locality_adj        in number,
399  p_to_adj_basic_pay       in number,
400  p_to_total_salary        in number,
401  p_from_other_pay_amount  in number,
402  p_to_other_pay_amount    in number,
403  p_to_au_overtime         in number,
404  p_to_availability_pay    in number,
405  p_to_retention_allowance in number,
406  p_to_retention_allow_perce in number,
407  p_to_supervisory_differential in number,
408  p_to_supervisory_diff_perce in number,
409  p_to_staffing_differential in number,
410  p_duty_station_id        in number,
411  p_duty_station_code      in ghr_pa_requests.duty_station_code%type,
412  p_duty_station_desc      in ghr_pa_requests.duty_station_desc%type,
413  -- FWFA Changes Bug#4444609
414  p_input_pay_rate_determinant in ghr_pa_requests.input_pay_rate_determinant%type,
415  p_from_pay_table_id       in ghr_pa_requests.from_pay_table_identifier%type,
416  p_to_pay_table_id         in ghr_pa_requests.to_pay_table_identifier%type,
417  -- FWFA Changes
418  p_lac_sf52_rec           in ghr_pa_requests%rowtype,
419  p_sf52_rec               out nocopy ghr_pa_requests%rowtype);
420 
421 procedure pr (msg varchar2,par1 in varchar2 default null,
422             par2 in varchar2 default null);
423 
424 PROCEDURE set_ses_msl_process(ses_flag varchar2);
425 
426 --added for 5470182
427 PROCEDURE  execute_msl_ses_range (p_errbuf out nocopy varchar2,
428                                   p_retcode out nocopy number,
429                                   p_mass_salary_id in number,
430                                   p_action in varchar2);
431 
432 
433 PROCEDURE  fetch_and_validate_emp_ses(
434                               p_action              IN VARCHAR2
435                              ,p_mass_salary_id      IN NUMBER
436                              ,p_mass_salary_name    IN VARCHAR2
437                              ,p_full_name           IN per_people_f.full_name%TYPE
438 			     ,p_national_identifier IN per_people_f.national_identifier%TYPE
439                              ,p_assignment_id       IN per_assignments_f.assignment_id%TYPE
440 			     ,p_person_id           IN per_assignments_f.person_id%TYPE
441 			     ,p_position_id                IN per_assignments_f.position_id%TYPE
442 			     ,p_grade_id                   IN per_assignments_f.grade_id%TYPE
443 			     ,p_business_group_id          IN per_assignments_f.business_group_iD%TYPE
444 			     ,p_location_id                IN per_assignments_f.location_id%TYPE
445 			     ,p_organization_id            IN per_assignments_f.organization_id%TYPE
446                              ,p_msl_organization_id        IN per_assignments_f.organization_id%TYPE
447                              ,p_msl_duty_station_id        IN ghr_duty_stations_f.duty_station_id%TYPE
448                              ,p_msl_personnel_office_id    IN VARCHAR2
449                              ,p_msl_agency_code_subelement IN VARCHAR2
450                              ,p_msl_user_table_id          IN NUMBER
451                              ,p_rec_pp_prd                 IN pp_prd
452                              ,p_personnel_office_id OUT NOCOPY VARCHAR2
453                              ,p_org_structure_id    OUT NOCOPY VARCHAR2
454                              ,p_position_title      OUT NOCOPY VARCHAR2
455                              ,p_position_number     OUT NOCOPY VARCHAR2
456                              ,p_position_seq_no     OUT NOCOPY VARCHAR2
457                              ,p_subelem_code        OUT NOCOPY VARCHAR2
458                              ,p_duty_station_id     OUT NOCOPY ghr_duty_stations_f.duty_station_id%TYPE
459                              ,p_tenure              OUT NOCOPY VARCHAR2
460                              ,p_annuitant_indicator OUT NOCOPY VARCHAR2
461                              ,p_pay_rate_determinant OUT NOCOPY VARCHAR2
462                              ,p_work_schedule       OUT NOCOPY  VARCHAR2
463                              ,p_part_time_hour      OUT NOCOPY VARCHAR2
464                              ,p_to_grade_id         OUT NOCOPY per_assignments_f.grade_id%type
465                              ,p_pay_plan            OUT NOCOPY VARCHAR2
466                              ,p_to_pay_plan         OUT NOCOPY VARCHAR2
467                              ,p_pay_table_id        OUT NOCOPY NUMBER
468                              ,p_grade_or_level      OUT NOCOPY VARCHAR2
469                              ,p_to_grade_or_level   OUT NOCOPY VARCHAR2
470                              ,p_step_or_rate        OUT NOCOPY VARCHAR2
471                              ,p_pay_basis           OUT NOCOPY VARCHAR2
472                              ,p_elig_flag           OUT NOCOPY BOOLEAN
473 	                );
474 
475 function check_select_flg_ses(p_person_id in number,
476                               p_action in varchar2,
477                               p_effective_date in date,
478                               p_mass_salary_id in number,
479                               p_sel_flg in out nocopy varchar2,
480 			      p_ses_basic_pay in out nocopy number
481 			     ) return boolean;
482 
483 
484 
485 END GHR_MSL_PKG;