[Home] [Help]
PACKAGE BODY: APPS.AHL_UMP_SMRINSTANCE_PVT_W
Source
1 package body ahl_ump_smrinstance_pvt_w as
2 /* $Header: AHLSMRWB.pls 120.2.12010000.2 2008/12/27 18:03:47 sracha ship $ */
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_p2(t out nocopy ahl_ump_smrinstance_pvt.results_mrinstance_tbl_type, a0 JTF_VARCHAR2_TABLE_100
17 , a1 JTF_VARCHAR2_TABLE_100
18 , a2 JTF_VARCHAR2_TABLE_100
19 , a3 JTF_VARCHAR2_TABLE_100
20 , a4 JTF_NUMBER_TABLE
21 , a5 JTF_VARCHAR2_TABLE_100
22 , a6 JTF_DATE_TABLE
23 , a7 JTF_DATE_TABLE
24 , a8 JTF_DATE_TABLE
25 , a9 JTF_VARCHAR2_TABLE_100
26 , a10 JTF_VARCHAR2_TABLE_100
27 , a11 JTF_VARCHAR2_TABLE_100
28 , a12 JTF_DATE_TABLE
29 , a13 JTF_VARCHAR2_TABLE_100
30 , a14 JTF_VARCHAR2_TABLE_100
31 , a15 JTF_VARCHAR2_TABLE_100
32 , a16 JTF_NUMBER_TABLE
33 , a17 JTF_VARCHAR2_TABLE_100
34 , a18 JTF_DATE_TABLE
35 , a19 JTF_VARCHAR2_TABLE_100
36 , a20 JTF_VARCHAR2_TABLE_100
37 , a21 JTF_NUMBER_TABLE
38 , a22 JTF_NUMBER_TABLE
39 , a23 JTF_NUMBER_TABLE
40 , a24 JTF_VARCHAR2_TABLE_100
41 , a25 JTF_NUMBER_TABLE
42 , a26 JTF_VARCHAR2_TABLE_4000
43 , a27 JTF_VARCHAR2_TABLE_100
44 , a28 JTF_VARCHAR2_TABLE_200
45 , a29 JTF_NUMBER_TABLE
46 , a30 JTF_NUMBER_TABLE
47 , a31 JTF_VARCHAR2_TABLE_100
48 , a32 JTF_VARCHAR2_TABLE_100
49 , a33 JTF_VARCHAR2_TABLE_100
50 , a34 JTF_VARCHAR2_TABLE_100
51 , a35 JTF_NUMBER_TABLE
52 ) as
53 ddindx binary_integer; indx binary_integer;
54 begin
55 if a0 is not null and a0.count > 0 then
56 if a0.count > 0 then
57 indx := a0.first;
58 ddindx := 1;
59 while true loop
60 t(ddindx).program_type_meaning := a0(indx);
61 t(ddindx).mr_title := a1(indx);
62 t(ddindx).part_number := a2(indx);
63 t(ddindx).serial_number := a3(indx);
64 t(ddindx).uom_remain := a4(indx);
65 t(ddindx).counter_name := a5(indx);
66 t(ddindx).earliest_due_date := rosetta_g_miss_date_in_map(a6(indx));
67 t(ddindx).due_date := rosetta_g_miss_date_in_map(a7(indx));
68 t(ddindx).latest_due_date := rosetta_g_miss_date_in_map(a8(indx));
69 t(ddindx).tolerance_flag := a9(indx);
70 t(ddindx).umr_status_code := a10(indx);
71 t(ddindx).umr_status_meaning := a11(indx);
72 t(ddindx).scheduled_date := rosetta_g_miss_date_in_map(a12(indx));
73 t(ddindx).visit_number := a13(indx);
74 t(ddindx).visit_status := a14(indx);
75 t(ddindx).assign_status := a15(indx);
76 t(ddindx).service_req_id := a16(indx);
77 t(ddindx).service_req_num := a17(indx);
78 t(ddindx).service_req_date := rosetta_g_miss_date_in_map(a18(indx));
79 t(ddindx).originator_title := a19(indx);
80 t(ddindx).dependant_title := a20(indx);
81 t(ddindx).unit_effectivity_id := a21(indx);
82 t(ddindx).mr_id := a22(indx);
83 t(ddindx).csi_item_instance_id := a23(indx);
84 t(ddindx).instance_number := a24(indx);
85 t(ddindx).mr_interval_id := a25(indx);
86 t(ddindx).unit_name := a26(indx);
87 t(ddindx).program_title := a27(indx);
88 t(ddindx).contract_number := a28(indx);
89 t(ddindx).defer_from_ue_id := a29(indx);
90 t(ddindx).defer_to_ue_id := a30(indx);
91 t(ddindx).unit_effectivity_type := a31(indx);
92 t(ddindx).object_type := a32(indx);
93 t(ddindx).manually_planned_flag := a33(indx);
94 t(ddindx).manually_planned_desc := a34(indx);
95 t(ddindx).visit_id := a35(indx);
96 ddindx := ddindx+1;
97 if a0.last =indx
98 then exit;
99 end if;
100 indx := a0.next(indx);
101 end loop;
102 end if;
103 end if;
104 end rosetta_table_copy_in_p2;
105 procedure rosetta_table_copy_out_p2(t ahl_ump_smrinstance_pvt.results_mrinstance_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
106 , a1 out nocopy JTF_VARCHAR2_TABLE_100
107 , a2 out nocopy JTF_VARCHAR2_TABLE_100
108 , a3 out nocopy JTF_VARCHAR2_TABLE_100
109 , a4 out nocopy JTF_NUMBER_TABLE
110 , a5 out nocopy JTF_VARCHAR2_TABLE_100
111 , a6 out nocopy JTF_DATE_TABLE
112 , a7 out nocopy JTF_DATE_TABLE
113 , a8 out nocopy JTF_DATE_TABLE
114 , a9 out nocopy JTF_VARCHAR2_TABLE_100
115 , a10 out nocopy JTF_VARCHAR2_TABLE_100
116 , a11 out nocopy JTF_VARCHAR2_TABLE_100
117 , a12 out nocopy JTF_DATE_TABLE
118 , a13 out nocopy JTF_VARCHAR2_TABLE_100
119 , a14 out nocopy JTF_VARCHAR2_TABLE_100
120 , a15 out nocopy JTF_VARCHAR2_TABLE_100
121 , a16 out nocopy JTF_NUMBER_TABLE
122 , a17 out nocopy JTF_VARCHAR2_TABLE_100
123 , a18 out nocopy JTF_DATE_TABLE
124 , a19 out nocopy JTF_VARCHAR2_TABLE_100
125 , a20 out nocopy JTF_VARCHAR2_TABLE_100
126 , a21 out nocopy JTF_NUMBER_TABLE
127 , a22 out nocopy JTF_NUMBER_TABLE
128 , a23 out nocopy JTF_NUMBER_TABLE
129 , a24 out nocopy JTF_VARCHAR2_TABLE_100
130 , a25 out nocopy JTF_NUMBER_TABLE
131 , a26 out nocopy JTF_VARCHAR2_TABLE_4000
132 , a27 out nocopy JTF_VARCHAR2_TABLE_100
133 , a28 out nocopy JTF_VARCHAR2_TABLE_200
134 , a29 out nocopy JTF_NUMBER_TABLE
135 , a30 out nocopy JTF_NUMBER_TABLE
136 , a31 out nocopy JTF_VARCHAR2_TABLE_100
137 , a32 out nocopy JTF_VARCHAR2_TABLE_100
138 , a33 out nocopy JTF_VARCHAR2_TABLE_100
139 , a34 out nocopy JTF_VARCHAR2_TABLE_100
140 , a35 out nocopy JTF_NUMBER_TABLE
141 ) as
142 ddindx binary_integer; indx binary_integer;
143 begin
144 if t is null or t.count = 0 then
145 a0 := JTF_VARCHAR2_TABLE_100();
146 a1 := JTF_VARCHAR2_TABLE_100();
147 a2 := JTF_VARCHAR2_TABLE_100();
148 a3 := JTF_VARCHAR2_TABLE_100();
149 a4 := JTF_NUMBER_TABLE();
150 a5 := JTF_VARCHAR2_TABLE_100();
151 a6 := JTF_DATE_TABLE();
152 a7 := JTF_DATE_TABLE();
153 a8 := JTF_DATE_TABLE();
154 a9 := JTF_VARCHAR2_TABLE_100();
155 a10 := JTF_VARCHAR2_TABLE_100();
156 a11 := JTF_VARCHAR2_TABLE_100();
157 a12 := JTF_DATE_TABLE();
158 a13 := JTF_VARCHAR2_TABLE_100();
159 a14 := JTF_VARCHAR2_TABLE_100();
160 a15 := JTF_VARCHAR2_TABLE_100();
161 a16 := JTF_NUMBER_TABLE();
162 a17 := JTF_VARCHAR2_TABLE_100();
163 a18 := JTF_DATE_TABLE();
164 a19 := JTF_VARCHAR2_TABLE_100();
165 a20 := JTF_VARCHAR2_TABLE_100();
166 a21 := JTF_NUMBER_TABLE();
167 a22 := JTF_NUMBER_TABLE();
168 a23 := JTF_NUMBER_TABLE();
169 a24 := JTF_VARCHAR2_TABLE_100();
170 a25 := JTF_NUMBER_TABLE();
171 a26 := JTF_VARCHAR2_TABLE_4000();
172 a27 := JTF_VARCHAR2_TABLE_100();
173 a28 := JTF_VARCHAR2_TABLE_200();
174 a29 := JTF_NUMBER_TABLE();
175 a30 := JTF_NUMBER_TABLE();
176 a31 := JTF_VARCHAR2_TABLE_100();
177 a32 := JTF_VARCHAR2_TABLE_100();
178 a33 := JTF_VARCHAR2_TABLE_100();
179 a34 := JTF_VARCHAR2_TABLE_100();
180 a35 := JTF_NUMBER_TABLE();
181 else
182 a0 := JTF_VARCHAR2_TABLE_100();
183 a1 := JTF_VARCHAR2_TABLE_100();
184 a2 := JTF_VARCHAR2_TABLE_100();
185 a3 := JTF_VARCHAR2_TABLE_100();
186 a4 := JTF_NUMBER_TABLE();
187 a5 := JTF_VARCHAR2_TABLE_100();
188 a6 := JTF_DATE_TABLE();
189 a7 := JTF_DATE_TABLE();
190 a8 := JTF_DATE_TABLE();
191 a9 := JTF_VARCHAR2_TABLE_100();
192 a10 := JTF_VARCHAR2_TABLE_100();
193 a11 := JTF_VARCHAR2_TABLE_100();
194 a12 := JTF_DATE_TABLE();
195 a13 := JTF_VARCHAR2_TABLE_100();
196 a14 := JTF_VARCHAR2_TABLE_100();
197 a15 := JTF_VARCHAR2_TABLE_100();
198 a16 := JTF_NUMBER_TABLE();
199 a17 := JTF_VARCHAR2_TABLE_100();
200 a18 := JTF_DATE_TABLE();
201 a19 := JTF_VARCHAR2_TABLE_100();
202 a20 := JTF_VARCHAR2_TABLE_100();
203 a21 := JTF_NUMBER_TABLE();
204 a22 := JTF_NUMBER_TABLE();
205 a23 := JTF_NUMBER_TABLE();
206 a24 := JTF_VARCHAR2_TABLE_100();
207 a25 := JTF_NUMBER_TABLE();
208 a26 := JTF_VARCHAR2_TABLE_4000();
209 a27 := JTF_VARCHAR2_TABLE_100();
210 a28 := JTF_VARCHAR2_TABLE_200();
211 a29 := JTF_NUMBER_TABLE();
212 a30 := JTF_NUMBER_TABLE();
213 a31 := JTF_VARCHAR2_TABLE_100();
214 a32 := JTF_VARCHAR2_TABLE_100();
215 a33 := JTF_VARCHAR2_TABLE_100();
216 a34 := JTF_VARCHAR2_TABLE_100();
217 a35 := JTF_NUMBER_TABLE();
218 if t.count > 0 then
219 a0.extend(t.count);
220 a1.extend(t.count);
221 a2.extend(t.count);
222 a3.extend(t.count);
223 a4.extend(t.count);
224 a5.extend(t.count);
225 a6.extend(t.count);
226 a7.extend(t.count);
227 a8.extend(t.count);
228 a9.extend(t.count);
229 a10.extend(t.count);
230 a11.extend(t.count);
231 a12.extend(t.count);
232 a13.extend(t.count);
233 a14.extend(t.count);
234 a15.extend(t.count);
235 a16.extend(t.count);
236 a17.extend(t.count);
237 a18.extend(t.count);
238 a19.extend(t.count);
239 a20.extend(t.count);
240 a21.extend(t.count);
241 a22.extend(t.count);
242 a23.extend(t.count);
243 a24.extend(t.count);
244 a25.extend(t.count);
245 a26.extend(t.count);
246 a27.extend(t.count);
247 a28.extend(t.count);
248 a29.extend(t.count);
249 a30.extend(t.count);
250 a31.extend(t.count);
251 a32.extend(t.count);
252 a33.extend(t.count);
253 a34.extend(t.count);
254 a35.extend(t.count);
255 ddindx := t.first;
256 indx := 1;
257 while true loop
258 a0(indx) := t(ddindx).program_type_meaning;
259 a1(indx) := t(ddindx).mr_title;
260 a2(indx) := t(ddindx).part_number;
261 a3(indx) := t(ddindx).serial_number;
262 a4(indx) := t(ddindx).uom_remain;
263 a5(indx) := t(ddindx).counter_name;
264 a6(indx) := t(ddindx).earliest_due_date;
265 a7(indx) := t(ddindx).due_date;
266 a8(indx) := t(ddindx).latest_due_date;
267 a9(indx) := t(ddindx).tolerance_flag;
268 a10(indx) := t(ddindx).umr_status_code;
269 a11(indx) := t(ddindx).umr_status_meaning;
270 a12(indx) := t(ddindx).scheduled_date;
271 a13(indx) := t(ddindx).visit_number;
272 a14(indx) := t(ddindx).visit_status;
273 a15(indx) := t(ddindx).assign_status;
274 a16(indx) := t(ddindx).service_req_id;
275 a17(indx) := t(ddindx).service_req_num;
276 a18(indx) := t(ddindx).service_req_date;
277 a19(indx) := t(ddindx).originator_title;
278 a20(indx) := t(ddindx).dependant_title;
279 a21(indx) := t(ddindx).unit_effectivity_id;
280 a22(indx) := t(ddindx).mr_id;
281 a23(indx) := t(ddindx).csi_item_instance_id;
282 a24(indx) := t(ddindx).instance_number;
283 a25(indx) := t(ddindx).mr_interval_id;
284 a26(indx) := t(ddindx).unit_name;
285 a27(indx) := t(ddindx).program_title;
286 a28(indx) := t(ddindx).contract_number;
287 a29(indx) := t(ddindx).defer_from_ue_id;
288 a30(indx) := t(ddindx).defer_to_ue_id;
289 a31(indx) := t(ddindx).unit_effectivity_type;
290 a32(indx) := t(ddindx).object_type;
291 a33(indx) := t(ddindx).manually_planned_flag;
292 a34(indx) := t(ddindx).manually_planned_desc;
293 a35(indx) := t(ddindx).visit_id;
294 indx := indx+1;
295 if t.last =ddindx
296 then exit;
297 end if;
298 ddindx := t.next(ddindx);
299 end loop;
300 end if;
301 end if;
302 end rosetta_table_copy_out_p2;
303
304 procedure search_mr_instances(p_api_version NUMBER
305 , p_init_msg_list VARCHAR2
306 , p_commit VARCHAR2
307 , p_validation_level NUMBER
308 , p_default VARCHAR2
309 , p_module_type VARCHAR2
310 , p_start_row NUMBER
311 , p_rows_per_page NUMBER
312 , p8_a0 VARCHAR2
313 , p8_a1 VARCHAR2
314 , p8_a2 VARCHAR2
315 , p8_a3 VARCHAR2
316 , p8_a4 VARCHAR2
317 , p8_a5 VARCHAR2
318 , p8_a6 VARCHAR2
319 , p8_a7 DATE
320 , p8_a8 DATE
321 , p8_a9 VARCHAR2
322 , p8_a10 VARCHAR2
323 , p8_a11 VARCHAR2
324 , p8_a12 VARCHAR2
325 , p8_a13 VARCHAR2
326 , p8_a14 NUMBER
327 , p8_a15 VARCHAR2
328 , p8_a16 NUMBER
329 , p8_a17 VARCHAR2
330 , p8_a18 VARCHAR2
331 , p8_a19 VARCHAR2
332 , p8_a20 VARCHAR2
333 , p8_a21 VARCHAR2
334 , p8_a22 VARCHAR2
335 , p8_a23 VARCHAR2
336 , p8_a24 NUMBER
337 , p8_a25 VARCHAR2
338 , p9_a0 out nocopy JTF_VARCHAR2_TABLE_100
339 , p9_a1 out nocopy JTF_VARCHAR2_TABLE_100
340 , p9_a2 out nocopy JTF_VARCHAR2_TABLE_100
341 , p9_a3 out nocopy JTF_VARCHAR2_TABLE_100
342 , p9_a4 out nocopy JTF_NUMBER_TABLE
343 , p9_a5 out nocopy JTF_VARCHAR2_TABLE_100
344 , p9_a6 out nocopy JTF_DATE_TABLE
345 , p9_a7 out nocopy JTF_DATE_TABLE
346 , p9_a8 out nocopy JTF_DATE_TABLE
347 , p9_a9 out nocopy JTF_VARCHAR2_TABLE_100
348 , p9_a10 out nocopy JTF_VARCHAR2_TABLE_100
349 , p9_a11 out nocopy JTF_VARCHAR2_TABLE_100
350 , p9_a12 out nocopy JTF_DATE_TABLE
351 , p9_a13 out nocopy JTF_VARCHAR2_TABLE_100
352 , p9_a14 out nocopy JTF_VARCHAR2_TABLE_100
353 , p9_a15 out nocopy JTF_VARCHAR2_TABLE_100
354 , p9_a16 out nocopy JTF_NUMBER_TABLE
355 , p9_a17 out nocopy JTF_VARCHAR2_TABLE_100
356 , p9_a18 out nocopy JTF_DATE_TABLE
357 , p9_a19 out nocopy JTF_VARCHAR2_TABLE_100
358 , p9_a20 out nocopy JTF_VARCHAR2_TABLE_100
359 , p9_a21 out nocopy JTF_NUMBER_TABLE
360 , p9_a22 out nocopy JTF_NUMBER_TABLE
361 , p9_a23 out nocopy JTF_NUMBER_TABLE
362 , p9_a24 out nocopy JTF_VARCHAR2_TABLE_100
363 , p9_a25 out nocopy JTF_NUMBER_TABLE
364 , p9_a26 out nocopy JTF_VARCHAR2_TABLE_4000
365 , p9_a27 out nocopy JTF_VARCHAR2_TABLE_100
366 , p9_a28 out nocopy JTF_VARCHAR2_TABLE_200
367 , p9_a29 out nocopy JTF_NUMBER_TABLE
368 , p9_a30 out nocopy JTF_NUMBER_TABLE
369 , p9_a31 out nocopy JTF_VARCHAR2_TABLE_100
370 , p9_a32 out nocopy JTF_VARCHAR2_TABLE_100
371 , p9_a33 out nocopy JTF_VARCHAR2_TABLE_100
372 , p9_a34 out nocopy JTF_VARCHAR2_TABLE_100
373 , p9_a35 out nocopy JTF_NUMBER_TABLE
374 , x_results_count out nocopy NUMBER
375 , x_return_status out nocopy VARCHAR2
376 , x_msg_count out nocopy NUMBER
377 , x_msg_data out nocopy VARCHAR2
378 )
379
380 as
381 ddp_search_mr_instance_rec ahl_ump_smrinstance_pvt.search_mrinstance_rec_type;
382 ddx_results_mr_instance_tbl ahl_ump_smrinstance_pvt.results_mrinstance_tbl_type;
383 ddindx binary_integer; indx binary_integer;
384 begin
385
386 -- copy data to the local IN or IN-OUT args, if any
387
388
389
390
391
392
393
394
395 ddp_search_mr_instance_rec.unit_name := p8_a0;
396 ddp_search_mr_instance_rec.part_number := p8_a1;
397 ddp_search_mr_instance_rec.serial_number := p8_a2;
398 ddp_search_mr_instance_rec.sort_by := p8_a3;
399 ddp_search_mr_instance_rec.mr_status := p8_a4;
400 ddp_search_mr_instance_rec.mr_title := p8_a5;
401 ddp_search_mr_instance_rec.program_type := p8_a6;
402 ddp_search_mr_instance_rec.due_from := rosetta_g_miss_date_in_map(p8_a7);
403 ddp_search_mr_instance_rec.due_to := rosetta_g_miss_date_in_map(p8_a8);
404 ddp_search_mr_instance_rec.show_tolerance := p8_a9;
405 ddp_search_mr_instance_rec.components_flag := p8_a10;
406 ddp_search_mr_instance_rec.repetitive_flag := p8_a11;
407 ddp_search_mr_instance_rec.contract_number := p8_a12;
408 ddp_search_mr_instance_rec.contract_modifier := p8_a13;
409 ddp_search_mr_instance_rec.service_line_id := p8_a14;
410 ddp_search_mr_instance_rec.service_line_num := p8_a15;
411 ddp_search_mr_instance_rec.program_id := p8_a16;
412 ddp_search_mr_instance_rec.program_title := p8_a17;
413 ddp_search_mr_instance_rec.show_groupmr := p8_a18;
414 ddp_search_mr_instance_rec.object_type := p8_a19;
415 ddp_search_mr_instance_rec.search_for_type := p8_a20;
416 ddp_search_mr_instance_rec.visit_number := p8_a21;
417 ddp_search_mr_instance_rec.visit_org_name := p8_a22;
418 ddp_search_mr_instance_rec.visit_dept_name := p8_a23;
419 ddp_search_mr_instance_rec.incident_type_id := p8_a24;
420 ddp_search_mr_instance_rec.service_req_num := p8_a25;
421
422
423
424
425
426
427 -- here's the delegated call to the old PL/SQL routine
428 ahl_ump_smrinstance_pvt.search_mr_instances(p_api_version,
429 p_init_msg_list,
430 p_commit,
431 p_validation_level,
432 p_default,
433 p_module_type,
434 p_start_row,
435 p_rows_per_page,
436 ddp_search_mr_instance_rec,
437 ddx_results_mr_instance_tbl,
438 x_results_count,
439 x_return_status,
440 x_msg_count,
441 x_msg_data);
442
443 -- copy data back from the local variables to OUT or IN-OUT args, if any
444
445
446
447
448
449
450
451
452
453 ahl_ump_smrinstance_pvt_w.rosetta_table_copy_out_p2(ddx_results_mr_instance_tbl, p9_a0
454 , p9_a1
455 , p9_a2
456 , p9_a3
457 , p9_a4
458 , p9_a5
459 , p9_a6
460 , p9_a7
461 , p9_a8
462 , p9_a9
463 , p9_a10
464 , p9_a11
465 , p9_a12
466 , p9_a13
467 , p9_a14
468 , p9_a15
469 , p9_a16
470 , p9_a17
471 , p9_a18
472 , p9_a19
473 , p9_a20
474 , p9_a21
475 , p9_a22
476 , p9_a23
477 , p9_a24
478 , p9_a25
479 , p9_a26
480 , p9_a27
481 , p9_a28
482 , p9_a29
483 , p9_a30
484 , p9_a31
485 , p9_a32
486 , p9_a33
487 , p9_a34
488 , p9_a35
489 );
490
491
492
493
494 end;
495
496 end ahl_ump_smrinstance_pvt_w;