1 package body okl_execute_formula_pub_w as
2 /* $Header: OKLUFMLB.pls 120.1 2005/07/12 07:06:29 asawanka noship $ */
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 execute(p_api_version NUMBER
23 , p_init_msg_list VARCHAR2
24 , x_return_status out nocopy VARCHAR2
25 , x_msg_count out nocopy NUMBER
26 , x_msg_data out nocopy VARCHAR2
27 , p_formula_name VARCHAR2
28 , p_contract_id NUMBER
29 , p_line_id NUMBER
30 , p8_a0 JTF_VARCHAR2_TABLE_200
31 , p8_a1 JTF_VARCHAR2_TABLE_300
32 , x_value out nocopy NUMBER
33 )
34
35 as
36 ddp_additional_parameters okl_execute_formula_pub.ctxt_val_tbl_type;
37 ddindx binary_integer; indx binary_integer;
38 begin
39
40 -- copy data to the local IN or IN-OUT args, if any
41
42
43
44
45
46
47
48
49 okl_execute_formula_pvt_w.rosetta_table_copy_in_p25(ddp_additional_parameters, p8_a0
50 , p8_a1
51 );
52
53
54 -- here's the delegated call to the old PL/SQL routine
55 okl_execute_formula_pub.execute(p_api_version,
56 p_init_msg_list,
57 x_return_status,
58 x_msg_count,
59 x_msg_data,
60 p_formula_name,
61 p_contract_id,
62 p_line_id,
63 ddp_additional_parameters,
64 x_value);
65
66 -- copy data back from the local variables to OUT or IN-OUT args, if any
67
68
69
70
71
72
73
74
75
76 end;
77
78 procedure execute(p_api_version NUMBER
79 , p_init_msg_list VARCHAR2
80 , x_return_status out nocopy VARCHAR2
81 , x_msg_count out nocopy NUMBER
82 , x_msg_data out nocopy VARCHAR2
83 , p_formula_name VARCHAR2
84 , p_contract_id NUMBER
85 , p_line_id NUMBER
86 , p8_a0 JTF_VARCHAR2_TABLE_200
87 , p8_a1 JTF_VARCHAR2_TABLE_300
88 , p9_a0 out nocopy JTF_NUMBER_TABLE
89 , p9_a1 out nocopy JTF_VARCHAR2_TABLE_800
90 , p9_a2 out nocopy JTF_VARCHAR2_TABLE_300
91 , x_value out nocopy NUMBER
92 )
93
94 as
95 ddp_additional_parameters okl_execute_formula_pub.ctxt_val_tbl_type;
96 ddx_operand_val_tbl okl_execute_formula_pub.operand_val_tbl_type;
97 ddindx binary_integer; indx binary_integer;
98 begin
99
100 -- copy data to the local IN or IN-OUT args, if any
101
102
103
104
105
106
107
108
109 okl_execute_formula_pvt_w.rosetta_table_copy_in_p25(ddp_additional_parameters, p8_a0
110 , p8_a1
111 );
112
113
114
115 -- here's the delegated call to the old PL/SQL routine
116 okl_execute_formula_pub.execute(p_api_version,
117 p_init_msg_list,
118 x_return_status,
119 x_msg_count,
120 x_msg_data,
121 p_formula_name,
122 p_contract_id,
123 p_line_id,
124 ddp_additional_parameters,
125 ddx_operand_val_tbl,
126 x_value);
127
128 -- copy data back from the local variables to OUT or IN-OUT args, if any
129
130
131
132
133
134
135
136
137
138 okl_execute_formula_pvt_w.rosetta_table_copy_out_p23(ddx_operand_val_tbl, p9_a0
139 , p9_a1
140 , p9_a2
141 );
142
143 end;
144
145 end okl_execute_formula_pub_w;