[Home] [Help]
PACKAGE BODY: APPS.OKL_SUBSIDY_POOL_BUDGET_PVT
Source
1 PACKAGE BODY OKL_SUBSIDY_POOL_BUDGET_PVT AS
2 /* $Header: OKLRSIBB.pls 120.2 2005/10/30 03:17:02 appldev noship $ */
3
4 G_WF_EVT_BUDGET_LINE_PENDING CONSTANT wf_events.name%TYPE DEFAULT 'oracle.apps.okl.subsidy_pool.budget_line_pending_approval';
5 G_WF_EVT_BUDGET_LINE_APPROVED CONSTANT wf_events.name%TYPE DEFAULT 'oracle.apps.okl.subsidy_pool.budget_line_approved';
6 G_WF_EVT_BUDGET_LINE_REJECTED CONSTANT wf_events.name%TYPE DEFAULT 'oracle.apps.okl.subsidy_pool.budget_line_rejected';
7 G_WF_ITM_SUB_POOL_ID CONSTANT VARCHAR2(30) := 'SUBSIDY_POOL_ID';
8 G_WF_ITM_BUDGET_LINE_ID CONSTANT VARCHAR2(30) := 'BUDGET_LINE_ID';
9
10 -------------------------------------------------------------------------------
11 -- PROCEDURE raise_business_event
12 -------------------------------------------------------------------------------
13 -- Start of comments
14 --
15 -- Procedure Name : raise_business_event
16 -- Description : This procedure is a wrapper that raises a business event
17 -- : when ever a subsidy pool record is submitted for approval, approved, rejected
18 -- Business Rules : the event is raised based on the decision_status_code passed and successful updation of the pool record
19 -- Parameters :
20 -- Version : 1.0
21 -- History :
22 -- End of comments
23
24 PROCEDURE raise_business_event(p_api_version IN NUMBER,
25 p_init_msg_list IN VARCHAR2,
26 x_return_status OUT NOCOPY VARCHAR2,
27 x_msg_count OUT NOCOPY NUMBER,
28 x_msg_data OUT NOCOPY VARCHAR2,
29 p_event_name IN VARCHAR2,
30 p_event_param_list IN WF_PARAMETER_LIST_T
31 ) IS
32 l_event_param_list WF_PARAMETER_LIST_T;
33 BEGIN
34 l_event_param_list := p_event_param_list;
35 x_return_status := OKL_API.G_RET_STS_SUCCESS;
36
37 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
38 p_init_msg_list => p_init_msg_list,
39 x_return_status => x_return_status,
40 x_msg_count => x_msg_count,
41 x_msg_data => x_msg_data,
42 p_event_name => p_event_name,
43 p_parameters => l_event_param_list);
44 EXCEPTION
45 WHEN OTHERS THEN
46 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
47 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
48 END raise_business_event;
49
50 ---------------------------------------------------------------------------
51 -- Procedures and Functions
52 ---------------------------------------------------------------------------
53 ---------------------------------------------------------------------------
54 -- PROCEDURE create_budget_line
55 ---------------------------------------------------------------------------
56 -- Start of comments
57 --
58 -- Procedure Name : create_budget_line
59 -- Description : procedure for inserting the records in
60 -- table OKL_SUBSIDY_POOL_BUDGETS
61 -- Business Rules : This procedure creates budget lines for a subsidy pool
62 -- where subsidy pool id of table OKL_SUBSIDY_POOL_BUDGETS
63 -- represents that pool id.
64 -- Parameters : p_api_version, p_init_msg_list, x_return_status, x_msg_count,
65 -- x_msg_data, p_budget_line_tbl, x_budget_line_tbl.
66 -- Version : 1.0
67 -- End of comments
68 ---------------------------------------------------------------------------
69
70 PROCEDURE create_budget_line ( p_api_version IN NUMBER
71 ,p_init_msg_list IN VARCHAR2
72 ,x_return_status OUT NOCOPY VARCHAR2
73 ,x_msg_count OUT NOCOPY NUMBER
74 ,x_msg_data OUT NOCOPY VARCHAR2
75 ,p_budget_line_tbl IN budget_line_tbl
76 ,x_budget_line_tbl OUT NOCOPY budget_line_tbl
77 ) IS
78
79 ---------------------------
80 -- DECLARE Local Variables
81 ---------------------------
82 L_MODULE CONSTANT fnd_log_messages.module%TYPE := 'okl.plsql.OKL_SUBSIDY_POOL_BUDGET_PVT.CREATE_BUDGET_LINE';
83 L_DEBUG_ENABLED VARCHAR2(10);
84 L_LEVEL_PROCEDURE fnd_log_messages.log_level%TYPE;
85 IS_DEBUG_PROCEDURE_ON BOOLEAN;
86 l_budget_line_rec budget_line_rec;
87 l_budget_line_tbl budget_line_tbl ;
88 l_api_version NUMBER ;
89 l_init_msg_list VARCHAR2(1) ;
90 l_return_status VARCHAR2(1);
91 l_msg_count NUMBER ;
92 l_msg_data VARCHAR2(2000);
93 l_api_name CONSTANT VARCHAR2(30) := 'create_budget_line';
94
95 -------------------
96 -- DECLARE Cursors
97 -------------------
98
99
100 BEGIN
101 L_DEBUG_ENABLED := Okl_Debug_Pub.CHECK_LOG_ENABLED;
102 IF(L_DEBUG_ENABLED='Y') THEN
103 L_LEVEL_PROCEDURE :=Fnd_Log.LEVEL_PROCEDURE;
104 IS_DEBUG_PROCEDURE_ON := Okl_Debug_Pub.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
105 END IF;
106 IF(IS_DEBUG_PROCEDURE_ON) THEN
107 BEGIN
108 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLRSIBB.pls call okl_sib_pvt.insert_row');
109 END;
110 END IF;
111
112 l_budget_line_tbl := p_budget_line_tbl;
113 l_api_version := 1.0;
114 l_init_msg_list := Okl_Api.g_false;
115 l_msg_count := 0;
116
117 SAVEPOINT create_budget_line_PVT;
118 l_return_status := OKL_API.START_ACTIVITY( l_api_name,
119 G_PKG_NAME,
120 p_init_msg_list,
121 l_api_version,
122 p_api_version,
123 '_PVT',
124 l_return_status);
125
126 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
127 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
128 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
129 RAISE OKL_API.G_EXCEPTION_ERROR;
130 END IF;
131 -- TAPI call which inserts the budget line records in the table OKL_SUBSIDY_POOL_BUDGETS_B.
132 okl_sib_pvt.insert_row(l_api_version,
133 l_init_msg_list,
134 l_return_status,
135 l_msg_count,
136 l_msg_data,
137 l_budget_line_tbl,
138 x_budget_line_tbl);
139
140 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
141 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
142 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
143 RAISE OKL_API.G_EXCEPTION_ERROR;
144 END IF;
145
146 okl_api.END_ACTIVITY(x_msg_count, x_msg_data);
147 x_return_status := l_return_status;
148 x_msg_data := l_msg_data;
149 x_msg_count := l_msg_count;
150
151 IF(IS_DEBUG_PROCEDURE_ON) THEN
152 BEGIN
153 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLRSIBB.pls call okl_sib_pvt.insert_row ');
154 END;
155 END IF;
156
157 EXCEPTION
158 WHEN G_EXCEPTION_HALT_VALIDATION THEN
159 x_return_status := OKL_API.HANDLE_EXCEPTIONS
160 (
161 l_api_name,
162 G_PKG_NAME,
163 'OKL_API.G_RET_STS_ERROR',
164 x_msg_count,
165 x_msg_data,
166 '_PVT'
167 );
168
169
170 WHEN OKL_API.G_EXCEPTION_ERROR THEN
171 x_return_status := OKL_API.HANDLE_EXCEPTIONS
172 (
173 l_api_name,
174 G_PKG_NAME,
175 'OKL_API.G_RET_STS_ERROR',
176 x_msg_count,
177 x_msg_data,
178 '_PVT'
179 );
180
181 WHEN OTHERS THEN
182 x_return_status := OKL_API.HANDLE_EXCEPTIONS
183 (
184 l_api_name,
185 G_PKG_NAME,
186 'OKL_API.G_OTHERS',
187 x_msg_count,
188 x_msg_data,
189 '_PVT'
190 );
191
192 END create_budget_line;
193
194 ---------------------------------------------------------------------------
195 -- PROCEDURE update_budget_line
196 ---------------------------------------------------------------------------
197 -- Start of comments
198 --
199 -- Procedure Name : update_budget_line
200 -- Description : procedure for updating the records in
201 -- table OKL_SUBSIDY_POOL_BUDGETS
202 -- Business Rules : This procedure updates the existing budget lines
203 -- only when the budget line status is "new".
204 -- Parameters : p_api_version, p_init_msg_list, x_return_status, x_msg_count,
205 -- x_msg_data, p_budget_line_tbl, x_budget_line_tbl.
206 -- Version : 1.0
207 -- End of comments
208 ---------------------------------------------------------------------------
209
210 PROCEDURE update_budget_line ( p_api_version IN NUMBER
211 ,p_init_msg_list IN VARCHAR2
212 ,x_return_status OUT NOCOPY VARCHAR2
213 ,x_msg_count OUT NOCOPY NUMBER
214 ,x_msg_data OUT NOCOPY VARCHAR2
215 ,p_budget_line_tbl IN budget_line_tbl
216 ,x_budget_line_tbl OUT NOCOPY budget_line_tbl
217 ) IS
218
219 ---------------------------
220 -- DECLARE Local Variables
221 ---------------------------
222 L_MODULE CONSTANT fnd_log_messages.module%TYPE := 'okl.plsql.OKL_SUBSIDY_POOL_BUDGET_PVT.UPDATE_BUDGET_LINE';
223 L_DEBUG_ENABLED VARCHAR2(10);
224 L_LEVEL_PROCEDURE fnd_log_messages.log_level%TYPE;
225 IS_DEBUG_PROCEDURE_ON BOOLEAN;
226 l_budget_line_rec budget_line_rec;
227 l_budget_line_tbl budget_line_tbl ;
228 l_api_version NUMBER ;
229 l_init_msg_list VARCHAR2(1) ;
230 l_return_status VARCHAR2(1);
231 l_msg_count NUMBER ;
232 l_msg_data VARCHAR2(2000);
233 l_api_name CONSTANT VARCHAR2(30) := 'create_budget_line';
234 i NUMBER DEFAULT 0;
235 l_currency_code okl_subsidy_pools_v.currency_code%TYPE DEFAULT NULL;
236
237 -------------------
238 -- DECLARE Cursors
239 -------------------
240
241 BEGIN
242 L_DEBUG_ENABLED := Okl_Debug_Pub.CHECK_LOG_ENABLED;
243 IF(L_DEBUG_ENABLED='Y') THEN
244 L_LEVEL_PROCEDURE :=Fnd_Log.LEVEL_PROCEDURE;
245 IS_DEBUG_PROCEDURE_ON := Okl_Debug_Pub.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
246 END IF;
247 IF(IS_DEBUG_PROCEDURE_ON) THEN
248 BEGIN
249 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLRSIBB.pls call okl_sib_pvt.update_row ');
250 END;
251 END IF;
252
253 l_budget_line_tbl := p_budget_line_tbl;
254 l_api_version := 1.0;
255 l_init_msg_list := Okl_Api.g_false;
256 l_msg_count := 0;
257
258 SAVEPOINT update_budget_line_PVT;
259 l_return_status := OKL_API.START_ACTIVITY( l_api_name,
260 G_PKG_NAME,
261 p_init_msg_list,
262 l_api_version,
263 p_api_version,
264 '_PVT',
265 l_return_status);
266
267 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
268 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
269 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
270 RAISE OKL_API.G_EXCEPTION_ERROR;
271 END IF;
272
273 -- TAPI call which updates the budget line records in the table OKL_SUBSIDY_POOL_BUDGETS_B.
274 okl_sib_pvt.update_row (l_api_version,
275 l_init_msg_list,
276 l_return_status,
277 l_msg_count,
278 l_msg_data,
279 l_budget_line_tbl,
280 x_budget_line_tbl);
281
282 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
283 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
284 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
285 RAISE OKL_API.G_EXCEPTION_ERROR;
286 END IF;
287
288 okl_api.END_ACTIVITY(x_msg_count, x_msg_data);
289 x_return_status := l_return_status;
290 x_msg_data := l_msg_data;
291 x_msg_count := l_msg_count;
292
293 IF(IS_DEBUG_PROCEDURE_ON) THEN
294 BEGIN
295 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLRSIBB.pls call okl_sib_pvt.update_row ');
296 END;
297 END IF;
298
299 EXCEPTION
300 WHEN G_EXCEPTION_HALT_VALIDATION THEN
301 x_return_status := OKL_API.HANDLE_EXCEPTIONS
302 (
303 l_api_name,
304 G_PKG_NAME,
305 'OKL_API.G_RET_STS_ERROR',
306 x_msg_count,
307 x_msg_data,
308 '_PVT'
309 );
310
311
312 WHEN OKL_API.G_EXCEPTION_ERROR THEN
313 x_return_status := OKL_API.HANDLE_EXCEPTIONS
314 (
315 l_api_name,
316 G_PKG_NAME,
317 'OKL_API.G_RET_STS_ERROR',
318 x_msg_count,
319 x_msg_data,
320 '_PVT'
321 );
322
323 WHEN OTHERS THEN
324 x_return_status := OKL_API.HANDLE_EXCEPTIONS
325 (
326 l_api_name,
327 G_PKG_NAME,
328 'OKL_API.G_OTHERS',
329 x_msg_count,
330 x_msg_data,
331 '_PVT'
332 );
333 END update_budget_line;
334
335 ---------------------------------------------------------------------------
336 -- PROCEDURE set_decision_status_code
337 ---------------------------------------------------------------------------
338 -- Start of comments
339 --
340 -- Procedure Name : set_decision_status_code
341 -- Description : procedure for updating the decision status code
342 -- table OKL_SUBSIDY_POOL_BUDGETS_B.
343 -- Business Rules : This procedure sets the value of column desicion_status_code
344 -- with the value passed to this procedure for the given line id.
345 -- decision_status_code is a status of the corresponding budget line.
346 -- Parameters : p_api_version, p_init_msg_list, x_return_status, x_msg_count,
347 -- x_msg_data, p_sub_pool_budget_id, p_decision_status_code.
348 -- Version : 1.0
349 -- End of comments
350 ---------------------------------------------------------------------------
351
352 PROCEDURE set_decision_status_code ( p_api_version IN NUMBER,
353 p_init_msg_list IN VARCHAR2,
354 x_return_status OUT NOCOPY VARCHAR2,
355 x_msg_count OUT NOCOPY NUMBER,
356 x_msg_data OUT NOCOPY VARCHAR2,
357 p_sub_pool_budget_id IN okl_subsidy_pool_budgets_b.id%TYPE,
358 p_decision_status_code IN OUT NOCOPY okl_subsidy_pool_budgets_b.decision_status_code%TYPE)IS
359 ---------------------------
360 -- DECLARE Local Variables
361 ---------------------------
362 L_MODULE CONSTANT fnd_log_messages.module%TYPE := 'okl.plsql.OKL_SUBSIDY_POOL_BUDGET_PVT.SET_DECISION_STATUS_CODE';
363 L_DEBUG_ENABLED VARCHAR2(10);
364 L_LEVEL_PROCEDURE fnd_log_messages.log_level%TYPE;
365 IS_DEBUG_PROCEDURE_ON BOOLEAN;
366 l_budget_line_rec budget_line_rec;
367 l_sub_pool_budget_id OKL_SUBSIDY_POOL_BUDGETS_B.ID%TYPE ;
368 x_budget_line_rec budget_line_rec;
369 l_row_found BOOLEAN;
370 l_api_version NUMBER ;
371 l_init_msg_list VARCHAR2(1) ;
372 l_return_status VARCHAR2(1);
373 l_msg_count NUMBER ;
374 l_msg_data VARCHAR2(2000);
375 l_api_name CONSTANT VARCHAR2(30) := 'set_decision_status_code';
376 l_parameter_list WF_PARAMETER_LIST_T;
377 l_event_name wf_events.name%TYPE;
378 l_system_date DATE ;
379 -------------------
380 -- DECLARE Cursors
381 -------------------
382 -- cursor to fetch a record with the passed id.
383 CURSOR c_get_budget_id (cp_sub_pool_budget_id IN okl_subsidy_pool_budgets_b.id%type) IS
384 SELECT id
385 ,object_version_number
386 ,sfwt_flag
387 ,note
388 ,budget_type_code
389 ,effective_from_date
390 ,decision_status_code
391 ,budget_amount
392 ,subsidy_pool_id
393 ,decision_date
394 ,attribute_category
395 ,attribute1
396 ,attribute2
397 ,attribute3
398 ,attribute4
399 ,attribute5
400 ,attribute6
401 ,attribute7
402 ,attribute8
403 ,attribute9
404 ,attribute10
405 ,attribute11
406 ,attribute12
407 ,attribute13
408 ,attribute14
409 ,attribute15
410 ,created_by
411 ,creation_date
412 ,last_updated_by
413 ,last_update_date
414 ,last_update_login
415 FROM OKL_SUBSIDY_POOL_BUDGETS_V
416 WHERE id = cp_sub_pool_budget_id;
417
418 BEGIN
419 L_DEBUG_ENABLED := Okl_Debug_Pub.CHECK_LOG_ENABLED;
420 IF(L_DEBUG_ENABLED='Y') THEN
421 L_LEVEL_PROCEDURE :=Fnd_Log.LEVEL_PROCEDURE;
422 IS_DEBUG_PROCEDURE_ON := Okl_Debug_Pub.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
423 END IF;
424 IF(IS_DEBUG_PROCEDURE_ON) THEN
425 BEGIN
426 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLRSIBB.pls call okl_sib_pvt.update_row ');
427 END;
428 END IF;
429 l_row_found := FALSE;
430 l_api_version := 1.0;
431 l_init_msg_list := OKL_API.g_false;
432 l_msg_count := 0;
433 l_sub_pool_budget_id := p_sub_pool_budget_id;
434 l_system_date := TRUNC(SYSDATE);
435
436 SAVEPOINT set_decision_status_code_PVT;
437 l_return_status := OKL_API.START_ACTIVITY( l_api_name,
438 G_PKG_NAME,
439 p_init_msg_list,
440 l_api_version,
441 p_api_version,
442 '_PVT',
443 l_return_status);
444
445 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
446 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
447 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
448 RAISE OKL_API.G_EXCEPTION_ERROR;
449 END IF;
450 -- fetch the record with the passed id and check whether the row exists.
451 OPEN c_get_budget_id(l_sub_pool_budget_id);
452 FETCH c_get_budget_id INTO l_budget_line_rec;
453 l_row_found := c_get_budget_id%FOUND;
454 CLOSE c_get_budget_id;
455
456 --if row is found then update the decision_status_code with the value passed to this procedure and
457 --set the decision date to the system date.
458 IF l_row_found THEN
459 l_budget_line_rec.decision_status_code := p_decision_status_code;
460 l_budget_line_rec.decision_date := l_system_date;
461 --TAPI call to update the record.
462 okl_sib_pvt.update_row(l_api_version,
463 l_init_msg_list,
464 l_return_status,
465 l_msg_count,
466 l_msg_data,
467 l_budget_line_rec,
468 x_budget_line_rec);
469 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
470 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
471 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
472 RAISE OKL_API.G_EXCEPTION_ERROR;
473 END IF;
474 IF(l_budget_line_rec.decision_status_code = 'PENDING')THEN
475 -- add subsidy pool id and subsidy pool to the parameter list and raise the corresponding business event.
476 wf_event.AddParameterToList(G_WF_ITM_SUB_POOL_ID, l_budget_line_rec.subsidy_pool_id, l_parameter_list);
477 wf_event.AddParameterToList(G_WF_ITM_BUDGET_LINE_ID, l_budget_line_rec.id, l_parameter_list);
478 l_event_name := G_WF_EVT_BUDGET_LINE_PENDING;
479 ELSIF(l_budget_line_rec.decision_status_code = 'ACTIVE') THEN
480 -- add subsidy pool id and subsidy pool to the parameter list and raise the corresponding business event.
481 wf_event.AddParameterToList(G_WF_ITM_SUB_POOL_ID, l_budget_line_rec.subsidy_pool_id, l_parameter_list);
482 wf_event.AddParameterToList(G_WF_ITM_BUDGET_LINE_ID, l_budget_line_rec.id, l_parameter_list);
483 l_event_name := G_WF_EVT_BUDGET_LINE_APPROVED;
484 ELSIF(l_budget_line_rec.decision_status_code = 'REJECTED')THEN
485 -- add subsidy pool id and subsidy pool to the parameter list and raise the corresponding business event.
486 wf_event.AddParameterToList(G_WF_ITM_SUB_POOL_ID, l_budget_line_rec.subsidy_pool_id, l_parameter_list);
487 wf_event.AddParameterToList(G_WF_ITM_BUDGET_LINE_ID, l_budget_line_rec.id, l_parameter_list);
488 l_event_name := G_WF_EVT_BUDGET_LINE_REJECTED;
489 END IF;
490 IF (l_event_name IS NOT NULL) THEN
491 raise_business_event(p_api_version => p_api_version,
492 p_init_msg_list => p_init_msg_list,
493 x_return_status => x_return_status,
494 x_msg_count => x_msg_count,
495 x_msg_data => x_msg_data,
496 p_event_name => l_event_name,
497 p_event_param_list => l_parameter_list
498 );
499 END IF;
500 END IF;
501 okl_api.END_ACTIVITY(x_msg_count, x_msg_data);
502 x_return_status := l_return_status;
503 x_msg_data := l_msg_data;
504 x_msg_count := l_msg_count;
505
506 IF(IS_DEBUG_PROCEDURE_ON) THEN
507 BEGIN
508 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLRSIBB.pls call okl_sib_pvt.update_row ');
509 END;
510 END IF;
511
512 EXCEPTION
513 WHEN G_EXCEPTION_HALT_VALIDATION THEN
514 x_return_status := OKL_API.HANDLE_EXCEPTIONS
515 (
516 l_api_name,
517 G_PKG_NAME,
518 'OKL_API.G_RET_STS_ERROR',
519 x_msg_count,
520 x_msg_data,
521 '_PVT'
522 );
523
524 WHEN OKL_API.G_EXCEPTION_ERROR THEN
525 x_return_status := OKL_API.HANDLE_EXCEPTIONS
526 (
527 l_api_name,
528 G_PKG_NAME,
529 'OKL_API.G_RET_STS_ERROR',
530 x_msg_count,
531 x_msg_data,
532 '_PVT'
533 );
534
535 WHEN OTHERS THEN
536 x_return_status := OKL_API.HANDLE_EXCEPTIONS
537 (
538 l_api_name,
539 G_PKG_NAME,
540 'OKL_API.G_OTHERS',
541 x_msg_count,
542 x_msg_data,
543 '_PVT'
544 );
545
546 END set_decision_status_code;
547
548
549 ---------------------------------------------------------------------------
550 -- PROCEDURE validate_budget_line
551 ---------------------------------------------------------------------------
552 -- Start of comments
553 --
554 -- Procedure Name : validate_budget_line
555 -- Description : procedure for validating the records in
556 -- table OKL_SUBSIDY_POOL_BUDGETS
557 -- Business Rules : Validates the attributes.
558 -- Parameters : p_api_version, p_init_msg_list, x_return_status, x_msg_count,
559 -- x_msg_data, p_budget_line_tbl.
560 -- Version : 1.0
561 -- End of comments
562 ---------------------------------------------------------------------------
563
564 PROCEDURE validate_budget_line( p_api_version IN NUMBER,
565 p_init_msg_list IN VARCHAR2,
566 x_return_status OUT NOCOPY VARCHAR2,
567 x_msg_count OUT NOCOPY NUMBER,
568 x_msg_data OUT NOCOPY VARCHAR2,
569 p_budget_line_tbl IN budget_line_tbl) IS
570
571 ---------------------------
572 -- DECLARE Local Variables
573 ---------------------------
574 L_MODULE CONSTANT fnd_log_messages.module%TYPE := 'okl.plsql.OKL_SUBSIDY_POOL_BUDGET_PVT.VALIDATE_BUDGET_LINE';
575 L_DEBUG_ENABLED VARCHAR2(10);
576 L_LEVEL_PROCEDURE fnd_log_messages.log_level%TYPE;
577 IS_DEBUG_PROCEDURE_ON BOOLEAN;
578 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_BUDGET_LINE';
579 l_api_version CONSTANT NUMBER := 1.0;
580 l_return_status VARCHAR2(1);
581 l_budget_line_tbl budget_line_tbl ;
582
583 BEGIN
584 L_DEBUG_ENABLED := Okl_Debug_Pub.CHECK_LOG_ENABLED;
585 IF(L_DEBUG_ENABLED='Y') THEN
586 L_LEVEL_PROCEDURE :=Fnd_Log.LEVEL_PROCEDURE;
587 IS_DEBUG_PROCEDURE_ON := Okl_Debug_Pub.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
588 END IF;
589 IF(IS_DEBUG_PROCEDURE_ON) THEN
590 BEGIN
591 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLRSIBB.pls call okl_sib_pvt.validate_row ');
592 END;
593 END IF;
594 l_return_status := OKL_API.G_RET_STS_SUCCESS;
595 -- call START_ACTIVITY to create savepoint, check compatibility
596 -- and initialize message list
597
598 l_return_status := OKL_API.START_ACTIVITY(
599 p_api_name => l_api_name,
600 p_pkg_name => g_pkg_name,
601 p_init_msg_list => p_init_msg_list,
602 l_api_version => l_api_version,
603 p_api_version => p_api_version,
604 p_api_type => g_api_type,
605 x_return_status => x_return_status);
606
607 -- check if activity started successfully
608 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
609 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
610 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
611 raise OKL_API.G_EXCEPTION_ERROR;
612 End If;
613
614 l_budget_line_tbl := p_budget_line_tbl;
615
616 -- TAPI call to validate the records passed to it.
617 okl_sib_pvt.validate_row( p_api_version => p_api_version,
618 p_init_msg_list => p_init_msg_list,
619 x_return_status => x_return_status,
620 x_msg_count => x_msg_count,
621 x_msg_data => x_msg_data,
622 p_sibv_tbl => l_budget_line_tbl);
623
624 -- check return status
625 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
626 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
627 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
628 raise OKL_API.G_EXCEPTION_ERROR;
629 End If;
630
631 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
632 x_msg_data => x_msg_data);
633
634 IF(IS_DEBUG_PROCEDURE_ON) THEN
635 BEGIN
636 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLRSIBB.pls call okl_sib_pvt.validate_row ');
637 END;
638 END IF;
639
640 EXCEPTION
641 when OKL_API.G_EXCEPTION_ERROR then
642 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
643 p_api_name => l_api_name,
644 p_pkg_name => g_pkg_name,
645 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
646 x_msg_count => x_msg_count,
647 x_msg_data => x_msg_data,
648 p_api_type => g_api_type);
649
650 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
651 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
652 p_api_name => l_api_name,
653 p_pkg_name => g_pkg_name,
654 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
655 x_msg_count => x_msg_count,
656 x_msg_data => x_msg_data,
657 p_api_type => g_api_type);
658
659 when OTHERS then
660 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
661 p_api_name => l_api_name,
662 p_pkg_name => g_pkg_name,
663 p_exc_name => 'OTHERS',
664 x_msg_count => x_msg_count,
665 x_msg_data => x_msg_data,
666 p_api_type => g_api_type);
667
668
669 END validate_budget_line;
670
671 END okl_subsidy_pool_budget_pvt;