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