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