DBA Data[Home] [Help]

PACKAGE: APPS.HXT_INTERFACE_UTILITIES

Source


1 PACKAGE hxt_interface_utilities AS
2 /* $Header: hxtinterfaceutil.pkh 120.1.12000000.4 2007/06/11 10:18:21 rchennur noship $ */
3    SUBTYPE max_varchar IS VARCHAR2 (4000);
4 
5    SUBTYPE flag_varchar IS VARCHAR2 (1);
6 
7    SUBTYPE varchar_256 IS VARCHAR2 (256);
8 
9    SUBTYPE proc_name IS VARCHAR2 (72);
10 
11    SUBTYPE package_name IS VARCHAR2 (32);
12 
13    TYPE asg_type_rec IS RECORD (
14       asg_type   per_all_assignments_f.assignment_type%TYPE
15    );
16 
17    TYPE asg_system_status_rec IS RECORD (
18       asg_system_status   per_assignment_status_types.per_system_status%TYPE
19    );
20 
21    TYPE batch_info_rec IS RECORD (
22       batch_ref           pay_batch_headers.batch_reference%TYPE,
23       request_id          fnd_concurrent_requests.request_id%TYPE,
24       business_group_id   pay_batch_headers.business_group_id%TYPE,
25       free_batch_suffix   NUMBER
26    );
27 
28    TYPE asg_type_table IS TABLE OF asg_type_rec
29       INDEX BY BINARY_INTEGER;
30 
31    TYPE asg_system_status_table IS TABLE OF asg_system_status_rec
32       INDEX BY BINARY_INTEGER;
33 
34    TYPE batch_info_table IS TABLE OF batch_info_rec
35       INDEX BY BINARY_INTEGER;
36 
37    TYPE input_value_name_table IS TABLE OF pay_input_values_f.NAME%TYPE
38       INDEX BY BINARY_INTEGER;
39 
40    TYPE accrual_plan_id_table IS TABLE OF pay_accrual_plans.accrual_plan_id%TYPE
41       INDEX BY BINARY_INTEGER;
42 
43    TYPE bee_rec IS RECORD (
44       pay_batch_line   pay_batch_lines%ROWTYPE
45    );
46 
47    TYPE iv_translation_rec IS RECORD (
48       lookup_code         hr_lookups.lookup_code%TYPE,
49       start_date_active   hr_lookups.start_date_active%TYPE,
50       end_date_active     hr_lookups.end_date_active%TYPE
51    );
52 
53    TYPE iv_translation_table IS TABLE OF iv_translation_rec
54       INDEX BY BINARY_INTEGER;
55 
56    TYPE primary_assignment_rec IS RECORD (
57       assignment_id          per_all_assignments_f.assignment_id%TYPE,
58       effective_start_date   per_all_assignments_f.effective_start_date%TYPE,
59       effective_end_date     per_all_assignments_f.effective_end_date%TYPE,
60       assignment_type        per_all_assignments_f.assignment_type%TYPE,
61       per_system_status      per_assignment_status_types.per_system_status%TYPE
62    );
63 
64    TYPE primary_assignment_table IS TABLE OF primary_assignment_rec
65       INDEX BY BINARY_INTEGER;
66 
67    TYPE flex_value_rec IS RECORD (
68       flex_value        fnd_flex_values.flex_value%TYPE,
69       id_flex_num       fnd_id_flex_segments.id_flex_num%TYPE,
70       segment_name      fnd_id_flex_segments.application_column_name%TYPE,
71       validation_type   fnd_flex_value_sets.validation_type%TYPE
72    );
73 
74    TYPE flex_value_table IS TABLE OF flex_value_rec
75       INDEX BY BINARY_INTEGER;
76 
77    TYPE assignment_info_rec IS RECORD (
78       effective_start_date   per_all_assignments_f.effective_start_date%TYPE,
79       effective_end_date     per_all_assignments_f.effective_end_date%TYPE,
80       assignment_number      per_all_assignments_f.assignment_number%TYPE,
81       payroll_id             per_all_assignments_f.payroll_id%TYPE,
82       organization_id        per_all_assignments_f.organization_id%TYPE,
83       location_id            per_all_assignments_f.location_id%TYPE,
84       business_group_id      per_all_assignments_f.business_group_id%TYPE,
85       assignment_type        per_all_assignments_f.assignment_type%TYPE
86    );
87 
88    TYPE assignment_info_table IS TABLE OF assignment_info_rec
89       INDEX BY BINARY_INTEGER;
90 
91    TYPE concatenated_segment_rec IS RECORD (
92       concatenated_segment   pay_cost_allocation_keyflex.concatenated_segments%TYPE
93    );
94 
95    TYPE concatenated_segment_table IS TABLE OF concatenated_segment_rec
96       INDEX BY BINARY_INTEGER;
97 
98    c_primary_assignment         CONSTANT flag_varchar                   := 'Y';
99    c_element_context_prefix     CONSTANT VARCHAR2 (10)         := 'ELEMENT - ';
100    g_wildcard                   CONSTANT VARCHAR2 (1)                   := '%';
101    g_otl_batchsize_profile      CONSTANT fnd_profile_options.profile_option_name%TYPE
102                                                            := 'HXT_BATCH_SIZE';
103    g_per_app_id                 CONSTANT fnd_application.application_id%TYPE
104                                                                         := 800;
105    g_pay_app_id                 CONSTANT fnd_application.application_id%TYPE
106                                                                         := 801;
107    g_hxc_app_id                 CONSTANT fnd_application.application_id%TYPE
108                                                                         := 809;
109    g_cost_flex_code             CONSTANT fnd_id_flex_segments.id_flex_code%TYPE
110                                                                      := 'COST';
111    g_batch_status_transferred   CONSTANT pay_batch_headers.batch_status%TYPE
112                                                                         := 'T';
113    g_asg_type_employed          CONSTANT per_all_assignments_f.assignment_type%TYPE
114                                                                         := 'E';
115    g_element_attribute          CONSTANT hxc_mapping_components.field_name%TYPE
116                                                     := 'DUMMY ELEMENT CONTEXT';
117    g_cost_attribute             CONSTANT hxc_mapping_components.field_name%TYPE
118                                                               := 'COSTSEGMENT';
119    g_segment                    CONSTANT hxc_mapping_components.field_name%TYPE
120                                                                   := 'SEGMENT';
121    g_iv_attribute               CONSTANT hxc_mapping_components.field_name%TYPE
122                                                                := 'INPUTVALUE';
123    g_asg_id_attribute           CONSTANT hxc_mapping_components.field_name%TYPE
124                                                           := 'P_ASSIGNMENT_ID';
125    g_asg_num_attribute          CONSTANT hxc_mapping_components.field_name%TYPE
126                                                       := 'P_ASSIGNMENT_NUMBER';
127    g_otl_info_types_ddf         CONSTANT fnd_descr_flex_column_usages.descriptive_flexfield_name%TYPE
128                                                     := 'OTC Information Types';
129    g_lookup_enabled             CONSTANT hr_lookups.enabled_flag%TYPE   := 'Y';
130    g_element_iv_translations    CONSTANT hr_lookups.lookup_type%TYPE
131                                                         := 'NAME_TRANSLATIONS';
132    g_hours_iv                   CONSTANT pay_input_values_f.NAME%TYPE
133                                                                     := 'HOURS';
134    g_jurisdiction_iv            CONSTANT pay_input_values_f.NAME%TYPE
135                                                                     := 'JURISDICTION';
136    g_hour_juris_iv              CONSTANT pay_input_values_f.NAME%TYPE
137                                                                     := 'HOUR_JURIS';
138    g_independant                CONSTANT fnd_flex_value_sets.validation_type%TYPE
139                                                                         := 'I';
140 --   g_total_lines_pipe_name      CONSTANT VARCHAR2 (30)                                                  := 'HXC_PIPE_TOTAL_LINES';
141    g_tbb_changed                CONSTANT flag_varchar                   := 'Y';
142    g_tbb_deleted                CONSTANT flag_varchar                   := 'Y';
143 
144    FUNCTION do_commit
145       RETURN BOOLEAN;
146 
147    PROCEDURE set_do_commit (p_do_commit IN BOOLEAN);
148 
149    PROCEDURE perform_commit;
150 
151    FUNCTION use_old_retro_batches
152       RETURN BOOLEAN;
153 
154    PROCEDURE set_use_old_retro_batches (p_use_old_retro_batches IN BOOLEAN);
155 
156    FUNCTION batchname_suffix_connector
157       RETURN VARCHAR2;
158 
159    PROCEDURE set_batchname_suffix_connector (
160       p_batchname_suffix_connector   IN   VARCHAR2
161    );
162 
163    PROCEDURE empty_asg_cache;
164 
165    PROCEDURE empty_batch_suffix_cache;
166 
167    PROCEDURE empty_cache;
168 
169    FUNCTION max_batch_size
170       RETURN NUMBER;
171 
172    FUNCTION conc_request_id_suffix (p_from_last IN PLS_INTEGER DEFAULT 4)
173       RETURN NUMBER;
174 
175    FUNCTION batch_name (
176       p_batch_ref              IN   pay_batch_headers.batch_reference%TYPE,
177       p_bg_id                  IN   pay_batch_headers.business_group_id%TYPE,
178       p_invalid_batch_status   IN   pay_batch_headers.batch_status%TYPE
179             DEFAULT NULL
180    )
181       RETURN pay_batch_headers.batch_name%TYPE;
182 
183    FUNCTION max_batch_id (
184       p_batch_name   IN   pay_batch_headers.batch_name%TYPE,
185       p_bg_id        IN   pay_batch_headers.business_group_id%TYPE
186    )
187       RETURN pay_batch_headers.batch_id%TYPE;
188 
189    FUNCTION count_batch_lines (p_batch_id IN pay_batch_headers.batch_id%TYPE)
190       RETURN NUMBER;
191 
192    FUNCTION count_batch_lines (
193       p_batch_name   IN   pay_batch_headers.batch_name%TYPE,
194       p_bg_id        IN   pay_batch_headers.business_group_id%TYPE
195    )
196       RETURN NUMBER;
197 
198    FUNCTION total_batch_lines (
199       p_batch_reference   IN   pay_batch_headers.batch_reference%TYPE,
200       p_bg_id             IN   pay_batch_headers.business_group_id%TYPE
201    )
202       RETURN NUMBER;
203 
204    PROCEDURE max_lines_exceeded (
205       p_batch_id             IN              pay_batch_headers.batch_reference%TYPE,
206       p_number_lines         IN OUT NOCOPY   PLS_INTEGER,
207       p_max_lines_exceeded   OUT NOCOPY      BOOLEAN
208    );
209 
210    FUNCTION max_lines_exceeded (
211       p_batch_id   IN   pay_batch_headers.batch_reference%TYPE
212    )
213       RETURN BOOLEAN;
214 
215    FUNCTION max_lines_exceeded (
216       p_batch_ref   IN   pay_batch_headers.batch_reference%TYPE,
217       p_bg_id       IN   pay_batch_headers.business_group_id%TYPE
218    )
219       RETURN BOOLEAN;
220 
221    FUNCTION isnumber (p_value VARCHAR2)
222       RETURN BOOLEAN;
223 
224    FUNCTION detail_lines_retrieved (
225       p_tbb_tbl   IN   hxc_generic_retrieval_pkg.t_building_blocks
226    )
227       RETURN BOOLEAN;
228 
229    FUNCTION gre (
230       p_assignment_id    IN   per_all_assignments_f.assignment_id%TYPE,
231       p_effective_date   IN   per_all_assignments_f.effective_start_date%TYPE
232    )
233       RETURN hr_soft_coding_keyflex.segment1%TYPE;
234 
235    FUNCTION valid_assignment_type (
236       p_asg_type         IN   per_all_assignments_f.assignment_type%TYPE,
237       p_validation_tbl   IN   asg_type_table
238    )
239       RETURN BOOLEAN;
240 
241    FUNCTION valid_assignment_system_status (
242       p_asg_system_status   IN   per_assignment_status_types.per_system_status%TYPE,
243       p_validation_tbl      IN   asg_system_status_table
244    )
245       RETURN BOOLEAN;
246 
247    FUNCTION primary_assignment_id (
248       p_person_id                IN   per_people_f.person_id%TYPE,
249       p_effective_date           IN   DATE,
250       p_valid_asg_types          IN   asg_type_table,
251       p_valid_asg_status_types   IN   asg_system_status_table
252    )
253       RETURN per_all_assignments_f.assignment_id%TYPE;
254 
255    PROCEDURE get_assignment_info (
256       p_assignment_id       IN              per_all_assignments_f.assignment_id%TYPE,
257       p_effective_date      IN              per_all_assignments_f.effective_end_date%TYPE,
258       p_assignment_number   OUT NOCOPY      per_all_assignments_f.assignment_number%TYPE,
259       p_payroll_id          OUT NOCOPY      per_all_assignments_f.payroll_id%TYPE,
260       p_org_id              OUT NOCOPY      per_all_assignments_f.organization_id%TYPE,
261       p_location_id         OUT NOCOPY      per_all_assignments_f.location_id%TYPE,
262       p_bg_id               OUT NOCOPY      per_all_assignments_f.business_group_id%TYPE
263    );
264 
265    PROCEDURE get_primary_assignment_info (
266       p_person_id           IN              per_all_assignments_f.person_id%TYPE,
267       p_effective_date      IN              per_all_assignments_f.effective_end_date%TYPE,
268       p_assignment_id       OUT NOCOPY      per_all_assignments_f.assignment_id%TYPE,
269       p_assignment_number   OUT NOCOPY      per_all_assignments_f.assignment_number%TYPE,
270       p_payroll_id          OUT NOCOPY      per_all_assignments_f.payroll_id%TYPE,
271       p_org_id              OUT NOCOPY      per_all_assignments_f.organization_id%TYPE,
272       p_location_id         OUT NOCOPY      per_all_assignments_f.location_id%TYPE,
273       p_bg_id               OUT NOCOPY      per_all_assignments_f.business_group_id%TYPE
274    );
275 
276    FUNCTION is_person (p_tbb_rec IN hxc_generic_retrieval_pkg.r_building_blocks)
277       RETURN BOOLEAN;
278 
279    FUNCTION is_assignment (
280       p_tbb_rec   IN   hxc_generic_retrieval_pkg.r_building_blocks
281    )
282       RETURN BOOLEAN;
283 
284    PROCEDURE assignment_info (
285       p_tbb_rec             IN              hxc_generic_retrieval_pkg.r_building_blocks,
286       p_assignment_id       OUT NOCOPY      per_all_assignments_f.assignment_id%TYPE,
287       p_assignment_number   OUT NOCOPY      per_all_assignments_f.assignment_number%TYPE
288    );
289 
290    FUNCTION attribute_is (
291       p_attr_rec         IN   hxc_generic_retrieval_pkg.r_time_attributes,
292       p_is_what          IN   hxc_mapping_components.field_name%TYPE,
293       p_case_sensitive   IN   BOOLEAN DEFAULT FALSE
294    )
295       RETURN BOOLEAN;
296 
297    FUNCTION attribute_is_element (
298       p_attr_rec   IN   hxc_generic_retrieval_pkg.r_time_attributes
299    )
300       RETURN BOOLEAN;
301 
302    FUNCTION attribute_is_cost_segment (
303       p_attr_rec   IN   hxc_generic_retrieval_pkg.r_time_attributes
304    )
305       RETURN BOOLEAN;
306 
307    FUNCTION attribute_is_input_value (
308       p_attr_rec   IN   hxc_generic_retrieval_pkg.r_time_attributes
309    )
310       RETURN BOOLEAN;
311 
312    FUNCTION attribute_is_asg_id (
313       p_attr_rec   IN   hxc_generic_retrieval_pkg.r_time_attributes
314    )
315       RETURN BOOLEAN;
316 
317    FUNCTION attribute_is_asg_num (
318       p_attr_rec   IN   hxc_generic_retrieval_pkg.r_time_attributes
319    )
320       RETURN BOOLEAN;
321 
322    FUNCTION extract_number (
323       p_extract_from     IN   max_varchar,
324       p_sub_string       IN   max_varchar,
325       p_case_sensitive   IN   BOOLEAN DEFAULT FALSE
326    )
327       RETURN PLS_INTEGER;
328 
329    FUNCTION input_value_number (
330       p_attr_rec   IN   hxc_generic_retrieval_pkg.r_time_attributes
331    )
332       RETURN PLS_INTEGER;
333 
334    FUNCTION cost_segment_number (
335       p_attr_rec   IN   hxc_generic_retrieval_pkg.r_time_attributes
336    )
337       RETURN PLS_INTEGER;
338 
339    FUNCTION element_flex_context_code (
340       p_element_type_id   IN   pay_element_types_f.element_type_id%TYPE
341    )
342       RETURN fnd_descr_flex_column_usages.descriptive_flex_context_code%TYPE;
343 
344    FUNCTION element_type_id (
345       p_attr_rec   IN   hxc_generic_retrieval_pkg.r_time_attributes
346    )
347       RETURN pay_element_types_f.element_type_id%TYPE;
348 
349    FUNCTION element_name (
350       p_ele_type_id      IN   pay_element_types_f.element_type_id%TYPE,
351       p_effective_date   IN   pay_element_types_f.effective_start_date%TYPE
352    )
353       RETURN pay_element_types_f.element_name%TYPE;
354 
355    FUNCTION hours_worked (
356       p_detail_tbb   IN   hxc_generic_retrieval_pkg.r_building_blocks
357    )
358       RETURN NUMBER;
359 
360    FUNCTION element_type_ivs (
361       p_element_type_id   IN   pay_element_types_f.element_type_id%TYPE,
362       p_effective_date    IN   pay_element_types_f.effective_start_date%TYPE
363    )
364       RETURN input_value_name_table;
365 
366    FUNCTION ddf_input_value_name (
367       p_element_type_id   IN   pay_element_types_f.element_type_id%TYPE,
368       p_attr_rec          IN   hxc_generic_retrieval_pkg.r_time_attributes
369    )
370       RETURN fnd_descr_flex_column_usages.end_user_column_name%TYPE;
371 
372    FUNCTION accrual_plan_ids (
373       p_assignment_id    IN   per_all_assignments_f.assignment_id%TYPE,
374       p_effective_date   IN   pay_element_types_f.effective_start_date%TYPE
375    )
376       RETURN accrual_plan_id_table;
377 
378    PROCEDURE assign_iv (
379       p_iv_seq    IN              NUMBER,
380       p_value     IN              VARCHAR2,
381       p_bee_rec   IN OUT NOCOPY   bee_rec
382    );
383 
384    PROCEDURE convert_attr_to_ivs (
385       p_attr_rec          IN              hxc_generic_retrieval_pkg.r_time_attributes,
386       p_element_type_id   IN              pay_element_types_f.element_type_id%TYPE,
387       p_effective_date    IN              pay_element_types_f.effective_start_date%TYPE,
388       p_bee_rec           IN OUT NOCOPY   bee_rec
389    );
390 
391    PROCEDURE convert_attr_to_costsegment (
392       p_attr_rec       IN              hxc_generic_retrieval_pkg.r_time_attributes,
393       p_cost_flex_id   IN              per_business_groups_perf.cost_allocation_structure%TYPE,
394       p_bee_rec        IN OUT NOCOPY   bee_rec
395    );
396 
397    FUNCTION translated_iv (
398       p_iv_name       IN   hr_lookups.meaning%TYPE,
399       p_date_active   IN   hr_lookups.start_date_active%TYPE
400    )
401       RETURN hr_lookups.lookup_code%TYPE;
402 
403   PROCEDURE hours_iv_position (
404       p_element_type_id   IN   pay_element_types_f.element_type_id%TYPE,
405       p_effective_date    IN   pay_element_types_f.effective_start_date%TYPE,
406       p_hours_iv_position OUT NOCOPY PLS_INTEGER,
407       p_jurisdiction_iv_position OUT NOCOPY PLS_INTEGER,
408       p_iv_type           IN VARCHAR2
409    );
410 
411    FUNCTION find_element_id_in_attr_tbl (
412       p_att_table        IN   hxc_generic_retrieval_pkg.t_time_attribute,
413       p_tbb_id           IN   hxc_time_building_blocks.time_building_block_id%TYPE,
414       p_start_position   IN   PLS_INTEGER
415    )
416       RETURN pay_element_types_f.element_type_id%TYPE;
417 
418    PROCEDURE find_other_in_attr_tbl (
419       p_bg_id             IN              pay_batch_headers.business_group_id%TYPE,
420       p_att_table         IN              hxc_generic_retrieval_pkg.t_time_attribute,
421       p_tbb_id            IN              hxc_time_building_blocks.time_building_block_id%TYPE,
422       p_element_type_id   IN              pay_element_types_f.element_type_id%TYPE,
423       p_cost_flex_id      IN              per_business_groups_perf.cost_allocation_structure%TYPE,
424       p_effective_date    IN              pay_element_types_f.effective_start_date%TYPE,
425       p_start_position    IN              PLS_INTEGER,
426       p_ending_position   OUT NOCOPY      PLS_INTEGER,
427       p_bee_rec           IN OUT NOCOPY   bee_rec
428    );
429 
430    FUNCTION skip_attributes (
431       p_att_table        IN   hxc_generic_retrieval_pkg.t_time_attribute,
432       p_tbb_id           IN   hxc_time_building_blocks.time_building_block_id%TYPE,
433       p_start_position   IN   PLS_INTEGER
434    )
435       RETURN PLS_INTEGER;
436 
437 /*   PROCEDURE find_asg_in_attr_tbl (
438       p_att_table        IN              hxc_generic_retrieval_pkg.t_time_attribute,
439       p_tbb_id           IN              hxc_time_building_blocks.time_building_block_id%TYPE,
440       p_start_position   IN              PLS_INTEGER,
441       p_bee_rec          IN OUT NOCOPY   bee_rec
442    ); */
443    FUNCTION cost_flex_structure_id (
444       p_business_group_id   IN   per_all_organization_units.business_group_id%TYPE
445    )
446       RETURN per_business_groups_perf.cost_allocation_structure%TYPE;
447 
448    FUNCTION costflex_value (
449       p_id_flex_num       IN   fnd_id_flex_segments.id_flex_num%TYPE,
450       p_segment_name      IN   fnd_id_flex_segments.application_column_name%TYPE,
451       p_validation_type   IN   fnd_flex_value_sets.validation_type%TYPE
452             DEFAULT g_independant,
453 --      p_flex_value_id     IN   fnd_flex_values.flex_value_id%TYPE
454       p_flex_value_id     IN   hxc_time_attributes.attribute1%TYPE
455    )
456       RETURN fnd_flex_values.flex_value%TYPE;
457 
458    FUNCTION costflex_concat_segments (
459       p_cost_allocation_keyflex_id   IN   pay_cost_allocation_keyflex.cost_allocation_keyflex_id%TYPE
460    )
461       RETURN pay_cost_allocation_keyflex.concatenated_segments%TYPE;
462 
463    FUNCTION cost_segments_all_null (p_bee_rec IN bee_rec)
464       RETURN BOOLEAN;
465 
466    FUNCTION cost_allocation_kff_id (
467       p_business_group_id   IN   per_all_organization_units.business_group_id%TYPE,
468       p_segment_1           IN   pay_cost_allocation_keyflex.segment1%TYPE,
469       p_segment_2           IN   pay_cost_allocation_keyflex.segment2%TYPE,
470       p_segment_3           IN   pay_cost_allocation_keyflex.segment3%TYPE,
471       p_segment_4           IN   pay_cost_allocation_keyflex.segment4%TYPE,
472       p_segment_5           IN   pay_cost_allocation_keyflex.segment5%TYPE,
473       p_segment_6           IN   pay_cost_allocation_keyflex.segment6%TYPE,
474       p_segment_7           IN   pay_cost_allocation_keyflex.segment7%TYPE,
475       p_segment_8           IN   pay_cost_allocation_keyflex.segment8%TYPE,
476       p_segment_9           IN   pay_cost_allocation_keyflex.segment9%TYPE,
477       p_segment_10          IN   pay_cost_allocation_keyflex.segment10%TYPE,
478       p_segment_11          IN   pay_cost_allocation_keyflex.segment11%TYPE,
479       p_segment_12          IN   pay_cost_allocation_keyflex.segment12%TYPE,
480       p_segment_13          IN   pay_cost_allocation_keyflex.segment13%TYPE,
481       p_segment_14          IN   pay_cost_allocation_keyflex.segment14%TYPE,
482       p_segment_15          IN   pay_cost_allocation_keyflex.segment15%TYPE,
483       p_segment_16          IN   pay_cost_allocation_keyflex.segment16%TYPE,
484       p_segment_17          IN   pay_cost_allocation_keyflex.segment17%TYPE,
485       p_segment_18          IN   pay_cost_allocation_keyflex.segment18%TYPE,
486       p_segment_19          IN   pay_cost_allocation_keyflex.segment19%TYPE,
487       p_segment_20          IN   pay_cost_allocation_keyflex.segment20%TYPE,
488       p_segment_21          IN   pay_cost_allocation_keyflex.segment21%TYPE,
489       p_segment_22          IN   pay_cost_allocation_keyflex.segment22%TYPE,
490       p_segment_23          IN   pay_cost_allocation_keyflex.segment23%TYPE,
491       p_segment_24          IN   pay_cost_allocation_keyflex.segment24%TYPE,
492       p_segment_25          IN   pay_cost_allocation_keyflex.segment25%TYPE,
493       p_segment_26          IN   pay_cost_allocation_keyflex.segment26%TYPE,
494       p_segment_27          IN   pay_cost_allocation_keyflex.segment27%TYPE,
495       p_segment_28          IN   pay_cost_allocation_keyflex.segment28%TYPE,
496       p_segment_29          IN   pay_cost_allocation_keyflex.segment29%TYPE,
497       p_segment_30          IN   pay_cost_allocation_keyflex.segment30%TYPE
498    )
499       RETURN pay_cost_allocation_keyflex.cost_allocation_keyflex_id%TYPE;
500 
501    FUNCTION cost_allocation_kff_id (
502       p_business_group_id   IN   per_all_organization_units.business_group_id%TYPE,
503       p_bee_rec             IN   bee_rec
504    )
505       RETURN pay_cost_allocation_keyflex.cost_allocation_keyflex_id%TYPE;
506 
507    FUNCTION hours_factor (p_is_old IN BOOLEAN)
508       RETURN NUMBER;
509 
510 /* These 3 procedures were commented out because the pipes were causing
511    issues with the SGA.  The pipe grew out-of-control for no apparent reason.
512    Anyway, for now, we will NOT allow multithreading of this process so we do
513    not need pipes!!!
514 */
515 /*   PROCEDURE write_pipe_batch_info (p_batch_info IN piped_batch_info_table);
516 
517    FUNCTION read_pipe_batch_info
518       RETURN piped_batch_info_table;
519 
520    FUNCTION purge_pipe
521       RETURN BOOLEAN;
522 */
523    FUNCTION free_batch_suffix (
524       p_batch_reference   IN   pay_batch_headers.batch_reference%TYPE,
525       p_bg_id             IN   pay_batch_headers.business_group_id%TYPE
526    )
527       RETURN NUMBER;
528 
529 /*   FUNCTION total_lines (
530       p_batch_reference     IN   pay_batch_headers.batch_reference%TYPE,
531       p_bg_id               IN   pay_batch_headers.business_group_id%TYPE,
532       p_incremental_value   IN   PLS_INTEGER DEFAULT 0
533    )
534       RETURN NUMBER;
535 
536    FUNCTION is_full (
537       p_batch_reference   IN   pay_batch_headers.batch_reference%TYPE,
538       p_bg_id             IN   pay_batch_headers.business_group_id%TYPE
539    )
540       RETURN BOOLEAN; */
541    FUNCTION is_changed (
542       p_tbb_rec   IN   hxc_generic_retrieval_pkg.r_building_blocks
543    )
544       RETURN BOOLEAN;
545 
546    FUNCTION is_deleted (
547       p_tbb_rec   IN   hxc_generic_retrieval_pkg.r_building_blocks
548    )
549       RETURN BOOLEAN;
550 
551    FUNCTION is_in_sync (
552       p_check_tbb_id     IN   hxc_time_building_blocks.time_building_block_id%TYPE,
553       p_against_tbb_id   IN   hxc_time_building_blocks.time_building_block_id%TYPE
554    )
555       RETURN BOOLEAN;
556 /*   FUNCTION is_in_sync (
557       p_tbb_id         IN   hxc_time_building_blocks.time_building_block_id%TYPE,
558       p_attr_tbl       IN   hxc_generic_retrieval_pkg.t_time_attribute,
559       p_attr_tbl_idx   IN   PLS_INTEGER
560    )
561       RETURN BOOLEAN; */
562 
563     FUNCTION get_geocode_from_attr_tab (
564       p_att_table        IN   hxc_generic_retrieval_pkg.t_time_attribute,
565       p_tbb_id           IN   hxc_time_building_blocks.time_building_block_id%TYPE,
566       p_start_position   IN   PLS_INTEGER
567    )
568       RETURN VARCHAR2;
569 
570 END hxt_interface_utilities;