DBA Data[Home] [Help]

PACKAGE BODY: APPS.PY_ZA_TX_LS

Source


1 PACKAGE BODY PY_ZA_TX_LS AS
2 /* $Header: pyzatxls.pkb 120.0.12020000.1 2013/01/31 11:17:36 nchinnam noship $ */
3 /* Copyright (c) Oracle Corporation 2012. All rights reserved. */
4 /*
5    PRODUCT
6       Oracle Payroll - ZA Localisation Tax Module
7 
8    NAME
9       pyzatxls.pkb
10 
11    DESCRIPTION
12       This is the ZA Tax Module Lumpsum utility package.  It contains
13       functions and procedures used by the main tax package.
14 
15    MODIFICATION HISTORY
16    Person    Date        Version        Bug      Comments
17    --------- ----------  -------------- -------  --------------------------------
18    NCHINNAM  05-NOV-2012 115.0                   ZA TYE2013 Changes
19 
20  */
21 -------------------------------------------------------------------------------
22 --                               PACKAGE BODY                                --
23 -------------------------------------------------------------------------------
24 
25 
26 FUNCTION ZATXMEDTXCRLMPSM1(
27     p_MedCrUsedLS           OUT NOCOPY NUMBER
28   , p_DirNum1               OUT NOCOPY VARCHAR2
29   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
30   , p_DirNum2               OUT NOCOPY VARCHAR2
31   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
32   , p_DirNum3               OUT NOCOPY VARCHAR2
33   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
34   , p_DirNum4               OUT NOCOPY VARCHAR2
35   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
36   , p_DirNum5               OUT NOCOPY VARCHAR2
37   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
38   , p_DirNum6               OUT NOCOPY VARCHAR2
39   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
40   , p_DirNum7               OUT NOCOPY VARCHAR2
41   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
42   , p_DirNum8               OUT NOCOPY VARCHAR2
43   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
44   , p_DirNum9               OUT NOCOPY VARCHAR2
45   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
46   , p_DirNum10              OUT NOCOPY VARCHAR2
47   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
48   )RETURN NUMBER
49 AS
50 
51   l_chunk         number :=1;
52   l_dir_st        number := 1;
53   l_dir_end       number := 10;
54   l_ls_dirnum     varchar2(100);
55   l_cur_max_dir   number;
56   l_count         number :=0;
57 
58 
59 BEGIN
60    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM1',1);
61 
62    p_DirNum1 :=' ';
63    p_MedTxCrUsed1 :=0;
64    p_DirNum2 :=' ';
65    p_MedTxCrUsed2 :=0;
66    p_DirNum3 :=' ';
67    p_MedTxCrUsed3 :=0;
68    p_DirNum4 :=' ';
69    p_MedTxCrUsed4 :=0;
70    p_DirNum5 :=' ';
71    p_MedTxCrUsed5 :=0;
72    p_DirNum6 :=' ';
73    p_MedTxCrUsed6 :=0;
74    p_DirNum7 :=' ';
75    p_MedTxCrUsed7 :=0;
76    p_DirNum8 :=' ';
77    p_MedTxCrUsed8 :=0;
78    p_DirNum9 :=' ';
79    p_MedTxCrUsed9 :=0;
80    p_DirNum10 :=' ';
81    p_MedTxCrUsed10 :=0;
82 
83    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
84    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
85 
86    l_ls_dirnum := trc_LSDirTab.first;
87    while (l_ls_dirnum is not null)
88    loop
89       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
90       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
91       l_count := l_count+1;
92       IF (l_count = l_dir_st) THEN
93          p_DirNum1 := l_ls_dirnum;
94          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
95       ELSIF (l_count = l_dir_st +1) THEN
96          p_DirNum2 := l_ls_dirnum;
97          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
98       ELSIF (l_count = l_dir_st +2) THEN
99          p_DirNum3 := l_ls_dirnum;
100          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
101       ELSIF (l_count = l_dir_st +3) THEN
102          p_DirNum4 := l_ls_dirnum;
103          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
104       ELSIF (l_count = l_dir_st +4) THEN
105          p_DirNum5 := l_ls_dirnum;
106          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
107       ELSIF (l_count = l_dir_st +5) THEN
108          p_DirNum6 := l_ls_dirnum;
109          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
110       ELSIF (l_count = l_dir_st +6) THEN
111          p_DirNum7 := l_ls_dirnum;
112          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
113       ELSIF (l_count = l_dir_st +7) THEN
114          p_DirNum8 := l_ls_dirnum;
115          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
116       ELSIF (l_count = l_dir_st +8) THEN
117          p_DirNum9 := l_ls_dirnum;
118          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
119       ELSIF (l_count = l_dir_st +9) THEN
120          p_DirNum10 := l_ls_dirnum;
121          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
122       END IF;
123 
124       IF (l_count = l_cur_max_dir) THEN
125         EXIT;
126       END IF;
127       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
128    end loop;
129 
130    p_MedCrUsedLS := l_cur_max_dir;
131    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
132    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
133 
134    RETURN 1;
135 
136 EXCEPTION
137    WHEN OTHERS THEN
138       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM1',50);
139       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),50);
140       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),50);
141 
142       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM1: '||TO_CHAR(SQLCODE));
143       hr_utility.raise_error;
144 END ZATXMEDTXCRLMPSM1;
145 
146 FUNCTION ZATXMEDTXCRLMPSM2(
147     p_MedCrUsedLS           OUT NOCOPY NUMBER
148   , p_DirNum1               OUT NOCOPY VARCHAR2
149   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
150   , p_DirNum2               OUT NOCOPY VARCHAR2
151   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
152   , p_DirNum3               OUT NOCOPY VARCHAR2
153   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
154   , p_DirNum4               OUT NOCOPY VARCHAR2
155   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
156   , p_DirNum5               OUT NOCOPY VARCHAR2
157   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
158   , p_DirNum6               OUT NOCOPY VARCHAR2
159   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
160   , p_DirNum7               OUT NOCOPY VARCHAR2
161   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
162   , p_DirNum8               OUT NOCOPY VARCHAR2
163   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
164   , p_DirNum9               OUT NOCOPY VARCHAR2
165   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
166   , p_DirNum10              OUT NOCOPY VARCHAR2
167   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
168   )RETURN NUMBER
169 AS
170 
171   l_chunk         number :=2;
172   l_dir_st        number := 11;
173   l_dir_end       number := 20;
174   l_ls_dirnum     varchar2(100);
175   l_cur_max_dir   number;
176   l_count         number :=0;
177 
178 
179 BEGIN
180    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM2',1);
181 
182    p_DirNum1 :=' ';
183    p_MedTxCrUsed1 :=0;
184    p_DirNum2 :=' ';
185    p_MedTxCrUsed2 :=0;
186    p_DirNum3 :=' ';
187    p_MedTxCrUsed3 :=0;
188    p_DirNum4 :=' ';
189    p_MedTxCrUsed4 :=0;
190    p_DirNum5 :=' ';
191    p_MedTxCrUsed5 :=0;
192    p_DirNum6 :=' ';
193    p_MedTxCrUsed6 :=0;
194    p_DirNum7 :=' ';
195    p_MedTxCrUsed7 :=0;
196    p_DirNum8 :=' ';
197    p_MedTxCrUsed8 :=0;
198    p_DirNum9 :=' ';
199    p_MedTxCrUsed9 :=0;
200    p_DirNum10 :=' ';
201    p_MedTxCrUsed10 :=0;
202 
203    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
204    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
205 
206    l_ls_dirnum := trc_LSDirTab.first;
207    while (l_ls_dirnum is not null)
208    loop
209       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
210       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
211       l_count := l_count+1;
212       IF (l_count = l_dir_st) THEN
213          p_DirNum1 := l_ls_dirnum;
214          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
215       ELSIF (l_count = l_dir_st +1) THEN
216          p_DirNum2 := l_ls_dirnum;
217          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
218       ELSIF (l_count = l_dir_st +2) THEN
219          p_DirNum3 := l_ls_dirnum;
220          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
221       ELSIF (l_count = l_dir_st +3) THEN
222          p_DirNum4 := l_ls_dirnum;
223          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
224       ELSIF (l_count = l_dir_st +4) THEN
225          p_DirNum5 := l_ls_dirnum;
226          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
227       ELSIF (l_count = l_dir_st +5) THEN
228          p_DirNum6 := l_ls_dirnum;
229          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
230       ELSIF (l_count = l_dir_st +6) THEN
231          p_DirNum7 := l_ls_dirnum;
232          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
233       ELSIF (l_count = l_dir_st +7) THEN
234          p_DirNum8 := l_ls_dirnum;
235          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
236       ELSIF (l_count = l_dir_st +8) THEN
237          p_DirNum9 := l_ls_dirnum;
238          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
239       ELSIF (l_count = l_dir_st +9) THEN
240          p_DirNum10 := l_ls_dirnum;
241          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
242       END IF;
243 
244       IF (l_count = l_cur_max_dir) THEN
245         EXIT;
246       END IF;
247       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
248    end loop;
249 
250    p_MedCrUsedLS := l_cur_max_dir;
251    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
252    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
253 
254    RETURN 1;
255 
256 EXCEPTION
257    WHEN OTHERS THEN
258       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM2',51);
259       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),51);
260       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),51);
261 
262       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM2: '||TO_CHAR(SQLCODE));
263       hr_utility.raise_error;
264 END ZATXMEDTXCRLMPSM2;
265 
266 FUNCTION ZATXMEDTXCRLMPSM3(
267     p_MedCrUsedLS           OUT NOCOPY NUMBER
268   , p_DirNum1               OUT NOCOPY VARCHAR2
269   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
270   , p_DirNum2               OUT NOCOPY VARCHAR2
271   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
272   , p_DirNum3               OUT NOCOPY VARCHAR2
273   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
274   , p_DirNum4               OUT NOCOPY VARCHAR2
275   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
276   , p_DirNum5               OUT NOCOPY VARCHAR2
277   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
278   , p_DirNum6               OUT NOCOPY VARCHAR2
279   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
280   , p_DirNum7               OUT NOCOPY VARCHAR2
281   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
282   , p_DirNum8               OUT NOCOPY VARCHAR2
283   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
284   , p_DirNum9               OUT NOCOPY VARCHAR2
285   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
286   , p_DirNum10              OUT NOCOPY VARCHAR2
287   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
288   )RETURN NUMBER
289 AS
290 
291   l_chunk         number :=3;
292   l_dir_st        number := 21;
293   l_dir_end       number := 30;
294   l_ls_dirnum     varchar2(100);
295   l_cur_max_dir   number;
296   l_count         number :=0;
297 
298 
299 BEGIN
300    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM3',1);
301 
302    p_DirNum1 :=' ';
303    p_MedTxCrUsed1 :=0;
304    p_DirNum2 :=' ';
305    p_MedTxCrUsed2 :=0;
306    p_DirNum3 :=' ';
307    p_MedTxCrUsed3 :=0;
308    p_DirNum4 :=' ';
309    p_MedTxCrUsed4 :=0;
310    p_DirNum5 :=' ';
311    p_MedTxCrUsed5 :=0;
312    p_DirNum6 :=' ';
313    p_MedTxCrUsed6 :=0;
314    p_DirNum7 :=' ';
315    p_MedTxCrUsed7 :=0;
316    p_DirNum8 :=' ';
317    p_MedTxCrUsed8 :=0;
318    p_DirNum9 :=' ';
319    p_MedTxCrUsed9 :=0;
320    p_DirNum10 :=' ';
321    p_MedTxCrUsed10 :=0;
322 
323    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
324    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
325 
326    l_ls_dirnum := trc_LSDirTab.first;
327    while (l_ls_dirnum is not null)
328    loop
329       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
330       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
331       l_count := l_count+1;
332       IF (l_count = l_dir_st) THEN
333          p_DirNum1 := l_ls_dirnum;
334          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
335       ELSIF (l_count = l_dir_st +1) THEN
336          p_DirNum2 := l_ls_dirnum;
337          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
338       ELSIF (l_count = l_dir_st +2) THEN
339          p_DirNum3 := l_ls_dirnum;
340          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
341       ELSIF (l_count = l_dir_st +3) THEN
342          p_DirNum4 := l_ls_dirnum;
343          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
344       ELSIF (l_count = l_dir_st +4) THEN
345          p_DirNum5 := l_ls_dirnum;
346          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
347       ELSIF (l_count = l_dir_st +5) THEN
348          p_DirNum6 := l_ls_dirnum;
349          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
350       ELSIF (l_count = l_dir_st +6) THEN
351          p_DirNum7 := l_ls_dirnum;
352          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
353       ELSIF (l_count = l_dir_st +7) THEN
354          p_DirNum8 := l_ls_dirnum;
355          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
356       ELSIF (l_count = l_dir_st +8) THEN
357          p_DirNum9 := l_ls_dirnum;
358          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
359       ELSIF (l_count = l_dir_st +9) THEN
360          p_DirNum10 := l_ls_dirnum;
361          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
362       END IF;
363 
364       IF (l_count = l_cur_max_dir) THEN
365         EXIT;
366       END IF;
367       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
368    end loop;
369 
370    p_MedCrUsedLS := l_cur_max_dir;
371    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
372    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
373 
374    RETURN 1;
375 
376 EXCEPTION
377    WHEN OTHERS THEN
378       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM3',52);
379       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),52);
380       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),52);
381 
382       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM3: '||TO_CHAR(SQLCODE));
383       hr_utility.raise_error;
384 END ZATXMEDTXCRLMPSM3;
385 
386 
387 FUNCTION ZATXMEDTXCRLMPSM4(
388     p_MedCrUsedLS           OUT NOCOPY NUMBER
389   , p_DirNum1               OUT NOCOPY VARCHAR2
390   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
391   , p_DirNum2               OUT NOCOPY VARCHAR2
392   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
393   , p_DirNum3               OUT NOCOPY VARCHAR2
394   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
395   , p_DirNum4               OUT NOCOPY VARCHAR2
396   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
397   , p_DirNum5               OUT NOCOPY VARCHAR2
398   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
399   , p_DirNum6               OUT NOCOPY VARCHAR2
400   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
401   , p_DirNum7               OUT NOCOPY VARCHAR2
402   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
403   , p_DirNum8               OUT NOCOPY VARCHAR2
404   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
405   , p_DirNum9               OUT NOCOPY VARCHAR2
406   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
407   , p_DirNum10              OUT NOCOPY VARCHAR2
408   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
409   )RETURN NUMBER
410 AS
411 
412   l_chunk         number :=4;
413   l_dir_st        number := 31;
414   l_dir_end       number := 40;
415   l_ls_dirnum     varchar2(100);
416   l_cur_max_dir   number;
417   l_count         number :=0;
418 
419 
420 BEGIN
421    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM4',1);
422 
423    p_DirNum1 :=' ';
424    p_MedTxCrUsed1 :=0;
425    p_DirNum2 :=' ';
426    p_MedTxCrUsed2 :=0;
427    p_DirNum3 :=' ';
428    p_MedTxCrUsed3 :=0;
429    p_DirNum4 :=' ';
430    p_MedTxCrUsed4 :=0;
431    p_DirNum5 :=' ';
432    p_MedTxCrUsed5 :=0;
433    p_DirNum6 :=' ';
434    p_MedTxCrUsed6 :=0;
435    p_DirNum7 :=' ';
436    p_MedTxCrUsed7 :=0;
437    p_DirNum8 :=' ';
438    p_MedTxCrUsed8 :=0;
439    p_DirNum9 :=' ';
440    p_MedTxCrUsed9 :=0;
441    p_DirNum10 :=' ';
442    p_MedTxCrUsed10 :=0;
443 
444    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
445    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
446 
447    l_ls_dirnum := trc_LSDirTab.first;
448    while (l_ls_dirnum is not null)
449    loop
450       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
451       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
452       l_count := l_count+1;
453       IF (l_count = l_dir_st) THEN
454          p_DirNum1 := l_ls_dirnum;
455          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
456       ELSIF (l_count = l_dir_st +1) THEN
457          p_DirNum2 := l_ls_dirnum;
458          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
459       ELSIF (l_count = l_dir_st +2) THEN
460          p_DirNum3 := l_ls_dirnum;
461          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
462       ELSIF (l_count = l_dir_st +3) THEN
463          p_DirNum4 := l_ls_dirnum;
464          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
465       ELSIF (l_count = l_dir_st +4) THEN
466          p_DirNum5 := l_ls_dirnum;
467          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
468       ELSIF (l_count = l_dir_st +5) THEN
469          p_DirNum6 := l_ls_dirnum;
470          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
471       ELSIF (l_count = l_dir_st +6) THEN
472          p_DirNum7 := l_ls_dirnum;
473          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
474       ELSIF (l_count = l_dir_st +7) THEN
475          p_DirNum8 := l_ls_dirnum;
476          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
477       ELSIF (l_count = l_dir_st +8) THEN
478          p_DirNum9 := l_ls_dirnum;
479          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
480       ELSIF (l_count = l_dir_st +9) THEN
481          p_DirNum10 := l_ls_dirnum;
482          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
483       END IF;
484 
485       IF (l_count = l_cur_max_dir) THEN
486         EXIT;
487       END IF;
488       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
489    end loop;
490 
491    p_MedCrUsedLS := l_cur_max_dir;
492    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
493    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
494 
495    RETURN 1;
496 
497 EXCEPTION
498    WHEN OTHERS THEN
499       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM4',53);
500       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),53);
501       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),53);
502 
503       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM4: '||TO_CHAR(SQLCODE));
504       hr_utility.raise_error;
505 END ZATXMEDTXCRLMPSM4;
506 
507 FUNCTION ZATXMEDTXCRLMPSM5(
508     p_MedCrUsedLS           OUT NOCOPY NUMBER
509   , p_DirNum1               OUT NOCOPY VARCHAR2
510   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
511   , p_DirNum2               OUT NOCOPY VARCHAR2
512   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
513   , p_DirNum3               OUT NOCOPY VARCHAR2
514   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
515   , p_DirNum4               OUT NOCOPY VARCHAR2
516   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
517   , p_DirNum5               OUT NOCOPY VARCHAR2
518   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
519   , p_DirNum6               OUT NOCOPY VARCHAR2
520   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
521   , p_DirNum7               OUT NOCOPY VARCHAR2
522   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
523   , p_DirNum8               OUT NOCOPY VARCHAR2
524   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
525   , p_DirNum9               OUT NOCOPY VARCHAR2
526   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
527   , p_DirNum10              OUT NOCOPY VARCHAR2
528   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
529   )RETURN NUMBER
530 AS
531 
532   l_chunk         number :=5;
533   l_dir_st        number := 41;
534   l_dir_end       number := 50;
535   l_ls_dirnum     varchar2(100);
536   l_cur_max_dir   number;
537   l_count         number :=0;
538 
539 
540 BEGIN
541    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM5',1);
542 
543    p_DirNum1 :=' ';
544    p_MedTxCrUsed1 :=0;
545    p_DirNum2 :=' ';
546    p_MedTxCrUsed2 :=0;
547    p_DirNum3 :=' ';
548    p_MedTxCrUsed3 :=0;
549    p_DirNum4 :=' ';
550    p_MedTxCrUsed4 :=0;
551    p_DirNum5 :=' ';
552    p_MedTxCrUsed5 :=0;
553    p_DirNum6 :=' ';
554    p_MedTxCrUsed6 :=0;
555    p_DirNum7 :=' ';
556    p_MedTxCrUsed7 :=0;
557    p_DirNum8 :=' ';
558    p_MedTxCrUsed8 :=0;
559    p_DirNum9 :=' ';
560    p_MedTxCrUsed9 :=0;
561    p_DirNum10 :=' ';
562    p_MedTxCrUsed10 :=0;
563 
564    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
565    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
566 
567    l_ls_dirnum := trc_LSDirTab.first;
568    while (l_ls_dirnum is not null)
569    loop
570       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
571       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
572       l_count := l_count+1;
573       IF (l_count = l_dir_st) THEN
574          p_DirNum1 := l_ls_dirnum;
575          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
576       ELSIF (l_count = l_dir_st +1) THEN
577          p_DirNum2 := l_ls_dirnum;
578          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
579       ELSIF (l_count = l_dir_st +2) THEN
580          p_DirNum3 := l_ls_dirnum;
581          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
582       ELSIF (l_count = l_dir_st +3) THEN
583          p_DirNum4 := l_ls_dirnum;
584          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
585       ELSIF (l_count = l_dir_st +4) THEN
586          p_DirNum5 := l_ls_dirnum;
587          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
588       ELSIF (l_count = l_dir_st +5) THEN
589          p_DirNum6 := l_ls_dirnum;
590          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
591       ELSIF (l_count = l_dir_st +6) THEN
592          p_DirNum7 := l_ls_dirnum;
593          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
594       ELSIF (l_count = l_dir_st +7) THEN
595          p_DirNum8 := l_ls_dirnum;
596          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
597       ELSIF (l_count = l_dir_st +8) THEN
598          p_DirNum9 := l_ls_dirnum;
599          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
600       ELSIF (l_count = l_dir_st +9) THEN
601          p_DirNum10 := l_ls_dirnum;
602          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
603       END IF;
604 
605       IF (l_count = l_cur_max_dir) THEN
606         EXIT;
607       END IF;
608       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
609    end loop;
610 
611    p_MedCrUsedLS := l_cur_max_dir;
612    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
613    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
614 
615    RETURN 1;
616 
617 EXCEPTION
618    WHEN OTHERS THEN
619       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM5',54);
620       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),54);
621       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),54);
622 
623       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM5: '||TO_CHAR(SQLCODE));
624       hr_utility.raise_error;
625 END ZATXMEDTXCRLMPSM5;
626 
627 FUNCTION ZATXMEDTXCRLMPSM6(
628     p_MedCrUsedLS           OUT NOCOPY NUMBER
629   , p_DirNum1               OUT NOCOPY VARCHAR2
630   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
631   , p_DirNum2               OUT NOCOPY VARCHAR2
632   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
633   , p_DirNum3               OUT NOCOPY VARCHAR2
634   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
635   , p_DirNum4               OUT NOCOPY VARCHAR2
636   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
637   , p_DirNum5               OUT NOCOPY VARCHAR2
638   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
639   , p_DirNum6               OUT NOCOPY VARCHAR2
640   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
641   , p_DirNum7               OUT NOCOPY VARCHAR2
642   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
643   , p_DirNum8               OUT NOCOPY VARCHAR2
644   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
645   , p_DirNum9               OUT NOCOPY VARCHAR2
646   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
647   , p_DirNum10              OUT NOCOPY VARCHAR2
648   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
649   )RETURN NUMBER
650 AS
651 
652   l_chunk         number :=6;
653   l_dir_st        number := 51;
654   l_dir_end       number := 60;
655   l_ls_dirnum     varchar2(100);
656   l_cur_max_dir   number;
657   l_count         number :=0;
658 
659 
660 BEGIN
661    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM6',1);
662 
663    p_DirNum1 :=' ';
664    p_MedTxCrUsed1 :=0;
665    p_DirNum2 :=' ';
666    p_MedTxCrUsed2 :=0;
667    p_DirNum3 :=' ';
668    p_MedTxCrUsed3 :=0;
669    p_DirNum4 :=' ';
670    p_MedTxCrUsed4 :=0;
671    p_DirNum5 :=' ';
672    p_MedTxCrUsed5 :=0;
673    p_DirNum6 :=' ';
674    p_MedTxCrUsed6 :=0;
675    p_DirNum7 :=' ';
676    p_MedTxCrUsed7 :=0;
677    p_DirNum8 :=' ';
678    p_MedTxCrUsed8 :=0;
679    p_DirNum9 :=' ';
680    p_MedTxCrUsed9 :=0;
681    p_DirNum10 :=' ';
682    p_MedTxCrUsed10 :=0;
683 
684    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
685    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
686 
687    l_ls_dirnum := trc_LSDirTab.first;
688    while (l_ls_dirnum is not null)
689    loop
690       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
691       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
692       l_count := l_count+1;
693       IF (l_count = l_dir_st) THEN
694          p_DirNum1 := l_ls_dirnum;
695          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
696       ELSIF (l_count = l_dir_st +1) THEN
697          p_DirNum2 := l_ls_dirnum;
698          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
699       ELSIF (l_count = l_dir_st +2) THEN
700          p_DirNum3 := l_ls_dirnum;
701          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
702       ELSIF (l_count = l_dir_st +3) THEN
703          p_DirNum4 := l_ls_dirnum;
704          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
705       ELSIF (l_count = l_dir_st +4) THEN
706          p_DirNum5 := l_ls_dirnum;
707          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
708       ELSIF (l_count = l_dir_st +5) THEN
709          p_DirNum6 := l_ls_dirnum;
710          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
711       ELSIF (l_count = l_dir_st +6) THEN
712          p_DirNum7 := l_ls_dirnum;
713          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
714       ELSIF (l_count = l_dir_st +7) THEN
715          p_DirNum8 := l_ls_dirnum;
716          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
717       ELSIF (l_count = l_dir_st +8) THEN
718          p_DirNum9 := l_ls_dirnum;
719          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
720       ELSIF (l_count = l_dir_st +9) THEN
721          p_DirNum10 := l_ls_dirnum;
722          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
723       END IF;
724 
725       IF (l_count = l_cur_max_dir) THEN
726         EXIT;
727       END IF;
728       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
729    end loop;
730 
731    p_MedCrUsedLS := l_cur_max_dir;
732    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
733    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
734 
735    RETURN 1;
736 
737 EXCEPTION
738    WHEN OTHERS THEN
739       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM6',55);
740       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),55);
741       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),55);
742 
743       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM6: '||TO_CHAR(SQLCODE));
744       hr_utility.raise_error;
745 END ZATXMEDTXCRLMPSM6;
746 
747 
748 FUNCTION ZATXMEDTXCRLMPSM7(
749     p_MedCrUsedLS           OUT NOCOPY NUMBER
750   , p_DirNum1               OUT NOCOPY VARCHAR2
751   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
752   , p_DirNum2               OUT NOCOPY VARCHAR2
753   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
754   , p_DirNum3               OUT NOCOPY VARCHAR2
755   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
756   , p_DirNum4               OUT NOCOPY VARCHAR2
757   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
758   , p_DirNum5               OUT NOCOPY VARCHAR2
759   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
760   , p_DirNum6               OUT NOCOPY VARCHAR2
761   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
762   , p_DirNum7               OUT NOCOPY VARCHAR2
763   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
764   , p_DirNum8               OUT NOCOPY VARCHAR2
765   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
766   , p_DirNum9               OUT NOCOPY VARCHAR2
767   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
768   , p_DirNum10              OUT NOCOPY VARCHAR2
769   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
770   )RETURN NUMBER
771 AS
772 
773   l_chunk         number :=7;
774   l_dir_st        number := 61;
775   l_dir_end       number := 70;
776   l_ls_dirnum     varchar2(100);
777   l_cur_max_dir   number;
778   l_count         number :=0;
779 
780 
781 BEGIN
782    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM7',1);
783 
784    p_DirNum1 :=' ';
785    p_MedTxCrUsed1 :=0;
786    p_DirNum2 :=' ';
787    p_MedTxCrUsed2 :=0;
788    p_DirNum3 :=' ';
789    p_MedTxCrUsed3 :=0;
790    p_DirNum4 :=' ';
791    p_MedTxCrUsed4 :=0;
792    p_DirNum5 :=' ';
793    p_MedTxCrUsed5 :=0;
794    p_DirNum6 :=' ';
795    p_MedTxCrUsed6 :=0;
796    p_DirNum7 :=' ';
797    p_MedTxCrUsed7 :=0;
798    p_DirNum8 :=' ';
799    p_MedTxCrUsed8 :=0;
800    p_DirNum9 :=' ';
801    p_MedTxCrUsed9 :=0;
802    p_DirNum10 :=' ';
803    p_MedTxCrUsed10 :=0;
804 
805    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
806    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
807 
808    l_ls_dirnum := trc_LSDirTab.first;
809    while (l_ls_dirnum is not null)
810    loop
811       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
812       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
813       l_count := l_count+1;
814       IF (l_count = l_dir_st) THEN
815          p_DirNum1 := l_ls_dirnum;
816          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
817       ELSIF (l_count = l_dir_st +1) THEN
818          p_DirNum2 := l_ls_dirnum;
819          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
820       ELSIF (l_count = l_dir_st +2) THEN
821          p_DirNum3 := l_ls_dirnum;
822          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
823       ELSIF (l_count = l_dir_st +3) THEN
824          p_DirNum4 := l_ls_dirnum;
825          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
826       ELSIF (l_count = l_dir_st +4) THEN
827          p_DirNum5 := l_ls_dirnum;
828          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
829       ELSIF (l_count = l_dir_st +5) THEN
830          p_DirNum6 := l_ls_dirnum;
831          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
832       ELSIF (l_count = l_dir_st +6) THEN
833          p_DirNum7 := l_ls_dirnum;
834          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
835       ELSIF (l_count = l_dir_st +7) THEN
836          p_DirNum8 := l_ls_dirnum;
837          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
838       ELSIF (l_count = l_dir_st +8) THEN
839          p_DirNum9 := l_ls_dirnum;
840          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
841       ELSIF (l_count = l_dir_st +9) THEN
842          p_DirNum10 := l_ls_dirnum;
843          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
844       END IF;
845 
846       IF (l_count = l_cur_max_dir) THEN
847         EXIT;
848       END IF;
849       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
850    end loop;
851 
852    p_MedCrUsedLS := l_cur_max_dir;
853    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
854    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
855 
856    RETURN 1;
857 
858 EXCEPTION
859    WHEN OTHERS THEN
860       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM7',56);
861       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),56);
862       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),56);
863 
864       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM7: '||TO_CHAR(SQLCODE));
865       hr_utility.raise_error;
866 END ZATXMEDTXCRLMPSM7;
867 
868 
869 FUNCTION ZATXMEDTXCRLMPSM8(
870     p_MedCrUsedLS           OUT NOCOPY NUMBER
871   , p_DirNum1               OUT NOCOPY VARCHAR2
872   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
873   , p_DirNum2               OUT NOCOPY VARCHAR2
874   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
875   , p_DirNum3               OUT NOCOPY VARCHAR2
876   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
877   , p_DirNum4               OUT NOCOPY VARCHAR2
878   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
879   , p_DirNum5               OUT NOCOPY VARCHAR2
880   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
881   , p_DirNum6               OUT NOCOPY VARCHAR2
882   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
883   , p_DirNum7               OUT NOCOPY VARCHAR2
884   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
885   , p_DirNum8               OUT NOCOPY VARCHAR2
886   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
887   , p_DirNum9               OUT NOCOPY VARCHAR2
888   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
889   , p_DirNum10              OUT NOCOPY VARCHAR2
890   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
891   )RETURN NUMBER
892 AS
893 
894   l_chunk         number :=8;
895   l_dir_st        number := 71;
896   l_dir_end       number := 80;
897   l_ls_dirnum     varchar2(100);
898   l_cur_max_dir   number;
899   l_count         number :=0;
900 
901 
902 BEGIN
903    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM8',1);
904 
905    p_DirNum1 :=' ';
906    p_MedTxCrUsed1 :=0;
907    p_DirNum2 :=' ';
908    p_MedTxCrUsed2 :=0;
909    p_DirNum3 :=' ';
910    p_MedTxCrUsed3 :=0;
911    p_DirNum4 :=' ';
912    p_MedTxCrUsed4 :=0;
913    p_DirNum5 :=' ';
914    p_MedTxCrUsed5 :=0;
915    p_DirNum6 :=' ';
916    p_MedTxCrUsed6 :=0;
917    p_DirNum7 :=' ';
918    p_MedTxCrUsed7 :=0;
919    p_DirNum8 :=' ';
920    p_MedTxCrUsed8 :=0;
921    p_DirNum9 :=' ';
922    p_MedTxCrUsed9 :=0;
923    p_DirNum10 :=' ';
924    p_MedTxCrUsed10 :=0;
925 
926    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
927    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
928 
929    l_ls_dirnum := trc_LSDirTab.first;
930    while (l_ls_dirnum is not null)
931    loop
932       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
933       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
934       l_count := l_count+1;
935       IF (l_count = l_dir_st) THEN
936          p_DirNum1 := l_ls_dirnum;
937          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
938       ELSIF (l_count = l_dir_st +1) THEN
939          p_DirNum2 := l_ls_dirnum;
940          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
941       ELSIF (l_count = l_dir_st +2) THEN
942          p_DirNum3 := l_ls_dirnum;
943          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
944       ELSIF (l_count = l_dir_st +3) THEN
945          p_DirNum4 := l_ls_dirnum;
946          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
947       ELSIF (l_count = l_dir_st +4) THEN
948          p_DirNum5 := l_ls_dirnum;
949          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
950       ELSIF (l_count = l_dir_st +5) THEN
951          p_DirNum6 := l_ls_dirnum;
952          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
953       ELSIF (l_count = l_dir_st +6) THEN
954          p_DirNum7 := l_ls_dirnum;
955          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
956       ELSIF (l_count = l_dir_st +7) THEN
957          p_DirNum8 := l_ls_dirnum;
958          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
959       ELSIF (l_count = l_dir_st +8) THEN
960          p_DirNum9 := l_ls_dirnum;
961          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
962       ELSIF (l_count = l_dir_st +9) THEN
963          p_DirNum10 := l_ls_dirnum;
964          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
965       END IF;
966 
967       IF (l_count = l_cur_max_dir) THEN
968         EXIT;
969       END IF;
970       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
971    end loop;
972 
973    p_MedCrUsedLS := l_cur_max_dir;
974    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
975    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
976 
977    RETURN 1;
978 
979 EXCEPTION
980    WHEN OTHERS THEN
981       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM8',57);
982       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),57);
983       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),57);
984 
985       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM8: '||TO_CHAR(SQLCODE));
986       hr_utility.raise_error;
987 END ZATXMEDTXCRLMPSM8;
988 
989 
990 FUNCTION ZATXMEDTXCRLMPSM9(
991     p_MedCrUsedLS           OUT NOCOPY NUMBER
992   , p_DirNum1               OUT NOCOPY VARCHAR2
993   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
994   , p_DirNum2               OUT NOCOPY VARCHAR2
995   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
996   , p_DirNum3               OUT NOCOPY VARCHAR2
997   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
998   , p_DirNum4               OUT NOCOPY VARCHAR2
999   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
1000   , p_DirNum5               OUT NOCOPY VARCHAR2
1001   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
1002   , p_DirNum6               OUT NOCOPY VARCHAR2
1003   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
1004   , p_DirNum7               OUT NOCOPY VARCHAR2
1005   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
1006   , p_DirNum8               OUT NOCOPY VARCHAR2
1007   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
1008   , p_DirNum9               OUT NOCOPY VARCHAR2
1009   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
1010   , p_DirNum10              OUT NOCOPY VARCHAR2
1011   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
1012   )RETURN NUMBER
1013 AS
1014 
1015   l_chunk         number :=9;
1016   l_dir_st        number := 81;
1017   l_dir_end       number := 90;
1018   l_ls_dirnum     varchar2(100);
1019   l_cur_max_dir   number;
1020   l_count         number :=0;
1021 
1022 
1023 BEGIN
1024    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM9',1);
1025 
1026    p_DirNum1 :=' ';
1027    p_MedTxCrUsed1 :=0;
1028    p_DirNum2 :=' ';
1029    p_MedTxCrUsed2 :=0;
1030    p_DirNum3 :=' ';
1031    p_MedTxCrUsed3 :=0;
1032    p_DirNum4 :=' ';
1033    p_MedTxCrUsed4 :=0;
1034    p_DirNum5 :=' ';
1035    p_MedTxCrUsed5 :=0;
1036    p_DirNum6 :=' ';
1037    p_MedTxCrUsed6 :=0;
1038    p_DirNum7 :=' ';
1039    p_MedTxCrUsed7 :=0;
1040    p_DirNum8 :=' ';
1041    p_MedTxCrUsed8 :=0;
1042    p_DirNum9 :=' ';
1043    p_MedTxCrUsed9 :=0;
1044    p_DirNum10 :=' ';
1045    p_MedTxCrUsed10 :=0;
1046 
1047    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
1048    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
1049 
1050    l_ls_dirnum := trc_LSDirTab.first;
1051    while (l_ls_dirnum is not null)
1052    loop
1053       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
1054       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
1055       l_count := l_count+1;
1056       IF (l_count = l_dir_st) THEN
1057          p_DirNum1 := l_ls_dirnum;
1058          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1059       ELSIF (l_count = l_dir_st +1) THEN
1060          p_DirNum2 := l_ls_dirnum;
1061          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1062       ELSIF (l_count = l_dir_st +2) THEN
1063          p_DirNum3 := l_ls_dirnum;
1064          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1065       ELSIF (l_count = l_dir_st +3) THEN
1066          p_DirNum4 := l_ls_dirnum;
1067          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1068       ELSIF (l_count = l_dir_st +4) THEN
1069          p_DirNum5 := l_ls_dirnum;
1070          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1071       ELSIF (l_count = l_dir_st +5) THEN
1072          p_DirNum6 := l_ls_dirnum;
1073          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1074       ELSIF (l_count = l_dir_st +6) THEN
1075          p_DirNum7 := l_ls_dirnum;
1076          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1077       ELSIF (l_count = l_dir_st +7) THEN
1078          p_DirNum8 := l_ls_dirnum;
1079          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1080       ELSIF (l_count = l_dir_st +8) THEN
1081          p_DirNum9 := l_ls_dirnum;
1082          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1083       ELSIF (l_count = l_dir_st +9) THEN
1084          p_DirNum10 := l_ls_dirnum;
1085          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1086       END IF;
1087 
1088       IF (l_count = l_cur_max_dir) THEN
1089         EXIT;
1090       END IF;
1091       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
1092    end loop;
1093 
1094    p_MedCrUsedLS := l_cur_max_dir;
1095    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
1096    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
1097 
1098    RETURN 1;
1099 
1100 EXCEPTION
1101    WHEN OTHERS THEN
1102       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM9',58);
1103       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),58);
1104       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),58);
1105 
1106       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM9: '||TO_CHAR(SQLCODE));
1107       hr_utility.raise_error;
1108 END ZATXMEDTXCRLMPSM9;
1109 
1110 
1111 FUNCTION ZATXMEDTXCRLMPSM10(
1112     p_MedCrUsedLS           OUT NOCOPY NUMBER
1113   , p_DirNum1               OUT NOCOPY VARCHAR2
1114   , p_MedTxCrUsed1          OUT NOCOPY NUMBER
1115   , p_DirNum2               OUT NOCOPY VARCHAR2
1116   , p_MedTxCrUsed2          OUT NOCOPY NUMBER
1117   , p_DirNum3               OUT NOCOPY VARCHAR2
1118   , p_MedTxCrUsed3          OUT NOCOPY NUMBER
1119   , p_DirNum4               OUT NOCOPY VARCHAR2
1120   , p_MedTxCrUsed4          OUT NOCOPY NUMBER
1121   , p_DirNum5               OUT NOCOPY VARCHAR2
1122   , p_MedTxCrUsed5          OUT NOCOPY NUMBER
1123   , p_DirNum6               OUT NOCOPY VARCHAR2
1124   , p_MedTxCrUsed6          OUT NOCOPY NUMBER
1125   , p_DirNum7               OUT NOCOPY VARCHAR2
1126   , p_MedTxCrUsed7          OUT NOCOPY NUMBER
1127   , p_DirNum8               OUT NOCOPY VARCHAR2
1128   , p_MedTxCrUsed8          OUT NOCOPY NUMBER
1129   , p_DirNum9               OUT NOCOPY VARCHAR2
1130   , p_MedTxCrUsed9          OUT NOCOPY NUMBER
1131   , p_DirNum10              OUT NOCOPY VARCHAR2
1132   , p_MedTxCrUsed10         OUT NOCOPY NUMBER
1133   )RETURN NUMBER
1134 AS
1135 
1136   l_chunk         number :=10;
1137   l_dir_st        number := 91;
1138   l_dir_end       number := 100;
1139   l_ls_dirnum     varchar2(100);
1140   l_cur_max_dir   number;
1141   l_count         number :=0;
1142 
1143 
1144 BEGIN
1145    hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM10',1);
1146 
1147    p_DirNum1 :=' ';
1148    p_MedTxCrUsed1 :=0;
1149    p_DirNum2 :=' ';
1150    p_MedTxCrUsed2 :=0;
1151    p_DirNum3 :=' ';
1152    p_MedTxCrUsed3 :=0;
1153    p_DirNum4 :=' ';
1154    p_MedTxCrUsed4 :=0;
1155    p_DirNum5 :=' ';
1156    p_MedTxCrUsed5 :=0;
1157    p_DirNum6 :=' ';
1158    p_MedTxCrUsed6 :=0;
1159    p_DirNum7 :=' ';
1160    p_MedTxCrUsed7 :=0;
1161    p_DirNum8 :=' ';
1162    p_MedTxCrUsed8 :=0;
1163    p_DirNum9 :=' ';
1164    p_MedTxCrUsed9 :=0;
1165    p_DirNum10 :=' ';
1166    p_MedTxCrUsed10 :=0;
1167 
1168    l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
1169    hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
1170 
1171    l_ls_dirnum := trc_LSDirTab.first;
1172    while (l_ls_dirnum is not null)
1173    loop
1174       hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
1175       hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
1176       l_count := l_count+1;
1177       IF (l_count = l_dir_st) THEN
1178          p_DirNum1 := l_ls_dirnum;
1179          p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1180       ELSIF (l_count = l_dir_st +1) THEN
1181          p_DirNum2 := l_ls_dirnum;
1182          p_MedTxCrUsed2 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1183       ELSIF (l_count = l_dir_st +2) THEN
1184          p_DirNum3 := l_ls_dirnum;
1185          p_MedTxCrUsed3 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1186       ELSIF (l_count = l_dir_st +3) THEN
1187          p_DirNum4 := l_ls_dirnum;
1188          p_MedTxCrUsed4 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1189       ELSIF (l_count = l_dir_st +4) THEN
1190          p_DirNum5 := l_ls_dirnum;
1191          p_MedTxCrUsed5 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1192       ELSIF (l_count = l_dir_st +5) THEN
1193          p_DirNum6 := l_ls_dirnum;
1194          p_MedTxCrUsed6 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1195       ELSIF (l_count = l_dir_st +6) THEN
1196          p_DirNum7 := l_ls_dirnum;
1197          p_MedTxCrUsed7 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1198       ELSIF (l_count = l_dir_st +7) THEN
1199          p_DirNum8 := l_ls_dirnum;
1200          p_MedTxCrUsed8 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1201       ELSIF (l_count = l_dir_st +8) THEN
1202          p_DirNum9 := l_ls_dirnum;
1203          p_MedTxCrUsed9 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1204       ELSIF (l_count = l_dir_st +9) THEN
1205          p_DirNum10 := l_ls_dirnum;
1206          p_MedTxCrUsed10 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
1207       END IF;
1208 
1209       IF (l_count = l_cur_max_dir) THEN
1210         EXIT;
1211       END IF;
1212       l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
1213    end loop;
1214 
1215    p_MedCrUsedLS := l_cur_max_dir;
1216    hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
1217    hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
1218 
1219    RETURN 1;
1220 
1221 EXCEPTION
1222    WHEN OTHERS THEN
1223       hr_utility.set_location('PY_ZA_TX_LS.ZATXMEDTXCRLMPSM10',59);
1224       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),59);
1225       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),59);
1226 
1227       hr_utility.set_message(801, 'PY_ZA_TX_LS.ZATXMEDTXCRLMPSM10: '||TO_CHAR(SQLCODE));
1228       hr_utility.raise_error;
1229 END ZATXMEDTXCRLMPSM10;
1230 
1231 
1232 -- Bug 14376752
1233 FUNCTION NetTxbSklDirNum(
1234  p_chunk_num  IN NUMBER
1235 ,p_DirNum1    OUT NOCOPY VARCHAR2
1236 ,p_DirNum2    OUT NOCOPY VARCHAR2
1237 ,p_DirNum3    OUT NOCOPY VARCHAR2
1238 ,p_DirNum4    OUT NOCOPY VARCHAR2
1239 ,p_DirNum5    OUT NOCOPY VARCHAR2
1240 ,p_DirNum6    OUT NOCOPY VARCHAR2
1241 ,p_DirNum7    OUT NOCOPY VARCHAR2
1242 ,p_DirNum8    OUT NOCOPY VARCHAR2
1243 ,p_DirNum9    OUT NOCOPY VARCHAR2
1244 ,p_DirNum10   OUT NOCOPY VARCHAR2
1245 ,p_DirNum11   OUT NOCOPY VARCHAR2
1246 ,p_DirNum12   OUT NOCOPY VARCHAR2
1247 ,p_DirNum13   OUT NOCOPY VARCHAR2
1248 ,p_DirNum14   OUT NOCOPY VARCHAR2
1249 ,p_DirNum15   OUT NOCOPY VARCHAR2
1250 )RETURN NUMBER
1251 AS
1252 
1253 BEGIN
1254 
1255  IF  p_chunk_num = 1 THEN
1256 
1257 	    p_DirNum1  := trc_LSSklDirNumTab(1);
1258 	    p_DirNum2  := trc_LSSklDirNumTab(2);
1259 	    p_DirNum3  := trc_LSSklDirNumTab(3);
1260 	    p_DirNum4  := trc_LSSklDirNumTab(4);
1261 	    p_DirNum5  := trc_LSSklDirNumTab(5);
1262 	    p_DirNum6  := trc_LSSklDirNumTab(6);
1263 	    p_DirNum7  := trc_LSSklDirNumTab(7);
1264 	    p_DirNum8  := trc_LSSklDirNumTab(8);
1265 	    p_DirNum9  := trc_LSSklDirNumTab(9);
1266 	    p_DirNum10 := trc_LSSklDirNumTab(10);
1267 	    p_DirNum11 := trc_LSSklDirNumTab(11);
1268 	    p_DirNum12 := trc_LSSklDirNumTab(12);
1269 	    p_DirNum13 := trc_LSSklDirNumTab(13);
1270 	    p_DirNum14 := trc_LSSklDirNumTab(14);
1271                               p_DirNum15 := trc_LSSklDirNumTab(15);
1272 
1273  ELSIF p_chunk_num = 2 THEN
1274 
1275 	    p_DirNum1  := trc_LSSklDirNumTab(16);
1276 	    p_DirNum2  := trc_LSSklDirNumTab(17);
1277 	    p_DirNum3  := trc_LSSklDirNumTab(18);
1278 	    p_DirNum4  := trc_LSSklDirNumTab(19);
1279 	    p_DirNum5  := trc_LSSklDirNumTab(20);
1280 	    p_DirNum6  := trc_LSSklDirNumTab(21);
1281 	    p_DirNum7  := trc_LSSklDirNumTab(22);
1282 	    p_DirNum8  := trc_LSSklDirNumTab(23);
1283 	    p_DirNum9  := trc_LSSklDirNumTab(24);
1284 	    p_DirNum10 := trc_LSSklDirNumTab(25);
1285 	    p_DirNum11 := trc_LSSklDirNumTab(26);
1286 	    p_DirNum12 := trc_LSSklDirNumTab(27);
1287 	    p_DirNum13 := trc_LSSklDirNumTab(28);
1288 	    p_DirNum14 := trc_LSSklDirNumTab(29);
1289                               p_DirNum15 := trc_LSSklDirNumTab(30);
1290 
1291  END IF;
1292 
1293  RETURN trc_LScount ;
1294 
1295 EXCEPTION
1296    WHEN OTHERS THEN
1297       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),50);
1298       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),50);
1299       hr_utility.raise_error;
1300 END NetTxbSklDirNum;
1301 
1302 FUNCTION LSNetTxbIncUpd(
1303  p_Dir_Num         IN VARCHAR2
1304 ,p_Dir_LSNetTxbInc OUT NOCOPY NUMBER
1305 )RETURN NUMBER
1306 AS
1307 
1308 BEGIN
1309 
1310        p_Dir_LSNetTxbInc := trc_LSNetTxbIncTab(p_Dir_Num).LSNtiUpdFig;
1311 
1312 RETURN 1;
1313 
1314 EXCEPTION
1315    WHEN OTHERS THEN
1316       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),51);
1317       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),51);
1318       hr_utility.raise_error;
1319 END LSNetTxbIncUpd;
1320 
1321 
1322 
1323 FUNCTION LSSkillsLevy(
1324  p_Dir_Num          IN VARCHAR2
1325 ,p_Dir_LSSkillsLevy OUT NOCOPY NUMBER
1326 )RETURN NUMBER
1327 AS
1328 
1329 BEGIN
1330 
1331        p_Dir_LSSkillsLevy := trc_LSNetTxbIncTab(p_Dir_Num).LSSkl;
1332 
1333 RETURN 1;
1334 
1335 EXCEPTION
1336    WHEN OTHERS THEN
1337       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),52);
1338       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),52);
1339       hr_utility.raise_error;
1340 END LSSkillsLevy;
1341 
1342 FUNCTION LSDirCount RETURN NUMBER
1343 AS
1344 l_count NUMBER;
1345 
1346 BEGIN
1347 
1348 l_count := trc_LScount ;
1349 
1350 RETURN l_count;
1351 
1352 EXCEPTION
1353    WHEN OTHERS THEN
1354       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),53);
1355       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),53);
1356       hr_utility.raise_error;
1357 END LSDirCount;
1358 
1359 FUNCTION LSDirNetTxbInc(
1360  p_Dir_Num               IN VARCHAR2
1361 ,p_LSNetTxbInc           OUT NOCOPY NUMBER
1362 ) RETURN NUMBER
1363 AS
1364 
1365 BEGIN
1366 
1367 hr_utility.set_location('PY_ZA_TX_LS.LSDirNetTxbInc',1);
1368 hr_utility.set_location('Processing Directive Number:     '|| p_Dir_Num,1);
1369 
1370 p_LSNetTxbInc := trc_LSNetTxbIncTab(p_Dir_Num).LSTxbIncMTD;
1371 
1372 hr_utility.set_location('p_LSNetTxbInc: '|| p_LSNetTxbInc,1);
1373 
1374 RETURN 1;
1375 
1376 EXCEPTION
1377    WHEN OTHERS THEN
1378       hr_utility.set_location('Sql error code: '||TO_CHAR(SQLCODE),54);
1379       hr_utility.set_location('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100),54);
1380       hr_utility.raise_error;
1381 END LSDirNetTxbInc;
1382 
1383 
1384 END PY_ZA_TX_LS;