DBA Data[Home] [Help]

PACKAGE: APPS.HXC_RETRIEVE_ABSENCES

Source


1 PACKAGE HXC_RETRIEVE_ABSENCES AUTHID CURRENT_USER AS
2 /* $Header: hxcretabs.pkh 120.0.12010000.11 2010/01/08 09:22:17 bbayragi noship $ */
3 
4 
5 TYPE abs_rec IS RECORD
6 ( abs_date           DATE,
7   abs_type_id        NUMBER,
8   element_type_id    NUMBER,
9   duration           NUMBER,
10   abs_attendance_id  NUMBER,
11   abs_start          DATE,
12   abs_end            DATE,
13   prg_appl_id        NUMBER,
14   modetype           VARCHAR2(50),
15   rec_start_date     DATE,
16   rec_end_date       DATE,
17   UOM                VARCHAR2(50),
18   transaction_id     NUMBER,
19   confirmed_flag     VARCHAR2(10)
20 );
21 
22 TYPE ABS_TAB   IS TABLE OF abs_rec INDEX BY BINARY_INTEGER;
23 g_abs_tab   ABS_TAB;
24 
25 -- Bug 8855103
26 -- Following types added to help processing rec update validations.
27 TYPE ABS_ID_REC IS RECORD
28 ( abs_name       VARCHAR2(500),
29   abs_id         NUMBER,
30   run_total      VARCHAR2(5),
31   UOM            VARCHAR2(5)
32 );
33 
34 
35 TYPE ABS_ID_TAB IS TABLE OF ABS_ID_REC INDEX BY BINARY_INTEGER;
36 g_abs_id_tab  ABS_ID_TAB;
37 
38 
39 TYPE ABS_TABLE_REC IS
40 RECORD
41 ( emp_abs_tab   ABS_TAB
42 );
43 
44 g_lock_row_id   VARCHAR2(50);
45 g_person_id     NUMBER;
46 g_start_time    DATE;
47 g_stop_time     DATE;
48 
49 TYPE detail_trans IS RECORD
50 ( detail_bb_id  NUMBER,
51   detail_bb_ovn NUMBER);
52 
53 TYPE detail_trans_tab IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
54 
55 g_detail_trans_tab detail_trans_tab;
56 
57 TYPE cached_abs_tab IS TABLE OF ABS_TABLE_REC INDEX BY VARCHAR2(30);
58 
59 g_cached_abs_tab cached_abs_tab;
60 
61 
62 TYPE abs_status_rec IS RECORD
63 (
64   abs_type    VARCHAR2(400),
65   abs_start   VARCHAR2(30),
66   abs_end     VARCHAR2(30),
67   measure     VARCHAR2(30),
68   status      VARCHAR2(40),
69   UOM         VARCHAR2(50),
70   source      VARCHAR2(50)
71 );
72 
73 TYPE abs_status_tab IS TABLE OF abs_status_rec INDEX BY BINARY_INTEGER;
74 
75 -- Bug 8855103
76 -- Added new type to handle assignments.
77 TYPE ASGTAB IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
78 g_asgtab ASGTAB;
79 
80 
81 TYPE ABSAPIREC IS RECORD
82 ( time_building_block_id   NUMBER,
83   element_type_id          NUMBER,
84   absence_type_id          NUMBER,
85   absence_att_id           NUMBER,
86   start_time               DATE,
87   stop_time                DATE);
88 
89 TYPE ABSAPITAB IS TABLE OF ABSAPIREC INDEX BY BINARY_INTEGER;
90 
91 
92 
93 
94 TYPE NUMTAB  IS TABLE OF NUMBER INDEX BY VARCHAR2(50);
95 
96 g_day_tab  NUMTAB;
97 g_trace_id      NUMBER;
98 
99 g_messages HXC_MESSAGE_TABLE_TYPE;
100 g_message_string VARCHAR2(32000);
101 
102 
103 -- Bug 9019114
104 -- To hold BEE retrieval process id and
105 -- bld_blk_info_type_id for Dummy Element Context.
106 g_bee_retrieval  NUMBER;
107 g_bld_blk_info   NUMBER;
108 
109 
110   PROCEDURE retrieve_absences( p_person_id   IN NUMBER,
111                                p_start_date  IN DATE,
112                                p_end_date    IN DATE,
113                                p_abs_tab     IN OUT NOCOPY hxc_retrieve_absences.abs_tab);
114 
115 
116 
117 
118   PROCEDURE add_absence_types ( p_person_id          IN            NUMBER,
119                                 p_start_date  	     IN 	   DATE,
120                                 p_end_date    	     IN 	   DATE,
121                                 p_approval_style_id  IN            NUMBER,
122                                 p_lock_rowid         IN            VARCHAR2,
123                                 p_block_array 	     IN OUT NOCOPY HXC_BLOCK_TABLE_TYPE,
124                                 p_attribute_array    IN OUT NOCOPY HXC_ATTRIBUTE_TABLE_TYPE );
125 
126   -- Overloaded for TK
127 
128   PROCEDURE add_absence_types ( p_person_id          IN            NUMBER,
129                                 p_start_date  	     IN 	   DATE,
130                                 p_end_date    	     IN 	   DATE,
131                                 p_approval_style_id  IN            NUMBER,
132                                 p_lock_rowid         IN            VARCHAR2,
133                                 p_source             IN            VARCHAR2 ,
134                                 p_timekeeper_id      IN            NUMBER,
135                                 p_iteration_count    IN            NUMBER,
136                                 p_block_array 	     IN OUT NOCOPY HXC_BLOCK_TABLE_TYPE,
137                                 p_attribute_array    IN OUT NOCOPY HXC_ATTRIBUTE_TABLE_TYPE );
138 
139 
140   PROCEDURE tc_api_add_absence_types ( p_person_id        IN     NUMBER,
141                                        p_start_date       IN     DATE,
142                                        p_end_date         IN     DATE,
143                                        p_blocks           IN OUT NOCOPY   hxc_self_service_time_deposit.timecard_info,
144                                        p_app_attributes   IN OUT NOCOPY   hxc_self_service_time_deposit.app_attributes_info);
145 
146 
147   PROCEDURE tc_api_add_absence_types ( p_blocks           IN OUT NOCOPY   hxc_self_service_time_deposit.timecard_info,
148                                        p_app_attributes   IN OUT NOCOPY   hxc_self_service_time_deposit.app_attributes_info);
149 
150   PROCEDURE create_tc_with_abs  ( p_person_id          IN            NUMBER,
151                                   p_start_date         IN            DATE,
152                                   p_end_date           IN            DATE,
153                                   p_approval_style_id  IN            NUMBER,
154                                   p_lock_rowid         IN            VARCHAR2,
155                                   p_block_array        IN OUT NOCOPY HXC_BLOCK_TABLE_TYPE,
156                                   p_attribute_array    IN OUT NOCOPY HXC_ATTRIBUTE_TABLE_TYPE );
157 
158   -- Overloaded for TK
159 
160   PROCEDURE create_tc_with_abs  ( p_person_id          IN            NUMBER,
161                                   p_start_date         IN            DATE,
162                                   p_end_date           IN            DATE,
163                                   p_approval_style_id  IN            NUMBER,
164                                   p_lock_rowid         IN            VARCHAR2,
165                                   p_source             IN            VARCHAR2,
166                                   p_timekeeper_id      IN            NUMBER,
167                                   p_iteration_count    IN            NUMBER,
168                                   p_block_array        IN OUT NOCOPY HXC_BLOCK_TABLE_TYPE,
169                                   p_attribute_array    IN OUT NOCOPY HXC_ATTRIBUTE_TABLE_TYPE );
170 
171 
172   PROCEDURE add_abs_to_tc    (  p_person_id          IN     NUMBER,
173                                 p_start_date  	     IN     DATE,
174                                 p_end_date    	     IN     DATE,
175                                 p_approval_style_id  IN     NUMBER,
176                                 p_block_array 	     IN OUT NOCOPY HXC_BLOCK_TABLE_TYPE,
177                                 p_attribute_array    IN OUT NOCOPY HXC_ATTRIBUTE_TABLE_TYPE ,
178                                 p_lock_rowid         IN VARCHAR2 );
179 
180 
181 
182   FUNCTION get_day_block ( p_date               IN  DATE,
183                            p_person_id          IN NUMBER,
184                            p_approval_style_id  IN NUMBER,
185                            p_timecard_id        IN NUMBER,
186                            p_bb_id              IN NUMBER)
187   RETURN HXC_BLOCK_TYPE;
188 
189 
190   FUNCTION get_detail_block ( p_start_time         IN  DATE,
191                               p_stop_time    	 IN DATE,
192                               p_measure      	 IN NUMBER,
193                               p_person_id    	 IN NUMBER,
194                               p_approval_style_id  IN NUMBER,
195                               p_day_id             IN NUMBER,
196                               p_bb_id      	 IN NUMBER,
197                               p_bb_ovn     	 IN NUMBER,
198                               p_date_to            IN DATE DEFAULT hr_general.end_of_time)
199   RETURN HXC_BLOCK_TYPE;
200 
201   FUNCTION get_attribute_for_detail ( p_bb_id            IN NUMBER,
202                                       p_bb_ovn  	       IN NUMBER,
203                                       p_element_type_id  IN NUMBER,
204                                       p_abs_att_id       IN NUMBER,
205                                       p_attribute_id     IN NUMBER)
206   RETURN HXC_ATTRIBUTE_TYPE;
207 
208   FUNCTION get_alias_for_detail     ( p_bb_id            IN NUMBER,
209                                       p_bb_ovn  	 IN NUMBER,
210                                       p_element_type_id  IN NUMBER,
211                                       p_attribute_id     IN NUMBER)
212   RETURN HXC_ATTRIBUTE_TYPE;
213 
214   PROCEDURE gen_alt_ids   ( p_person_id           IN NUMBER,
215                            p_start_time          IN DATE,
216                            p_stop_time           IN DATE,
217                            p_mode                IN VARCHAR2);
218 
219   PROCEDURE get_abs_statuses ( p_person_id      IN NUMBER,
220                                p_start_date     IN DATE,
221                                p_end_date       IN DATE,
222                                p_abs_status_rec OUT NOCOPY ABS_STATUS_TAB);
223 
224 
225   PROCEDURE get_abs_statuses ( p_person_id      IN NUMBER,
226                                p_start_date     IN VARCHAR2,
227                                p_end_date       IN VARCHAR2,
228                                p_abs_status_tab OUT NOCOPY HXC_ABS_STATUS_TABLE);
229 
230 
231   PROCEDURE record_carried_over_absences( p_bb_id       IN NUMBER,
232                                           p_bb_ovn      IN NUMBER,
233                                           p_abs_id      IN NUMBER,
234                                           p_abs_att_id  IN NUMBER,
235                                           p_element     IN NUMBER,
236                                           p_start_date  IN DATE,
237                                           p_end_date    IN DATE,
238                                           p_uom         IN VARCHAR2,
239                                           p_measure     IN NUMBER,
240                                           p_stage       IN VARCHAR2,
241                                           p_resource_id IN NUMBER,
242                                           p_tc_start    IN DATE,
243                                           p_tc_stop     IN DATE,
244                                           p_lock_rowid  IN VARCHAR2,
245                                           p_transaction_id IN NUMBER DEFAULT NULL,
246                                           p_action         IN VARCHAR2 DEFAULT NULL ,
247                                           p_conf           IN VARCHAR2 DEFAULT 'Y'  );
248 
249   PROCEDURE update_co_absences ( p_old_bb_id  IN  NUMBER,
250                                  p_new_bb_id  IN  NUMBER,
251                                  p_start_time IN  DATE,
252                                  p_stop_time  IN  DATE,
253                                  p_element_id IN  NUMBER);
254 
255   PROCEDURE update_co_absences_ovn ( p_old_bb_id  IN  hxc_time_building_blocks.time_building_block_id%type,
256                                      p_new_ovn    IN  NUMBER,
257                                      p_start_time IN  DATE,
258                                      p_stop_time  IN  DATE,
259                                      p_element_id IN NUMBER);
260 
261   PROCEDURE delete_other_sessions ( p_resource_id  IN NUMBER,
262                                     p_start_time   IN DATE,
263                                     p_stop_time    IN DATE,
264                                     p_lock_rowid   IN VARCHAR2);
265 
266   PROCEDURE insert_audit_header  ( p_resource_id   IN NUMBER,
267                                    p_start_time    IN DATE,
268                                    p_stop_time     IN DATE,
269                                    p_transaction_id IN OUT NOCOPY NUMBER);
270 
271   PROCEDURE insert_audit_details  ( p_resource_id   IN NUMBER,
272                                     p_detail_bb_id  IN NUMBER,
273                                     p_detail_ovn    IN NUMBER,
274                                     p_header_id     IN NUMBER);
275 
276   PROCEDURE manage_retrieval_audit(p_resource_id IN NUMBER,
277                                    p_start_time  IN DATE,
278                                    p_stop_time   IN DATE);
279 
283                                       p_messages    IN OUT NOCOPY HXC_MESSAGE_TABLE_TYPE);
280   PROCEDURE verify_view_only_absences(p_blocks      IN     HXC_BLOCK_TABLE_TYPE,
281                                       p_attributes  IN     HXC_ATTRIBUTE_TABLE_TYPE,
282                                       p_lock_rowid  IN     VARCHAR2,
284 
285   PROCEDURE clear_prev_sessions(p_resource_id   IN NUMBER,
286                                 p_tc_start      IN DATE,
287                                 p_tc_stop       IN DATE,
288                                 p_lock_rowid    IN VARCHAR2);
289 
290 
291   FUNCTION get_lookup_value( p_lookup_type    IN VARCHAR2,
292                              p_lookup_code    IN VARCHAR2)
293   RETURN VARCHAR2;
294 
295 
296   -- Bug 8911152
297   -- Added new function to build Layout Attribute
298   FUNCTION get_layout_attribute     ( p_bb_id            IN NUMBER,
299                                       p_bb_ovn  	 IN NUMBER,
300                                       p_attribute_id     IN NUMBER)
301 
302   RETURN HXC_ATTRIBUTE_TYPE;
303 
304   -- Bug 8855103
305   -- Added the below functions to process various
306   -- requests.
307 
308   FUNCTION get_absence_id (p_element_type_id   IN NUMBER)
309   RETURN NUMBER;
310 
311   FUNCTION get_absence_details(p_element_type_id IN NUMBER)
312   RETURN NUMBER;
313 
314   FUNCTION get_absence_name(p_element_type_id IN NUMBER)
315   RETURN VARCHAR2;
316 
317   FUNCTION get_abs_running(p_element_type_id IN NUMBER)
318   RETURN VARCHAR2;
319 
320   FUNCTION get_absence_uom(p_element_type_id IN NUMBER)
321   RETURN VARCHAR2;
322 
323   FUNCTION get_assignment_id (p_person_id   IN NUMBER,
324                               p_start_time  IN DATE)
325   RETURN NUMBER;
326 
327 
328   -- Bug 9019114
329   -- To populate BEE retrieval process id and
330   -- bld_blk_info_type_id for Dummy Element Context into the
331   -- globals.
332 
333   PROCEDURE populate_globals;
334 
335   -- Added for OTL ABS Integration 8888902
336   -- OTL-ABS START
337   PROCEDURE insert_absence_summary_row;
338   PROCEDURE update_absence_summary_row(p_resource_id   IN NUMBER,
339                               	       p_tc_start      IN DATE,
340                                        p_tc_stop       IN DATE,
341                                        p_abs_days      IN NUMBER,
342 				       p_abs_hours     IN NUMBER
343                                       );
344   PROCEDURE clear_absence_summary_rows;
345   PROCEDURE is_absence_element(p_alias_value_id IN NUMBER,
346                                p_absence_element_flag OUT NOCOPY  VARCHAR2
347                               );
348 
349   -- OTL-ABS END
350 
351 
352 END HXC_RETRIEVE_ABSENCES;
353