[Home] [Help]
PACKAGE BODY: APPS.OKL_EXECUTE_FORMULA_PUB
Source
1 PACKAGE BODY OKL_EXECUTE_FORMULA_PUB AS
2 /* $Header: OKLPFMLB.pls 115.10 2004/04/13 10:45:20 rnaik noship $ */
3
4 PROCEDURE execute(p_api_version IN NUMBER
5 ,p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE
6 ,x_return_status OUT NOCOPY VARCHAR2
7 ,x_msg_count OUT NOCOPY NUMBER
8 ,x_msg_data OUT NOCOPY VARCHAR2
9 ,p_formula_name IN okl_formulae_v.name%TYPE
10 ,p_contract_id IN okl_k_headers_v.id%TYPE
11 ,p_line_id IN okl_k_lines_v.id%TYPE DEFAULT NULL
12 ,p_additional_parameters IN ctxt_val_tbl_type DEFAULT g_additional_parameters_null
13 ,x_value OUT NOCOPY NUMBER
14 ) IS
15 l_msg_count NUMBER;
16 l_msg_data VARCHAR2(100);
17 l_api_name CONSTANT VARCHAR2(30) := 'EXECUTE';
18 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
19 l_formula_id okl_formulae_v.id%TYPE;
20 l_formula_string okl_formulae_v.formula_string%TYPE;
21 l_formula_name okl_formulae_v.name%TYPE;
22 l_contract_id okl_k_headers_v.id%TYPE;
23 l_line_id okl_k_lines_v.id%TYPE;
24 l_additional_parameters ctxt_val_tbl_type;
25 l_value NUMBER;
26 l_init_msg_list VARCHAR2(2) := 'T'; -- SGORANTL
27 BEGIN
28 x_return_status := FND_API.G_RET_STS_SUCCESS;
29
30 SAVEPOINT execute;
31 -- SGORANTL changed start
32 IF NVL(p_init_msg_list,'F') = 'T' THEN
33 OKL_API.init_msg_list(l_init_msg_list);
34 END IF;
35 -- SGORANTL changed end
36
37 l_formula_name := p_formula_name;
38 l_contract_id := p_contract_id;
39 l_line_id := p_line_id;
40 l_additional_parameters := p_additional_parameters;
41
42
43
44 -- Added by Santonyr on 22-Oct-2003 to fix bug 3214171
45 g_additional_parameters := p_additional_parameters;
46
47 okl_execute_formula_pvt.execute(p_api_version => p_api_version
48 ,p_init_msg_list => p_init_msg_list
49 ,x_return_status => l_return_status
50 ,x_msg_count => x_msg_count
51 ,x_msg_data => x_msg_data
52
53 ,p_formula_name => l_formula_name
54 ,p_contract_id => l_contract_id
55 ,p_line_id => l_line_id
56 ,p_additional_parameters => l_additional_parameters
57 ,x_value => l_value
58 );
59
60 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
61 RAISE FND_API.G_EXC_ERROR;
62 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
63 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
64 END IF;
65 x_value := l_value;
66 EXCEPTION
67 WHEN FND_API.G_EXC_ERROR THEN
68 ROLLBACK TO execute;
69 x_return_status := FND_API.G_RET_STS_ERROR;
70
71 FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
72 ,p_count => x_msg_count
73 ,p_data => x_msg_data);
74
75 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
76 ROLLBACK TO execute;
77 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
78 FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
79 ,p_count => x_msg_count
80 ,p_data => x_msg_data);
81 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
82 ROLLBACK TO execute;
83 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
84 FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
85 ,p_count => x_msg_count
86 ,p_data => x_msg_data);
87 WHEN OTHERS THEN
88 FND_MSG_PUB.ADD_EXC_MSG('OKL_EXECUTE_FORMULA_PUB','execute');
89 -- store SQL error message on message stack for caller
90 FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
91 ,p_count => x_msg_count
92 ,p_data => x_msg_data);
93 -- notify caller of an UNEXPECTED error
94 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
95 END execute;
96
97 PROCEDURE execute(p_api_version IN NUMBER
98 ,p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE
99 ,x_return_status OUT NOCOPY VARCHAR2
100 ,x_msg_count OUT NOCOPY NUMBER
101 ,x_msg_data OUT NOCOPY VARCHAR2
102 ,p_formula_name IN okl_formulae_v.name%TYPE
103 ,p_contract_id IN okl_k_headers_v.id%TYPE
104 ,p_line_id IN okl_k_lines_v.id%TYPE DEFAULT NULL
105 ,p_additional_parameters IN ctxt_val_tbl_type DEFAULT g_additional_parameters_null
106 ,x_operand_val_tbl OUT NOCOPY operand_val_tbl_type
107 ,x_value OUT NOCOPY NUMBER
108 ) IS
109 l_msg_count NUMBER;
110 l_msg_data VARCHAR2(100);
111 l_api_name CONSTANT VARCHAR2(30) := 'EXECUTE';
112 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
113 l_formula_id okl_formulae_v.id%TYPE;
114 l_formula_string okl_formulae_v.formula_string%TYPE;
115 l_formula_name okl_formulae_v.name%TYPE;
116 l_contract_id okl_k_headers_v.id%TYPE;
117 l_line_id okl_k_lines_v.id%TYPE;
118 l_operand_val_tbl operand_val_tbl_type;
119 l_additional_parameters ctxt_val_tbl_type;
120 l_value NUMBER;
121 l_init_msg_list VARCHAR2(2) := 'T'; -- SGORANTL
122 BEGIN
123 x_return_status := FND_API.G_RET_STS_SUCCESS;
124 SAVEPOINT execute;
125
126 -- SGORANTL changed start
127 IF NVL(p_init_msg_list,'F') = 'T' THEN
128 OKL_API.init_msg_list(l_init_msg_list);
129 END IF;
130 -- SGORANTL changed end
131
132 l_formula_name := p_formula_name;
133 l_contract_id := p_contract_id;
134 l_line_id := p_line_id;
135 l_additional_parameters := p_additional_parameters;
136
137 -- Added by Santonyr on 22-Oct-2003 to fix bug 3214171
138 g_additional_parameters := p_additional_parameters;
139
140 okl_execute_formula_pvt.execute(p_api_version => p_api_version
141 ,p_init_msg_list => p_init_msg_list
142 ,x_return_status => l_return_status
143 ,x_msg_count => x_msg_count
144 ,x_msg_data => x_msg_data
145
146 ,p_formula_name => l_formula_name
147 ,p_contract_id => l_contract_id
148 ,p_line_id => l_line_id
149 ,p_additional_parameters => l_additional_parameters
150 ,x_operand_val_tbl => l_operand_val_tbl
151 ,x_value => l_value
152 );
153
154 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
155 RAISE FND_API.G_EXC_ERROR;
156 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
157 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
158 END IF;
159
160
161 x_value := l_value;
162 x_operand_val_tbl := l_operand_val_tbl;
163
164
165 EXCEPTION
166 WHEN FND_API.G_EXC_ERROR THEN
167 ROLLBACK TO execute;
168 x_return_status := FND_API.G_RET_STS_ERROR;
169
170 FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
171 ,p_count => x_msg_count
172 ,p_data => x_msg_data);
173
174 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
175 ROLLBACK TO execute;
176 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
177 FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
178 ,p_count => x_msg_count
179 ,p_data => x_msg_data);
180
181 WHEN OTHERS THEN
182 FND_MSG_PUB.ADD_EXC_MSG('OKL_EXECUTE_FORMULA_PUB','execute');
183 -- store SQL error message on message stack for caller
184 FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
185 ,p_count => x_msg_count
186 ,p_data => x_msg_data);
187 -- notify caller of an UNEXPECTED error
188 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
189 END execute;
190
191 END OKL_EXECUTE_FORMULA_PUB;