[Home] [Help]
PACKAGE BODY: APPS.OKL_BLK_AST_UPD_PVT_W
Source
1 package body okl_blk_ast_upd_pvt_w as
2 /* $Header: OKLEBAUB.pls 120.0 2007/05/25 13:18:32 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 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 function rosetta_g_miss_num_map(n number) return number as
17 a number := fnd_api.g_miss_num;
18 b number := 0-1962.0724;
19 begin
20 if n=a then return b; end if;
21 if n=b then return a; end if;
22 return n;
23 end;
24
25 procedure rosetta_table_copy_in_p23(t out nocopy okl_blk_ast_upd_pvt.okl_loc_tbl_type, a0 JTF_NUMBER_TABLE
26 , a1 JTF_NUMBER_TABLE
27 , a2 JTF_NUMBER_TABLE
28 , a3 JTF_NUMBER_TABLE
29 , a4 JTF_VARCHAR2_TABLE_100
30 , a5 JTF_NUMBER_TABLE
31 , a6 JTF_VARCHAR2_TABLE_100
32 , a7 JTF_DATE_TABLE
33 ) as
34 ddindx binary_integer; indx binary_integer;
35 begin
36 if a0 is not null and a0.count > 0 then
37 if a0.count > 0 then
38 indx := a0.first;
39 ddindx := 1;
40 while true loop
41 t(ddindx).parent_line_id := rosetta_g_miss_num_map(a0(indx));
42 t(ddindx).loc_id := rosetta_g_miss_num_map(a1(indx));
43 t(ddindx).party_site_id := rosetta_g_miss_num_map(a2(indx));
44 t(ddindx).newsite_id1 := rosetta_g_miss_num_map(a3(indx));
45 t(ddindx).newsite_id2 := a4(indx);
46 t(ddindx).oldsite_id1 := rosetta_g_miss_num_map(a5(indx));
47 t(ddindx).oldsite_id2 := a6(indx);
48 t(ddindx).date_from := rosetta_g_miss_date_in_map(a7(indx));
49 ddindx := ddindx+1;
50 if a0.last =indx
51 then exit;
52 end if;
53 indx := a0.next(indx);
54 end loop;
55 end if;
56 end if;
57 end rosetta_table_copy_in_p23;
58 procedure rosetta_table_copy_out_p23(t okl_blk_ast_upd_pvt.okl_loc_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
59 , a1 out nocopy JTF_NUMBER_TABLE
60 , a2 out nocopy JTF_NUMBER_TABLE
61 , a3 out nocopy JTF_NUMBER_TABLE
62 , a4 out nocopy JTF_VARCHAR2_TABLE_100
63 , a5 out nocopy JTF_NUMBER_TABLE
64 , a6 out nocopy JTF_VARCHAR2_TABLE_100
65 , a7 out nocopy JTF_DATE_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_NUMBER_TABLE();
72 a2 := JTF_NUMBER_TABLE();
73 a3 := JTF_NUMBER_TABLE();
74 a4 := JTF_VARCHAR2_TABLE_100();
75 a5 := JTF_NUMBER_TABLE();
76 a6 := JTF_VARCHAR2_TABLE_100();
77 a7 := JTF_DATE_TABLE();
78 else
79 a0 := JTF_NUMBER_TABLE();
80 a1 := JTF_NUMBER_TABLE();
81 a2 := JTF_NUMBER_TABLE();
82 a3 := JTF_NUMBER_TABLE();
83 a4 := JTF_VARCHAR2_TABLE_100();
84 a5 := JTF_NUMBER_TABLE();
85 a6 := JTF_VARCHAR2_TABLE_100();
86 a7 := JTF_DATE_TABLE();
87 if t.count > 0 then
88 a0.extend(t.count);
89 a1.extend(t.count);
90 a2.extend(t.count);
91 a3.extend(t.count);
92 a4.extend(t.count);
93 a5.extend(t.count);
94 a6.extend(t.count);
95 a7.extend(t.count);
96 ddindx := t.first;
97 indx := 1;
98 while true loop
99 a0(indx) := rosetta_g_miss_num_map(t(ddindx).parent_line_id);
100 a1(indx) := rosetta_g_miss_num_map(t(ddindx).loc_id);
101 a2(indx) := rosetta_g_miss_num_map(t(ddindx).party_site_id);
102 a3(indx) := rosetta_g_miss_num_map(t(ddindx).newsite_id1);
103 a4(indx) := t(ddindx).newsite_id2;
104 a5(indx) := rosetta_g_miss_num_map(t(ddindx).oldsite_id1);
105 a6(indx) := t(ddindx).oldsite_id2;
106 a7(indx) := t(ddindx).date_from;
107 indx := indx+1;
108 if t.last =ddindx
109 then exit;
110 end if;
111 ddindx := t.next(ddindx);
112 end loop;
113 end if;
114 end if;
115 end rosetta_table_copy_out_p23;
116
117 procedure update_location(p_api_version NUMBER
118 , p_init_msg_list VARCHAR2
119 , x_return_status out nocopy VARCHAR2
120 , x_msg_count out nocopy NUMBER
121 , x_msg_data out nocopy VARCHAR2
122 , p2_a0 NUMBER := 0-1962.0724
123 , p2_a1 NUMBER := 0-1962.0724
124 , p2_a2 NUMBER := 0-1962.0724
125 , p2_a3 NUMBER := 0-1962.0724
126 , p2_a4 VARCHAR2 := fnd_api.g_miss_char
127 , p2_a5 NUMBER := 0-1962.0724
128 , p2_a6 VARCHAR2 := fnd_api.g_miss_char
129 , p2_a7 DATE := fnd_api.g_miss_date
130 )
131
132 as
133 ddp_loc_rec okl_blk_ast_upd_pvt.okl_loc_rec_type;
134 ddindx binary_integer; indx binary_integer;
135 begin
136
137 -- copy data to the local IN or IN-OUT args, if any
138
139
140 ddp_loc_rec.parent_line_id := rosetta_g_miss_num_map(p2_a0);
141 ddp_loc_rec.loc_id := rosetta_g_miss_num_map(p2_a1);
142 ddp_loc_rec.party_site_id := rosetta_g_miss_num_map(p2_a2);
143 ddp_loc_rec.newsite_id1 := rosetta_g_miss_num_map(p2_a3);
144 ddp_loc_rec.newsite_id2 := p2_a4;
145 ddp_loc_rec.oldsite_id1 := rosetta_g_miss_num_map(p2_a5);
146 ddp_loc_rec.oldsite_id2 := p2_a6;
147 ddp_loc_rec.date_from := rosetta_g_miss_date_in_map(p2_a7);
148
149
150
151
152 -- here's the delegated call to the old PL/SQL routine
153 okl_blk_ast_upd_pvt.update_location(p_api_version,
154 p_init_msg_list,
155 ddp_loc_rec,
156 x_return_status,
157 x_msg_count,
158 x_msg_data);
159
160 -- copy data back from the local variables to OUT or IN-OUT args, if any
161
162
163
164
165
166 end;
167
168 procedure update_location(p_api_version NUMBER
169 , p_init_msg_list VARCHAR2
170 , p2_a0 JTF_NUMBER_TABLE
171 , p2_a1 JTF_NUMBER_TABLE
172 , p2_a2 JTF_NUMBER_TABLE
173 , p2_a3 JTF_NUMBER_TABLE
174 , p2_a4 JTF_VARCHAR2_TABLE_100
175 , p2_a5 JTF_NUMBER_TABLE
176 , p2_a6 JTF_VARCHAR2_TABLE_100
177 , p2_a7 JTF_DATE_TABLE
178 , x_return_status out nocopy VARCHAR2
179 , x_msg_count out nocopy NUMBER
180 , x_msg_data out nocopy VARCHAR2
181 )
182
183 as
184 ddp_loc_tbl okl_blk_ast_upd_pvt.okl_loc_tbl_type;
185 ddindx binary_integer; indx binary_integer;
186 begin
187
188 -- copy data to the local IN or IN-OUT args, if any
189
190
191 okl_blk_ast_upd_pvt_w.rosetta_table_copy_in_p23(ddp_loc_tbl, p2_a0
192 , p2_a1
193 , p2_a2
194 , p2_a3
195 , p2_a4
196 , p2_a5
197 , p2_a6
198 , p2_a7
199 );
200
201
202
203
204 -- here's the delegated call to the old PL/SQL routine
205 okl_blk_ast_upd_pvt.update_location(p_api_version,
206 p_init_msg_list,
207 ddp_loc_tbl,
208 x_return_status,
209 x_msg_count,
210 x_msg_data);
211
212 -- copy data back from the local variables to OUT or IN-OUT args, if any
213
214
215
216
217
218 end;
219
220 end okl_blk_ast_upd_pvt_w;