1 package body okc_xprt_qa_pvt_w as
2 /* $Header: OKCWXRULQAB.pls 120.0 2005/05/25 22:55:47 appldev noship $ */
3 procedure rosetta_table_copy_in_p0(t out nocopy okc_xprt_qa_pvt.ruleidlist, a0 JTF_NUMBER_TABLE) as
4 ddindx binary_integer; indx binary_integer;
5 begin
6 if a0 is not null and a0.count > 0 then
7 if a0.count > 0 then
8 indx := a0.first;
9 ddindx := 1;
10 while true loop
11 t(ddindx) := a0(indx);
12 ddindx := ddindx+1;
13 if a0.last =indx
14 then exit;
15 end if;
16 indx := a0.next(indx);
17 end loop;
18 end if;
19 end if;
20 end rosetta_table_copy_in_p0;
21 procedure rosetta_table_copy_out_p0(t okc_xprt_qa_pvt.ruleidlist, a0 out nocopy JTF_NUMBER_TABLE) as
22 ddindx binary_integer; indx binary_integer;
23 begin
24 if t is null or t.count = 0 then
25 a0 := JTF_NUMBER_TABLE();
26 else
27 a0 := JTF_NUMBER_TABLE();
28 if t.count > 0 then
29 a0.extend(t.count);
30 ddindx := t.first;
31 indx := 1;
32 while true loop
33 a0(indx) := t(ddindx);
34 indx := indx+1;
35 if t.last =ddindx
36 then exit;
37 end if;
38 ddindx := t.next(ddindx);
39 end loop;
40 end if;
41 end if;
42 end rosetta_table_copy_out_p0;
43
44 procedure qa_rules(p_qa_mode VARCHAR2
45 , p_ruleid_tbl JTF_NUMBER_TABLE
46 , x_sequence_id out nocopy NUMBER
47 , x_qa_status out nocopy VARCHAR2
48 , x_return_status out nocopy VARCHAR2
49 , x_msg_count out nocopy NUMBER
50 , x_msg_data out nocopy VARCHAR2
51 )
52
53 as
54 ddp_ruleid_tbl okc_xprt_qa_pvt.ruleidlist;
55 ddindx binary_integer; indx binary_integer;
56 begin
57
58 -- copy data to the local IN or IN-OUT args, if any
59
60 okc_xprt_qa_pvt_w.rosetta_table_copy_in_p0(ddp_ruleid_tbl, p_ruleid_tbl);
61
62
63
64
65
66
67 -- here's the delegated call to the old PL/SQL routine
68 okc_xprt_qa_pvt.qa_rules(p_qa_mode,
69 ddp_ruleid_tbl,
70 x_sequence_id,
71 x_qa_status,
72 x_return_status,
73 x_msg_count,
74 x_msg_data);
75
76 -- copy data back from the local variables to OUT or IN-OUT args, if any
77
78
79
80
81
82
83 end;
84
85 procedure sync_rules(p_sync_mode VARCHAR2
86 , p_org_id NUMBER
87 , p_ruleid_tbl JTF_NUMBER_TABLE
88 , x_request_id out nocopy NUMBER
89 , x_return_status out nocopy VARCHAR2
90 , x_msg_count out nocopy NUMBER
91 , x_msg_data out nocopy VARCHAR2
92 )
93
94 as
95 ddp_ruleid_tbl okc_xprt_qa_pvt.ruleidlist;
96 ddindx binary_integer; indx binary_integer;
97 begin
98
99 -- copy data to the local IN or IN-OUT args, if any
100
101
102 okc_xprt_qa_pvt_w.rosetta_table_copy_in_p0(ddp_ruleid_tbl, p_ruleid_tbl);
103
104
105
106
107
108 -- here's the delegated call to the old PL/SQL routine
109 okc_xprt_qa_pvt.sync_rules(p_sync_mode,
110 p_org_id,
111 ddp_ruleid_tbl,
112 x_request_id,
113 x_return_status,
114 x_msg_count,
115 x_msg_data);
116
117 -- copy data back from the local variables to OUT or IN-OUT args, if any
118
119
120
121
122
123
124 end;
125
126 end okc_xprt_qa_pvt_w;