[Home] [Help]
PACKAGE BODY: APPS.EAM_COPY_BOM_PKG_W
Source
1 package body eam_copy_bom_pkg_w as
2 /* $Header: EAMCPMRB.pls 120.2 2008/01/26 01:52:22 devijay ship $ */
3 procedure rosetta_table_copy_in_p2(t out nocopy eam_copy_bom_pkg.t_bom_table, a0 JTF_NUMBER_TABLE
4 , a1 JTF_VARCHAR2_TABLE_300
5 , a2 JTF_NUMBER_TABLE
6 , a3 JTF_VARCHAR2_TABLE_100
7 , a4 JTF_NUMBER_TABLE
8 ) as
9 ddindx binary_integer; indx binary_integer;
10 begin
11 if a0 is not null and a0.count > 0 then
12 if a0.count > 0 then
13 indx := a0.first;
14 ddindx := 1;
15 while true loop
16 t(ddindx).component_item_id := a0(indx);
17 t(ddindx).description := a1(indx);
18 t(ddindx).component_quantity := a2(indx);
19 t(ddindx).uom := a3(indx);
20 t(ddindx).wip_supply_type := a4(indx);
21 ddindx := ddindx+1;
22 if a0.last =indx
23 then exit;
24 end if;
25 indx := a0.next(indx);
26 end loop;
27 end if;
28 end if;
29 end rosetta_table_copy_in_p2;
30 procedure rosetta_table_copy_out_p2(t eam_copy_bom_pkg.t_bom_table, a0 out nocopy JTF_NUMBER_TABLE
31 , a1 out nocopy JTF_VARCHAR2_TABLE_300
32 , a2 out nocopy JTF_NUMBER_TABLE
33 , a3 out nocopy JTF_VARCHAR2_TABLE_100
34 , a4 out nocopy JTF_NUMBER_TABLE
35 ) as
36 ddindx binary_integer; indx binary_integer;
37 begin
38 if t is null or t.count = 0 then
39 a0 := JTF_NUMBER_TABLE();
40 a1 := JTF_VARCHAR2_TABLE_300();
41 a2 := JTF_NUMBER_TABLE();
42 a3 := JTF_VARCHAR2_TABLE_100();
43 a4 := JTF_NUMBER_TABLE();
44 else
45 a0 := JTF_NUMBER_TABLE();
46 a1 := JTF_VARCHAR2_TABLE_300();
47 a2 := JTF_NUMBER_TABLE();
48 a3 := JTF_VARCHAR2_TABLE_100();
49 a4 := JTF_NUMBER_TABLE();
50 if t.count > 0 then
51 a0.extend(t.count);
52 a1.extend(t.count);
53 a2.extend(t.count);
54 a3.extend(t.count);
55 a4.extend(t.count);
56 ddindx := t.first;
57 indx := 1;
58 while true loop
59 a0(indx) := t(ddindx).component_item_id;
60 a1(indx) := t(ddindx).description;
61 a2(indx) := t(ddindx).component_quantity;
62 a3(indx) := t(ddindx).uom;
63 a4(indx) := t(ddindx).wip_supply_type;
64 indx := indx+1;
65 if t.last =ddindx
66 then exit;
67 end if;
68 ddindx := t.next(ddindx);
69 end loop;
70 end if;
71 end if;
72 end rosetta_table_copy_out_p2;
73
74 procedure rosetta_table_copy_in_p3(t out nocopy eam_copy_bom_pkg.t_component_table, a0 JTF_VARCHAR2_TABLE_100
75 , a1 JTF_NUMBER_TABLE
76 , a2 JTF_NUMBER_TABLE
77 , a3 JTF_NUMBER_TABLE
78 , a4 JTF_NUMBER_TABLE
79 , a5 JTF_VARCHAR2_TABLE_100
80 , a6 JTF_NUMBER_TABLE
81 , a7 JTF_VARCHAR2_TABLE_100
82 ) as
83 ddindx binary_integer; indx binary_integer;
84 begin
85 if a0 is not null and a0.count > 0 then
86 if a0.count > 0 then
87 indx := a0.first;
88 ddindx := 1;
89 while true loop
90 t(ddindx).component_item := a0(indx);
91 t(ddindx).component_item_id := a1(indx);
92 t(ddindx).operation_sequence_number := a2(indx);
93 t(ddindx).quantity_per_assembly := a3(indx);
94 t(ddindx).wip_supply_type := a4(indx);
95 t(ddindx).supply_subinventory := a5(indx);
96 t(ddindx).supply_locator_id := a6(indx);
97 t(ddindx).supply_locator_name := a7(indx);
98 ddindx := ddindx+1;
99 if a0.last =indx
100 then exit;
101 end if;
102 indx := a0.next(indx);
103 end loop;
104 end if;
105 end if;
106 end rosetta_table_copy_in_p3;
107 procedure rosetta_table_copy_out_p3(t eam_copy_bom_pkg.t_component_table, a0 out nocopy JTF_VARCHAR2_TABLE_100
108 , a1 out nocopy JTF_NUMBER_TABLE
109 , a2 out nocopy JTF_NUMBER_TABLE
110 , a3 out nocopy JTF_NUMBER_TABLE
111 , a4 out nocopy JTF_NUMBER_TABLE
112 , a5 out nocopy JTF_VARCHAR2_TABLE_100
113 , a6 out nocopy JTF_NUMBER_TABLE
114 , a7 out nocopy JTF_VARCHAR2_TABLE_100
115 ) as
116 ddindx binary_integer; indx binary_integer;
117 begin
118 if t is null or t.count = 0 then
119 a0 := JTF_VARCHAR2_TABLE_100();
120 a1 := JTF_NUMBER_TABLE();
121 a2 := JTF_NUMBER_TABLE();
122 a3 := JTF_NUMBER_TABLE();
123 a4 := JTF_NUMBER_TABLE();
124 a5 := JTF_VARCHAR2_TABLE_100();
125 a6 := JTF_NUMBER_TABLE();
126 a7 := JTF_VARCHAR2_TABLE_100();
127 else
128 a0 := JTF_VARCHAR2_TABLE_100();
129 a1 := JTF_NUMBER_TABLE();
130 a2 := JTF_NUMBER_TABLE();
131 a3 := JTF_NUMBER_TABLE();
132 a4 := JTF_NUMBER_TABLE();
133 a5 := JTF_VARCHAR2_TABLE_100();
134 a6 := JTF_NUMBER_TABLE();
135 a7 := JTF_VARCHAR2_TABLE_100();
136 if t.count > 0 then
137 a0.extend(t.count);
138 a1.extend(t.count);
139 a2.extend(t.count);
140 a3.extend(t.count);
141 a4.extend(t.count);
142 a5.extend(t.count);
143 a6.extend(t.count);
144 a7.extend(t.count);
145 ddindx := t.first;
146 indx := 1;
147 while true loop
148 a0(indx) := t(ddindx).component_item;
149 a1(indx) := t(ddindx).component_item_id;
150 a2(indx) := t(ddindx).operation_sequence_number;
151 a3(indx) := t(ddindx).quantity_per_assembly;
152 a4(indx) := t(ddindx).wip_supply_type;
153 a5(indx) := t(ddindx).supply_subinventory;
154 a6(indx) := t(ddindx).supply_locator_id;
155 a7(indx) := t(ddindx).supply_locator_name;
156 indx := indx+1;
157 if t.last =ddindx
158 then exit;
159 end if;
160 ddindx := t.next(ddindx);
161 end loop;
162 end if;
163 end if;
164 end rosetta_table_copy_out_p3;
165
166 procedure copy_to_bom(p_organization_id NUMBER
167 , p_organization_code VARCHAR2
168 , p_asset_number VARCHAR2
169 , p_asset_group_id NUMBER
170 , p4_a0 JTF_VARCHAR2_TABLE_100
171 , p4_a1 JTF_NUMBER_TABLE
172 , p4_a2 JTF_NUMBER_TABLE
173 , p4_a3 JTF_NUMBER_TABLE
174 , p4_a4 JTF_NUMBER_TABLE
175 , p4_a5 JTF_VARCHAR2_TABLE_100
176 , p4_a6 JTF_NUMBER_TABLE
177 , p4_a7 JTF_VARCHAR2_TABLE_100
178 , x_error_code out nocopy NUMBER
179 )
180
181 as
182 ddp_component_table eam_copy_bom_pkg.t_component_table;
183 ddindx binary_integer; indx binary_integer;
184 begin
185
186 -- copy data to the local IN or IN-OUT args, if any
187
188
189
190
191 eam_copy_bom_pkg_w.rosetta_table_copy_in_p3(ddp_component_table, p4_a0
192 , p4_a1
193 , p4_a2
194 , p4_a3
195 , p4_a4
196 , p4_a5
197 , p4_a6
198 , p4_a7
199 );
200
201
202 -- here's the delegated call to the old PL/SQL routine
203 eam_copy_bom_pkg.copy_to_bom(p_organization_id,
204 p_organization_code,
205 p_asset_number,
206 p_asset_group_id,
207 ddp_component_table,
208 x_error_code);
209
210 -- copy data back from the local variables to OUT or IN-OUT args, if any
211
212
213
214
215
216 end;
217
218 procedure retrieve_asset_bom(p_organization_id NUMBER
219 , p_wip_entity_id NUMBER
220 , p_operation_seq_num NUMBER
221 , p_department_id NUMBER
222 , p4_a0 JTF_NUMBER_TABLE
223 , p4_a1 JTF_VARCHAR2_TABLE_300
224 , p4_a2 JTF_NUMBER_TABLE
225 , p4_a3 JTF_VARCHAR2_TABLE_100
226 , p4_a4 JTF_NUMBER_TABLE
227 , x_error_code out nocopy VARCHAR2
228 )
229
230 as
231 ddp_bom_table eam_copy_bom_pkg.t_bom_table;
232 ddindx binary_integer; indx binary_integer;
233 begin
234
235 -- copy data to the local IN or IN-OUT args, if any
236
237
238
239
240 eam_copy_bom_pkg_w.rosetta_table_copy_in_p2(ddp_bom_table, p4_a0
241 , p4_a1
242 , p4_a2
243 , p4_a3
244 , p4_a4
245 );
246
247
248 -- here's the delegated call to the old PL/SQL routine
249 eam_copy_bom_pkg.retrieve_asset_bom(p_organization_id,
250 p_wip_entity_id,
251 p_operation_seq_num,
252 p_department_id,
253 ddp_bom_table,
254 x_error_code);
255
256 -- copy data back from the local variables to OUT or IN-OUT args, if any
257
258
259
260
261
262 end;
263
264 end eam_copy_bom_pkg_w;