[Home] [Help]
PACKAGE BODY: APPS.CSP_REQ_LINE_DETAILS_PVT_W
Source
1 package body csp_req_line_details_pvt_w as
2 /* $Header: csprqldpvtwb.pls 120.1 2010/12/07 06:20:45 hhaugeru noship $ */
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_p3(t out nocopy csp_req_line_details_pvt.req_line_details_tbl_type, a0 JTF_NUMBER_TABLE
17 , a1 JTF_NUMBER_TABLE
18 , a2 JTF_NUMBER_TABLE
19 , a3 JTF_DATE_TABLE
20 , a4 JTF_NUMBER_TABLE
21 , a5 JTF_DATE_TABLE
22 , a6 JTF_NUMBER_TABLE
23 , a7 JTF_VARCHAR2_TABLE_100
24 , a8 JTF_NUMBER_TABLE
25 ) as
26 ddindx binary_integer; indx binary_integer;
27 begin
28 if a0 is not null and a0.count > 0 then
29 if a0.count > 0 then
30 indx := a0.first;
31 ddindx := 1;
32 while true loop
33 t(ddindx).req_line_detail_id := a0(indx);
34 t(ddindx).requirement_line_id := a1(indx);
35 t(ddindx).created_by := a2(indx);
36 t(ddindx).creation_date := rosetta_g_miss_date_in_map(a3(indx));
37 t(ddindx).last_updated_by := a4(indx);
38 t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a5(indx));
39 t(ddindx).last_update_login := a6(indx);
40 t(ddindx).source_type := a7(indx);
41 t(ddindx).source_id := a8(indx);
42 ddindx := ddindx+1;
43 if a0.last =indx
44 then exit;
45 end if;
46 indx := a0.next(indx);
47 end loop;
48 end if;
49 end if;
50 end rosetta_table_copy_in_p3;
51 procedure rosetta_table_copy_out_p3(t csp_req_line_details_pvt.req_line_details_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
52 , a1 out nocopy JTF_NUMBER_TABLE
53 , a2 out nocopy JTF_NUMBER_TABLE
54 , a3 out nocopy JTF_DATE_TABLE
55 , a4 out nocopy JTF_NUMBER_TABLE
56 , a5 out nocopy JTF_DATE_TABLE
57 , a6 out nocopy JTF_NUMBER_TABLE
58 , a7 out nocopy JTF_VARCHAR2_TABLE_100
59 , a8 out nocopy JTF_NUMBER_TABLE
60 ) as
61 ddindx binary_integer; indx binary_integer;
62 begin
63 if t is null or t.count = 0 then
64 a0 := JTF_NUMBER_TABLE();
65 a1 := JTF_NUMBER_TABLE();
66 a2 := JTF_NUMBER_TABLE();
67 a3 := JTF_DATE_TABLE();
68 a4 := JTF_NUMBER_TABLE();
69 a5 := JTF_DATE_TABLE();
70 a6 := JTF_NUMBER_TABLE();
71 a7 := JTF_VARCHAR2_TABLE_100();
72 a8 := JTF_NUMBER_TABLE();
73 else
74 a0 := JTF_NUMBER_TABLE();
75 a1 := JTF_NUMBER_TABLE();
76 a2 := JTF_NUMBER_TABLE();
77 a3 := JTF_DATE_TABLE();
78 a4 := JTF_NUMBER_TABLE();
79 a5 := JTF_DATE_TABLE();
80 a6 := JTF_NUMBER_TABLE();
81 a7 := JTF_VARCHAR2_TABLE_100();
82 a8 := JTF_NUMBER_TABLE();
83 if t.count > 0 then
84 a0.extend(t.count);
85 a1.extend(t.count);
86 a2.extend(t.count);
87 a3.extend(t.count);
88 a4.extend(t.count);
89 a5.extend(t.count);
90 a6.extend(t.count);
91 a7.extend(t.count);
92 a8.extend(t.count);
93 ddindx := t.first;
94 indx := 1;
95 while true loop
96 a0(indx) := t(ddindx).req_line_detail_id;
97 a1(indx) := t(ddindx).requirement_line_id;
98 a2(indx) := t(ddindx).created_by;
99 a3(indx) := t(ddindx).creation_date;
100 a4(indx) := t(ddindx).last_updated_by;
101 a5(indx) := t(ddindx).last_update_date;
102 a6(indx) := t(ddindx).last_update_login;
103 a7(indx) := t(ddindx).source_type;
104 a8(indx) := t(ddindx).source_id;
105 indx := indx+1;
106 if t.last =ddindx
107 then exit;
108 end if;
109 ddindx := t.next(ddindx);
110 end loop;
111 end if;
112 end if;
113 end rosetta_table_copy_out_p3;
114
115 procedure create_req_line_details(p_api_version_number NUMBER
116 , p_init_msg_list VARCHAR2
117 , p_commit VARCHAR2
118 , p_validation_level NUMBER
119 , p4_a0 JTF_NUMBER_TABLE
120 , p4_a1 JTF_NUMBER_TABLE
121 , p4_a2 JTF_NUMBER_TABLE
122 , p4_a3 JTF_DATE_TABLE
123 , p4_a4 JTF_NUMBER_TABLE
124 , p4_a5 JTF_DATE_TABLE
125 , p4_a6 JTF_NUMBER_TABLE
126 , p4_a7 JTF_VARCHAR2_TABLE_100
127 , p4_a8 JTF_NUMBER_TABLE
128 , p5_a0 out nocopy JTF_NUMBER_TABLE
129 , p5_a1 out nocopy JTF_NUMBER_TABLE
130 , p5_a2 out nocopy JTF_NUMBER_TABLE
131 , p5_a3 out nocopy JTF_DATE_TABLE
132 , p5_a4 out nocopy JTF_NUMBER_TABLE
133 , p5_a5 out nocopy JTF_DATE_TABLE
134 , p5_a6 out nocopy JTF_NUMBER_TABLE
135 , p5_a7 out nocopy JTF_VARCHAR2_TABLE_100
136 , p5_a8 out nocopy JTF_NUMBER_TABLE
137 , x_return_status out nocopy VARCHAR2
138 , x_msg_count out nocopy NUMBER
139 , x_msg_data out nocopy VARCHAR2
140 )
141
142 as
143 ddp_req_line_details_tbl csp_req_line_details_pvt.req_line_details_tbl_type;
144 ddx_req_line_details_tbl csp_req_line_details_pvt.req_line_details_tbl_type;
145 ddindx binary_integer; indx binary_integer;
146 begin
147
148 -- copy data to the local IN or IN-OUT args, if any
149
150
151
152
153 csp_req_line_details_pvt_w.rosetta_table_copy_in_p3(ddp_req_line_details_tbl, p4_a0
154 , p4_a1
155 , p4_a2
156 , p4_a3
157 , p4_a4
158 , p4_a5
159 , p4_a6
160 , p4_a7
161 , p4_a8
162 );
163
164
165
166
167
168 -- here's the delegated call to the old PL/SQL routine
169 csp_req_line_details_pvt.create_req_line_details(p_api_version_number,
170 p_init_msg_list,
171 p_commit,
172 p_validation_level,
173 ddp_req_line_details_tbl,
174 ddx_req_line_details_tbl,
175 x_return_status,
176 x_msg_count,
177 x_msg_data);
178
179 -- copy data back from the local variables to OUT or IN-OUT args, if any
180
181
182
183
184
185 csp_req_line_details_pvt_w.rosetta_table_copy_out_p3(ddx_req_line_details_tbl, p5_a0
186 , p5_a1
187 , p5_a2
188 , p5_a3
189 , p5_a4
190 , p5_a5
191 , p5_a6
192 , p5_a7
193 , p5_a8
194 );
195
196
197
198 end;
199
200 procedure update_req_line_details(p_api_version_number NUMBER
201 , p_init_msg_list VARCHAR2
202 , p_commit VARCHAR2
203 , p_validation_level NUMBER
204 , p4_a0 JTF_NUMBER_TABLE
205 , p4_a1 JTF_NUMBER_TABLE
206 , p4_a2 JTF_NUMBER_TABLE
207 , p4_a3 JTF_DATE_TABLE
208 , p4_a4 JTF_NUMBER_TABLE
209 , p4_a5 JTF_DATE_TABLE
210 , p4_a6 JTF_NUMBER_TABLE
211 , p4_a7 JTF_VARCHAR2_TABLE_100
212 , p4_a8 JTF_NUMBER_TABLE
213 , x_return_status out nocopy VARCHAR2
214 , x_msg_count out nocopy NUMBER
215 , x_msg_data out nocopy VARCHAR2
216 )
217
218 as
219 ddp_req_line_details_tbl csp_req_line_details_pvt.req_line_details_tbl_type;
220 ddindx binary_integer; indx binary_integer;
221 begin
222
223 -- copy data to the local IN or IN-OUT args, if any
224
225
226
227
228 csp_req_line_details_pvt_w.rosetta_table_copy_in_p3(ddp_req_line_details_tbl, p4_a0
229 , p4_a1
230 , p4_a2
231 , p4_a3
232 , p4_a4
233 , p4_a5
234 , p4_a6
235 , p4_a7
236 , p4_a8
237 );
238
239
240
241
242 -- here's the delegated call to the old PL/SQL routine
243 csp_req_line_details_pvt.update_req_line_details(p_api_version_number,
244 p_init_msg_list,
245 p_commit,
246 p_validation_level,
247 ddp_req_line_details_tbl,
248 x_return_status,
249 x_msg_count,
250 x_msg_data);
251
252 -- copy data back from the local variables to OUT or IN-OUT args, if any
253
254
255
256
257
258
259
260 end;
261
262 procedure delete_req_line_details(p_api_version_number NUMBER
263 , p_init_msg_list VARCHAR2
264 , p_commit VARCHAR2
265 , p_validation_level NUMBER
266 , p4_a0 JTF_NUMBER_TABLE
267 , p4_a1 JTF_NUMBER_TABLE
268 , p4_a2 JTF_NUMBER_TABLE
269 , p4_a3 JTF_DATE_TABLE
270 , p4_a4 JTF_NUMBER_TABLE
271 , p4_a5 JTF_DATE_TABLE
272 , p4_a6 JTF_NUMBER_TABLE
273 , p4_a7 JTF_VARCHAR2_TABLE_100
274 , p4_a8 JTF_NUMBER_TABLE
275 , x_return_status out nocopy VARCHAR2
276 , x_msg_count out nocopy NUMBER
277 , x_msg_data out nocopy VARCHAR2
278 )
279
280 as
281 ddp_req_line_details_tbl csp_req_line_details_pvt.req_line_details_tbl_type;
282 ddindx binary_integer; indx binary_integer;
283 begin
284
285 -- copy data to the local IN or IN-OUT args, if any
286
287
288
289
290 csp_req_line_details_pvt_w.rosetta_table_copy_in_p3(ddp_req_line_details_tbl, p4_a0
291 , p4_a1
292 , p4_a2
293 , p4_a3
294 , p4_a4
295 , p4_a5
296 , p4_a6
297 , p4_a7
298 , p4_a8
299 );
300
301
302
303
304 -- here's the delegated call to the old PL/SQL routine
305 csp_req_line_details_pvt.delete_req_line_details(p_api_version_number,
306 p_init_msg_list,
307 p_commit,
308 p_validation_level,
309 ddp_req_line_details_tbl,
310 x_return_status,
311 x_msg_count,
312 x_msg_data);
313
314 -- copy data back from the local variables to OUT or IN-OUT args, if any
315
316
317
318
319
320
321
322 end;
323
324 end csp_req_line_details_pvt_w;