[Home] [Help]
PACKAGE BODY: APPS.OKL_AET_PVT
Source
1 PACKAGE BODY Okl_Aet_Pvt AS
2 /* $Header: OKLSAETB.pls 120.3 2006/07/13 12:50:34 adagur noship $ */
3 ---------------------------------------------------------------------------
4 -- FUNCTION get_seq_id
5 ---------------------------------------------------------------------------
6 FUNCTION get_seq_id RETURN NUMBER IS
7 BEGIN
8 RETURN(Okc_P_Util.raw_to_number(sys_guid()));
9 END get_seq_id;
10
11 ---------------------------------------------------------------------------
12 -- PROCEDURE qc
13 ---------------------------------------------------------------------------
14 PROCEDURE qc IS
15 BEGIN
16 NULL;
17 END qc;
18
19 ---------------------------------------------------------------------------
20 -- PROCEDURE change_version
21 ---------------------------------------------------------------------------
22 PROCEDURE change_version IS
23 BEGIN
24 NULL;
25 END change_version;
26
27 ---------------------------------------------------------------------------
28 -- PROCEDURE api_copy
29 ---------------------------------------------------------------------------
30 PROCEDURE api_copy IS
31 BEGIN
32 NULL;
33 END api_copy;
34
35 ---------------------------------------------------------------------------
36 -- FUNCTION get_rec for: OKL_ACCOUNTING_EVENTS
37 ---------------------------------------------------------------------------
38 FUNCTION get_rec (
39 p_aet_rec IN aet_rec_type,
40 x_no_data_found OUT NOCOPY BOOLEAN
41 ) RETURN aet_rec_type IS
42 CURSOR okl_accounting_events_pk_csr (p_accounting_event_id IN NUMBER) IS
43 SELECT
44 accounting_event_id,
45 ORG_ID,
46 EVENT_TYPE_CODE,
47 ACCOUNTING_DATE,
48 EVENT_NUMBER,
49 EVENT_STATUS_CODE,
50 SOURCE_ID,
51 SOURCE_TABLE,
52 OBJECT_VERSION_NUMBER,
53 PROGRAM_ID,
54 PROGRAM_APPLICATION_ID,
55 PROGRAM_UPDATE_DATE,
56 REQUEST_ID,
57 CREATED_BY,
58 CREATION_DATE,
59 LAST_UPDATED_BY,
60 LAST_UPDATE_DATE,
61 LAST_UPDATE_LOGIN
62 FROM Okl_Accounting_Events
63 WHERE okl_accounting_events.accounting_event_id = p_accounting_event_id;
64 l_okl_accounting_events_pk okl_accounting_events_pk_csr%ROWTYPE;
65 l_aet_rec aet_rec_type;
66 BEGIN
67 x_no_data_found := TRUE;
68 -- Get current database values
69 OPEN okl_accounting_events_pk_csr (p_aet_rec.accounting_event_id);
70 FETCH okl_accounting_events_pk_csr INTO
71 l_aet_rec.accounting_event_id,
72 l_aet_rec.ORG_ID,
73 l_aet_rec.EVENT_TYPE_CODE,
74 l_aet_rec.ACCOUNTING_DATE,
75 l_aet_rec.EVENT_NUMBER,
76 l_aet_rec.EVENT_STATUS_CODE,
77 l_aet_rec.SOURCE_ID,
78 l_aet_rec.SOURCE_TABLE,
79 l_aet_rec.OBJECT_VERSION_NUMBER,
80 l_aet_rec.PROGRAM_ID,
81 l_aet_rec.PROGRAM_APPLICATION_ID,
82 l_aet_rec.PROGRAM_UPDATE_DATE,
83 l_aet_rec.REQUEST_ID,
84 l_aet_rec.CREATED_BY,
85 l_aet_rec.CREATION_DATE,
86 l_aet_rec.LAST_UPDATED_BY,
87 l_aet_rec.LAST_UPDATE_DATE,
88 l_aet_rec.LAST_UPDATE_LOGIN;
89 x_no_data_found := okl_accounting_events_pk_csr%NOTFOUND;
90 CLOSE okl_accounting_events_pk_csr;
91 RETURN(l_aet_rec);
92 END get_rec;
93
94 FUNCTION get_rec (
95 p_aet_rec IN aet_rec_type
96 ) RETURN aet_rec_type IS
97 l_row_notfound BOOLEAN := TRUE;
98 BEGIN
99 RETURN(get_rec(p_aet_rec, l_row_notfound));
100 END get_rec;
101 ---------------------------------------------------------------------------
102 -- FUNCTION get_rec for: OKL_ACCOUNTING_EVENTS_V
103 ---------------------------------------------------------------------------
104 FUNCTION get_rec (
105 p_aetv_rec IN aetv_rec_type,
106 x_no_data_found OUT NOCOPY BOOLEAN
107 ) RETURN aetv_rec_type IS
108 CURSOR okl_aetv_pk_csr (p_accounting_event_id IN NUMBER) IS
109 SELECT
110 accounting_event_id,
111 OBJECT_VERSION_NUMBER,
112 ORG_ID,
113 EVENT_TYPE_CODE,
114 ACCOUNTING_DATE,
115 EVENT_NUMBER,
116 EVENT_STATUS_CODE,
117 SOURCE_ID,
118 SOURCE_TABLE,
119 PROGRAM_ID,
120 PROGRAM_APPLICATION_ID,
121 PROGRAM_UPDATE_DATE,
122 REQUEST_ID,
123 CREATED_BY,
124 CREATION_DATE,
125 LAST_UPDATED_BY,
126 LAST_UPDATE_DATE,
127 LAST_UPDATE_LOGIN
128 FROM OKL_ACCOUNTING_EVENTS
129 WHERE OKL_ACCOUNTING_EVENTS.accounting_event_id = p_accounting_event_id;
130 l_okl_aetv_pk okl_aetv_pk_csr%ROWTYPE;
131 l_aetv_rec aetv_rec_type;
132 BEGIN
133 x_no_data_found := TRUE;
134 -- Get current database values
135 OPEN okl_aetv_pk_csr (p_aetv_rec.accounting_event_id);
136 FETCH okl_aetv_pk_csr INTO
137 l_aetv_rec.accounting_event_id,
138 l_aetv_rec.OBJECT_VERSION_NUMBER,
139 l_aetv_rec.ORG_ID,
140 l_aetv_rec.EVENT_TYPE_CODE,
141 l_aetv_rec.ACCOUNTING_DATE,
142 l_aetv_rec.EVENT_NUMBER,
143 l_aetv_rec.EVENT_STATUS_CODE,
144 l_aetv_rec.SOURCE_ID,
145 l_aetv_rec.SOURCE_TABLE,
146 l_aetv_rec.PROGRAM_ID,
147 l_aetv_rec.PROGRAM_APPLICATION_ID,
148 l_aetv_rec.PROGRAM_UPDATE_DATE,
149 l_aetv_rec.REQUEST_ID,
150 l_aetv_rec.CREATED_BY,
151 l_aetv_rec.CREATION_DATE,
152 l_aetv_rec.LAST_UPDATED_BY,
153 l_aetv_rec.LAST_UPDATE_DATE,
154 l_aetv_rec.LAST_UPDATE_LOGIN;
155 x_no_data_found := okl_aetv_pk_csr%NOTFOUND;
156 CLOSE okl_aetv_pk_csr;
157 RETURN(l_aetv_rec);
158 END get_rec;
159
160 FUNCTION get_rec (
161 p_aetv_rec IN aetv_rec_type
162 ) RETURN aetv_rec_type IS
163 l_row_notfound BOOLEAN := TRUE;
164 BEGIN
165 RETURN(get_rec(p_aetv_rec, l_row_notfound));
166 END get_rec;
167
168 -------------------------------------------------------------
169 -- FUNCTION null_out_defaults for: OKL_ACCOUNTING_EVENTS_V --
170 -------------------------------------------------------------
171 FUNCTION null_out_defaults (
172 p_aetv_rec IN aetv_rec_type
173 ) RETURN aetv_rec_type IS
174 l_aetv_rec aetv_rec_type := p_aetv_rec;
175 BEGIN
176 IF (l_aetv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
177 l_aetv_rec.object_version_number := NULL;
178 END IF;
179 IF (l_aetv_rec.org_id = Okc_Api.G_MISS_NUM) THEN
180 l_aetv_rec.org_id := NULL;
181 END IF;
182 IF (l_aetv_rec.event_type_code = Okc_Api.G_MISS_CHAR) THEN
183 l_aetv_rec.event_type_code := NULL;
184 END IF;
185 IF (l_aetv_rec.accounting_date = Okc_Api.G_MISS_DATE) THEN
186 l_aetv_rec.accounting_date := NULL;
187 END IF;
188 IF (l_aetv_rec.event_number = Okc_Api.G_MISS_NUM) THEN
189 l_aetv_rec.event_number := NULL;
190 END IF;
191 IF (l_aetv_rec.event_status_code = Okc_Api.G_MISS_CHAR) THEN
192 l_aetv_rec.event_status_code := NULL;
193 END IF;
194 IF (l_aetv_rec.source_id = Okc_Api.G_MISS_NUM) THEN
195 l_aetv_rec.source_id := NULL;
196 END IF;
197 IF (l_aetv_rec.source_table = Okc_Api.G_MISS_CHAR) THEN
198 l_aetv_rec.source_table := NULL;
199 END IF;
200 IF (l_aetv_rec.program_id = Okc_Api.G_MISS_NUM) THEN
201 l_aetv_rec.program_id := NULL;
202 END IF;
203 IF (l_aetv_rec.program_application_id = Okc_Api.G_MISS_NUM) THEN
204 l_aetv_rec.program_application_id := NULL;
205 END IF;
206 IF (l_aetv_rec.program_update_date = Okc_Api.G_MISS_DATE) THEN
207 l_aetv_rec.program_update_date := NULL;
208 END IF;
209 IF (l_aetv_rec.request_id = Okc_Api.G_MISS_NUM) THEN
210 l_aetv_rec.request_id := NULL;
211 END IF;
212 IF (l_aetv_rec.created_by = Okc_Api.G_MISS_NUM) THEN
213 l_aetv_rec.created_by := NULL;
214 END IF;
215 IF (l_aetv_rec.creation_date = Okc_Api.G_MISS_DATE) THEN
216 l_aetv_rec.creation_date := NULL;
217 END IF;
218 IF (l_aetv_rec.last_updated_by = Okc_Api.G_MISS_NUM) THEN
219 l_aetv_rec.last_updated_by := NULL;
220 END IF;
221 IF (l_aetv_rec.last_update_date = Okc_Api.G_MISS_DATE) THEN
222 l_aetv_rec.last_update_date := NULL;
223 END IF;
224 IF (l_aetv_rec.last_update_login = Okc_Api.G_MISS_NUM) THEN
225 l_aetv_rec.last_update_login := NULL;
226 END IF;
227 RETURN(l_aetv_rec);
228 END null_out_defaults;
229
230 /**** Commenting out nocopy generated code in favour of hand written code ********
231 ---------------------------------------------------------------------------
232 -- PROCEDURE Validate_Attributes
233 ---------------------------------------------------------------------------
234 -----------------------------------------------------
235 -- Validate_Attributes for:OKL_ACCOUNTING_EVENTS_V --
236 -----------------------------------------------------
237 Function Validate_Attributes (
238 p_aetv_rec IN aetv_rec_type
239 ) RETURN VARCHAR2 IS
240 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
241 BEGIN
242 IF p_aetv_rec.accounting_event_id = Okc_Api.G_MISS_NUM OR
243 p_aetv_rec.accounting_event_id IS NULL
244 THEN
245 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
246 l_return_status := Okc_Api.G_RET_STS_ERROR;
247 ELSIF p_aetv_rec.object_version_number = Okc_Api.G_MISS_NUM OR
248 p_aetv_rec.object_version_number IS NULL
249 THEN
250 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
251 l_return_status := Okc_Api.G_RET_STS_ERROR;
252 ELSIF p_aetv_rec.event_type_code = Okc_Api.G_MISS_CHAR OR
253 p_aetv_rec.event_type_code IS NULL
254 THEN
255 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'event_type_code');
256 l_return_status := Okc_Api.G_RET_STS_ERROR;
257 ELSIF p_aetv_rec.accounting_date = Okc_Api.G_MISS_DATE OR
258 p_aetv_rec.accounting_date IS NULL
259 THEN
260 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'accounting_date');
261 l_return_status := Okc_Api.G_RET_STS_ERROR;
262 ELSIF p_aetv_rec.event_number = Okc_Api.G_MISS_NUM OR
263 p_aetv_rec.event_number IS NULL
264 THEN
265 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'event_number');
266 l_return_status := Okc_Api.G_RET_STS_ERROR;
267 ELSIF p_aetv_rec.event_status_code = Okc_Api.G_MISS_CHAR OR
268 p_aetv_rec.event_status_code IS NULL
269 THEN
270 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'event_status_code');
271 l_return_status := Okc_Api.G_RET_STS_ERROR;
272 ELSIF p_aetv_rec.source_id = Okc_Api.G_MISS_NUM OR
273 p_aetv_rec.source_id IS NULL
274 THEN
275 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'source_id');
276 l_return_status := Okc_Api.G_RET_STS_ERROR;
277 ELSIF p_aetv_rec.source_table = Okc_Api.G_MISS_CHAR OR
278 p_aetv_rec.source_table IS NULL
279 THEN
280 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'source_table');
281 l_return_status := Okc_Api.G_RET_STS_ERROR;
282 END IF;
283 RETURN(l_return_status);
284 END Validate_Attributes;
285
286 **************** End Commenting generated code ***************************/
287
288 ---------------------------------------------------------------------------
289 -- PROCEDURE Validate_Record
290 ---------------------------------------------------------------------------
291 -------------------------------------------------
292 -- Validate_Record for:OKL_ACCOUNTING_EVENTS_V --
293 -------------------------------------------------
294 FUNCTION Validate_Record (
295 p_aetv_rec IN aetv_rec_type
296 ) RETURN VARCHAR2 IS
297 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
298 BEGIN
299 RETURN (l_return_status);
300 END Validate_Record;
301
302
303 /*************************** Hand Coded **********************************/
304 ---------------------------------------------------------------------------
305 -- PROCEDURE Validate_accounting_event_id
306 ---------------------------------------------------------------------------
307 -- Start of comments
308 --
309 -- Procedure Name : Validate_accounting_event_id
310 -- Description :
311 -- Business Rules :
312 -- Parameters :
313 -- Version : 1.0
314 -- End of comments
315 ---------------------------------------------------------------------------
316 PROCEDURE Validate_accounting_event_id (x_return_status OUT NOCOPY VARCHAR2
317 ,p_aetv_rec IN aetv_rec_type )
318 IS
319
320 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
321
322 BEGIN
323 -- initialize return status
324 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
325 -- check for data before processing
326 IF (p_aetv_rec.accounting_event_id IS NULL) OR
327 (p_aetv_rec.accounting_event_id = Okc_Api.G_MISS_NUM) THEN
328 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
329 ,p_msg_name => g_required_value
330 ,p_token1 => g_col_name_token
331 ,p_token1_value => 'id');
332 x_return_status := Okc_Api.G_RET_STS_ERROR;
333 RAISE G_EXCEPTION_HALT_VALIDATION;
334 END IF;
335
336 EXCEPTION
337 WHEN G_EXCEPTION_HALT_VALIDATION THEN
338 -- no processing necessary; validation can continue
339 -- with the next column
340 NULL;
341
342 WHEN OTHERS THEN
343 -- store SQL error message on message stack for caller
344 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
345 p_msg_name => g_unexpected_error,
346 p_token1 => g_sqlcode_token,
347 p_token1_value => SQLCODE,
348 p_token2 => g_sqlerrm_token,
349 p_token2_value => SQLERRM);
350
351 -- notify caller of an UNEXPECTED error
352 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
353
354 END Validate_accounting_event_id;
355
356 ---------------------------------------------------------------------------
357 -- PROCEDURE Validate_Object_Version_Number
358 ---------------------------------------------------------------------------
359 -- Start of comments
360 --
361 -- Procedure Name : Validate_Object_Version_Number
362 -- Description :
363 -- Business Rules :
364 -- Parameters :
365 -- Version : 1.0
366 -- End of comments
367 ---------------------------------------------------------------------------
368 PROCEDURE Validate_Object_Version_Number(x_return_status OUT NOCOPY VARCHAR2
369 ,p_aetv_rec IN aetv_rec_type )
370 IS
371
372 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
373
374 BEGIN
375 -- initialize return status
376 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
377 -- check for data before processing
378 IF (p_aetv_rec.object_version_number IS NULL) OR
379 (p_aetv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
380 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
381 ,p_msg_name => g_required_value
382 ,p_token1 => g_col_name_token
383 ,p_token1_value => 'object_version_number');
384 x_return_status := Okc_Api.G_RET_STS_ERROR;
385 RAISE G_EXCEPTION_HALT_VALIDATION;
386 END IF;
387
388 EXCEPTION
389 WHEN G_EXCEPTION_HALT_VALIDATION THEN
390 -- no processing necessary; validation can continue
391 -- with the next column
392 NULL;
393
394 WHEN OTHERS THEN
395 -- store SQL error message on message stack for caller
396 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
397 p_msg_name => g_unexpected_error,
398 p_token1 => g_sqlcode_token,
399 p_token1_value => SQLCODE,
400 p_token2 => g_sqlerrm_token,
401 p_token2_value => SQLERRM);
402
403 -- notify caller of an UNEXPECTED error
404 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
405
406 END Validate_Object_Version_Number;
407
408
409 ---------------------------------------------------------------------------
410 -- PROCEDURE Validate_event_type_code
411 ---------------------------------------------------------------------------
412 -- Start of comments
413 --
414 -- Procedure Name : Validate_event_type_code
415 -- Description : Checks if code exists in FND_COMMON_LOOKUPS
416 -- Business Rules :
417 -- Parameters :
418 -- Version : 1.0
419 -- End of comments
420 ---------------------------------------------------------------------------
421
422 PROCEDURE Validate_event_type_code(
423 x_return_status OUT NOCOPY VARCHAR2
424 ,p_aetv_rec IN aetv_rec_type ) IS
425
426 l_dummy VARCHAR2(1);
427
428 BEGIN
429
430 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
431
432 IF (p_aetv_rec.event_type_code IS NULL) OR
433 (p_aetv_rec.event_type_code = Okc_Api.G_MISS_CHAR) THEN
434 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
435 ,p_msg_name => g_required_value
436 ,p_token1 => g_col_name_token
437 ,p_token1_value => 'event_type_code');
438 x_return_status := Okc_Api.G_RET_STS_ERROR;
439 RAISE G_EXCEPTION_HALT_VALIDATION;
440 ELSE
441 l_dummy
442 := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(
443 p_lookup_type => 'OKL_ACCOUNTING_EVENT_TYPE',
444 p_lookup_code => p_aetv_rec.event_type_code);
445
446
447 IF l_dummy = OKC_API.G_FALSE THEN
448 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
449 p_msg_name => g_invalid_value,
450 p_token1 => g_col_name_token,
451 p_token1_value => 'event_type_code');
452 x_return_status := Okc_Api.G_RET_STS_ERROR;
453 RAISE G_EXCEPTION_HALT_VALIDATION;
454 END IF;
455 END IF;
456
457 EXCEPTION
458 WHEN G_EXCEPTION_HALT_VALIDATION THEN
459 NULL;
460
461 WHEN OTHERS THEN
462 -- store SQL error message on message stack for caller
463 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
464 p_msg_name => g_unexpected_error,
465 p_token1 => g_sqlcode_token,
466 p_token1_value => SQLCODE,
467 p_token2 => g_sqlerrm_token,
468 p_token2_value => SQLERRM);
469 -- notify caller of an UNEXPECTED error
470 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
471 END Validate_event_type_code;
472
473 ---------------------------------------------------------------------------
474 -- PROCEDURE Validate_Accounting_Date
475 ---------------------------------------------------------------------------
476 -- Start of comments
477 --
478 -- Procedure Name : Validate_Accounting_Date
479 -- Description :
480 -- Business Rules :
481 -- Parameters :
482 -- Version : 1.0
483 -- End of comments
484 ---------------------------------------------------------------------------
485 PROCEDURE Validate_Accounting_Date(x_return_status OUT NOCOPY VARCHAR2
486 ,p_aetv_rec IN aetv_rec_type )
487 IS
488
489 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
490
491 BEGIN
492 -- initialize return status
493 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
494 -- check for data before processing
495 IF (p_aetv_rec.accounting_date IS NULL) OR
496 (p_aetv_rec.accounting_date = Okc_Api.G_MISS_DATE) THEN
497 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
498 ,p_msg_name => g_required_value
499 ,p_token1 => g_col_name_token
500 ,p_token1_value => 'accounting_date');
501 x_return_status := Okc_Api.G_RET_STS_ERROR;
502 RAISE G_EXCEPTION_HALT_VALIDATION;
503 END IF;
504
505 EXCEPTION
506 WHEN G_EXCEPTION_HALT_VALIDATION THEN
507 -- no processing necessary; validation can continue
508 -- with the next column
509 NULL;
510
511 WHEN OTHERS THEN
512 -- store SQL error message on message stack for caller
513 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
514 p_msg_name => g_unexpected_error,
515 p_token1 => g_sqlcode_token,
516 p_token1_value => SQLCODE,
517 p_token2 => g_sqlerrm_token,
518 p_token2_value => SQLERRM);
519
520 -- notify caller of an UNEXPECTED error
521 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
522
523 END Validate_Accounting_Date;
524
525 ---------------------------------------------------------------------------
526 -- PROCEDURE Validate_Event_Number
527 ---------------------------------------------------------------------------
528 -- Start of comments
529 --
530 -- Procedure Name : Validate_Event_Number
531 -- Description :
532 -- Business Rules :
533 -- Parameters :
534 -- Version : 1.0
535 -- End of comments
536 ---------------------------------------------------------------------------
537 PROCEDURE Validate_Event_Number(x_return_status OUT NOCOPY VARCHAR2
538 ,p_aetv_rec IN aetv_rec_type )
539 IS
540
541 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
542
543 BEGIN
544 -- initialize return status
545 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
546 -- check for data before processing
547 IF (p_aetv_rec.event_number IS NULL) OR
548 (p_aetv_rec.event_number = Okc_Api.G_MISS_NUM) THEN
549 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
550 ,p_msg_name => g_required_value
551 ,p_token1 => g_col_name_token
552 ,p_token1_value => 'event_number');
553 x_return_status := Okc_Api.G_RET_STS_ERROR;
554 RAISE G_EXCEPTION_HALT_VALIDATION;
555 END IF;
556
557 EXCEPTION
558 WHEN G_EXCEPTION_HALT_VALIDATION THEN
559 -- no processing necessary; validation can continue
560 -- with the next column
561 NULL;
562
563 WHEN OTHERS THEN
564 -- store SQL error message on message stack for caller
565 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
566 p_msg_name => g_unexpected_error,
567 p_token1 => g_sqlcode_token,
568 p_token1_value => SQLCODE,
569 p_token2 => g_sqlerrm_token,
570 p_token2_value => SQLERRM);
571
572 -- notify caller of an UNEXPECTED error
573 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
574
575 END Validate_Event_Number;
576
577 ---------------------------------------------------------------------------
578 -- PROCEDURE Validate_Event_Status_Code
579 ---------------------------------------------------------------------------
580 -- Start of comments
581 --
582 -- Procedure Name : Validate_Event_Status_Code
583 -- Description : Checks if code exists in FND_LOOKUPS
584 -- Business Rules :
585 -- Parameters :
586 -- Version : 1.0
587 -- End of comments
588 ---------------------------------------------------------------------------
589
590 PROCEDURE Validate_Event_Status_Code(
591 x_return_status OUT NOCOPY VARCHAR2
592 ,p_aetv_rec IN aetv_rec_type ) IS
593
594 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
595 l_dummy VARCHAR2(1) ;
596
597 BEGIN
598
599 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
600
601 IF (p_aetv_rec.event_status_code IS NULL) OR
602 (p_aetv_rec.event_status_code = Okc_Api.G_MISS_CHAR) THEN
603 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
604 ,p_msg_name => g_required_value
605 ,p_token1 => g_col_name_token
606 ,p_token1_value => 'event_status_code');
607 x_return_status := Okc_Api.G_RET_STS_ERROR;
608 RAISE G_EXCEPTION_HALT_VALIDATION;
609 ELSE
610 l_dummy
611 := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(
612 p_lookup_type => 'OKL_ACCOUNTING_EVENT_STATUS',
613 p_lookup_code => p_aetv_rec.event_status_code);
614
615 IF l_dummy = OKC_API.G_FALSE THEN
616 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
617 p_msg_name => g_invalid_value,
618 p_token1 => g_col_name_token,
619 p_token1_value => 'event_status_code');
620 x_return_status := Okc_Api.G_RET_STS_ERROR;
621 RAISE G_EXCEPTION_HALT_VALIDATION;
622 END IF;
623 END IF;
624
625 EXCEPTION
626 WHEN G_EXCEPTION_HALT_VALIDATION THEN
627 -- no processing necessary; validation can continue
628 -- with the next column
629 NULL;
630
631 WHEN OTHERS THEN
632 -- store SQL error message on message stack for caller
633 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
634 p_msg_name => g_unexpected_error,
635 p_token1 => g_sqlcode_token,
636 p_token1_value => SQLCODE,
637 p_token2 => g_sqlerrm_token,
638 p_token2_value => SQLERRM);
639 -- notify caller of an UNEXPECTED error
640 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
641 END Validate_Event_Status_Code;
642
643 ---------------------------------------------------------------------------
644 -- PROCEDURE Validate_Source_Id
645 ---------------------------------------------------------------------------
646 -- Start of comments
647 --
648 -- Procedure Name : Validate_Source_Id
649 -- Description :
650 -- Business Rules :
651 -- Parameters :
652 -- Version : 1.0
653 -- End of comments
654 ---------------------------------------------------------------------------
655 PROCEDURE Validate_Source_Id_Tbl(x_return_status OUT NOCOPY VARCHAR2
656 ,p_aetv_rec IN aetv_rec_type )
657 IS
658
659
660 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
661 l_dummy VARCHAR2(1) ;
662
663 BEGIN
664 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
665 IF (p_aetv_rec.source_id IS NULL) OR
666 (p_aetv_rec.source_id = Okc_Api.G_MISS_NUM) THEN
667 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
668 ,p_msg_name => g_required_value
669 ,p_token1 => g_col_name_token
670 ,p_token1_value => 'source_id');
671 x_return_status := Okc_Api.G_RET_STS_ERROR;
672 END IF;
673
674 IF (p_aetv_rec.source_table IS NULL) OR
675 (p_aetv_rec.source_table = Okc_Api.G_MISS_CHAR) THEN
676 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
677 ,p_msg_name => g_required_value
678 ,p_token1 => g_col_name_token
679 ,p_token1_value => 'source_table');
680 x_return_status := Okc_Api.G_RET_STS_ERROR;
681 END IF;
682
683 IF (x_return_Status = OKC_API.G_RET_STS_ERROR) THEN
684 RAISE G_EXCEPTION_HALT_VALIDATION;
685 ELSE
686 l_dummy
687 := OKL_ACCOUNTING_UTIL.VALIDATE_SOURCE_ID_TABLE(p_source_id => p_aetv_rec.source_id,
688 p_source_table => p_aetv_rec.source_table);
689 IF l_dummy = OKC_API.G_FALSE THEN
690 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
691 p_msg_name => g_invalid_value,
692 p_token1 => g_col_name_token,
693 p_token1_value => 'source_id');
694 x_return_status := Okc_Api.G_RET_STS_ERROR;
695 RAISE G_EXCEPTION_HALT_VALIDATION;
696 END IF;
697 END IF;
698
699
700 EXCEPTION
701 WHEN G_EXCEPTION_HALT_VALIDATION THEN
702 -- no processing necessary; validation can continue
703 -- with the next column
704 NULL;
705
706 WHEN NO_DATA_FOUND THEN
707 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
708 p_msg_name => g_invalid_value,
709 p_token1 => g_col_name_token,
710 p_token1_value => 'source_id');
711 x_return_status := Okc_Api.G_RET_STS_ERROR;
712
713 WHEN OTHERS THEN
714 -- store SQL error message on message stack for caller
715 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
716 p_msg_name => g_unexpected_error,
717 p_token1 => g_sqlcode_token,
718 p_token1_value => SQLCODE,
719 p_token2 => g_sqlerrm_token,
720 p_token2_value => SQLERRM);
721
722 -- notify caller of an UNEXPECTED error
723 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
724
725 END Validate_Source_Id_Tbl;
726
727 ---------------------------------------------------------------------------
728 -- FUNCTION Validate_Attributes
729 ---------------------------------------------------------------------------
730 -- Start of comments
731 --
732 -- Procedure Name : Validate_Attributes
733 -- Description :
734 -- Business Rules :
735 -- Parameters :
736 -- Version : 1.0
737 -- End of comments
738 ---------------------------------------------------------------------------
739
740 FUNCTION Validate_Attributes (
741 p_aetv_rec IN aetv_rec_type
742 ) RETURN VARCHAR2 IS
743
744 x_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
745 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
746 BEGIN
747
748 -- call each column-level validation
749 -- Validate_accounting_event_id
750 Validate_accounting_event_id(x_return_status,p_aetv_rec);
751 -- store the highest degree of error
752 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
753 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
754 -- need to leave
755 l_return_status := x_return_status;
756 RAISE G_EXCEPTION_HALT_VALIDATION;
757 ELSE
758 -- record that there was an error
759 l_return_status := x_return_status;
760 END IF;
761 END IF;
762
763 -- Validate_Object_Version_Number
764 Validate_Object_Version_Number(x_return_status,p_aetv_rec);
765 -- store the highest degree of error
766 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
767 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
768 -- need to leave
769 l_return_status := x_return_status;
770 RAISE G_EXCEPTION_HALT_VALIDATION;
771 ELSE
772 -- record that there was an error
773 l_return_status := x_return_status;
774 END IF;
775 END IF;
776
777 -- Validate_event_type_code
778 Validate_event_type_code(x_return_status,p_aetv_rec);
779 -- store the highest degree of error
780 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
781 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
782 -- need to leave
783 l_return_status := x_return_status;
784 RAISE G_EXCEPTION_HALT_VALIDATION;
785 ELSE
786 -- record that there was an error
787 l_return_status := x_return_status;
788 END IF;
789 END IF;
790
791 -- Validate_Accounting_Date
792 Validate_Accounting_Date(x_return_status,p_aetv_rec);
793 -- store the highest degree of error
794 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
795 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
796 -- need to leave
797 l_return_status := x_return_status;
798 RAISE G_EXCEPTION_HALT_VALIDATION;
799 ELSE
800 -- record that there was an error
801 l_return_status := x_return_status;
802 END IF;
803 END IF;
804
805 -- Validate_Event_Number
806 Validate_Event_Number(x_return_status,p_aetv_rec);
807 -- store the highest degree of error
808 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
809 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
810 -- need to leave
811 l_return_status := x_return_status;
812 RAISE G_EXCEPTION_HALT_VALIDATION;
813 ELSE
814 -- record that there was an error
815 l_return_status := x_return_status;
816 END IF;
817 END IF;
818
819 -- Validate_Event_Status_Code
820 Validate_Event_Status_Code(x_return_status,p_aetv_rec);
821 -- store the highest degree of error
822 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
823 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
824 -- need to leave
825 l_return_status := x_return_status;
826 RAISE G_EXCEPTION_HALT_VALIDATION;
827 ELSE
828 -- record that there was an error
829 l_return_status := x_return_status;
830 END IF;
831 END IF;
832
833 -- Validate_Source_Id_Tbl
834 Validate_Source_Id_tbl(x_return_status,p_aetv_rec);
835 -- store the highest degree of error
836 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
837 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
838 -- need to leave
839 l_return_status := x_return_status;
840 RAISE G_EXCEPTION_HALT_VALIDATION;
841 ELSE
842 -- record that there was an error
843 l_return_status := x_return_status;
844 END IF;
845 END IF;
846
847 RETURN(l_return_status);
848
849 EXCEPTION
850 WHEN G_EXCEPTION_HALT_VALIDATION THEN
851 -- just come out with return status
852 NULL;
853 RETURN (l_return_status);
854
855 WHEN OTHERS THEN
856 -- store SQL error message on message stack for caller
857 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
858 p_msg_name => g_unexpected_error,
859 p_token1 => g_sqlcode_token,
860 p_token1_value => SQLCODE,
861 p_token2 => g_sqlerrm_token,
862 p_token2_value => SQLERRM);
863 -- notify caller of an UNEXPECTED error
864 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
865 RETURN(l_return_status);
866
867 END Validate_Attributes;
868
869
870 ---------------------------------------------------------------------------
871 -- PROCEDURE Migrate
872 ---------------------------------------------------------------------------
873 PROCEDURE migrate (
874 p_from IN aetv_rec_type,
875 p_to IN OUT NOCOPY aet_rec_type
876 ) IS
877 BEGIN
878 p_to.accounting_event_id := p_from.accounting_event_id;
879 p_to.org_id := p_from.org_id;
880 p_to.event_type_code := p_from.event_type_code;
881 p_to.accounting_date := p_from.accounting_date;
882 p_to.event_number := p_from.event_number;
883 p_to.event_status_code := p_from.event_status_code;
884 p_to.source_id := p_from.source_id;
885 p_to.source_table := p_from.source_table;
886 p_to.object_version_number := p_from.object_version_number;
887 p_to.program_id := p_from.program_id;
888 p_to.program_application_id := p_from.program_application_id;
889 p_to.program_update_date := p_from.program_update_date;
890 p_to.request_id := p_from.request_id;
891 p_to.created_by := p_from.created_by;
892 p_to.creation_date := p_from.creation_date;
893 p_to.last_updated_by := p_from.last_updated_by;
894 p_to.last_update_date := p_from.last_update_date;
895 p_to.last_update_login := p_from.last_update_login;
896 END migrate;
897 PROCEDURE migrate (
898 p_from IN aet_rec_type,
899 p_to IN OUT NOCOPY aetv_rec_type
900 ) IS
901 BEGIN
902 p_to.accounting_event_id := p_from.accounting_event_id;
903 p_to.org_id := p_from.org_id;
904 p_to.event_type_code := p_from.event_type_code;
905 p_to.accounting_date := p_from.accounting_date;
906 p_to.event_number := p_from.event_number;
907 p_to.event_status_code := p_from.event_status_code;
908 p_to.source_id := p_from.source_id;
909 p_to.source_table := p_from.source_table;
910 p_to.object_version_number := p_from.object_version_number;
911 p_to.program_id := p_from.program_id;
912 p_to.program_application_id := p_from.program_application_id;
913 p_to.program_update_date := p_from.program_update_date;
914 p_to.request_id := p_from.request_id;
915 p_to.created_by := p_from.created_by;
916 p_to.creation_date := p_from.creation_date;
917 p_to.last_updated_by := p_from.last_updated_by;
918 p_to.last_update_date := p_from.last_update_date;
919 p_to.last_update_login := p_from.last_update_login;
920 END migrate;
921
922 ---------------------------------------------------------------------------
923 -- PROCEDURE validate_row
924 ---------------------------------------------------------------------------
925 ----------------------------------------------
926 -- validate_row for:OKL_ACCOUNTING_EVENTS_V --
927 ----------------------------------------------
928 PROCEDURE validate_row(
929 p_api_version IN NUMBER,
930 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
931 x_return_status OUT NOCOPY VARCHAR2,
932 x_msg_count OUT NOCOPY NUMBER,
933 x_msg_data OUT NOCOPY VARCHAR2,
934 p_aetv_rec IN aetv_rec_type) IS
935
936 l_api_version CONSTANT NUMBER := 1;
937 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
938 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
939 l_aetv_rec aetv_rec_type := p_aetv_rec;
940 l_aet_rec aet_rec_type;
941 BEGIN
942 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
943 G_PKG_NAME,
944 p_init_msg_list,
945 l_api_version,
946 p_api_version,
947 '_PVT',
948 x_return_status);
949 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
950 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
951 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
952 RAISE Okc_Api.G_EXCEPTION_ERROR;
953 END IF;
954 --- Validate all non-missing attributes (Item Level Validation)
955 l_return_status := Validate_Attributes(l_aetv_rec);
956 --- If any errors happen abort API
957 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
958 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
959 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
960 RAISE Okc_Api.G_EXCEPTION_ERROR;
961 END IF;
962 l_return_status := Validate_Record(l_aetv_rec);
963 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
964 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
965 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
966 RAISE Okc_Api.G_EXCEPTION_ERROR;
967 END IF;
968 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
969 EXCEPTION
970 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
971 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
972 (
973 l_api_name,
974 G_PKG_NAME,
975 'OKC_API.G_RET_STS_ERROR',
976 x_msg_count,
977 x_msg_data,
978 '_PVT'
979 );
980 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
981 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
982 (
983 l_api_name,
984 G_PKG_NAME,
985 'OKC_API.G_RET_STS_UNEXP_ERROR',
986 x_msg_count,
987 x_msg_data,
988 '_PVT'
989 );
990 WHEN OTHERS THEN
991 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
992 (
993 l_api_name,
994 G_PKG_NAME,
995 'OTHERS',
996 x_msg_count,
997 x_msg_data,
998 '_PVT'
999 );
1000 END validate_row;
1001 ------------------------------------------
1002 -- PL/SQL TBL validate_row for:AETV_TBL --
1003 ------------------------------------------
1004 PROCEDURE validate_row(
1005 p_api_version IN NUMBER,
1006 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1007 x_return_status OUT NOCOPY VARCHAR2,
1008 x_msg_count OUT NOCOPY NUMBER,
1009 x_msg_data OUT NOCOPY VARCHAR2,
1010 p_aetv_tbl IN aetv_tbl_type) IS
1011
1012 l_api_version CONSTANT NUMBER := 1;
1013 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1014 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1015 i NUMBER := 0;
1016 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1017 BEGIN
1018 Okc_Api.init_msg_list(p_init_msg_list);
1019 -- Make sure PL/SQL table has records in it before passing
1020 IF (p_aetv_tbl.COUNT > 0) THEN
1021 i := p_aetv_tbl.FIRST;
1022 LOOP
1023 validate_row (
1024 p_api_version => p_api_version,
1025 p_init_msg_list => Okc_Api.G_FALSE,
1026 x_return_status => x_return_status,
1027 x_msg_count => x_msg_count,
1028 x_msg_data => x_msg_data,
1029 p_aetv_rec => p_aetv_tbl(i));
1030 IF (l_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1031 IF (x_return_status <> Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1032 l_overall_status := x_return_status;
1033 END IF;
1034 END IF;
1035
1036 EXIT WHEN (i = p_aetv_tbl.LAST);
1037 i := p_aetv_tbl.NEXT(i);
1038 END LOOP;
1039 x_return_status := l_overall_status;
1040 END IF;
1041 EXCEPTION
1042 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1043 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1044 (
1045 l_api_name,
1046 G_PKG_NAME,
1047 'OKC_API.G_RET_STS_ERROR',
1048 x_msg_count,
1049 x_msg_data,
1050 '_PVT'
1051 );
1052 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1053 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1054 (
1055 l_api_name,
1056 G_PKG_NAME,
1057 'OKC_API.G_RET_STS_UNEXP_ERROR',
1058 x_msg_count,
1059 x_msg_data,
1060 '_PVT'
1061 );
1062 WHEN OTHERS THEN
1063 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1064 (
1065 l_api_name,
1066 G_PKG_NAME,
1067 'OTHERS',
1068 x_msg_count,
1069 x_msg_data,
1070 '_PVT'
1071 );
1072 END validate_row;
1073
1074 ---------------------------------------------------------------------------
1075 -- PROCEDURE insert_row
1076 ---------------------------------------------------------------------------
1077 ------------------------------------------
1078 -- insert_row for:OKL_ACCOUNTING_EVENTS --
1079 ------------------------------------------
1080 PROCEDURE insert_row(
1081 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1082 x_return_status OUT NOCOPY VARCHAR2,
1083 x_msg_count OUT NOCOPY NUMBER,
1084 x_msg_data OUT NOCOPY VARCHAR2,
1085 p_aet_rec IN aet_rec_type,
1086 x_aet_rec OUT NOCOPY aet_rec_type) IS
1087
1088 l_api_version CONSTANT NUMBER := 1;
1089 l_api_name CONSTANT VARCHAR2(30) := 'EVENTS_insert_row';
1090 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1091 l_aet_rec aet_rec_type := p_aet_rec;
1092 l_def_aet_rec aet_rec_type;
1093 ----------------------------------------------
1094 -- Set_Attributes for:OKL_ACCOUNTING_EVENTS --
1095 ----------------------------------------------
1096 FUNCTION Set_Attributes (
1097 p_aet_rec IN aet_rec_type,
1098 x_aet_rec OUT NOCOPY aet_rec_type
1099 ) RETURN VARCHAR2 IS
1100 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1101 BEGIN
1102 x_aet_rec := p_aet_rec;
1103 RETURN(l_return_status);
1104 END Set_Attributes;
1105 BEGIN
1106 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1107 p_init_msg_list,
1108 '_PVT',
1109 x_return_status);
1110 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1111 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1112 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1113 RAISE Okc_Api.G_EXCEPTION_ERROR;
1114 END IF;
1115 --- Setting item attributes
1116 l_return_status := Set_Attributes(
1117 p_aet_rec, -- IN
1118 l_aet_rec); -- OUT
1119 --- If any errors happen abort API
1120 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1121 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1122 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1123 RAISE Okc_Api.G_EXCEPTION_ERROR;
1124 END IF;
1125
1126 INSERT INTO OKL_ACCOUNTING_EVENTS(
1127 accounting_event_id,
1128 org_id,
1129 event_type_code,
1130 accounting_date,
1131 event_number,
1132 event_status_code,
1133 source_id,
1134 source_table,
1135 object_version_number,
1136 program_id,
1137 program_application_id,
1138 program_update_date,
1139 request_id,
1140 created_by,
1141 creation_date,
1142 last_updated_by,
1143 last_update_date,
1144 last_update_login)
1145 VALUES (
1146 l_aet_rec.accounting_event_id,
1147 l_aet_rec.org_id,
1148 l_aet_rec.event_type_code,
1149 l_aet_rec.accounting_date,
1150 l_aet_rec.event_number,
1151 l_aet_rec.event_status_code,
1152 l_aet_rec.source_id,
1153 l_aet_rec.source_table,
1154 l_aet_rec.object_version_number,
1155 l_aet_rec.program_id,
1156 l_aet_rec.program_application_id,
1157 l_aet_rec.program_update_date,
1158 l_aet_rec.request_id,
1159 l_aet_rec.created_by,
1160 l_aet_rec.creation_date,
1161 l_aet_rec.last_updated_by,
1162 l_aet_rec.last_update_date,
1163 l_aet_rec.last_update_login);
1164 -- Set OUT values
1165 x_aet_rec := l_aet_rec;
1166 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1167 EXCEPTION
1168 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1169 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1170 (
1171 l_api_name,
1172 G_PKG_NAME,
1173 'Okc_Api.G_RET_STS_ERROR',
1174 x_msg_count,
1175 x_msg_data,
1176 '_PVT'
1177 );
1178 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1179 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1180 (
1181 l_api_name,
1182 G_PKG_NAME,
1183 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1184 x_msg_count,
1185 x_msg_data,
1186 '_PVT'
1187 );
1188 WHEN OTHERS THEN
1189 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1190 (
1191 l_api_name,
1192 G_PKG_NAME,
1193 'OTHERS',
1194 x_msg_count,
1195 x_msg_data,
1196 '_PVT'
1197 );
1198 END insert_row;
1199 --------------------------------------------
1200 -- insert_row for:OKL_ACCOUNTING_EVENTS_V --
1201 --------------------------------------------
1202 PROCEDURE insert_row(
1203 p_api_version IN NUMBER,
1204 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1205 x_return_status OUT NOCOPY VARCHAR2,
1206 x_msg_count OUT NOCOPY NUMBER,
1207 x_msg_data OUT NOCOPY VARCHAR2,
1208 p_aetv_rec IN aetv_rec_type,
1209 x_aetv_rec OUT NOCOPY aetv_rec_type) IS
1210
1211 l_api_version CONSTANT NUMBER := 1;
1212 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1213 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1214 l_aetv_rec aetv_rec_type;
1215 l_def_aetv_rec aetv_rec_type;
1216 l_aet_rec aet_rec_type;
1217 lx_aet_rec aet_rec_type;
1218 -------------------------------
1219 -- FUNCTION fill_who_columns --
1220 -------------------------------
1221 FUNCTION fill_who_columns (
1222 p_aetv_rec IN aetv_rec_type
1223 ) RETURN aetv_rec_type IS
1224 l_aetv_rec aetv_rec_type := p_aetv_rec;
1225 BEGIN
1226 l_aetv_rec.CREATION_DATE := SYSDATE;
1227 l_aetv_rec.CREATED_BY := Fnd_Global.User_Id;
1228 l_aetv_rec.LAST_UPDATE_DATE := l_aetv_rec.CREATION_DATE ;
1229 l_aetv_rec.LAST_UPDATED_BY := Fnd_Global.User_Id;
1230 l_aetv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1231 RETURN(l_aetv_rec);
1232 END fill_who_columns;
1233 ------------------------------------------------
1234 -- Set_Attributes for:OKL_ACCOUNTING_EVENTS_V --
1235 ------------------------------------------------
1236 FUNCTION Set_Attributes (
1237 p_aetv_rec IN aetv_rec_type,
1238 x_aetv_rec OUT NOCOPY aetv_rec_type
1239 ) RETURN VARCHAR2 IS
1240 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1241 BEGIN
1242 x_aetv_rec := p_aetv_rec;
1243 x_aetv_rec.OBJECT_VERSION_NUMBER := 1;
1244
1245 x_aetv_rec.ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID();
1246
1247 SELECT DECODE(Fnd_Global.CONC_REQUEST_ID, -1, NULL, Fnd_Global.CONC_REQUEST_ID),
1248 DECODE(Fnd_Global.PROG_APPL_ID, -1, NULL, Fnd_Global.PROG_APPL_ID),
1249 DECODE(Fnd_Global.CONC_PROGRAM_ID, -1, NULL, Fnd_Global.CONC_PROGRAM_ID),
1250 DECODE(Fnd_Global.CONC_REQUEST_ID, -1, NULL, SYSDATE)
1251 INTO x_aetv_rec.REQUEST_ID
1252 ,x_aetv_rec.PROGRAM_APPLICATION_ID
1253 ,x_aetv_rec.PROGRAM_ID
1254 ,x_aetv_rec.PROGRAM_UPDATE_DATE
1255 FROM DUAL;
1256
1257 RETURN(l_return_status);
1258 END Set_Attributes;
1259 BEGIN
1260 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1261 G_PKG_NAME,
1262 p_init_msg_list,
1263 l_api_version,
1264 p_api_version,
1265 '_PVT',
1266 x_return_status);
1267 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1268 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1269 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1270 RAISE Okc_Api.G_EXCEPTION_ERROR;
1271 END IF;
1272 l_aetv_rec := null_out_defaults(p_aetv_rec);
1273 -- Set primary key value
1274 l_aetv_rec.accounting_event_id := get_seq_id;
1275 --- Setting item attributes
1276 l_return_status := Set_Attributes(
1277 l_aetv_rec, -- IN
1278 l_def_aetv_rec); -- OUT
1279 --- If any errors happen abort API
1280 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1281 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1282 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1283 RAISE Okc_Api.G_EXCEPTION_ERROR;
1284 END IF;
1285 l_def_aetv_rec := fill_who_columns(l_def_aetv_rec);
1286 --- Validate all non-missing attributes (Item Level Validation)
1287 l_return_status := Validate_Attributes(l_def_aetv_rec);
1288 --- If any errors happen abort API
1289 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1290 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1291 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1292 RAISE Okc_Api.G_EXCEPTION_ERROR;
1293 END IF;
1294 l_return_status := Validate_Record(l_def_aetv_rec);
1295 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1296 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1297 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1298 RAISE Okc_Api.G_EXCEPTION_ERROR;
1299 END IF;
1300 --------------------------------------
1301 -- Move VIEW record to "Child" records
1302 --------------------------------------
1303 migrate(l_def_aetv_rec, l_aet_rec);
1304 --------------------------------------------
1305 -- Call the INSERT_ROW for each child record
1306 --------------------------------------------
1307 insert_row(
1308 p_init_msg_list,
1309 x_return_status,
1310 x_msg_count,
1311 x_msg_data,
1312 l_aet_rec,
1313 lx_aet_rec
1314 );
1315 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1316 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1317 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1318 RAISE Okc_Api.G_EXCEPTION_ERROR;
1319 END IF;
1320
1321 migrate(lx_aet_rec, l_def_aetv_rec);
1322 -- Set OUT values
1323 x_aetv_rec := l_def_aetv_rec;
1324 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1325 EXCEPTION
1326 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1327 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1328 (
1329 l_api_name,
1330 G_PKG_NAME,
1331 'Okc_Api.G_RET_STS_ERROR',
1332 x_msg_count,
1333 x_msg_data,
1334 '_PVT'
1335 );
1336 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1337 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1338 (
1339 l_api_name,
1340 G_PKG_NAME,
1341 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1342 x_msg_count,
1343 x_msg_data,
1344 '_PVT'
1345 );
1346 WHEN OTHERS THEN
1347 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1348 (
1349 l_api_name,
1350 G_PKG_NAME,
1351 'OTHERS',
1352 x_msg_count,
1353 x_msg_data,
1354 '_PVT'
1355 );
1356 END insert_row;
1357 ----------------------------------------
1358 -- PL/SQL TBL insert_row for:AETV_TBL --
1359 ----------------------------------------
1360 PROCEDURE insert_row(
1361 p_api_version IN NUMBER,
1362 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1363 x_return_status OUT NOCOPY VARCHAR2,
1364 x_msg_count OUT NOCOPY NUMBER,
1365 x_msg_data OUT NOCOPY VARCHAR2,
1366 p_aetv_tbl IN aetv_tbl_type,
1367 x_aetv_tbl OUT NOCOPY aetv_tbl_type) IS
1368
1369 l_api_version CONSTANT NUMBER := 1;
1370 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1371 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1372 i NUMBER := 0;
1373 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1374
1375 BEGIN
1376 Okc_Api.init_msg_list(p_init_msg_list);
1377 -- Make sure PL/SQL table has records in it before passing
1378 IF (p_aetv_tbl.COUNT > 0) THEN
1379 i := p_aetv_tbl.FIRST;
1380 LOOP
1381 insert_row (
1382 p_api_version => p_api_version,
1383 p_init_msg_list => Okc_Api.G_FALSE,
1384 x_return_status => x_return_status,
1385 x_msg_count => x_msg_count,
1386 x_msg_data => x_msg_data,
1387 p_aetv_rec => p_aetv_tbl(i),
1388 x_aetv_rec => x_aetv_tbl(i));
1389
1390 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1391 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1392 l_overall_status := x_return_status;
1393 END IF;
1394 END IF;
1395
1396 EXIT WHEN (i = p_aetv_tbl.LAST);
1397 i := p_aetv_tbl.NEXT(i);
1398 END LOOP;
1399
1400 x_return_status := l_overall_status;
1401
1402 END IF;
1403 EXCEPTION
1404 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1405 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1406 (
1407 l_api_name,
1408 G_PKG_NAME,
1409 'Okc_Api.G_RET_STS_ERROR',
1410 x_msg_count,
1411 x_msg_data,
1412 '_PVT'
1413 );
1414 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1415 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1416 (
1417 l_api_name,
1418 G_PKG_NAME,
1419 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1420 x_msg_count,
1421 x_msg_data,
1422 '_PVT'
1423 );
1424 WHEN OTHERS THEN
1425 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1426 (
1427 l_api_name,
1428 G_PKG_NAME,
1429 'OTHERS',
1430 x_msg_count,
1431 x_msg_data,
1432 '_PVT'
1433 );
1434 END insert_row;
1435
1436 ---------------------------------------------------------------------------
1437 -- PROCEDURE lock_row
1438 ---------------------------------------------------------------------------
1439 ----------------------------------------
1440 -- lock_row for:OKL_ACCOUNTING_EVENTS --
1441 ----------------------------------------
1442 PROCEDURE lock_row(
1443 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1444 x_return_status OUT NOCOPY VARCHAR2,
1445 x_msg_count OUT NOCOPY NUMBER,
1446 x_msg_data OUT NOCOPY VARCHAR2,
1447 p_aet_rec IN aet_rec_type) IS
1448
1449 E_Resource_Busy EXCEPTION;
1450 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1451 CURSOR lock_csr (p_aet_rec IN aet_rec_type) IS
1452 SELECT OBJECT_VERSION_NUMBER
1453 FROM OKL_ACCOUNTING_EVENTS
1454 WHERE accounting_event_id = p_aet_rec.accounting_event_id
1455 AND OBJECT_VERSION_NUMBER = p_aet_rec.object_version_number
1456 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
1457
1458 CURSOR lchk_csr (p_aet_rec IN aet_rec_type) IS
1459 SELECT OBJECT_VERSION_NUMBER
1460 FROM OKL_ACCOUNTING_EVENTS
1461 WHERE accounting_event_id = p_aet_rec.accounting_event_id;
1462 l_api_version CONSTANT NUMBER := 1;
1463 l_api_name CONSTANT VARCHAR2(30) := 'EVENTS_lock_row';
1464 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1465 l_object_version_number OKL_ACCOUNTING_EVENTS.OBJECT_VERSION_NUMBER%TYPE;
1466 lc_object_version_number OKL_ACCOUNTING_EVENTS.OBJECT_VERSION_NUMBER%TYPE;
1467 l_row_notfound BOOLEAN := FALSE;
1468 lc_row_notfound BOOLEAN := FALSE;
1469 BEGIN
1470 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1471 p_init_msg_list,
1472 '_PVT',
1473 x_return_status);
1474 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1475 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1476 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1477 RAISE Okc_Api.G_EXCEPTION_ERROR;
1478 END IF;
1479 BEGIN
1480 OPEN lock_csr(p_aet_rec);
1481 FETCH lock_csr INTO l_object_version_number;
1482 l_row_notfound := lock_csr%NOTFOUND;
1483 CLOSE lock_csr;
1484 EXCEPTION
1485 WHEN E_Resource_Busy THEN
1486 IF (lock_csr%ISOPEN) THEN
1487 CLOSE lock_csr;
1488 END IF;
1489 Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1490 RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
1491 END;
1492
1493 IF ( l_row_notfound ) THEN
1494 OPEN lchk_csr(p_aet_rec);
1495 FETCH lchk_csr INTO lc_object_version_number;
1496 lc_row_notfound := lchk_csr%NOTFOUND;
1497 CLOSE lchk_csr;
1498 END IF;
1499 IF (lc_row_notfound) THEN
1500 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1501 RAISE Okc_Api.G_EXCEPTION_ERROR;
1502 ELSIF lc_object_version_number > p_aet_rec.object_version_number THEN
1503 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1504 RAISE Okc_Api.G_EXCEPTION_ERROR;
1505 ELSIF lc_object_version_number <> p_aet_rec.object_version_number THEN
1506 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1507 RAISE Okc_Api.G_EXCEPTION_ERROR;
1508 ELSIF lc_object_version_number = -1 THEN
1509 Okc_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1510 RAISE Okc_Api.G_EXCEPTION_ERROR;
1511 END IF;
1512 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1513 EXCEPTION
1514 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1515 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1516 (
1517 l_api_name,
1518 G_PKG_NAME,
1519 'Okc_Api.G_RET_STS_ERROR',
1520 x_msg_count,
1521 x_msg_data,
1522 '_PVT'
1523 );
1524 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1525 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1526 (
1527 l_api_name,
1528 G_PKG_NAME,
1529 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1530 x_msg_count,
1531 x_msg_data,
1532 '_PVT'
1533 );
1534 WHEN OTHERS THEN
1535 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1536 (
1537 l_api_name,
1538 G_PKG_NAME,
1539 'OTHERS',
1540 x_msg_count,
1541 x_msg_data,
1542 '_PVT'
1543 );
1544 END lock_row;
1545 ------------------------------------------
1546 -- lock_row for:OKL_ACCOUNTING_EVENTS_V --
1547 ------------------------------------------
1548 PROCEDURE lock_row(
1549 p_api_version IN NUMBER,
1550 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1551 x_return_status OUT NOCOPY VARCHAR2,
1552 x_msg_count OUT NOCOPY NUMBER,
1553 x_msg_data OUT NOCOPY VARCHAR2,
1554 p_aetv_rec IN aetv_rec_type) IS
1555
1556 l_api_version CONSTANT NUMBER := 1;
1557 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
1558 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1559 l_aet_rec aet_rec_type;
1560 BEGIN
1561 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1562 G_PKG_NAME,
1563 p_init_msg_list,
1564 l_api_version,
1565 p_api_version,
1566 '_PVT',
1567 x_return_status);
1568 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1569 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1570 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1571 RAISE Okc_Api.G_EXCEPTION_ERROR;
1572 END IF;
1573 --------------------------------------
1574 -- Move VIEW record to "Child" records
1575 --------------------------------------
1576 migrate(p_aetv_rec, l_aet_rec);
1577 --------------------------------------------
1578 -- Call the LOCK_ROW for each child record
1579 --------------------------------------------
1580 lock_row(
1581 p_init_msg_list,
1582 x_return_status,
1583 x_msg_count,
1584 x_msg_data,
1585 l_aet_rec
1586 );
1587 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1588 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1589 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1590 RAISE Okc_Api.G_EXCEPTION_ERROR;
1591 END IF;
1592 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1593 EXCEPTION
1594 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1595 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1596 (
1597 l_api_name,
1598 G_PKG_NAME,
1599 'Okc_Api.G_RET_STS_ERROR',
1600 x_msg_count,
1601 x_msg_data,
1602 '_PVT'
1603 );
1604 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1605 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1606 (
1607 l_api_name,
1608 G_PKG_NAME,
1609 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1610 x_msg_count,
1611 x_msg_data,
1612 '_PVT'
1613 );
1614 WHEN OTHERS THEN
1615 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1616 (
1617 l_api_name,
1618 G_PKG_NAME,
1619 'OTHERS',
1620 x_msg_count,
1621 x_msg_data,
1622 '_PVT'
1623 );
1624 END lock_row;
1625 --------------------------------------
1626 -- PL/SQL TBL lock_row for:AETV_TBL --
1627 --------------------------------------
1628 PROCEDURE lock_row(
1629 p_api_version IN NUMBER,
1630 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1631 x_return_status OUT NOCOPY VARCHAR2,
1632 x_msg_count OUT NOCOPY NUMBER,
1633 x_msg_data OUT NOCOPY VARCHAR2,
1634 p_aetv_tbl IN aetv_tbl_type) IS
1635
1636 l_api_version CONSTANT NUMBER := 1;
1637 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
1638 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1639 i NUMBER := 0;
1640 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1641
1642 BEGIN
1643 Okc_Api.init_msg_list(p_init_msg_list);
1644 -- Make sure PL/SQL table has records in it before passing
1645 IF (p_aetv_tbl.COUNT > 0) THEN
1646 i := p_aetv_tbl.FIRST;
1647 LOOP
1648 lock_row (
1649 p_api_version => p_api_version,
1650 p_init_msg_list => Okc_Api.G_FALSE,
1651 x_return_status => x_return_status,
1652 x_msg_count => x_msg_count,
1653 x_msg_data => x_msg_data,
1654 p_aetv_rec => p_aetv_tbl(i));
1655 IF (l_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1656 IF (x_return_status <> Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1657 l_overall_status := x_return_status;
1658 END IF;
1659 END IF;
1660
1661 EXIT WHEN (i = p_aetv_tbl.LAST);
1662 i := p_aetv_tbl.NEXT(i);
1663 END LOOP;
1664 x_return_status := l_overall_status;
1665
1666 END IF;
1667 EXCEPTION
1668 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1669 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1670 (
1671 l_api_name,
1672 G_PKG_NAME,
1673 'Okc_Api.G_RET_STS_ERROR',
1674 x_msg_count,
1675 x_msg_data,
1676 '_PVT'
1677 );
1678 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1679 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1680 (
1681 l_api_name,
1682 G_PKG_NAME,
1683 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1684 x_msg_count,
1685 x_msg_data,
1686 '_PVT'
1687 );
1688 WHEN OTHERS THEN
1689 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1690 (
1691 l_api_name,
1692 G_PKG_NAME,
1693 'OTHERS',
1694 x_msg_count,
1695 x_msg_data,
1696 '_PVT'
1697 );
1698 END lock_row;
1699
1700 ---------------------------------------------------------------------------
1701 -- PROCEDURE update_row
1702 ---------------------------------------------------------------------------
1703 ------------------------------------------
1704 -- update_row for:OKL_ACCOUNTING_EVENTS --
1705 ------------------------------------------
1706 PROCEDURE update_row(
1707 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1708 x_return_status OUT NOCOPY VARCHAR2,
1709 x_msg_count OUT NOCOPY NUMBER,
1710 x_msg_data OUT NOCOPY VARCHAR2,
1711 p_aet_rec IN aet_rec_type,
1712 x_aet_rec OUT NOCOPY aet_rec_type) IS
1713
1714 l_api_version CONSTANT NUMBER := 1;
1715 l_api_name CONSTANT VARCHAR2(30) := 'EVENTS_update_row';
1716 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1717 l_aet_rec aet_rec_type := p_aet_rec;
1718 l_def_aet_rec aet_rec_type;
1719 l_row_notfound BOOLEAN := TRUE;
1720 ----------------------------------
1721 -- FUNCTION populate_new_record --
1722 ----------------------------------
1723 FUNCTION populate_new_record (
1724 p_aet_rec IN aet_rec_type,
1725 x_aet_rec OUT NOCOPY aet_rec_type
1726 ) RETURN VARCHAR2 IS
1727 l_aet_rec aet_rec_type;
1728 l_row_notfound BOOLEAN := TRUE;
1729 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1730 BEGIN
1731 x_aet_rec := p_aet_rec;
1732 -- Get current database values
1733 l_aet_rec := get_rec(p_aet_rec, l_row_notfound);
1734 IF (l_row_notfound) THEN
1735 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1736 END IF;
1737 IF (x_aet_rec.accounting_event_id = Okc_Api.G_MISS_NUM)
1738 THEN
1739 x_aet_rec.accounting_event_id := l_aet_rec.accounting_event_id;
1740 END IF;
1741 IF (x_aet_rec.org_id = Okc_Api.G_MISS_NUM)
1742 THEN
1743 x_aet_rec.org_id := l_aet_rec.org_id;
1744 END IF;
1745 IF (x_aet_rec.event_type_code = Okc_Api.G_MISS_CHAR)
1746 THEN
1747 x_aet_rec.event_type_code := l_aet_rec.event_type_code;
1748 END IF;
1749 IF (x_aet_rec.accounting_date = Okc_Api.G_MISS_DATE)
1750 THEN
1751 x_aet_rec.accounting_date := l_aet_rec.accounting_date;
1752 END IF;
1753 IF (x_aet_rec.event_number = Okc_Api.G_MISS_NUM)
1754 THEN
1755 x_aet_rec.event_number := l_aet_rec.event_number;
1756 END IF;
1757 IF (x_aet_rec.event_status_code = Okc_Api.G_MISS_CHAR)
1758 THEN
1759 x_aet_rec.event_status_code := l_aet_rec.event_status_code;
1760 END IF;
1761 IF (x_aet_rec.source_id = Okc_Api.G_MISS_NUM)
1762 THEN
1763 x_aet_rec.source_id := l_aet_rec.source_id;
1764 END IF;
1765 IF (x_aet_rec.source_table = Okc_Api.G_MISS_CHAR)
1766 THEN
1767 x_aet_rec.source_table := l_aet_rec.source_table;
1768 END IF;
1769 IF (x_aet_rec.object_version_number = Okc_Api.G_MISS_NUM)
1770 THEN
1771 x_aet_rec.object_version_number := l_aet_rec.object_version_number;
1772 END IF;
1773 IF (x_aet_rec.program_id = Okc_Api.G_MISS_NUM)
1774 THEN
1775 x_aet_rec.program_id := l_aet_rec.program_id;
1776 END IF;
1777 IF (x_aet_rec.program_application_id = Okc_Api.G_MISS_NUM)
1778 THEN
1779 x_aet_rec.program_application_id := l_aet_rec.program_application_id;
1780 END IF;
1781 IF (x_aet_rec.program_update_date = Okc_Api.G_MISS_DATE)
1782 THEN
1783 x_aet_rec.program_update_date := l_aet_rec.program_update_date;
1784 END IF;
1785 IF (x_aet_rec.request_id = Okc_Api.G_MISS_NUM)
1786 THEN
1787 x_aet_rec.request_id := l_aet_rec.request_id;
1788 END IF;
1789 IF (x_aet_rec.created_by = Okc_Api.G_MISS_NUM)
1790 THEN
1791 x_aet_rec.created_by := l_aet_rec.created_by;
1792 END IF;
1793 IF (x_aet_rec.creation_date = Okc_Api.G_MISS_DATE)
1794 THEN
1795 x_aet_rec.creation_date := l_aet_rec.creation_date;
1796 END IF;
1797 IF (x_aet_rec.last_updated_by = Okc_Api.G_MISS_NUM)
1798 THEN
1799 x_aet_rec.last_updated_by := l_aet_rec.last_updated_by;
1800 END IF;
1801 IF (x_aet_rec.last_update_date = Okc_Api.G_MISS_DATE)
1802 THEN
1803 x_aet_rec.last_update_date := l_aet_rec.last_update_date;
1804 END IF;
1805 IF (x_aet_rec.last_update_login = Okc_Api.G_MISS_NUM)
1806 THEN
1807 x_aet_rec.last_update_login := l_aet_rec.last_update_login;
1808 END IF;
1809 RETURN(l_return_status);
1810 END populate_new_record;
1811 ----------------------------------------------
1812 -- Set_Attributes for:OKL_ACCOUNTING_EVENTS --
1813 ----------------------------------------------
1814 FUNCTION Set_Attributes (
1815 p_aet_rec IN aet_rec_type,
1816 x_aet_rec OUT NOCOPY aet_rec_type
1817 ) RETURN VARCHAR2 IS
1818 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1819 BEGIN
1820 x_aet_rec := p_aet_rec;
1821 RETURN(l_return_status);
1822 END Set_Attributes;
1823 BEGIN
1824 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1825 p_init_msg_list,
1826 '_PVT',
1827 x_return_status);
1828 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1829 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1830 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1831 RAISE Okc_Api.G_EXCEPTION_ERROR;
1832 END IF;
1833 --- Setting item attributes
1834 l_return_status := Set_Attributes(
1835 p_aet_rec, -- IN
1836 l_aet_rec); -- OUT
1837 --- If any errors happen abort API
1838 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1839 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1840 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1841 RAISE Okc_Api.G_EXCEPTION_ERROR;
1842 END IF;
1843 l_return_status := populate_new_record(l_aet_rec, l_def_aet_rec);
1844 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1845 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1846 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1847 RAISE Okc_Api.G_EXCEPTION_ERROR;
1848 END IF;
1849 UPDATE OKL_ACCOUNTING_EVENTS
1850 SET ORG_ID = l_def_aet_rec.org_id,
1851 EVENT_TYPE_CODE = l_def_aet_rec.event_type_code,
1852 ACCOUNTING_DATE = l_def_aet_rec.accounting_date,
1853 EVENT_NUMBER = l_def_aet_rec.event_number,
1854 EVENT_STATUS_CODE = l_def_aet_rec.event_status_code,
1855 SOURCE_ID = l_def_aet_rec.source_id,
1856 SOURCE_TABLE = l_def_aet_rec.source_table,
1857 OBJECT_VERSION_NUMBER = l_def_aet_rec.object_version_number,
1858 PROGRAM_ID = l_def_aet_rec.program_id,
1859 PROGRAM_APPLICATION_ID = l_def_aet_rec.program_application_id,
1860 PROGRAM_UPDATE_DATE = l_def_aet_rec.program_update_date,
1861 REQUEST_ID = l_def_aet_rec.request_id,
1862 CREATED_BY = l_def_aet_rec.created_by,
1863 CREATION_DATE = l_def_aet_rec.creation_date,
1864 LAST_UPDATED_BY = l_def_aet_rec.last_updated_by,
1865 LAST_UPDATE_DATE = l_def_aet_rec.last_update_date,
1866 LAST_UPDATE_LOGIN = l_def_aet_rec.last_update_login
1867 WHERE accounting_event_id = l_def_aet_rec.accounting_event_id;
1868
1869 x_aet_rec := l_def_aet_rec;
1870 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1871 EXCEPTION
1872 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1873 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1874 (
1875 l_api_name,
1876 G_PKG_NAME,
1877 'Okc_Api.G_RET_STS_ERROR',
1878 x_msg_count,
1879 x_msg_data,
1880 '_PVT'
1881 );
1882 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1883 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1884 (
1885 l_api_name,
1886 G_PKG_NAME,
1887 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1888 x_msg_count,
1889 x_msg_data,
1890 '_PVT'
1891 );
1892 WHEN OTHERS THEN
1893 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1894 (
1895 l_api_name,
1896 G_PKG_NAME,
1897 'OTHERS',
1898 x_msg_count,
1899 x_msg_data,
1900 '_PVT'
1901 );
1902 END update_row;
1903 --------------------------------------------
1904 -- update_row for:OKL_ACCOUNTING_EVENTS_V --
1905 --------------------------------------------
1906 PROCEDURE update_row(
1907 p_api_version IN NUMBER,
1908 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1909 x_return_status OUT NOCOPY VARCHAR2,
1910 x_msg_count OUT NOCOPY NUMBER,
1911 x_msg_data OUT NOCOPY VARCHAR2,
1912 p_aetv_rec IN aetv_rec_type,
1913 x_aetv_rec OUT NOCOPY aetv_rec_type) IS
1914
1915 l_api_version CONSTANT NUMBER := 1;
1916 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
1917 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1918 l_aetv_rec aetv_rec_type := p_aetv_rec;
1919 l_def_aetv_rec aetv_rec_type;
1920 l_aet_rec aet_rec_type;
1921 lx_aet_rec aet_rec_type;
1922 -------------------------------
1923 -- FUNCTION fill_who_columns --
1924 -------------------------------
1925 FUNCTION fill_who_columns (
1926 p_aetv_rec IN aetv_rec_type
1927 ) RETURN aetv_rec_type IS
1928 l_aetv_rec aetv_rec_type := p_aetv_rec;
1929 BEGIN
1930 l_aetv_rec.LAST_UPDATE_DATE := SYSDATE;
1931 l_aetv_rec.LAST_UPDATED_BY := Fnd_Global.User_Id;
1932 l_aetv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1933 RETURN(l_aetv_rec);
1934 END fill_who_columns;
1935 ----------------------------------
1936 -- FUNCTION populate_new_record --
1937 ----------------------------------
1938 FUNCTION populate_new_record (
1939 p_aetv_rec IN aetv_rec_type,
1940 x_aetv_rec OUT NOCOPY aetv_rec_type
1941 ) RETURN VARCHAR2 IS
1942 l_aetv_rec aetv_rec_type;
1943 l_row_notfound BOOLEAN := TRUE;
1944 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1945 BEGIN
1946 x_aetv_rec := p_aetv_rec;
1947 -- Get current database values
1948 l_aetv_rec := get_rec(p_aetv_rec, l_row_notfound);
1949 IF (l_row_notfound) THEN
1950 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1951 END IF;
1952 IF (x_aetv_rec.accounting_event_id = Okc_Api.G_MISS_NUM)
1953 THEN
1954 x_aetv_rec.accounting_event_id := l_aetv_rec.accounting_event_id;
1955 END IF;
1956 IF (x_aetv_rec.object_version_number = Okc_Api.G_MISS_NUM)
1957 THEN
1958 x_aetv_rec.object_version_number := l_aetv_rec.object_version_number;
1959 END IF;
1960 IF (x_aetv_rec.org_id = Okc_Api.G_MISS_NUM)
1961 THEN
1962 x_aetv_rec.org_id := l_aetv_rec.org_id;
1963 END IF;
1964 IF (x_aetv_rec.event_type_code = Okc_Api.G_MISS_CHAR)
1965 THEN
1966 x_aetv_rec.event_type_code := l_aetv_rec.event_type_code;
1967 END IF;
1968 IF (x_aetv_rec.accounting_date = Okc_Api.G_MISS_DATE)
1969 THEN
1970 x_aetv_rec.accounting_date := l_aetv_rec.accounting_date;
1971 END IF;
1972 IF (x_aetv_rec.event_number = Okc_Api.G_MISS_NUM)
1973 THEN
1974 x_aetv_rec.event_number := l_aetv_rec.event_number;
1975 END IF;
1976 IF (x_aetv_rec.event_status_code = Okc_Api.G_MISS_CHAR)
1977 THEN
1978 x_aetv_rec.event_status_code := l_aetv_rec.event_status_code;
1979 END IF;
1980 IF (x_aetv_rec.source_id = Okc_Api.G_MISS_NUM)
1981 THEN
1982 x_aetv_rec.source_id := l_aetv_rec.source_id;
1983 END IF;
1984 IF (x_aetv_rec.source_table = Okc_Api.G_MISS_CHAR)
1985 THEN
1986 x_aetv_rec.source_table := l_aetv_rec.source_table;
1987 END IF;
1988 IF (x_aetv_rec.program_id = Okc_Api.G_MISS_NUM)
1989 THEN
1990 x_aetv_rec.program_id := l_aetv_rec.program_id;
1991 END IF;
1992 IF (x_aetv_rec.program_application_id = Okc_Api.G_MISS_NUM)
1993 THEN
1994 x_aetv_rec.program_application_id := l_aetv_rec.program_application_id;
1995 END IF;
1996 IF (x_aetv_rec.program_update_date = Okc_Api.G_MISS_DATE)
1997 THEN
1998 x_aetv_rec.program_update_date := l_aetv_rec.program_update_date;
1999 END IF;
2000 IF (x_aetv_rec.request_id = Okc_Api.G_MISS_NUM)
2001 THEN
2002 x_aetv_rec.request_id := l_aetv_rec.request_id;
2003 END IF;
2004 IF (x_aetv_rec.created_by = Okc_Api.G_MISS_NUM)
2005 THEN
2006 x_aetv_rec.created_by := l_aetv_rec.created_by;
2007 END IF;
2008 IF (x_aetv_rec.creation_date = Okc_Api.G_MISS_DATE)
2009 THEN
2010 x_aetv_rec.creation_date := l_aetv_rec.creation_date;
2011 END IF;
2012 IF (x_aetv_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2013 THEN
2014 x_aetv_rec.last_updated_by := l_aetv_rec.last_updated_by;
2015 END IF;
2016 IF (x_aetv_rec.last_update_date = Okc_Api.G_MISS_DATE)
2017 THEN
2018 x_aetv_rec.last_update_date := l_aetv_rec.last_update_date;
2019 END IF;
2020 IF (x_aetv_rec.last_update_login = Okc_Api.G_MISS_NUM)
2021 THEN
2022 x_aetv_rec.last_update_login := l_aetv_rec.last_update_login;
2023 END IF;
2024 RETURN(l_return_status);
2025 END populate_new_record;
2026 ------------------------------------------------
2027 -- Set_Attributes for:OKL_ACCOUNTING_EVENTS_V --
2028 ------------------------------------------------
2029 FUNCTION Set_Attributes (
2030 p_aetv_rec IN aetv_rec_type,
2031 x_aetv_rec OUT NOCOPY aetv_rec_type
2032 ) RETURN VARCHAR2 IS
2033 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2034 BEGIN
2035 x_aetv_rec := p_aetv_rec;
2036
2037 SELECT NVL(DECODE(Fnd_Global.CONC_REQUEST_ID, -1, NULL, Fnd_Global.CONC_REQUEST_ID)
2038 ,p_aetv_rec.REQUEST_ID)
2039 ,NVL(DECODE(Fnd_Global.PROG_APPL_ID, -1, NULL, Fnd_Global.PROG_APPL_ID)
2040 ,p_aetv_rec.PROGRAM_APPLICATION_ID)
2041 ,NVL(DECODE(Fnd_Global.CONC_PROGRAM_ID, -1, NULL, Fnd_Global.CONC_PROGRAM_ID)
2042 ,p_aetv_rec.PROGRAM_ID)
2043 ,DECODE(DECODE(Fnd_Global.CONC_REQUEST_ID, -1, NULL, SYSDATE)
2044 ,NULL,p_aetv_rec.PROGRAM_UPDATE_DATE,SYSDATE)
2045 INTO x_aetv_rec.REQUEST_ID
2046 ,x_aetv_rec.PROGRAM_APPLICATION_ID
2047 ,x_aetv_rec.PROGRAM_ID
2048 ,x_aetv_rec.PROGRAM_UPDATE_DATE
2049 FROM DUAL;
2050
2051 RETURN(l_return_status);
2052 END Set_Attributes;
2053 BEGIN
2054 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2055 G_PKG_NAME,
2056 p_init_msg_list,
2057 l_api_version,
2058 p_api_version,
2059 '_PVT',
2060 x_return_status);
2061 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2062 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2063 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2064 RAISE Okc_Api.G_EXCEPTION_ERROR;
2065 END IF;
2066 --- Setting item attributes
2067 l_return_status := Set_Attributes(
2068 p_aetv_rec, -- IN
2069 l_aetv_rec); -- OUT
2070 --- If any errors happen abort API
2071 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2072 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2073 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2074 RAISE Okc_Api.G_EXCEPTION_ERROR;
2075 END IF;
2076 l_return_status := populate_new_record(l_aetv_rec, l_def_aetv_rec);
2077 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2078 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2079 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2080 RAISE Okc_Api.G_EXCEPTION_ERROR;
2081 END IF;
2082 l_def_aetv_rec := fill_who_columns(l_def_aetv_rec);
2083 --- Validate all non-missing attributes (Item Level Validation)
2084 l_return_status := Validate_Attributes(l_def_aetv_rec);
2085 --- If any errors happen abort API
2086 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2087 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2088 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2089 RAISE Okc_Api.G_EXCEPTION_ERROR;
2090 END IF;
2091 l_return_status := Validate_Record(l_def_aetv_rec);
2092 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2093 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2094 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2095 RAISE Okc_Api.G_EXCEPTION_ERROR;
2096 END IF;
2097
2098 --------------------------------------
2099 -- Move VIEW record to "Child" records
2100 --------------------------------------
2101 migrate(l_def_aetv_rec, l_aet_rec);
2102 --------------------------------------------
2103 -- Call the UPDATE_ROW for each child record
2104 --------------------------------------------
2105 update_row(
2106 p_init_msg_list,
2107 x_return_status,
2108 x_msg_count,
2109 x_msg_data,
2110 l_aet_rec,
2111 lx_aet_rec
2112 );
2113 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2114 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2115 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2116 RAISE Okc_Api.G_EXCEPTION_ERROR;
2117 END IF;
2118 migrate(lx_aet_rec, l_def_aetv_rec);
2119 x_aetv_rec := l_def_aetv_rec;
2120 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2121 EXCEPTION
2122 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2123 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2124 (
2125 l_api_name,
2126 G_PKG_NAME,
2127 'Okc_Api.G_RET_STS_ERROR',
2128 x_msg_count,
2129 x_msg_data,
2130 '_PVT'
2131 );
2132 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2133 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2134 (
2135 l_api_name,
2136 G_PKG_NAME,
2137 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2138 x_msg_count,
2139 x_msg_data,
2140 '_PVT'
2141 );
2142 WHEN OTHERS THEN
2143 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2144 (
2145 l_api_name,
2146 G_PKG_NAME,
2147 'OTHERS',
2148 x_msg_count,
2149 x_msg_data,
2150 '_PVT'
2151 );
2152 END update_row;
2153 ----------------------------------------
2154 -- PL/SQL TBL update_row for:AETV_TBL --
2155 ----------------------------------------
2156 PROCEDURE update_row(
2157 p_api_version IN NUMBER,
2158 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2159 x_return_status OUT NOCOPY VARCHAR2,
2160 x_msg_count OUT NOCOPY NUMBER,
2161 x_msg_data OUT NOCOPY VARCHAR2,
2162 p_aetv_tbl IN aetv_tbl_type,
2163 x_aetv_tbl OUT NOCOPY aetv_tbl_type) IS
2164
2165 l_api_version CONSTANT NUMBER := 1;
2166 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
2167 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2168 i NUMBER := 0;
2169 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2170
2171 BEGIN
2172 Okc_Api.init_msg_list(p_init_msg_list);
2173 -- Make sure PL/SQL table has records in it before passing
2174 IF (p_aetv_tbl.COUNT > 0) THEN
2175 i := p_aetv_tbl.FIRST;
2176 LOOP
2177 update_row (
2178 p_api_version => p_api_version,
2179 p_init_msg_list => Okc_Api.G_FALSE,
2180 x_return_status => x_return_status,
2181 x_msg_count => x_msg_count,
2182 x_msg_data => x_msg_data,
2183 p_aetv_rec => p_aetv_tbl(i),
2184 x_aetv_rec => x_aetv_tbl(i));
2185
2186 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2187 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2188 l_overall_status := x_return_status;
2189 END IF;
2190 END IF;
2191
2192 EXIT WHEN (i = p_aetv_tbl.LAST);
2193 i := p_aetv_tbl.NEXT(i);
2194 END LOOP;
2195 x_return_status := l_overall_status;
2196 END IF;
2197 EXCEPTION
2198 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2199 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2200 (
2201 l_api_name,
2202 G_PKG_NAME,
2203 'Okc_Api.G_RET_STS_ERROR',
2204 x_msg_count,
2205 x_msg_data,
2206 '_PVT'
2207 );
2208 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2209 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2210 (
2211 l_api_name,
2212 G_PKG_NAME,
2213 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2214 x_msg_count,
2215 x_msg_data,
2216 '_PVT'
2217 );
2218 WHEN OTHERS THEN
2219 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2220 (
2221 l_api_name,
2222 G_PKG_NAME,
2223 'OTHERS',
2224 x_msg_count,
2225 x_msg_data,
2226 '_PVT'
2227 );
2228 END update_row;
2229
2230 ---------------------------------------------------------------------------
2231 -- PROCEDURE delete_row
2232 ---------------------------------------------------------------------------
2233 ------------------------------------------
2234 -- delete_row for:OKL_ACCOUNTING_EVENTS --
2235 ------------------------------------------
2236 PROCEDURE delete_row(
2237 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2238 x_return_status OUT NOCOPY VARCHAR2,
2239 x_msg_count OUT NOCOPY NUMBER,
2240 x_msg_data OUT NOCOPY VARCHAR2,
2241 p_aet_rec IN aet_rec_type) IS
2242
2243 l_api_version CONSTANT NUMBER := 1;
2244 l_api_name CONSTANT VARCHAR2(30) := 'EVENTS_delete_row';
2245 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2246 l_aet_rec aet_rec_type:= p_aet_rec;
2247 l_row_notfound BOOLEAN := TRUE;
2248 BEGIN
2249 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2250 p_init_msg_list,
2251 '_PVT',
2252 x_return_status);
2253 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2254 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2255 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2256 RAISE Okc_Api.G_EXCEPTION_ERROR;
2257 END IF;
2258 DELETE FROM OKL_ACCOUNTING_EVENTS
2259 WHERE accounting_event_id = l_aet_rec.accounting_event_id;
2260
2261 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2262 EXCEPTION
2263 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2264 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2265 (
2266 l_api_name,
2267 G_PKG_NAME,
2268 'Okc_Api.G_RET_STS_ERROR',
2269 x_msg_count,
2270 x_msg_data,
2271 '_PVT'
2272 );
2273 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2274 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2275 (
2276 l_api_name,
2277 G_PKG_NAME,
2278 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2279 x_msg_count,
2280 x_msg_data,
2281 '_PVT'
2282 );
2283 WHEN OTHERS THEN
2284 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2285 (
2286 l_api_name,
2287 G_PKG_NAME,
2288 'OTHERS',
2289 x_msg_count,
2290 x_msg_data,
2291 '_PVT'
2292 );
2293 END delete_row;
2294 --------------------------------------------
2295 -- delete_row for:OKL_ACCOUNTING_EVENTS_V --
2296 --------------------------------------------
2297 PROCEDURE delete_row(
2298 p_api_version IN NUMBER,
2299 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2300 x_return_status OUT NOCOPY VARCHAR2,
2301 x_msg_count OUT NOCOPY NUMBER,
2302 x_msg_data OUT NOCOPY VARCHAR2,
2303 p_aetv_rec IN aetv_rec_type) IS
2304
2305 l_api_version CONSTANT NUMBER := 1;
2306 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
2307 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2308 l_aetv_rec aetv_rec_type := p_aetv_rec;
2309 l_aet_rec aet_rec_type;
2310 BEGIN
2311 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2312 G_PKG_NAME,
2313 p_init_msg_list,
2314 l_api_version,
2315 p_api_version,
2316 '_PVT',
2317 x_return_status);
2318 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2319 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2320 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2321 RAISE Okc_Api.G_EXCEPTION_ERROR;
2322 END IF;
2323 --------------------------------------
2324 -- Move VIEW record to "Child" records
2325 --------------------------------------
2326 migrate(l_aetv_rec, l_aet_rec);
2327 --------------------------------------------
2328 -- Call the DELETE_ROW for each child record
2329 --------------------------------------------
2330 delete_row(
2331 p_init_msg_list,
2332 x_return_status,
2333 x_msg_count,
2334 x_msg_data,
2335 l_aet_rec
2336 );
2337 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2338 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2339 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2340 RAISE Okc_Api.G_EXCEPTION_ERROR;
2341 END IF;
2342 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2343 EXCEPTION
2344 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2345 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2346 (
2347 l_api_name,
2348 G_PKG_NAME,
2349 'Okc_Api.G_RET_STS_ERROR',
2350 x_msg_count,
2351 x_msg_data,
2352 '_PVT'
2353 );
2354 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2355 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2356 (
2357 l_api_name,
2358 G_PKG_NAME,
2359 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2360 x_msg_count,
2361 x_msg_data,
2362 '_PVT'
2363 );
2364 WHEN OTHERS THEN
2365 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2366 (
2367 l_api_name,
2368 G_PKG_NAME,
2369 'OTHERS',
2370 x_msg_count,
2371 x_msg_data,
2372 '_PVT'
2373 );
2374 END delete_row;
2375 ----------------------------------------
2376 -- PL/SQL TBL delete_row for:AETV_TBL --
2377 ----------------------------------------
2378 PROCEDURE delete_row(
2379 p_api_version IN NUMBER,
2380 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2381 x_return_status OUT NOCOPY VARCHAR2,
2382 x_msg_count OUT NOCOPY NUMBER,
2383 x_msg_data OUT NOCOPY VARCHAR2,
2384 p_aetv_tbl IN aetv_tbl_type) IS
2385
2386 l_api_version CONSTANT NUMBER := 1;
2387 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
2388 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2389 i NUMBER := 0;
2390 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2391
2392 BEGIN
2393 Okc_Api.init_msg_list(p_init_msg_list);
2394 -- Make sure PL/SQL table has records in it before passing
2395 IF (p_aetv_tbl.COUNT > 0) THEN
2396 i := p_aetv_tbl.FIRST;
2397 LOOP
2398 delete_row (
2399 p_api_version => p_api_version,
2400 p_init_msg_list => Okc_Api.G_FALSE,
2401 x_return_status => x_return_status,
2402 x_msg_count => x_msg_count,
2403 x_msg_data => x_msg_data,
2404 p_aetv_rec => p_aetv_tbl(i));
2405
2406 IF (l_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2407 IF (x_return_status <> Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2408 l_overall_status := x_return_status;
2409 END IF;
2410 END IF;
2411
2412 EXIT WHEN (i = p_aetv_tbl.LAST);
2413 i := p_aetv_tbl.NEXT(i);
2414
2415 END LOOP;
2416 x_return_status := l_overall_status;
2417 END IF;
2418 EXCEPTION
2419 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2420 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2421 (
2422 l_api_name,
2423 G_PKG_NAME,
2424 'Okc_Api.G_RET_STS_ERROR',
2425 x_msg_count,
2426 x_msg_data,
2427 '_PVT'
2428 );
2429 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2430 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2431 (
2432 l_api_name,
2433 G_PKG_NAME,
2434 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2435 x_msg_count,
2436 x_msg_data,
2437 '_PVT'
2438 );
2439 WHEN OTHERS THEN
2440 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2441 (
2442 l_api_name,
2443 G_PKG_NAME,
2444 'OTHERS',
2445 x_msg_count,
2446 x_msg_data,
2447 '_PVT'
2448 );
2449 END delete_row;
2450 END Okl_Aet_Pvt;