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