[Home] [Help]
PACKAGE BODY: APPS.JTF_FULFILLMENT_PUB_W
Source
1 package body jtf_fulfillment_pub_w as
2 /* $Header: jtfgfmpwb.pls 120.0 2005/05/11 08:14:42 appldev 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 function rosetta_g_miss_num_map(n number) return number as
14 a number := fnd_api.g_miss_num;
15 b number := 0-1962.0724;
16 begin
17 if n=a then return b; end if;
18 if n=b then return a; end if;
19 return n;
20 end;
21
22 procedure rosetta_table_copy_in_p2(t out nocopy jtf_fulfillment_pub.order_line_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_NUMBER_TABLE
24 , a2 JTF_VARCHAR2_TABLE_100
25 , a3 JTF_NUMBER_TABLE
26 ) as
27 ddindx binary_integer; indx binary_integer;
28 begin
29 if a0 is not null and a0.count > 0 then
30 if a0.count > 0 then
31 indx := a0.first;
32 ddindx := 1;
33 while true loop
34 t(ddindx).ship_party_id := rosetta_g_miss_num_map(a0(indx));
35 t(ddindx).ship_party_site_id := rosetta_g_miss_num_map(a1(indx));
36 t(ddindx).ship_method_code := a2(indx);
37 t(ddindx).quantity := rosetta_g_miss_num_map(a3(indx));
38 ddindx := ddindx+1;
39 if a0.last =indx
40 then exit;
41 end if;
42 indx := a0.next(indx);
43 end loop;
44 end if;
45 end if;
46 end rosetta_table_copy_in_p2;
47 procedure rosetta_table_copy_out_p2(t jtf_fulfillment_pub.order_line_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
48 , a1 out nocopy JTF_NUMBER_TABLE
49 , a2 out nocopy JTF_VARCHAR2_TABLE_100
50 , a3 out nocopy JTF_NUMBER_TABLE
51 ) as
52 ddindx binary_integer; indx binary_integer;
53 begin
54 if t is null or t.count = 0 then
55 a0 := JTF_NUMBER_TABLE();
56 a1 := JTF_NUMBER_TABLE();
57 a2 := JTF_VARCHAR2_TABLE_100();
58 a3 := JTF_NUMBER_TABLE();
59 else
60 a0 := JTF_NUMBER_TABLE();
61 a1 := JTF_NUMBER_TABLE();
62 a2 := JTF_VARCHAR2_TABLE_100();
63 a3 := JTF_NUMBER_TABLE();
64 if t.count > 0 then
65 a0.extend(t.count);
66 a1.extend(t.count);
67 a2.extend(t.count);
68 a3.extend(t.count);
69 ddindx := t.first;
70 indx := 1;
71 while true loop
72 a0(indx) := rosetta_g_miss_num_map(t(ddindx).ship_party_id);
73 a1(indx) := rosetta_g_miss_num_map(t(ddindx).ship_party_site_id);
74 a2(indx) := t(ddindx).ship_method_code;
75 a3(indx) := rosetta_g_miss_num_map(t(ddindx).quantity);
76 indx := indx+1;
77 if t.last =ddindx
78 then exit;
79 end if;
80 ddindx := t.next(ddindx);
81 end loop;
82 end if;
83 end if;
84 end rosetta_table_copy_out_p2;
85
86 procedure create_fulfill_physical(p_init_msg_list VARCHAR2
87 , p_api_version NUMBER
88 , p_commit VARCHAR2
89 , x_return_status out nocopy VARCHAR2
90 , x_msg_count out nocopy NUMBER
91 , x_msg_data out nocopy VARCHAR2
92 , p7_a0 JTF_NUMBER_TABLE
93 , p7_a1 JTF_NUMBER_TABLE
94 , p7_a2 JTF_VARCHAR2_TABLE_100
95 , p7_a3 JTF_NUMBER_TABLE
96 , p8_a0 out nocopy NUMBER
97 , p8_a1 out nocopy NUMBER
98 , p8_a2 out nocopy NUMBER
99 , p8_a3 out nocopy VARCHAR2
100 , x_request_history_id out nocopy NUMBER
101 , p6_a0 NUMBER := 0-1962.0724
102 , p6_a1 NUMBER := 0-1962.0724
103 , p6_a2 NUMBER := 0-1962.0724
104 , p6_a3 NUMBER := 0-1962.0724
105 , p6_a4 NUMBER := 0-1962.0724
106 , p6_a5 NUMBER := 0-1962.0724
107 , p6_a6 VARCHAR2 := fnd_api.g_miss_char
108 , p6_a7 NUMBER := 0-1962.0724
109 , p6_a8 NUMBER := 0-1962.0724
110 , p6_a9 NUMBER := 0-1962.0724
111 , p6_a10 NUMBER := 0-1962.0724
112 , p6_a11 NUMBER := 0-1962.0724
113 , p6_a12 VARCHAR2 := fnd_api.g_miss_char
114 , p6_a13 VARCHAR2 := fnd_api.g_miss_char
115 , p6_a14 NUMBER := 0-1962.0724
116 )
117
118 as
119 ddp_order_header_rec jtf_fulfillment_pub.order_header_rec_type;
120 ddp_order_line_tbl jtf_fulfillment_pub.order_line_tbl_type;
121 ddx_order_header_rec aso_order_int.order_header_rec_type;
122 ddindx binary_integer; indx binary_integer;
123 begin
124
125 -- copy data to the local IN or IN-OUT args, if any
126
127
128
129
130
131
132 ddp_order_header_rec.cust_party_id := rosetta_g_miss_num_map(p6_a0);
133 ddp_order_header_rec.cust_account_id := rosetta_g_miss_num_map(p6_a1);
134 ddp_order_header_rec.sold_to_contact_id := rosetta_g_miss_num_map(p6_a2);
135 ddp_order_header_rec.inv_party_id := rosetta_g_miss_num_map(p6_a3);
136 ddp_order_header_rec.inv_party_site_id := rosetta_g_miss_num_map(p6_a4);
137 ddp_order_header_rec.ship_party_site_id := rosetta_g_miss_num_map(p6_a5);
138 ddp_order_header_rec.quote_source_code := p6_a6;
139 ddp_order_header_rec.marketing_source_code_id := rosetta_g_miss_num_map(p6_a7);
140 ddp_order_header_rec.order_type_id := rosetta_g_miss_num_map(p6_a8);
141 ddp_order_header_rec.employee_id := rosetta_g_miss_num_map(p6_a9);
142 ddp_order_header_rec.collateral_id := rosetta_g_miss_num_map(p6_a10);
143 ddp_order_header_rec.cover_letter_id := rosetta_g_miss_num_map(p6_a11);
144 ddp_order_header_rec.uom_code := p6_a12;
145 ddp_order_header_rec.line_category_code := p6_a13;
146 ddp_order_header_rec.inv_organization_id := rosetta_g_miss_num_map(p6_a14);
147
148 jtf_fulfillment_pub_w.rosetta_table_copy_in_p2(ddp_order_line_tbl, p7_a0
149 , p7_a1
150 , p7_a2
151 , p7_a3
152 );
153
154
155
156 -- here's the delegated call to the old PL/SQL routine
157 jtf_fulfillment_pub.create_fulfill_physical(p_init_msg_list,
158 p_api_version,
159 p_commit,
160 x_return_status,
161 x_msg_count,
162 x_msg_data,
163 ddp_order_header_rec,
164 ddp_order_line_tbl,
165 ddx_order_header_rec,
166 x_request_history_id);
167
168 -- copy data back from the local variables to OUT or IN-OUT args, if any
169
170
171
172
173
174
175
176
177 p8_a0 := rosetta_g_miss_num_map(ddx_order_header_rec.order_number);
178 p8_a1 := rosetta_g_miss_num_map(ddx_order_header_rec.order_header_id);
179 p8_a2 := rosetta_g_miss_num_map(ddx_order_header_rec.quote_header_id);
180 p8_a3 := ddx_order_header_rec.status;
181
182 end;
183
184 end jtf_fulfillment_pub_w;