DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_LIKE_KIND_EXCHANGE_PVT_W

Source


1 package body okl_like_kind_exchange_pvt_w as
2   /* $Header: OKLELKXB.pls 120.1 2005/07/11 14:18:23 asawanka 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 
6   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7   function rosetta_g_miss_date_in_map(d date) return date as
8   begin
9     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10     return d;
11   end;
12 
13   function rosetta_g_miss_num_map(n number) return number as
14     a number := fnd_api.g_miss_num;
15     b number := 0-1962.0724;
16   begin
17     if n=a then return b; end if;
18     if n=b then return a; end if;
19     return n;
20   end;
21 
22   procedure rosetta_table_copy_in_p3(t out nocopy okl_like_kind_exchange_pvt.rep_asset_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_VARCHAR2_TABLE_2000
24     , a2 JTF_VARCHAR2_TABLE_2000
25     , a3 JTF_NUMBER_TABLE
26     , a4 JTF_NUMBER_TABLE
27     , a5 JTF_NUMBER_TABLE
28     , a6 JTF_DATE_TABLE
29     , a7 JTF_VARCHAR2_TABLE_2000
30     , a8 JTF_NUMBER_TABLE
31     ) as
32     ddindx binary_integer; indx binary_integer;
33   begin
34   if a0 is not null and a0.count > 0 then
35       if a0.count > 0 then
36         indx := a0.first;
37         ddindx := 1;
38         while true loop
39           t(ddindx).rep_asset_id := rosetta_g_miss_num_map(a0(indx));
40           t(ddindx).rep_asset_number := a1(indx);
41           t(ddindx).book_type_code := a2(indx);
42           t(ddindx).asset_category_id := rosetta_g_miss_num_map(a3(indx));
43           t(ddindx).original_cost := rosetta_g_miss_num_map(a4(indx));
44           t(ddindx).current_cost := rosetta_g_miss_num_map(a5(indx));
45           t(ddindx).date_placed_in_service := rosetta_g_miss_date_in_map(a6(indx));
46           t(ddindx).deprn_method := a7(indx);
47           t(ddindx).life_in_months := rosetta_g_miss_num_map(a8(indx));
48           ddindx := ddindx+1;
49           if a0.last =indx
50             then exit;
51           end if;
52           indx := a0.next(indx);
53         end loop;
54       end if;
55    end if;
56   end rosetta_table_copy_in_p3;
57   procedure rosetta_table_copy_out_p3(t okl_like_kind_exchange_pvt.rep_asset_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
58     , a1 out nocopy JTF_VARCHAR2_TABLE_2000
59     , a2 out nocopy JTF_VARCHAR2_TABLE_2000
60     , a3 out nocopy JTF_NUMBER_TABLE
61     , a4 out nocopy JTF_NUMBER_TABLE
62     , a5 out nocopy JTF_NUMBER_TABLE
63     , a6 out nocopy JTF_DATE_TABLE
64     , a7 out nocopy JTF_VARCHAR2_TABLE_2000
65     , a8 out nocopy JTF_NUMBER_TABLE
66     ) as
67     ddindx binary_integer; indx binary_integer;
68   begin
69   if t is null or t.count = 0 then
70     a0 := JTF_NUMBER_TABLE();
71     a1 := JTF_VARCHAR2_TABLE_2000();
72     a2 := JTF_VARCHAR2_TABLE_2000();
73     a3 := JTF_NUMBER_TABLE();
74     a4 := JTF_NUMBER_TABLE();
75     a5 := JTF_NUMBER_TABLE();
76     a6 := JTF_DATE_TABLE();
77     a7 := JTF_VARCHAR2_TABLE_2000();
78     a8 := JTF_NUMBER_TABLE();
79   else
80       a0 := JTF_NUMBER_TABLE();
81       a1 := JTF_VARCHAR2_TABLE_2000();
82       a2 := JTF_VARCHAR2_TABLE_2000();
83       a3 := JTF_NUMBER_TABLE();
84       a4 := JTF_NUMBER_TABLE();
85       a5 := JTF_NUMBER_TABLE();
86       a6 := JTF_DATE_TABLE();
87       a7 := JTF_VARCHAR2_TABLE_2000();
88       a8 := JTF_NUMBER_TABLE();
89       if t.count > 0 then
90         a0.extend(t.count);
91         a1.extend(t.count);
92         a2.extend(t.count);
93         a3.extend(t.count);
94         a4.extend(t.count);
95         a5.extend(t.count);
96         a6.extend(t.count);
97         a7.extend(t.count);
98         a8.extend(t.count);
99         ddindx := t.first;
100         indx := 1;
101         while true loop
102           a0(indx) := rosetta_g_miss_num_map(t(ddindx).rep_asset_id);
103           a1(indx) := t(ddindx).rep_asset_number;
104           a2(indx) := t(ddindx).book_type_code;
105           a3(indx) := rosetta_g_miss_num_map(t(ddindx).asset_category_id);
106           a4(indx) := rosetta_g_miss_num_map(t(ddindx).original_cost);
107           a5(indx) := rosetta_g_miss_num_map(t(ddindx).current_cost);
108           a6(indx) := t(ddindx).date_placed_in_service;
109           a7(indx) := t(ddindx).deprn_method;
110           a8(indx) := rosetta_g_miss_num_map(t(ddindx).life_in_months);
111           indx := indx+1;
112           if t.last =ddindx
113             then exit;
114           end if;
115           ddindx := t.next(ddindx);
116         end loop;
117       end if;
118    end if;
119   end rosetta_table_copy_out_p3;
120 
121   procedure rosetta_table_copy_in_p4(t out nocopy okl_like_kind_exchange_pvt.req_asset_tbl_type, a0 JTF_NUMBER_TABLE
122     , a1 JTF_VARCHAR2_TABLE_2000
123     , a2 JTF_VARCHAR2_TABLE_2000
124     , a3 JTF_NUMBER_TABLE
125     , a4 JTF_NUMBER_TABLE
126     , a5 JTF_DATE_TABLE
127     , a6 JTF_NUMBER_TABLE
128     , a7 JTF_NUMBER_TABLE
129     , a8 JTF_NUMBER_TABLE
130     , a9 JTF_NUMBER_TABLE
131     , a10 JTF_NUMBER_TABLE
132     ) as
133     ddindx binary_integer; indx binary_integer;
134   begin
135   if a0 is not null and a0.count > 0 then
136       if a0.count > 0 then
137         indx := a0.first;
138         ddindx := 1;
139         while true loop
140           t(ddindx).req_asset_id := rosetta_g_miss_num_map(a0(indx));
141           t(ddindx).req_asset_number := a1(indx);
142           t(ddindx).book_type_code := a2(indx);
143           t(ddindx).asset_category_id := rosetta_g_miss_num_map(a3(indx));
144           t(ddindx).original_cost := rosetta_g_miss_num_map(a4(indx));
145           t(ddindx).date_retired := rosetta_g_miss_date_in_map(a5(indx));
146           t(ddindx).proceeds_of_sale := rosetta_g_miss_num_map(a6(indx));
147           t(ddindx).gain_loss_amount := rosetta_g_miss_num_map(a7(indx));
148           t(ddindx).balance_sale_proceeds := rosetta_g_miss_num_map(a8(indx));
149           t(ddindx).balance_gain_loss := rosetta_g_miss_num_map(a9(indx));
150           t(ddindx).match_amount := rosetta_g_miss_num_map(a10(indx));
151           ddindx := ddindx+1;
152           if a0.last =indx
153             then exit;
154           end if;
155           indx := a0.next(indx);
156         end loop;
157       end if;
158    end if;
159   end rosetta_table_copy_in_p4;
160   procedure rosetta_table_copy_out_p4(t okl_like_kind_exchange_pvt.req_asset_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
161     , a1 out nocopy JTF_VARCHAR2_TABLE_2000
162     , a2 out nocopy JTF_VARCHAR2_TABLE_2000
163     , a3 out nocopy JTF_NUMBER_TABLE
164     , a4 out nocopy JTF_NUMBER_TABLE
165     , a5 out nocopy JTF_DATE_TABLE
166     , a6 out nocopy JTF_NUMBER_TABLE
167     , a7 out nocopy JTF_NUMBER_TABLE
168     , a8 out nocopy JTF_NUMBER_TABLE
169     , a9 out nocopy JTF_NUMBER_TABLE
170     , a10 out nocopy JTF_NUMBER_TABLE
171     ) as
172     ddindx binary_integer; indx binary_integer;
173   begin
174   if t is null or t.count = 0 then
175     a0 := JTF_NUMBER_TABLE();
176     a1 := JTF_VARCHAR2_TABLE_2000();
177     a2 := JTF_VARCHAR2_TABLE_2000();
178     a3 := JTF_NUMBER_TABLE();
179     a4 := JTF_NUMBER_TABLE();
180     a5 := JTF_DATE_TABLE();
181     a6 := JTF_NUMBER_TABLE();
182     a7 := JTF_NUMBER_TABLE();
183     a8 := JTF_NUMBER_TABLE();
184     a9 := JTF_NUMBER_TABLE();
185     a10 := JTF_NUMBER_TABLE();
186   else
187       a0 := JTF_NUMBER_TABLE();
188       a1 := JTF_VARCHAR2_TABLE_2000();
189       a2 := JTF_VARCHAR2_TABLE_2000();
190       a3 := JTF_NUMBER_TABLE();
191       a4 := JTF_NUMBER_TABLE();
192       a5 := JTF_DATE_TABLE();
193       a6 := JTF_NUMBER_TABLE();
194       a7 := JTF_NUMBER_TABLE();
195       a8 := JTF_NUMBER_TABLE();
196       a9 := JTF_NUMBER_TABLE();
197       a10 := JTF_NUMBER_TABLE();
198       if t.count > 0 then
199         a0.extend(t.count);
200         a1.extend(t.count);
201         a2.extend(t.count);
202         a3.extend(t.count);
203         a4.extend(t.count);
204         a5.extend(t.count);
205         a6.extend(t.count);
206         a7.extend(t.count);
207         a8.extend(t.count);
208         a9.extend(t.count);
209         a10.extend(t.count);
210         ddindx := t.first;
211         indx := 1;
212         while true loop
213           a0(indx) := rosetta_g_miss_num_map(t(ddindx).req_asset_id);
214           a1(indx) := t(ddindx).req_asset_number;
215           a2(indx) := t(ddindx).book_type_code;
216           a3(indx) := rosetta_g_miss_num_map(t(ddindx).asset_category_id);
217           a4(indx) := rosetta_g_miss_num_map(t(ddindx).original_cost);
218           a5(indx) := t(ddindx).date_retired;
219           a6(indx) := rosetta_g_miss_num_map(t(ddindx).proceeds_of_sale);
220           a7(indx) := rosetta_g_miss_num_map(t(ddindx).gain_loss_amount);
221           a8(indx) := rosetta_g_miss_num_map(t(ddindx).balance_sale_proceeds);
222           a9(indx) := rosetta_g_miss_num_map(t(ddindx).balance_gain_loss);
223           a10(indx) := rosetta_g_miss_num_map(t(ddindx).match_amount);
224           indx := indx+1;
225           if t.last =ddindx
226             then exit;
227           end if;
228           ddindx := t.next(ddindx);
229         end loop;
230       end if;
231    end if;
232   end rosetta_table_copy_out_p4;
233 
234   procedure create_like_kind_exchange(p_api_version  NUMBER
235     , p_init_msg_list  VARCHAR2
236     , x_return_status out nocopy  VARCHAR2
237     , x_msg_count out nocopy  NUMBER
238     , x_msg_data out nocopy  VARCHAR2
239     , p_corporate_book  VARCHAR2
240     , p_tax_book  VARCHAR2
241     , p_comments  VARCHAR2
242     , p9_a0 JTF_NUMBER_TABLE
243     , p9_a1 JTF_VARCHAR2_TABLE_2000
244     , p9_a2 JTF_VARCHAR2_TABLE_2000
245     , p9_a3 JTF_NUMBER_TABLE
246     , p9_a4 JTF_NUMBER_TABLE
247     , p9_a5 JTF_DATE_TABLE
248     , p9_a6 JTF_NUMBER_TABLE
249     , p9_a7 JTF_NUMBER_TABLE
250     , p9_a8 JTF_NUMBER_TABLE
251     , p9_a9 JTF_NUMBER_TABLE
252     , p9_a10 JTF_NUMBER_TABLE
253     , p8_a0  NUMBER := 0-1962.0724
254     , p8_a1  VARCHAR2 := fnd_api.g_miss_char
255     , p8_a2  VARCHAR2 := fnd_api.g_miss_char
256     , p8_a3  NUMBER := 0-1962.0724
257     , p8_a4  NUMBER := 0-1962.0724
258     , p8_a5  NUMBER := 0-1962.0724
259     , p8_a6  DATE := fnd_api.g_miss_date
260     , p8_a7  VARCHAR2 := fnd_api.g_miss_char
261     , p8_a8  NUMBER := 0-1962.0724
262   )
263 
264   as
265     ddp_rep_asset_rec okl_like_kind_exchange_pvt.rep_asset_rec_type;
266     ddp_req_asset_tbl okl_like_kind_exchange_pvt.req_asset_tbl_type;
267     ddindx binary_integer; indx binary_integer;
268   begin
269 
270     -- copy data to the local IN or IN-OUT args, if any
271 
272 
273 
274 
275 
276 
277 
278 
279     ddp_rep_asset_rec.rep_asset_id := rosetta_g_miss_num_map(p8_a0);
280     ddp_rep_asset_rec.rep_asset_number := p8_a1;
281     ddp_rep_asset_rec.book_type_code := p8_a2;
282     ddp_rep_asset_rec.asset_category_id := rosetta_g_miss_num_map(p8_a3);
283     ddp_rep_asset_rec.original_cost := rosetta_g_miss_num_map(p8_a4);
284     ddp_rep_asset_rec.current_cost := rosetta_g_miss_num_map(p8_a5);
285     ddp_rep_asset_rec.date_placed_in_service := rosetta_g_miss_date_in_map(p8_a6);
286     ddp_rep_asset_rec.deprn_method := p8_a7;
287     ddp_rep_asset_rec.life_in_months := rosetta_g_miss_num_map(p8_a8);
288 
289     okl_like_kind_exchange_pvt_w.rosetta_table_copy_in_p4(ddp_req_asset_tbl, p9_a0
290       , p9_a1
291       , p9_a2
292       , p9_a3
293       , p9_a4
294       , p9_a5
295       , p9_a6
296       , p9_a7
297       , p9_a8
298       , p9_a9
299       , p9_a10
300       );
301 
302     -- here's the delegated call to the old PL/SQL routine
303     okl_like_kind_exchange_pvt.create_like_kind_exchange(p_api_version,
304       p_init_msg_list,
305       x_return_status,
306       x_msg_count,
307       x_msg_data,
308       p_corporate_book,
309       p_tax_book,
310       p_comments,
311       ddp_rep_asset_rec,
312       ddp_req_asset_tbl);
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 
323 
324   end;
325 
326 end okl_like_kind_exchange_pvt_w;