DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSD_RULES_ENGINE_PVT_W

Source


1 package body csd_rules_engine_pvt_w as
2   /* $Header: csdwrulb.pls 120.1.12020000.5 2013/05/08 01:46:33 vicli ship $ */
3   procedure rosetta_table_copy_in_p40(t out nocopy csd_rules_engine_pvt.csd_rule_condition_tbl_type, a0 JTF_NUMBER_TABLE
4     , a1 JTF_NUMBER_TABLE
5     , a2 JTF_VARCHAR2_TABLE_100
6     , a3 JTF_VARCHAR2_TABLE_200
7     , a4 JTF_VARCHAR2_TABLE_200
8     , a5 JTF_VARCHAR2_TABLE_200
9     , a6 JTF_VARCHAR2_TABLE_200
10     , a7 JTF_VARCHAR2_TABLE_200
11     , a8 JTF_VARCHAR2_TABLE_200
12     , a9 JTF_VARCHAR2_TABLE_200
13     , a10 JTF_VARCHAR2_TABLE_200
14     , a11 JTF_VARCHAR2_TABLE_200
15     , a12 JTF_VARCHAR2_TABLE_200
16     , a13 JTF_VARCHAR2_TABLE_200
17     , a14 JTF_VARCHAR2_TABLE_200
18     , a15 JTF_VARCHAR2_TABLE_200
19     , a16 JTF_VARCHAR2_TABLE_200
20     , a17 JTF_VARCHAR2_TABLE_200
21     ) as
22     ddindx binary_integer; indx binary_integer;
23   begin
24   if a0 is not null and a0.count > 0 then
25       if a0.count > 0 then
26         indx := a0.first;
27         ddindx := 1;
28         while true loop
29           t(ddindx).rule_condition_id := a0(indx);
30           t(ddindx).rule_id := a1(indx);
31           t(ddindx).attribute_category := a2(indx);
32           t(ddindx).attribute1 := a3(indx);
33           t(ddindx).attribute2 := a4(indx);
34           t(ddindx).attribute3 := a5(indx);
35           t(ddindx).attribute4 := a6(indx);
36           t(ddindx).attribute5 := a7(indx);
37           t(ddindx).attribute6 := a8(indx);
38           t(ddindx).attribute7 := a9(indx);
39           t(ddindx).attribute8 := a10(indx);
40           t(ddindx).attribute9 := a11(indx);
41           t(ddindx).attribute10 := a12(indx);
42           t(ddindx).attribute11 := a13(indx);
43           t(ddindx).attribute12 := a14(indx);
44           t(ddindx).attribute13 := a15(indx);
45           t(ddindx).attribute14 := a16(indx);
46           t(ddindx).attribute15 := a17(indx);
47           ddindx := ddindx+1;
48           if a0.last =indx
49             then exit;
50           end if;
51           indx := a0.next(indx);
52         end loop;
53       end if;
54    end if;
55   end rosetta_table_copy_in_p40;
56   procedure rosetta_table_copy_out_p40(t csd_rules_engine_pvt.csd_rule_condition_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
57     , a1 out nocopy JTF_NUMBER_TABLE
58     , a2 out nocopy JTF_VARCHAR2_TABLE_100
59     , a3 out nocopy JTF_VARCHAR2_TABLE_200
60     , a4 out nocopy JTF_VARCHAR2_TABLE_200
61     , a5 out nocopy JTF_VARCHAR2_TABLE_200
62     , a6 out nocopy JTF_VARCHAR2_TABLE_200
63     , a7 out nocopy JTF_VARCHAR2_TABLE_200
64     , a8 out nocopy JTF_VARCHAR2_TABLE_200
65     , a9 out nocopy JTF_VARCHAR2_TABLE_200
66     , a10 out nocopy JTF_VARCHAR2_TABLE_200
67     , a11 out nocopy JTF_VARCHAR2_TABLE_200
68     , a12 out nocopy JTF_VARCHAR2_TABLE_200
69     , a13 out nocopy JTF_VARCHAR2_TABLE_200
70     , a14 out nocopy JTF_VARCHAR2_TABLE_200
71     , a15 out nocopy JTF_VARCHAR2_TABLE_200
72     , a16 out nocopy JTF_VARCHAR2_TABLE_200
73     , a17 out nocopy JTF_VARCHAR2_TABLE_200
74     ) as
75     ddindx binary_integer; indx binary_integer;
76   begin
77   if t is null or t.count = 0 then
78     a0 := JTF_NUMBER_TABLE();
79     a1 := JTF_NUMBER_TABLE();
80     a2 := JTF_VARCHAR2_TABLE_100();
81     a3 := JTF_VARCHAR2_TABLE_200();
82     a4 := JTF_VARCHAR2_TABLE_200();
83     a5 := JTF_VARCHAR2_TABLE_200();
84     a6 := JTF_VARCHAR2_TABLE_200();
85     a7 := JTF_VARCHAR2_TABLE_200();
86     a8 := JTF_VARCHAR2_TABLE_200();
87     a9 := JTF_VARCHAR2_TABLE_200();
88     a10 := JTF_VARCHAR2_TABLE_200();
89     a11 := JTF_VARCHAR2_TABLE_200();
90     a12 := JTF_VARCHAR2_TABLE_200();
91     a13 := JTF_VARCHAR2_TABLE_200();
92     a14 := JTF_VARCHAR2_TABLE_200();
93     a15 := JTF_VARCHAR2_TABLE_200();
94     a16 := JTF_VARCHAR2_TABLE_200();
95     a17 := JTF_VARCHAR2_TABLE_200();
96   else
97       a0 := JTF_NUMBER_TABLE();
98       a1 := JTF_NUMBER_TABLE();
99       a2 := JTF_VARCHAR2_TABLE_100();
100       a3 := JTF_VARCHAR2_TABLE_200();
101       a4 := JTF_VARCHAR2_TABLE_200();
102       a5 := JTF_VARCHAR2_TABLE_200();
103       a6 := JTF_VARCHAR2_TABLE_200();
104       a7 := JTF_VARCHAR2_TABLE_200();
105       a8 := JTF_VARCHAR2_TABLE_200();
106       a9 := JTF_VARCHAR2_TABLE_200();
107       a10 := JTF_VARCHAR2_TABLE_200();
108       a11 := JTF_VARCHAR2_TABLE_200();
109       a12 := JTF_VARCHAR2_TABLE_200();
110       a13 := JTF_VARCHAR2_TABLE_200();
111       a14 := JTF_VARCHAR2_TABLE_200();
112       a15 := JTF_VARCHAR2_TABLE_200();
113       a16 := JTF_VARCHAR2_TABLE_200();
114       a17 := JTF_VARCHAR2_TABLE_200();
115       if t.count > 0 then
116         a0.extend(t.count);
117         a1.extend(t.count);
118         a2.extend(t.count);
119         a3.extend(t.count);
120         a4.extend(t.count);
121         a5.extend(t.count);
122         a6.extend(t.count);
123         a7.extend(t.count);
124         a8.extend(t.count);
125         a9.extend(t.count);
126         a10.extend(t.count);
127         a11.extend(t.count);
128         a12.extend(t.count);
129         a13.extend(t.count);
130         a14.extend(t.count);
131         a15.extend(t.count);
132         a16.extend(t.count);
133         a17.extend(t.count);
134         ddindx := t.first;
135         indx := 1;
136         while true loop
137           a0(indx) := t(ddindx).rule_condition_id;
138           a1(indx) := t(ddindx).rule_id;
139           a2(indx) := t(ddindx).attribute_category;
140           a3(indx) := t(ddindx).attribute1;
141           a4(indx) := t(ddindx).attribute2;
142           a5(indx) := t(ddindx).attribute3;
143           a6(indx) := t(ddindx).attribute4;
144           a7(indx) := t(ddindx).attribute5;
145           a8(indx) := t(ddindx).attribute6;
146           a9(indx) := t(ddindx).attribute7;
147           a10(indx) := t(ddindx).attribute8;
148           a11(indx) := t(ddindx).attribute9;
149           a12(indx) := t(ddindx).attribute10;
150           a13(indx) := t(ddindx).attribute11;
151           a14(indx) := t(ddindx).attribute12;
152           a15(indx) := t(ddindx).attribute13;
153           a16(indx) := t(ddindx).attribute14;
154           a17(indx) := t(ddindx).attribute15;
155           indx := indx+1;
156           if t.last =ddindx
157             then exit;
158           end if;
159           ddindx := t.next(ddindx);
160         end loop;
161       end if;
162    end if;
163   end rosetta_table_copy_out_p40;
164 
165   procedure rosetta_table_copy_in_p43(t out nocopy csd_rules_engine_pvt.csd_rule_results_tbl_type, a0 JTF_NUMBER_TABLE
166     , a1 JTF_VARCHAR2_TABLE_200
167     , a2 JTF_VARCHAR2_TABLE_100
168     , a3 JTF_NUMBER_TABLE
169     , a4 JTF_VARCHAR2_TABLE_100
170     , a5 JTF_VARCHAR2_TABLE_200
171     ) as
172     ddindx binary_integer; indx binary_integer;
173   begin
174   if a0 is not null and a0.count > 0 then
175       if a0.count > 0 then
176         indx := a0.first;
177         ddindx := 1;
178         while true loop
179           t(ddindx).rule_id := a0(indx);
180           t(ddindx).defaulting_value := a1(indx);
181           t(ddindx).value_type := a2(indx);
182           t(ddindx).ro_flow_status_id := a3(indx);
183           t(ddindx).flow_status_reason_code := a4(indx);
184           t(ddindx).action := a5(indx);
185           ddindx := ddindx+1;
186           if a0.last =indx
187             then exit;
188           end if;
189           indx := a0.next(indx);
190         end loop;
191       end if;
192    end if;
193   end rosetta_table_copy_in_p43;
194   procedure rosetta_table_copy_out_p43(t csd_rules_engine_pvt.csd_rule_results_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
195     , a1 out nocopy JTF_VARCHAR2_TABLE_200
196     , a2 out nocopy JTF_VARCHAR2_TABLE_100
197     , a3 out nocopy JTF_NUMBER_TABLE
198     , a4 out nocopy JTF_VARCHAR2_TABLE_100
199     , a5 out nocopy JTF_VARCHAR2_TABLE_200
200     ) as
201     ddindx binary_integer; indx binary_integer;
202   begin
203   if t is null or t.count = 0 then
204     a0 := JTF_NUMBER_TABLE();
205     a1 := JTF_VARCHAR2_TABLE_200();
206     a2 := JTF_VARCHAR2_TABLE_100();
207     a3 := JTF_NUMBER_TABLE();
208     a4 := JTF_VARCHAR2_TABLE_100();
209     a5 := JTF_VARCHAR2_TABLE_200();
210   else
211       a0 := JTF_NUMBER_TABLE();
212       a1 := JTF_VARCHAR2_TABLE_200();
213       a2 := JTF_VARCHAR2_TABLE_100();
214       a3 := JTF_NUMBER_TABLE();
215       a4 := JTF_VARCHAR2_TABLE_100();
216       a5 := JTF_VARCHAR2_TABLE_200();
217       if t.count > 0 then
218         a0.extend(t.count);
219         a1.extend(t.count);
220         a2.extend(t.count);
221         a3.extend(t.count);
222         a4.extend(t.count);
223         a5.extend(t.count);
224         ddindx := t.first;
225         indx := 1;
226         while true loop
227           a0(indx) := t(ddindx).rule_id;
228           a1(indx) := t(ddindx).defaulting_value;
229           a2(indx) := t(ddindx).value_type;
230           a3(indx) := t(ddindx).ro_flow_status_id;
231           a4(indx) := t(ddindx).flow_status_reason_code;
232           a5(indx) := t(ddindx).action;
233           indx := indx+1;
234           if t.last =ddindx
235             then exit;
236           end if;
237           ddindx := t.next(ddindx);
238         end loop;
239       end if;
240    end if;
241   end rosetta_table_copy_out_p43;
242 
243   procedure soo_defaulting(p_api_version_number  NUMBER
244     , p_init_msg_list  VARCHAR2
245     , p_commit  VARCHAR2
246     , p_validation_level  NUMBER
247     , p_event_type  VARCHAR2
248     , p5_a0  NUMBER
249     , p5_a1  NUMBER
250     , p5_a2  NUMBER
251     , p5_a3  NUMBER
252     , p5_a4  NUMBER
253     , p5_a5  NUMBER
254     , p5_a6  NUMBER
255     , p5_a7  NUMBER
256     , p5_a8  VARCHAR2
257     , p5_a9  NUMBER
258     , p5_a10  NUMBER
259     , p5_a11  NUMBER
260     , p5_a12  NUMBER
261     , p5_a13  NUMBER
262     , p5_a14  NUMBER
263     , p5_a15  NUMBER
264     , p5_a16  NUMBER
265     , p5_a17  NUMBER
266     , p5_a18  VARCHAR2
267     , p5_a19  VARCHAR2
268     , p5_a20  VARCHAR2
269     , p5_a21  VARCHAR2
270     , p5_a22  VARCHAR2
271     , p5_a23  VARCHAR2
272     , p5_a24  VARCHAR2
273     , p5_a25  VARCHAR2
274     , p5_a26  NUMBER
275     , p5_a27  NUMBER
276     , p5_a28  NUMBER
277     , p5_a29  VARCHAR2
278     , p5_a30  VARCHAR2
279     , p5_a31  VARCHAR2
280     , p5_a32  VARCHAR2
281     , p5_a33  VARCHAR2
282     , p5_a34  VARCHAR2
283     , p5_a35  VARCHAR2
284     , p5_a36  VARCHAR2
285     , p5_a37  NUMBER
286     , p5_a38  NUMBER
287     , p5_a39  NUMBER
288     , p5_a40  NUMBER
289     , p5_a41  VARCHAR2
290     , p5_a42  VARCHAR2
291     , p5_a43  NUMBER
292     , p5_a44  NUMBER
293     , p5_a45  NUMBER
294     , x_rule_id out nocopy  NUMBER
295     , x_return_status out nocopy  VARCHAR2
296     , x_msg_count out nocopy  NUMBER
297     , x_msg_data out nocopy  VARCHAR2
298   )
299 
300   as
301     ddp_rule_input_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
302     ddindx binary_integer; indx binary_integer;
303   begin
304 
305     -- copy data to the local IN or IN-OUT args, if any
306 
307 
308 
309 
310 
311     ddp_rule_input_rec.repair_line_id := p5_a0;
312     ddp_rule_input_rec.sr_customer_id := p5_a1;
313     ddp_rule_input_rec.sr_customer_account_id := p5_a2;
314     ddp_rule_input_rec.sr_bill_to_site_use_id := p5_a3;
315     ddp_rule_input_rec.sr_ship_to_site_use_id := p5_a4;
316     ddp_rule_input_rec.sr_item_id := p5_a5;
317     ddp_rule_input_rec.sr_item_category_id := p5_a6;
318     ddp_rule_input_rec.sr_contract_id := p5_a7;
319     ddp_rule_input_rec.sr_problem_code := p5_a8;
320     ddp_rule_input_rec.sr_instance_id := p5_a9;
321     ddp_rule_input_rec.ro_item_id := p5_a10;
322     ddp_rule_input_rec.wip_entity_id := p5_a11;
323     ddp_rule_input_rec.wip_mtl_txn_item_id := p5_a12;
324     ddp_rule_input_rec.wip_entity_item_id := p5_a13;
325     ddp_rule_input_rec.wip_inv_org_id := p5_a14;
326     ddp_rule_input_rec.sr_prev_status_id := p5_a15;
327     ddp_rule_input_rec.sr_task_prev_status_id := p5_a16;
328     ddp_rule_input_rec.job_prev_status_id := p5_a17;
329     ddp_rule_input_rec.pr_prev_status_code := p5_a18;
330     ddp_rule_input_rec.ir_prev_status_code := p5_a19;
331     ddp_rule_input_rec.rma_prev_status_code := p5_a20;
332     ddp_rule_input_rec.ship_prev_status_code := p5_a21;
333     ddp_rule_input_rec.rma_tp_prev_status_code := p5_a22;
334     ddp_rule_input_rec.ship_tp_prev_status_code := p5_a23;
335     ddp_rule_input_rec.delivery_prev_status_code := p5_a24;
336     ddp_rule_input_rec.int_so_prev_status_code := p5_a25;
337     ddp_rule_input_rec.sr_curr_status_id := p5_a26;
338     ddp_rule_input_rec.sr_task_curr_status_id := p5_a27;
339     ddp_rule_input_rec.job_curr_status_id := p5_a28;
340     ddp_rule_input_rec.pr_curr_status_code := p5_a29;
341     ddp_rule_input_rec.ir_curr_status_code := p5_a30;
342     ddp_rule_input_rec.rma_curr_status_code := p5_a31;
343     ddp_rule_input_rec.ship_curr_status_code := p5_a32;
344     ddp_rule_input_rec.rma_tp_curr_status_code := p5_a33;
345     ddp_rule_input_rec.ship_tp_curr_status_code := p5_a34;
346     ddp_rule_input_rec.delivery_curr_status_code := p5_a35;
347     ddp_rule_input_rec.int_so_curr_status_code := p5_a36;
348     ddp_rule_input_rec.ro_vendor_account_id := p5_a37;
349     ddp_rule_input_rec.ro_contract_id := p5_a38;
350     ddp_rule_input_rec.ro_flow_status_id := p5_a39;
354     ddp_rule_input_rec.wip_operating_unit_id := p5_a43;
351     ddp_rule_input_rec.ro_owner_id := p5_a40;
352     ddp_rule_input_rec.ro_priority_code := p5_a41;
353     ddp_rule_input_rec.wip_country := p5_a42;
355     ddp_rule_input_rec.ro_repair_type_id := p5_a44;
356     ddp_rule_input_rec.wip_mtl_disp_code_id := p5_a45;
357 
358 
359 
360 
361 
362     -- here's the delegated call to the old PL/SQL routine
363     csd_rules_engine_pvt.soo_defaulting(p_api_version_number,
364       p_init_msg_list,
365       p_commit,
366       p_validation_level,
367       p_event_type,
368       ddp_rule_input_rec,
369       x_rule_id,
370       x_return_status,
371       x_msg_count,
372       x_msg_data);
373 
374     -- copy data back from the local variables to OUT or IN-OUT args, if any
375 
376 
377 
378 
379 
380 
381 
382 
383 
384   end;
385 
386   procedure process_soo_rule(p_api_version_number  NUMBER
387     , p_init_msg_list  VARCHAR2
388     , p_commit  VARCHAR2
389     , p_validation_level  NUMBER
390     , p_ro_flow_status_id  NUMBER
391     , p_flow_status_reason_code  VARCHAR2
392     , p_action  VARCHAR2
393     , p7_a0  NUMBER
394     , p7_a1  NUMBER
395     , p7_a2  NUMBER
396     , p7_a3  NUMBER
397     , p7_a4  NUMBER
398     , p7_a5  NUMBER
399     , p7_a6  NUMBER
400     , p7_a7  NUMBER
401     , p7_a8  VARCHAR2
402     , p7_a9  NUMBER
403     , p7_a10  NUMBER
404     , p7_a11  NUMBER
405     , p7_a12  NUMBER
406     , p7_a13  NUMBER
407     , p7_a14  NUMBER
408     , p7_a15  NUMBER
409     , p7_a16  NUMBER
410     , p7_a17  NUMBER
411     , p7_a18  VARCHAR2
412     , p7_a19  VARCHAR2
413     , p7_a20  VARCHAR2
414     , p7_a21  VARCHAR2
415     , p7_a22  VARCHAR2
416     , p7_a23  VARCHAR2
417     , p7_a24  VARCHAR2
418     , p7_a25  VARCHAR2
419     , p7_a26  NUMBER
420     , p7_a27  NUMBER
421     , p7_a28  NUMBER
422     , p7_a29  VARCHAR2
423     , p7_a30  VARCHAR2
424     , p7_a31  VARCHAR2
425     , p7_a32  VARCHAR2
426     , p7_a33  VARCHAR2
427     , p7_a34  VARCHAR2
428     , p7_a35  VARCHAR2
429     , p7_a36  VARCHAR2
430     , p7_a37  NUMBER
431     , p7_a38  NUMBER
432     , p7_a39  NUMBER
433     , p7_a40  NUMBER
434     , p7_a41  VARCHAR2
435     , p7_a42  VARCHAR2
436     , p7_a43  NUMBER
437     , p7_a44  NUMBER
438     , p7_a45  NUMBER
439     , x_return_status out nocopy  VARCHAR2
440     , x_msg_count out nocopy  NUMBER
441     , x_msg_data out nocopy  VARCHAR2
442   )
443 
444   as
445     ddp_rule_input_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
446     ddindx binary_integer; indx binary_integer;
447   begin
448 
449     -- copy data to the local IN or IN-OUT args, if any
450 
451 
452 
453 
454 
455 
456 
457     ddp_rule_input_rec.repair_line_id := p7_a0;
458     ddp_rule_input_rec.sr_customer_id := p7_a1;
459     ddp_rule_input_rec.sr_customer_account_id := p7_a2;
460     ddp_rule_input_rec.sr_bill_to_site_use_id := p7_a3;
461     ddp_rule_input_rec.sr_ship_to_site_use_id := p7_a4;
462     ddp_rule_input_rec.sr_item_id := p7_a5;
463     ddp_rule_input_rec.sr_item_category_id := p7_a6;
464     ddp_rule_input_rec.sr_contract_id := p7_a7;
465     ddp_rule_input_rec.sr_problem_code := p7_a8;
466     ddp_rule_input_rec.sr_instance_id := p7_a9;
467     ddp_rule_input_rec.ro_item_id := p7_a10;
468     ddp_rule_input_rec.wip_entity_id := p7_a11;
469     ddp_rule_input_rec.wip_mtl_txn_item_id := p7_a12;
470     ddp_rule_input_rec.wip_entity_item_id := p7_a13;
471     ddp_rule_input_rec.wip_inv_org_id := p7_a14;
472     ddp_rule_input_rec.sr_prev_status_id := p7_a15;
473     ddp_rule_input_rec.sr_task_prev_status_id := p7_a16;
474     ddp_rule_input_rec.job_prev_status_id := p7_a17;
475     ddp_rule_input_rec.pr_prev_status_code := p7_a18;
476     ddp_rule_input_rec.ir_prev_status_code := p7_a19;
477     ddp_rule_input_rec.rma_prev_status_code := p7_a20;
478     ddp_rule_input_rec.ship_prev_status_code := p7_a21;
479     ddp_rule_input_rec.rma_tp_prev_status_code := p7_a22;
480     ddp_rule_input_rec.ship_tp_prev_status_code := p7_a23;
481     ddp_rule_input_rec.delivery_prev_status_code := p7_a24;
482     ddp_rule_input_rec.int_so_prev_status_code := p7_a25;
483     ddp_rule_input_rec.sr_curr_status_id := p7_a26;
484     ddp_rule_input_rec.sr_task_curr_status_id := p7_a27;
485     ddp_rule_input_rec.job_curr_status_id := p7_a28;
486     ddp_rule_input_rec.pr_curr_status_code := p7_a29;
487     ddp_rule_input_rec.ir_curr_status_code := p7_a30;
488     ddp_rule_input_rec.rma_curr_status_code := p7_a31;
489     ddp_rule_input_rec.ship_curr_status_code := p7_a32;
490     ddp_rule_input_rec.rma_tp_curr_status_code := p7_a33;
491     ddp_rule_input_rec.ship_tp_curr_status_code := p7_a34;
492     ddp_rule_input_rec.delivery_curr_status_code := p7_a35;
493     ddp_rule_input_rec.int_so_curr_status_code := p7_a36;
494     ddp_rule_input_rec.ro_vendor_account_id := p7_a37;
495     ddp_rule_input_rec.ro_contract_id := p7_a38;
496     ddp_rule_input_rec.ro_flow_status_id := p7_a39;
497     ddp_rule_input_rec.ro_owner_id := p7_a40;
498     ddp_rule_input_rec.ro_priority_code := p7_a41;
499     ddp_rule_input_rec.wip_country := p7_a42;
500     ddp_rule_input_rec.wip_operating_unit_id := p7_a43;
501     ddp_rule_input_rec.ro_repair_type_id := p7_a44;
502     ddp_rule_input_rec.wip_mtl_disp_code_id := p7_a45;
503 
504 
505 
506 
507     -- here's the delegated call to the old PL/SQL routine
508     csd_rules_engine_pvt.process_soo_rule(p_api_version_number,
509       p_init_msg_list,
510       p_commit,
514       p_action,
511       p_validation_level,
512       p_ro_flow_status_id,
513       p_flow_status_reason_code,
515       ddp_rule_input_rec,
516       x_return_status,
517       x_msg_count,
518       x_msg_data);
519 
520     -- copy data back from the local variables to OUT or IN-OUT args, if any
521 
522 
523 
524 
525 
526 
527 
528 
529 
530 
531   end;
532 
533   procedure get_default_value_from_rule(p_api_version_number  NUMBER
534     , p_init_msg_list  VARCHAR2
535     , p_commit  VARCHAR2
536     , p_validation_level  NUMBER
537     , p_entity_attribute_type  VARCHAR2
538     , p_entity_attribute_code  VARCHAR2
539     , p6_a0  NUMBER
540     , p6_a1  NUMBER
541     , p6_a2  NUMBER
542     , p6_a3  NUMBER
543     , p6_a4  NUMBER
544     , p6_a5  NUMBER
545     , p6_a6  NUMBER
546     , p6_a7  NUMBER
547     , p6_a8  VARCHAR2
548     , p6_a9  NUMBER
549     , p6_a10  NUMBER
550     , p6_a11  NUMBER
551     , p6_a12  NUMBER
552     , p6_a13  NUMBER
553     , p6_a14  NUMBER
554     , p6_a15  NUMBER
555     , p6_a16  NUMBER
556     , p6_a17  NUMBER
557     , p6_a18  VARCHAR2
558     , p6_a19  VARCHAR2
559     , p6_a20  VARCHAR2
560     , p6_a21  VARCHAR2
561     , p6_a22  VARCHAR2
562     , p6_a23  VARCHAR2
563     , p6_a24  VARCHAR2
564     , p6_a25  VARCHAR2
565     , p6_a26  NUMBER
566     , p6_a27  NUMBER
567     , p6_a28  NUMBER
568     , p6_a29  VARCHAR2
569     , p6_a30  VARCHAR2
570     , p6_a31  VARCHAR2
571     , p6_a32  VARCHAR2
572     , p6_a33  VARCHAR2
573     , p6_a34  VARCHAR2
574     , p6_a35  VARCHAR2
575     , p6_a36  VARCHAR2
576     , p6_a37  NUMBER
577     , p6_a38  NUMBER
578     , p6_a39  NUMBER
579     , p6_a40  NUMBER
580     , p6_a41  VARCHAR2
581     , p6_a42  VARCHAR2
582     , p6_a43  NUMBER
583     , p6_a44  NUMBER
584     , p6_a45  NUMBER
585     , x_default_value out nocopy  VARCHAR2
586     , x_rule_id out nocopy  NUMBER
587     , x_return_status out nocopy  VARCHAR2
588     , x_msg_count out nocopy  NUMBER
589     , x_msg_data out nocopy  VARCHAR2
590   )
591 
592   as
593     ddp_rule_input_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
594     ddindx binary_integer; indx binary_integer;
595   begin
596 
597     -- copy data to the local IN or IN-OUT args, if any
598 
599 
600 
601 
602 
603 
604     ddp_rule_input_rec.repair_line_id := p6_a0;
605     ddp_rule_input_rec.sr_customer_id := p6_a1;
606     ddp_rule_input_rec.sr_customer_account_id := p6_a2;
607     ddp_rule_input_rec.sr_bill_to_site_use_id := p6_a3;
608     ddp_rule_input_rec.sr_ship_to_site_use_id := p6_a4;
609     ddp_rule_input_rec.sr_item_id := p6_a5;
610     ddp_rule_input_rec.sr_item_category_id := p6_a6;
611     ddp_rule_input_rec.sr_contract_id := p6_a7;
612     ddp_rule_input_rec.sr_problem_code := p6_a8;
613     ddp_rule_input_rec.sr_instance_id := p6_a9;
614     ddp_rule_input_rec.ro_item_id := p6_a10;
615     ddp_rule_input_rec.wip_entity_id := p6_a11;
616     ddp_rule_input_rec.wip_mtl_txn_item_id := p6_a12;
617     ddp_rule_input_rec.wip_entity_item_id := p6_a13;
618     ddp_rule_input_rec.wip_inv_org_id := p6_a14;
619     ddp_rule_input_rec.sr_prev_status_id := p6_a15;
620     ddp_rule_input_rec.sr_task_prev_status_id := p6_a16;
621     ddp_rule_input_rec.job_prev_status_id := p6_a17;
622     ddp_rule_input_rec.pr_prev_status_code := p6_a18;
623     ddp_rule_input_rec.ir_prev_status_code := p6_a19;
624     ddp_rule_input_rec.rma_prev_status_code := p6_a20;
625     ddp_rule_input_rec.ship_prev_status_code := p6_a21;
626     ddp_rule_input_rec.rma_tp_prev_status_code := p6_a22;
627     ddp_rule_input_rec.ship_tp_prev_status_code := p6_a23;
628     ddp_rule_input_rec.delivery_prev_status_code := p6_a24;
629     ddp_rule_input_rec.int_so_prev_status_code := p6_a25;
630     ddp_rule_input_rec.sr_curr_status_id := p6_a26;
631     ddp_rule_input_rec.sr_task_curr_status_id := p6_a27;
632     ddp_rule_input_rec.job_curr_status_id := p6_a28;
633     ddp_rule_input_rec.pr_curr_status_code := p6_a29;
634     ddp_rule_input_rec.ir_curr_status_code := p6_a30;
635     ddp_rule_input_rec.rma_curr_status_code := p6_a31;
636     ddp_rule_input_rec.ship_curr_status_code := p6_a32;
637     ddp_rule_input_rec.rma_tp_curr_status_code := p6_a33;
638     ddp_rule_input_rec.ship_tp_curr_status_code := p6_a34;
639     ddp_rule_input_rec.delivery_curr_status_code := p6_a35;
640     ddp_rule_input_rec.int_so_curr_status_code := p6_a36;
641     ddp_rule_input_rec.ro_vendor_account_id := p6_a37;
642     ddp_rule_input_rec.ro_contract_id := p6_a38;
643     ddp_rule_input_rec.ro_flow_status_id := p6_a39;
644     ddp_rule_input_rec.ro_owner_id := p6_a40;
645     ddp_rule_input_rec.ro_priority_code := p6_a41;
646     ddp_rule_input_rec.wip_country := p6_a42;
647     ddp_rule_input_rec.wip_operating_unit_id := p6_a43;
648     ddp_rule_input_rec.ro_repair_type_id := p6_a44;
649     ddp_rule_input_rec.wip_mtl_disp_code_id := p6_a45;
650 
651 
652 
653 
654 
655 
656     -- here's the delegated call to the old PL/SQL routine
657     csd_rules_engine_pvt.get_default_value_from_rule(p_api_version_number,
658       p_init_msg_list,
659       p_commit,
660       p_validation_level,
661       p_entity_attribute_type,
662       p_entity_attribute_code,
663       ddp_rule_input_rec,
664       x_default_value,
665       x_rule_id,
666       x_return_status,
667       x_msg_count,
668       x_msg_data);
669 
670     -- copy data back from the local variables to OUT or IN-OUT args, if any
671 
672 
673 
677 
674 
675 
676 
678 
679 
680 
681 
682   end;
683 
684   procedure get_default_value_from_rule(p_api_version_number  NUMBER
685     , p_init_msg_list  VARCHAR2
686     , p_commit  VARCHAR2
687     , p_validation_level  NUMBER
688     , p_entity_attribute_type  VARCHAR2
689     , p_entity_attribute_code  VARCHAR2
690     , p6_a0  NUMBER
691     , p6_a1  NUMBER
692     , p6_a2  NUMBER
693     , p6_a3  NUMBER
694     , p6_a4  NUMBER
695     , p6_a5  NUMBER
696     , p6_a6  NUMBER
697     , p6_a7  NUMBER
698     , p6_a8  VARCHAR2
699     , p6_a9  NUMBER
700     , p6_a10  NUMBER
701     , p6_a11  NUMBER
702     , p6_a12  NUMBER
703     , p6_a13  NUMBER
704     , p6_a14  NUMBER
705     , p6_a15  NUMBER
706     , p6_a16  NUMBER
707     , p6_a17  NUMBER
708     , p6_a18  VARCHAR2
709     , p6_a19  VARCHAR2
710     , p6_a20  VARCHAR2
711     , p6_a21  VARCHAR2
712     , p6_a22  VARCHAR2
713     , p6_a23  VARCHAR2
714     , p6_a24  VARCHAR2
715     , p6_a25  VARCHAR2
716     , p6_a26  NUMBER
717     , p6_a27  NUMBER
718     , p6_a28  NUMBER
719     , p6_a29  VARCHAR2
720     , p6_a30  VARCHAR2
721     , p6_a31  VARCHAR2
722     , p6_a32  VARCHAR2
723     , p6_a33  VARCHAR2
724     , p6_a34  VARCHAR2
725     , p6_a35  VARCHAR2
726     , p6_a36  VARCHAR2
727     , p6_a37  NUMBER
728     , p6_a38  NUMBER
729     , p6_a39  NUMBER
730     , p6_a40  NUMBER
731     , p6_a41  VARCHAR2
732     , p6_a42  VARCHAR2
733     , p6_a43  NUMBER
734     , p6_a44  NUMBER
735     , p6_a45  NUMBER
736     , x_default_value out nocopy  NUMBER
737     , x_rule_id out nocopy  NUMBER
738     , x_return_status out nocopy  VARCHAR2
739     , x_msg_count out nocopy  NUMBER
740     , x_msg_data out nocopy  VARCHAR2
741   )
742 
743   as
744     ddp_rule_input_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
745     ddindx binary_integer; indx binary_integer;
746   begin
747 
748     -- copy data to the local IN or IN-OUT args, if any
749 
750 
751 
752 
753 
754 
755     ddp_rule_input_rec.repair_line_id := p6_a0;
756     ddp_rule_input_rec.sr_customer_id := p6_a1;
757     ddp_rule_input_rec.sr_customer_account_id := p6_a2;
758     ddp_rule_input_rec.sr_bill_to_site_use_id := p6_a3;
759     ddp_rule_input_rec.sr_ship_to_site_use_id := p6_a4;
760     ddp_rule_input_rec.sr_item_id := p6_a5;
761     ddp_rule_input_rec.sr_item_category_id := p6_a6;
762     ddp_rule_input_rec.sr_contract_id := p6_a7;
763     ddp_rule_input_rec.sr_problem_code := p6_a8;
764     ddp_rule_input_rec.sr_instance_id := p6_a9;
765     ddp_rule_input_rec.ro_item_id := p6_a10;
766     ddp_rule_input_rec.wip_entity_id := p6_a11;
767     ddp_rule_input_rec.wip_mtl_txn_item_id := p6_a12;
768     ddp_rule_input_rec.wip_entity_item_id := p6_a13;
769     ddp_rule_input_rec.wip_inv_org_id := p6_a14;
770     ddp_rule_input_rec.sr_prev_status_id := p6_a15;
771     ddp_rule_input_rec.sr_task_prev_status_id := p6_a16;
772     ddp_rule_input_rec.job_prev_status_id := p6_a17;
773     ddp_rule_input_rec.pr_prev_status_code := p6_a18;
774     ddp_rule_input_rec.ir_prev_status_code := p6_a19;
775     ddp_rule_input_rec.rma_prev_status_code := p6_a20;
776     ddp_rule_input_rec.ship_prev_status_code := p6_a21;
777     ddp_rule_input_rec.rma_tp_prev_status_code := p6_a22;
778     ddp_rule_input_rec.ship_tp_prev_status_code := p6_a23;
779     ddp_rule_input_rec.delivery_prev_status_code := p6_a24;
780     ddp_rule_input_rec.int_so_prev_status_code := p6_a25;
781     ddp_rule_input_rec.sr_curr_status_id := p6_a26;
782     ddp_rule_input_rec.sr_task_curr_status_id := p6_a27;
783     ddp_rule_input_rec.job_curr_status_id := p6_a28;
784     ddp_rule_input_rec.pr_curr_status_code := p6_a29;
785     ddp_rule_input_rec.ir_curr_status_code := p6_a30;
786     ddp_rule_input_rec.rma_curr_status_code := p6_a31;
787     ddp_rule_input_rec.ship_curr_status_code := p6_a32;
788     ddp_rule_input_rec.rma_tp_curr_status_code := p6_a33;
789     ddp_rule_input_rec.ship_tp_curr_status_code := p6_a34;
790     ddp_rule_input_rec.delivery_curr_status_code := p6_a35;
791     ddp_rule_input_rec.int_so_curr_status_code := p6_a36;
792     ddp_rule_input_rec.ro_vendor_account_id := p6_a37;
793     ddp_rule_input_rec.ro_contract_id := p6_a38;
794     ddp_rule_input_rec.ro_flow_status_id := p6_a39;
795     ddp_rule_input_rec.ro_owner_id := p6_a40;
796     ddp_rule_input_rec.ro_priority_code := p6_a41;
797     ddp_rule_input_rec.wip_country := p6_a42;
798     ddp_rule_input_rec.wip_operating_unit_id := p6_a43;
799     ddp_rule_input_rec.ro_repair_type_id := p6_a44;
800     ddp_rule_input_rec.wip_mtl_disp_code_id := p6_a45;
801 
802 
803 
804 
805 
806 
807     -- here's the delegated call to the old PL/SQL routine
808     csd_rules_engine_pvt.get_default_value_from_rule(p_api_version_number,
809       p_init_msg_list,
810       p_commit,
811       p_validation_level,
812       p_entity_attribute_type,
813       p_entity_attribute_code,
814       ddp_rule_input_rec,
815       x_default_value,
816       x_rule_id,
817       x_return_status,
818       x_msg_count,
819       x_msg_data);
820 
821     -- copy data back from the local variables to OUT or IN-OUT args, if any
822 
823 
824 
825 
826 
827 
828 
829 
830 
831 
832 
833   end;
834 
835   procedure get_default_value_from_rule(p_api_version_number  NUMBER
836     , p_init_msg_list  VARCHAR2
837     , p_commit  VARCHAR2
838     , p_validation_level  NUMBER
839     , p_entity_attribute_type  VARCHAR2
843     , p6_a2  NUMBER
840     , p_entity_attribute_code  VARCHAR2
841     , p6_a0  NUMBER
842     , p6_a1  NUMBER
844     , p6_a3  NUMBER
845     , p6_a4  NUMBER
846     , p6_a5  NUMBER
847     , p6_a6  NUMBER
848     , p6_a7  NUMBER
849     , p6_a8  VARCHAR2
850     , p6_a9  NUMBER
851     , p6_a10  NUMBER
852     , p6_a11  NUMBER
853     , p6_a12  NUMBER
854     , p6_a13  NUMBER
855     , p6_a14  NUMBER
856     , p6_a15  NUMBER
857     , p6_a16  NUMBER
858     , p6_a17  NUMBER
859     , p6_a18  VARCHAR2
860     , p6_a19  VARCHAR2
861     , p6_a20  VARCHAR2
862     , p6_a21  VARCHAR2
863     , p6_a22  VARCHAR2
864     , p6_a23  VARCHAR2
865     , p6_a24  VARCHAR2
866     , p6_a25  VARCHAR2
867     , p6_a26  NUMBER
868     , p6_a27  NUMBER
869     , p6_a28  NUMBER
870     , p6_a29  VARCHAR2
871     , p6_a30  VARCHAR2
872     , p6_a31  VARCHAR2
873     , p6_a32  VARCHAR2
874     , p6_a33  VARCHAR2
875     , p6_a34  VARCHAR2
876     , p6_a35  VARCHAR2
877     , p6_a36  VARCHAR2
878     , p6_a37  NUMBER
879     , p6_a38  NUMBER
880     , p6_a39  NUMBER
881     , p6_a40  NUMBER
882     , p6_a41  VARCHAR2
883     , p6_a42  VARCHAR2
884     , p6_a43  NUMBER
885     , p6_a44  NUMBER
886     , p6_a45  NUMBER
887     , x_default_value out nocopy  DATE
888     , x_rule_id out nocopy  NUMBER
889     , x_return_status out nocopy  VARCHAR2
890     , x_msg_count out nocopy  NUMBER
891     , x_msg_data out nocopy  VARCHAR2
892   )
893 
894   as
895     ddp_rule_input_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
896     ddindx binary_integer; indx binary_integer;
897   begin
898 
899     -- copy data to the local IN or IN-OUT args, if any
900 
901 
902 
903 
904 
905 
906     ddp_rule_input_rec.repair_line_id := p6_a0;
907     ddp_rule_input_rec.sr_customer_id := p6_a1;
908     ddp_rule_input_rec.sr_customer_account_id := p6_a2;
909     ddp_rule_input_rec.sr_bill_to_site_use_id := p6_a3;
910     ddp_rule_input_rec.sr_ship_to_site_use_id := p6_a4;
911     ddp_rule_input_rec.sr_item_id := p6_a5;
912     ddp_rule_input_rec.sr_item_category_id := p6_a6;
913     ddp_rule_input_rec.sr_contract_id := p6_a7;
914     ddp_rule_input_rec.sr_problem_code := p6_a8;
915     ddp_rule_input_rec.sr_instance_id := p6_a9;
916     ddp_rule_input_rec.ro_item_id := p6_a10;
917     ddp_rule_input_rec.wip_entity_id := p6_a11;
918     ddp_rule_input_rec.wip_mtl_txn_item_id := p6_a12;
919     ddp_rule_input_rec.wip_entity_item_id := p6_a13;
920     ddp_rule_input_rec.wip_inv_org_id := p6_a14;
921     ddp_rule_input_rec.sr_prev_status_id := p6_a15;
922     ddp_rule_input_rec.sr_task_prev_status_id := p6_a16;
923     ddp_rule_input_rec.job_prev_status_id := p6_a17;
924     ddp_rule_input_rec.pr_prev_status_code := p6_a18;
925     ddp_rule_input_rec.ir_prev_status_code := p6_a19;
926     ddp_rule_input_rec.rma_prev_status_code := p6_a20;
927     ddp_rule_input_rec.ship_prev_status_code := p6_a21;
928     ddp_rule_input_rec.rma_tp_prev_status_code := p6_a22;
929     ddp_rule_input_rec.ship_tp_prev_status_code := p6_a23;
930     ddp_rule_input_rec.delivery_prev_status_code := p6_a24;
931     ddp_rule_input_rec.int_so_prev_status_code := p6_a25;
932     ddp_rule_input_rec.sr_curr_status_id := p6_a26;
933     ddp_rule_input_rec.sr_task_curr_status_id := p6_a27;
934     ddp_rule_input_rec.job_curr_status_id := p6_a28;
935     ddp_rule_input_rec.pr_curr_status_code := p6_a29;
936     ddp_rule_input_rec.ir_curr_status_code := p6_a30;
937     ddp_rule_input_rec.rma_curr_status_code := p6_a31;
938     ddp_rule_input_rec.ship_curr_status_code := p6_a32;
939     ddp_rule_input_rec.rma_tp_curr_status_code := p6_a33;
940     ddp_rule_input_rec.ship_tp_curr_status_code := p6_a34;
941     ddp_rule_input_rec.delivery_curr_status_code := p6_a35;
942     ddp_rule_input_rec.int_so_curr_status_code := p6_a36;
943     ddp_rule_input_rec.ro_vendor_account_id := p6_a37;
944     ddp_rule_input_rec.ro_contract_id := p6_a38;
945     ddp_rule_input_rec.ro_flow_status_id := p6_a39;
946     ddp_rule_input_rec.ro_owner_id := p6_a40;
947     ddp_rule_input_rec.ro_priority_code := p6_a41;
948     ddp_rule_input_rec.wip_country := p6_a42;
949     ddp_rule_input_rec.wip_operating_unit_id := p6_a43;
950     ddp_rule_input_rec.ro_repair_type_id := p6_a44;
951     ddp_rule_input_rec.wip_mtl_disp_code_id := p6_a45;
952 
953 
954 
955 
956 
957 
958     -- here's the delegated call to the old PL/SQL routine
959     csd_rules_engine_pvt.get_default_value_from_rule(p_api_version_number,
960       p_init_msg_list,
961       p_commit,
962       p_validation_level,
963       p_entity_attribute_type,
964       p_entity_attribute_code,
965       ddp_rule_input_rec,
966       x_default_value,
967       x_rule_id,
968       x_return_status,
969       x_msg_count,
970       x_msg_data);
971 
972     -- copy data back from the local variables to OUT or IN-OUT args, if any
973 
974 
975 
976 
977 
978 
979 
980 
981 
982 
983 
984   end;
985 
986   function match_condition(p_parameter_type  VARCHAR2
987     , p_operator  VARCHAR2
988     , p_criterion  VARCHAR2
989     , p3_a0  NUMBER
990     , p3_a1  NUMBER
991     , p3_a2  NUMBER
992     , p3_a3  NUMBER
993     , p3_a4  NUMBER
994     , p3_a5  NUMBER
995     , p3_a6  NUMBER
996     , p3_a7  NUMBER
997     , p3_a8  VARCHAR2
998     , p3_a9  NUMBER
999     , p3_a10  NUMBER
1000     , p3_a11  NUMBER
1001     , p3_a12  NUMBER
1002     , p3_a13  NUMBER
1003     , p3_a14  NUMBER
1004     , p3_a15  NUMBER
1008     , p3_a19  VARCHAR2
1005     , p3_a16  NUMBER
1006     , p3_a17  NUMBER
1007     , p3_a18  VARCHAR2
1009     , p3_a20  VARCHAR2
1010     , p3_a21  VARCHAR2
1011     , p3_a22  VARCHAR2
1012     , p3_a23  VARCHAR2
1013     , p3_a24  VARCHAR2
1014     , p3_a25  VARCHAR2
1015     , p3_a26  NUMBER
1016     , p3_a27  NUMBER
1017     , p3_a28  NUMBER
1018     , p3_a29  VARCHAR2
1019     , p3_a30  VARCHAR2
1020     , p3_a31  VARCHAR2
1021     , p3_a32  VARCHAR2
1022     , p3_a33  VARCHAR2
1023     , p3_a34  VARCHAR2
1024     , p3_a35  VARCHAR2
1025     , p3_a36  VARCHAR2
1026     , p3_a37  NUMBER
1027     , p3_a38  NUMBER
1028     , p3_a39  NUMBER
1029     , p3_a40  NUMBER
1030     , p3_a41  VARCHAR2
1031     , p3_a42  VARCHAR2
1032     , p3_a43  NUMBER
1033     , p3_a44  NUMBER
1034     , p3_a45  NUMBER
1035   ) return varchar2
1036 
1037   as
1038     ddp_rule_input_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
1039     ddindx binary_integer; indx binary_integer;
1040     ddrosetta_retval varchar2(4000);
1041   begin
1042 
1043     -- copy data to the local IN or IN-OUT args, if any
1044 
1045 
1046 
1047     ddp_rule_input_rec.repair_line_id := p3_a0;
1048     ddp_rule_input_rec.sr_customer_id := p3_a1;
1049     ddp_rule_input_rec.sr_customer_account_id := p3_a2;
1050     ddp_rule_input_rec.sr_bill_to_site_use_id := p3_a3;
1051     ddp_rule_input_rec.sr_ship_to_site_use_id := p3_a4;
1052     ddp_rule_input_rec.sr_item_id := p3_a5;
1053     ddp_rule_input_rec.sr_item_category_id := p3_a6;
1054     ddp_rule_input_rec.sr_contract_id := p3_a7;
1055     ddp_rule_input_rec.sr_problem_code := p3_a8;
1056     ddp_rule_input_rec.sr_instance_id := p3_a9;
1057     ddp_rule_input_rec.ro_item_id := p3_a10;
1058     ddp_rule_input_rec.wip_entity_id := p3_a11;
1059     ddp_rule_input_rec.wip_mtl_txn_item_id := p3_a12;
1060     ddp_rule_input_rec.wip_entity_item_id := p3_a13;
1061     ddp_rule_input_rec.wip_inv_org_id := p3_a14;
1062     ddp_rule_input_rec.sr_prev_status_id := p3_a15;
1063     ddp_rule_input_rec.sr_task_prev_status_id := p3_a16;
1064     ddp_rule_input_rec.job_prev_status_id := p3_a17;
1065     ddp_rule_input_rec.pr_prev_status_code := p3_a18;
1066     ddp_rule_input_rec.ir_prev_status_code := p3_a19;
1067     ddp_rule_input_rec.rma_prev_status_code := p3_a20;
1068     ddp_rule_input_rec.ship_prev_status_code := p3_a21;
1069     ddp_rule_input_rec.rma_tp_prev_status_code := p3_a22;
1070     ddp_rule_input_rec.ship_tp_prev_status_code := p3_a23;
1071     ddp_rule_input_rec.delivery_prev_status_code := p3_a24;
1072     ddp_rule_input_rec.int_so_prev_status_code := p3_a25;
1073     ddp_rule_input_rec.sr_curr_status_id := p3_a26;
1074     ddp_rule_input_rec.sr_task_curr_status_id := p3_a27;
1075     ddp_rule_input_rec.job_curr_status_id := p3_a28;
1076     ddp_rule_input_rec.pr_curr_status_code := p3_a29;
1077     ddp_rule_input_rec.ir_curr_status_code := p3_a30;
1078     ddp_rule_input_rec.rma_curr_status_code := p3_a31;
1079     ddp_rule_input_rec.ship_curr_status_code := p3_a32;
1080     ddp_rule_input_rec.rma_tp_curr_status_code := p3_a33;
1081     ddp_rule_input_rec.ship_tp_curr_status_code := p3_a34;
1082     ddp_rule_input_rec.delivery_curr_status_code := p3_a35;
1083     ddp_rule_input_rec.int_so_curr_status_code := p3_a36;
1084     ddp_rule_input_rec.ro_vendor_account_id := p3_a37;
1085     ddp_rule_input_rec.ro_contract_id := p3_a38;
1086     ddp_rule_input_rec.ro_flow_status_id := p3_a39;
1087     ddp_rule_input_rec.ro_owner_id := p3_a40;
1088     ddp_rule_input_rec.ro_priority_code := p3_a41;
1089     ddp_rule_input_rec.wip_country := p3_a42;
1090     ddp_rule_input_rec.wip_operating_unit_id := p3_a43;
1091     ddp_rule_input_rec.ro_repair_type_id := p3_a44;
1092     ddp_rule_input_rec.wip_mtl_disp_code_id := p3_a45;
1093 
1094     -- here's the delegated call to the old PL/SQL routine
1095     ddrosetta_retval := csd_rules_engine_pvt.match_condition(p_parameter_type,
1096       p_operator,
1097       p_criterion,
1098       ddp_rule_input_rec);
1099 
1100     -- copy data back from the local variables to OUT or IN-OUT args, if any
1101 
1102 
1103 
1104 
1105     return ddrosetta_retval;
1106   end;
1107 
1108   procedure copy_rule_input_rec_values(p0_a0  NUMBER
1109     , p0_a1  NUMBER
1110     , p0_a2  NUMBER
1111     , p0_a3  NUMBER
1112     , p0_a4  NUMBER
1113     , p0_a5  NUMBER
1114     , p0_a6  NUMBER
1115     , p0_a7  NUMBER
1116     , p0_a8  VARCHAR2
1117     , p0_a9  NUMBER
1118     , p0_a10  NUMBER
1119     , p0_a11  NUMBER
1120     , p0_a12  NUMBER
1121     , p0_a13  NUMBER
1122     , p0_a14  NUMBER
1123     , p0_a15  NUMBER
1124     , p0_a16  NUMBER
1125     , p0_a17  NUMBER
1126     , p0_a18  VARCHAR2
1127     , p0_a19  VARCHAR2
1128     , p0_a20  VARCHAR2
1129     , p0_a21  VARCHAR2
1130     , p0_a22  VARCHAR2
1131     , p0_a23  VARCHAR2
1132     , p0_a24  VARCHAR2
1133     , p0_a25  VARCHAR2
1134     , p0_a26  NUMBER
1135     , p0_a27  NUMBER
1136     , p0_a28  NUMBER
1137     , p0_a29  VARCHAR2
1138     , p0_a30  VARCHAR2
1139     , p0_a31  VARCHAR2
1140     , p0_a32  VARCHAR2
1141     , p0_a33  VARCHAR2
1142     , p0_a34  VARCHAR2
1143     , p0_a35  VARCHAR2
1144     , p0_a36  VARCHAR2
1145     , p0_a37  NUMBER
1146     , p0_a38  NUMBER
1147     , p0_a39  NUMBER
1148     , p0_a40  NUMBER
1149     , p0_a41  VARCHAR2
1150     , p0_a42  VARCHAR2
1151     , p0_a43  NUMBER
1152     , p0_a44  NUMBER
1153     , p0_a45  NUMBER
1154     , p1_a0 in out nocopy  NUMBER
1155     , p1_a1 in out nocopy  NUMBER
1156     , p1_a2 in out nocopy  NUMBER
1157     , p1_a3 in out nocopy  NUMBER
1158     , p1_a4 in out nocopy  NUMBER
1159     , p1_a5 in out nocopy  NUMBER
1160     , p1_a6 in out nocopy  NUMBER
1164     , p1_a10 in out nocopy  NUMBER
1161     , p1_a7 in out nocopy  NUMBER
1162     , p1_a8 in out nocopy  VARCHAR2
1163     , p1_a9 in out nocopy  NUMBER
1165     , p1_a11 in out nocopy  NUMBER
1166     , p1_a12 in out nocopy  NUMBER
1167     , p1_a13 in out nocopy  NUMBER
1168     , p1_a14 in out nocopy  NUMBER
1169     , p1_a15 in out nocopy  NUMBER
1170     , p1_a16 in out nocopy  NUMBER
1171     , p1_a17 in out nocopy  NUMBER
1172     , p1_a18 in out nocopy  VARCHAR2
1173     , p1_a19 in out nocopy  VARCHAR2
1174     , p1_a20 in out nocopy  VARCHAR2
1175     , p1_a21 in out nocopy  VARCHAR2
1176     , p1_a22 in out nocopy  VARCHAR2
1177     , p1_a23 in out nocopy  VARCHAR2
1178     , p1_a24 in out nocopy  VARCHAR2
1179     , p1_a25 in out nocopy  VARCHAR2
1180     , p1_a26 in out nocopy  NUMBER
1181     , p1_a27 in out nocopy  NUMBER
1182     , p1_a28 in out nocopy  NUMBER
1183     , p1_a29 in out nocopy  VARCHAR2
1184     , p1_a30 in out nocopy  VARCHAR2
1185     , p1_a31 in out nocopy  VARCHAR2
1186     , p1_a32 in out nocopy  VARCHAR2
1187     , p1_a33 in out nocopy  VARCHAR2
1188     , p1_a34 in out nocopy  VARCHAR2
1189     , p1_a35 in out nocopy  VARCHAR2
1190     , p1_a36 in out nocopy  VARCHAR2
1191     , p1_a37 in out nocopy  NUMBER
1192     , p1_a38 in out nocopy  NUMBER
1193     , p1_a39 in out nocopy  NUMBER
1194     , p1_a40 in out nocopy  NUMBER
1195     , p1_a41 in out nocopy  VARCHAR2
1196     , p1_a42 in out nocopy  VARCHAR2
1197     , p1_a43 in out nocopy  NUMBER
1198     , p1_a44 in out nocopy  NUMBER
1199     , p1_a45 in out nocopy  NUMBER
1200   )
1201 
1202   as
1203     ddp_s_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
1204     ddpx_d_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
1205     ddindx binary_integer; indx binary_integer;
1206   begin
1207 
1208     -- copy data to the local IN or IN-OUT args, if any
1209     ddp_s_rec.repair_line_id := p0_a0;
1210     ddp_s_rec.sr_customer_id := p0_a1;
1211     ddp_s_rec.sr_customer_account_id := p0_a2;
1212     ddp_s_rec.sr_bill_to_site_use_id := p0_a3;
1213     ddp_s_rec.sr_ship_to_site_use_id := p0_a4;
1214     ddp_s_rec.sr_item_id := p0_a5;
1215     ddp_s_rec.sr_item_category_id := p0_a6;
1216     ddp_s_rec.sr_contract_id := p0_a7;
1217     ddp_s_rec.sr_problem_code := p0_a8;
1218     ddp_s_rec.sr_instance_id := p0_a9;
1219     ddp_s_rec.ro_item_id := p0_a10;
1220     ddp_s_rec.wip_entity_id := p0_a11;
1221     ddp_s_rec.wip_mtl_txn_item_id := p0_a12;
1222     ddp_s_rec.wip_entity_item_id := p0_a13;
1223     ddp_s_rec.wip_inv_org_id := p0_a14;
1224     ddp_s_rec.sr_prev_status_id := p0_a15;
1225     ddp_s_rec.sr_task_prev_status_id := p0_a16;
1226     ddp_s_rec.job_prev_status_id := p0_a17;
1227     ddp_s_rec.pr_prev_status_code := p0_a18;
1228     ddp_s_rec.ir_prev_status_code := p0_a19;
1229     ddp_s_rec.rma_prev_status_code := p0_a20;
1230     ddp_s_rec.ship_prev_status_code := p0_a21;
1231     ddp_s_rec.rma_tp_prev_status_code := p0_a22;
1232     ddp_s_rec.ship_tp_prev_status_code := p0_a23;
1233     ddp_s_rec.delivery_prev_status_code := p0_a24;
1234     ddp_s_rec.int_so_prev_status_code := p0_a25;
1235     ddp_s_rec.sr_curr_status_id := p0_a26;
1236     ddp_s_rec.sr_task_curr_status_id := p0_a27;
1237     ddp_s_rec.job_curr_status_id := p0_a28;
1238     ddp_s_rec.pr_curr_status_code := p0_a29;
1239     ddp_s_rec.ir_curr_status_code := p0_a30;
1240     ddp_s_rec.rma_curr_status_code := p0_a31;
1241     ddp_s_rec.ship_curr_status_code := p0_a32;
1242     ddp_s_rec.rma_tp_curr_status_code := p0_a33;
1243     ddp_s_rec.ship_tp_curr_status_code := p0_a34;
1244     ddp_s_rec.delivery_curr_status_code := p0_a35;
1245     ddp_s_rec.int_so_curr_status_code := p0_a36;
1246     ddp_s_rec.ro_vendor_account_id := p0_a37;
1247     ddp_s_rec.ro_contract_id := p0_a38;
1248     ddp_s_rec.ro_flow_status_id := p0_a39;
1249     ddp_s_rec.ro_owner_id := p0_a40;
1250     ddp_s_rec.ro_priority_code := p0_a41;
1251     ddp_s_rec.wip_country := p0_a42;
1252     ddp_s_rec.wip_operating_unit_id := p0_a43;
1253     ddp_s_rec.ro_repair_type_id := p0_a44;
1254     ddp_s_rec.wip_mtl_disp_code_id := p0_a45;
1255 
1256     ddpx_d_rec.repair_line_id := p1_a0;
1257     ddpx_d_rec.sr_customer_id := p1_a1;
1258     ddpx_d_rec.sr_customer_account_id := p1_a2;
1259     ddpx_d_rec.sr_bill_to_site_use_id := p1_a3;
1260     ddpx_d_rec.sr_ship_to_site_use_id := p1_a4;
1261     ddpx_d_rec.sr_item_id := p1_a5;
1262     ddpx_d_rec.sr_item_category_id := p1_a6;
1263     ddpx_d_rec.sr_contract_id := p1_a7;
1264     ddpx_d_rec.sr_problem_code := p1_a8;
1265     ddpx_d_rec.sr_instance_id := p1_a9;
1266     ddpx_d_rec.ro_item_id := p1_a10;
1267     ddpx_d_rec.wip_entity_id := p1_a11;
1268     ddpx_d_rec.wip_mtl_txn_item_id := p1_a12;
1269     ddpx_d_rec.wip_entity_item_id := p1_a13;
1270     ddpx_d_rec.wip_inv_org_id := p1_a14;
1271     ddpx_d_rec.sr_prev_status_id := p1_a15;
1272     ddpx_d_rec.sr_task_prev_status_id := p1_a16;
1273     ddpx_d_rec.job_prev_status_id := p1_a17;
1274     ddpx_d_rec.pr_prev_status_code := p1_a18;
1275     ddpx_d_rec.ir_prev_status_code := p1_a19;
1276     ddpx_d_rec.rma_prev_status_code := p1_a20;
1277     ddpx_d_rec.ship_prev_status_code := p1_a21;
1278     ddpx_d_rec.rma_tp_prev_status_code := p1_a22;
1279     ddpx_d_rec.ship_tp_prev_status_code := p1_a23;
1280     ddpx_d_rec.delivery_prev_status_code := p1_a24;
1281     ddpx_d_rec.int_so_prev_status_code := p1_a25;
1282     ddpx_d_rec.sr_curr_status_id := p1_a26;
1283     ddpx_d_rec.sr_task_curr_status_id := p1_a27;
1284     ddpx_d_rec.job_curr_status_id := p1_a28;
1285     ddpx_d_rec.pr_curr_status_code := p1_a29;
1286     ddpx_d_rec.ir_curr_status_code := p1_a30;
1287     ddpx_d_rec.rma_curr_status_code := p1_a31;
1288     ddpx_d_rec.ship_curr_status_code := p1_a32;
1289     ddpx_d_rec.rma_tp_curr_status_code := p1_a33;
1290     ddpx_d_rec.ship_tp_curr_status_code := p1_a34;
1291     ddpx_d_rec.delivery_curr_status_code := p1_a35;
1295     ddpx_d_rec.ro_flow_status_id := p1_a39;
1292     ddpx_d_rec.int_so_curr_status_code := p1_a36;
1293     ddpx_d_rec.ro_vendor_account_id := p1_a37;
1294     ddpx_d_rec.ro_contract_id := p1_a38;
1296     ddpx_d_rec.ro_owner_id := p1_a40;
1297     ddpx_d_rec.ro_priority_code := p1_a41;
1298     ddpx_d_rec.wip_country := p1_a42;
1299     ddpx_d_rec.wip_operating_unit_id := p1_a43;
1300     ddpx_d_rec.ro_repair_type_id := p1_a44;
1301     ddpx_d_rec.wip_mtl_disp_code_id := p1_a45;
1302 
1303     -- here's the delegated call to the old PL/SQL routine
1304     csd_rules_engine_pvt.copy_rule_input_rec_values(ddp_s_rec,
1305       ddpx_d_rec);
1306 
1307     -- copy data back from the local variables to OUT or IN-OUT args, if any
1308 
1309     p1_a0 := ddpx_d_rec.repair_line_id;
1310     p1_a1 := ddpx_d_rec.sr_customer_id;
1311     p1_a2 := ddpx_d_rec.sr_customer_account_id;
1312     p1_a3 := ddpx_d_rec.sr_bill_to_site_use_id;
1313     p1_a4 := ddpx_d_rec.sr_ship_to_site_use_id;
1314     p1_a5 := ddpx_d_rec.sr_item_id;
1315     p1_a6 := ddpx_d_rec.sr_item_category_id;
1316     p1_a7 := ddpx_d_rec.sr_contract_id;
1317     p1_a8 := ddpx_d_rec.sr_problem_code;
1318     p1_a9 := ddpx_d_rec.sr_instance_id;
1319     p1_a10 := ddpx_d_rec.ro_item_id;
1320     p1_a11 := ddpx_d_rec.wip_entity_id;
1321     p1_a12 := ddpx_d_rec.wip_mtl_txn_item_id;
1322     p1_a13 := ddpx_d_rec.wip_entity_item_id;
1323     p1_a14 := ddpx_d_rec.wip_inv_org_id;
1324     p1_a15 := ddpx_d_rec.sr_prev_status_id;
1325     p1_a16 := ddpx_d_rec.sr_task_prev_status_id;
1326     p1_a17 := ddpx_d_rec.job_prev_status_id;
1327     p1_a18 := ddpx_d_rec.pr_prev_status_code;
1328     p1_a19 := ddpx_d_rec.ir_prev_status_code;
1329     p1_a20 := ddpx_d_rec.rma_prev_status_code;
1330     p1_a21 := ddpx_d_rec.ship_prev_status_code;
1331     p1_a22 := ddpx_d_rec.rma_tp_prev_status_code;
1332     p1_a23 := ddpx_d_rec.ship_tp_prev_status_code;
1333     p1_a24 := ddpx_d_rec.delivery_prev_status_code;
1334     p1_a25 := ddpx_d_rec.int_so_prev_status_code;
1335     p1_a26 := ddpx_d_rec.sr_curr_status_id;
1336     p1_a27 := ddpx_d_rec.sr_task_curr_status_id;
1337     p1_a28 := ddpx_d_rec.job_curr_status_id;
1338     p1_a29 := ddpx_d_rec.pr_curr_status_code;
1339     p1_a30 := ddpx_d_rec.ir_curr_status_code;
1340     p1_a31 := ddpx_d_rec.rma_curr_status_code;
1341     p1_a32 := ddpx_d_rec.ship_curr_status_code;
1342     p1_a33 := ddpx_d_rec.rma_tp_curr_status_code;
1343     p1_a34 := ddpx_d_rec.ship_tp_curr_status_code;
1344     p1_a35 := ddpx_d_rec.delivery_curr_status_code;
1345     p1_a36 := ddpx_d_rec.int_so_curr_status_code;
1346     p1_a37 := ddpx_d_rec.ro_vendor_account_id;
1347     p1_a38 := ddpx_d_rec.ro_contract_id;
1348     p1_a39 := ddpx_d_rec.ro_flow_status_id;
1349     p1_a40 := ddpx_d_rec.ro_owner_id;
1350     p1_a41 := ddpx_d_rec.ro_priority_code;
1351     p1_a42 := ddpx_d_rec.wip_country;
1352     p1_a43 := ddpx_d_rec.wip_operating_unit_id;
1353     p1_a44 := ddpx_d_rec.ro_repair_type_id;
1354     p1_a45 := ddpx_d_rec.wip_mtl_disp_code_id;
1355   end;
1356 
1357   procedure populate_rule_input_rec(p0_a0 in out nocopy  NUMBER
1358     , p0_a1 in out nocopy  NUMBER
1359     , p0_a2 in out nocopy  NUMBER
1360     , p0_a3 in out nocopy  NUMBER
1361     , p0_a4 in out nocopy  NUMBER
1362     , p0_a5 in out nocopy  NUMBER
1363     , p0_a6 in out nocopy  NUMBER
1364     , p0_a7 in out nocopy  NUMBER
1365     , p0_a8 in out nocopy  VARCHAR2
1366     , p0_a9 in out nocopy  NUMBER
1367     , p0_a10 in out nocopy  NUMBER
1368     , p0_a11 in out nocopy  NUMBER
1369     , p0_a12 in out nocopy  NUMBER
1370     , p0_a13 in out nocopy  NUMBER
1371     , p0_a14 in out nocopy  NUMBER
1372     , p0_a15 in out nocopy  NUMBER
1373     , p0_a16 in out nocopy  NUMBER
1374     , p0_a17 in out nocopy  NUMBER
1375     , p0_a18 in out nocopy  VARCHAR2
1376     , p0_a19 in out nocopy  VARCHAR2
1377     , p0_a20 in out nocopy  VARCHAR2
1378     , p0_a21 in out nocopy  VARCHAR2
1379     , p0_a22 in out nocopy  VARCHAR2
1380     , p0_a23 in out nocopy  VARCHAR2
1381     , p0_a24 in out nocopy  VARCHAR2
1382     , p0_a25 in out nocopy  VARCHAR2
1383     , p0_a26 in out nocopy  NUMBER
1384     , p0_a27 in out nocopy  NUMBER
1385     , p0_a28 in out nocopy  NUMBER
1386     , p0_a29 in out nocopy  VARCHAR2
1387     , p0_a30 in out nocopy  VARCHAR2
1388     , p0_a31 in out nocopy  VARCHAR2
1389     , p0_a32 in out nocopy  VARCHAR2
1390     , p0_a33 in out nocopy  VARCHAR2
1391     , p0_a34 in out nocopy  VARCHAR2
1392     , p0_a35 in out nocopy  VARCHAR2
1393     , p0_a36 in out nocopy  VARCHAR2
1394     , p0_a37 in out nocopy  NUMBER
1395     , p0_a38 in out nocopy  NUMBER
1396     , p0_a39 in out nocopy  NUMBER
1397     , p0_a40 in out nocopy  NUMBER
1398     , p0_a41 in out nocopy  VARCHAR2
1399     , p0_a42 in out nocopy  VARCHAR2
1400     , p0_a43 in out nocopy  NUMBER
1401     , p0_a44 in out nocopy  NUMBER
1402     , p0_a45 in out nocopy  NUMBER
1403     , p_repair_line_id  NUMBER
1404   )
1405 
1406   as
1407     ddpx_rule_input_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
1408     ddindx binary_integer; indx binary_integer;
1409   begin
1410 
1411     -- copy data to the local IN or IN-OUT args, if any
1412     ddpx_rule_input_rec.repair_line_id := p0_a0;
1413     ddpx_rule_input_rec.sr_customer_id := p0_a1;
1414     ddpx_rule_input_rec.sr_customer_account_id := p0_a2;
1415     ddpx_rule_input_rec.sr_bill_to_site_use_id := p0_a3;
1416     ddpx_rule_input_rec.sr_ship_to_site_use_id := p0_a4;
1417     ddpx_rule_input_rec.sr_item_id := p0_a5;
1418     ddpx_rule_input_rec.sr_item_category_id := p0_a6;
1419     ddpx_rule_input_rec.sr_contract_id := p0_a7;
1420     ddpx_rule_input_rec.sr_problem_code := p0_a8;
1421     ddpx_rule_input_rec.sr_instance_id := p0_a9;
1422     ddpx_rule_input_rec.ro_item_id := p0_a10;
1423     ddpx_rule_input_rec.wip_entity_id := p0_a11;
1427     ddpx_rule_input_rec.sr_prev_status_id := p0_a15;
1424     ddpx_rule_input_rec.wip_mtl_txn_item_id := p0_a12;
1425     ddpx_rule_input_rec.wip_entity_item_id := p0_a13;
1426     ddpx_rule_input_rec.wip_inv_org_id := p0_a14;
1428     ddpx_rule_input_rec.sr_task_prev_status_id := p0_a16;
1429     ddpx_rule_input_rec.job_prev_status_id := p0_a17;
1430     ddpx_rule_input_rec.pr_prev_status_code := p0_a18;
1431     ddpx_rule_input_rec.ir_prev_status_code := p0_a19;
1432     ddpx_rule_input_rec.rma_prev_status_code := p0_a20;
1433     ddpx_rule_input_rec.ship_prev_status_code := p0_a21;
1434     ddpx_rule_input_rec.rma_tp_prev_status_code := p0_a22;
1435     ddpx_rule_input_rec.ship_tp_prev_status_code := p0_a23;
1436     ddpx_rule_input_rec.delivery_prev_status_code := p0_a24;
1437     ddpx_rule_input_rec.int_so_prev_status_code := p0_a25;
1438     ddpx_rule_input_rec.sr_curr_status_id := p0_a26;
1439     ddpx_rule_input_rec.sr_task_curr_status_id := p0_a27;
1440     ddpx_rule_input_rec.job_curr_status_id := p0_a28;
1441     ddpx_rule_input_rec.pr_curr_status_code := p0_a29;
1442     ddpx_rule_input_rec.ir_curr_status_code := p0_a30;
1443     ddpx_rule_input_rec.rma_curr_status_code := p0_a31;
1444     ddpx_rule_input_rec.ship_curr_status_code := p0_a32;
1445     ddpx_rule_input_rec.rma_tp_curr_status_code := p0_a33;
1446     ddpx_rule_input_rec.ship_tp_curr_status_code := p0_a34;
1447     ddpx_rule_input_rec.delivery_curr_status_code := p0_a35;
1448     ddpx_rule_input_rec.int_so_curr_status_code := p0_a36;
1449     ddpx_rule_input_rec.ro_vendor_account_id := p0_a37;
1450     ddpx_rule_input_rec.ro_contract_id := p0_a38;
1451     ddpx_rule_input_rec.ro_flow_status_id := p0_a39;
1452     ddpx_rule_input_rec.ro_owner_id := p0_a40;
1453     ddpx_rule_input_rec.ro_priority_code := p0_a41;
1454     ddpx_rule_input_rec.wip_country := p0_a42;
1455     ddpx_rule_input_rec.wip_operating_unit_id := p0_a43;
1456     ddpx_rule_input_rec.ro_repair_type_id := p0_a44;
1457     ddpx_rule_input_rec.wip_mtl_disp_code_id := p0_a45;
1458 
1459 
1460     -- here's the delegated call to the old PL/SQL routine
1461     csd_rules_engine_pvt.populate_rule_input_rec(ddpx_rule_input_rec,
1462       p_repair_line_id);
1463 
1464     -- copy data back from the local variables to OUT or IN-OUT args, if any
1465     p0_a0 := ddpx_rule_input_rec.repair_line_id;
1466     p0_a1 := ddpx_rule_input_rec.sr_customer_id;
1467     p0_a2 := ddpx_rule_input_rec.sr_customer_account_id;
1468     p0_a3 := ddpx_rule_input_rec.sr_bill_to_site_use_id;
1469     p0_a4 := ddpx_rule_input_rec.sr_ship_to_site_use_id;
1470     p0_a5 := ddpx_rule_input_rec.sr_item_id;
1471     p0_a6 := ddpx_rule_input_rec.sr_item_category_id;
1472     p0_a7 := ddpx_rule_input_rec.sr_contract_id;
1473     p0_a8 := ddpx_rule_input_rec.sr_problem_code;
1474     p0_a9 := ddpx_rule_input_rec.sr_instance_id;
1475     p0_a10 := ddpx_rule_input_rec.ro_item_id;
1476     p0_a11 := ddpx_rule_input_rec.wip_entity_id;
1477     p0_a12 := ddpx_rule_input_rec.wip_mtl_txn_item_id;
1478     p0_a13 := ddpx_rule_input_rec.wip_entity_item_id;
1479     p0_a14 := ddpx_rule_input_rec.wip_inv_org_id;
1480     p0_a15 := ddpx_rule_input_rec.sr_prev_status_id;
1481     p0_a16 := ddpx_rule_input_rec.sr_task_prev_status_id;
1482     p0_a17 := ddpx_rule_input_rec.job_prev_status_id;
1483     p0_a18 := ddpx_rule_input_rec.pr_prev_status_code;
1484     p0_a19 := ddpx_rule_input_rec.ir_prev_status_code;
1485     p0_a20 := ddpx_rule_input_rec.rma_prev_status_code;
1486     p0_a21 := ddpx_rule_input_rec.ship_prev_status_code;
1487     p0_a22 := ddpx_rule_input_rec.rma_tp_prev_status_code;
1488     p0_a23 := ddpx_rule_input_rec.ship_tp_prev_status_code;
1489     p0_a24 := ddpx_rule_input_rec.delivery_prev_status_code;
1490     p0_a25 := ddpx_rule_input_rec.int_so_prev_status_code;
1491     p0_a26 := ddpx_rule_input_rec.sr_curr_status_id;
1492     p0_a27 := ddpx_rule_input_rec.sr_task_curr_status_id;
1493     p0_a28 := ddpx_rule_input_rec.job_curr_status_id;
1494     p0_a29 := ddpx_rule_input_rec.pr_curr_status_code;
1495     p0_a30 := ddpx_rule_input_rec.ir_curr_status_code;
1496     p0_a31 := ddpx_rule_input_rec.rma_curr_status_code;
1497     p0_a32 := ddpx_rule_input_rec.ship_curr_status_code;
1498     p0_a33 := ddpx_rule_input_rec.rma_tp_curr_status_code;
1499     p0_a34 := ddpx_rule_input_rec.ship_tp_curr_status_code;
1500     p0_a35 := ddpx_rule_input_rec.delivery_curr_status_code;
1501     p0_a36 := ddpx_rule_input_rec.int_so_curr_status_code;
1502     p0_a37 := ddpx_rule_input_rec.ro_vendor_account_id;
1503     p0_a38 := ddpx_rule_input_rec.ro_contract_id;
1504     p0_a39 := ddpx_rule_input_rec.ro_flow_status_id;
1505     p0_a40 := ddpx_rule_input_rec.ro_owner_id;
1506     p0_a41 := ddpx_rule_input_rec.ro_priority_code;
1507     p0_a42 := ddpx_rule_input_rec.wip_country;
1508     p0_a43 := ddpx_rule_input_rec.wip_operating_unit_id;
1509     p0_a44 := ddpx_rule_input_rec.ro_repair_type_id;
1510     p0_a45 := ddpx_rule_input_rec.wip_mtl_disp_code_id;
1511 
1512   end;
1513 
1514   function get_default_value(p_value_type  VARCHAR2
1515     , p_defaulting_value  VARCHAR2
1516     , p_attribute_type  VARCHAR2
1517     , p_attribute_code  VARCHAR2
1518     , p4_a0  NUMBER
1519     , p4_a1  NUMBER
1520     , p4_a2  NUMBER
1521     , p4_a3  NUMBER
1522     , p4_a4  NUMBER
1523     , p4_a5  NUMBER
1524     , p4_a6  NUMBER
1525     , p4_a7  NUMBER
1526     , p4_a8  VARCHAR2
1527     , p4_a9  NUMBER
1528     , p4_a10  NUMBER
1529     , p4_a11  NUMBER
1530     , p4_a12  NUMBER
1531     , p4_a13  NUMBER
1532     , p4_a14  NUMBER
1533     , p4_a15  NUMBER
1534     , p4_a16  NUMBER
1535     , p4_a17  NUMBER
1536     , p4_a18  VARCHAR2
1537     , p4_a19  VARCHAR2
1538     , p4_a20  VARCHAR2
1539     , p4_a21  VARCHAR2
1540     , p4_a22  VARCHAR2
1541     , p4_a23  VARCHAR2
1542     , p4_a24  VARCHAR2
1543     , p4_a25  VARCHAR2
1544     , p4_a26  NUMBER
1545     , p4_a27  NUMBER
1546     , p4_a28  NUMBER
1547     , p4_a29  VARCHAR2
1551     , p4_a33  VARCHAR2
1548     , p4_a30  VARCHAR2
1549     , p4_a31  VARCHAR2
1550     , p4_a32  VARCHAR2
1552     , p4_a34  VARCHAR2
1553     , p4_a35  VARCHAR2
1554     , p4_a36  VARCHAR2
1555     , p4_a37  NUMBER
1556     , p4_a38  NUMBER
1557     , p4_a39  NUMBER
1558     , p4_a40  NUMBER
1559     , p4_a41  VARCHAR2
1560     , p4_a42  VARCHAR2
1561     , p4_a43  NUMBER
1562     , p4_a44  NUMBER
1563     , p4_a45  NUMBER
1564   ) return varchar2
1565 
1566   as
1567     ddp_rule_input_rec csd_rules_engine_pvt.csd_rule_input_rec_type;
1568     ddindx binary_integer; indx binary_integer;
1569     ddrosetta_retval varchar2(4000);
1570   begin
1571 
1572     -- copy data to the local IN or IN-OUT args, if any
1573 
1574 
1575 
1576 
1577     ddp_rule_input_rec.repair_line_id := p4_a0;
1578     ddp_rule_input_rec.sr_customer_id := p4_a1;
1579     ddp_rule_input_rec.sr_customer_account_id := p4_a2;
1580     ddp_rule_input_rec.sr_bill_to_site_use_id := p4_a3;
1581     ddp_rule_input_rec.sr_ship_to_site_use_id := p4_a4;
1582     ddp_rule_input_rec.sr_item_id := p4_a5;
1583     ddp_rule_input_rec.sr_item_category_id := p4_a6;
1584     ddp_rule_input_rec.sr_contract_id := p4_a7;
1585     ddp_rule_input_rec.sr_problem_code := p4_a8;
1586     ddp_rule_input_rec.sr_instance_id := p4_a9;
1587     ddp_rule_input_rec.ro_item_id := p4_a10;
1588     ddp_rule_input_rec.wip_entity_id := p4_a11;
1589     ddp_rule_input_rec.wip_mtl_txn_item_id := p4_a12;
1590     ddp_rule_input_rec.wip_entity_item_id := p4_a13;
1591     ddp_rule_input_rec.wip_inv_org_id := p4_a14;
1592     ddp_rule_input_rec.sr_prev_status_id := p4_a15;
1593     ddp_rule_input_rec.sr_task_prev_status_id := p4_a16;
1594     ddp_rule_input_rec.job_prev_status_id := p4_a17;
1595     ddp_rule_input_rec.pr_prev_status_code := p4_a18;
1596     ddp_rule_input_rec.ir_prev_status_code := p4_a19;
1597     ddp_rule_input_rec.rma_prev_status_code := p4_a20;
1598     ddp_rule_input_rec.ship_prev_status_code := p4_a21;
1599     ddp_rule_input_rec.rma_tp_prev_status_code := p4_a22;
1600     ddp_rule_input_rec.ship_tp_prev_status_code := p4_a23;
1601     ddp_rule_input_rec.delivery_prev_status_code := p4_a24;
1602     ddp_rule_input_rec.int_so_prev_status_code := p4_a25;
1603     ddp_rule_input_rec.sr_curr_status_id := p4_a26;
1604     ddp_rule_input_rec.sr_task_curr_status_id := p4_a27;
1605     ddp_rule_input_rec.job_curr_status_id := p4_a28;
1606     ddp_rule_input_rec.pr_curr_status_code := p4_a29;
1607     ddp_rule_input_rec.ir_curr_status_code := p4_a30;
1608     ddp_rule_input_rec.rma_curr_status_code := p4_a31;
1609     ddp_rule_input_rec.ship_curr_status_code := p4_a32;
1610     ddp_rule_input_rec.rma_tp_curr_status_code := p4_a33;
1611     ddp_rule_input_rec.ship_tp_curr_status_code := p4_a34;
1612     ddp_rule_input_rec.delivery_curr_status_code := p4_a35;
1613     ddp_rule_input_rec.int_so_curr_status_code := p4_a36;
1614     ddp_rule_input_rec.ro_vendor_account_id := p4_a37;
1615     ddp_rule_input_rec.ro_contract_id := p4_a38;
1616     ddp_rule_input_rec.ro_flow_status_id := p4_a39;
1617     ddp_rule_input_rec.ro_owner_id := p4_a40;
1618     ddp_rule_input_rec.ro_priority_code := p4_a41;
1619     ddp_rule_input_rec.wip_country := p4_a42;
1620     ddp_rule_input_rec.wip_operating_unit_id := p4_a43;
1621     ddp_rule_input_rec.ro_repair_type_id := p4_a44;
1622     ddp_rule_input_rec.wip_mtl_disp_code_id := p4_a45;
1623 
1624     -- here's the delegated call to the old PL/SQL routine
1625     ddrosetta_retval := csd_rules_engine_pvt.get_default_value(p_value_type,
1626       p_defaulting_value,
1627       p_attribute_type,
1628       p_attribute_code,
1629       ddp_rule_input_rec);
1630 
1631     -- copy data back from the local variables to OUT or IN-OUT args, if any
1632 
1633 
1634 
1635 
1636 
1637     return ddrosetta_retval;
1638   end;
1639 
1640 end csd_rules_engine_pvt_w;