DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_TM_LABOR_SCHEDULE_PVT_W

Source


1 package body cs_tm_labor_schedule_pvt_w as
2   /* $Header: cstmlbwshb.pls 120.0 2012/01/03 07:41:56 shachoud noship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5   rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6   rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7 
8   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9   function rosetta_g_miss_date_in_map(d date) return date as
10   begin
11     if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12     if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13     return d;
14   end;
15 
16   procedure rosetta_table_copy_in_p1(t out nocopy cs_tm_labor_schedule_pvt.tm_schedule_tbl_type, a0 JTF_NUMBER_TABLE
17     , a1 JTF_NUMBER_TABLE
18     , a2 JTF_DATE_TABLE
19     , a3 JTF_DATE_TABLE
20     , a4 JTF_VARCHAR2_TABLE_100
21     , a5 JTF_VARCHAR2_TABLE_100
22     , a6 JTF_VARCHAR2_TABLE_100
23     , a7 JTF_VARCHAR2_TABLE_100
24     , a8 JTF_VARCHAR2_TABLE_100
25     , a9 JTF_VARCHAR2_TABLE_100
26     , a10 JTF_VARCHAR2_TABLE_100
27     , a11 JTF_VARCHAR2_TABLE_100
28     , a12 JTF_NUMBER_TABLE
29     , a13 JTF_VARCHAR2_TABLE_100
30     , a14 JTF_VARCHAR2_TABLE_300
31     , a15 JTF_VARCHAR2_TABLE_300
32     , a16 JTF_VARCHAR2_TABLE_300
33     , a17 JTF_VARCHAR2_TABLE_300
34     , a18 JTF_VARCHAR2_TABLE_300
35     , a19 JTF_VARCHAR2_TABLE_300
36     , a20 JTF_VARCHAR2_TABLE_300
37     , a21 JTF_VARCHAR2_TABLE_300
38     , a22 JTF_VARCHAR2_TABLE_300
39     , a23 JTF_VARCHAR2_TABLE_300
40     , a24 JTF_VARCHAR2_TABLE_300
41     , a25 JTF_VARCHAR2_TABLE_300
42     , a26 JTF_VARCHAR2_TABLE_300
43     , a27 JTF_VARCHAR2_TABLE_300
44     , a28 JTF_VARCHAR2_TABLE_300
45     ) as
46     ddindx binary_integer; indx binary_integer;
47   begin
48   if a0 is not null and a0.count > 0 then
49       if a0.count > 0 then
50         indx := a0.first;
51         ddindx := 1;
52         while true loop
53           t(ddindx).tm_labor_schedule_id := a0(indx);
54           t(ddindx).business_process_id := a1(indx);
55           t(ddindx).start_time := rosetta_g_miss_date_in_map(a2(indx));
56           t(ddindx).end_time := rosetta_g_miss_date_in_map(a3(indx));
57           t(ddindx).monday_flag := a4(indx);
58           t(ddindx).tuesday_flag := a5(indx);
59           t(ddindx).wednesday_flag := a6(indx);
60           t(ddindx).thursday_flag := a7(indx);
61           t(ddindx).friday_flag := a8(indx);
62           t(ddindx).saturday_flag := a9(indx);
63           t(ddindx).sunday_flag := a10(indx);
64           t(ddindx).holiday_flag := a11(indx);
65           t(ddindx).inventory_item_id := a12(indx);
66           t(ddindx).attribute_category := a13(indx);
67           t(ddindx).attribute1 := a14(indx);
68           t(ddindx).attribute2 := a15(indx);
69           t(ddindx).attribute3 := a16(indx);
70           t(ddindx).attribute4 := a17(indx);
71           t(ddindx).attribute5 := a18(indx);
72           t(ddindx).attribute6 := a19(indx);
73           t(ddindx).attribute7 := a20(indx);
74           t(ddindx).attribute8 := a21(indx);
75           t(ddindx).attribute9 := a22(indx);
76           t(ddindx).attribute10 := a23(indx);
77           t(ddindx).attribute11 := a24(indx);
78           t(ddindx).attribute12 := a25(indx);
79           t(ddindx).attribute13 := a26(indx);
80           t(ddindx).attribute14 := a27(indx);
81           t(ddindx).attribute15 := a28(indx);
82           ddindx := ddindx+1;
83           if a0.last =indx
84             then exit;
85           end if;
86           indx := a0.next(indx);
87         end loop;
88       end if;
89    end if;
90   end rosetta_table_copy_in_p1;
91   procedure rosetta_table_copy_out_p1(t cs_tm_labor_schedule_pvt.tm_schedule_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
92     , a1 out nocopy JTF_NUMBER_TABLE
93     , a2 out nocopy JTF_DATE_TABLE
94     , a3 out nocopy JTF_DATE_TABLE
95     , a4 out nocopy JTF_VARCHAR2_TABLE_100
96     , a5 out nocopy JTF_VARCHAR2_TABLE_100
97     , a6 out nocopy JTF_VARCHAR2_TABLE_100
98     , a7 out nocopy JTF_VARCHAR2_TABLE_100
99     , a8 out nocopy JTF_VARCHAR2_TABLE_100
100     , a9 out nocopy JTF_VARCHAR2_TABLE_100
101     , a10 out nocopy JTF_VARCHAR2_TABLE_100
102     , a11 out nocopy JTF_VARCHAR2_TABLE_100
103     , a12 out nocopy JTF_NUMBER_TABLE
104     , a13 out nocopy JTF_VARCHAR2_TABLE_100
105     , a14 out nocopy JTF_VARCHAR2_TABLE_300
106     , a15 out nocopy JTF_VARCHAR2_TABLE_300
107     , a16 out nocopy JTF_VARCHAR2_TABLE_300
108     , a17 out nocopy JTF_VARCHAR2_TABLE_300
109     , a18 out nocopy JTF_VARCHAR2_TABLE_300
110     , a19 out nocopy JTF_VARCHAR2_TABLE_300
111     , a20 out nocopy JTF_VARCHAR2_TABLE_300
112     , a21 out nocopy JTF_VARCHAR2_TABLE_300
113     , a22 out nocopy JTF_VARCHAR2_TABLE_300
114     , a23 out nocopy JTF_VARCHAR2_TABLE_300
115     , a24 out nocopy JTF_VARCHAR2_TABLE_300
116     , a25 out nocopy JTF_VARCHAR2_TABLE_300
117     , a26 out nocopy JTF_VARCHAR2_TABLE_300
118     , a27 out nocopy JTF_VARCHAR2_TABLE_300
119     , a28 out nocopy JTF_VARCHAR2_TABLE_300
120     ) as
121     ddindx binary_integer; indx binary_integer;
122   begin
123   if t is null or t.count = 0 then
124     a0 := JTF_NUMBER_TABLE();
125     a1 := JTF_NUMBER_TABLE();
126     a2 := JTF_DATE_TABLE();
127     a3 := JTF_DATE_TABLE();
128     a4 := JTF_VARCHAR2_TABLE_100();
129     a5 := JTF_VARCHAR2_TABLE_100();
130     a6 := JTF_VARCHAR2_TABLE_100();
131     a7 := JTF_VARCHAR2_TABLE_100();
132     a8 := JTF_VARCHAR2_TABLE_100();
133     a9 := JTF_VARCHAR2_TABLE_100();
134     a10 := JTF_VARCHAR2_TABLE_100();
135     a11 := JTF_VARCHAR2_TABLE_100();
136     a12 := JTF_NUMBER_TABLE();
137     a13 := JTF_VARCHAR2_TABLE_100();
138     a14 := JTF_VARCHAR2_TABLE_300();
139     a15 := JTF_VARCHAR2_TABLE_300();
140     a16 := JTF_VARCHAR2_TABLE_300();
141     a17 := JTF_VARCHAR2_TABLE_300();
142     a18 := JTF_VARCHAR2_TABLE_300();
143     a19 := JTF_VARCHAR2_TABLE_300();
144     a20 := JTF_VARCHAR2_TABLE_300();
145     a21 := JTF_VARCHAR2_TABLE_300();
146     a22 := JTF_VARCHAR2_TABLE_300();
147     a23 := JTF_VARCHAR2_TABLE_300();
148     a24 := JTF_VARCHAR2_TABLE_300();
149     a25 := JTF_VARCHAR2_TABLE_300();
150     a26 := JTF_VARCHAR2_TABLE_300();
151     a27 := JTF_VARCHAR2_TABLE_300();
152     a28 := JTF_VARCHAR2_TABLE_300();
153   else
154       a0 := JTF_NUMBER_TABLE();
155       a1 := JTF_NUMBER_TABLE();
156       a2 := JTF_DATE_TABLE();
157       a3 := JTF_DATE_TABLE();
158       a4 := JTF_VARCHAR2_TABLE_100();
159       a5 := JTF_VARCHAR2_TABLE_100();
160       a6 := JTF_VARCHAR2_TABLE_100();
161       a7 := JTF_VARCHAR2_TABLE_100();
162       a8 := JTF_VARCHAR2_TABLE_100();
163       a9 := JTF_VARCHAR2_TABLE_100();
164       a10 := JTF_VARCHAR2_TABLE_100();
165       a11 := JTF_VARCHAR2_TABLE_100();
166       a12 := JTF_NUMBER_TABLE();
167       a13 := JTF_VARCHAR2_TABLE_100();
168       a14 := JTF_VARCHAR2_TABLE_300();
169       a15 := JTF_VARCHAR2_TABLE_300();
170       a16 := JTF_VARCHAR2_TABLE_300();
171       a17 := JTF_VARCHAR2_TABLE_300();
172       a18 := JTF_VARCHAR2_TABLE_300();
173       a19 := JTF_VARCHAR2_TABLE_300();
174       a20 := JTF_VARCHAR2_TABLE_300();
175       a21 := JTF_VARCHAR2_TABLE_300();
176       a22 := JTF_VARCHAR2_TABLE_300();
177       a23 := JTF_VARCHAR2_TABLE_300();
178       a24 := JTF_VARCHAR2_TABLE_300();
179       a25 := JTF_VARCHAR2_TABLE_300();
180       a26 := JTF_VARCHAR2_TABLE_300();
181       a27 := JTF_VARCHAR2_TABLE_300();
182       a28 := JTF_VARCHAR2_TABLE_300();
183       if t.count > 0 then
184         a0.extend(t.count);
185         a1.extend(t.count);
186         a2.extend(t.count);
187         a3.extend(t.count);
188         a4.extend(t.count);
189         a5.extend(t.count);
190         a6.extend(t.count);
191         a7.extend(t.count);
192         a8.extend(t.count);
193         a9.extend(t.count);
194         a10.extend(t.count);
195         a11.extend(t.count);
196         a12.extend(t.count);
197         a13.extend(t.count);
198         a14.extend(t.count);
199         a15.extend(t.count);
200         a16.extend(t.count);
201         a17.extend(t.count);
202         a18.extend(t.count);
203         a19.extend(t.count);
204         a20.extend(t.count);
205         a21.extend(t.count);
206         a22.extend(t.count);
207         a23.extend(t.count);
208         a24.extend(t.count);
209         a25.extend(t.count);
210         a26.extend(t.count);
211         a27.extend(t.count);
212         a28.extend(t.count);
213         ddindx := t.first;
214         indx := 1;
215         while true loop
216           a0(indx) := t(ddindx).tm_labor_schedule_id;
217           a1(indx) := t(ddindx).business_process_id;
218           a2(indx) := t(ddindx).start_time;
219           a3(indx) := t(ddindx).end_time;
220           a4(indx) := t(ddindx).monday_flag;
221           a5(indx) := t(ddindx).tuesday_flag;
222           a6(indx) := t(ddindx).wednesday_flag;
223           a7(indx) := t(ddindx).thursday_flag;
224           a8(indx) := t(ddindx).friday_flag;
225           a9(indx) := t(ddindx).saturday_flag;
226           a10(indx) := t(ddindx).sunday_flag;
227           a11(indx) := t(ddindx).holiday_flag;
228           a12(indx) := t(ddindx).inventory_item_id;
229           a13(indx) := t(ddindx).attribute_category;
230           a14(indx) := t(ddindx).attribute1;
231           a15(indx) := t(ddindx).attribute2;
232           a16(indx) := t(ddindx).attribute3;
233           a17(indx) := t(ddindx).attribute4;
234           a18(indx) := t(ddindx).attribute5;
235           a19(indx) := t(ddindx).attribute6;
236           a20(indx) := t(ddindx).attribute7;
237           a21(indx) := t(ddindx).attribute8;
238           a22(indx) := t(ddindx).attribute9;
239           a23(indx) := t(ddindx).attribute10;
240           a24(indx) := t(ddindx).attribute11;
241           a25(indx) := t(ddindx).attribute12;
242           a26(indx) := t(ddindx).attribute13;
243           a27(indx) := t(ddindx).attribute14;
244           a28(indx) := t(ddindx).attribute15;
245           indx := indx+1;
246           if t.last =ddindx
247             then exit;
248           end if;
249           ddindx := t.next(ddindx);
250         end loop;
251       end if;
252    end if;
253   end rosetta_table_copy_out_p1;
254 
255   procedure rosetta_table_copy_in_p3(t out nocopy cs_tm_labor_schedule_pvt.tm_coverage_tbl_type, a0 JTF_DATE_TABLE
256     , a1 JTF_DATE_TABLE
257     , a2 JTF_NUMBER_TABLE
258     ) as
259     ddindx binary_integer; indx binary_integer;
260   begin
261   if a0 is not null and a0.count > 0 then
262       if a0.count > 0 then
263         indx := a0.first;
264         ddindx := 1;
265         while true loop
266           t(ddindx).labor_start_date_time := rosetta_g_miss_date_in_map(a0(indx));
267           t(ddindx).labor_end_date_time := rosetta_g_miss_date_in_map(a1(indx));
268           t(ddindx).inventory_item_id := a2(indx);
269           ddindx := ddindx+1;
270           if a0.last =indx
271             then exit;
272           end if;
273           indx := a0.next(indx);
274         end loop;
275       end if;
276    end if;
277   end rosetta_table_copy_in_p3;
278   procedure rosetta_table_copy_out_p3(t cs_tm_labor_schedule_pvt.tm_coverage_tbl_type, a0 out nocopy JTF_DATE_TABLE
279     , a1 out nocopy JTF_DATE_TABLE
280     , a2 out nocopy JTF_NUMBER_TABLE
281     ) as
282     ddindx binary_integer; indx binary_integer;
283   begin
284   if t is null or t.count = 0 then
285     a0 := JTF_DATE_TABLE();
286     a1 := JTF_DATE_TABLE();
287     a2 := JTF_NUMBER_TABLE();
288   else
289       a0 := JTF_DATE_TABLE();
290       a1 := JTF_DATE_TABLE();
291       a2 := JTF_NUMBER_TABLE();
292       if t.count > 0 then
293         a0.extend(t.count);
294         a1.extend(t.count);
295         a2.extend(t.count);
296         ddindx := t.first;
297         indx := 1;
298         while true loop
299           a0(indx) := t(ddindx).labor_start_date_time;
300           a1(indx) := t(ddindx).labor_end_date_time;
301           a2(indx) := t(ddindx).inventory_item_id;
302           indx := indx+1;
303           if t.last =ddindx
304             then exit;
305           end if;
306           ddindx := t.next(ddindx);
307         end loop;
308       end if;
309    end if;
310   end rosetta_table_copy_out_p3;
311 
312   procedure validate_schedule_overlap(p0_a0 JTF_NUMBER_TABLE
313     , p0_a1 JTF_NUMBER_TABLE
314     , p0_a2 JTF_DATE_TABLE
315     , p0_a3 JTF_DATE_TABLE
316     , p0_a4 JTF_VARCHAR2_TABLE_100
317     , p0_a5 JTF_VARCHAR2_TABLE_100
318     , p0_a6 JTF_VARCHAR2_TABLE_100
319     , p0_a7 JTF_VARCHAR2_TABLE_100
320     , p0_a8 JTF_VARCHAR2_TABLE_100
321     , p0_a9 JTF_VARCHAR2_TABLE_100
322     , p0_a10 JTF_VARCHAR2_TABLE_100
323     , p0_a11 JTF_VARCHAR2_TABLE_100
324     , p0_a12 JTF_NUMBER_TABLE
325     , p0_a13 JTF_VARCHAR2_TABLE_100
326     , p0_a14 JTF_VARCHAR2_TABLE_300
327     , p0_a15 JTF_VARCHAR2_TABLE_300
328     , p0_a16 JTF_VARCHAR2_TABLE_300
329     , p0_a17 JTF_VARCHAR2_TABLE_300
330     , p0_a18 JTF_VARCHAR2_TABLE_300
331     , p0_a19 JTF_VARCHAR2_TABLE_300
332     , p0_a20 JTF_VARCHAR2_TABLE_300
333     , p0_a21 JTF_VARCHAR2_TABLE_300
334     , p0_a22 JTF_VARCHAR2_TABLE_300
335     , p0_a23 JTF_VARCHAR2_TABLE_300
336     , p0_a24 JTF_VARCHAR2_TABLE_300
337     , p0_a25 JTF_VARCHAR2_TABLE_300
338     , p0_a26 JTF_VARCHAR2_TABLE_300
339     , p0_a27 JTF_VARCHAR2_TABLE_300
340     , p0_a28 JTF_VARCHAR2_TABLE_300
341     , x_return_status out nocopy  VARCHAR2
342     , x_msg_count out nocopy  NUMBER
343     , x_msg_data out nocopy  VARCHAR2
344     , p_api_version  NUMBER
345     , p_init_msg_list  VARCHAR2
346   )
347 
348   as
349     ddp_labor_schedule_tbl cs_tm_labor_schedule_pvt.tm_schedule_tbl_type;
350     ddindx binary_integer; indx binary_integer;
351   begin
352 
353     -- copy data to the local IN or IN-OUT args, if any
354     cs_tm_labor_schedule_pvt_w.rosetta_table_copy_in_p1(ddp_labor_schedule_tbl, p0_a0
355       , p0_a1
356       , p0_a2
357       , p0_a3
358       , p0_a4
359       , p0_a5
360       , p0_a6
361       , p0_a7
362       , p0_a8
363       , p0_a9
364       , p0_a10
365       , p0_a11
366       , p0_a12
367       , p0_a13
368       , p0_a14
369       , p0_a15
370       , p0_a16
371       , p0_a17
372       , p0_a18
373       , p0_a19
374       , p0_a20
375       , p0_a21
376       , p0_a22
377       , p0_a23
378       , p0_a24
379       , p0_a25
380       , p0_a26
381       , p0_a27
382       , p0_a28
383       );
384 
385 
386 
387 
388 
389 
390     -- here's the delegated call to the old PL/SQL routine
391     cs_tm_labor_schedule_pvt.validate_schedule_overlap(ddp_labor_schedule_tbl,
392       x_return_status,
393       x_msg_count,
394       x_msg_data,
395       p_api_version,
396       p_init_msg_list);
397 
398     -- copy data back from the local variables to OUT or IN-OUT args, if any
399 
400 
401 
402 
403 
404   end;
405 
406   procedure validate_schedule_missing(p0_a0 JTF_NUMBER_TABLE
407     , p0_a1 JTF_NUMBER_TABLE
408     , p0_a2 JTF_DATE_TABLE
409     , p0_a3 JTF_DATE_TABLE
410     , p0_a4 JTF_VARCHAR2_TABLE_100
411     , p0_a5 JTF_VARCHAR2_TABLE_100
412     , p0_a6 JTF_VARCHAR2_TABLE_100
413     , p0_a7 JTF_VARCHAR2_TABLE_100
414     , p0_a8 JTF_VARCHAR2_TABLE_100
415     , p0_a9 JTF_VARCHAR2_TABLE_100
416     , p0_a10 JTF_VARCHAR2_TABLE_100
417     , p0_a11 JTF_VARCHAR2_TABLE_100
418     , p0_a12 JTF_NUMBER_TABLE
419     , p0_a13 JTF_VARCHAR2_TABLE_100
420     , p0_a14 JTF_VARCHAR2_TABLE_300
421     , p0_a15 JTF_VARCHAR2_TABLE_300
422     , p0_a16 JTF_VARCHAR2_TABLE_300
423     , p0_a17 JTF_VARCHAR2_TABLE_300
424     , p0_a18 JTF_VARCHAR2_TABLE_300
425     , p0_a19 JTF_VARCHAR2_TABLE_300
426     , p0_a20 JTF_VARCHAR2_TABLE_300
427     , p0_a21 JTF_VARCHAR2_TABLE_300
428     , p0_a22 JTF_VARCHAR2_TABLE_300
429     , p0_a23 JTF_VARCHAR2_TABLE_300
430     , p0_a24 JTF_VARCHAR2_TABLE_300
431     , p0_a25 JTF_VARCHAR2_TABLE_300
432     , p0_a26 JTF_VARCHAR2_TABLE_300
433     , p0_a27 JTF_VARCHAR2_TABLE_300
434     , p0_a28 JTF_VARCHAR2_TABLE_300
435     , x_return_status out nocopy  VARCHAR2
436     , x_msg_count out nocopy  NUMBER
437     , x_msg_data out nocopy  VARCHAR2
438     , p_api_version  NUMBER
439     , p_init_msg_list  VARCHAR2
440   )
441 
442   as
443     ddp_labor_schedule_tbl cs_tm_labor_schedule_pvt.tm_schedule_tbl_type;
444     ddindx binary_integer; indx binary_integer;
445   begin
446 
447     -- copy data to the local IN or IN-OUT args, if any
448     cs_tm_labor_schedule_pvt_w.rosetta_table_copy_in_p1(ddp_labor_schedule_tbl, p0_a0
449       , p0_a1
450       , p0_a2
451       , p0_a3
452       , p0_a4
453       , p0_a5
454       , p0_a6
455       , p0_a7
456       , p0_a8
457       , p0_a9
458       , p0_a10
459       , p0_a11
460       , p0_a12
461       , p0_a13
462       , p0_a14
463       , p0_a15
464       , p0_a16
465       , p0_a17
466       , p0_a18
467       , p0_a19
468       , p0_a20
469       , p0_a21
470       , p0_a22
471       , p0_a23
472       , p0_a24
473       , p0_a25
474       , p0_a26
475       , p0_a27
476       , p0_a28
477       );
478 
479 
480 
481 
482 
483 
484     -- here's the delegated call to the old PL/SQL routine
485     cs_tm_labor_schedule_pvt.validate_schedule_missing(ddp_labor_schedule_tbl,
486       x_return_status,
487       x_msg_count,
488       x_msg_data,
489       p_api_version,
490       p_init_msg_list);
491 
492     -- copy data back from the local variables to OUT or IN-OUT args, if any
493 
494 
495 
496 
497 
498   end;
499 
500   procedure get_labor_coverages(p_business_process_id  NUMBER
501     , p_activity_start_date_time  date
502     , p_activity_end_date_time  date
503     , p3_a0 out nocopy JTF_DATE_TABLE
504     , p3_a1 out nocopy JTF_DATE_TABLE
505     , p3_a2 out nocopy JTF_NUMBER_TABLE
506     , x_return_status out nocopy  VARCHAR2
507     , x_msg_count out nocopy  NUMBER
508     , x_msg_data out nocopy  VARCHAR2
509     , p_api_version  NUMBER
510     , p_init_msg_list  VARCHAR2
511   )
512 
513   as
514     ddp_activity_start_date_time date;
515     ddp_activity_end_date_time date;
516     ddx_labor_coverage_tbl cs_tm_labor_schedule_pvt.tm_coverage_tbl_type;
517     ddindx binary_integer; indx binary_integer;
518   begin
519 
520     -- copy data to the local IN or IN-OUT args, if any
521 
522     ddp_activity_start_date_time := rosetta_g_miss_date_in_map(p_activity_start_date_time);
523 
524     ddp_activity_end_date_time := rosetta_g_miss_date_in_map(p_activity_end_date_time);
525 
526 
527 
528 
529 
530 
531 
532     -- here's the delegated call to the old PL/SQL routine
533     cs_tm_labor_schedule_pvt.get_labor_coverages(p_business_process_id,
534       ddp_activity_start_date_time,
535       ddp_activity_end_date_time,
536       ddx_labor_coverage_tbl,
537       x_return_status,
538       x_msg_count,
539       x_msg_data,
540       p_api_version,
541       p_init_msg_list);
542 
543     -- copy data back from the local variables to OUT or IN-OUT args, if any
544 
545 
546 
547     cs_tm_labor_schedule_pvt_w.rosetta_table_copy_out_p3(ddx_labor_coverage_tbl, p3_a0
548       , p3_a1
549       , p3_a2
550       );
551 
552 
553 
554 
555 
556   end;
557 
558 end cs_tm_labor_schedule_pvt_w;