[Home] [Help]
PACKAGE BODY: APPS.OKL_TAB_PVT
Source
1 PACKAGE BODY OKL_TAB_PVT AS
2 /* $Header: OKLSTABB.pls 120.8.12010000.2 2008/08/14 12:13:42 racheruv ship $ */
3
4 l_sysdate DATE := SYSDATE;
5 ---------------------------------------------------------------------------
6 -- FUNCTION get_seq_id
7 ---------------------------------------------------------------------------
8 FUNCTION get_seq_id RETURN NUMBER IS
9 l_seq NUMBER;
10 BEGIN
11 -- Changed sequence name by nikshah for SLA project (Bug 5707866) 16-Apr-2007
12 SELECT OKL_TRNS_ACC_DSTRS_ALL_S.NEXTVAL INTO l_seq FROM DUAL;
13 RETURN l_seq;
14 END get_seq_id;
15
16 ---------------------------------------------------------------------------
17 -- PROCEDURE qc
18 ---------------------------------------------------------------------------
19 PROCEDURE qc IS
20 BEGIN
21 NULL;
22 END qc;
23
24 ---------------------------------------------------------------------------
25 -- PROCEDURE change_version
26 ---------------------------------------------------------------------------
27 PROCEDURE change_version IS
28 BEGIN
29 NULL;
30 END change_version;
31
32 ---------------------------------------------------------------------------
33 -- PROCEDURE api_copy
34 ---------------------------------------------------------------------------
35 PROCEDURE api_copy IS
36 BEGIN
37 NULL;
38 END api_copy;
39
40 ---------------------------------------------------------------------------
41 -- FUNCTION get_rec for: OKL_TRNS_ACC_DSTRS
42 ---------------------------------------------------------------------------
43 FUNCTION get_rec (
44 p_tab_rec IN tab_rec_type,
45 x_no_data_found OUT NOCOPY BOOLEAN
46 ) RETURN tab_rec_type IS
47 CURSOR tab_pk_csr (p_id IN NUMBER) IS
48 SELECT
49 ID,
50 CURRENCY_CONVERSION_TYPE,
51 SET_OF_BOOKS_ID,
52 CR_DR_FLAG,
53 CODE_COMBINATION_ID,
54 ORG_ID,
55 CURRENCY_CODE,
56 AE_LINE_TYPE,
57 TEMPLATE_ID,
58 SOURCE_ID,
59 SOURCE_TABLE,
60 OBJECT_VERSION_NUMBER,
61 AMOUNT,
62 ACCOUNTED_AMOUNT,
63 GL_DATE,
64 PERCENTAGE,
65 COMMENTS,
66 POST_REQUEST_ID,
67 CURRENCY_CONVERSION_DATE,
68 CURRENCY_CONVERSION_RATE,
69 REQUEST_ID,
70 PROGRAM_APPLICATION_ID,
71 PROGRAM_ID,
72 PROGRAM_UPDATE_DATE,
73 ATTRIBUTE_CATEGORY,
74 ATTRIBUTE1,
75 ATTRIBUTE2,
76 ATTRIBUTE3,
77 ATTRIBUTE4,
78 ATTRIBUTE5,
79 ATTRIBUTE6,
80 ATTRIBUTE7,
81 ATTRIBUTE8,
82 ATTRIBUTE9,
83 ATTRIBUTE10,
84 ATTRIBUTE11,
85 ATTRIBUTE12,
86 ATTRIBUTE13,
87 ATTRIBUTE14,
88 ATTRIBUTE15,
89 CREATED_BY,
90 CREATION_DATE,
91 LAST_UPDATED_BY,
92 LAST_UPDATE_DATE,
93 LAST_UPDATE_LOGIN,
94 AET_ID,
95 POSTED_YN,
96 AE_CREATION_ERROR,
97 GL_REVERSAL_FLAG,
98 REVERSE_EVENT_FLAG,
99 DRAFT_YN,
100 DRAFT_VERSION,
101 ORIGINAL_DIST_ID,
102 ACCOUNTING_EVENT_ID,
103 POST_TO_GL,
104 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
105 ACCOUNTING_TEMPLATE_NAME,
106 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
107 UPGRADE_STATUS_FLAG
108 -- Changes End
109 FROM Okl_Trns_Acc_Dstrs
110 WHERE okl_trns_acc_dstrs.id = p_id;
111 l_tab_pk tab_pk_csr%ROWTYPE;
112 l_tab_rec tab_rec_type;
113 BEGIN
114 x_no_data_found := TRUE;
115 -- Get current database values
116 OPEN tab_pk_csr (p_tab_rec.id);
117 FETCH tab_pk_csr INTO
118 l_tab_rec.ID,
119 l_tab_rec.CURRENCY_CONVERSION_TYPE,
120 l_tab_rec.SET_OF_BOOKS_ID,
121 l_tab_rec.CR_DR_FLAG,
122 l_tab_rec.CODE_COMBINATION_ID,
123 l_tab_rec.ORG_ID,
124 l_tab_rec.CURRENCY_CODE,
125 l_tab_rec.AE_LINE_TYPE,
126 l_tab_rec.TEMPLATE_ID,
127 l_tab_rec.SOURCE_ID,
128 l_tab_rec.SOURCE_TABLE,
129 l_tab_rec.OBJECT_VERSION_NUMBER,
130 l_tab_rec.AMOUNT,
131 l_tab_rec.ACCOUNTED_AMOUNT,
132 l_tab_rec.GL_DATE,
133 l_tab_rec.PERCENTAGE,
134 l_tab_rec.COMMENTS,
135 l_tab_rec.POST_REQUEST_ID,
136 l_tab_rec.CURRENCY_CONVERSION_DATE,
137 l_tab_rec.CURRENCY_CONVERSION_RATE,
138 l_tab_rec.REQUEST_ID,
139 l_tab_rec.PROGRAM_APPLICATION_ID,
140 l_tab_rec.PROGRAM_ID,
141 l_tab_rec.PROGRAM_UPDATE_DATE,
142 l_tab_rec.ATTRIBUTE_CATEGORY,
143 l_tab_rec.ATTRIBUTE1,
144 l_tab_rec.ATTRIBUTE2,
145 l_tab_rec.ATTRIBUTE3,
146 l_tab_rec.ATTRIBUTE4,
147 l_tab_rec.ATTRIBUTE5,
148 l_tab_rec.ATTRIBUTE6,
149 l_tab_rec.ATTRIBUTE7,
150 l_tab_rec.ATTRIBUTE8,
151 l_tab_rec.ATTRIBUTE9,
152 l_tab_rec.ATTRIBUTE10,
153 l_tab_rec.ATTRIBUTE11,
154 l_tab_rec.ATTRIBUTE12,
155 l_tab_rec.ATTRIBUTE13,
156 l_tab_rec.ATTRIBUTE14,
157 l_tab_rec.ATTRIBUTE15,
158 l_tab_rec.CREATED_BY,
159 l_tab_rec.CREATION_DATE,
160 l_tab_rec.LAST_UPDATED_BY,
161 l_tab_rec.LAST_UPDATE_DATE,
162 l_tab_rec.LAST_UPDATE_LOGIN,
163 -- The following two fields have been added by Kanti Jinger on 07/12/2001
164 l_tab_rec.AET_ID,
165 l_tab_rec.POSTED_YN,
166 l_tab_rec.AE_CREATION_ERROR,
167 l_tab_rec.GL_REVERSAL_FLAG,
168 l_tab_rec.REVERSE_EVENT_FLAG,
169 l_tab_rec.DRAFT_YN,
170 l_tab_rec.DRAFT_VERSION,
171 l_tab_rec.ORIGINAL_DIST_ID,
172 l_tab_rec.ACCOUNTING_EVENT_ID,
173 l_tab_rec.POST_TO_GL,
174 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
175 l_tab_rec.ACCOUNTING_TEMPLATE_NAME,
176 -- Changes ends
177 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
178 l_tab_rec.UPGRADE_STATUS_FLAG;
179
180 x_no_data_found := tab_pk_csr%NOTFOUND;
181 CLOSE tab_pk_csr;
182 RETURN(l_tab_rec);
183 END get_rec;
184
185 FUNCTION get_rec (
186 p_tab_rec IN tab_rec_type
187 ) RETURN tab_rec_type IS
188 l_row_notfound BOOLEAN := TRUE;
189 BEGIN
190 RETURN(get_rec(p_tab_rec, l_row_notfound));
191 END get_rec;
192 ---------------------------------------------------------------------------
193 -- FUNCTION get_rec for: OKL_TRNS_ACC_DSTRS_V
194 ---------------------------------------------------------------------------
195 FUNCTION get_rec (
196 p_tabv_rec IN tabv_rec_type,
197 x_no_data_found OUT NOCOPY BOOLEAN
198 ) RETURN tabv_rec_type IS
199 l_tabv_rec tabv_rec_type;
200
201 CURSOR tabv_pk_csr (p_id IN NUMBER) IS
202 SELECT
203 ID,
204 CURRENCY_CONVERSION_TYPE,
205 SET_OF_BOOKS_ID,
206 CR_DR_FLAG,
207 CODE_COMBINATION_ID,
208 ORG_ID,
209 CURRENCY_CODE,
210 AE_LINE_TYPE,
211 TEMPLATE_ID,
212 SOURCE_ID,
213 SOURCE_TABLE,
214 OBJECT_VERSION_NUMBER,
215 AMOUNT,
216 ACCOUNTED_AMOUNT,
217 GL_DATE,
218 PERCENTAGE,
219 COMMENTS,
220 POST_REQUEST_ID,
221 CURRENCY_CONVERSION_DATE,
222 CURRENCY_CONVERSION_RATE,
223 REQUEST_ID,
224 PROGRAM_APPLICATION_ID,
225 PROGRAM_ID,
226 PROGRAM_UPDATE_DATE,
227 ATTRIBUTE_CATEGORY,
228 ATTRIBUTE1,
229 ATTRIBUTE2,
230 ATTRIBUTE3,
231 ATTRIBUTE4,
232 ATTRIBUTE5,
233 ATTRIBUTE6,
234 ATTRIBUTE7,
235 ATTRIBUTE8,
236 ATTRIBUTE9,
237 ATTRIBUTE10,
238 ATTRIBUTE11,
239 ATTRIBUTE12,
240 ATTRIBUTE13,
241 ATTRIBUTE14,
242 ATTRIBUTE15,
243 CREATED_BY,
244 CREATION_DATE,
245 LAST_UPDATED_BY,
246 LAST_UPDATE_DATE,
247 LAST_UPDATE_LOGIN,
248 AET_ID,
249 POSTED_YN,
250 AE_CREATION_ERROR,
251 GL_REVERSAL_FLAG,
252 REVERSE_EVENT_FLAG,
253 DRAFT_YN,
254 DRAFT_VERSION,
255 ORIGINAL_DIST_ID,
256 ACCOUNTING_EVENT_ID,
257 POST_TO_GL,
258 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
259 ACCOUNTING_TEMPLATE_NAME,
260 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
261 UPGRADE_STATUS_FLAG
262 FROM OKL_TRNS_ACC_DSTRS
263 WHERE OKL_TRNS_ACC_DSTRS.id = p_id;
264 l_tabv_pk tabv_pk_csr%ROWTYPE;
265 BEGIN
266 x_no_data_found := TRUE;
267 -- Get current database values
268 OPEN tabv_pk_csr (p_tabv_rec.id);
269 FETCH tabv_pk_csr INTO
270 l_tabv_rec.ID,
271 l_tabv_rec.CURRENCY_CONVERSION_TYPE,
272 l_tabv_rec.SET_OF_BOOKS_ID,
273 l_tabv_rec.CR_DR_FLAG,
274 l_tabv_rec.CODE_COMBINATION_ID,
275 l_tabv_rec.ORG_ID,
276 l_tabv_rec.CURRENCY_CODE,
277 l_tabv_rec.AE_LINE_TYPE,
278 l_tabv_rec.TEMPLATE_ID,
279 l_tabv_rec.SOURCE_ID,
280 l_tabv_rec.SOURCE_TABLE,
281 l_tabv_rec.OBJECT_VERSION_NUMBER,
282 l_tabv_rec.AMOUNT,
283 l_tabv_rec.ACCOUNTED_AMOUNT,
284 l_tabv_rec.GL_DATE,
285 l_tabv_rec.PERCENTAGE,
286 l_tabv_rec.COMMENTS,
287 l_tabv_rec.POST_REQUEST_ID,
288 l_tabv_rec.CURRENCY_CONVERSION_DATE,
289 l_tabv_rec.CURRENCY_CONVERSION_RATE,
290 l_tabv_rec.REQUEST_ID,
291 l_tabv_rec.PROGRAM_APPLICATION_ID,
292 l_tabv_rec.PROGRAM_ID,
293 l_tabv_rec.PROGRAM_UPDATE_DATE,
294 l_tabv_rec.ATTRIBUTE_CATEGORY,
295 l_tabv_rec.ATTRIBUTE1,
296 l_tabv_rec.ATTRIBUTE2,
297 l_tabv_rec.ATTRIBUTE3,
298 l_tabv_rec.ATTRIBUTE4,
299 l_tabv_rec.ATTRIBUTE5,
300 l_tabv_rec.ATTRIBUTE6,
301 l_tabv_rec.ATTRIBUTE7,
302 l_tabv_rec.ATTRIBUTE8,
303 l_tabv_rec.ATTRIBUTE9,
304 l_tabv_rec.ATTRIBUTE10,
305 l_tabv_rec.ATTRIBUTE11,
306 l_tabv_rec.ATTRIBUTE12,
307 l_tabv_rec.ATTRIBUTE13,
308 l_tabv_rec.ATTRIBUTE14,
309 l_tabv_rec.ATTRIBUTE15,
310 l_tabv_rec.CREATED_BY,
311 l_tabv_rec.CREATION_DATE,
312 l_tabv_rec.LAST_UPDATED_BY,
313 l_tabv_rec.LAST_UPDATE_DATE,
314 l_tabv_rec.LAST_UPDATE_LOGIN,
315 l_tabv_rec.AET_ID,
316 l_tabv_rec.POSTED_YN,
317 l_tabv_rec.AE_CREATION_ERROR,
318 l_tabv_rec.GL_REVERSAL_FLAG,
319 l_tabv_rec.REVERSE_EVENT_FLAG,
320 l_tabv_rec.DRAFT_YN,
321 l_tabv_rec.DRAFT_VERSION,
322 l_tabv_rec.ORIGINAL_DIST_ID,
323 l_tabv_rec.ACCOUNTING_EVENT_ID,
324 l_tabv_rec.POST_TO_GL,
325 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
326 l_tabv_rec.ACCOUNTING_TEMPLATE_NAME,
327 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
328 l_tabv_rec.UPGRADE_STATUS_FLAG;
329
330 x_no_data_found := tabv_pk_csr%NOTFOUND;
331 CLOSE tabv_pk_csr;
332 RETURN(l_tabv_rec);
333 END get_rec;
334
335 FUNCTION get_rec (
336 p_tabv_rec IN tabv_rec_type
337 ) RETURN tabv_rec_type IS
338 l_row_notfound BOOLEAN := TRUE;
339 BEGIN
340 RETURN(get_rec(p_tabv_rec, l_row_notfound));
341 END get_rec;
342
343 ----------------------------------------------------------
344 -- FUNCTION null_out_defaults for: OKL_TRNS_ACC_DSTRS_V --
345 ----------------------------------------------------------
346 FUNCTION null_out_defaults (
347 p_tabv_rec IN tabv_rec_type
348 ) RETURN tabv_rec_type IS
349 l_tabv_rec tabv_rec_type := p_tabv_rec;
350 BEGIN
351 IF (l_tabv_rec.id = OKC_API.G_MISS_NUM) THEN
352 l_tabv_rec.id := NULL;
353 END IF;
354 IF (l_tabv_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
355 l_tabv_rec.object_version_number := NULL;
356 END IF;
357 IF (l_tabv_rec.template_id = OKC_API.G_MISS_NUM) THEN
358 l_tabv_rec.template_id := NULL;
359 END IF;
360 IF (l_tabv_rec.cr_dr_flag = OKC_API.G_MISS_CHAR) THEN
361 l_tabv_rec.cr_dr_flag := NULL;
362 END IF;
363 IF (l_tabv_rec.ae_line_type = OKC_API.G_MISS_CHAR) THEN
364 l_tabv_rec.ae_line_type := NULL;
365 END IF;
366 -- Line changed by Kanti on 07.05.2001. MISS_CHAR replaced by MISS_NUM.
367 IF (l_tabv_rec.org_id = OKC_API.G_MISS_NUM) THEN
368 l_tabv_rec.org_id := NULL;
369 END IF;
370 IF (l_tabv_rec.set_of_books_id = OKC_API.G_MISS_NUM) THEN
371 l_tabv_rec.set_of_books_id := NULL;
372 END IF;
373 IF (l_tabv_rec.code_combination_id = OKC_API.G_MISS_NUM) THEN
374 l_tabv_rec.code_combination_id := NULL;
375 END IF;
376 -- Changes End here
377 IF (l_tabv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
378 l_tabv_rec.currency_code := NULL;
379 END IF;
380 IF (l_tabv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR) THEN
381 l_tabv_rec.currency_conversion_type := NULL;
382 END IF;
383 IF (l_tabv_rec.source_id = OKC_API.G_MISS_NUM) THEN
384 l_tabv_rec.source_id := NULL;
385 END IF;
386 IF (l_tabv_rec.source_table = OKC_API.G_MISS_CHAR) THEN
387 l_tabv_rec.source_table := NULL;
388 END IF;
389 IF (l_tabv_rec.amount = OKC_API.G_MISS_NUM) THEN
390 l_tabv_rec.amount := NULL;
391 END IF;
392 IF (l_tabv_rec.accounted_amount = OKC_API.G_MISS_NUM) THEN
393 l_tabv_rec.accounted_amount := NULL;
394 END IF;
395 IF (l_tabv_rec.gl_date = OKC_API.G_MISS_DATE) THEN
396 l_tabv_rec.gl_date := NULL;
397 END IF;
398 IF (l_tabv_rec.percentage = OKC_API.G_MISS_NUM) THEN
399 l_tabv_rec.percentage := NULL;
400 END IF;
401 IF (l_tabv_rec.comments = OKC_API.G_MISS_CHAR) THEN
402 l_tabv_rec.comments := NULL;
403 END IF;
404 IF (l_tabv_rec.post_request_id = OKC_API.G_MISS_NUM) THEN
405 l_tabv_rec.post_request_id := NULL;
406 END IF;
407 IF (l_tabv_rec.currency_conversion_date = OKC_API.G_MISS_DATE) THEN
408 l_tabv_rec.currency_conversion_date := NULL;
409 END IF;
410 IF (l_tabv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM) THEN
411 l_tabv_rec.currency_conversion_rate := NULL;
412 END IF;
413
414 -- The following lines have been changed by Kanti on 07.05.2001. The comparison for all
415 -- the attribute fields was being done by G_MISS_NUM and not by G_MISS_CHAR. This has been
416 -- corrected.
417
418 IF (l_tabv_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
419 l_tabv_rec.attribute_category := NULL;
420 END IF;
421 IF (l_tabv_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
422 l_tabv_rec.attribute1 := NULL;
423 END IF;
424 IF (l_tabv_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
425 l_tabv_rec.attribute2 := NULL;
426 END IF;
427 IF (l_tabv_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
428 l_tabv_rec.attribute3 := NULL;
429 END IF;
430 IF (l_tabv_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
431 l_tabv_rec.attribute4 := NULL;
432 END IF;
433 IF (l_tabv_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
434 l_tabv_rec.attribute5 := NULL;
435 END IF;
436 IF (l_tabv_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
437 l_tabv_rec.attribute6 := NULL;
438 END IF;
439 IF (l_tabv_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
440 l_tabv_rec.attribute7 := NULL;
441 END IF;
442 IF (l_tabv_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
443 l_tabv_rec.attribute8 := NULL;
444 END IF;
445 IF (l_tabv_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
446 l_tabv_rec.attribute9 := NULL;
447 END IF;
448 IF (l_tabv_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
449 l_tabv_rec.attribute10 := NULL;
450 END IF;
451 IF (l_tabv_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
452 l_tabv_rec.attribute11 := NULL;
453 END IF;
454 IF (l_tabv_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
455 l_tabv_rec.attribute12 := NULL;
456 END IF;
457 IF (l_tabv_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
458 l_tabv_rec.attribute13 := NULL;
459 END IF;
460 IF (l_tabv_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
461 l_tabv_rec.attribute14 := NULL;
462 END IF;
463 IF (l_tabv_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
464 l_tabv_rec.attribute15 := NULL;
465 END IF;
466 -- Changes End here
467
468 IF (l_tabv_rec.request_id = OKC_API.G_MISS_NUM) THEN
469 l_tabv_rec.request_id := NULL;
470 END IF;
471 IF (l_tabv_rec.program_application_id = OKC_API.G_MISS_NUM) THEN
472 l_tabv_rec.program_application_id := NULL;
473 END IF;
474 IF (l_tabv_rec.program_id = OKC_API.G_MISS_NUM) THEN
475 l_tabv_rec.program_id := NULL;
476 END IF;
477 IF (l_tabv_rec.program_update_date = OKC_API.G_MISS_DATE) THEN
478 l_tabv_rec.program_update_date := NULL;
479 END IF;
480 IF (l_tabv_rec.created_by = OKC_API.G_MISS_NUM) THEN
481 l_tabv_rec.created_by := NULL;
482 END IF;
483 IF (l_tabv_rec.creation_date = OKC_API.G_MISS_DATE) THEN
484 l_tabv_rec.creation_date := NULL;
485 END IF;
486 IF (l_tabv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
487 l_tabv_rec.last_updated_by := NULL;
488 END IF;
489 IF (l_tabv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
490 l_tabv_rec.last_update_date := NULL;
491 END IF;
492 IF (l_tabv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
493 l_tabv_rec.last_update_login := NULL;
494 END IF;
495 -- The following two fields have been added by Kanti Jinger on 07/12/2001
496 IF (l_tabv_rec.AET_ID = OKC_API.G_MISS_NUM) THEN
497 l_tabv_rec.AET_ID := NULL;
498 END IF;
499 IF (l_tabv_rec.posted_yn = OKC_API.G_MISS_CHAR) THEN
500 l_tabv_rec.posted_yn := NULL;
501 END IF;
502 IF (l_tabv_rec.ae_creation_error = OKC_API.G_MISS_CHAR) THEN
503 l_tabv_rec.ae_creation_error := NULL;
504 END IF;
505 IF (l_tabv_rec.gl_reversal_flag = OKC_API.G_MISS_CHAR) THEN
506 l_tabv_rec.gl_reversal_flag := NULL;
507 END IF;
508 IF (l_tabv_rec.reverse_event_flag = OKC_API.G_MISS_CHAR) THEN
509 l_tabv_rec.reverse_event_flag := NULL;
510 END IF;
511 IF (l_tabv_rec.draft_yn = OKC_API.G_MISS_CHAR) THEN
512 l_tabv_rec.draft_yn := NULL;
513 END IF;
514 IF (l_tabv_rec.draft_version = OKC_API.G_MISS_NUM) THEN
515 l_tabv_rec.draft_yn := NULL;
516 END IF;
517 IF (l_tabv_rec.original_dist_id = OKC_API.G_MISS_NUM) THEN
518 l_tabv_rec.original_dist_id := NULL;
519 END IF;
520 IF (l_tabv_rec.accounting_Event_id = OKC_API.G_MISS_NUM) THEN
521 l_tabv_rec.accounting_Event_id := NULL;
522 END IF;
523 IF (l_tabv_rec.post_to_gl = OKC_API.G_MISS_CHAR) THEN
524 l_tabv_rec.post_to_gl := NULL;
525 END IF;
526 -- Changes ends
527 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
528 IF (l_tabv_rec.accounting_template_name = OKC_API.G_MISS_CHAR) THEN
529 l_tabv_rec.accounting_template_name := NULL;
530 END IF;
531 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
532 IF (l_tabv_rec.UPGRADE_STATUS_FLAG = OKC_API.G_MISS_CHAR) THEN
533 l_tabv_rec.UPGRADE_STATUS_FLAG := NULL;
534 END IF;
535 RETURN(l_tabv_rec);
536 END null_out_defaults;
537
538 /*****************************************************
539 05-10-01 : spalod : start - commented out tapi code
540
541
542 ---------------------------------------------------------------------------
543 -- PROCEDURE Validate_Attributes
544 ---------------------------------------------------------------------------
545 --------------------------------------------------
546 -- Validate_Attributes for:OKL_TRNS_ACC_DSTRS_V --
547 --------------------------------------------------
548 FUNCTION Validate_Attributes (
549 p_tabv_rec IN tabv_rec_type
550 ) RETURN VARCHAR2 IS
551 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
552 BEGIN
553 IF p_tabv_rec.id = OKC_API.G_MISS_NUM OR
554 p_tabv_rec.id IS NULL
555 THEN
556 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
557 l_return_status := OKC_API.G_RET_STS_ERROR;
558 ELSIF p_tabv_rec.object_version_number = OKC_API.G_MISS_NUM OR
559 p_tabv_rec.object_version_number IS NULL
560 THEN
561 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
562 l_return_status := OKC_API.G_RET_STS_ERROR;
563 ELSIF p_tabv_rec.template_id = OKC_API.G_MISS_NUM OR
564 p_tabv_rec.template_id IS NULL
565 THEN
566 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'template_id');
567 l_return_status := OKC_API.G_RET_STS_ERROR;
568 ELSIF p_tabv_rec.cr_dr_flag = OKC_API.G_MISS_CHAR OR
569 p_tabv_rec.cr_dr_flag IS NULL
570 THEN
571 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'cr_dr_flag');
572 l_return_status := OKC_API.G_RET_STS_ERROR;
573 ELSIF p_tabv_rec.ae_line_type = OKC_API.G_MISS_CHAR OR
574 p_tabv_rec.ae_line_type IS NULL
575 THEN
576 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'ae_line_type');
577 l_return_status := OKC_API.G_RET_STS_ERROR;
578 -- Changed by Kanti on 07.05.2001. Changed from G_MISS_CHAR to G_MISS_NUM
579 ELSIF p_tabv_rec.org_id = OKC_API.G_MISS_NUM OR
580 -- changes end here
581 p_tabv_rec.org_id IS NULL
582 THEN
583 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'org_id');
584 l_return_status := OKC_API.G_RET_STS_ERROR;
585 -- Changed by Kanti on 07.05.2001. Changed from G_MISS_CHAR to G_MISS_NUM
586 ELSIF p_tabv_rec.set_of_books_id = OKC_API.G_MISS_NUM OR
587 -- changes end here
588 p_tabv_rec.set_of_books_id IS NULL
589 THEN
590 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'set_of_books_id');
591 l_return_status := OKC_API.G_RET_STS_ERROR;
592 -- Changed by Kanti on 07.05.2001. Changed from G_MISS_CHAR to G_MISS_NUM
593 ELSIF p_tabv_rec.code_combination_id = OKC_API.G_MISS_NUM OR
594 -- changes end here
595 p_tabv_rec.code_combination_id IS NULL
596 THEN
597 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'code_combination_id');
598 l_return_status := OKC_API.G_RET_STS_ERROR;
599 ELSIF p_tabv_rec.currency_code = OKC_API.G_MISS_CHAR OR
600 p_tabv_rec.currency_code IS NULL
601 THEN
602 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'currency_code');
603 l_return_status := OKC_API.G_RET_STS_ERROR;
604 ELSIF p_tabv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR OR
605 p_tabv_rec.currency_conversion_type IS NULL
606 THEN
607 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'currency_conversion_type');
608 l_return_status := OKC_API.G_RET_STS_ERROR;
609 ELSIF p_tabv_rec.source_id = OKC_API.G_MISS_NUM OR
610 p_tabv_rec.source_id IS NULL
611 THEN
612 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'source_id');
613 l_return_status := OKC_API.G_RET_STS_ERROR;
614 ELSIF p_tabv_rec.source_table = OKC_API.G_MISS_CHAR OR
615 p_tabv_rec.source_table IS NULL
616 THEN
617 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'source_table');
618 l_return_status := OKC_API.G_RET_STS_ERROR;
619 END IF;
620 RETURN(l_return_status);
621 END Validate_Attributes;
622
623 05-10-01 : spalod : end - commented out tapi code
624 ****************************************************/
625
626 -- 05-10-01 : spalod : start - procedures for validateing attributes
627
628 ---------------------------------------------------------------------------
629 -- PROCEDURE Validate_Id
630 ---------------------------------------------------------------------------
631 -- Start of comments
632 --
633 -- Procedure Name : Validate_Id
634 -- Description :
635 -- Business Rules :
636 -- Parameters :
637 -- Version : 1.0
638 -- End of comments
639 ---------------------------------------------------------------------------
640 PROCEDURE Validate_Id (x_return_status OUT NOCOPY VARCHAR2
641 ,p_tabv_rec IN tabv_rec_type )
642 IS
643
644 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
645
646 BEGIN
647 -- initialize return status
648 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
649 -- check for data before processing
650 IF (p_tabv_rec.id IS NULL) OR
651 (p_tabv_rec.id = Okc_Api.G_MISS_NUM) THEN
652 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
653 ,p_msg_name => g_required_value
654 ,p_token1 => g_col_name_token
655 ,p_token1_value => 'id');
656 x_return_status := Okc_Api.G_RET_STS_ERROR;
657 RAISE G_EXCEPTION_HALT_VALIDATION;
658 END IF;
659
660 EXCEPTION
661 WHEN G_EXCEPTION_HALT_VALIDATION THEN
662 -- no processing necessary; validation can continue
663 -- with the next column
664 NULL;
665
666 WHEN OTHERS THEN
667 -- store SQL error message on message stack for caller
668 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
669 p_msg_name => g_unexpected_error,
670 p_token1 => g_sqlcode_token,
671 p_token1_value => SQLCODE,
672 p_token2 => g_sqlerrm_token,
673 p_token2_value => SQLERRM);
674
675 -- notify caller of an UNEXPECTED error
676 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
677
678 END Validate_Id;
679
680 ---------------------------------------------------------------------------
681 -- PROCEDURE Validate_Object_Version_Number
682 ---------------------------------------------------------------------------
683 -- Start of comments
684 --
685 -- Procedure Name : Validate_Object_Version_Number
686 -- Description :
687 -- Business Rules :
688 -- Parameters :
689 -- Version : 1.0
690 -- End of comments
691 ---------------------------------------------------------------------------
692 PROCEDURE Validate_Object_Version_Number(x_return_status OUT NOCOPY VARCHAR2
693 ,p_tabv_rec IN tabv_rec_type )
694 IS
695
696 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
697
698 BEGIN
699 -- initialize return status
700 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
701 -- check for data before processing
702 IF (p_tabv_rec.object_version_number IS NULL) OR
703 (p_tabv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
704 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
705 ,p_msg_name => g_required_value
706 ,p_token1 => g_col_name_token
707 ,p_token1_value => 'object_version_number');
708 x_return_status := Okc_Api.G_RET_STS_ERROR;
709 RAISE G_EXCEPTION_HALT_VALIDATION;
710 END IF;
711
712 EXCEPTION
713 WHEN G_EXCEPTION_HALT_VALIDATION THEN
714 -- no processing necessary; validation can continue
715 -- with the next column
716 NULL;
717
718 WHEN OTHERS THEN
719 -- store SQL error message on message stack for caller
720 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
721 p_msg_name => g_unexpected_error,
722 p_token1 => g_sqlcode_token,
723 p_token1_value => SQLCODE,
724 p_token2 => g_sqlerrm_token,
725 p_token2_value => SQLERRM);
726
727 -- notify caller of an UNEXPECTED error
728 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
729
730 END Validate_Object_Version_Number;
731
732 ---------------------------------------------------------------------------
733 -- PROCEDURE validate_curr_conv_type
734 ---------------------------------------------------------------------------
735 PROCEDURE validate_curr_conv_type(
736 x_return_status OUT NOCOPY VARCHAR2,
737 p_tabv_rec IN tabv_rec_type
738 ) IS
739
740 l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
741
742 BEGIN
743
744 x_return_status := OKC_API.G_RET_STS_SUCCESS;
745
746 -- Added by Santonyr on 26-Nov-2002.
747 -- The conversion type 'USER' is also allowed.
748
749 IF (p_tabv_rec.currency_conversion_type IS NOT NULL) AND
750 (p_tabv_rec.currency_conversion_type <> OKC_API.G_MISS_CHAR)AND
751 (UPPER(p_tabv_rec.currency_conversion_type) <> 'USER') THEN
752 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_CURRENCY_CON_TYPE
753 (p_tabv_rec.currency_conversion_type);
754 IF (l_dummy = OKC_API.G_FALSE) THEN
755 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
756 p_msg_name => g_invalid_value,
757 p_token1 => g_col_name_token,
758 p_token1_value => 'Currency Conversion Type');
759 x_return_status := Okc_Api.G_RET_STS_ERROR;
760 RAISE G_EXCEPTION_HALT_VALIDATION;
761 END IF;
762
763 END IF;
764
765
766 EXCEPTION
767 WHEN G_EXCEPTION_HALT_VALIDATION THEN
768 NULL;
769 WHEN OTHERS THEN
770 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
771 p_msg_name => g_required_value,
772 p_token1 => g_sqlcode_token,
773 p_token1_value => SQLCODE,
774 p_token2 => g_sqlerrm_token,
775 p_token2_value => SQLERRM);
776 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
777 END validate_curr_conv_type;
778
779 /* Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 --start
780 ---------------------------------------------------------------------------
781 -- PROCEDURE validate_cr_dr_flag
782 ---------------------------------------------------------------------------
783 PROCEDURE validate_cr_dr_flag(
784 x_return_status OUT NOCOPY VARCHAR2,
785 p_tabv_rec IN tabv_rec_type
786 ) IS
787
788 l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
789 l_app_id NUMBER := 101;
790 l_view_app_id NUMBER := 101;
791
792 BEGIN
793
794 x_return_status := OKC_API.G_RET_STS_SUCCESS;
795
796 IF (p_tabv_rec.cr_dr_flag IS NULL) OR (p_tabv_rec.cr_dr_flag = OKC_API.G_MISS_CHAR) THEN
797 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
798 p_msg_name => g_required_value,
799 p_token1 => g_col_name_token,
800 p_token1_value => 'cr_dr_flag');
801
802 x_return_status := OKC_API.G_RET_STS_ERROR;
803 RAISE G_EXCEPTION_HALT_VALIDATION;
804
805 END IF;
806
807 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
808 (p_lookup_type => 'CR_DR',
809 p_lookup_code => p_tabv_rec.cr_dr_flag,
810 p_app_id => l_app_id,
811 p_view_app_id => l_view_app_id);
812
813 IF (l_dummy = okc_api.G_FALSE) THEN
814 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
815 p_msg_name => g_invalid_value,
816 p_token1 => g_col_name_token,
817 p_token1_value => 'cr_dr_flag');
818 x_return_status := Okc_Api.G_RET_STS_ERROR;
819 RAISE G_EXCEPTION_HALT_VALIDATION;
820 END IF;
821
822 EXCEPTION
823 WHEN G_EXCEPTION_HALT_VALIDATION THEN
824 NULL;
825 WHEN OTHERS THEN
826 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
827 p_msg_name => g_required_value,
828 p_token1 => g_sqlcode_token,
829 p_token1_value => SQLCODE,
830 p_token2 => g_sqlerrm_token,
831 p_token2_value => SQLERRM);
832 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
833 END validate_cr_dr_flag;
834
835 Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 -- end */
836 ---------------------------------------------------------------------------
837 -- PROCEDURE Validate_Amount
838 ---------------------------------------------------------------------------
839 PROCEDURE Validate_Amount(
840 x_return_status OUT NOCOPY VARCHAR2,
841 p_tabv_rec IN tabv_rec_type
842 ) IS
843
844 BEGIN
845
846 x_return_status := OKC_API.G_RET_STS_SUCCESS;
847
848 IF (p_tabv_rec.amount IS NULL) OR (p_tabv_rec.amount = OKC_API.G_MISS_NUM) THEN
849 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
850 p_msg_name => g_required_value,
851 p_token1 => g_col_name_token,
852 p_token1_value => 'Amount');
853
854 x_return_status := OKC_API.G_RET_STS_ERROR;
855 RAISE G_EXCEPTION_HALT_VALIDATION;
856 END IF;
857
858 EXCEPTION
859 WHEN G_EXCEPTION_HALT_VALIDATION THEN
860 NULL;
861 WHEN OTHERS THEN
862 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
863 p_msg_name => g_required_value,
864 p_token1 => g_sqlcode_token,
865 p_token1_value => SQLCODE,
866 p_token2 => g_sqlerrm_token,
867 p_token2_value => SQLERRM);
868 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
869 END Validate_Amount;
870
871 /* Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 --start
872 ---------------------------------------------------------------------------
873 -- PROCEDURE validate_ccid
874 ---------------------------------------------------------------------------
875 PROCEDURE validate_ccid(
876 x_return_status OUT NOCOPY VARCHAR2,
877 p_tabv_rec IN tabv_rec_type
878 ) IS
879
880 l_dummy VARCHAR2(1) := okl_api.g_false;
881
882 BEGIN
883
884 x_return_status := OKC_API.G_RET_STS_SUCCESS;
885
886 IF (p_tabv_rec.code_combination_id IS NULL) OR (p_tabv_rec.code_combination_id = OKC_API.G_MISS_NUM) THEN
887 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
888 p_msg_name => g_required_value,
889 p_token1 => g_col_name_token,
890 p_token1_value => 'ACCOUNT');
891
892 x_return_status := OKC_API.G_RET_STS_ERROR;
893 RAISE G_EXCEPTION_HALT_VALIDATION;
894
895 END IF;
896 Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 -- end */
897 /* Commented by Kanti. We want a not null validation but not the CCID validation from
898 GL Code combination table for the time being.
899
900 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_GL_CCID(p_tabv_rec.code_combination_id);
901
902 IF (l_dummy = okc_api.g_false) THEN
903 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
904 p_msg_name => g_invalid_value,
905 p_token1 => g_col_name_token,
906 p_token1_value => 'CODE_COMBINATION_ID');
907 x_return_status := Okc_Api.G_RET_STS_ERROR;
908 RAISE G_EXCEPTION_HALT_VALIDATION;
909 END IF;
910
911 */
912 /* Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 -- start
913 EXCEPTION
914 WHEN G_EXCEPTION_HALT_VALIDATION THEN
915 NULL;
916 WHEN OTHERS THEN
917 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
918 p_msg_name => g_required_value,
919 p_token1 => g_sqlcode_token,
920 p_token1_value => SQLCODE,
921 p_token2 => g_sqlerrm_token,
922 p_token2_value => SQLERRM);
923 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
924 END validate_ccid;
925 Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 -- end */
926
927
928 ---------------------------------------------------------------------------
929 -- PROCEDURE validate_curr_code
930 ---------------------------------------------------------------------------
931 PROCEDURE validate_curr_code(
932 x_return_status OUT NOCOPY VARCHAR2,
933 p_tabv_rec IN tabv_rec_type
934 ) IS
935 l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
936
937 BEGIN
938 x_return_status := OKC_API.G_RET_STS_SUCCESS;
939
940 IF (p_tabv_rec.currency_code IS NULL) OR (p_tabv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
941 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
942 p_msg_name => g_required_value,
943 p_token1 => g_col_name_token,
944 p_token1_value => 'CURRENCY_CODE');
945
946 x_return_status := OKC_API.G_RET_STS_ERROR;
947 RAISE G_EXCEPTION_HALT_VALIDATION;
948 END IF;
949
950 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_CURRENCY_CODE (p_tabv_rec.currency_code);
951
952 IF (l_dummy = okl_api.g_false) THEN
953 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
954 p_msg_name => g_invalid_value,
955 p_token1 => g_col_name_token,
956 p_token1_value => 'CURRENCY_CODE');
957
958 x_return_status := Okc_Api.G_RET_STS_ERROR;
959 RAISE G_EXCEPTION_HALT_VALIDATION;
960 END IF;
961
962 EXCEPTION
963 WHEN G_EXCEPTION_HALT_VALIDATION THEN
964 NULL;
965 WHEN OTHERS THEN
966 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
967 p_msg_name => g_required_value,
968 p_token1 => g_sqlcode_token,
969 p_token1_value => SQLCODE,
970 p_token2 => g_sqlerrm_token,
971 p_token2_value => SQLERRM);
972 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
973 END validate_curr_code;
974
975 /* Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 --start
976 ---------------------------------------------------------------------------
977 -- PROCEDURE validate_ae_line_type
978 ---------------------------------------------------------------------------
979 PROCEDURE validate_ae_line_type(
980 x_return_status OUT NOCOPY VARCHAR2,
981 p_tabv_rec IN tabv_rec_type
982 ) IS
983 l_dummy VARCHAR2(1) ;
984
985 BEGIN
986
987 x_return_status := OKC_API.G_RET_STS_SUCCESS;
988
989 IF (p_tabv_rec.ae_line_type IS NULL) OR (p_tabv_rec.ae_line_type = OKC_API.G_MISS_CHAR) THEN
990 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
991 p_msg_name => g_required_value,
992 p_token1 => g_col_name_token,
993 p_token1_value => 'AE_LINE_TYPE');
994
995 x_return_status := OKC_API.G_RET_STS_ERROR;
996 RAISE G_EXCEPTION_HALT_VALIDATION;
997 END IF;
998
999 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1000 (p_lookup_type => 'OKL_ACCOUNTING_LINE_TYPE',
1001 p_lookup_code => p_tabv_rec.ae_line_type);
1002
1003 IF l_dummy = okl_api.g_false THEN
1004 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1005 p_msg_name => g_invalid_value,
1006 p_token1 => g_col_name_token,
1007 p_token1_value => 'ae_line_type');
1008 x_return_status := Okc_Api.G_RET_STS_ERROR;
1009 RAISE G_EXCEPTION_HALT_VALIDATION;
1010 END IF;
1011
1012 EXCEPTION
1013 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1014 NULL;
1015 WHEN OTHERS THEN
1016 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1017 p_msg_name => g_required_value,
1018 p_token1 => g_sqlcode_token,
1019 p_token1_value => SQLCODE,
1020 p_token2 => g_sqlerrm_token,
1021 p_token2_value => SQLERRM);
1022 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1023 END validate_ae_line_type;
1024 Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 -- end */
1025
1026 ---------------------------------------------------------------------------
1027 -- PROCEDURE validate_template_id
1028 ---------------------------------------------------------------------------
1029 PROCEDURE validate_template_id(
1030 x_return_status OUT NOCOPY VARCHAR2,
1031 p_tabv_rec IN tabv_rec_type
1032 ) IS
1033 l_dummy VARCHAR2(1) ;
1034
1035 CURSOR tmpl_csr(v_template_id IN NUMBER)
1036 IS
1037 SELECT '1'
1038 FROM OKL_AE_TEMPLATES
1039 WHERE id = v_template_id;
1040
1041 l_fetch_flag VARCHAR2(1);
1042
1043 BEGIN
1044
1045 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1046
1047 IF (p_tabv_rec.template_id IS NOT NULL) AND (p_tabv_rec.template_id <> OKC_API.G_MISS_NUM) THEN
1048 OPEN tmpl_csr(p_tabv_rec.template_id);
1049 FETCH tmpl_csr INTO l_dummy;
1050
1051 IF (tmpl_csr%NOTFOUND) THEN
1052
1053 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1054 p_msg_name => g_invalid_value,
1055 p_token1 => g_col_name_token,
1056 p_token1_value => 'TEMPLATE_ID');
1057 x_return_status := Okc_Api.G_RET_STS_ERROR;
1058 CLOSE tmpl_csr;
1059 RAISE G_EXCEPTION_HALT_VALIDATION;
1060 END IF;
1061
1062 CLOSE tmpl_csr;
1063
1064 END IF;
1065
1066
1067 EXCEPTION
1068 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1069 NULL;
1070 WHEN OTHERS THEN
1071 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1072 p_msg_name => g_required_value,
1073 p_token1 => g_sqlcode_token,
1074 p_token1_value => SQLCODE,
1075 p_token2 => g_sqlerrm_token,
1076 p_token2_value => SQLERRM);
1077 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1078 END validate_template_id;
1079
1080
1081 ---------------------------------------------------------------------------
1082 -- PROCEDURE validate_source_id_tbl
1083 ---------------------------------------------------------------------------
1084 PROCEDURE validate_source_id_tbl(
1085 x_return_status OUT NOCOPY VARCHAR2,
1086 p_tabv_rec IN tabv_rec_type
1087 ) IS
1088
1089 l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
1090
1091 BEGIN
1092
1093 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1094
1095 IF (p_tabv_rec.source_id IS NULL) OR (p_tabv_rec.source_id = OKC_API.G_MISS_NUM) THEN
1096 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1097 p_msg_name => g_required_value,
1098 p_token1 => g_col_name_token,
1099 p_token1_value => 'SOURCE_ID');
1100
1101 x_return_status := OKC_API.G_RET_STS_ERROR;
1102 RAISE G_EXCEPTION_HALT_VALIDATION;
1103
1104 END IF;
1105
1106 IF (p_tabv_rec.source_table IS NULL) OR (p_tabv_rec.source_table = OKC_API.G_MISS_CHAR) THEN
1107 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1108 p_msg_name => g_required_value,
1109 p_token1 => g_col_name_token,
1110 p_token1_value => 'SOURCE_TABLE');
1111
1112 x_return_status := OKC_API.G_RET_STS_ERROR;
1113 RAISE G_EXCEPTION_HALT_VALIDATION;
1114 END IF;
1115
1116 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_SOURCE_ID_TABLE
1117 (p_source_id => p_tabv_rec.source_id,
1118 p_source_table => p_tabv_rec.source_table);
1119
1120 IF (l_dummy = OKC_API.G_FALSE) THEN
1121 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1122 p_msg_name => g_invalid_value,
1123 p_token1 => g_col_name_token,
1124 p_token1_value => 'source_id_src_table');
1125 x_return_status := Okc_Api.G_RET_STS_ERROR;
1126 RAISE G_EXCEPTION_HALT_VALIDATION;
1127 END IF;
1128
1129 EXCEPTION
1130 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1131 NULL;
1132 WHEN OTHERS THEN
1133 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1134 p_msg_name => g_required_value,
1135 p_token1 => g_sqlcode_token,
1136 p_token1_value => SQLCODE,
1137 p_token2 => g_sqlerrm_token,
1138 p_token2_value => SQLERRM);
1139 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1140 END validate_source_id_tbl;
1141
1142
1143 ---------------------------------------------------------------------------
1144 -- PROCEDURE Validate_AET_ID
1145 ---------------------------------------------------------------------------
1146 -- Start of comments
1147 --
1148 -- Procedure Name : Validate_AET_ID
1149 -- Description :
1150 -- Business Rules :
1151 -- Parameters :
1152 -- Version : 1.0
1153 -- End of comments
1154 ---------------------------------------------------------------------------
1155 PROCEDURE Validate_AET_ID (x_return_status OUT NOCOPY VARCHAR2
1156 ,p_tabv_rec IN tabv_rec_type )
1157 IS
1158
1159 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
1160
1161 CURSOR aet_csr(v_id NUMBER) IS
1162 SELECT '1'
1163 FROM OKL_ACCOUNTING_EVENTS
1164 WHERE accounting_event_id = v_id;
1165
1166
1167 BEGIN
1168 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1169
1170 IF (p_tabv_rec.AET_ID IS NOT NULL) AND (p_tabv_rec.AET_ID <> OKC_API.G_MISS_NUM) THEN
1171 OPEN aet_csr(p_tabv_rec.aet_id);
1172 FETCH aet_csr INTO l_dummy;
1173 IF (aet_csr%NOTFOUND) THEN
1174 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1175 ,p_msg_name => g_invalid_value
1176 ,p_token1 => g_col_name_token
1177 ,p_token1_value => 'AET_ID');
1178 x_return_status := Okc_Api.G_RET_STS_ERROR;
1179 CLOSE aet_csr;
1180 RAISE G_EXCEPTION_HALT_VALIDATION;
1181 END IF;
1182 CLOSE aet_csr;
1183 END IF;
1184
1185 EXCEPTION
1186 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1187 -- no processing necessary; validation can continue
1188 -- with the next column
1189 NULL;
1190
1191 WHEN OTHERS THEN
1192 -- store SQL error message on message stack for caller
1193 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1194 p_msg_name => g_unexpected_error,
1195 p_token1 => g_sqlcode_token,
1196 p_token1_value => SQLCODE,
1197 p_token2 => g_sqlerrm_token,
1198 p_token2_value => SQLERRM);
1199
1200 -- notify caller of an UNEXPECTED error
1201 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1202
1203 END Validate_AET_Id;
1204
1205
1206 ---------------------------------------------------------------------------
1207 -- PROCEDURE Validate_POSTED_YN
1208 ---------------------------------------------------------------------------
1209 -- Start of comments
1210 --
1211 -- Procedure Name : Validate_POSTED_YN
1212 -- Description :
1213 -- Business Rules :
1214 -- Parameters :
1215 -- Version : 1.0
1216 -- End of comments
1217 ---------------------------------------------------------------------------
1218 PROCEDURE Validate_posted_YN (x_return_status OUT NOCOPY VARCHAR2
1219 ,p_tabv_rec IN tabv_rec_type )
1220 IS
1221
1222 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
1223
1224
1225 BEGIN
1226
1227 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1228
1229 IF (p_tabv_rec.posted_yn IS NOT NULL) AND (p_tabv_rec.posted_yn <> OKC_API.G_MISS_CHAR) THEN
1230 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1231 (p_lookup_type => 'OKL_ACC_DIST_POSTED',
1232 p_lookup_code => p_tabv_rec.posted_yn);
1233
1234 IF (l_dummy = OKC_API.G_FALSE) THEN
1235 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1236 ,p_msg_name => g_invalid_value
1237 ,p_token1 => g_col_name_token
1238 ,p_token1_value => 'POSTED_YN');
1239 x_return_status := Okc_Api.G_RET_STS_ERROR;
1240 RAISE G_EXCEPTION_HALT_VALIDATION;
1241 END IF;
1242
1243 END IF;
1244
1245 EXCEPTION
1246 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1247 -- no processing necessary; validation can continue
1248 -- with the next column
1249 NULL;
1250
1251 WHEN OTHERS THEN
1252 -- store SQL error message on message stack for caller
1253 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1254 p_msg_name => g_unexpected_error,
1255 p_token1 => g_sqlcode_token,
1256 p_token1_value => SQLCODE,
1257 p_token2 => g_sqlerrm_token,
1258 p_token2_value => SQLERRM);
1259
1260 -- notify caller of an UNEXPECTED error
1261 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1262
1263 END Validate_POSTED_YN;
1264
1265
1266 ---------------------------------------------------------------------------
1267 -- PROCEDURE Validate_gl_reversal_flag
1268 ---------------------------------------------------------------------------
1269 -- Start of comments
1270 --
1271 -- Procedure Name : Validate_GL_REVERSAL_FLAG
1272 -- Description :
1273 -- Business Rules :
1274 -- Parameters :
1275 -- Version : 1.0
1276 -- End of comments
1277 ---------------------------------------------------------------------------
1278 PROCEDURE Validate_GL_REVERSAL_FLAG (x_return_status OUT NOCOPY VARCHAR2
1279 ,p_tabv_rec IN tabv_rec_type )
1280 IS
1281
1282 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
1283 l_app_id NUMBER := 0;
1284 l_view_app_id NUMBER := 0;
1285
1286
1287 BEGIN
1288
1289 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1290
1291 IF (p_tabv_rec.GL_REVERSAL_FLAG IS NOT NULL) AND (p_tabv_rec.GL_REVERSAL_FLAG <> OKC_API.G_MISS_CHAR) THEN
1292 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1293 (p_lookup_type => 'YES_NO',
1294 p_lookup_code => p_tabv_rec.gl_reversal_flag,
1295 p_app_id => l_app_id,
1296 p_view_app_id => l_view_app_id);
1297
1298 IF (l_dummy = OKC_API.G_FALSE) THEN
1299 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1300 ,p_msg_name => g_invalid_value
1301 ,p_token1 => g_col_name_token
1302 ,p_token1_value => 'GL_REVERSAL_FLAG');
1303 x_return_status := Okc_Api.G_RET_STS_ERROR;
1304 RAISE G_EXCEPTION_HALT_VALIDATION;
1305 END IF;
1306
1307 END IF;
1308
1309 EXCEPTION
1310 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1311 -- no processing necessary; validation can continue
1312 -- with the next column
1313 NULL;
1314
1315 WHEN OTHERS THEN
1316 -- store SQL error message on message stack for caller
1317 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1318 p_msg_name => g_unexpected_error,
1319 p_token1 => g_sqlcode_token,
1320 p_token1_value => SQLCODE,
1321 p_token2 => g_sqlerrm_token,
1322 p_token2_value => SQLERRM);
1323
1324 -- notify caller of an UNEXPECTED error
1325 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1326
1327 END Validate_GL_REVERSAL_FLAG;
1328
1329
1330 ---------------------------------------------------------------------------
1331 -- PROCEDURE Validate_post_to_gl
1332 ---------------------------------------------------------------------------
1333 -- Start of comments
1334 --
1335 -- Procedure Name : Validate_post_to_gl
1336 -- Description :
1337 -- Business Rules :
1338 -- Parameters :
1339 -- Version : 1.0
1340 -- End of comments
1341 ---------------------------------------------------------------------------
1342 PROCEDURE Validate_POST_TO_GL (x_return_status OUT NOCOPY VARCHAR2
1343 ,p_tabv_rec IN tabv_rec_type )
1344 IS
1345
1346 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
1347 l_app_id NUMBER := 0;
1348 l_view_app_id NUMBER := 0;
1349
1350
1351 BEGIN
1352
1353 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1354
1355 IF (p_tabv_rec.POST_TO_GL IS NOT NULL) AND (p_tabv_rec.POST_TO_GL <> OKC_API.G_MISS_CHAR) THEN
1356 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1357 (p_lookup_type => 'YES_NO',
1358 p_lookup_code => p_tabv_rec.POST_TO_GL,
1359 p_app_id => l_app_id,
1360 p_view_app_id => l_view_app_id);
1361
1362 IF (l_dummy = OKC_API.G_FALSE) THEN
1363 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1364 ,p_msg_name => g_invalid_value
1365 ,p_token1 => g_col_name_token
1366 ,p_token1_value => 'POST_TO_GL');
1367 x_return_status := Okc_Api.G_RET_STS_ERROR;
1368 RAISE G_EXCEPTION_HALT_VALIDATION;
1369 END IF;
1370
1371 END IF;
1372
1373 EXCEPTION
1374 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1375 -- no processing necessary; validation can continue
1376 -- with the next column
1377 NULL;
1378
1379 WHEN OTHERS THEN
1380 -- store SQL error message on message stack for caller
1381 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1382 p_msg_name => g_unexpected_error,
1383 p_token1 => g_sqlcode_token,
1384 p_token1_value => SQLCODE,
1385 p_token2 => g_sqlerrm_token,
1386 p_token2_value => SQLERRM);
1387
1388 -- notify caller of an UNEXPECTED error
1389 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1390
1391 END Validate_POST_TO_GL;
1392
1393 ---------------------------------------------------------------------------
1394 -- PROCEDURE VALIDATE_GL_DATE
1395 ---------------------------------------------------------------------------
1396 -- Start of comments
1397 --
1398 -- Procedure Name : Validate_GL_DATE
1399 -- Description :
1400 -- Business Rules :
1401 -- Parameters :
1402 -- Version : 1.0
1403 -- End of comments
1404 ---------------------------------------------------------------------------
1405 PROCEDURE VALIDATE_GL_DATE(x_return_status OUT NOCOPY VARCHAR2
1406 ,p_tabv_rec IN tabv_rec_type )
1407 IS
1408
1409 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1410
1411 BEGIN
1412 -- initialize return status
1413 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1414 -- check for data before processing
1415 IF (p_tabv_rec.gl_date IS NULL) OR
1416 (p_tabv_rec.gl_date = Okc_Api.G_MISS_DATE) THEN
1417 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1418 ,p_msg_name => g_required_value
1419 ,p_token1 => g_col_name_token
1420 ,p_token1_value => 'GL_DATE');
1421 x_return_status := Okc_Api.G_RET_STS_ERROR;
1422 RAISE G_EXCEPTION_HALT_VALIDATION;
1423 END IF;
1424
1425 EXCEPTION
1426 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1427 -- no processing necessary; validation can continue
1428 -- with the next column
1429 NULL;
1430
1431 WHEN OTHERS THEN
1432 -- store SQL error message on message stack for caller
1433 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1434 p_msg_name => g_unexpected_error,
1435 p_token1 => g_sqlcode_token,
1436 p_token1_value => SQLCODE,
1437 p_token2 => g_sqlerrm_token,
1438 p_token2_value => SQLERRM);
1439
1440 -- notify caller of an UNEXPECTED error
1441 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1442
1443 END VALIDATE_GL_DATE;
1444
1445 -- Added by nikshah for SLA project (Bug 5707866) 17-Apr-2007
1446 ---------------------------------------------------------------------------
1447 -- PROCEDURE Validate_Upgrade_Status_Flag
1448 ---------------------------------------------------------------------------
1449 -- Start of comments
1450 --
1451 -- Procedure Name : Validate_Upgrade_Status_Flag
1452 -- Description :
1453 -- Business Rules :
1454 -- Parameters :
1455 -- Version : 1.0
1456 -- End of comments
1457 ---------------------------------------------------------------------------
1458 PROCEDURE Validate_Upgrade_Status_Flag (x_return_status OUT NOCOPY VARCHAR2, p_tabv_rec IN tabv_rec_type)
1459 IS
1460
1461 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1462 l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
1463
1464 BEGIN
1465 -- initialize return status
1466 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1467
1468 -- check for data before processing
1469 IF (p_tabv_rec.UPGRADE_STATUS_FLAG IS NOT NULL) AND
1470 (p_tabv_rec.UPGRADE_STATUS_FLAG <> Okc_Api.G_MISS_CHAR) THEN
1471 -- check in fnd_lookups for validity
1472 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE
1473 (p_lookup_type => 'OKL_YES_NO',
1474 p_lookup_code => p_tabv_rec.UPGRADE_STATUS_FLAG);
1475
1476 IF (l_dummy = OKL_API.G_FALSE) THEN
1477 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1478 ,p_msg_name => g_invalid_value
1479 ,p_token1 => g_col_name_token
1480 ,p_token1_value => 'UPGRADE_STATUS_FLAG');
1481 x_return_status := Okc_Api.G_RET_STS_ERROR;
1482 RAISE G_EXCEPTION_HALT_VALIDATION;
1483 END IF;
1484
1485 END IF;
1486
1487
1488 EXCEPTION
1489 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1490 -- no processing neccessary; validation can continue
1491 -- with the next column
1492 NULL;
1493
1494 WHEN OTHERS THEN
1495 -- store SQL error message on message stack for caller
1496 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1497 p_msg_name => g_unexpected_error,
1498 p_token1 => g_sqlcode_token,
1499 p_token1_value => SQLCODE,
1500 p_token2 => g_sqlerrm_token,
1501 p_token2_value => SQLERRM);
1502
1503 -- notify caller of an UNEXPECTED error
1504 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1505
1506 END Validate_Upgrade_Status_Flag;
1507
1508
1509 ---------------------------------------------------------------------------
1510 -- Validate_Attributes
1511 ---------------------------------------------------------------------------
1512 -------------------------------------------------
1513 -- Validate_Attributes for:OKL_ACC_GEN_RULES_V --
1514 -------------------------------------------------
1515 FUNCTION Validate_Attributes (
1516 p_tabv_rec IN tabv_rec_type
1517 ) RETURN VARCHAR2 IS
1518 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1519 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1520
1521 BEGIN
1522
1523 Validate_Id (x_return_status, p_tabv_rec);
1524
1525 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1526 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1527 l_return_status := x_return_Status;
1528 RAISE G_EXCEPTION_HALT_VALIDATION;
1529 ELSE
1530 l_return_status := x_return_status;
1531 END IF;
1532 END IF;
1533
1534 Validate_Object_Version_Number(x_return_status, p_tabv_rec);
1535
1536 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1537 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1538 l_return_status := x_return_Status;
1539 RAISE G_EXCEPTION_HALT_VALIDATION;
1540 ELSE
1541 l_return_status := x_return_status;
1542 END IF;
1543 END IF;
1544
1545
1546
1547 validate_curr_conv_type(x_return_status, p_tabv_rec);
1548
1549 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1550 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1551 l_return_status := x_return_Status;
1552 RAISE G_EXCEPTION_HALT_VALIDATION;
1553 ELSE
1554 l_return_status := x_return_status;
1555 END IF;
1556 END IF;
1557
1558
1559 /* Commented as part of SLA Uptake Bug#5707866 --start
1560 validate_cr_dr_flag(x_return_status, p_tabv_rec);
1561
1562 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1563 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1564 l_return_status := x_return_Status;
1565 RAISE G_EXCEPTION_HALT_VALIDATION;
1566 ELSE
1567 l_return_status := x_return_status;
1568 END IF;
1569 END IF;
1570 Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 -- end */
1571
1572
1573
1574 -- The following validation removed by Kanti. This was done because we are already
1575 -- doing validation of ccid during accounting process. Further, distibution will be
1576 -- called by transaction and we do not want transaction to stop just because one of
1577 -- the ccid has become invalid in the template setup. This error will anyway be caught
1578 -- in the accounting process.
1579
1580 -- Comment removed by Kanti 05/22/2002.
1581
1582 /* Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 --start
1583 validate_ccid(x_return_status, p_tabv_rec);
1584
1585 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1586 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1587 l_return_status := x_return_Status;
1588 RAISE G_EXCEPTION_HALT_VALIDATION;
1589 ELSE
1590 l_return_status := x_return_status;
1591 END IF;
1592 END IF;
1593 Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 -- end */
1594
1595 validate_curr_code(x_return_status, p_tabv_rec);
1596
1597 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1598 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1599 l_return_status := x_return_Status;
1600 RAISE G_EXCEPTION_HALT_VALIDATION;
1601 ELSE
1602 l_return_status := x_return_status;
1603 END IF;
1604 END IF;
1605
1606 /* Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 --start
1607 validate_ae_line_type(x_return_status, p_tabv_rec);
1608
1609 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1610 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1611 l_return_status := x_return_Status;
1612 RAISE G_EXCEPTION_HALT_VALIDATION;
1613 ELSE
1614 l_return_status := x_return_status;
1615 END IF;
1616 END IF;
1617 Commented as part of SLA Uptake Bug#5707866 by zrehman on 7-Feb-2006 -- end */
1618 -- Added by Saravanan
1619
1620 Validate_Amount(x_return_status, p_tabv_rec);
1621
1622 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1623 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1624 l_return_status := x_return_Status;
1625 RAISE G_EXCEPTION_HALT_VALIDATION;
1626 ELSE
1627 l_return_status := x_return_status;
1628 END IF;
1629 END IF;
1630
1631 validate_template_id(x_return_status, p_tabv_rec);
1632
1633 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1634 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1635 l_return_status := x_return_Status;
1636 RAISE G_EXCEPTION_HALT_VALIDATION;
1637 ELSE
1638 l_return_status := x_return_status;
1639 END IF;
1640 END IF;
1641
1642
1643 validate_source_id_Tbl(x_return_status, p_tabv_rec);
1644
1645 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1646 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1647 l_return_status := x_return_Status;
1648 RAISE G_EXCEPTION_HALT_VALIDATION;
1649 ELSE
1650 l_return_status := x_return_status;
1651 END IF;
1652 END IF;
1653
1654 validate_aet_id(x_return_status, p_tabv_rec);
1655
1656 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1657 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1658 l_return_status := x_return_Status;
1659 RAISE G_EXCEPTION_HALT_VALIDATION;
1660 ELSE
1661 l_return_status := x_return_status;
1662 END IF;
1663 END IF;
1664
1665 validate_posted_yn(x_return_status, p_tabv_rec);
1666
1667 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1668 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1669 l_return_status := x_return_Status;
1670 RAISE G_EXCEPTION_HALT_VALIDATION;
1671 ELSE
1672 l_return_status := x_return_status;
1673 END IF;
1674 END IF;
1675
1676 validate_gl_reversal_flag(x_return_status, p_tabv_rec);
1677
1678 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1679 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1680 l_return_status := x_return_Status;
1681 RAISE G_EXCEPTION_HALT_VALIDATION;
1682 ELSE
1683 l_return_status := x_return_status;
1684 END IF;
1685 END IF;
1686
1687
1688 validate_post_to_gl(x_return_status, p_tabv_rec);
1689
1690 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1691 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1692 l_return_status := x_return_Status;
1693 RAISE G_EXCEPTION_HALT_VALIDATION;
1694 ELSE
1695 l_return_status := x_return_status;
1696 END IF;
1697 END IF;
1698
1699 VALIDATE_GL_DATE(x_return_status, p_tabv_rec);
1700
1701 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1702 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1703 l_return_status := x_return_Status;
1704 RAISE G_EXCEPTION_HALT_VALIDATION;
1705 ELSE
1706 l_return_status := x_return_status;
1707 END IF;
1708 END IF;
1709
1710 -- Added by nikshah for SLA project (Bug 5707866) 17-Apr-2007
1711 Validate_Upgrade_Status_Flag(x_return_status, p_tabv_rec);
1712
1713 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1714 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1715 l_return_status := x_return_Status;
1716 RAISE G_EXCEPTION_HALT_VALIDATION;
1717 ELSE
1718 l_return_status := x_return_status;
1719 END IF;
1720 END IF;
1721
1722
1723 RETURN(l_return_status);
1724
1725 EXCEPTION
1726 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1727 -- just come out with return status
1728 NULL;
1729 RETURN (l_return_status);
1730
1731 WHEN OTHERS THEN
1732 -- store SQL error message on message stack for caller
1733 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1734 p_msg_name => g_unexpected_error,
1735 p_token1 => g_sqlcode_token,
1736 p_token1_value => SQLCODE,
1737 p_token2 => g_sqlerrm_token,
1738 p_token2_value => SQLERRM);
1739 -- notify caller of an UNEXPECTED error
1740 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1741 RETURN(l_return_status);
1742
1743 END Validate_Attributes;
1744
1745 -- 05-10-01 : spalod : end - procedures for validateing attributes
1746
1747 ---------------------------------------------------------------------------
1748 -- PROCEDURE Validate_Record
1749 ---------------------------------------------------------------------------
1750 ----------------------------------------------
1751 -- Validate_Record for:OKL_TRNS_ACC_DSTRS_V --
1752 ----------------------------------------------
1753 FUNCTION Validate_Record (
1754 p_tabv_rec IN tabv_rec_type
1755 ) RETURN VARCHAR2 IS
1756 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1757 BEGIN
1758 RETURN (l_return_status);
1759 END Validate_Record;
1760
1761 ---------------------------------------------------------------------------
1762 -- PROCEDURE Migrate
1763 ---------------------------------------------------------------------------
1764 PROCEDURE migrate (
1765 p_from IN tabv_rec_type,
1766 p_to OUT NOCOPY tab_rec_type
1767 ) IS
1768 BEGIN
1769 p_to.id := p_from.id;
1770 p_to.currency_conversion_type := p_from.currency_conversion_type;
1771 p_to.set_of_books_id := p_from.set_of_books_id;
1772 p_to.cr_dr_flag := p_from.cr_dr_flag;
1773 p_to.code_combination_id := p_from.code_combination_id;
1774 p_to.org_id := p_from.org_id;
1775 p_to.currency_code := p_from.currency_code;
1776 p_to.ae_line_type := p_from.ae_line_type;
1777 p_to.template_id := p_from.template_id;
1778 p_to.source_id := p_from.source_id;
1779 p_to.source_table := p_from.source_table;
1780 p_to.object_version_number := p_from.object_version_number;
1781 p_to.amount := p_from.amount;
1782 p_to.accounted_amount := p_from.accounted_amount;
1783 p_to.gl_date := p_from.gl_date;
1784 p_to.percentage := p_from.percentage;
1785 p_to.comments := p_from.comments;
1786 p_to.post_request_id := p_from.post_request_id;
1787 p_to.currency_conversion_date := p_from.currency_conversion_date;
1788 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
1789 p_to.request_id := p_from.request_id;
1790 p_to.program_application_id := p_from.program_application_id;
1791 p_to.program_id := p_from.program_id;
1792 p_to.program_update_date := p_from.program_update_date;
1793 p_to.attribute_category := p_from.attribute_category;
1794 p_to.attribute1 := p_from.attribute1;
1795 p_to.attribute2 := p_from.attribute2;
1796 p_to.attribute3 := p_from.attribute3;
1797 p_to.attribute4 := p_from.attribute4;
1798 p_to.attribute5 := p_from.attribute5;
1799 p_to.attribute6 := p_from.attribute6;
1800 p_to.attribute7 := p_from.attribute7;
1801 p_to.attribute8 := p_from.attribute8;
1802 p_to.attribute9 := p_from.attribute9;
1803 p_to.attribute10 := p_from.attribute10;
1804 p_to.attribute11 := p_from.attribute11;
1805 p_to.attribute12 := p_from.attribute12;
1806 p_to.attribute13 := p_from.attribute13;
1807 p_to.attribute14 := p_from.attribute14;
1808 p_to.attribute15 := p_from.attribute15;
1809 p_to.created_by := p_from.created_by;
1810 p_to.creation_date := p_from.creation_date;
1811 p_to.last_updated_by := p_from.last_updated_by;
1812 p_to.last_update_date := p_from.last_update_date;
1813 p_to.last_update_login := p_from.last_update_login;
1814 -- The following two fields have been added by Kanti Jinger on 07/12/2001
1815 p_to.aet_id := p_from.aet_id;
1816 p_to.posted_yn := p_from.posted_yn;
1817 p_to.ae_creation_error := p_from.ae_creation_error;
1818 p_to.gl_reversal_flag := p_from.gl_reversal_flag;
1819 p_to.reverse_event_flag := p_from.reverse_event_flag;
1820 p_to.draft_yn := p_from.draft_yn;
1821 p_to.draft_version := p_from.draft_version;
1822 p_to.original_dist_id := p_from.original_dist_id;
1823 p_to.accounting_Event_id := p_from.accounting_Event_id;
1824 p_to.post_to_gl := p_from.post_to_gl;
1825 -- Changes ends
1826 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
1827 p_to.accounting_template_name := p_from.accounting_template_name;
1828 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
1829 p_to.UPGRADE_STATUS_FLAG := p_from.UPGRADE_STATUS_FLAG;
1830 END migrate;
1831 PROCEDURE migrate (
1832 p_from IN tab_rec_type,
1833 p_to OUT NOCOPY tabv_rec_type
1834 ) IS
1835 BEGIN
1836 p_to.id := p_from.id;
1837 p_to.currency_conversion_type := p_from.currency_conversion_type;
1838 p_to.set_of_books_id := p_from.set_of_books_id;
1839 p_to.cr_dr_flag := p_from.cr_dr_flag;
1840 p_to.code_combination_id := p_from.code_combination_id;
1841 p_to.org_id := p_from.org_id;
1842 p_to.currency_code := p_from.currency_code;
1843 p_to.ae_line_type := p_from.ae_line_type;
1844 p_to.template_id := p_from.template_id;
1845 p_to.source_id := p_from.source_id;
1846 p_to.source_table := p_from.source_table;
1847 p_to.object_version_number := p_from.object_version_number;
1848 p_to.amount := p_from.amount;
1849 p_to.accounted_amount := p_from.accounted_amount;
1850 p_to.gl_date := p_from.gl_date;
1851 p_to.percentage := p_from.percentage;
1852 p_to.comments := p_from.comments;
1853 p_to.post_request_id := p_from.post_request_id;
1854 p_to.currency_conversion_date := p_from.currency_conversion_date;
1855 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
1856 p_to.request_id := p_from.request_id;
1857 p_to.program_application_id := p_from.program_application_id;
1858 p_to.program_id := p_from.program_id;
1859 p_to.program_update_date := p_from.program_update_date;
1860 p_to.attribute_category := p_from.attribute_category;
1861 p_to.attribute1 := p_from.attribute1;
1862 p_to.attribute2 := p_from.attribute2;
1863 p_to.attribute3 := p_from.attribute3;
1864 p_to.attribute4 := p_from.attribute4;
1865 p_to.attribute5 := p_from.attribute5;
1866 p_to.attribute6 := p_from.attribute6;
1867 p_to.attribute7 := p_from.attribute7;
1868 p_to.attribute8 := p_from.attribute8;
1869 p_to.attribute9 := p_from.attribute9;
1870 p_to.attribute10 := p_from.attribute10;
1871 p_to.attribute11 := p_from.attribute11;
1872 p_to.attribute12 := p_from.attribute12;
1873 p_to.attribute13 := p_from.attribute13;
1874 p_to.attribute14 := p_from.attribute14;
1875 p_to.attribute15 := p_from.attribute15;
1876 p_to.created_by := p_from.created_by;
1877 p_to.creation_date := p_from.creation_date;
1878 p_to.last_updated_by := p_from.last_updated_by;
1879 p_to.last_update_date := p_from.last_update_date;
1880 p_to.last_update_login := p_from.last_update_login;
1881 -- The following two fields have been added by Kanti Jinger on 07/12/2001
1882 p_to.aet_id := p_from.aet_id;
1883 p_to.posted_yn := p_from.posted_yn;
1884 p_to.ae_Creation_error := p_from.ae_Creation_error;
1885 p_to.gl_reversal_flag := p_from.gl_reversal_flag;
1886 p_to.reverse_event_flag := p_from.reverse_event_flag;
1887 p_to.draft_yn := p_from.draft_yn;
1888 p_to.draft_version := p_from.draft_version;
1889 p_to.original_dist_id := p_from.original_dist_id;
1890 p_to.accounting_event_id := p_from.accounting_event_id;
1891 p_to.post_to_gl := p_from.post_to_gl;
1892
1893 -- Changes ends
1894 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
1895 p_to.accounting_template_name := p_from.accounting_template_name;
1896 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
1897 p_to.UPGRADE_STATUS_FLAG := p_from.UPGRADE_STATUS_FLAG;
1898 END migrate;
1899
1900 ---------------------------------------------------------------------------
1901 -- PROCEDURE validate_row
1902 ---------------------------------------------------------------------------
1903 -------------------------------------------
1904 -- validate_row for:OKL_TRNS_ACC_DSTRS_V --
1905 -------------------------------------------
1906 PROCEDURE validate_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_tabv_rec IN tabv_rec_type) IS
1913
1914 l_api_version CONSTANT NUMBER := 1;
1915 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
1916 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1917 l_tabv_rec tabv_rec_type := p_tabv_rec;
1918 l_tab_rec tab_rec_type;
1919 BEGIN
1920 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1921 G_PKG_NAME,
1922 p_init_msg_list,
1923 l_api_version,
1924 p_api_version,
1925 '_PVT',
1926 x_return_status);
1927 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1928 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1929 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1930 RAISE OKC_API.G_EXCEPTION_ERROR;
1931 END IF;
1932 --- Validate all non-missing attributes (Item Level Validation)
1933 l_return_status := Validate_Attributes(l_tabv_rec);
1934 --- If any errors happen abort API
1935 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1936 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1937 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1938 RAISE OKC_API.G_EXCEPTION_ERROR;
1939 END IF;
1940 l_return_status := Validate_Record(l_tabv_rec);
1941 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1942 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1943 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1944 RAISE OKC_API.G_EXCEPTION_ERROR;
1945 END IF;
1946 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1947 EXCEPTION
1948 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1949 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1950 (
1951 l_api_name,
1952 G_PKG_NAME,
1953 'OKC_API.G_RET_STS_ERROR',
1954 x_msg_count,
1955 x_msg_data,
1956 '_PVT'
1957 );
1958 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1959 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1960 (
1961 l_api_name,
1962 G_PKG_NAME,
1963 'OKC_API.G_RET_STS_UNEXP_ERROR',
1964 x_msg_count,
1965 x_msg_data,
1966 '_PVT'
1967 );
1968 WHEN OTHERS THEN
1969 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1970 (
1971 l_api_name,
1972 G_PKG_NAME,
1973 'OTHERS',
1974 x_msg_count,
1975 x_msg_data,
1976 '_PVT'
1977 );
1978 END validate_row;
1979 ------------------------------------------
1980 -- PL/SQL TBL validate_row for:TABV_TBL --
1981 ------------------------------------------
1982 PROCEDURE validate_row(
1983 p_api_version IN NUMBER,
1984 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1985 x_return_status OUT NOCOPY VARCHAR2,
1986 x_msg_count OUT NOCOPY NUMBER,
1987 x_msg_data OUT NOCOPY VARCHAR2,
1988 p_tabv_tbl IN tabv_tbl_type) IS
1989
1990 l_api_version CONSTANT NUMBER := 1;
1991 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1992 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1993 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1994 i NUMBER := 0;
1995 BEGIN
1996 OKC_API.init_msg_list(p_init_msg_list);
1997 -- Make sure PL/SQL table has records in it before passing
1998 IF (p_tabv_tbl.COUNT > 0) THEN
1999 i := p_tabv_tbl.FIRST;
2000 LOOP
2001 validate_row (
2002 p_api_version => p_api_version,
2003 p_init_msg_list => OKC_API.G_FALSE,
2004 x_return_status => x_return_status,
2005 x_msg_count => x_msg_count,
2006 x_msg_data => x_msg_data,
2007 p_tabv_rec => p_tabv_tbl(i));
2008
2009 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2010 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2011 l_overall_status := x_return_status;
2012 END IF;
2013 END IF;
2014 EXIT WHEN (i = p_tabv_tbl.LAST);
2015 i := p_tabv_tbl.NEXT(i);
2016 END LOOP;
2017 END IF;
2018 x_return_status := l_overall_status;
2019
2020 EXCEPTION
2021 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2022 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2023 (
2024 l_api_name,
2025 G_PKG_NAME,
2026 'OKC_API.G_RET_STS_ERROR',
2027 x_msg_count,
2028 x_msg_data,
2029 '_PVT'
2030 );
2031 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2032 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2033 (
2034 l_api_name,
2035 G_PKG_NAME,
2036 'OKC_API.G_RET_STS_UNEXP_ERROR',
2037 x_msg_count,
2038 x_msg_data,
2039 '_PVT'
2040 );
2041 WHEN OTHERS THEN
2042 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2043 (
2044 l_api_name,
2045 G_PKG_NAME,
2046 'OTHERS',
2047 x_msg_count,
2048 x_msg_data,
2049 '_PVT'
2050 );
2051 END validate_row;
2052
2053 ---------------------------------------------------------------------------
2054 -- PROCEDURE insert_row
2055 ---------------------------------------------------------------------------
2056 ---------------------------------------
2057 -- insert_row for:OKL_TRNS_ACC_DSTRS --
2058 ---------------------------------------
2059 PROCEDURE insert_row(
2060 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2061 x_return_status OUT NOCOPY VARCHAR2,
2062 x_msg_count OUT NOCOPY NUMBER,
2063 x_msg_data OUT NOCOPY VARCHAR2,
2064 p_tab_rec IN tab_rec_type,
2065 x_tab_rec OUT NOCOPY tab_rec_type) IS
2066
2067 l_api_version CONSTANT NUMBER := 1;
2068 l_api_name CONSTANT VARCHAR2(30) := 'DSTRS_insert_row';
2069 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2070 l_tab_rec tab_rec_type := p_tab_rec;
2071 l_def_tab_rec tab_rec_type;
2072 -------------------------------------------
2073 -- Set_Attributes for:OKL_TRNS_ACC_DSTRS --
2074 -------------------------------------------
2075 FUNCTION Set_Attributes (
2076 p_tab_rec IN tab_rec_type,
2077 x_tab_rec OUT NOCOPY tab_rec_type
2078 ) RETURN VARCHAR2 IS
2079 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2080 BEGIN
2081 x_tab_rec := p_tab_rec;
2082 RETURN(l_return_status);
2083 END Set_Attributes;
2084 BEGIN
2085 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2086 p_init_msg_list,
2087 '_PVT',
2088 x_return_status);
2089 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2090 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2091 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2092 RAISE OKC_API.G_EXCEPTION_ERROR;
2093 END IF;
2094 --- Setting item attributes
2095 l_return_status := Set_Attributes(
2096 p_tab_rec, -- IN
2097 l_tab_rec); -- OUT
2098 --- If any errors happen abort API
2099 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2100 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2101 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2102 RAISE OKC_API.G_EXCEPTION_ERROR;
2103 END IF;
2104 INSERT INTO OKL_TRNS_ACC_DSTRS(
2105 id,
2106 currency_conversion_type,
2107 set_of_books_id,
2108 cr_dr_flag,
2109 code_combination_id,
2110 org_id,
2111 currency_code,
2112 ae_line_type,
2113 template_id,
2114 source_id,
2115 source_table,
2116 object_version_number,
2117 amount,
2118 accounted_amount,
2119 gl_date,
2120 percentage,
2121 comments,
2122 post_request_id,
2123 currency_conversion_date,
2124 currency_conversion_rate,
2125 request_id,
2126 program_application_id,
2127 program_id,
2128 program_update_date,
2129 attribute_category,
2130 attribute1,
2131 attribute2,
2132 attribute3,
2133 attribute4,
2134 attribute5,
2135 attribute6,
2136 attribute7,
2137 attribute8,
2138 attribute9,
2139 attribute10,
2140 attribute11,
2141 attribute12,
2142 attribute13,
2143 attribute14,
2144 attribute15,
2145 created_by,
2146 creation_date,
2147 last_updated_by,
2148 last_update_date,
2149 last_update_login,
2150 -- The following two fields have been added by Kanti Jinger on 07/12/2001
2151 aet_id,
2152 posted_yn,
2153 ae_creation_error,
2154 gl_reversal_flag,
2155 reverse_Event_flag,
2156 draft_yn,
2157 draft_version,
2158 original_dist_id,
2159 accounting_event_id,
2160 post_to_gl,
2161 -- Changes ends
2162 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
2163 accounting_template_name,
2164 -- Added by nikshah for SLA project (Bug 5707866) 13-Apr-2007
2165 UPGRADE_STATUS_FLAG)
2166
2167 VALUES (
2168 l_tab_rec.id,
2169 l_tab_rec.currency_conversion_type,
2170 l_tab_rec.set_of_books_id,
2171 l_tab_rec.cr_dr_flag,
2172 l_tab_rec.code_combination_id,
2173 l_tab_rec.org_id,
2174 l_tab_rec.currency_code,
2175 l_tab_rec.ae_line_type,
2176 l_tab_rec.template_id,
2177 l_tab_rec.source_id,
2178 l_tab_rec.source_table,
2179 l_tab_rec.object_version_number,
2180 l_tab_rec.amount,
2181 l_tab_rec.accounted_amount,
2182 l_tab_rec.gl_date,
2183 l_tab_rec.percentage,
2184 l_tab_rec.comments,
2185 l_tab_rec.post_request_id,
2186 l_tab_rec.currency_conversion_date,
2187 l_tab_rec.currency_conversion_rate,
2188 l_tab_rec.request_id,
2189 l_tab_rec.program_application_id,
2190 l_tab_rec.program_id,
2191 l_tab_rec.program_update_date,
2192 l_tab_rec.attribute_category,
2193 l_tab_rec.attribute1,
2194 l_tab_rec.attribute2,
2195 l_tab_rec.attribute3,
2196 l_tab_rec.attribute4,
2197 l_tab_rec.attribute5,
2198 l_tab_rec.attribute6,
2199 l_tab_rec.attribute7,
2200 l_tab_rec.attribute8,
2201 l_tab_rec.attribute9,
2202 l_tab_rec.attribute10,
2203 l_tab_rec.attribute11,
2204 l_tab_rec.attribute12,
2205 l_tab_rec.attribute13,
2206 l_tab_rec.attribute14,
2207 l_tab_rec.attribute15,
2208 l_tab_rec.created_by,
2209 l_tab_rec.creation_date,
2210 l_tab_rec.last_updated_by,
2211 l_tab_rec.last_update_date,
2212 l_tab_rec.last_update_login,
2213 -- The following two fields have been added by Kanti Jinger on 07/12/2001
2214 l_tab_rec.aet_id,
2215 l_tab_rec.posted_yn,
2216 l_tab_rec.ae_creation_error,
2217 l_tab_rec.gl_reversal_flag,
2218 l_tab_rec.reverse_Event_flag,
2219 l_tab_rec.draft_yn,
2220 l_tab_rec.draft_version,
2221 l_tab_rec.original_dist_id,
2222 l_tab_rec.accounting_event_id,
2223 l_tab_rec.post_to_gl,
2224 -- Changes ends
2225 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
2226 l_tab_rec.accounting_template_name,
2227 -- Added by nikshah for SLA project (Bug 5707866) 13-Apr-2007
2228 l_tab_rec.UPGRADE_STATUS_FLAG);
2229
2230 -- Set OUT values
2231 x_tab_rec := l_tab_rec;
2232 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2233 EXCEPTION
2234 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2235 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2236 (
2237 l_api_name,
2238 G_PKG_NAME,
2239 'OKC_API.G_RET_STS_ERROR',
2240 x_msg_count,
2241 x_msg_data,
2242 '_PVT'
2243 );
2244 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2245 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2246 (
2247 l_api_name,
2248 G_PKG_NAME,
2249 'OKC_API.G_RET_STS_UNEXP_ERROR',
2250 x_msg_count,
2251 x_msg_data,
2252 '_PVT'
2253 );
2254 WHEN OTHERS THEN
2255 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2256 (
2257 l_api_name,
2258 G_PKG_NAME,
2259 'OTHERS',
2260 x_msg_count,
2261 x_msg_data,
2262 '_PVT'
2263 );
2264 END insert_row;
2265 -----------------------------------------
2266 -- insert_row for:OKL_TRNS_ACC_DSTRS_V --
2267 -----------------------------------------
2268 PROCEDURE insert_row(
2269 p_api_version IN NUMBER,
2270 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2271 x_return_status OUT NOCOPY VARCHAR2,
2272 x_msg_count OUT NOCOPY NUMBER,
2273 x_msg_data OUT NOCOPY VARCHAR2,
2274 p_tabv_rec IN tabv_rec_type,
2275 x_tabv_rec OUT NOCOPY tabv_rec_type) IS
2276
2277 l_api_version CONSTANT NUMBER := 1;
2278 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
2279 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2280 l_tabv_rec tabv_rec_type;
2281 l_def_tabv_rec tabv_rec_type;
2282 l_tab_rec tab_rec_type;
2283 lx_tab_rec tab_rec_type;
2284 -------------------------------
2285 -- FUNCTION fill_who_columns --
2286 -------------------------------
2287 FUNCTION fill_who_columns (
2288 p_tabv_rec IN tabv_rec_type
2289 ) RETURN tabv_rec_type IS
2290 l_tabv_rec tabv_rec_type := p_tabv_rec;
2291 BEGIN
2292 l_tabv_rec.CREATION_DATE := SYSDATE;
2293 l_tabv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
2294 l_tabv_rec.LAST_UPDATE_DATE := SYSDATE;
2295 l_tabv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2296 l_tabv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2297 RETURN(l_tabv_rec);
2298 END fill_who_columns;
2299 ---------------------------------------------
2300 -- Set_Attributes for:OKL_TRNS_ACC_DSTRS_V --
2301 ---------------------------------------------
2302 FUNCTION Set_Attributes (
2303 p_tabv_rec IN tabv_rec_type,
2304 x_tabv_rec OUT NOCOPY tabv_rec_type
2305 ) RETURN VARCHAR2 IS
2306 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2307
2308 -- 05-10-01 - spalod - start - get and set org id and set of book id, concurrent program fields
2309
2310 l_request_id NUMBER := Fnd_Global.CONC_REQUEST_ID;
2311 l_prog_app_id NUMBER := Fnd_Global.PROG_APPL_ID;
2312 l_program_id NUMBER := Fnd_Global.CONC_PROGRAM_ID;
2313
2314 -- 05-10-01 - spalod - end - get and set org id and set of book id, concurrent program fields
2315
2316 BEGIN
2317
2318 x_tabv_rec := p_tabv_rec;
2319 x_tabv_rec.OBJECT_VERSION_NUMBER := 1;
2320
2321 -- 05-10-01 - spalod - start - get and set org id and set of book id, concurrent program fields
2322
2323 SELECT DECODE(l_request_id, -1, NULL, l_request_id),
2324 DECODE(l_prog_app_id, -1, NULL, l_prog_app_id),
2325 DECODE(Fnd_Global.CONC_PROGRAM_ID, -1, NULL, Fnd_Global.CONC_PROGRAM_ID),
2326 DECODE(l_request_id, -1, NULL, SYSDATE)
2327 INTO x_tabv_rec.REQUEST_ID
2328 ,x_tabv_rec.PROGRAM_APPLICATION_ID
2329 ,x_tabv_rec.PROGRAM_ID
2330 ,x_tabv_rec.PROGRAM_UPDATE_DATE
2331 FROM DUAL;
2332
2333 x_tabv_rec.ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID();
2334
2335 -- MG uptake, if sob is not sent in take primary ledger.
2336 if x_tabv_rec.set_of_books_id is null then
2337 x_tabv_rec.set_of_books_id := okl_accounting_util.get_set_of_books_id;
2338 end if;
2339
2340 -- 05-10-01 - spalod - end - get and set org id and set of book id, concurrent program fields
2341
2342 -- The following fields are not being used anywhere. Therefore, we are setting them
2343 -- to some junk values. Ideally, these fields should be dropped.
2344
2345 x_tabv_rec.draft_yn := 'N';
2346 x_tabv_rec.draft_version := 0;
2347
2348 ------Ends
2349
2350 -- Added by nikshah for SLA project (Bug 5707866) 17-Apr-2007
2351 x_tabv_rec.UPGRADE_STATUS_FLAG := 'N';
2352 RETURN(l_return_status);
2353 END Set_Attributes;
2354 BEGIN
2355 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2356 G_PKG_NAME,
2357 p_init_msg_list,
2358 l_api_version,
2359 p_api_version,
2360 '_PVT',
2361 x_return_status);
2362 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2363 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2364 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2365 RAISE OKC_API.G_EXCEPTION_ERROR;
2366 END IF;
2367 l_tabv_rec := null_out_defaults(p_tabv_rec);
2368 -- Set primary key value
2369 l_tabv_rec.ID := get_seq_id;
2370 --- Setting item attributes
2371 l_return_status := Set_Attributes(
2372 l_tabv_rec, -- IN
2373 l_def_tabv_rec); -- OUT
2374 --- If any errors happen abort API
2375 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2376 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2377 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2378 RAISE OKC_API.G_EXCEPTION_ERROR;
2379 END IF;
2380 l_def_tabv_rec := fill_who_columns(l_def_tabv_rec);
2381 --- Validate all non-missing attributes (Item Level Validation)
2382 l_return_status := Validate_Attributes(l_def_tabv_rec);
2383 --- If any errors happen abort API
2384 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2385 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2386 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2387 RAISE OKC_API.G_EXCEPTION_ERROR;
2388 END IF;
2389 l_return_status := Validate_Record(l_def_tabv_rec);
2390 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2391 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2392 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2393 RAISE OKC_API.G_EXCEPTION_ERROR;
2394 END IF;
2395 --------------------------------------
2396 -- Move VIEW record to "Child" records
2397 --------------------------------------
2398 migrate(l_def_tabv_rec, l_tab_rec);
2399 --------------------------------------------
2400 -- Call the INSERT_ROW for each child record
2401 --------------------------------------------
2402 insert_row(
2403 p_init_msg_list,
2404 x_return_status,
2405 x_msg_count,
2406 x_msg_data,
2407 l_tab_rec,
2408 lx_tab_rec
2409 );
2410 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2411 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2412 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2413 RAISE OKC_API.G_EXCEPTION_ERROR;
2414 END IF;
2415 migrate(lx_tab_rec, l_def_tabv_rec);
2416 -- Set OUT values
2417 x_tabv_rec := l_def_tabv_rec;
2418 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2419 EXCEPTION
2420 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2421 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2422 (
2423 l_api_name,
2424 G_PKG_NAME,
2425 'OKC_API.G_RET_STS_ERROR',
2426 x_msg_count,
2427 x_msg_data,
2428 '_PVT'
2429 );
2430 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2431 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2432 (
2433 l_api_name,
2434 G_PKG_NAME,
2435 'OKC_API.G_RET_STS_UNEXP_ERROR',
2436 x_msg_count,
2437 x_msg_data,
2438 '_PVT'
2439 );
2440 WHEN OTHERS THEN
2441 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2442 (
2443 l_api_name,
2444 G_PKG_NAME,
2445 'OTHERS',
2446 x_msg_count,
2447 x_msg_data,
2448 '_PVT'
2449 );
2450 END insert_row;
2451 ----------------------------------------
2452 -- PL/SQL TBL insert_row for:TABV_TBL --
2453 ----------------------------------------
2454 PROCEDURE insert_row(
2455 p_api_version IN NUMBER,
2456 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2457 x_return_status OUT NOCOPY VARCHAR2,
2458 x_msg_count OUT NOCOPY NUMBER,
2459 x_msg_data OUT NOCOPY VARCHAR2,
2460 p_tabv_tbl IN tabv_tbl_type,
2461 x_tabv_tbl OUT NOCOPY tabv_tbl_type) IS
2462
2463 l_api_version CONSTANT NUMBER := 1;
2464 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
2465 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2466 l_overall_Status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2467 i NUMBER := 0;
2468 BEGIN
2469 OKC_API.init_msg_list(p_init_msg_list);
2470 -- Make sure PL/SQL table has records in it before passing
2471 IF (p_tabv_tbl.COUNT > 0) THEN
2472 i := p_tabv_tbl.FIRST;
2473 LOOP
2474 insert_row (
2475 p_api_version => p_api_version,
2476 p_init_msg_list => OKC_API.G_FALSE,
2477 x_return_status => x_return_status,
2478 x_msg_count => x_msg_count,
2479 x_msg_data => x_msg_data,
2480 p_tabv_rec => p_tabv_tbl(i),
2481 x_tabv_rec => x_tabv_tbl(i));
2482
2483 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2484 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2485 l_overall_status := x_return_status;
2486 END IF;
2487 END IF;
2488
2489 EXIT WHEN (i = p_tabv_tbl.LAST);
2490 i := p_tabv_tbl.NEXT(i);
2491 END LOOP;
2492 END IF;
2493 x_return_status := l_overall_Status;
2494 EXCEPTION
2495 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2496 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2497 (
2498 l_api_name,
2499 G_PKG_NAME,
2500 'OKC_API.G_RET_STS_ERROR',
2501 x_msg_count,
2502 x_msg_data,
2503 '_PVT'
2504 );
2505 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2506 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2507 (
2508 l_api_name,
2509 G_PKG_NAME,
2510 'OKC_API.G_RET_STS_UNEXP_ERROR',
2511 x_msg_count,
2512 x_msg_data,
2513 '_PVT'
2514 );
2515 WHEN OTHERS THEN
2516 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2517 (
2518 l_api_name,
2519 G_PKG_NAME,
2520 'OTHERS',
2521 x_msg_count,
2522 x_msg_data,
2523 '_PVT'
2524 );
2525 END insert_row;
2526
2527 ---------------------------------------------------------------------------
2528 -- PROCEDURE lock_row
2529 ---------------------------------------------------------------------------
2530 -------------------------------------
2531 -- lock_row for:OKL_TRNS_ACC_DSTRS --
2532 -------------------------------------
2533 PROCEDURE lock_row(
2534 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2535 x_return_status OUT NOCOPY VARCHAR2,
2536 x_msg_count OUT NOCOPY NUMBER,
2537 x_msg_data OUT NOCOPY VARCHAR2,
2538 p_tab_rec IN tab_rec_type) IS
2539
2540 E_Resource_Busy EXCEPTION;
2541 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2542 CURSOR lock_csr (p_tab_rec IN tab_rec_type) IS
2543 SELECT OBJECT_VERSION_NUMBER
2544 FROM OKL_TRNS_ACC_DSTRS
2545 WHERE ID = p_tab_rec.id
2546 AND OBJECT_VERSION_NUMBER = p_tab_rec.object_version_number
2547 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
2548
2549 CURSOR lchk_csr (p_tab_rec IN tab_rec_type) IS
2550 SELECT OBJECT_VERSION_NUMBER
2551 FROM OKL_TRNS_ACC_DSTRS
2552 WHERE ID = p_tab_rec.id;
2553 l_api_version CONSTANT NUMBER := 1;
2554 l_api_name CONSTANT VARCHAR2(30) := 'DSTRS_lock_row';
2555 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2556 l_object_version_number OKL_TRNS_ACC_DSTRS.OBJECT_VERSION_NUMBER%TYPE;
2557 lc_object_version_number OKL_TRNS_ACC_DSTRS.OBJECT_VERSION_NUMBER%TYPE;
2558 l_row_notfound BOOLEAN := FALSE;
2559 lc_row_notfound BOOLEAN := FALSE;
2560 BEGIN
2561 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2562 p_init_msg_list,
2563 '_PVT',
2564 x_return_status);
2565 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2566 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2567 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2568 RAISE OKC_API.G_EXCEPTION_ERROR;
2569 END IF;
2570 BEGIN
2571 OPEN lock_csr(p_tab_rec);
2572 FETCH lock_csr INTO l_object_version_number;
2573 l_row_notfound := lock_csr%NOTFOUND;
2574 CLOSE lock_csr;
2575 EXCEPTION
2576 WHEN E_Resource_Busy THEN
2577 IF (lock_csr%ISOPEN) THEN
2578 CLOSE lock_csr;
2579 END IF;
2580 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2581 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2582 END;
2583
2584 IF ( l_row_notfound ) THEN
2585 OPEN lchk_csr(p_tab_rec);
2586 FETCH lchk_csr INTO lc_object_version_number;
2587 lc_row_notfound := lchk_csr%NOTFOUND;
2588 CLOSE lchk_csr;
2589 END IF;
2590 IF (lc_row_notfound) THEN
2591 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2592 RAISE OKC_API.G_EXCEPTION_ERROR;
2593 ELSIF lc_object_version_number > p_tab_rec.object_version_number THEN
2594 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2595 RAISE OKC_API.G_EXCEPTION_ERROR;
2596 ELSIF lc_object_version_number <> p_tab_rec.object_version_number THEN
2597 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2598 RAISE OKC_API.G_EXCEPTION_ERROR;
2599 ELSIF lc_object_version_number = -1 THEN
2600 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
2601 RAISE OKC_API.G_EXCEPTION_ERROR;
2602 END IF;
2603 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2604 EXCEPTION
2605 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2606 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2607 (
2608 l_api_name,
2609 G_PKG_NAME,
2610 'OKC_API.G_RET_STS_ERROR',
2611 x_msg_count,
2612 x_msg_data,
2613 '_PVT'
2614 );
2615 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2616 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2617 (
2618 l_api_name,
2619 G_PKG_NAME,
2620 'OKC_API.G_RET_STS_UNEXP_ERROR',
2621 x_msg_count,
2622 x_msg_data,
2623 '_PVT'
2624 );
2625 WHEN OTHERS THEN
2626 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2627 (
2628 l_api_name,
2629 G_PKG_NAME,
2630 'OTHERS',
2631 x_msg_count,
2632 x_msg_data,
2633 '_PVT'
2634 );
2635 END lock_row;
2636 ---------------------------------------
2637 -- lock_row for:OKL_TRNS_ACC_DSTRS_V --
2638 ---------------------------------------
2639 PROCEDURE lock_row(
2640 p_api_version IN NUMBER,
2641 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2642 x_return_status OUT NOCOPY VARCHAR2,
2643 x_msg_count OUT NOCOPY NUMBER,
2644 x_msg_data OUT NOCOPY VARCHAR2,
2645 p_tabv_rec IN tabv_rec_type) IS
2646
2647 l_api_version CONSTANT NUMBER := 1;
2648 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
2649 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2650 l_tab_rec tab_rec_type;
2651 BEGIN
2652 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2653 G_PKG_NAME,
2654 p_init_msg_list,
2655 l_api_version,
2656 p_api_version,
2657 '_PVT',
2658 x_return_status);
2659 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2660 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2661 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2662 RAISE OKC_API.G_EXCEPTION_ERROR;
2663 END IF;
2664 --------------------------------------
2665 -- Move VIEW record to "Child" records
2666 --------------------------------------
2667 migrate(p_tabv_rec, l_tab_rec);
2668 --------------------------------------------
2669 -- Call the LOCK_ROW for each child record
2670 --------------------------------------------
2671 lock_row(
2672 p_init_msg_list,
2673 x_return_status,
2674 x_msg_count,
2675 x_msg_data,
2676 l_tab_rec
2677 );
2678 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2679 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2680 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2681 RAISE OKC_API.G_EXCEPTION_ERROR;
2682 END IF;
2683 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2684 EXCEPTION
2685 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2686 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2687 (
2688 l_api_name,
2689 G_PKG_NAME,
2690 'OKC_API.G_RET_STS_ERROR',
2691 x_msg_count,
2692 x_msg_data,
2693 '_PVT'
2694 );
2695 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2696 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2697 (
2698 l_api_name,
2699 G_PKG_NAME,
2700 'OKC_API.G_RET_STS_UNEXP_ERROR',
2701 x_msg_count,
2702 x_msg_data,
2703 '_PVT'
2704 );
2705 WHEN OTHERS THEN
2706 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2707 (
2708 l_api_name,
2709 G_PKG_NAME,
2710 'OTHERS',
2711 x_msg_count,
2712 x_msg_data,
2713 '_PVT'
2714 );
2715 END lock_row;
2716 --------------------------------------
2717 -- PL/SQL TBL lock_row for:TABV_TBL --
2718 --------------------------------------
2719 PROCEDURE lock_row(
2720 p_api_version IN NUMBER,
2721 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2722 x_return_status OUT NOCOPY VARCHAR2,
2723 x_msg_count OUT NOCOPY NUMBER,
2724 x_msg_data OUT NOCOPY VARCHAR2,
2725 p_tabv_tbl IN tabv_tbl_type) IS
2726
2727 l_api_version CONSTANT NUMBER := 1;
2728 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2729 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2730 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2731 i NUMBER := 0;
2732 BEGIN
2733 OKC_API.init_msg_list(p_init_msg_list);
2734 -- Make sure PL/SQL table has records in it before passing
2735 IF (p_tabv_tbl.COUNT > 0) THEN
2736 i := p_tabv_tbl.FIRST;
2737 LOOP
2738 lock_row (
2739 p_api_version => p_api_version,
2740 p_init_msg_list => OKC_API.G_FALSE,
2741 x_return_status => x_return_status,
2742 x_msg_count => x_msg_count,
2743 x_msg_data => x_msg_data,
2744 p_tabv_rec => p_tabv_tbl(i));
2745 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2746 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2747 l_overall_status := x_return_status;
2748 END IF;
2749 END IF;
2750 EXIT WHEN (i = p_tabv_tbl.LAST);
2751 i := p_tabv_tbl.NEXT(i);
2752 END LOOP;
2753 END IF;
2754 x_return_status := l_overall_status;
2755 EXCEPTION
2756 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2757 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2758 (
2759 l_api_name,
2760 G_PKG_NAME,
2761 'OKC_API.G_RET_STS_ERROR',
2762 x_msg_count,
2763 x_msg_data,
2764 '_PVT'
2765 );
2766 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2767 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2768 (
2769 l_api_name,
2770 G_PKG_NAME,
2771 'OKC_API.G_RET_STS_UNEXP_ERROR',
2772 x_msg_count,
2773 x_msg_data,
2774 '_PVT'
2775 );
2776 WHEN OTHERS THEN
2777 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2778 (
2779 l_api_name,
2780 G_PKG_NAME,
2781 'OTHERS',
2782 x_msg_count,
2783 x_msg_data,
2784 '_PVT'
2785 );
2786 END lock_row;
2787
2788 ---------------------------------------------------------------------------
2789 -- PROCEDURE update_row
2790 ---------------------------------------------------------------------------
2791 ---------------------------------------
2792 -- update_row for:OKL_TRNS_ACC_DSTRS --
2793 ---------------------------------------
2794 PROCEDURE update_row(
2795 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2796 x_return_status OUT NOCOPY VARCHAR2,
2797 x_msg_count OUT NOCOPY NUMBER,
2798 x_msg_data OUT NOCOPY VARCHAR2,
2799 p_tab_rec IN tab_rec_type,
2800 x_tab_rec OUT NOCOPY tab_rec_type) IS
2801
2802 l_api_version CONSTANT NUMBER := 1;
2803 l_api_name CONSTANT VARCHAR2(30) := 'DSTRS_update_row';
2804 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2805 l_tab_rec tab_rec_type := p_tab_rec;
2806 l_def_tab_rec tab_rec_type;
2807 l_row_notfound BOOLEAN := TRUE;
2808 ----------------------------------
2809 -- FUNCTION populate_new_record --
2810 ----------------------------------
2811 FUNCTION populate_new_record (
2812 p_tab_rec IN tab_rec_type,
2813 x_tab_rec OUT NOCOPY tab_rec_type
2814 ) RETURN VARCHAR2 IS
2815 l_tab_rec tab_rec_type;
2816 l_row_notfound BOOLEAN := TRUE;
2817 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2818 BEGIN
2819 x_tab_rec := p_tab_rec;
2820 -- Get current database values
2821 l_tab_rec := get_rec(p_tab_rec, l_row_notfound);
2822 IF (l_row_notfound) THEN
2823 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2824 END IF;
2825 IF (x_tab_rec.id = OKC_API.G_MISS_NUM)
2826 THEN
2827 x_tab_rec.id := l_tab_rec.id;
2828 END IF;
2829 IF (x_tab_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
2830 THEN
2831 x_tab_rec.currency_conversion_type := l_tab_rec.currency_conversion_type;
2832 END IF;
2833 -- Line changed by Kanti on 07.05.2001. MISS_CHAR replaced by MISS_NUM.
2834 IF (x_tab_rec.set_of_books_id = OKC_API.G_MISS_NUM)
2835 THEN
2836 x_tab_rec.set_of_books_id := l_tab_rec.set_of_books_id;
2837 END IF;
2838 IF (x_tab_rec.cr_dr_flag = OKC_API.G_MISS_CHAR)
2839 THEN
2840 x_tab_rec.cr_dr_flag := l_tab_rec.cr_dr_flag;
2841 END IF;
2842 -- Line changed by Kanti on 07.05.2001. MISS_CHAR replaced by MISS_NUM.
2843 IF (x_tab_rec.code_combination_id = OKC_API.G_MISS_NUM)
2844 THEN
2845 x_tab_rec.code_combination_id := l_tab_rec.code_combination_id;
2846 END IF;
2847 -- Line changed by Kanti on 07.05.2001. MISS_CHAR replaced by MISS_NUM.
2848 IF (x_tab_rec.org_id = OKC_API.G_MISS_NUM)
2849 THEN
2850 x_tab_rec.org_id := l_tab_rec.org_id;
2851 END IF;
2852 IF (x_tab_rec.currency_code = OKC_API.G_MISS_CHAR)
2853 THEN
2854 x_tab_rec.currency_code := l_tab_rec.currency_code;
2855 END IF;
2856 IF (x_tab_rec.ae_line_type = OKC_API.G_MISS_CHAR)
2857 THEN
2858 x_tab_rec.ae_line_type := l_tab_rec.ae_line_type;
2859 END IF;
2860 IF (x_tab_rec.template_id = OKC_API.G_MISS_NUM)
2861 THEN
2862 x_tab_rec.template_id := l_tab_rec.template_id;
2863 END IF;
2864 IF (x_tab_rec.source_id = OKC_API.G_MISS_NUM)
2865 THEN
2866 x_tab_rec.source_id := l_tab_rec.source_id;
2867 END IF;
2868 IF (x_tab_rec.source_table = OKC_API.G_MISS_CHAR)
2869 THEN
2870 x_tab_rec.source_table := l_tab_rec.source_table;
2871 END IF;
2872 IF (x_tab_rec.object_version_number = OKC_API.G_MISS_NUM)
2873 THEN
2874 x_tab_rec.object_version_number := l_tab_rec.object_version_number;
2875 END IF;
2876 IF (x_tab_rec.amount = OKC_API.G_MISS_NUM)
2877 THEN
2878 x_tab_rec.amount := l_tab_rec.amount;
2879 END IF;
2880 IF (x_tab_rec.accounted_amount = OKC_API.G_MISS_NUM)
2881 THEN
2882 x_tab_rec.accounted_amount := l_tab_rec.accounted_amount;
2883 END IF;
2884 IF (x_tab_rec.gl_date = OKC_API.G_MISS_DATE)
2885 THEN
2886 x_tab_rec.gl_date := l_tab_rec.gl_date;
2887 END IF;
2888 IF (x_tab_rec.percentage = OKC_API.G_MISS_NUM)
2889 THEN
2890 x_tab_rec.percentage := l_tab_rec.percentage;
2891 END IF;
2892 IF (x_tab_rec.comments = OKC_API.G_MISS_CHAR)
2893 THEN
2894 x_tab_rec.comments := l_tab_rec.comments;
2895 END IF;
2896 IF (x_tab_rec.post_request_id = OKC_API.G_MISS_NUM)
2897 THEN
2898 x_tab_rec.post_request_id := l_tab_rec.post_request_id;
2899 END IF;
2900 IF (x_tab_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
2901 THEN
2902 x_tab_rec.currency_conversion_date := l_tab_rec.currency_conversion_date;
2903 END IF;
2904 IF (x_tab_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
2905 THEN
2906 x_tab_rec.currency_conversion_rate := l_tab_rec.currency_conversion_rate;
2907 END IF;
2908 IF (x_tab_rec.request_id = OKC_API.G_MISS_NUM)
2909 THEN
2910 x_tab_rec.request_id := l_tab_rec.request_id;
2911 END IF;
2912 IF (x_tab_rec.program_application_id = OKC_API.G_MISS_NUM)
2913 THEN
2914 x_tab_rec.program_application_id := l_tab_rec.program_application_id;
2915 END IF;
2916 IF (x_tab_rec.program_id = OKC_API.G_MISS_NUM)
2917 THEN
2918 x_tab_rec.program_id := l_tab_rec.program_id;
2919 END IF;
2920 IF (x_tab_rec.program_update_date = OKC_API.G_MISS_DATE)
2921 THEN
2922 x_tab_rec.program_update_date := l_tab_rec.program_update_date;
2923 END IF;
2924 -- The following lines changed by Kanti on 07.05.2001. The comparison was being done
2925 -- with G_MISS_DATE instead of G_MISS_CHAR.
2926 IF (x_tab_rec.attribute_category = OKC_API.G_MISS_CHAR)
2927 THEN
2928 x_tab_rec.attribute_category := l_tab_rec.attribute_category;
2929 END IF;
2930 IF (x_tab_rec.attribute1 = OKC_API.G_MISS_CHAR)
2931 THEN
2932 x_tab_rec.attribute1 := l_tab_rec.attribute1;
2933 END IF;
2934 IF (x_tab_rec.attribute2 = OKC_API.G_MISS_CHAR)
2935 THEN
2936 x_tab_rec.attribute2 := l_tab_rec.attribute2;
2937 END IF;
2938 IF (x_tab_rec.attribute3 = OKC_API.G_MISS_CHAR)
2939 THEN
2940 x_tab_rec.attribute3 := l_tab_rec.attribute3;
2941 END IF;
2942 IF (x_tab_rec.attribute4 = OKC_API.G_MISS_CHAR)
2943 THEN
2944 x_tab_rec.attribute4 := l_tab_rec.attribute4;
2945 END IF;
2946 IF (x_tab_rec.attribute5 = OKC_API.G_MISS_CHAR)
2947 THEN
2948 x_tab_rec.attribute5 := l_tab_rec.attribute5;
2949 END IF;
2950 IF (x_tab_rec.attribute6 = OKC_API.G_MISS_CHAR)
2951 THEN
2952 x_tab_rec.attribute6 := l_tab_rec.attribute6;
2953 END IF;
2954 IF (x_tab_rec.attribute7 = OKC_API.G_MISS_CHAR)
2955 THEN
2956 x_tab_rec.attribute7 := l_tab_rec.attribute7;
2957 END IF;
2958 IF (x_tab_rec.attribute8 = OKC_API.G_MISS_CHAR)
2959 THEN
2960 x_tab_rec.attribute8 := l_tab_rec.attribute8;
2961 END IF;
2962 IF (x_tab_rec.attribute9 = OKC_API.G_MISS_CHAR)
2963 THEN
2964 x_tab_rec.attribute9 := l_tab_rec.attribute9;
2965 END IF;
2966 IF (x_tab_rec.attribute10 = OKC_API.G_MISS_CHAR)
2967 THEN
2968 x_tab_rec.attribute10 := l_tab_rec.attribute10;
2969 END IF;
2970 IF (x_tab_rec.attribute11 = OKC_API.G_MISS_CHAR)
2971 THEN
2972 x_tab_rec.attribute11 := l_tab_rec.attribute11;
2973 END IF;
2974 IF (x_tab_rec.attribute12 = OKC_API.G_MISS_CHAR)
2975 THEN
2976 x_tab_rec.attribute12 := l_tab_rec.attribute12;
2977 END IF;
2978 IF (x_tab_rec.attribute13 = OKC_API.G_MISS_CHAR)
2979 THEN
2980 x_tab_rec.attribute13 := l_tab_rec.attribute13;
2981 END IF;
2982 IF (x_tab_rec.attribute14 = OKC_API.G_MISS_CHAR)
2983 THEN
2984 x_tab_rec.attribute14 := l_tab_rec.attribute14;
2985 END IF;
2986 IF (x_tab_rec.attribute15 = OKC_API.G_MISS_CHAR)
2987 THEN
2988 x_tab_rec.attribute15 := l_tab_rec.attribute15;
2989 END IF;
2990 -- Changes End
2991 IF (x_tab_rec.created_by = OKC_API.G_MISS_NUM)
2992 THEN
2993 x_tab_rec.created_by := l_tab_rec.created_by;
2994 END IF;
2995 IF (x_tab_rec.creation_date = OKC_API.G_MISS_DATE)
2996 THEN
2997 x_tab_rec.creation_date := l_tab_rec.creation_date;
2998 END IF;
2999 IF (x_tab_rec.last_updated_by = OKC_API.G_MISS_NUM)
3000 THEN
3001 x_tab_rec.last_updated_by := l_tab_rec.last_updated_by;
3002 END IF;
3003 IF (x_tab_rec.last_update_date = OKC_API.G_MISS_DATE)
3004 THEN
3005 x_tab_rec.last_update_date := l_tab_rec.last_update_date;
3006 END IF;
3007 IF (x_tab_rec.last_update_login = OKC_API.G_MISS_NUM)
3008 THEN
3009 x_tab_rec.last_update_login := l_tab_rec.last_update_login;
3010 END IF;
3011 -- The following two fields have been added by Kanti Jinger on 07/12/2001
3012 IF (x_tab_rec.aet_id = OKC_API.G_MISS_NUM)
3013 THEN
3014 x_tab_rec.aet_id := l_tab_rec.aet_id;
3015 END IF;
3016 IF (x_tab_rec.posted_yn = OKC_API.G_MISS_CHAR)
3017 THEN
3018 x_tab_rec.posted_yn := l_tab_rec.posted_yn ;
3019 END IF;
3020 IF (x_tab_rec.ae_creation_error = OKC_API.G_MISS_CHAR)
3021 THEN
3022 x_tab_rec.ae_creation_error := l_tab_rec.ae_creation_error ;
3023 END IF;
3024 IF (x_tab_rec.gl_reversal_flag = OKC_API.G_MISS_CHAR)
3025 THEN
3026 x_tab_rec.gl_reversal_flag := l_tab_rec.gl_reversal_flag ;
3027 END IF;
3028 IF (x_tab_rec.reverse_event_flag = OKC_API.G_MISS_CHAR)
3029 THEN
3030 x_tab_rec.reverse_event_flag := l_tab_rec.reverse_event_flag ;
3031 END IF;
3032 IF (x_tab_rec.draft_yn = OKC_API.G_MISS_CHAR)
3033 THEN
3034 x_tab_rec.draft_yn := l_tab_rec.draft_yn ;
3035 END IF;
3036 IF (x_tab_rec.draft_version = OKC_API.G_MISS_NUM)
3037 THEN
3038 x_tab_rec.draft_version := l_tab_rec.draft_version ;
3039 END IF;
3040 IF (x_tab_rec.post_to_gl = OKC_API.G_MISS_CHAR)
3041 THEN
3042 x_tab_rec.post_to_gl := l_tab_rec.post_to_gl ;
3043 END IF;
3044 IF (x_tab_rec.original_dist_id = OKC_API.G_MISS_NUM)
3045 THEN
3046 x_tab_rec.original_dist_id := l_tab_rec.original_dist_id ;
3047 END IF;
3048 IF (x_tab_rec.accounting_event_id = OKC_API.G_MISS_NUM)
3049 THEN
3050 x_tab_rec.accounting_event_id := l_tab_rec.accounting_event_id ;
3051 END IF;
3052 -- Changes ends
3053 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
3054 IF (x_tab_rec.accounting_template_name = OKC_API.G_MISS_CHAR)
3055 THEN
3056 x_tab_rec.accounting_template_name := l_tab_rec.accounting_template_name ;
3057 END IF;
3058 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
3059 IF (x_tab_rec.UPGRADE_STATUS_FLAG = OKC_API.G_MISS_CHAR)
3060 THEN
3061 x_tab_rec.UPGRADE_STATUS_FLAG := l_tab_rec.UPGRADE_STATUS_FLAG ;
3062 END IF;
3063 RETURN(l_return_status);
3064 END populate_new_record;
3065 -------------------------------------------
3066 -- Set_Attributes for:OKL_TRNS_ACC_DSTRS --
3067 -------------------------------------------
3068 FUNCTION Set_Attributes (
3069 p_tab_rec IN tab_rec_type,
3070 x_tab_rec OUT NOCOPY tab_rec_type
3071 ) RETURN VARCHAR2 IS
3072 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3073 BEGIN
3074 x_tab_rec := p_tab_rec;
3075 RETURN(l_return_status);
3076 END Set_Attributes;
3077 BEGIN
3078 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3079 p_init_msg_list,
3080 '_PVT',
3081 x_return_status);
3082 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3083 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3084 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3085 RAISE OKC_API.G_EXCEPTION_ERROR;
3086 END IF;
3087 --- Setting item attributes
3088 l_return_status := Set_Attributes(
3089 p_tab_rec, -- IN
3090 l_tab_rec); -- OUT
3091 --- If any errors happen abort API
3092 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3093 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3094 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3095 RAISE OKC_API.G_EXCEPTION_ERROR;
3096 END IF;
3097 l_return_status := populate_new_record(l_tab_rec, l_def_tab_rec);
3098 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3099 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3100 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3101 RAISE OKC_API.G_EXCEPTION_ERROR;
3102 END IF;
3103 UPDATE OKL_TRNS_ACC_DSTRS
3104 SET CURRENCY_CONVERSION_TYPE = l_def_tab_rec.currency_conversion_type,
3105 SET_OF_BOOKS_ID = l_def_tab_rec.set_of_books_id,
3106 CR_DR_FLAG = l_def_tab_rec.cr_dr_flag,
3107 CODE_COMBINATION_ID = l_def_tab_rec.code_combination_id,
3108 ORG_ID = l_def_tab_rec.org_id,
3109 CURRENCY_CODE = l_def_tab_rec.currency_code,
3110 AE_LINE_TYPE = l_def_tab_rec.ae_line_type,
3111 TEMPLATE_ID = l_def_tab_rec.template_id,
3112 SOURCE_ID = l_def_tab_rec.source_id,
3113 SOURCE_TABLE = l_def_tab_rec.source_table,
3114 OBJECT_VERSION_NUMBER = l_def_tab_rec.object_version_number,
3115 AMOUNT = l_def_tab_rec.amount,
3116 ACCOUNTED_AMOUNT = l_def_tab_rec.accounted_amount,
3117 GL_DATE = l_def_tab_rec.gl_date,
3118 PERCENTAGE = l_def_tab_rec.percentage,
3119 COMMENTS = l_def_tab_rec.comments,
3120 POST_REQUEST_ID = l_def_tab_rec.post_request_id,
3121 CURRENCY_CONVERSION_DATE = l_def_tab_rec.currency_conversion_date,
3122 CURRENCY_CONVERSION_RATE = l_def_tab_rec.currency_conversion_rate,
3123 REQUEST_ID = l_def_tab_rec.request_id,
3124 PROGRAM_APPLICATION_ID = l_def_tab_rec.program_application_id,
3125 PROGRAM_ID = l_def_tab_rec.program_id,
3126 PROGRAM_UPDATE_DATE = l_def_tab_rec.program_update_date,
3127 ATTRIBUTE_CATEGORY = l_def_tab_rec.attribute_category,
3128 ATTRIBUTE1 = l_def_tab_rec.attribute1,
3129 ATTRIBUTE2 = l_def_tab_rec.attribute2,
3130 ATTRIBUTE3 = l_def_tab_rec.attribute3,
3131 ATTRIBUTE4 = l_def_tab_rec.attribute4,
3132 ATTRIBUTE5 = l_def_tab_rec.attribute5,
3133 ATTRIBUTE6 = l_def_tab_rec.attribute6,
3134 ATTRIBUTE7 = l_def_tab_rec.attribute7,
3135 ATTRIBUTE8 = l_def_tab_rec.attribute8,
3136 ATTRIBUTE9 = l_def_tab_rec.attribute9,
3137 ATTRIBUTE10 = l_def_tab_rec.attribute10,
3138 ATTRIBUTE11 = l_def_tab_rec.attribute11,
3139 ATTRIBUTE12 = l_def_tab_rec.attribute12,
3140 ATTRIBUTE13 = l_def_tab_rec.attribute13,
3141 ATTRIBUTE14 = l_def_tab_rec.attribute14,
3142 ATTRIBUTE15 = l_def_tab_rec.attribute15,
3143 CREATED_BY = l_def_tab_rec.created_by,
3144 CREATION_DATE = l_def_tab_rec.creation_date,
3145 LAST_UPDATED_BY = l_def_tab_rec.last_updated_by,
3146 LAST_UPDATE_DATE = l_def_tab_rec.last_update_date,
3147 LAST_UPDATE_LOGIN = l_def_tab_rec.last_update_login,
3148 -- The following two fields have been added by Kanti Jinger on 07/12/2001
3149 aet_id = l_def_tab_rec.aet_id ,
3150 POSTED_YN = l_def_tab_rec.posted_yn,
3151 AE_CREATION_ERROR = l_def_tab_rec.AE_CREATION_ERROR,
3152 GL_REVERSAL_FLAG = l_def_tab_rec.GL_REVERSAL_FLAG,
3153 Reverse_event_flag = l_def_tab_rec.Reverse_event_flag,
3154 draft_yn = l_def_tab_rec.draft_yn,
3155 draft_version = l_def_tab_rec.draft_version,
3156 original_dist_id = l_def_tab_rec.original_dist_id,
3157 accounting_event_id = l_def_tab_rec.accounting_event_id,
3158 POST_TO_GL = l_def_tab_rec.POST_TO_GL,
3159 -- Changes ends
3160 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
3161 ACCOUNTING_TEMPLATE_NAME = l_def_tab_rec.ACCOUNTING_TEMPLATE_NAME,
3162 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
3163 UPGRADE_STATUS_FLAG = l_def_tab_rec.UPGRADE_STATUS_FLAG
3164 WHERE ID = l_def_tab_rec.id;
3165
3166 x_tab_rec := l_def_tab_rec;
3167 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3168 EXCEPTION
3169 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3170 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3171 (
3172 l_api_name,
3173 G_PKG_NAME,
3174 'OKC_API.G_RET_STS_ERROR',
3175 x_msg_count,
3176 x_msg_data,
3177 '_PVT'
3178 );
3179 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3180 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3181 (
3182 l_api_name,
3183 G_PKG_NAME,
3184 'OKC_API.G_RET_STS_UNEXP_ERROR',
3185 x_msg_count,
3186 x_msg_data,
3187 '_PVT'
3188 );
3189 WHEN OTHERS THEN
3190 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3191 (
3192 l_api_name,
3193 G_PKG_NAME,
3194 'OTHERS',
3195 x_msg_count,
3196 x_msg_data,
3197 '_PVT'
3198 );
3199 END update_row;
3200 -----------------------------------------
3201 -- update_row for:OKL_TRNS_ACC_DSTRS_V --
3202 -----------------------------------------
3203 PROCEDURE update_row(
3204 p_api_version IN NUMBER,
3205 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3206 x_return_status OUT NOCOPY VARCHAR2,
3207 x_msg_count OUT NOCOPY NUMBER,
3208 x_msg_data OUT NOCOPY VARCHAR2,
3209 p_tabv_rec IN tabv_rec_type,
3210 x_tabv_rec OUT NOCOPY tabv_rec_type) IS
3211
3212 l_api_version CONSTANT NUMBER := 1;
3213 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
3214 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3215 l_tabv_rec tabv_rec_type := p_tabv_rec;
3216 l_def_tabv_rec tabv_rec_type;
3217 l_tab_rec tab_rec_type;
3218 lx_tab_rec tab_rec_type;
3219 -------------------------------
3220 -- FUNCTION fill_who_columns --
3221 -------------------------------
3222 FUNCTION fill_who_columns (
3223 p_tabv_rec IN tabv_rec_type
3224 ) RETURN tabv_rec_type IS
3225 l_tabv_rec tabv_rec_type := p_tabv_rec;
3226 BEGIN
3227 l_tabv_rec.LAST_UPDATE_DATE := SYSDATE;
3228 l_tabv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3229 l_tabv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3230 RETURN(l_tabv_rec);
3231 END fill_who_columns;
3232 ----------------------------------
3233 -- FUNCTION populate_new_record --
3234 ----------------------------------
3235 FUNCTION populate_new_record (
3236 p_tabv_rec IN tabv_rec_type,
3237 x_tabv_rec OUT NOCOPY tabv_rec_type
3238 ) RETURN VARCHAR2 IS
3239 l_tabv_rec tabv_rec_type;
3240 l_row_notfound BOOLEAN := TRUE;
3241 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3242 BEGIN
3243 x_tabv_rec := p_tabv_rec;
3244 -- Get current database values
3245 l_tabv_rec := get_rec(p_tabv_rec, l_row_notfound);
3246 IF (l_row_notfound) THEN
3247 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3248 END IF;
3249 IF (x_tabv_rec.id = OKC_API.G_MISS_NUM)
3250 THEN
3251 x_tabv_rec.id := l_tabv_rec.id;
3252 END IF;
3253 IF (x_tabv_rec.object_version_number = OKC_API.G_MISS_NUM)
3254 THEN
3255 x_tabv_rec.object_version_number := l_tabv_rec.object_version_number;
3256 END IF;
3257 IF (x_tabv_rec.template_id = OKC_API.G_MISS_NUM)
3258 THEN
3259 x_tabv_rec.template_id := l_tabv_rec.template_id;
3260 END IF;
3261 IF (x_tabv_rec.cr_dr_flag = OKC_API.G_MISS_CHAR)
3262 THEN
3263 x_tabv_rec.cr_dr_flag := l_tabv_rec.cr_dr_flag;
3264 END IF;
3265 IF (x_tabv_rec.ae_line_type = OKC_API.G_MISS_CHAR)
3266 THEN
3267 x_tabv_rec.ae_line_type := l_tabv_rec.ae_line_type;
3268 END IF;
3269 -- Line changed by Kanti on 07.05.2001. MISS_CHAR replaced by MISS_NUM.
3270 IF (x_tabv_rec.org_id = OKC_API.G_MISS_NUM)
3271 THEN
3272 x_tabv_rec.org_id := l_tabv_rec.org_id;
3273 END IF;
3274 -- Line changed by Kanti on 07.05.2001. MISS_CHAR replaced by MISS_NUM.
3275 IF (x_tabv_rec.set_of_books_id = OKC_API.G_MISS_NUM)
3276 THEN
3277 x_tabv_rec.set_of_books_id := l_tabv_rec.set_of_books_id;
3278 END IF;
3279 -- Line changed by Kanti on 07.05.2001. MISS_CHAR replaced by MISS_NUM.
3280 IF (x_tabv_rec.code_combination_id = OKC_API.G_MISS_NUM)
3281 THEN
3282 x_tabv_rec.code_combination_id := l_tabv_rec.code_combination_id;
3283 END IF;
3284 IF (x_tabv_rec.currency_code = OKC_API.G_MISS_CHAR)
3285 THEN
3286 x_tabv_rec.currency_code := l_tabv_rec.currency_code;
3287 END IF;
3288 IF (x_tabv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
3289 THEN
3290 x_tabv_rec.currency_conversion_type := l_tabv_rec.currency_conversion_type;
3291 END IF;
3292 IF (x_tabv_rec.source_id = OKC_API.G_MISS_NUM)
3293 THEN
3294 x_tabv_rec.source_id := l_tabv_rec.source_id;
3295 END IF;
3296 IF (x_tabv_rec.source_table = OKC_API.G_MISS_CHAR)
3297 THEN
3298 x_tabv_rec.source_table := l_tabv_rec.source_table;
3299 END IF;
3300 IF (x_tabv_rec.amount = OKC_API.G_MISS_NUM)
3301 THEN
3302 x_tabv_rec.amount := l_tabv_rec.amount;
3303 END IF;
3304 IF (x_tabv_rec.accounted_amount = OKC_API.G_MISS_NUM)
3305 THEN
3306 x_tabv_rec.accounted_amount := l_tabv_rec.accounted_amount;
3307 END IF;
3308 IF (x_tabv_rec.gl_date = OKC_API.G_MISS_DATE)
3309 THEN
3310 x_tabv_rec.gl_date := l_tabv_rec.gl_date;
3311 END IF;
3312 IF (x_tabv_rec.percentage = OKC_API.G_MISS_NUM)
3313 THEN
3314 x_tabv_rec.percentage := l_tabv_rec.percentage;
3315 END IF;
3316 IF (x_tabv_rec.comments = OKC_API.G_MISS_CHAR)
3317 THEN
3318 x_tabv_rec.comments := l_tabv_rec.comments;
3319 END IF;
3320 IF (x_tabv_rec.post_request_id = OKC_API.G_MISS_NUM)
3321 THEN
3322 x_tabv_rec.post_request_id := l_tabv_rec.post_request_id;
3323 END IF;
3324 IF (x_tabv_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
3325 THEN
3326 x_tabv_rec.currency_conversion_date := l_tabv_rec.currency_conversion_date;
3327 END IF;
3328 IF (x_tabv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
3329 THEN
3330 x_tabv_rec.currency_conversion_rate := l_tabv_rec.currency_conversion_rate;
3331 END IF;
3332 -- The following lines changed by Kanti on 07.05.2001. Comparison was being done
3333 -- with G_MISS_NUM instead of G_MISS_CHAR
3334 IF (x_tabv_rec.attribute_category = OKC_API.G_MISS_CHAR)
3335 THEN
3336 x_tabv_rec.attribute_category := l_tabv_rec.attribute_category;
3337 END IF;
3338 IF (x_tabv_rec.attribute1 = OKC_API.G_MISS_CHAR)
3339 THEN
3340 x_tabv_rec.attribute1 := l_tabv_rec.attribute1;
3341 END IF;
3342 IF (x_tabv_rec.attribute2 = OKC_API.G_MISS_CHAR)
3343 THEN
3344 x_tabv_rec.attribute2 := l_tabv_rec.attribute2;
3345 END IF;
3346 IF (x_tabv_rec.attribute3 = OKC_API.G_MISS_CHAR)
3347 THEN
3348 x_tabv_rec.attribute3 := l_tabv_rec.attribute3;
3349 END IF;
3350 IF (x_tabv_rec.attribute4 = OKC_API.G_MISS_CHAR)
3351 THEN
3352 x_tabv_rec.attribute4 := l_tabv_rec.attribute4;
3353 END IF;
3354 IF (x_tabv_rec.attribute5 = OKC_API.G_MISS_CHAR)
3355 THEN
3356 x_tabv_rec.attribute5 := l_tabv_rec.attribute5;
3357 END IF;
3358 IF (x_tabv_rec.attribute6 = OKC_API.G_MISS_CHAR)
3359 THEN
3360 x_tabv_rec.attribute6 := l_tabv_rec.attribute6;
3361 END IF;
3362 IF (x_tabv_rec.attribute7 = OKC_API.G_MISS_CHAR)
3363 THEN
3364 x_tabv_rec.attribute7 := l_tabv_rec.attribute7;
3365 END IF;
3366 IF (x_tabv_rec.attribute8 = OKC_API.G_MISS_CHAR)
3367 THEN
3368 x_tabv_rec.attribute8 := l_tabv_rec.attribute8;
3369 END IF;
3370 IF (x_tabv_rec.attribute9 = OKC_API.G_MISS_CHAR)
3371 THEN
3372 x_tabv_rec.attribute9 := l_tabv_rec.attribute9;
3373 END IF;
3374 IF (x_tabv_rec.attribute10 = OKC_API.G_MISS_CHAR)
3375 THEN
3376 x_tabv_rec.attribute10 := l_tabv_rec.attribute10;
3377 END IF;
3378 IF (x_tabv_rec.attribute11 = OKC_API.G_MISS_CHAR)
3379 THEN
3380 x_tabv_rec.attribute11 := l_tabv_rec.attribute11;
3381 END IF;
3382 IF (x_tabv_rec.attribute12 = OKC_API.G_MISS_CHAR)
3383 THEN
3384 x_tabv_rec.attribute12 := l_tabv_rec.attribute12;
3385 END IF;
3386 IF (x_tabv_rec.attribute13 = OKC_API.G_MISS_CHAR)
3387 THEN
3388 x_tabv_rec.attribute13 := l_tabv_rec.attribute13;
3389 END IF;
3390 IF (x_tabv_rec.attribute14 = OKC_API.G_MISS_CHAR)
3391 THEN
3392 x_tabv_rec.attribute14 := l_tabv_rec.attribute14;
3393 END IF;
3394 IF (x_tabv_rec.attribute15 = OKC_API.G_MISS_CHAR)
3395 THEN
3396 x_tabv_rec.attribute15 := l_tabv_rec.attribute15;
3397 END IF;
3398 -- Changes End here
3399 IF (x_tabv_rec.request_id = OKC_API.G_MISS_NUM)
3400 THEN
3401 x_tabv_rec.request_id := l_tabv_rec.request_id;
3402 END IF;
3403 IF (x_tabv_rec.program_application_id = OKC_API.G_MISS_NUM)
3404 THEN
3405 x_tabv_rec.program_application_id := l_tabv_rec.program_application_id;
3406 END IF;
3407 IF (x_tabv_rec.program_id = OKC_API.G_MISS_NUM)
3408 THEN
3409 x_tabv_rec.program_id := l_tabv_rec.program_id;
3410 END IF;
3411 IF (x_tabv_rec.program_update_date = OKC_API.G_MISS_DATE)
3412 THEN
3413 x_tabv_rec.program_update_date := l_tabv_rec.program_update_date;
3414 END IF;
3415 IF (x_tabv_rec.created_by = OKC_API.G_MISS_NUM)
3416 THEN
3417 x_tabv_rec.created_by := l_tabv_rec.created_by;
3418 END IF;
3419 IF (x_tabv_rec.creation_date = OKC_API.G_MISS_DATE)
3420 THEN
3421 x_tabv_rec.creation_date := l_tabv_rec.creation_date;
3422 END IF;
3423 IF (x_tabv_rec.last_updated_by = OKC_API.G_MISS_NUM)
3424 THEN
3425 x_tabv_rec.last_updated_by := l_tabv_rec.last_updated_by;
3426 END IF;
3427 IF (x_tabv_rec.last_update_date = OKC_API.G_MISS_DATE)
3428 THEN
3429 x_tabv_rec.last_update_date := l_tabv_rec.last_update_date;
3430 END IF;
3431 IF (x_tabv_rec.last_update_login = OKC_API.G_MISS_NUM)
3432 THEN
3433 x_tabv_rec.last_update_login := l_tabv_rec.last_update_login;
3434 END IF;
3435 -- The following two fields have been added by Kanti Jinger on 07/12/2001
3436 IF (x_tabv_rec.aet_id = OKC_API.G_MISS_NUM)
3437 THEN
3438 x_tabv_rec.aet_id := l_tabv_rec.aet_id;
3439 END IF;
3440 IF (x_tabv_rec.posted_yn = OKC_API.G_MISS_CHAR)
3441 THEN
3442 x_tabv_rec.posted_yn := l_tabv_rec.posted_yn;
3443 END IF;
3444 IF (x_tabv_rec.ae_Creation_error = OKC_API.G_MISS_CHAR)
3445 THEN
3446 x_tabv_rec.ae_Creation_error := l_tabv_rec.ae_Creation_error;
3447 END IF;
3448 IF (x_tabv_rec.gl_reversal_flag = OKC_API.G_MISS_CHAR)
3449 THEN
3450 x_tabv_rec.gl_reversal_flag := l_tabv_rec.gl_reversal_flag ;
3451 END IF;
3452 IF (x_tabv_rec.reverse_event_flag = OKC_API.G_MISS_CHAR)
3453 THEN
3454 x_tabv_rec.reverse_event_flag := l_tabv_rec.reverse_event_flag ;
3455 END IF;
3456 IF (x_tabv_rec.draft_yn = OKC_API.G_MISS_CHAR)
3457 THEN
3458 x_tabv_rec.draft_yn := l_tabv_rec.draft_yn ;
3459 END IF;
3460 IF (x_tabv_rec.draft_version = OKC_API.G_MISS_NUM)
3461 THEN
3462 x_tabv_rec.draft_version := l_tabv_rec.draft_version ;
3463 END IF;
3464 IF (x_tabv_rec.post_to_gl = OKC_API.G_MISS_CHAR)
3465 THEN
3466 x_tabv_rec.post_to_gl := l_tabv_rec.post_to_gl;
3467 END IF;
3468 IF (x_tabv_rec.original_dist_id = OKC_API.G_MISS_NUM)
3469 THEN
3470 x_tabv_rec.original_dist_id := l_tabv_rec.original_dist_id;
3471 END IF;
3472 IF (x_tabv_rec.accounting_event_id = OKC_API.G_MISS_NUM)
3473 THEN
3474 x_tabv_rec.accounting_event_id := l_tabv_rec.accounting_event_id;
3475 END IF;
3476 -- Changes ends
3477 -- Added by zrehman for SLA project (Bug 5707866) 9-Feb-2007
3478 IF (x_tabv_rec.accounting_template_name = OKC_API.G_MISS_CHAR)
3479 THEN
3480 x_tabv_rec.accounting_template_name := l_tabv_rec.accounting_template_name;
3481 END IF;
3482 -- Added by nikshah for SLA project (Bug 5707866) 16-Apr-2007
3483 IF (x_tabv_rec.UPGRADE_STATUS_FLAG = OKC_API.G_MISS_CHAR)
3484 THEN
3485 x_tabv_rec.UPGRADE_STATUS_FLAG := l_tabv_rec.UPGRADE_STATUS_FLAG;
3486 END IF;
3487 RETURN(l_return_status);
3488 END populate_new_record;
3489 ---------------------------------------------
3490 -- Set_Attributes for:OKL_TRNS_ACC_DSTRS_V --
3491 ---------------------------------------------
3492 FUNCTION Set_Attributes (
3493 p_tabv_rec IN tabv_rec_type,
3494 x_tabv_rec OUT NOCOPY tabv_rec_type
3495 ) RETURN VARCHAR2 IS
3496 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3497
3498 -- 05-10-01 - spalod - start - get and set org id and set of book id, concurrent program fields
3499 l_request_id NUMBER := Fnd_Global.CONC_REQUEST_ID;
3500 l_prog_app_id NUMBER := Fnd_Global.PROG_APPL_ID;
3501 l_program_id NUMBER := Fnd_Global.CONC_PROGRAM_ID;
3502 -- 05-10-01 - spalod - end - get and set org id and set of book id, concurrent program fields
3503
3504 BEGIN
3505 x_tabv_rec := p_tabv_rec;
3506
3507 -- 05-10-01 - spalod - start - get and set org id and set of book id, concurrent program fields
3508
3509 SELECT NVL(DECODE(l_request_id, -1, NULL, l_request_id) ,p_tabv_rec.REQUEST_ID)
3510 ,NVL(DECODE(l_prog_app_id, -1, NULL, l_prog_app_id) ,p_tabv_rec.PROGRAM_APPLICATION_ID)
3511 ,NVL(DECODE(l_program_id, -1, NULL, l_program_id) ,p_tabv_rec.PROGRAM_ID)
3512 ,DECODE(DECODE(l_request_id, -1, NULL, SYSDATE) ,NULL, p_tabv_rec.PROGRAM_UPDATE_DATE,SYSDATE)
3513 INTO x_tabv_rec.REQUEST_ID
3514 ,x_tabv_rec.PROGRAM_APPLICATION_ID
3515 ,x_tabv_rec.PROGRAM_ID
3516 ,x_tabv_rec.PROGRAM_UPDATE_DATE
3517 FROM DUAL;
3518
3519 -- 05-10-01 - spalod - end - get and set org id and set of book id, concurrent program fields
3520
3521 RETURN(l_return_status);
3522 END Set_Attributes;
3523 BEGIN
3524 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3525 G_PKG_NAME,
3526 p_init_msg_list,
3527 l_api_version,
3528 p_api_version,
3529 '_PVT',
3530 x_return_status);
3531 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3532 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3533 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3534 RAISE OKC_API.G_EXCEPTION_ERROR;
3535 END IF;
3536 --- Setting item attributes
3537 l_return_status := Set_Attributes(
3538 p_tabv_rec, -- IN
3539 l_tabv_rec); -- OUT
3540 --- If any errors happen abort API
3541 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3542 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3543 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3544 RAISE OKC_API.G_EXCEPTION_ERROR;
3545 END IF;
3546 l_return_status := populate_new_record(l_tabv_rec, l_def_tabv_rec);
3547 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3548 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3549 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3550 RAISE OKC_API.G_EXCEPTION_ERROR;
3551 END IF;
3552 l_def_tabv_rec := fill_who_columns(l_def_tabv_rec);
3553 --- Validate all non-missing attributes (Item Level Validation)
3554 l_return_status := Validate_Attributes(l_def_tabv_rec);
3555 --- If any errors happen abort API
3556 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3557 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3558 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3559 RAISE OKC_API.G_EXCEPTION_ERROR;
3560 END IF;
3561 l_return_status := Validate_Record(l_def_tabv_rec);
3562 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3563 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3564 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3565 RAISE OKC_API.G_EXCEPTION_ERROR;
3566 END IF;
3567
3568 --------------------------------------
3569 -- Move VIEW record to "Child" records
3570 --------------------------------------
3571 migrate(l_def_tabv_rec, l_tab_rec);
3572 --------------------------------------------
3573 -- Call the UPDATE_ROW for each child record
3574 --------------------------------------------
3575 update_row(
3576 p_init_msg_list,
3577 x_return_status,
3578 x_msg_count,
3579 x_msg_data,
3580 l_tab_rec,
3581 lx_tab_rec
3582 );
3583 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3584 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3585 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3586 RAISE OKC_API.G_EXCEPTION_ERROR;
3587 END IF;
3588 migrate(lx_tab_rec, l_def_tabv_rec);
3589 x_tabv_rec := l_def_tabv_rec;
3590 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3591 EXCEPTION
3592 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3593 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3594 (
3595 l_api_name,
3596 G_PKG_NAME,
3597 'OKC_API.G_RET_STS_ERROR',
3598 x_msg_count,
3599 x_msg_data,
3600 '_PVT'
3601 );
3602 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3603 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3604 (
3605 l_api_name,
3606 G_PKG_NAME,
3607 'OKC_API.G_RET_STS_UNEXP_ERROR',
3608 x_msg_count,
3609 x_msg_data,
3610 '_PVT'
3611 );
3612 WHEN OTHERS THEN
3613 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3614 (
3615 l_api_name,
3616 G_PKG_NAME,
3617 'OTHERS',
3618 x_msg_count,
3619 x_msg_data,
3620 '_PVT'
3621 );
3622 END update_row;
3623 ----------------------------------------
3624 -- PL/SQL TBL update_row for:TABV_TBL --
3625 ----------------------------------------
3626 PROCEDURE update_row(
3627 p_api_version IN NUMBER,
3628 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3629 x_return_status OUT NOCOPY VARCHAR2,
3630 x_msg_count OUT NOCOPY NUMBER,
3631 x_msg_data OUT NOCOPY VARCHAR2,
3632 p_tabv_tbl IN tabv_tbl_type,
3633 x_tabv_tbl OUT NOCOPY tabv_tbl_type) IS
3634
3635 l_api_version CONSTANT NUMBER := 1;
3636 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3637 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3638 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3639 i NUMBER := 0;
3640 BEGIN
3641 OKC_API.init_msg_list(p_init_msg_list);
3642 -- Make sure PL/SQL table has records in it before passing
3643 IF (p_tabv_tbl.COUNT > 0) THEN
3644 i := p_tabv_tbl.FIRST;
3645 LOOP
3646 update_row (
3647 p_api_version => p_api_version,
3648 p_init_msg_list => OKC_API.G_FALSE,
3649 x_return_status => x_return_status,
3650 x_msg_count => x_msg_count,
3651 x_msg_data => x_msg_data,
3652 p_tabv_rec => p_tabv_tbl(i),
3653 x_tabv_rec => x_tabv_tbl(i));
3654
3655 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3656 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3657 l_overall_status := x_return_status;
3658 END IF;
3659 END IF;
3660
3661 EXIT WHEN (i = p_tabv_tbl.LAST);
3662 i := p_tabv_tbl.NEXT(i);
3663 END LOOP;
3664 END IF;
3665 x_return_Status := l_overall_Status;
3666
3667 EXCEPTION
3668 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3669 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3670 (
3671 l_api_name,
3672 G_PKG_NAME,
3673 'OKC_API.G_RET_STS_ERROR',
3674 x_msg_count,
3675 x_msg_data,
3676 '_PVT'
3677 );
3678 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3679 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3680 (
3681 l_api_name,
3682 G_PKG_NAME,
3683 'OKC_API.G_RET_STS_UNEXP_ERROR',
3684 x_msg_count,
3685 x_msg_data,
3686 '_PVT'
3687 );
3688 WHEN OTHERS THEN
3689 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3690 (
3691 l_api_name,
3692 G_PKG_NAME,
3693 'OTHERS',
3694 x_msg_count,
3695 x_msg_data,
3696 '_PVT'
3697 );
3698 END update_row;
3699
3700 ---------------------------------------------------------------------------
3701 -- PROCEDURE delete_row
3702 ---------------------------------------------------------------------------
3703 ---------------------------------------
3704 -- delete_row for:OKL_TRNS_ACC_DSTRS --
3705 ---------------------------------------
3706 PROCEDURE delete_row(
3707 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3708 x_return_status OUT NOCOPY VARCHAR2,
3709 x_msg_count OUT NOCOPY NUMBER,
3710 x_msg_data OUT NOCOPY VARCHAR2,
3711 p_tab_rec IN tab_rec_type) IS
3712
3713 l_api_version CONSTANT NUMBER := 1;
3714 l_api_name CONSTANT VARCHAR2(30) := 'DSTRS_delete_row';
3715 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3716 l_tab_rec tab_rec_type:= p_tab_rec;
3717 l_row_notfound BOOLEAN := TRUE;
3718 BEGIN
3719 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3720 p_init_msg_list,
3721 '_PVT',
3722 x_return_status);
3723 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3724 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3725 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3726 RAISE OKC_API.G_EXCEPTION_ERROR;
3727 END IF;
3728 DELETE FROM OKL_TRNS_ACC_DSTRS
3729 WHERE ID = l_tab_rec.id;
3730
3731 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3732 EXCEPTION
3733 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3734 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3735 (
3736 l_api_name,
3737 G_PKG_NAME,
3738 'OKC_API.G_RET_STS_ERROR',
3739 x_msg_count,
3740 x_msg_data,
3741 '_PVT'
3742 );
3743 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3744 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3745 (
3746 l_api_name,
3747 G_PKG_NAME,
3748 'OKC_API.G_RET_STS_UNEXP_ERROR',
3749 x_msg_count,
3750 x_msg_data,
3751 '_PVT'
3752 );
3753 WHEN OTHERS THEN
3754 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3755 (
3756 l_api_name,
3757 G_PKG_NAME,
3758 'OTHERS',
3759 x_msg_count,
3760 x_msg_data,
3761 '_PVT'
3762 );
3763 END delete_row;
3764 -----------------------------------------
3765 -- delete_row for:OKL_TRNS_ACC_DSTRS_V --
3766 -----------------------------------------
3767 PROCEDURE delete_row(
3768 p_api_version IN NUMBER,
3769 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3770 x_return_status OUT NOCOPY VARCHAR2,
3771 x_msg_count OUT NOCOPY NUMBER,
3772 x_msg_data OUT NOCOPY VARCHAR2,
3773 p_tabv_rec IN tabv_rec_type) IS
3774
3775 l_api_version CONSTANT NUMBER := 1;
3776 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3777 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3778 l_tabv_rec tabv_rec_type := p_tabv_rec;
3779 l_tab_rec tab_rec_type;
3780 BEGIN
3781 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3782 G_PKG_NAME,
3783 p_init_msg_list,
3784 l_api_version,
3785 p_api_version,
3786 '_PVT',
3787 x_return_status);
3788 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3789 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3790 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3791 RAISE OKC_API.G_EXCEPTION_ERROR;
3792 END IF;
3793 --------------------------------------
3794 -- Move VIEW record to "Child" records
3795 --------------------------------------
3796 migrate(l_tabv_rec, l_tab_rec);
3797 --------------------------------------------
3798 -- Call the DELETE_ROW for each child record
3799 --------------------------------------------
3800 delete_row(
3801 p_init_msg_list,
3802 x_return_status,
3803 x_msg_count,
3804 x_msg_data,
3805 l_tab_rec
3806 );
3807 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3808 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3809 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3810 RAISE OKC_API.G_EXCEPTION_ERROR;
3811 END IF;
3812 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3813 EXCEPTION
3814 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3815 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3816 (
3817 l_api_name,
3818 G_PKG_NAME,
3819 'OKC_API.G_RET_STS_ERROR',
3820 x_msg_count,
3821 x_msg_data,
3822 '_PVT'
3823 );
3824 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3825 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3826 (
3827 l_api_name,
3828 G_PKG_NAME,
3829 'OKC_API.G_RET_STS_UNEXP_ERROR',
3830 x_msg_count,
3831 x_msg_data,
3832 '_PVT'
3833 );
3834 WHEN OTHERS THEN
3835 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3836 (
3837 l_api_name,
3838 G_PKG_NAME,
3839 'OTHERS',
3840 x_msg_count,
3841 x_msg_data,
3842 '_PVT'
3843 );
3844 END delete_row;
3845 ----------------------------------------
3846 -- PL/SQL TBL delete_row for:TABV_TBL --
3847 ----------------------------------------
3848 PROCEDURE delete_row(
3849 p_api_version IN NUMBER,
3850 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3851 x_return_status OUT NOCOPY VARCHAR2,
3852 x_msg_count OUT NOCOPY NUMBER,
3853 x_msg_data OUT NOCOPY VARCHAR2,
3854 p_tabv_tbl IN tabv_tbl_type) IS
3855
3856 l_api_version CONSTANT NUMBER := 1;
3857 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3858 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3859 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3860 i NUMBER := 0;
3861 BEGIN
3862 OKC_API.init_msg_list(p_init_msg_list);
3863 -- Make sure PL/SQL table has records in it before passing
3864 IF (p_tabv_tbl.COUNT > 0) THEN
3865 i := p_tabv_tbl.FIRST;
3866 LOOP
3867 delete_row (
3868 p_api_version => p_api_version,
3869 p_init_msg_list => OKC_API.G_FALSE,
3870 x_return_status => x_return_status,
3871 x_msg_count => x_msg_count,
3872 x_msg_data => x_msg_data,
3873 p_tabv_rec => p_tabv_tbl(i));
3874 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3875 IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3876 l_overall_status := x_return_status;
3877 END IF;
3878 END IF;
3879 EXIT WHEN (i = p_tabv_tbl.LAST);
3880 i := p_tabv_tbl.NEXT(i);
3881 END LOOP;
3882 END IF;
3883 x_return_status := l_overall_status;
3884 EXCEPTION
3885 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3886 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3887 (
3888 l_api_name,
3889 G_PKG_NAME,
3890 'OKC_API.G_RET_STS_ERROR',
3891 x_msg_count,
3892 x_msg_data,
3893 '_PVT'
3894 );
3895 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3896 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3897 (
3898 l_api_name,
3899 G_PKG_NAME,
3900 'OKC_API.G_RET_STS_UNEXP_ERROR',
3901 x_msg_count,
3902 x_msg_data,
3903 '_PVT'
3904 );
3905 WHEN OTHERS THEN
3906 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3907 (
3908 l_api_name,
3909 G_PKG_NAME,
3910 'OTHERS',
3911 x_msg_count,
3912 x_msg_data,
3913 '_PVT'
3914 );
3915 END delete_row;
3916 END OKL_TAB_PVT;