1 package body cse_wfm_trx_grp_pvt_w as
2 /* $Header: CSEWBWWB.pls 120.1 2008/01/16 21:32:20 devijay 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 function rosetta_g_miss_num_map(n number) return number as
17 a number := fnd_api.g_miss_num;
18 b number := 0-1962.0724;
19 begin
20 if n=a then return b; end if;
21 if n=b then return a; end if;
22 return n;
23 end;
24
25 procedure wfm_transactions(p_api_version NUMBER
26 , p_commit VARCHAR2
27 , p_validation_level NUMBER
28 , p_init_msg_list VARCHAR2
29 , p_transaction_type VARCHAR2
30 , p5_a0 in out nocopy JTF_NUMBER_TABLE
31 , p5_a1 in out nocopy JTF_VARCHAR2_TABLE_100
32 , p5_a2 in out nocopy JTF_VARCHAR2_TABLE_100
33 , p5_a3 in out nocopy JTF_VARCHAR2_TABLE_100
34 , p5_a4 in out nocopy JTF_NUMBER_TABLE
35 , p5_a5 in out nocopy JTF_NUMBER_TABLE
36 , p5_a6 in out nocopy JTF_NUMBER_TABLE
37 , p5_a7 in out nocopy JTF_NUMBER_TABLE
38 , p5_a8 in out nocopy JTF_NUMBER_TABLE
39 , p5_a9 in out nocopy JTF_NUMBER_TABLE
40 , p5_a10 in out nocopy JTF_NUMBER_TABLE
41 , p5_a11 in out nocopy JTF_VARCHAR2_TABLE_100
42 , p5_a12 in out nocopy JTF_DATE_TABLE
43 , p5_a13 in out nocopy JTF_NUMBER_TABLE
44 , p5_a14 in out nocopy JTF_DATE_TABLE
45 , p5_a15 in out nocopy JTF_NUMBER_TABLE
46 , p5_a16 in out nocopy JTF_DATE_TABLE
47 , p5_a17 in out nocopy JTF_NUMBER_TABLE
48 , p5_a18 in out nocopy JTF_NUMBER_TABLE
49 , p5_a19 in out nocopy JTF_VARCHAR2_TABLE_100
50 , p5_a20 in out nocopy JTF_VARCHAR2_TABLE_2000
51 , x_return_status out nocopy VARCHAR2
52 , x_msg_count out nocopy NUMBER
53 , x_msg_data out nocopy VARCHAR2
54 )
55
56 as
57 ddp_wfm_values_tbl cse_datastructures_pub.wfm_trx_values_tbl;
58 ddindx binary_integer; indx binary_integer;
59 begin
60
61 -- copy data to the local IN or IN-OUT args, if any
62
63
64
65
66
67 cse_datastructures_pub_w.rosetta_table_copy_in_p56(ddp_wfm_values_tbl, p5_a0
68 , p5_a1
69 , p5_a2
70 , p5_a3
71 , p5_a4
72 , p5_a5
73 , p5_a6
74 , p5_a7
75 , p5_a8
76 , p5_a9
77 , p5_a10
78 , p5_a11
79 , p5_a12
80 , p5_a13
81 , p5_a14
82 , p5_a15
83 , p5_a16
84 , p5_a17
85 , p5_a18
86 , p5_a19
87 , p5_a20
88 );
89
90
91
92
93 -- here's the delegated call to the old PL/SQL routine
94 cse_wfm_trx_grp_pvt.wfm_transactions(p_api_version,
95 p_commit,
96 p_validation_level,
97 p_init_msg_list,
98 p_transaction_type,
99 ddp_wfm_values_tbl,
100 x_return_status,
101 x_msg_count,
102 x_msg_data);
103
104 -- copy data back from the local variables to OUT or IN-OUT args, if any
105
106
107
108
109
110 cse_datastructures_pub_w.rosetta_table_copy_out_p56(ddp_wfm_values_tbl, p5_a0
111 , p5_a1
112 , p5_a2
113 , p5_a3
114 , p5_a4
115 , p5_a5
116 , p5_a6
117 , p5_a7
118 , p5_a8
119 , p5_a9
120 , p5_a10
121 , p5_a11
122 , p5_a12
123 , p5_a13
124 , p5_a14
125 , p5_a15
126 , p5_a16
127 , p5_a17
128 , p5_a18
129 , p5_a19
130 , p5_a20
131 );
132
133
134
135 end;
136
137 end cse_wfm_trx_grp_pvt_w;