1 package body ahl_prd_wo_login_pvt_w as
2 /* $Header: AHLVLGWB.pls 120.0 2005/09/08 08:12 sracha noship $ */
3 procedure rosetta_table_copy_in_p1(t out nocopy ahl_prd_wo_login_pvt.wo_tbl_type, a0 JTF_NUMBER_TABLE
4 , a1 JTF_VARCHAR2_TABLE_100
5 ) as
6 ddindx binary_integer; indx binary_integer;
7 begin
8 if a0 is not null and a0.count > 0 then
9 if a0.count > 0 then
10 indx := a0.first;
11 ddindx := 1;
12 while true loop
13 t(ddindx).workorder_id := a0(indx);
14 t(ddindx).is_login_allowed := a1(indx);
15 ddindx := ddindx+1;
16 if a0.last =indx
17 then exit;
18 end if;
19 indx := a0.next(indx);
20 end loop;
21 end if;
22 end if;
23 end rosetta_table_copy_in_p1;
24 procedure rosetta_table_copy_out_p1(t ahl_prd_wo_login_pvt.wo_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
25 , a1 out nocopy JTF_VARCHAR2_TABLE_100
26 ) as
27 ddindx binary_integer; indx binary_integer;
28 begin
29 if t is null or t.count = 0 then
30 a0 := JTF_NUMBER_TABLE();
31 a1 := JTF_VARCHAR2_TABLE_100();
32 else
33 a0 := JTF_NUMBER_TABLE();
34 a1 := JTF_VARCHAR2_TABLE_100();
35 if t.count > 0 then
36 a0.extend(t.count);
37 a1.extend(t.count);
38 ddindx := t.first;
39 indx := 1;
40 while true loop
41 a0(indx) := t(ddindx).workorder_id;
42 a1(indx) := t(ddindx).is_login_allowed;
43 indx := indx+1;
44 if t.last =ddindx
45 then exit;
46 end if;
47 ddindx := t.next(ddindx);
48 end loop;
49 end if;
50 end if;
51 end rosetta_table_copy_out_p1;
52
53 procedure rosetta_table_copy_in_p3(t out nocopy ahl_prd_wo_login_pvt.op_res_tbl_type, a0 JTF_NUMBER_TABLE
54 , a1 JTF_NUMBER_TABLE
55 , a2 JTF_VARCHAR2_TABLE_100
56 ) as
57 ddindx binary_integer; indx binary_integer;
58 begin
59 if a0 is not null and a0.count > 0 then
60 if a0.count > 0 then
61 indx := a0.first;
62 ddindx := 1;
63 while true loop
64 t(ddindx).operation_seq_num := a0(indx);
65 t(ddindx).resource_id := a1(indx);
66 t(ddindx).is_login_allowed := a2(indx);
67 ddindx := ddindx+1;
68 if a0.last =indx
69 then exit;
70 end if;
71 indx := a0.next(indx);
72 end loop;
73 end if;
74 end if;
75 end rosetta_table_copy_in_p3;
76 procedure rosetta_table_copy_out_p3(t ahl_prd_wo_login_pvt.op_res_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
77 , a1 out nocopy JTF_NUMBER_TABLE
78 , a2 out nocopy JTF_VARCHAR2_TABLE_100
79 ) as
80 ddindx binary_integer; indx binary_integer;
81 begin
82 if t is null or t.count = 0 then
83 a0 := JTF_NUMBER_TABLE();
84 a1 := JTF_NUMBER_TABLE();
85 a2 := JTF_VARCHAR2_TABLE_100();
86 else
87 a0 := JTF_NUMBER_TABLE();
88 a1 := JTF_NUMBER_TABLE();
89 a2 := JTF_VARCHAR2_TABLE_100();
90 if t.count > 0 then
91 a0.extend(t.count);
92 a1.extend(t.count);
93 a2.extend(t.count);
94 ddindx := t.first;
95 indx := 1;
96 while true loop
97 a0(indx) := t(ddindx).operation_seq_num;
98 a1(indx) := t(ddindx).resource_id;
99 a2(indx) := t(ddindx).is_login_allowed;
100 indx := indx+1;
101 if t.last =ddindx
102 then exit;
103 end if;
104 ddindx := t.next(ddindx);
105 end loop;
106 end if;
107 end if;
108 end rosetta_table_copy_out_p3;
109
110 procedure get_wo_login_info(p_function_name VARCHAR2
111 , p_employee_id NUMBER
112 , p2_a0 in out nocopy JTF_NUMBER_TABLE
113 , p2_a1 in out nocopy JTF_VARCHAR2_TABLE_100
114 )
115
116 as
117 ddp_x_wos ahl_prd_wo_login_pvt.wo_tbl_type;
118 ddindx binary_integer; indx binary_integer;
119 begin
120
121 -- copy data to the local IN or IN-OUT args, if any
122
123
124 ahl_prd_wo_login_pvt_w.rosetta_table_copy_in_p1(ddp_x_wos, p2_a0
125 , p2_a1
126 );
127
128 -- here's the delegated call to the old PL/SQL routine
129 ahl_prd_wo_login_pvt.get_wo_login_info(p_function_name,
130 p_employee_id,
131 ddp_x_wos);
132
133 -- copy data back from the local variables to OUT or IN-OUT args, if any
134
135
136 ahl_prd_wo_login_pvt_w.rosetta_table_copy_out_p1(ddp_x_wos, p2_a0
137 , p2_a1
138 );
139 end;
140
141 procedure get_op_res_login_info(p_workorder_id NUMBER
142 , p_employee_id NUMBER
143 , p_function_name VARCHAR2
144 , p3_a0 in out nocopy JTF_NUMBER_TABLE
145 , p3_a1 in out nocopy JTF_NUMBER_TABLE
146 , p3_a2 in out nocopy JTF_VARCHAR2_TABLE_100
147 )
148
149 as
150 ddp_x_op_res ahl_prd_wo_login_pvt.op_res_tbl_type;
151 ddindx binary_integer; indx binary_integer;
152 begin
153
154 -- copy data to the local IN or IN-OUT args, if any
155
156
157
158 ahl_prd_wo_login_pvt_w.rosetta_table_copy_in_p3(ddp_x_op_res, p3_a0
159 , p3_a1
160 , p3_a2
161 );
162
163 -- here's the delegated call to the old PL/SQL routine
164 ahl_prd_wo_login_pvt.get_op_res_login_info(p_workorder_id,
165 p_employee_id,
166 p_function_name,
167 ddp_x_op_res);
168
169 -- copy data back from the local variables to OUT or IN-OUT args, if any
170
171
172
173 ahl_prd_wo_login_pvt_w.rosetta_table_copy_out_p3(ddp_x_op_res, p3_a0
174 , p3_a1
175 , p3_a2
176 );
177 end;
178
179 end ahl_prd_wo_login_pvt_w;