25:
26: SUBTYPE pfcv_rec_type IS okl_prtfl_contracts_pub.pfcv_rec_type;
27: SUBTYPE pflv_rec_type IS okl_prtfl_lines_pub.pflv_rec_type;
28:
29: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
30:
31:
32: l_api_version CONSTANT NUMBER := 1;
33: l_api_name CONSTANT VARCHAR2(30) := 'create_cntrct_prtfl';
89: WHERE khr_id = p_contract_id;
90:
91: BEGIN
92:
93: l_return_status := OKL_API.START_ACTIVITY(l_api_name,
94: G_PKG_NAME,
95: p_init_msg_list,
96: l_api_version,
97: p_api_version,
99: x_return_status);
100:
101:
102:
103: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
106: RAISE OKL_API.G_EXCEPTION_ERROR;
107: END IF;
100:
101:
102:
103: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
106: RAISE OKL_API.G_EXCEPTION_ERROR;
107: END IF;
108:
101:
102:
103: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
106: RAISE OKL_API.G_EXCEPTION_ERROR;
107: END IF;
108:
109: -- SECHAWLA Bug # 2726739 : using sysdate as transaction date for currency conversion routines
102:
103: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
106: RAISE OKL_API.G_EXCEPTION_ERROR;
107: END IF;
108:
109: -- SECHAWLA Bug # 2726739 : using sysdate as transaction date for currency conversion routines
110: SELECT SYSDATE INTO l_sysdate FROM DUAL;
108:
109: -- SECHAWLA Bug # 2726739 : using sysdate as transaction date for currency conversion routines
110: SELECT SYSDATE INTO l_sysdate FROM DUAL;
111:
112: IF p_contract_id IS NULL OR p_contract_id = OKL_API.G_MISS_NUM THEN
113: x_return_status := OKL_API.G_RET_STS_ERROR;
114: -- Contarct ID is required
115: OKL_API.set_message( p_app_name => 'OKC',
116: p_msg_name => G_REQUIRED_VALUE,
109: -- SECHAWLA Bug # 2726739 : using sysdate as transaction date for currency conversion routines
110: SELECT SYSDATE INTO l_sysdate FROM DUAL;
111:
112: IF p_contract_id IS NULL OR p_contract_id = OKL_API.G_MISS_NUM THEN
113: x_return_status := OKL_API.G_RET_STS_ERROR;
114: -- Contarct ID is required
115: OKL_API.set_message( p_app_name => 'OKC',
116: p_msg_name => G_REQUIRED_VALUE,
117: p_token1 => G_COL_NAME_TOKEN,
111:
112: IF p_contract_id IS NULL OR p_contract_id = OKL_API.G_MISS_NUM THEN
113: x_return_status := OKL_API.G_RET_STS_ERROR;
114: -- Contarct ID is required
115: OKL_API.set_message( p_app_name => 'OKC',
116: p_msg_name => G_REQUIRED_VALUE,
117: p_token1 => G_COL_NAME_TOKEN,
118: p_token1_value => 'CONTRACT_ID');
119: RAISE OKL_API.G_EXCEPTION_ERROR;
115: OKL_API.set_message( p_app_name => 'OKC',
116: p_msg_name => G_REQUIRED_VALUE,
117: p_token1 => G_COL_NAME_TOKEN,
118: p_token1_value => 'CONTRACT_ID');
119: RAISE OKL_API.G_EXCEPTION_ERROR;
120: END IF;
121:
122: -- Validate contarct ID
123: OPEN l_oklheaders_csr;
122: -- Validate contarct ID
123: OPEN l_oklheaders_csr;
124: FETCH l_oklheaders_csr INTO l_dummy;
125: IF l_oklheaders_csr%NOTFOUND THEN
126: x_return_status := OKL_API.G_RET_STS_ERROR;
127: -- Contarct ID is invalid
128: OKL_API.set_message( p_app_name => 'OKC',
129: p_msg_name => G_INVALID_VALUE,
130: p_token1 => G_COL_NAME_TOKEN,
124: FETCH l_oklheaders_csr INTO l_dummy;
125: IF l_oklheaders_csr%NOTFOUND THEN
126: x_return_status := OKL_API.G_RET_STS_ERROR;
127: -- Contarct ID is invalid
128: OKL_API.set_message( p_app_name => 'OKC',
129: p_msg_name => G_INVALID_VALUE,
130: p_token1 => G_COL_NAME_TOKEN,
131: p_token1_value => 'CONTRACT_ID');
132: RAISE OKL_API.G_EXCEPTION_ERROR;
128: OKL_API.set_message( p_app_name => 'OKC',
129: p_msg_name => G_INVALID_VALUE,
130: p_token1 => G_COL_NAME_TOKEN,
131: p_token1_value => 'CONTRACT_ID');
132: RAISE OKL_API.G_EXCEPTION_ERROR;
133: END IF;
134: CLOSE l_oklheaders_csr;
135:
136: -- get the contarct number and end date
136: -- get the contarct number and end date
137: OPEN l_okcheaders_csr;
138: FETCH l_okcheaders_csr INTO l_end_date, l_contract_number;
139: IF l_okcheaders_csr%NOTFOUND THEN
140: x_return_status := OKL_API.G_RET_STS_ERROR;
141: -- Contarct ID is invalid
142: OKL_API.set_message( p_app_name => 'OKC',
143: p_msg_name => G_INVALID_VALUE,
144: p_token1 => G_COL_NAME_TOKEN,
138: FETCH l_okcheaders_csr INTO l_end_date, l_contract_number;
139: IF l_okcheaders_csr%NOTFOUND THEN
140: x_return_status := OKL_API.G_RET_STS_ERROR;
141: -- Contarct ID is invalid
142: OKL_API.set_message( p_app_name => 'OKC',
143: p_msg_name => G_INVALID_VALUE,
144: p_token1 => G_COL_NAME_TOKEN,
145: p_token1_value => 'Contract Id');
146: RAISE OKL_API.G_EXCEPTION_ERROR;
142: OKL_API.set_message( p_app_name => 'OKC',
143: p_msg_name => G_INVALID_VALUE,
144: p_token1 => G_COL_NAME_TOKEN,
145: p_token1_value => 'Contract Id');
146: RAISE OKL_API.G_EXCEPTION_ERROR;
147: END IF;
148: CLOSE l_okcheaders_csr;
149:
150: -- Check if profile already exists
150: -- Check if profile already exists
151: OPEN l_oklprtfl_csr;
152: FETCH l_oklprtfl_csr INTO l_dummy;
153: IF l_oklprtfl_csr%FOUND THEN
154: x_return_status := OKL_API.G_RET_STS_ERROR;
155: -- Portfolio Management Strategy Profile already exists for contract CONTRACT_NUMBER.
156: OKL_API.set_message( p_app_name => 'OKL',
157: p_msg_name => 'OKL_AM_PROFILE_EXISTS',
158: p_token1 => 'CONTRACT_NUMBER',
152: FETCH l_oklprtfl_csr INTO l_dummy;
153: IF l_oklprtfl_csr%FOUND THEN
154: x_return_status := OKL_API.G_RET_STS_ERROR;
155: -- Portfolio Management Strategy Profile already exists for contract CONTRACT_NUMBER.
156: OKL_API.set_message( p_app_name => 'OKL',
157: p_msg_name => 'OKL_AM_PROFILE_EXISTS',
158: p_token1 => 'CONTRACT_NUMBER',
159: p_token1_value => l_contract_number);
160: RAISE OKL_API.G_EXCEPTION_ERROR;
156: OKL_API.set_message( p_app_name => 'OKL',
157: p_msg_name => 'OKL_AM_PROFILE_EXISTS',
158: p_token1 => 'CONTRACT_NUMBER',
159: p_token1_value => l_contract_number);
160: RAISE OKL_API.G_EXCEPTION_ERROR;
161: END IF;
162: CLOSE l_oklprtfl_csr;
163:
164: -- create portfolio header
165: lp_pfcv_rec.khr_id := p_contract_id;
166: lp_pfcv_rec.line_level_yn := 'N';
167: okl_prtfl_contracts_pub.insert_prtfl_contracts(
168: p_api_version => p_api_version
169: ,p_init_msg_list => OKL_API.G_FALSE
170: ,x_return_status => x_return_status
171: ,x_msg_count => x_msg_count
172: ,x_msg_data => x_msg_data
173: ,p_pfcv_rec => lp_pfcv_rec
172: ,x_msg_data => x_msg_data
173: ,p_pfcv_rec => lp_pfcv_rec
174: ,x_pfcv_rec => lx_pfcv_rec);
175:
176: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
177: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
178: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
179: RAISE OKL_API.G_EXCEPTION_ERROR;
180: END IF;
173: ,p_pfcv_rec => lp_pfcv_rec
174: ,x_pfcv_rec => lx_pfcv_rec);
175:
176: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
177: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
178: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
179: RAISE OKL_API.G_EXCEPTION_ERROR;
180: END IF;
181:
174: ,x_pfcv_rec => lx_pfcv_rec);
175:
176: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
177: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
178: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
179: RAISE OKL_API.G_EXCEPTION_ERROR;
180: END IF;
181:
182:
175:
176: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
177: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
178: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
179: RAISE OKL_API.G_EXCEPTION_ERROR;
180: END IF;
181:
182:
183: -- create portfolio line
192: ,x_return_status => x_return_status
193: ,x_msg_count => x_msg_count
194: ,x_msg_data => x_msg_data);
195:
196: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
197: -- Rule instance is found, but formula not found
198: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
199:
200: x_return_status := OKL_API.G_RET_STS_ERROR;
194: ,x_msg_data => x_msg_data);
195:
196: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
197: -- Rule instance is found, but formula not found
198: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
199:
200: x_return_status := OKL_API.G_RET_STS_ERROR;
201: -- Portfolio Management DATA is not defined.
202: OKL_API.set_message( p_app_name => 'OKL',
196: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
197: -- Rule instance is found, but formula not found
198: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
199:
200: x_return_status := OKL_API.G_RET_STS_ERROR;
201: -- Portfolio Management DATA is not defined.
202: OKL_API.set_message( p_app_name => 'OKL',
203: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
204: p_token1 => 'DATA',
198: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
199:
200: x_return_status := OKL_API.G_RET_STS_ERROR;
201: -- Portfolio Management DATA is not defined.
202: OKL_API.set_message( p_app_name => 'OKL',
203: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
204: p_token1 => 'DATA',
205: p_token1_value => 'Budget Amount Option');
206: RAISE budget_amount_error;
215: l_budget_amount := NULL;
216:
217: ELSIF l_rulv_rec.rule_information1 = 'USE_FIXED_AMOUNT' THEN
218: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
219: IF l_rulv_rec.rule_information2 IS NULL OR l_rulv_rec.rule_information2 = OKL_API.G_MISS_CHAR THEN
220: x_return_status := OKL_API.G_RET_STS_ERROR;
221: -- -- Portfolio Management DATA is not defined.
222: OKL_API.set_message( p_app_name => 'OKL',
223: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
216:
217: ELSIF l_rulv_rec.rule_information1 = 'USE_FIXED_AMOUNT' THEN
218: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
219: IF l_rulv_rec.rule_information2 IS NULL OR l_rulv_rec.rule_information2 = OKL_API.G_MISS_CHAR THEN
220: x_return_status := OKL_API.G_RET_STS_ERROR;
221: -- -- Portfolio Management DATA is not defined.
222: OKL_API.set_message( p_app_name => 'OKL',
223: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
224: p_token1 => 'DATA',
218: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
219: IF l_rulv_rec.rule_information2 IS NULL OR l_rulv_rec.rule_information2 = OKL_API.G_MISS_CHAR THEN
220: x_return_status := OKL_API.G_RET_STS_ERROR;
221: -- -- Portfolio Management DATA is not defined.
222: OKL_API.set_message( p_app_name => 'OKL',
223: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
224: p_token1 => 'DATA',
225: p_token1_value => 'Budget Amount');
226: RAISE OKL_API.G_EXCEPTION_ERROR;
222: OKL_API.set_message( p_app_name => 'OKL',
223: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
224: p_token1 => 'DATA',
225: p_token1_value => 'Budget Amount');
226: RAISE OKL_API.G_EXCEPTION_ERROR;
227: ELSE
228: -- SECHAWLA 21-AUG-03 3108113: perform explicit conversion
229: l_budget_amount := to_number(l_rulv_rec.rule_information2);
230: END IF;
230: END IF;
231:
232: ELSIF l_rulv_rec.rule_information1 = 'USE_FORMULA' THEN
233:
234: IF l_rulv_rec.rule_information3 IS NULL OR l_rulv_rec.rule_information3 = OKL_API.G_MISS_CHAR THEN
235: x_return_status := OKL_API.G_RET_STS_ERROR;
236: -- Unable to create portfolio management strategy profile because of the missing budget amount formula.
237: OKL_API.set_message( p_app_name => 'OKL',
238: p_msg_name => 'OKL_AM_MISSING_BA_FORMULA');
231:
232: ELSIF l_rulv_rec.rule_information1 = 'USE_FORMULA' THEN
233:
234: IF l_rulv_rec.rule_information3 IS NULL OR l_rulv_rec.rule_information3 = OKL_API.G_MISS_CHAR THEN
235: x_return_status := OKL_API.G_RET_STS_ERROR;
236: -- Unable to create portfolio management strategy profile because of the missing budget amount formula.
237: OKL_API.set_message( p_app_name => 'OKL',
238: p_msg_name => 'OKL_AM_MISSING_BA_FORMULA');
239: RAISE budget_amount_error;
233:
234: IF l_rulv_rec.rule_information3 IS NULL OR l_rulv_rec.rule_information3 = OKL_API.G_MISS_CHAR THEN
235: x_return_status := OKL_API.G_RET_STS_ERROR;
236: -- Unable to create portfolio management strategy profile because of the missing budget amount formula.
237: OKL_API.set_message( p_app_name => 'OKL',
238: p_msg_name => 'OKL_AM_MISSING_BA_FORMULA');
239: RAISE budget_amount_error;
240: END IF;
241:
241:
242: OPEN l_formulae_csr(l_rulv_rec.rule_information3);
243: FETCH l_formulae_csr INTO l_formulae_id;
244: IF l_formulae_csr%NOTFOUND THEN
245: x_return_status := OKL_API.G_RET_STS_ERROR;
246: -- Budget Amount Formula Name is invalid
247: OKL_API.set_message( p_app_name => 'OKC',
248: p_msg_name => G_INVALID_VALUE,
249: p_token1 => G_COL_NAME_TOKEN,
243: FETCH l_formulae_csr INTO l_formulae_id;
244: IF l_formulae_csr%NOTFOUND THEN
245: x_return_status := OKL_API.G_RET_STS_ERROR;
246: -- Budget Amount Formula Name is invalid
247: OKL_API.set_message( p_app_name => 'OKC',
248: p_msg_name => G_INVALID_VALUE,
249: p_token1 => G_COL_NAME_TOKEN,
250: p_token1_value => 'Budget Amount Formula Name');
251: RAISE OKL_API.G_EXCEPTION_ERROR;
247: OKL_API.set_message( p_app_name => 'OKC',
248: p_msg_name => G_INVALID_VALUE,
249: p_token1 => G_COL_NAME_TOKEN,
250: p_token1_value => 'Budget Amount Formula Name');
251: RAISE OKL_API.G_EXCEPTION_ERROR;
252: END IF;
253: CLOSE l_formulae_csr;
254:
255: okl_am_util_pvt.get_formula_value(
258: p_cle_id => NULL,
259: x_formula_value => l_budget_amount,
260: x_return_status => x_return_status);
261:
262: IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
263: --Unable to calculate the budget amount because the budget amount formula returned an error.
264:
265: OKL_API.set_message(
266: p_app_name => 'OKL',
261:
262: IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
263: --Unable to calculate the budget amount because the budget amount formula returned an error.
264:
265: OKL_API.set_message(
266: p_app_name => 'OKL',
267: p_msg_name => 'OKL_AM_INVALID_BUDGET_AMT',
268: p_token1 => 'FORMULA_NAME',
269: p_token1_value => l_rulv_rec.rule_information3
270: );
271: RAISE budget_amount_error;
272: END IF;
273: ELSE
274: x_return_status := OKL_API.G_RET_STS_ERROR;
275: -- Budget Amount Option has an invalid value
276: OKL_API.set_message( p_app_name => 'OKC',
277: p_msg_name => G_INVALID_VALUE,
278: p_token1 => G_COL_NAME_TOKEN,
272: END IF;
273: ELSE
274: x_return_status := OKL_API.G_RET_STS_ERROR;
275: -- Budget Amount Option has an invalid value
276: OKL_API.set_message( p_app_name => 'OKC',
277: p_msg_name => G_INVALID_VALUE,
278: p_token1 => G_COL_NAME_TOKEN,
279: p_token1_value => 'Budget Amount Option');
280: RAISE OKL_API.G_EXCEPTION_ERROR;
276: OKL_API.set_message( p_app_name => 'OKC',
277: p_msg_name => G_INVALID_VALUE,
278: p_token1 => G_COL_NAME_TOKEN,
279: p_token1_value => 'Budget Amount Option');
280: RAISE OKL_API.G_EXCEPTION_ERROR;
281:
282: END IF;
283:
284: -------------end get budget amount ------------------------------------
294: ,x_return_status => x_return_status
295: ,x_msg_count => x_msg_count
296: ,x_msg_data => x_msg_data);
297:
298: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
299: -- Rule instance is found, but formula not found
300: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
301:
302: x_return_status := OKL_API.G_RET_STS_ERROR;
296: ,x_msg_data => x_msg_data);
297:
298: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
299: -- Rule instance is found, but formula not found
300: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
301:
302: x_return_status := OKL_API.G_RET_STS_ERROR;
303: -- Portfolio Management DATA is not defined.
304: OKL_API.set_message( p_app_name => 'OKL',
298: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
299: -- Rule instance is found, but formula not found
300: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
301:
302: x_return_status := OKL_API.G_RET_STS_ERROR;
303: -- Portfolio Management DATA is not defined.
304: OKL_API.set_message( p_app_name => 'OKL',
305: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
306: p_token1 => 'DATA',
300: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
301:
302: x_return_status := OKL_API.G_RET_STS_ERROR;
303: -- Portfolio Management DATA is not defined.
304: OKL_API.set_message( p_app_name => 'OKL',
305: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
306: p_token1 => 'DATA',
307: p_token1_value => 'Strategy');
308: RAISE strategy_error;
330: ,x_return_status => x_return_status
331: ,x_msg_count => x_msg_count
332: ,x_msg_data => x_msg_data);
333:
334: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
335: -- Rule instance is found, but formula not found
336: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
337: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
338:
333:
334: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
335: -- Rule instance is found, but formula not found
336: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
337: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
338:
339: x_return_status := OKL_API.G_RET_STS_ERROR;
340: -- Portfolio management DATA is not defined.
341: OKL_API.set_message( p_app_name => 'OKL',
335: -- Rule instance is found, but formula not found
336: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
337: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
338:
339: x_return_status := OKL_API.G_RET_STS_ERROR;
340: -- Portfolio management DATA is not defined.
341: OKL_API.set_message( p_app_name => 'OKL',
342: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
343: p_token1 => 'DATA',
337: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
338:
339: x_return_status := OKL_API.G_RET_STS_ERROR;
340: -- Portfolio management DATA is not defined.
341: OKL_API.set_message( p_app_name => 'OKL',
342: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
343: p_token1 => 'DATA',
344: p_token1_value => 'Assignment Group');
345: RAISE assignment_group_error;
368: ,x_return_status => x_return_status
369: ,x_msg_count => x_msg_count
370: ,x_msg_data => x_msg_data);
371:
372: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
373: -- Rule instance is found, but formula not found
374: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
375: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
376:
371:
372: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
373: -- Rule instance is found, but formula not found
374: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
375: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
376:
377: x_return_status := OKL_API.G_RET_STS_ERROR;
378: -- Portfolio management DATA is not defined.
379: OKL_API.set_message( p_app_name => 'OKL',
373: -- Rule instance is found, but formula not found
374: -- SECHAWLA 21-AUG-03 3108113: Changed G_MISS_NUM to G_MISS_CHAR
375: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
376:
377: x_return_status := OKL_API.G_RET_STS_ERROR;
378: -- Portfolio management DATA is not defined.
379: OKL_API.set_message( p_app_name => 'OKL',
380: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
381: p_token1 => 'DATA',
375: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
376:
377: x_return_status := OKL_API.G_RET_STS_ERROR;
378: -- Portfolio management DATA is not defined.
379: OKL_API.set_message( p_app_name => 'OKL',
380: p_msg_name => 'OKL_AM_PRTFL_MISSING_DATA',
381: p_token1 => 'DATA',
382: p_token1_value => 'Execution Due Date');
383: RAISE execution_date_error;
409: ,x_return_status => x_return_status
410: ,x_msg_count => x_msg_count
411: ,x_msg_data => x_msg_data);
412:
413: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
414: -- Rule instance is found, but has a null value
415: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
416: l_approval_required := 'N';
417: ELSE
411: ,x_msg_data => x_msg_data);
412:
413: IF (x_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
414: -- Rule instance is found, but has a null value
415: IF l_rulv_rec.rule_information1 IS NULL OR l_rulv_rec.rule_information1 = OKL_API.G_MISS_CHAR THEN
416: l_approval_required := 'N';
417: ELSE
418: l_approval_required := l_rulv_rec.rule_information1;
419: END IF;
446: x_currency_conversion_rate => lx_currency_conversion_rate,
447: x_currency_conversion_date => lx_currency_conversion_date,
448: x_converted_amount => lx_converted_amount );
449:
450: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
451: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
452: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
453: RAISE OKL_API.G_EXCEPTION_ERROR;
454: END IF;
447: x_currency_conversion_date => lx_currency_conversion_date,
448: x_converted_amount => lx_converted_amount );
449:
450: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
451: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
452: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
453: RAISE OKL_API.G_EXCEPTION_ERROR;
454: END IF;
455:
448: x_converted_amount => lx_converted_amount );
449:
450: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
451: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
452: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
453: RAISE OKL_API.G_EXCEPTION_ERROR;
454: END IF;
455:
456: lp_pflv_rec.currency_conversion_type := lx_currency_conversion_type;
449:
450: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
451: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
452: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
453: RAISE OKL_API.G_EXCEPTION_ERROR;
454: END IF;
455:
456: lp_pflv_rec.currency_conversion_type := lx_currency_conversion_type;
457: lp_pflv_rec.currency_conversion_rate := lx_currency_conversion_rate;
472: lp_pflv_rec.fma_id := l_formulae_id;
473:
474: okl_prtfl_lines_pub.insert_prtfl_lines(
475: p_api_version => p_api_version
476: ,p_init_msg_list => OKL_API.G_FALSE
477: ,x_return_status => x_return_status
478: ,x_msg_count => x_msg_count
479: ,x_msg_data => x_msg_data
480: ,p_pflv_rec => lp_pflv_rec
479: ,x_msg_data => x_msg_data
480: ,p_pflv_rec => lp_pflv_rec
481: ,x_pflv_rec => lx_pflv_rec);
482:
483: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
484: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
485: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
486: RAISE OKL_API.G_EXCEPTION_ERROR;
487: END IF;
480: ,p_pflv_rec => lp_pflv_rec
481: ,x_pflv_rec => lx_pflv_rec);
482:
483: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
484: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
485: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
486: RAISE OKL_API.G_EXCEPTION_ERROR;
487: END IF;
488:
481: ,x_pflv_rec => lx_pflv_rec);
482:
483: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
484: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
485: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
486: RAISE OKL_API.G_EXCEPTION_ERROR;
487: END IF;
488:
489:
482:
483: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
484: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
485: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
486: RAISE OKL_API.G_EXCEPTION_ERROR;
487: END IF;
488:
489:
490: IF upper(l_approval_required) = 'Y' THEN
490: IF upper(l_approval_required) = 'Y' THEN
491: okl_am_wf.raise_business_event(p_contract_id,'oracle.apps.okl.am.approvecontportfolio');
492: END IF;
493:
494: OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
495:
496: EXCEPTION
497:
498: WHEN budget_amount_error THEN
555: END IF;
556: DBMS_TRANSACTION.ROLLBACK_SAVEPOINT(l_api_name || '_PVT');
557:
558:
559: WHEN OKL_API.G_EXCEPTION_ERROR THEN
560: IF l_formulae_csr%ISOPEN THEN
561: CLOSE l_formulae_csr;
562: END IF;
563: IF l_okcheaders_csr%ISOPEN THEN
568: END IF;
569: IF l_oklprtfl_csr%ISOPEN THEN
570: CLOSE l_oklprtfl_csr;
571: END IF;
572: x_return_status := OKL_API.HANDLE_EXCEPTIONS
573: (
574: l_api_name,
575: G_PKG_NAME,
576: 'OKL_API.G_RET_STS_ERROR',
572: x_return_status := OKL_API.HANDLE_EXCEPTIONS
573: (
574: l_api_name,
575: G_PKG_NAME,
576: 'OKL_API.G_RET_STS_ERROR',
577: x_msg_count,
578: x_msg_data,
579: '_PVT'
580: );
577: x_msg_count,
578: x_msg_data,
579: '_PVT'
580: );
581: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
582: IF l_formulae_csr%ISOPEN THEN
583: CLOSE l_formulae_csr;
584: END IF;
585: IF l_okcheaders_csr%ISOPEN THEN
590: END IF;
591: IF l_oklprtfl_csr%ISOPEN THEN
592: CLOSE l_oklprtfl_csr;
593: END IF;
594: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
595: (
596: l_api_name,
597: G_PKG_NAME,
598: 'OKL_API.G_RET_STS_UNEXP_ERROR',
594: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
595: (
596: l_api_name,
597: G_PKG_NAME,
598: 'OKL_API.G_RET_STS_UNEXP_ERROR',
599: x_msg_count,
600: x_msg_data,
601: '_PVT'
602: );
612: END IF;
613: IF l_oklprtfl_csr%ISOPEN THEN
614: CLOSE l_oklprtfl_csr;
615: END IF;
616: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
617: (
618: l_api_name,
619: G_PKG_NAME,
620: 'OTHERS',
653: l_return_status VARCHAR2(1);
654: l_msg_count NUMBER;
655: l_msg_data VARCHAR2(2000);
656: l_transaction_status VARCHAR2(1);
657: lx_error_rec OKL_API.error_rec_type;
658: l_msg_idx INTEGER := FND_MSG_PUB.G_FIRST;
659: l_api_name CONSTANT VARCHAR2(30) := 'batch_upd_cntrct_prtfl';
660: l_total_count NUMBER;
661: l_processed_count NUMBER;
740: EXCEPTION
741: WHEN OTHERS THEN
742: -- unexpected error
743: -- SECHAWLA 16-JAN-03 Bug # 2754280 : Changed the app name from OKL to OKC
744: OKL_API.set_message(p_app_name => 'OKC',
745: p_msg_name => g_unexpected_error,
746: p_token1 => g_sqlcode_token,
747: p_token1_value => sqlcode,
748: p_token2 => g_sqlerrm_token,
778: lp_pflv_rec pflv_rec_type;
779: lx_pflv_rec pflv_rec_type;
780:
781: l_budget_amount NUMBER;
782: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
783: l_contract_number VARCHAR2(120);
784: l_total_count NUMBER := 0;
785: l_process_count NUMBER := 0;
786: l_error_count NUMBER := 0;
815: WHERE id = p_id;
816:
817: BEGIN
818:
819: l_return_status := OKL_API.START_ACTIVITY(l_api_name,
820: G_PKG_NAME,
821: p_init_msg_list,
822: l_api_version,
823: p_api_version,
825: x_return_status);
826:
827:
828:
829: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
831: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
832: RAISE OKL_API.G_EXCEPTION_ERROR;
833: END IF;
826:
827:
828:
829: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
831: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
832: RAISE OKL_API.G_EXCEPTION_ERROR;
833: END IF;
834:
827:
828:
829: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
831: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
832: RAISE OKL_API.G_EXCEPTION_ERROR;
833: END IF;
834:
835:
828:
829: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
831: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
832: RAISE OKL_API.G_EXCEPTION_ERROR;
833: END IF;
834:
835:
836:
848: OPEN l_okcheaders_csr(l_cntrctprtfl_rec.khr_id);
849: FETCH l_okcheaders_csr INTO l_contract_number;
850: IF l_okcheaders_csr%NOTFOUND THEN
851: -- Contract Id is invalid
852: OKL_API.set_message( p_app_name => 'OKC',
853: p_msg_name => G_INVALID_VALUE,
854: p_token1 => G_COL_NAME_TOKEN,
855: p_token1_value => 'Contract Id');
856: l_error_txn := 'Y';
861: FETCH l_formulae_csr INTO l_name;
862: IF l_formulae_csr%NOTFOUND THEN
863:
864: -- Budget Amount Formula Name is invalid
865: OKL_API.set_message(
866: p_app_name => 'OKL',
867: p_msg_name => 'OKL_AM_INVALID_FORMULA',
868: p_token1 => 'CONTRACT_NUMBER',
869: p_token1_value => l_contract_number);
877: p_cle_id => NULL,
878: x_formula_value => l_budget_amount,
879: x_return_status => l_return_status);
880:
881: IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
882: --Can not process strategy profile update transaction for contract CONTARCT_NUMBER because the budget amount formula returned error.
883: OKL_API.set_message(
884: p_app_name => 'OKL',
885: p_msg_name => 'OKL_AM_UPD_BA_FORMULA_ERR',
879: x_return_status => l_return_status);
880:
881: IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
882: --Can not process strategy profile update transaction for contract CONTARCT_NUMBER because the budget amount formula returned error.
883: OKL_API.set_message(
884: p_app_name => 'OKL',
885: p_msg_name => 'OKL_AM_UPD_BA_FORMULA_ERR',
886: p_token1 => 'CONTRACT_NUMBER',
887: p_token1_value => l_contract_number,
898: lp_pflv_rec.budget_amount := l_budget_amount;
899:
900: okl_prtfl_lines_pub.update_prtfl_lines(
901: p_api_version => p_api_version
902: ,p_init_msg_list => OKL_API.G_FALSE
903: ,x_return_status => l_return_status
904: ,x_msg_count => x_msg_count
905: ,x_msg_data => x_msg_data
906: ,p_pflv_rec => lp_pflv_rec
967: x_total_count := l_total_count;
968: x_processed_count := l_process_count;
969: x_error_count := l_error_count;
970:
971: OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
972:
973: EXCEPTION
974:
975: WHEN budget_amount_error THEN
985: DBMS_TRANSACTION.ROLLBACK_SAVEPOINT(l_api_name || '_PVT');
986:
987:
988:
989: WHEN OKL_API.G_EXCEPTION_ERROR THEN
990: IF l_cntrctprtfl_csr%ISOPEN THEN
991: CLOSE l_cntrctprtfl_csr;
992: END IF;
993: IF l_okcheaders_csr%ISOPEN THEN
995: END IF;
996: IF l_formulae_csr%ISOPEN THEN
997: CLOSE l_formulae_csr;
998: END IF;
999: x_return_status := OKL_API.HANDLE_EXCEPTIONS
1000: (
1001: l_api_name,
1002: G_PKG_NAME,
1003: 'OKL_API.G_RET_STS_ERROR',
999: x_return_status := OKL_API.HANDLE_EXCEPTIONS
1000: (
1001: l_api_name,
1002: G_PKG_NAME,
1003: 'OKL_API.G_RET_STS_ERROR',
1004: x_msg_count,
1005: x_msg_data,
1006: '_PVT'
1007: );
1004: x_msg_count,
1005: x_msg_data,
1006: '_PVT'
1007: );
1008: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1009: IF l_cntrctprtfl_csr%ISOPEN THEN
1010: CLOSE l_cntrctprtfl_csr;
1011: END IF;
1012: IF l_okcheaders_csr%ISOPEN THEN
1014: END IF;
1015: IF l_formulae_csr%ISOPEN THEN
1016: CLOSE l_formulae_csr;
1017: END IF;
1018: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
1019: (
1020: l_api_name,
1021: G_PKG_NAME,
1022: 'OKL_API.G_RET_STS_UNEXP_ERROR',
1018: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
1019: (
1020: l_api_name,
1021: G_PKG_NAME,
1022: 'OKL_API.G_RET_STS_UNEXP_ERROR',
1023: x_msg_count,
1024: x_msg_data,
1025: '_PVT'
1026: );
1033: END IF;
1034: IF l_formulae_csr%ISOPEN THEN
1035: CLOSE l_formulae_csr;
1036: END IF;
1037: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
1038: (
1039: l_api_name,
1040: G_PKG_NAME,
1041: 'OTHERS',
1071: l_return_status VARCHAR2(1);
1072: l_msg_count NUMBER;
1073: l_msg_data VARCHAR2(2000);
1074:
1075: lx_error_rec OKL_API.error_rec_type;
1076: l_msg_idx INTEGER := FND_MSG_PUB.G_FIRST;
1077: l_api_name CONSTANT VARCHAR2(30) := 'batch_exe_cntrct_prtfl';
1078: l_total_count NUMBER;
1079: l_processed_count NUMBER;
1146: EXCEPTION
1147: WHEN OTHERS THEN
1148: -- unexpected error
1149: -- SECHAWLA 16-JAN-03 Bug # 2754280 : Changed the app name from OKL to OKC
1150: OKL_API.set_message(p_app_name => 'OKC',
1151: p_msg_name => g_unexpected_error,
1152: p_token1 => g_sqlcode_token,
1153: p_token1_value => sqlcode,
1154: p_token2 => g_sqlerrm_token,
1181:
1182: lp_pflv_rec pflv_rec_type;
1183: lx_pflv_rec pflv_rec_type;
1184:
1185: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1186: l_contract_number VARCHAR2(120);
1187: l_total_count NUMBER := 0;
1188: l_process_count NUMBER := 0;
1189: l_error_count NUMBER := 0;
1211: WHERE team_id = p_team_id;
1212:
1213: BEGIN
1214:
1215: l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1216: G_PKG_NAME,
1217: p_init_msg_list,
1218: l_api_version,
1219: p_api_version,
1221: x_return_status);
1222:
1223:
1224:
1225: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1226: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1227: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1228: RAISE OKL_API.G_EXCEPTION_ERROR;
1229: END IF;
1222:
1223:
1224:
1225: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1226: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1227: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1228: RAISE OKL_API.G_EXCEPTION_ERROR;
1229: END IF;
1230:
1223:
1224:
1225: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1226: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1227: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1228: RAISE OKL_API.G_EXCEPTION_ERROR;
1229: END IF;
1230:
1231: SELECT SYSDATE INTO l_sysdate FROM dual;
1224:
1225: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1226: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1227: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1228: RAISE OKL_API.G_EXCEPTION_ERROR;
1229: END IF;
1230:
1231: SELECT SYSDATE INTO l_sysdate FROM dual;
1232:
1245: OPEN l_jtfteams_csr(l_cntrctprtfl_rec.tmb_id);
1246: FETCH l_jtfteams_csr INTO l_team_name;
1247: IF l_jtfteams_csr%NOTFOUND THEN
1248: -- Assignment group ID is invalid
1249: OKL_API.set_message(
1250: p_app_name => 'OKC',
1251: p_msg_name => G_INVALID_VALUE,
1252: p_token1 => G_COL_NAME_TOKEN,
1253: p_token1_value => 'TMB_ID');
1265: lp_pflv_rec.date_strategy_executed := l_sysdate;
1266:
1267: okl_prtfl_lines_pub.update_prtfl_lines(
1268: p_api_version => p_api_version
1269: ,p_init_msg_list => OKL_API.G_FALSE
1270: ,x_return_status => l_return_status
1271: ,x_msg_count => x_msg_count
1272: ,x_msg_data => x_msg_data
1273: ,p_pflv_rec => lp_pflv_rec
1297: x_total_count := l_total_count;
1298: x_processed_count := l_process_count;
1299: x_error_count := l_total_count - l_process_count;
1300:
1301: OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1302:
1303: EXCEPTION
1304:
1305: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1301: OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1302:
1303: EXCEPTION
1304:
1305: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1306: IF l_cntrctprtfl_csr%ISOPEN THEN
1307: CLOSE l_cntrctprtfl_csr;
1308: END IF;
1309: IF l_jtfteams_csr%ISOPEN THEN
1309: IF l_jtfteams_csr%ISOPEN THEN
1310: CLOSE l_jtfteams_csr;
1311: END IF;
1312:
1313: x_return_status := OKL_API.HANDLE_EXCEPTIONS
1314: (
1315: l_api_name,
1316: G_PKG_NAME,
1317: 'OKL_API.G_RET_STS_ERROR',
1313: x_return_status := OKL_API.HANDLE_EXCEPTIONS
1314: (
1315: l_api_name,
1316: G_PKG_NAME,
1317: 'OKL_API.G_RET_STS_ERROR',
1318: x_msg_count,
1319: x_msg_data,
1320: '_PVT'
1321: );
1318: x_msg_count,
1319: x_msg_data,
1320: '_PVT'
1321: );
1322: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1323: IF l_cntrctprtfl_csr%ISOPEN THEN
1324: CLOSE l_cntrctprtfl_csr;
1325: END IF;
1326: IF l_jtfteams_csr%ISOPEN THEN
1326: IF l_jtfteams_csr%ISOPEN THEN
1327: CLOSE l_jtfteams_csr;
1328: END IF;
1329:
1330: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
1331: (
1332: l_api_name,
1333: G_PKG_NAME,
1334: 'OKL_API.G_RET_STS_UNEXP_ERROR',
1330: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
1331: (
1332: l_api_name,
1333: G_PKG_NAME,
1334: 'OKL_API.G_RET_STS_UNEXP_ERROR',
1335: x_msg_count,
1336: x_msg_data,
1337: '_PVT'
1338: );
1343: IF l_jtfteams_csr%ISOPEN THEN
1344: CLOSE l_jtfteams_csr;
1345: END IF;
1346:
1347: x_return_status :=OKL_API.HANDLE_EXCEPTIONS
1348: (
1349: l_api_name,
1350: G_PKG_NAME,
1351: 'OTHERS',