DBA Data[Home] [Help]

PACKAGE: APPS.HXC_TIMEKEEPER_PROCESS

Source


1 PACKAGE hxc_timekeeper_process AS
2 /* $Header: hxctksta.pkh 120.2 2005/10/04 06:25:28 rchennur noship $ */
3 
4    TYPE t_time_info IS RECORD (
5       timecard_start_period         DATE,
6       timecard_end_period           DATE,
7       resource_id                   NUMBER,
8       employee_number               VARCHAR (30),
9       employee_full_name            VARCHAR2 (240),
10       timecard_id                   NUMBER,
11       timecard_ovn                  NUMBER,
12       check_box                     VARCHAR2 (5),
13       error_status                  VARCHAR2 (80),
14       timecard_status               VARCHAR2 (80),
15       timecard_status_code          VARCHAR2 (80),
16       attr_value_1                  VARCHAR2 (150),
17       attr_value_2                  VARCHAR2 (150),
18       attr_value_3                  VARCHAR2 (150),
19       attr_value_4                  VARCHAR2 (150),
20       attr_value_5                  VARCHAR2 (150),
21       attr_value_6                  VARCHAR2 (150),
22       attr_value_7                  VARCHAR2 (150),
23       attr_value_8                  VARCHAR2 (150),
24       attr_value_9                  VARCHAR2 (150),
25       attr_value_10                 VARCHAR2 (150),
26       attr_value_11                 VARCHAR2 (150),
27       attr_value_12                 VARCHAR2 (150),
28       attr_value_13                 VARCHAR2 (150),
29       attr_value_14                 VARCHAR2 (150),
30       attr_value_15                 VARCHAR2 (150),
31       attr_value_16                 VARCHAR2 (150),
32       attr_value_17                 VARCHAR2 (150),
33       attr_value_18                 VARCHAR2 (150),
34       attr_value_19                 VARCHAR2 (150),
35       attr_value_20                 VARCHAR2 (150),
36       attr_id_1                     VARCHAR2 (150),
37       attr_id_2                     VARCHAR2 (150),
38       attr_id_3                     VARCHAR2 (150),
39       attr_id_4                     VARCHAR2 (150),
40       attr_id_5                     VARCHAR2 (150),
41       attr_id_6                     VARCHAR2 (150),
42       attr_id_7                     VARCHAR2 (150),
43       attr_id_8                     VARCHAR2 (150),
44       attr_id_9                     VARCHAR2 (150),
45       attr_id_10                    VARCHAR2 (150),
46       attr_id_11                    VARCHAR2 (150),
47       attr_id_12                    VARCHAR2 (150),
48       attr_id_13                    VARCHAR2 (150),
49       attr_id_14                    VARCHAR2 (150),
50       attr_id_15                    VARCHAR2 (150),
51       attr_id_16                    VARCHAR2 (150),
52       attr_id_17                    VARCHAR2 (150),
53       attr_id_18                    VARCHAR2 (150),
54       attr_id_19                    VARCHAR2 (150),
55       attr_id_20                    VARCHAR2 (150),
56       attr_oldid_1                  VARCHAR2 (150),
57       attr_oldid_2                  VARCHAR2 (150),
58       attr_oldid_3                  VARCHAR2 (150),
59       attr_oldid_4                  VARCHAR2 (150),
60       attr_oldid_5                  VARCHAR2 (150),
61       attr_oldid_6                  VARCHAR2 (150),
62       attr_oldid_7                  VARCHAR2 (150),
63       attr_oldid_8                  VARCHAR2 (150),
64       attr_oldid_9                  VARCHAR2 (150),
65       attr_oldid_10                 VARCHAR2 (150),
66       attr_oldid_11                 VARCHAR2 (150),
67       attr_oldid_12                 VARCHAR2 (150),
68       attr_oldid_13                 VARCHAR2 (150),
69       attr_oldid_14                 VARCHAR2 (150),
70       attr_oldid_15                 VARCHAR2 (150),
71       attr_oldid_16                 VARCHAR2 (150),
72       attr_oldid_17                 VARCHAR2 (150),
73       attr_oldid_18                 VARCHAR2 (150),
74       attr_oldid_19                 VARCHAR2 (150),
75       attr_oldid_20                 VARCHAR2 (150),
76       timekeeper_action             VARCHAR2 (80),
77       detail_id_1                   NUMBER,
78       detail_id_2                   NUMBER,
79       detail_id_3                   NUMBER,
80       detail_id_4                   NUMBER,
81       detail_id_5                   NUMBER,
82       detail_id_6                   NUMBER,
83       detail_id_7                   NUMBER,
84       detail_id_8                   NUMBER,
85       detail_id_9                   NUMBER,
86       detail_id_10                  NUMBER,
87       detail_id_11                  NUMBER,
88       detail_id_12                  NUMBER,
89       detail_id_13                  NUMBER,
90       detail_id_14                  NUMBER,
91       detail_id_15                  NUMBER,
92       detail_id_16                  NUMBER,
93       detail_id_17                  NUMBER,
94       detail_id_18                  NUMBER,
95       detail_id_19                  NUMBER,
96       detail_id_20                  NUMBER,
97       detail_id_21                  NUMBER,
98       detail_id_22                  NUMBER,
99       detail_id_23                  NUMBER,
100       detail_id_24                  NUMBER,
101       detail_id_25                  NUMBER,
102       detail_id_26                  NUMBER,
103       detail_id_27                  NUMBER,
104       detail_id_28                  NUMBER,
105       detail_id_29                  NUMBER,
106       detail_id_30                  NUMBER,
107       detail_id_31                  NUMBER,
108       detail_ovn_1                  NUMBER,
109       detail_ovn_2                  NUMBER,
110       detail_ovn_3                  NUMBER,
111       detail_ovn_4                  NUMBER,
112       detail_ovn_5                  NUMBER,
113       detail_ovn_6                  NUMBER,
114       detail_ovn_7                  NUMBER,
115       detail_ovn_8                  NUMBER,
116       detail_ovn_9                  NUMBER,
117       detail_ovn_10                 NUMBER,
118       detail_ovn_11                 NUMBER,
119       detail_ovn_12                 NUMBER,
120       detail_ovn_13                 NUMBER,
121       detail_ovn_14                 NUMBER,
122       detail_ovn_15                 NUMBER,
123       detail_ovn_16                 NUMBER,
124       detail_ovn_17                 NUMBER,
125       detail_ovn_18                 NUMBER,
126       detail_ovn_19                 NUMBER,
127       detail_ovn_20                 NUMBER,
128       detail_ovn_21                 NUMBER,
129       detail_ovn_22                 NUMBER,
130       detail_ovn_23                 NUMBER,
131       detail_ovn_24                 NUMBER,
132       detail_ovn_25                 NUMBER,
133       detail_ovn_26                 NUMBER,
134       detail_ovn_27                 NUMBER,
135       detail_ovn_28                 NUMBER,
136       detail_ovn_29                 NUMBER,
137       detail_ovn_30                 NUMBER,
138       detail_ovn_31                 NUMBER,
139       day_1                         NUMBER,
140       day_2                         NUMBER,
141       day_3                         NUMBER,
142       day_4                         NUMBER,
143       day_5                         NUMBER,
144       day_6                         NUMBER,
145       day_7                         NUMBER,
146       day_8                         NUMBER,
147       day_9                         NUMBER,
148       day_10                        NUMBER,
149       day_11                        NUMBER,
150       day_12                        NUMBER,
151       day_13                        NUMBER,
152       day_14                        NUMBER,
153       day_15                        NUMBER,
154       day_16                        NUMBER,
155       day_17                        NUMBER,
156       day_18                        NUMBER,
157       day_19                        NUMBER,
158       day_20                        NUMBER,
159       day_21                        NUMBER,
160       day_22                        NUMBER,
161       day_23                        NUMBER,
162       day_24                        NUMBER,
163       day_25                        NUMBER,
164       day_26                        NUMBER,
165       day_27                        NUMBER,
166       day_28                        NUMBER,
167       day_29                        NUMBER,
168       day_30                        NUMBER,
169       day_31                        NUMBER,
170       time_in_1                     DATE,
171       time_out_1                    DATE,
172       time_in_2                     DATE,
173       time_out_2                    DATE,
174       time_in_3                     DATE,
175       time_out_3                    DATE,
176       time_in_4                     DATE,
177       time_out_4                    DATE,
178       time_in_5                     DATE,
179       time_out_5                    DATE,
180       time_in_6                     DATE,
181       time_out_6                    DATE,
182       time_in_7                     DATE,
183       time_out_7                    DATE,
184       time_in_8                     DATE,
185       time_out_8                    DATE,
186       time_in_9                     DATE,
187       time_out_9                    DATE,
188       time_in_10                    DATE,
189       time_out_10                   DATE,
190       time_in_11                    DATE,
191       time_out_11                   DATE,
192       time_in_12                    DATE,
193       time_out_12                   DATE,
194       time_in_13                    DATE,
195       time_out_13                   DATE,
196       time_in_14                    DATE,
197       time_out_14                   DATE,
198       time_in_15                    DATE,
199       time_out_15                   DATE,
200       time_in_16                    DATE,
201       time_out_16                   DATE,
202       time_in_17                    DATE,
203       time_out_17                   DATE,
204       time_in_18                    DATE,
205       time_out_18                   DATE,
206       time_in_19                    DATE,
207       time_out_19                   DATE,
208       time_in_20                    DATE,
209       time_out_20                   DATE,
210       time_in_21                    DATE,
211       time_out_21                   DATE,
212       time_in_22                    DATE,
213       time_out_22                   DATE,
214       time_in_23                    DATE,
215       time_out_23                   DATE,
216       time_in_24                    DATE,
217       time_out_24                   DATE,
218       time_in_25                    DATE,
219       time_out_25                   DATE,
220       time_in_26                    DATE,
221       time_out_26                   DATE,
222       time_in_27                    DATE,
223       time_out_27                   DATE,
224       time_in_28                    DATE,
225       time_out_28                   DATE,
226       time_in_29                    DATE,
227       time_out_29                   DATE,
228       time_in_30                    DATE,
229       time_out_30                   DATE,
230       time_in_31                    DATE,
231       time_out_31                   DATE,
232       comment_text                  VARCHAR2 (2000),
233       last_update_date              DATE,
234       last_updated_by               NUMBER (16),
235       last_update_login             NUMBER (16),
236       created_by                    NUMBER (16),
237       creation_date                 DATE,
238       row_lock_id                   VARCHAR2 (200),
239       tc_lock_success               VARCHAR2 (30),
240       person_type                   VARCHAR2 (2000),
241       timecard_message              VARCHAR2 (240),
242       timecard_message_code         VARCHAR2 (30),
243       audit_enabled                 VARCHAR2(30)
244       );
245 
246    TYPE t_timekeeper_table IS TABLE OF t_time_info
247       INDEX BY BINARY_INTEGER;
248 
249    TYPE t_day_id_info IS RECORD (
250       day_id                        NUMBER,
251       day_ovn                       NUMBER);
252 
253    TYPE t_day_id_info_table IS TABLE OF t_day_id_info
254       INDEX BY BINARY_INTEGER;
255 
256    TYPE t_detail_info IS RECORD (
257       detail_id                     NUMBER,
258       detail_ovn                    NUMBER,
259       measure                       NUMBER,
260       start_time                    DATE,
261       time_in                       DATE,
262       time_out                      DATE,
263       detail_comment_text           VARCHAR2 (2000));
264 
265    TYPE t_detail_info_table IS TABLE OF t_detail_info
266       INDEX BY BINARY_INTEGER;
267 
268 
269 -- Table to help to populate the timekeeper_table
270    TYPE t_buffer_info IS RECORD (
271       row_table_index               NUMBER,
272       attribute1                    VARCHAR2 (150),
273       attribute2                    VARCHAR2 (150),
274       attribute3                    VARCHAR2 (150),
275       attribute4                    VARCHAR2 (150),
276       attribute5                    VARCHAR2 (150),
277       attribute6                    VARCHAR2 (150),
278       attribute7                    VARCHAR2 (150),
279       attribute8                    VARCHAR2 (150),
280       attribute9                    VARCHAR2 (150),
281       attribute10                   VARCHAR2 (150),
282       attribute11                   VARCHAR2 (150),
283       attribute12                   VARCHAR2 (150),
284       attribute13                   VARCHAR2 (150),
285       attribute14                   VARCHAR2 (150),
286       attribute15                   VARCHAR2 (150),
287       attribute16                   VARCHAR2 (150),
288       attribute17                   VARCHAR2 (150),
289       attribute18                   VARCHAR2 (150),
290       attribute19                   VARCHAR2 (150),
291       attribute20                   VARCHAR2 (150),
292       day_1                         BOOLEAN,
293       day_2                         BOOLEAN,
294       day_3                         BOOLEAN,
295       day_4                         BOOLEAN,
296       day_5                         BOOLEAN,
297       day_6                         BOOLEAN,
298       day_7                         BOOLEAN,
299       day_8                         BOOLEAN,
300       day_9                         BOOLEAN,
301       day_10                        BOOLEAN,
302       day_11                        BOOLEAN,
303       day_12                        BOOLEAN,
304       day_13                        BOOLEAN,
305       day_14                        BOOLEAN,
306       day_15                        BOOLEAN,
307       day_16                        BOOLEAN,
308       day_17                        BOOLEAN,
309       day_18                        BOOLEAN,
310       day_19                        BOOLEAN,
311       day_20                        BOOLEAN,
312       day_21                        BOOLEAN,
313       day_22                        BOOLEAN,
314       day_23                        BOOLEAN,
315       day_24                        BOOLEAN,
316       day_25                        BOOLEAN,
317       day_26                        BOOLEAN,
318       day_27                        BOOLEAN,
319       day_28                        BOOLEAN,
320       day_29                        BOOLEAN,
321       day_30                        BOOLEAN,
322       day_31                        BOOLEAN);
323 
324    TYPE t_buffer_table IS TABLE OF t_buffer_info
325       INDEX BY BINARY_INTEGER;
326 
327 
328 -- Use for the insert/Update delete
329    TYPE t_resouce_tc_index IS RECORD (
330       index_string                  VARCHAR2 (32000),
331       comment_text                  VARCHAR2 (2000),
332       lockid                        VARCHAR2 (80),
333       no_rows                       NUMBER);
334 
335    TYPE t_resource_tc_table IS TABLE OF t_resouce_tc_index
336       INDEX BY BINARY_INTEGER;
337 
338    g_resource_tc_table            t_resource_tc_table;
339 
340    TYPE t_base_rec IS RECORD (
341       base_id                       NUMBER (15),
342       attribute1                    VARCHAR2 (150),
343       attribute2                    VARCHAR2 (150),
344       attribute3                    VARCHAR2 (150),
345       attribute4                    VARCHAR2 (150),
346       attribute5                    VARCHAR2 (150),
347       attribute6                    VARCHAR2 (150),
348       attribute7                    VARCHAR2 (150),
349       attribute8                    VARCHAR2 (150),
350       attribute9                    VARCHAR2 (150),
351       attribute10                   VARCHAR2 (150),
352       attribute11                   VARCHAR2 (150),
353       attribute12                   VARCHAR2 (150),
354       attribute13                   VARCHAR2 (150),
355       attribute14                   VARCHAR2 (150),
356       attribute15                   VARCHAR2 (150),
357       attribute16                   VARCHAR2 (150),
358       attribute17                   VARCHAR2 (150),
359       attribute18                   VARCHAR2 (150),
360       attribute19                   VARCHAR2 (150),
361       attribute20                   VARCHAR2 (150));
362 
363    TYPE t_base_info IS TABLE OF t_base_rec
364       INDEX BY BINARY_INTEGER;
365 
366    TYPE det_rec IS RECORD (
367       resource_id                   NUMBER,
368       timecard_id                   NUMBER,
369       detailid                      NUMBER,
370       comment_text                  VARCHAR2 (2000),
371       dff_catg                      VARCHAR2 (80),
372       dff_oldcatg                   VARCHAR2 (80),
373       dff_attr1                     VARCHAR2 (150),
374       dff_attr2                     VARCHAR2 (150),
375       dff_attr3                     VARCHAR2 (150),
376       dff_attr4                     VARCHAR2 (150),
377       dff_attr5                     VARCHAR2 (150),
378       dff_attr6                     VARCHAR2 (150),
379       dff_attr7                     VARCHAR2 (150),
380       dff_attr8                     VARCHAR2 (150),
381       dff_attr9                     VARCHAR2 (150),
382       dff_attr10                    VARCHAR2 (150),
383       dff_attr11                    VARCHAR2 (150),
384       dff_attr12                    VARCHAR2 (150),
385       dff_attr13                    VARCHAR2 (150),
386       dff_attr14                    VARCHAR2 (150),
387       dff_attr15                    VARCHAR2 (150),
388       dff_attr16                    VARCHAR2 (150),
389       dff_attr17                    VARCHAR2 (150),
390       dff_attr18                    VARCHAR2 (150),
391       dff_attr19                    VARCHAR2 (150),
392       dff_attr20                    VARCHAR2 (150),
393       dff_attr21                    VARCHAR2 (150),
394       dff_attr22                    VARCHAR2 (150),
395       dff_attr23                    VARCHAR2 (150),
396       dff_attr24                    VARCHAR2 (150),
397       dff_attr25                    VARCHAR2 (150),
398       dff_attr26                    VARCHAR2 (150),
399       dff_attr27                    VARCHAR2 (150),
400       dff_attr28                    VARCHAR2 (150),
401       dff_attr29                    VARCHAR2 (150),
402       dff_attr30                    VARCHAR2 (150),
403       dff_oldattr1                  VARCHAR2 (150),
404       dff_oldattr2                  VARCHAR2 (150),
405       dff_oldattr3                  VARCHAR2 (150),
406       dff_oldattr4                  VARCHAR2 (150),
407       dff_oldattr5                  VARCHAR2 (150),
408       dff_oldattr6                  VARCHAR2 (150),
409       dff_oldattr7                  VARCHAR2 (150),
410       dff_oldattr8                  VARCHAR2 (150),
411       dff_oldattr9                  VARCHAR2 (150),
412       dff_oldattr10                 VARCHAR2 (150),
413       dff_oldattr11                 VARCHAR2 (150),
414       dff_oldattr12                 VARCHAR2 (150),
415       dff_oldattr13                 VARCHAR2 (150),
416       dff_oldattr14                 VARCHAR2 (150),
417       dff_oldattr15                 VARCHAR2 (150),
418       dff_oldattr16                 VARCHAR2 (150),
419       dff_oldattr17                 VARCHAR2 (150),
420       dff_oldattr18                 VARCHAR2 (150),
421       dff_oldattr19                 VARCHAR2 (150),
422       dff_oldattr20                 VARCHAR2 (150),
423       dff_oldattr21                 VARCHAR2 (150),
424       dff_oldattr22                 VARCHAR2 (150),
425       dff_oldattr23                 VARCHAR2 (150),
426       dff_oldattr24                 VARCHAR2 (150),
427       dff_oldattr25                 VARCHAR2 (150),
428       dff_oldattr26                 VARCHAR2 (150),
429       dff_oldattr27                 VARCHAR2 (150),
430       dff_oldattr28                 VARCHAR2 (150),
431       dff_oldattr29                 VARCHAR2 (150),
432       dff_oldattr30                 VARCHAR2 (150),
433       detail_action                 VARCHAR2 (80));
434 
435    TYPE det_info IS TABLE OF det_rec
436       INDEX BY BINARY_INTEGER;
437 
438    TYPE t_timecard_index_info_type IS RECORD (
439       time_block_row_index          NUMBER);
440 
441    TYPE t_timecard_index_info IS TABLE OF t_timecard_index_info_type
442       INDEX BY BINARY_INTEGER;
443 
444    TYPE t_attribute_index_info_type IS RECORD (
445       attribute_block_row_index     NUMBER);
446 
447    TYPE t_attribute_index_info IS TABLE OF t_attribute_index_info_type
448       INDEX BY BINARY_INTEGER;
449 
450    g_terminated_list              VARCHAR2 (32000);
451 
452 
453 -------------------------------------------------------------------------
454 
455    PROCEDURE get_day_totals (
456       p_day_total_1    OUT NOCOPY   NUMBER,
457       p_day_total_2    OUT NOCOPY   NUMBER,
458       p_day_total_3    OUT NOCOPY   NUMBER,
459       p_day_total_4    OUT NOCOPY   NUMBER,
460       p_day_total_5    OUT NOCOPY   NUMBER,
461       p_day_total_6    OUT NOCOPY   NUMBER,
462       p_day_total_7    OUT NOCOPY   NUMBER,
463       p_day_total_8    OUT NOCOPY   NUMBER,
464       p_day_total_9    OUT NOCOPY   NUMBER,
465       p_day_total_10   OUT NOCOPY   NUMBER,
466       p_day_total_11   OUT NOCOPY   NUMBER,
467       p_day_total_12   OUT NOCOPY   NUMBER,
468       p_day_total_13   OUT NOCOPY   NUMBER,
469       p_day_total_14   OUT NOCOPY   NUMBER,
470       p_day_total_15   OUT NOCOPY   NUMBER,
471       p_day_total_16   OUT NOCOPY   NUMBER,
472       p_day_total_17   OUT NOCOPY   NUMBER,
473       p_day_total_18   OUT NOCOPY   NUMBER,
474       p_day_total_19   OUT NOCOPY   NUMBER,
475       p_day_total_20   OUT NOCOPY   NUMBER,
476       p_day_total_21   OUT NOCOPY   NUMBER,
477       p_day_total_22   OUT NOCOPY   NUMBER,
478       p_day_total_23   OUT NOCOPY   NUMBER,
479       p_day_total_24   OUT NOCOPY   NUMBER,
480       p_day_total_25   OUT NOCOPY   NUMBER,
481       p_day_total_26   OUT NOCOPY   NUMBER,
482       p_day_total_27   OUT NOCOPY   NUMBER,
483       p_day_total_28   OUT NOCOPY   NUMBER,
484       p_day_total_29   OUT NOCOPY   NUMBER,
485       p_day_total_30   OUT NOCOPY   NUMBER,
486       p_day_total_31   OUT NOCOPY   NUMBER
487    );
488 
489 
490 ----------------------------------------------------------------------------
491 --
492 ----------------------------------------------------------------------------
493    PROCEDURE timekeeper_query (
494       p_timekeeper_data   IN OUT NOCOPY   t_timekeeper_table,
495       p_timekeeper_id     IN              NUMBER,
496       p_start_period      IN              DATE,
497       p_end_period        IN              DATE,
498       p_group_id          IN              NUMBER,
499       p_resource_id       IN              NUMBER,
500       p_attribute1        IN              VARCHAR2,
501       p_attribute2        IN              VARCHAR2,
502       p_attribute3        IN              VARCHAR2,
503       p_attribute4        IN              VARCHAR2,
504       p_attribute5        IN              VARCHAR2,
505       p_attribute6        IN              VARCHAR2,
506       p_attribute7        IN              VARCHAR2,
507       p_attribute8        IN              VARCHAR2,
508       p_attribute9        IN              VARCHAR2,
509       p_attribute10       IN              VARCHAR2,
510       p_attribute11       IN              VARCHAR2,
511       p_attribute12       IN              VARCHAR2,
512       p_attribute13       IN              VARCHAR2,
513       p_attribute14       IN              VARCHAR2,
514       p_attribute15       IN              VARCHAR2,
515       p_attribute16       IN              VARCHAR2,
516       p_attribute17       IN              VARCHAR2,
517       p_attribute18       IN              VARCHAR2,
518       p_attribute19       IN              VARCHAR2,
519       p_attribute20       IN              VARCHAR2,
520       p_status_code       IN              VARCHAR2,
521       p_rec_periodid      IN              NUMBER,
522       p_superflag         IN              VARCHAR2,
523       p_reqryflg          IN              VARCHAR2,
524       p_trx_lock_id       IN              NUMBER,
525       p_row_lock_id       IN              VARCHAR2,
526       p_person_type       IN              VARCHAR2,
527       p_message_type      IN              VARCHAR2,
528       p_query_type        IN              VARCHAR2,
529       p_lock_profile      IN              VARCHAR2,
530       p_message_text      IN              VARCHAR2,
531       p_late_reason in varchar2,
532       p_change_Reason in varchar2,
533       p_audit_enabled in varchar2,
534       p_audit_history in varchar2
535    );
536 
537 
538 ----------------------------------------------------------------------------
539 --
540 ----------------------------------------------------------------------------
541    PROCEDURE timekeeper_insert (p_insert_data IN OUT NOCOPY t_timekeeper_table);
542 
543 
544 ----------------------------------------------------------------------------
545 --
546 ----------------------------------------------------------------------------
547    PROCEDURE timekeeper_update (p_update_data IN OUT NOCOPY t_timekeeper_table);
548 
549 
550 ----------------------------------------------------------------------------
551 --
552 ----------------------------------------------------------------------------
553    PROCEDURE timekeeper_delete (p_delete_data IN OUT NOCOPY t_timekeeper_table);
554 
555 
556 ----------------------------------------------------------------------------
557 --
558 ----------------------------------------------------------------------------
559    PROCEDURE timekeeper_lock (p_lock_data IN t_timekeeper_table);
560 
561 
562 ----------------------------------------------------------------------------
563    PROCEDURE timekeeper_data_delete;          --4300948
564 ----------------------------------------------------------------------------
565    PROCEDURE timekeeper_process (
566       p_timekeeper_id   IN              NUMBER,
567       p_superflag       IN              VARCHAR2,
568       p_rec_periodid    IN              NUMBER,
569       p_start_period    IN              DATE,
570       p_end_period      IN              DATE,
571       p_mode            IN              VARCHAR2,
572       p_messages        OUT NOCOPY      hxc_self_service_time_deposit.message_table,
573       p_trx_lock_id     IN              NUMBER,
574       p_lock_profile    IN              VARCHAR2
575      ,p_tk_audit_enabled    IN 		VARCHAR2
576      ,p_tk_notify_to    IN 		VARCHAR2
577      ,p_tk_notify_type	IN		VARCHAR2
578    );
579 
580 
581 --
582 ----------------------------------------------------------------------------
583 
584    PROCEDURE populate_detail_global_table (
585       p_detail_data     IN   det_info,
586       p_detail_action   IN   VARCHAR2
587    );
588 
589 
590 -------------------------------------------------------------------------------
591 -- call_submit
592 -------------------------------------------------------------------------------
593    PROCEDURE call_submit (
594       p_timekeeper_id   IN              NUMBER,
595       p_start_period    IN              DATE,
596       p_end_period      IN              DATE,
597       p_submission_id   IN              NUMBER,
598       p_request_id      OUT NOCOPY      NUMBER
599    );
600 
601 
602 ----------------------------------------------------------------------------
603 --
604 ----------------------------------------------------------------------------
605    PROCEDURE run_submit (
606       p_errmsg          OUT NOCOPY      VARCHAR2,
607       p_errcode         OUT NOCOPY      NUMBER,
608       p_timekeeper_id   IN              NUMBER,
609       p_start_period    IN              VARCHAR2,
610       p_end_period      IN              VARCHAR2,
611       p_submission_id   IN              NUMBER
612    );
613 
614 
615 -------------------------------------------------------------------------------
616 -- populate_global_table
617 -------------------------------------------------------------------------------
618 
619    PROCEDURE populate_global_table (
620       p_table_data   IN   t_time_info,
621       p_action       IN   VARCHAR2
622    );
623 
624 
625 ----------------------------------------------------------------------------
626 --
627 ----------------------------------------------------------------------------
628    PROCEDURE create_timecard_day_structure (
629       p_resource_id            IN              NUMBER,
630       p_start_period           IN              DATE,
631       p_end_period             IN              DATE,
632       p_tc_frdt                IN              DATE,
633       p_tc_todt                IN              DATE,
634       p_timecard               IN OUT NOCOPY   hxc_block_table_type,
635       p_attributes             IN OUT NOCOPY   hxc_attribute_table_type,
636       p_day_id_info_table      OUT NOCOPY      t_day_id_info_table,
637       p_approval_style_id      OUT NOCOPY      NUMBER,
638       p_approval_status        OUT NOCOPY      VARCHAR2,
639       p_comment_text           IN              VARCHAR2,
640       p_timecard_status        OUT NOCOPY      VARCHAR2,
641       p_attribute_index_info   IN OUT NOCOPY   hxc_timekeeper_process.t_attribute_index_info,
642       p_timecard_index_info    IN OUT NOCOPY   hxc_timekeeper_process.t_timecard_index_info,
643       p_timecard_id            OUT NOCOPY             NUMBER
644    );
645 
646 
647 ----------------------------------------------------------------------------
648 --
649 ----------------------------------------------------------------------------
650    PROCEDURE create_detail_structure (
651       p_timekeeper_id          IN              NUMBER,
652       p_att_tab                IN              hxc_alias_utility.t_alias_att_info,
653       p_resource_id            IN              NUMBER,
654       p_start_period           IN              DATE,
655       p_end_period             IN              DATE,
656       p_tc_frdt                IN              DATE,
657       p_tc_todt                IN              DATE,
658       p_insert_detail          IN              hxc_timekeeper_process.t_time_info,
659       p_timecard               IN OUT NOCOPY   hxc_block_table_type,
660       p_attributes             IN OUT NOCOPY   hxc_attribute_table_type,
661       p_day_id_info_table      IN              hxc_timekeeper_process.t_day_id_info_table,
662       p_approval_style_id      IN              NUMBER,
663       p_attribute_index_info   IN OUT NOCOPY   hxc_timekeeper_process.t_attribute_index_info,
664       p_timecard_index_info    IN OUT NOCOPY   hxc_timekeeper_process.t_timecard_index_info,
665       p_timecard_id            IN              NUMBER,
666       p_mid_save               IN OUT NOCOPY   VARCHAR2,
667       p_comment_made_null      IN OUT NOCOPY   BOOLEAN,
668       p_row_lock_id            OUT NOCOPY             ROWID,
669       p_tk_audit_enabled    IN 		VARCHAR2
670    );
671 
672 
673 -----------------------------------------------------------------------------
674 -- debug procedure
675 -----------------------------------------------------------------------------
676    PROCEDURE add_remove_submit (
677       p_resource_id    IN   NUMBER,
678       p_start_period   IN   DATE,
679       p_end_period     IN   DATE,
680       p_timecard_id    IN   NUMBER,
681       p_row_lock_id    IN   ROWID,
682       p_operation      IN   VARCHAR2,
683       p_number_rows    IN   NUMBER
684    );
685 
686    PROCEDURE add_remove_lock (
687       p_resource_id    IN   NUMBER,
688       p_start_period   IN   DATE,
689       p_end_period     IN   DATE,
690       p_timecard_id    IN   NUMBER,
691       p_row_lock_id    IN   ROWID,
692       p_operation      IN   VARCHAR2
693    );
694 
695    FUNCTION check_row_lock (p_resource_id IN NUMBER)
696       RETURN BOOLEAN;
697 
698    FUNCTION get_row_lock (p_resource_id IN NUMBER)
699       RETURN VARCHAR2;
700 
701 
702 ------------------------------------------------------------------
703 --procedure insert_update_detail_temp()
704 
705    PROCEDURE submit_resource (
706       p_timekeeper_id   IN       NUMBER,
707       p_start_time      IN       DATE,
708       p_stop_time       IN       DATE,
709       p_trx_id          IN       NUMBER,
710       p_submit_id       OUT NOCOPY      NUMBER,
711       p_insert          OUT NOCOPY      BOOLEAN,
712       p_submit_emp      OUT NOCOPY      hxc_timekeeper_process.tk_submit_tab,
713       p_messages        IN OUT NOCOPY   hxc_self_service_time_deposit.message_table
714    );
715 
716 
717 -----------------------------------------------------
718    FUNCTION get_det_details
719       RETURN det_info;
720 
721    FUNCTION get_terminated_list
722       RETURN VARCHAR2;
723 
724    TYPE t_mid_rec IS RECORD (
725       resource_id                   NUMBER,
726       start_time                    DATE,
727       mid_comment                   VARCHAR2 (2000));
728 
729    TYPE t_mid_tab IS TABLE OF t_mid_rec
730       INDEX BY BINARY_INTEGER;
731 
732    g_mid_data                     t_mid_tab;
733 
734    TYPE tk_submit_record IS RECORD (
735       timecard_id                   NUMBER,
736       resource_id                   NUMBER,
737       start_time                    DATE,
738       stop_time                     DATE,
739       row_lock_id                   ROWID,
740       no_rows                       NUMBER);
741 
742    TYPE tk_submit_tab IS TABLE OF tk_submit_record
743       INDEX BY BINARY_INTEGER;
744 
745    g_submit_table                 tk_submit_tab;
746    g_lock_table                   tk_submit_tab;
747 
748 -----------------------------------------------------------------------------
749 -- declare global table
750 -----------------------------------------------------------------------------
751    g_one_day                      NUMBER                 := (  1
752                                                              - 1 / 24 / 3600
753                                                             );
754    g_timekeeper_data              t_timekeeper_table;
755    g_timekeeper_data_query        t_timekeeper_table;
756    g_tk_data_query_from_process   t_timekeeper_table;
757    g_alias_type                   VARCHAR2 (80);
758    g_timecard                     hxc_block_table_type;
759    g_attributes                   hxc_attribute_table_type;
760    g_from_tk_process              BOOLEAN                  := FALSE;
761    g_tk_finish_process            BOOLEAN                  := FALSE;
762    g_negative_index               NUMBER                   := -2;
763    g_debbug                       BOOLEAN                  := FALSE;
764    g_submit                       BOOLEAN                  := FALSE;
765    g_base_att                     VARCHAR2 (20)            := NULL;
766    g_detail_data                  det_info;
767 END hxc_timekeeper_process;
768