[Home] [Help]
PACKAGE BODY: APPS.CSP_PLANNED_ORDERS_W
Source
1 package body csp_planned_orders_w as
2 /* $Header: cspwppob.pls 120.0 2005/07/12 13:19 phegde noship $ */
3 procedure rosetta_table_copy_in_p1(t out nocopy csp_planned_orders.line_tbl_type, a0 JTF_NUMBER_TABLE
4 , a1 JTF_VARCHAR2_TABLE_100
5 , a2 JTF_NUMBER_TABLE
6 , a3 JTF_NUMBER_TABLE
7 , a4 JTF_VARCHAR2_TABLE_100
8 , a5 JTF_DATE_TABLE
9 ) as
10 ddindx binary_integer; indx binary_integer;
11 begin
12 if a0 is not null and a0.count > 0 then
13 if a0.count > 0 then
14 indx := a0.first;
15 ddindx := 1;
16 while true loop
17 t(ddindx).supplied_item_id := a0(indx);
18 t(ddindx).planned_order_type := a1(indx);
19 t(ddindx).source_organization_id := a2(indx);
20 t(ddindx).quantity := a3(indx);
21 t(ddindx).uom_code := a4(indx);
22 t(ddindx).plan_date := a5(indx);
23 ddindx := ddindx+1;
24 if a0.last =indx
25 then exit;
26 end if;
27 indx := a0.next(indx);
28 end loop;
29 end if;
30 end if;
31 end rosetta_table_copy_in_p1;
32 procedure rosetta_table_copy_out_p1(t csp_planned_orders.line_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
33 , a1 out nocopy JTF_VARCHAR2_TABLE_100
34 , a2 out nocopy JTF_NUMBER_TABLE
35 , a3 out nocopy JTF_NUMBER_TABLE
36 , a4 out nocopy JTF_VARCHAR2_TABLE_100
37 , a5 out nocopy JTF_DATE_TABLE
38 ) as
39 ddindx binary_integer; indx binary_integer;
40 begin
41 if t is null or t.count = 0 then
42 a0 := JTF_NUMBER_TABLE();
43 a1 := JTF_VARCHAR2_TABLE_100();
44 a2 := JTF_NUMBER_TABLE();
45 a3 := JTF_NUMBER_TABLE();
46 a4 := JTF_VARCHAR2_TABLE_100();
47 a5 := JTF_DATE_TABLE();
48 else
49 a0 := JTF_NUMBER_TABLE();
50 a1 := JTF_VARCHAR2_TABLE_100();
51 a2 := JTF_NUMBER_TABLE();
52 a3 := JTF_NUMBER_TABLE();
53 a4 := JTF_VARCHAR2_TABLE_100();
54 a5 := JTF_DATE_TABLE();
55 if t.count > 0 then
56 a0.extend(t.count);
57 a1.extend(t.count);
58 a2.extend(t.count);
59 a3.extend(t.count);
60 a4.extend(t.count);
61 a5.extend(t.count);
62 ddindx := t.first;
63 indx := 1;
64 while true loop
65 a0(indx) := t(ddindx).supplied_item_id;
66 a1(indx) := t(ddindx).planned_order_type;
67 a2(indx) := t(ddindx).source_organization_id;
68 a3(indx) := t(ddindx).quantity;
69 a4(indx) := t(ddindx).uom_code;
70 a5(indx) := t(ddindx).plan_date;
71 indx := indx+1;
72 if t.last =ddindx
73 then exit;
74 end if;
75 ddindx := t.next(ddindx);
76 end loop;
77 end if;
78 end if;
79 end rosetta_table_copy_out_p1;
80
81 procedure create_orders(p_api_version NUMBER
82 , p_init_msg_list VARCHAR2
83 , p_commit VARCHAR2
84 , p_organization_id NUMBER
85 , p_inventory_item_id NUMBER
86 , p5_a0 JTF_NUMBER_TABLE
87 , p5_a1 JTF_VARCHAR2_TABLE_100
88 , p5_a2 JTF_NUMBER_TABLE
89 , p5_a3 JTF_NUMBER_TABLE
90 , p5_a4 JTF_VARCHAR2_TABLE_100
91 , p5_a5 JTF_DATE_TABLE
92 , x_return_status out nocopy VARCHAR2
93 , x_msg_count out nocopy NUMBER
94 , x_msg_data out nocopy VARCHAR2
95 )
96
97 as
98 ddpx_line_tbl csp_planned_orders.line_tbl_type;
99 ddindx binary_integer; indx binary_integer;
100 begin
101
102 -- copy data to the local IN or IN-OUT args, if any
103
104
105
106
107
108 csp_planned_orders_w.rosetta_table_copy_in_p1(ddpx_line_tbl, p5_a0
109 , p5_a1
110 , p5_a2
111 , p5_a3
112 , p5_a4
113 , p5_a5
114 );
115
116
117
118
119 -- here's the delegated call to the old PL/SQL routine
120 csp_planned_orders.create_orders(p_api_version,
121 p_init_msg_list,
122 p_commit,
123 p_organization_id,
124 p_inventory_item_id,
125 ddpx_line_tbl,
126 x_return_status,
127 x_msg_count,
128 x_msg_data);
129
130 -- copy data back from the local variables to OUT or IN-OUT args, if any
131
132
133
134
135
136
137
138
139 end;
140
141 end csp_planned_orders_w;