[Home] [Help]
PACKAGE BODY: APPS.OKL_AM_RECYCLE_TRMNT_PVT_W
Source
1 package body okl_am_recycle_trmnt_pvt_w as
2 /* $Header: OKLERTXB.pls 120.1 2005/07/07 12:46:14 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_p13(t out nocopy okl_am_recycle_trmnt_pvt.recy_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_VARCHAR2_TABLE_200
24 , a2 JTF_VARCHAR2_TABLE_200
25 , a3 JTF_NUMBER_TABLE
26 , a4 JTF_VARCHAR2_TABLE_200
27 , a5 JTF_VARCHAR2_TABLE_200
28 , a6 JTF_DATE_TABLE
29 ) as
30 ddindx binary_integer; indx binary_integer;
31 begin
32 if a0 is not null and a0.count > 0 then
33 if a0.count > 0 then
34 indx := a0.first;
35 ddindx := 1;
36 while true loop
37 t(ddindx).p_contract_id := rosetta_g_miss_num_map(a0(indx));
38 t(ddindx).p_contract_number := a1(indx);
39 t(ddindx).p_contract_status := a2(indx);
40 t(ddindx).p_transaction_id := rosetta_g_miss_num_map(a3(indx));
41 t(ddindx).p_transaction_status := a4(indx);
42 t(ddindx).p_tmt_recycle_yn := a5(indx);
43 t(ddindx).p_transaction_date := rosetta_g_miss_date_in_map(a6(indx));
44 ddindx := ddindx+1;
45 if a0.last =indx
46 then exit;
47 end if;
48 indx := a0.next(indx);
49 end loop;
50 end if;
51 end if;
52 end rosetta_table_copy_in_p13;
53 procedure rosetta_table_copy_out_p13(t okl_am_recycle_trmnt_pvt.recy_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
54 , a1 out nocopy JTF_VARCHAR2_TABLE_200
55 , a2 out nocopy JTF_VARCHAR2_TABLE_200
56 , a3 out nocopy JTF_NUMBER_TABLE
57 , a4 out nocopy JTF_VARCHAR2_TABLE_200
58 , a5 out nocopy JTF_VARCHAR2_TABLE_200
59 , a6 out nocopy JTF_DATE_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_VARCHAR2_TABLE_200();
66 a2 := JTF_VARCHAR2_TABLE_200();
67 a3 := JTF_NUMBER_TABLE();
68 a4 := JTF_VARCHAR2_TABLE_200();
69 a5 := JTF_VARCHAR2_TABLE_200();
70 a6 := JTF_DATE_TABLE();
71 else
72 a0 := JTF_NUMBER_TABLE();
73 a1 := JTF_VARCHAR2_TABLE_200();
74 a2 := JTF_VARCHAR2_TABLE_200();
75 a3 := JTF_NUMBER_TABLE();
76 a4 := JTF_VARCHAR2_TABLE_200();
77 a5 := JTF_VARCHAR2_TABLE_200();
78 a6 := JTF_DATE_TABLE();
79 if t.count > 0 then
80 a0.extend(t.count);
81 a1.extend(t.count);
82 a2.extend(t.count);
83 a3.extend(t.count);
84 a4.extend(t.count);
85 a5.extend(t.count);
86 a6.extend(t.count);
87 ddindx := t.first;
88 indx := 1;
89 while true loop
90 a0(indx) := rosetta_g_miss_num_map(t(ddindx).p_contract_id);
91 a1(indx) := t(ddindx).p_contract_number;
92 a2(indx) := t(ddindx).p_contract_status;
93 a3(indx) := rosetta_g_miss_num_map(t(ddindx).p_transaction_id);
94 a4(indx) := t(ddindx).p_transaction_status;
95 a5(indx) := t(ddindx).p_tmt_recycle_yn;
96 a6(indx) := t(ddindx).p_transaction_date;
97 indx := indx+1;
98 if t.last =ddindx
99 then exit;
100 end if;
101 ddindx := t.next(ddindx);
102 end loop;
103 end if;
104 end if;
105 end rosetta_table_copy_out_p13;
106
107 procedure recycle_termination(p_api_version NUMBER
108 , p_init_msg_list VARCHAR2
109 , x_return_status out nocopy VARCHAR2
110 , x_msg_count out nocopy NUMBER
111 , x_msg_data out nocopy VARCHAR2
112 , p6_a0 out nocopy NUMBER
113 , p6_a1 out nocopy VARCHAR2
114 , p6_a2 out nocopy VARCHAR2
115 , p6_a3 out nocopy NUMBER
116 , p6_a4 out nocopy VARCHAR2
117 , p6_a5 out nocopy VARCHAR2
118 , p6_a6 out nocopy DATE
119 , p5_a0 NUMBER := 0-1962.0724
120 , p5_a1 VARCHAR2 := fnd_api.g_miss_char
121 , p5_a2 VARCHAR2 := fnd_api.g_miss_char
122 , p5_a3 NUMBER := 0-1962.0724
123 , p5_a4 VARCHAR2 := fnd_api.g_miss_char
124 , p5_a5 VARCHAR2 := fnd_api.g_miss_char
125 , p5_a6 DATE := fnd_api.g_miss_date
126 )
127
128 as
129 ddp_recy_rec okl_am_recycle_trmnt_pvt.recy_rec_type;
130 ddx_recy_rec okl_am_recycle_trmnt_pvt.recy_rec_type;
131 ddindx binary_integer; indx binary_integer;
132 begin
133
134 -- copy data to the local IN or IN-OUT args, if any
135
136
137
138
139
140 ddp_recy_rec.p_contract_id := rosetta_g_miss_num_map(p5_a0);
141 ddp_recy_rec.p_contract_number := p5_a1;
142 ddp_recy_rec.p_contract_status := p5_a2;
143 ddp_recy_rec.p_transaction_id := rosetta_g_miss_num_map(p5_a3);
144 ddp_recy_rec.p_transaction_status := p5_a4;
145 ddp_recy_rec.p_tmt_recycle_yn := p5_a5;
146 ddp_recy_rec.p_transaction_date := rosetta_g_miss_date_in_map(p5_a6);
147
148
149 -- here's the delegated call to the old PL/SQL routine
150 okl_am_recycle_trmnt_pvt.recycle_termination(p_api_version,
151 p_init_msg_list,
152 x_return_status,
153 x_msg_count,
154 x_msg_data,
155 ddp_recy_rec,
156 ddx_recy_rec);
157
158 -- copy data back from the local variables to OUT or IN-OUT args, if any
159
160
161
162
163
164
165 p6_a0 := rosetta_g_miss_num_map(ddx_recy_rec.p_contract_id);
166 p6_a1 := ddx_recy_rec.p_contract_number;
167 p6_a2 := ddx_recy_rec.p_contract_status;
168 p6_a3 := rosetta_g_miss_num_map(ddx_recy_rec.p_transaction_id);
169 p6_a4 := ddx_recy_rec.p_transaction_status;
170 p6_a5 := ddx_recy_rec.p_tmt_recycle_yn;
171 p6_a6 := ddx_recy_rec.p_transaction_date;
172 end;
173
174 procedure recycle_termination(p_api_version NUMBER
175 , p_init_msg_list VARCHAR2
176 , x_return_status out nocopy VARCHAR2
177 , x_msg_count out nocopy NUMBER
178 , x_msg_data out nocopy VARCHAR2
179 , p5_a0 JTF_NUMBER_TABLE
180 , p5_a1 JTF_VARCHAR2_TABLE_200
181 , p5_a2 JTF_VARCHAR2_TABLE_200
182 , p5_a3 JTF_NUMBER_TABLE
183 , p5_a4 JTF_VARCHAR2_TABLE_200
184 , p5_a5 JTF_VARCHAR2_TABLE_200
185 , p5_a6 JTF_DATE_TABLE
186 , p6_a0 out nocopy JTF_NUMBER_TABLE
187 , p6_a1 out nocopy JTF_VARCHAR2_TABLE_200
188 , p6_a2 out nocopy JTF_VARCHAR2_TABLE_200
189 , p6_a3 out nocopy JTF_NUMBER_TABLE
190 , p6_a4 out nocopy JTF_VARCHAR2_TABLE_200
191 , p6_a5 out nocopy JTF_VARCHAR2_TABLE_200
192 , p6_a6 out nocopy JTF_DATE_TABLE
193 )
194
195 as
196 ddp_recy_tbl okl_am_recycle_trmnt_pvt.recy_tbl_type;
197 ddx_recy_tbl okl_am_recycle_trmnt_pvt.recy_tbl_type;
198 ddindx binary_integer; indx binary_integer;
199 begin
200
201 -- copy data to the local IN or IN-OUT args, if any
202
203
204
205
206
207 okl_am_recycle_trmnt_pvt_w.rosetta_table_copy_in_p13(ddp_recy_tbl, p5_a0
208 , p5_a1
209 , p5_a2
210 , p5_a3
211 , p5_a4
212 , p5_a5
213 , p5_a6
214 );
215
216
217 -- here's the delegated call to the old PL/SQL routine
218 okl_am_recycle_trmnt_pvt.recycle_termination(p_api_version,
219 p_init_msg_list,
220 x_return_status,
221 x_msg_count,
222 x_msg_data,
223 ddp_recy_tbl,
224 ddx_recy_tbl);
225
226 -- copy data back from the local variables to OUT or IN-OUT args, if any
227
228
229
230
231
232
233 okl_am_recycle_trmnt_pvt_w.rosetta_table_copy_out_p13(ddx_recy_tbl, p6_a0
234 , p6_a1
235 , p6_a2
236 , p6_a3
237 , p6_a4
238 , p6_a5
239 , p6_a6
240 );
241 end;
242
243 end okl_am_recycle_trmnt_pvt_w;