DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_PRD_SERN_CHANGE_PVT_W

Source


1 package body ahl_prd_sern_change_pvt_w as
2   /* $Header: AHLWSNCB.pls 120.2 2008/03/06 00:24:36 adivenka 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   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   procedure rosetta_table_copy_in_p1(t out nocopy ahl_prd_sern_change_pvt.sernum_change_tbl_type, a0 JTF_NUMBER_TABLE
17     , a1 JTF_VARCHAR2_TABLE_100
18     , a2 JTF_VARCHAR2_TABLE_100
19     , a3 JTF_VARCHAR2_TABLE_100
20     , a4 JTF_VARCHAR2_TABLE_100
21     , a5 JTF_VARCHAR2_TABLE_100
22     , a6 JTF_NUMBER_TABLE
23     , a7 JTF_NUMBER_TABLE
24     , a8 JTF_VARCHAR2_TABLE_100
25     , a9 JTF_VARCHAR2_TABLE_100
26     , a10 JTF_VARCHAR2_TABLE_100
27     , a11 JTF_VARCHAR2_TABLE_100
28     , a12 JTF_VARCHAR2_TABLE_100
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).workorder_id := a0(indx);
38           t(ddindx).job_number := a1(indx);
39           t(ddindx).item_number := a2(indx);
40           t(ddindx).new_item_number := a3(indx);
41           t(ddindx).new_lot_number := a4(indx);
42           t(ddindx).new_item_rev_number := a5(indx);
43           t(ddindx).osp_line_id := a6(indx);
44           t(ddindx).instance_id := a7(indx);
45           t(ddindx).current_serial_number := a8(indx);
46           t(ddindx).current_serail_tag := a9(indx);
47           t(ddindx).new_serial_number := a10(indx);
48           t(ddindx).new_serial_tag_code := a11(indx);
49           t(ddindx).new_serial_tag_mean := a12(indx);
50           ddindx := ddindx+1;
51           if a0.last =indx
52             then exit;
53           end if;
54           indx := a0.next(indx);
55         end loop;
56       end if;
57    end if;
58   end rosetta_table_copy_in_p1;
59   procedure rosetta_table_copy_out_p1(t ahl_prd_sern_change_pvt.sernum_change_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
60     , a1 out nocopy JTF_VARCHAR2_TABLE_100
61     , a2 out nocopy JTF_VARCHAR2_TABLE_100
62     , a3 out nocopy JTF_VARCHAR2_TABLE_100
63     , a4 out nocopy JTF_VARCHAR2_TABLE_100
64     , a5 out nocopy JTF_VARCHAR2_TABLE_100
65     , a6 out nocopy JTF_NUMBER_TABLE
66     , a7 out nocopy JTF_NUMBER_TABLE
67     , a8 out nocopy JTF_VARCHAR2_TABLE_100
68     , a9 out nocopy JTF_VARCHAR2_TABLE_100
69     , a10 out nocopy JTF_VARCHAR2_TABLE_100
70     , a11 out nocopy JTF_VARCHAR2_TABLE_100
71     , a12 out nocopy JTF_VARCHAR2_TABLE_100
72     ) as
73     ddindx binary_integer; indx binary_integer;
74   begin
75   if t is null or t.count = 0 then
76     a0 := JTF_NUMBER_TABLE();
77     a1 := JTF_VARCHAR2_TABLE_100();
78     a2 := JTF_VARCHAR2_TABLE_100();
79     a3 := JTF_VARCHAR2_TABLE_100();
80     a4 := JTF_VARCHAR2_TABLE_100();
81     a5 := JTF_VARCHAR2_TABLE_100();
82     a6 := JTF_NUMBER_TABLE();
83     a7 := JTF_NUMBER_TABLE();
84     a8 := JTF_VARCHAR2_TABLE_100();
85     a9 := JTF_VARCHAR2_TABLE_100();
86     a10 := JTF_VARCHAR2_TABLE_100();
87     a11 := JTF_VARCHAR2_TABLE_100();
88     a12 := JTF_VARCHAR2_TABLE_100();
89   else
90       a0 := JTF_NUMBER_TABLE();
91       a1 := JTF_VARCHAR2_TABLE_100();
92       a2 := JTF_VARCHAR2_TABLE_100();
93       a3 := JTF_VARCHAR2_TABLE_100();
94       a4 := JTF_VARCHAR2_TABLE_100();
95       a5 := JTF_VARCHAR2_TABLE_100();
96       a6 := JTF_NUMBER_TABLE();
97       a7 := JTF_NUMBER_TABLE();
98       a8 := JTF_VARCHAR2_TABLE_100();
99       a9 := JTF_VARCHAR2_TABLE_100();
100       a10 := JTF_VARCHAR2_TABLE_100();
101       a11 := JTF_VARCHAR2_TABLE_100();
102       a12 := JTF_VARCHAR2_TABLE_100();
103       if t.count > 0 then
104         a0.extend(t.count);
105         a1.extend(t.count);
106         a2.extend(t.count);
107         a3.extend(t.count);
108         a4.extend(t.count);
109         a5.extend(t.count);
110         a6.extend(t.count);
111         a7.extend(t.count);
112         a8.extend(t.count);
113         a9.extend(t.count);
114         a10.extend(t.count);
115         a11.extend(t.count);
116         a12.extend(t.count);
117         ddindx := t.first;
118         indx := 1;
119         while true loop
120           a0(indx) := t(ddindx).workorder_id;
121           a1(indx) := t(ddindx).job_number;
122           a2(indx) := t(ddindx).item_number;
123           a3(indx) := t(ddindx).new_item_number;
124           a4(indx) := t(ddindx).new_lot_number;
125           a5(indx) := t(ddindx).new_item_rev_number;
126           a6(indx) := t(ddindx).osp_line_id;
127           a7(indx) := t(ddindx).instance_id;
128           a8(indx) := t(ddindx).current_serial_number;
129           a9(indx) := t(ddindx).current_serail_tag;
130           a10(indx) := t(ddindx).new_serial_number;
131           a11(indx) := t(ddindx).new_serial_tag_code;
132           a12(indx) := t(ddindx).new_serial_tag_mean;
133           indx := indx+1;
134           if t.last =ddindx
135             then exit;
136           end if;
137           ddindx := t.next(ddindx);
138         end loop;
139       end if;
140    end if;
141   end rosetta_table_copy_out_p1;
142 
143   procedure process_serialnum_change(p_api_version  NUMBER
144     , p_init_msg_list  VARCHAR2
145     , p_commit  VARCHAR2
146     , p_validation_level  NUMBER
147     , p4_a0  NUMBER
148     , p4_a1  VARCHAR2
149     , p4_a2  VARCHAR2
150     , p4_a3  VARCHAR2
151     , p4_a4  VARCHAR2
152     , p4_a5  VARCHAR2
153     , p4_a6  NUMBER
154     , p4_a7  NUMBER
155     , p4_a8  VARCHAR2
156     , p4_a9  VARCHAR2
157     , p4_a10  VARCHAR2
158     , p4_a11  VARCHAR2
159     , p4_a12  VARCHAR2
160     , x_return_status out nocopy  VARCHAR2
161     , x_msg_count out nocopy  NUMBER
162     , x_msg_data out nocopy  VARCHAR2
163     , x_warning_msg_tbl out nocopy JTF_VARCHAR2_TABLE_2000
164   )
165 
166   as
167     ddp_serialnum_change_rec ahl_prd_sern_change_pvt.sernum_change_rec_type;
168     ddx_warning_msg_tbl ahl_uc_validation_pub.error_tbl_type;
169     ddindx binary_integer; indx binary_integer;
170   begin
171 
172     -- copy data to the local IN or IN-OUT args, if any
173 
174 
175 
176 
177     ddp_serialnum_change_rec.workorder_id := p4_a0;
178     ddp_serialnum_change_rec.job_number := p4_a1;
179     ddp_serialnum_change_rec.item_number := p4_a2;
180     ddp_serialnum_change_rec.new_item_number := p4_a3;
181     ddp_serialnum_change_rec.new_lot_number := p4_a4;
182     ddp_serialnum_change_rec.new_item_rev_number := p4_a5;
183     ddp_serialnum_change_rec.osp_line_id := p4_a6;
184     ddp_serialnum_change_rec.instance_id := p4_a7;
185     ddp_serialnum_change_rec.current_serial_number := p4_a8;
186     ddp_serialnum_change_rec.current_serail_tag := p4_a9;
187     ddp_serialnum_change_rec.new_serial_number := p4_a10;
188     ddp_serialnum_change_rec.new_serial_tag_code := p4_a11;
189     ddp_serialnum_change_rec.new_serial_tag_mean := p4_a12;
190 
191 
192 
193 
194 
195     -- here's the delegated call to the old PL/SQL routine
196     ahl_prd_sern_change_pvt.process_serialnum_change(p_api_version,
197       p_init_msg_list,
198       p_commit,
199       p_validation_level,
200       ddp_serialnum_change_rec,
201       x_return_status,
202       x_msg_count,
203       x_msg_data,
204       ddx_warning_msg_tbl);
205 
206     -- copy data back from the local variables to OUT or IN-OUT args, if any
207 
208 
209 
210 
211 
212 
213 
214 
215     ahl_uc_validation_pub_w.rosetta_table_copy_out_p0(ddx_warning_msg_tbl, x_warning_msg_tbl);
216   end;
217 
218 end ahl_prd_sern_change_pvt_w;