[Home] [Help]
PACKAGE BODY: APPS.CN_SEAS_SCHEDULES_PVT_W
Source
1 package body cn_seas_schedules_pvt_w as
2 /* $Header: cnwsschb.pls 115.3 2002/11/25 22:32:08 nkodkani ship $ */
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 procedure rosetta_table_copy_in_p1(t out nocopy cn_seas_schedules_pvt.seas_schedules_tbl_type, a0 JTF_NUMBER_TABLE
14 , a1 JTF_VARCHAR2_TABLE_100
15 , a2 JTF_VARCHAR2_TABLE_100
16 , a3 JTF_NUMBER_TABLE
17 , a4 JTF_DATE_TABLE
18 , a5 JTF_DATE_TABLE
19 , a6 JTF_VARCHAR2_TABLE_100
20 , a7 JTF_NUMBER_TABLE
21 ) as
22 ddindx binary_integer; indx binary_integer;
23 begin
24 if a0 is not null and a0.count > 0 then
25 if a0.count > 0 then
26 indx := a0.first;
27 ddindx := 1;
28 while true loop
29 t(ddindx).seas_schedule_id := a0(indx);
30 t(ddindx).name := a1(indx);
31 t(ddindx).description := a2(indx);
32 t(ddindx).period_year := a3(indx);
33 t(ddindx).start_date := rosetta_g_miss_date_in_map(a4(indx));
34 t(ddindx).end_date := rosetta_g_miss_date_in_map(a5(indx));
35 t(ddindx).validation_status := a6(indx);
36 t(ddindx).object_version_number := a7(indx);
37 ddindx := ddindx+1;
38 if a0.last =indx
39 then exit;
40 end if;
41 indx := a0.next(indx);
42 end loop;
43 end if;
44 end if;
45 end rosetta_table_copy_in_p1;
46 procedure rosetta_table_copy_out_p1(t cn_seas_schedules_pvt.seas_schedules_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
47 , a1 out nocopy JTF_VARCHAR2_TABLE_100
48 , a2 out nocopy JTF_VARCHAR2_TABLE_100
49 , a3 out nocopy JTF_NUMBER_TABLE
50 , a4 out nocopy JTF_DATE_TABLE
51 , a5 out nocopy JTF_DATE_TABLE
52 , a6 out nocopy JTF_VARCHAR2_TABLE_100
53 , a7 out nocopy JTF_NUMBER_TABLE
54 ) as
55 ddindx binary_integer; indx binary_integer;
56 begin
57 if t is null or t.count = 0 then
58 a0 := JTF_NUMBER_TABLE();
59 a1 := JTF_VARCHAR2_TABLE_100();
60 a2 := JTF_VARCHAR2_TABLE_100();
61 a3 := JTF_NUMBER_TABLE();
62 a4 := JTF_DATE_TABLE();
63 a5 := JTF_DATE_TABLE();
64 a6 := JTF_VARCHAR2_TABLE_100();
65 a7 := JTF_NUMBER_TABLE();
66 else
67 a0 := JTF_NUMBER_TABLE();
68 a1 := JTF_VARCHAR2_TABLE_100();
69 a2 := JTF_VARCHAR2_TABLE_100();
70 a3 := JTF_NUMBER_TABLE();
71 a4 := JTF_DATE_TABLE();
72 a5 := JTF_DATE_TABLE();
73 a6 := JTF_VARCHAR2_TABLE_100();
74 a7 := JTF_NUMBER_TABLE();
75 if t.count > 0 then
76 a0.extend(t.count);
77 a1.extend(t.count);
78 a2.extend(t.count);
79 a3.extend(t.count);
80 a4.extend(t.count);
81 a5.extend(t.count);
82 a6.extend(t.count);
83 a7.extend(t.count);
84 ddindx := t.first;
85 indx := 1;
86 while true loop
87 a0(indx) := t(ddindx).seas_schedule_id;
88 a1(indx) := t(ddindx).name;
89 a2(indx) := t(ddindx).description;
90 a3(indx) := t(ddindx).period_year;
91 a4(indx) := t(ddindx).start_date;
92 a5(indx) := t(ddindx).end_date;
93 a6(indx) := t(ddindx).validation_status;
94 a7(indx) := t(ddindx).object_version_number;
95 indx := indx+1;
96 if t.last =ddindx
97 then exit;
98 end if;
99 ddindx := t.next(ddindx);
100 end loop;
101 end if;
102 end if;
103 end rosetta_table_copy_out_p1;
104
105 procedure create_seas_schedule(p_api_version NUMBER
106 , p_init_msg_list VARCHAR2
107 , p_commit VARCHAR2
108 , p_validation_level NUMBER
109 , p4_a0 NUMBER
110 , p4_a1 VARCHAR2
111 , p4_a2 VARCHAR2
112 , p4_a3 NUMBER
113 , p4_a4 DATE
114 , p4_a5 DATE
115 , p4_a6 VARCHAR2
116 , p4_a7 NUMBER
117 , x_seas_schedule_id out nocopy NUMBER
118 , x_return_status out nocopy VARCHAR2
119 , x_msg_count out nocopy NUMBER
120 , x_msg_data out nocopy VARCHAR2
121 )
122
123 as
124 ddp_seas_schedules_rec_type cn_seas_schedules_pvt.seas_schedules_rec_type;
125 ddindx binary_integer; indx binary_integer;
126 begin
127
128 -- copy data to the local IN or IN-OUT args, if any
129
130
131
132
133 ddp_seas_schedules_rec_type.seas_schedule_id := p4_a0;
134 ddp_seas_schedules_rec_type.name := p4_a1;
135 ddp_seas_schedules_rec_type.description := p4_a2;
136 ddp_seas_schedules_rec_type.period_year := p4_a3;
137 ddp_seas_schedules_rec_type.start_date := rosetta_g_miss_date_in_map(p4_a4);
138 ddp_seas_schedules_rec_type.end_date := rosetta_g_miss_date_in_map(p4_a5);
139 ddp_seas_schedules_rec_type.validation_status := p4_a6;
140 ddp_seas_schedules_rec_type.object_version_number := p4_a7;
141
142
143
144
145
146 -- here's the delegated call to the old PL/SQL routine
147 cn_seas_schedules_pvt.create_seas_schedule(p_api_version,
148 p_init_msg_list,
149 p_commit,
150 p_validation_level,
151 ddp_seas_schedules_rec_type,
152 x_seas_schedule_id,
153 x_return_status,
154 x_msg_count,
155 x_msg_data);
156
157 -- copy data back from the local variables to OUT or IN-OUT args, if any
158
159
160
161
162
163
164
165
166 end;
167
168 procedure update_seas_schedule(p_api_version NUMBER
169 , p_init_msg_list VARCHAR2
170 , p_commit VARCHAR2
171 , p_validation_level NUMBER
172 , p4_a0 NUMBER
173 , p4_a1 VARCHAR2
174 , p4_a2 VARCHAR2
175 , p4_a3 NUMBER
176 , p4_a4 DATE
177 , p4_a5 DATE
178 , p4_a6 VARCHAR2
179 , p4_a7 NUMBER
180 , x_return_status out nocopy VARCHAR2
181 , x_msg_count out nocopy NUMBER
182 , x_msg_data out nocopy VARCHAR2
183 )
184
185 as
186 ddp_seas_schedules_rec_type cn_seas_schedules_pvt.seas_schedules_rec_type;
187 ddindx binary_integer; indx binary_integer;
188 begin
189
190 -- copy data to the local IN or IN-OUT args, if any
191
192
193
194
195 ddp_seas_schedules_rec_type.seas_schedule_id := p4_a0;
196 ddp_seas_schedules_rec_type.name := p4_a1;
197 ddp_seas_schedules_rec_type.description := p4_a2;
198 ddp_seas_schedules_rec_type.period_year := p4_a3;
199 ddp_seas_schedules_rec_type.start_date := rosetta_g_miss_date_in_map(p4_a4);
200 ddp_seas_schedules_rec_type.end_date := rosetta_g_miss_date_in_map(p4_a5);
201 ddp_seas_schedules_rec_type.validation_status := p4_a6;
202 ddp_seas_schedules_rec_type.object_version_number := p4_a7;
203
204
205
206
207 -- here's the delegated call to the old PL/SQL routine
208 cn_seas_schedules_pvt.update_seas_schedule(p_api_version,
209 p_init_msg_list,
210 p_commit,
211 p_validation_level,
212 ddp_seas_schedules_rec_type,
213 x_return_status,
214 x_msg_count,
215 x_msg_data);
216
217 -- copy data back from the local variables to OUT or IN-OUT args, if any
218
219
220
221
222
223
224
225 end;
226
227 end cn_seas_schedules_pvt_w;