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