DBA Data[Home] [Help]

PACKAGE: APPS.PQP_GB_PSI_HRS_HISTORY

Source


1 PACKAGE pqp_gb_psi_hrs_history
2 --  /* $Header: pqpgbpsihrs.pkh 120.0.12000000.2 2007/02/13 13:52:25 mseshadr noship $ */
3 AUTHID CURRENT_USER AS
4    --
5    -- Debug Variables.
6    --
7    g_proc_name              VARCHAR2(61)       := 'pqp_gb_psi_hrs_history.';
8    g_legislation_code       per_business_groups.legislation_code%TYPE   := 'GB';
9    g_debug                  BOOLEAN                 := hr_utility.debug_enabled;
10    g_business_group_id      NUMBER;
11    g_effective_date         DATE;
12    g_extract_type           VARCHAR2(100);
13    g_cutover_date           DATE;
14    g_ext_dfn_id             NUMBER;
15    g_paypoint               VARCHAR2(10);
16    g_active_asg_sts_id      NUMBER;
17    g_terminate_asg_sts_id   NUMBER;
18    g_event_counter          NUMBER;
19    g_assignment_id          NUMBER;
20    g_nested_level           NUMBER(5)           := pqp_utilities.g_nested_level;
21    g_person_id              NUMBER;
22    g_start_date             DATE;
23    g_end_date               DATE;
24    g_ft_hours               NUMBER;
25    g_pt_hours               NUMBER;
26    g_hours_type             VARCHAR2(10);
27 
28    TYPE r_element_details IS RECORD(
29       element_type_id    NUMBER
30      ,input_value_name   pay_input_values_f.NAME%TYPE
31      ,input_value_id     NUMBER
32    );
33 
34    TYPE r_ele_ent_details IS RECORD(
35       element_entry_id       NUMBER
36      ,effective_start_date   DATE
37      ,effective_end_date     DATE
38      ,element_type_id        NUMBER
39    );
40 
41    TYPE r_asg_details IS RECORD(
42       person_id                   NUMBER
43      ,effective_start_date        DATE
44      ,effective_end_date          DATE
45      ,assignment_number           per_all_assignments_f.assignment_number%TYPE
46      ,primary_flag                per_all_assignments_f.primary_flag%TYPE
47      ,normal_hours                per_all_assignments_f.normal_hours%TYPE
48      ,assignment_status_type_id   NUMBER
49      ,employment_category         per_all_assignments_f.employment_category%TYPE
50    );
51 
52    TYPE r_lookup_code IS RECORD(
53       lookup_code   hr_lookups.lookup_code%TYPE
54      ,meaning       hr_lookups.meaning%TYPE
55    );
56 
57    -- cursor to fetch dated table info
58    CURSOR csr_get_dated_table_info(c_table_name VARCHAR2)
59    IS
60       SELECT dated_table_id, table_name, surrogate_key_name
61         FROM pay_dated_tables
62        WHERE table_name = c_table_name;
63 
64    TYPE t_dated_table IS TABLE OF csr_get_dated_table_info%ROWTYPE
65       INDEX BY BINARY_INTEGER;
66 
67    -- Cursor to get event group info
68    CURSOR csr_get_event_group_info(c_event_group VARCHAR2)
69    IS
70       SELECT event_group_id, event_group_name, event_group_type
71         FROM pay_event_groups
72        WHERE event_group_name = c_event_group
73          AND (
74                  (business_group_id = g_business_group_id)
75               OR (
76                       business_group_id IS NULL
77                   AND (
78                           legislation_code IS NULL
79                        OR legislation_code = g_legislation_code
80                       )
81                  )
82              );
83 
84    TYPE t_event_group IS TABLE OF csr_get_event_group_info%ROWTYPE
85       INDEX BY BINARY_INTEGER;
86 
87 --   TYPE t_config_values IS TABLE OF r_config_values
88 --   INDEX BY BINARY_INTEGER;
89 
90    TYPE t_number IS TABLE OF NUMBER
91       INDEX BY BINARY_INTEGER;
92 
93    TYPE t_element_details IS TABLE OF r_element_details
94       INDEX BY BINARY_INTEGER;
95 
96    TYPE t_varchar2 IS TABLE OF VARCHAR2(150)
97       INDEX BY BINARY_INTEGER;
98 
99    TYPE t_lookups IS TABLE OF r_lookup_code
100       INDEX BY BINARY_INTEGER;
101 
102    g_tab_event_map_cv       pqp_utilities.t_config_values;
103    g_tab_pen_sch_map_cv     pqp_utilities.t_config_values;
104    g_tab_emp_typ_map_cv     pqp_utilities.t_config_values;
105    g_tab_asg_status         t_number;
106    g_tab_pen_ele_ids        t_element_details;
107    g_tab_prs_dfn_cv         pqp_utilities.t_config_values;
108    g_tab_event_desc_lov     t_lookups;
109    g_person_dtl             per_all_people_f%ROWTYPE;
110    g_assignment_dtl         per_all_assignments_f%ROWTYPE;
111    g_tab_dated_table        t_dated_table;
112    g_tab_pay_proc_evnts     ben_ext_person.t_detailed_output_table;
113    g_tab_event_group        t_event_group;
114    g_prev_pay_proc_evnts    ben_ext_person.t_detailed_output_tab_rec;
115 
116    -- cursor to fetch the asg status type id details
117    CURSOR csr_get_asg_sts_dtls(c_per_system_status VARCHAR2)
118    IS
119       SELECT assignment_status_type_id, default_flag, active_flag, primary_flag
120             ,user_status, pay_system_status, per_system_status
121         FROM per_assignment_status_types
122        WHERE per_system_status = c_per_system_status
123          AND (
124                  (business_group_id = g_business_group_id)
125               OR (
126                       business_group_id IS NULL
127                   AND (
128                           legislation_code IS NULL
129                        OR legislation_code = g_legislation_code
130                       )
131                  )
132              );
133 
134    -- Cursor to get abv details
135    CURSOR csr_abv_dtls (c_assignment_id  NUMBER
136                        ,c_effective_date DATE
137                        )
138    IS
139       SELECT assignment_budget_value_id
140             ,assignment_id
141             ,effective_start_date
142             ,effective_end_date
143             ,unit
144             ,value
145         FROM per_assignment_budget_values_f
146        WHERE assignment_id = c_assignment_id
147          AND unit = 'FTE'
148          AND c_effective_date BETWEEN effective_start_date
149                                   AND effective_end_date;
150 
151    -- Debug
152    PROCEDURE DEBUG(
153       p_trace_message    IN   VARCHAR2
154      ,p_trace_location   IN   NUMBER DEFAULT NULL
155    );
156 
157    -- Debug_Enter
158    PROCEDURE debug_enter(
159       p_proc_name   IN   VARCHAR2
160      ,p_trace_on    IN   VARCHAR2 DEFAULT NULL
161    );
162 
163    -- Debug_Exit
164    PROCEDURE debug_exit(
165       p_proc_name   IN   VARCHAR2
166      ,p_trace_off   IN   VARCHAR2 DEFAULT NULL
167    );
168 
169    -- Debug Others
170    PROCEDURE debug_others(
171       p_proc_name   IN   VARCHAR2
172      ,p_proc_step   IN   NUMBER DEFAULT NULL
173    );
174 
175    -- Part Time Hours History Cutover Criteria
176    FUNCTION chk_hrs_cutover_criteria(
177       p_business_group_id   IN   NUMBER
178      ,p_effective_date      IN   DATE
179      ,p_assignment_id       IN   NUMBER
180    )
181       RETURN VARCHAR2;
182 
183    -- Part Time Hours History Periodic Criteria
184    FUNCTION chk_hrs_periodic_criteria(
185       p_business_group_id   IN   NUMBER
186      ,p_effective_date      IN   DATE
187      ,p_assignment_id       IN   NUMBER
188    )
189       RETURN VARCHAR2;
190 
191    -- Part Time Hours History Data
192    FUNCTION get_hrs_history_data(
193       p_business_group_id   IN   NUMBER
194      ,p_effective_date      IN   DATE
195      ,p_assignment_id       IN   NUMBER
196      ,p_rule_parameter      IN   VARCHAR2
197    )
198       RETURN VARCHAR2;
199 
200    -- Part Time Hours History Post Process
201    FUNCTION hrs_history_post_process(p_ext_rslt_id IN NUMBER)
202       RETURN VARCHAR2;
203 END pqp_gb_psi_hrs_history;