DBA Data[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;