[Home] [Help]
PACKAGE BODY: APPS.OKL_AEH_PVT
Source
1 PACKAGE BODY Okl_Aeh_Pvt AS
2 /* $Header: OKLSAEHB.pls 120.3 2006/07/13 12:49:24 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_HEADERS
37 ---------------------------------------------------------------------------
38 FUNCTION get_rec (
39 p_aeh_rec IN aeh_rec_type,
40 x_no_data_found OUT NOCOPY BOOLEAN
41 ) RETURN aeh_rec_type IS
42 CURSOR okl_ae_headers_pk_csr (p_AE_HEADER_ID IN NUMBER) IS
43 SELECT
44 AE_HEADER_ID ,
45 POST_TO_GL_FLAG,
46 SET_OF_BOOKS_ID,
47 ORG_ID,
48 ACCOUNTING_EVENT_ID,
49 AE_CATEGORY,
50 PERIOD_NAME,
51 ACCOUNTING_DATE,
52 CROSS_CURRENCY_FLAG,
53 GL_TRANSFER_FLAG,
54 GL_TRANSFER_RUN_ID,
55 OBJECT_VERSION_NUMBER,
56 SEQUENCE_ID,
57 SEQUENCE_VALUE,
58 DESCRIPTION,
59 ACCOUNTING_ERROR_CODE,
60 GL_TRANSFER_ERROR_CODE,
61 GL_REVERSAL_FLAG,
62 PROGRAM_ID,
63 PROGRAM_APPLICATION_ID,
64 PROGRAM_UPDATE_DATE,
65 REQUEST_ID,
66 CREATED_BY,
67 CREATION_DATE,
68 LAST_UPDATED_BY,
69 LAST_UPDATE_DATE,
70 LAST_UPDATE_LOGIN
71 FROM Okl_Ae_Headers
72 WHERE okl_ae_headers.AE_HEADER_ID = p_AE_HEADER_ID ;
73 l_okl_ae_headers_pk okl_ae_headers_pk_csr%ROWTYPE;
74 l_aeh_rec aeh_rec_type;
75 BEGIN
76 x_no_data_found := TRUE;
77 -- Get current database values
78 OPEN okl_ae_headers_pk_csr (p_aeh_rec.AE_HEADER_ID );
79 FETCH okl_ae_headers_pk_csr INTO
80 l_aeh_rec.AE_HEADER_ID ,
81 l_aeh_rec.POST_TO_GL_FLAG,
82 l_aeh_rec.SET_OF_BOOKS_ID,
83 l_aeh_rec.ORG_ID,
84 l_aeh_rec.ACCOUNTING_EVENT_ID,
85 l_aeh_rec.AE_CATEGORY,
86 l_aeh_rec.PERIOD_NAME,
87 l_aeh_rec.ACCOUNTING_DATE,
88 l_aeh_rec.CROSS_CURRENCY_FLAG,
89 l_aeh_rec.GL_TRANSFER_FLAG,
90 l_aeh_rec.GL_TRANSFER_RUN_ID,
91 l_aeh_rec.OBJECT_VERSION_NUMBER,
92 l_aeh_rec.SEQUENCE_ID,
93 l_aeh_rec.SEQUENCE_VALUE,
94 l_aeh_rec.DESCRIPTION,
95 l_aeh_rec.ACCOUNTING_ERROR_CODE,
96 l_aeh_rec.GL_TRANSFER_ERROR_CODE,
97 l_aeh_rec.GL_REVERSAL_FLAG,
98 l_aeh_rec.PROGRAM_ID,
99 l_aeh_rec.PROGRAM_APPLICATION_ID,
100 l_aeh_rec.PROGRAM_UPDATE_DATE,
101 l_aeh_rec.REQUEST_ID,
102 l_aeh_rec.CREATED_BY,
103 l_aeh_rec.CREATION_DATE,
104 l_aeh_rec.LAST_UPDATED_BY,
105 l_aeh_rec.LAST_UPDATE_DATE,
106 l_aeh_rec.LAST_UPDATE_LOGIN;
107 x_no_data_found := okl_ae_headers_pk_csr%NOTFOUND;
108 CLOSE okl_ae_headers_pk_csr;
109 RETURN(l_aeh_rec);
110 END get_rec;
111
112 FUNCTION get_rec (
113 p_aeh_rec IN aeh_rec_type
114 ) RETURN aeh_rec_type IS
115 l_row_notfound BOOLEAN := TRUE;
116 BEGIN
117 RETURN(get_rec(p_aeh_rec, l_row_notfound));
118 END get_rec;
119 ---------------------------------------------------------------------------
120 -- FUNCTION get_rec for: OKL_AE_HEADERS_V
121 ---------------------------------------------------------------------------
122 FUNCTION get_rec (
123 p_aehv_rec IN aehv_rec_type,
124 x_no_data_found OUT NOCOPY BOOLEAN
125 ) RETURN aehv_rec_type IS
126 CURSOR okl_aehv_pk_csr (p_AE_HEADER_ID IN NUMBER) IS
127 SELECT
128 POST_TO_GL_FLAG,
129 AE_HEADER_ID,
130 OBJECT_VERSION_NUMBER,
131 ACCOUNTING_EVENT_ID,
132 SET_OF_BOOKS_ID,
133 ORG_ID,
134 AE_CATEGORY,
135 SEQUENCE_ID,
136 SEQUENCE_VALUE,
137 PERIOD_NAME,
138 ACCOUNTING_DATE,
139 DESCRIPTION,
140 ACCOUNTING_ERROR_CODE,
141 CROSS_CURRENCY_FLAG,
142 GL_TRANSFER_FLAG,
143 GL_TRANSFER_ERROR_CODE,
144 GL_TRANSFER_RUN_ID,
145 GL_REVERSAL_FLAG,
146 PROGRAM_ID,
147 PROGRAM_APPLICATION_ID,
148 PROGRAM_UPDATE_DATE,
149 REQUEST_ID,
150 CREATED_BY,
151 CREATION_DATE,
152 LAST_UPDATED_BY,
153 LAST_UPDATE_DATE,
154 LAST_UPDATE_LOGIN
155 FROM OKL_AE_HEADERS
156 WHERE OKL_AE_HEADERS.AE_HEADER_ID = p_AE_HEADER_ID ;
157 l_okl_aehv_pk okl_aehv_pk_csr%ROWTYPE;
158 l_aehv_rec aehv_rec_type;
159 BEGIN
160 x_no_data_found := TRUE;
161 -- Get current database values
162 OPEN okl_aehv_pk_csr (p_aehv_rec.AE_HEADER_ID);
163 FETCH okl_aehv_pk_csr INTO
164 l_aehv_rec.POST_TO_GL_FLAG,
165 l_aehv_rec.AE_HEADER_ID ,
166 l_aehv_rec.OBJECT_VERSION_NUMBER,
167 l_aehv_rec.ACCOUNTING_EVENT_ID,
168 l_aehv_rec.SET_OF_BOOKS_ID,
169 l_aehv_rec.ORG_ID,
170 l_aehv_rec.AE_CATEGORY,
171 l_aehv_rec.SEQUENCE_ID,
172 l_aehv_rec.SEQUENCE_VALUE,
173 l_aehv_rec.PERIOD_NAME,
174 l_aehv_rec.ACCOUNTING_DATE,
175 l_aehv_rec.DESCRIPTION,
176 l_aehv_rec.ACCOUNTING_ERROR_CODE,
177 l_aehv_rec.CROSS_CURRENCY_FLAG,
178 l_aehv_rec.GL_TRANSFER_FLAG,
179 l_aehv_rec.GL_TRANSFER_ERROR_CODE,
180 l_aehv_rec.GL_TRANSFER_RUN_ID,
181 l_aehv_rec.GL_REVERSAL_FLAG,
182 l_aehv_rec.PROGRAM_ID,
183 l_aehv_rec.PROGRAM_APPLICATION_ID,
184 l_aehv_rec.PROGRAM_UPDATE_DATE,
185 l_aehv_rec.REQUEST_ID,
186 l_aehv_rec.CREATED_BY,
187 l_aehv_rec.CREATION_DATE,
188 l_aehv_rec.LAST_UPDATED_BY,
189 l_aehv_rec.LAST_UPDATE_DATE,
190 l_aehv_rec.LAST_UPDATE_LOGIN;
191 x_no_data_found := okl_aehv_pk_csr%NOTFOUND;
192 CLOSE okl_aehv_pk_csr;
193 RETURN(l_aehv_rec);
194 END get_rec;
195
196 FUNCTION get_rec (
197 p_aehv_rec IN aehv_rec_type
198 ) RETURN aehv_rec_type IS
199 l_row_notfound BOOLEAN := TRUE;
200 BEGIN
201 RETURN(get_rec(p_aehv_rec, l_row_notfound));
202 END get_rec;
203
204 ------------------------------------------------------
205 -- FUNCTION null_out_defaults for: OKL_AE_HEADERS_V --
206 ------------------------------------------------------
207 FUNCTION null_out_defaults (
208 p_aehv_rec IN aehv_rec_type
209 ) RETURN aehv_rec_type IS
210 l_aehv_rec aehv_rec_type := p_aehv_rec;
211 BEGIN
212 IF (l_aehv_rec.post_to_gl_flag = Okc_Api.G_MISS_CHAR) THEN
213 l_aehv_rec.post_to_gl_flag := NULL;
214 END IF;
215 IF (l_aehv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
216 l_aehv_rec.object_version_number := NULL;
217 END IF;
218 IF (l_aehv_rec.ACCOUNTING_EVENT_ID = Okc_Api.G_MISS_NUM) THEN
219 l_aehv_rec.ACCOUNTING_EVENT_ID := NULL;
220 END IF;
221 IF (l_aehv_rec.set_of_books_id = Okc_Api.G_MISS_NUM) THEN
222 l_aehv_rec.set_of_books_id := NULL;
223 END IF;
224 IF (l_aehv_rec.org_id = Okc_Api.G_MISS_NUM) THEN
225 l_aehv_rec.org_id := NULL;
226 END IF;
227 IF (l_aehv_rec.AE_CATEGORY = Okc_Api.G_MISS_CHAR) THEN
228 l_aehv_rec.AE_CATEGORY := NULL;
229 END IF;
230 IF (l_aehv_rec.sequence_id = Okc_Api.G_MISS_NUM) THEN
231 l_aehv_rec.sequence_id := NULL;
232 END IF;
233 IF (l_aehv_rec.sequence_value = Okc_Api.G_MISS_NUM) THEN
234 l_aehv_rec.sequence_value := NULL;
235 END IF;
236 IF (l_aehv_rec.period_name = Okc_Api.G_MISS_CHAR) THEN
237 l_aehv_rec.period_name := NULL;
238 END IF;
239 IF (l_aehv_rec.accounting_date = Okc_Api.G_MISS_DATE) THEN
240 l_aehv_rec.accounting_date := NULL;
241 END IF;
242 IF (l_aehv_rec.description = Okc_Api.G_MISS_CHAR) THEN
243 l_aehv_rec.description := NULL;
244 END IF;
245 IF (l_aehv_rec.accounting_error_code = Okc_Api.G_MISS_CHAR) THEN
246 l_aehv_rec.accounting_error_code := NULL;
247 END IF;
248 IF (l_aehv_rec.cross_currency_flag = Okc_Api.G_MISS_CHAR) THEN
249 l_aehv_rec.cross_currency_flag := NULL;
250 END IF;
251 IF (l_aehv_rec.gl_transfer_flag = Okc_Api.G_MISS_CHAR) THEN
252 l_aehv_rec.gl_transfer_flag := NULL;
253 END IF;
254 IF (l_aehv_rec.gl_transfer_error_code = Okc_Api.G_MISS_CHAR) THEN
255 l_aehv_rec.gl_transfer_error_code := NULL;
256 END IF;
257 IF (l_aehv_rec.gl_transfer_run_id = Okc_Api.G_MISS_NUM) THEN
258 l_aehv_rec.gl_transfer_run_id := NULL;
259 END IF;
260 IF (l_aehv_rec.gl_reversal_flag = Okc_Api.G_MISS_CHAR) THEN
261 l_aehv_rec.gl_reversal_flag := NULL;
262 END IF;
263
264 IF (l_aehv_rec.program_id = Okc_Api.G_MISS_NUM) THEN
265 l_aehv_rec.program_id := NULL;
266 END IF;
267 IF (l_aehv_rec.program_application_id = Okc_Api.G_MISS_NUM) THEN
268 l_aehv_rec.program_application_id := NULL;
269 END IF;
270 IF (l_aehv_rec.program_update_date = Okc_Api.G_MISS_DATE) THEN
271 l_aehv_rec.program_update_date := NULL;
272 END IF;
273 IF (l_aehv_rec.request_id = Okc_Api.G_MISS_NUM) THEN
274 l_aehv_rec.request_id := NULL;
275 END IF;
276
277 IF (l_aehv_rec.created_by = Okc_Api.G_MISS_NUM) THEN
278 l_aehv_rec.created_by := NULL;
279 END IF;
280 IF (l_aehv_rec.creation_date = Okc_Api.G_MISS_DATE) THEN
281 l_aehv_rec.creation_date := NULL;
282 END IF;
283 IF (l_aehv_rec.last_updated_by = Okc_Api.G_MISS_NUM) THEN
284 l_aehv_rec.last_updated_by := NULL;
285 END IF;
286
287 IF (l_aehv_rec.last_update_date = Okc_Api.G_MISS_DATE) THEN
288 l_aehv_rec.last_update_date := NULL;
289 END IF;
290
291 IF (l_aehv_rec.last_update_login = Okc_Api.G_MISS_NUM) THEN
292 l_aehv_rec.last_update_login := NULL;
293 END IF;
294 RETURN(l_aehv_rec);
295
296 END null_out_defaults;
297
298 /*--- Renu Gurudev 4/26/2001 - Commented OUT generated code IN favor OF manually written code
299 ---------------------------------------------------------------------------
300 -- PROCEDURE Validate_Attributes
301 ---------------------------------------------------------------------------
302 ----------------------------------------------
303 -- Validate_Attributes for:OKL_AE_HEADERS_V --
304 ----------------------------------------------
305
306 Function Validate_Attributes (
307 p_aehv_rec IN aehv_rec_type
308 ) RETURN VARCHAR2 IS
309 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
310 BEGIN
311 IF p_aehv_rec.AE_HEADER_ID = Okc_Api.G_MISS_NUM OR
312 p_aehv_rec.AE_HEADER_ID IS NULL
313 THEN
314 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
315 l_return_status := Okc_Api.G_RET_STS_ERROR;
316 ELSIF p_aehv_rec.object_version_number = Okc_Api.G_MISS_NUM OR
317 p_aehv_rec.object_version_number IS NULL
318 THEN
319 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
320 l_return_status := Okc_Api.G_RET_STS_ERROR;
321 ELSIF p_aehv_rec.ACCOUNTING_EVENT_ID = Okc_Api.G_MISS_NUM OR
322 p_aehv_rec.ACCOUNTING_EVENT_ID IS NULL
323 THEN
324 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'accounting_event_id');
325 l_return_status := Okc_Api.G_RET_STS_ERROR;
326 ELSIF p_aehv_rec.set_of_books_id = Okc_Api.G_MISS_NUM OR
327 p_aehv_rec.set_of_books_id IS NULL
328 THEN
329 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'set_of_books_id');
330 l_return_status := Okc_Api.G_RET_STS_ERROR;
331 ELSIF p_aehv_rec.AE_CATEGORY = Okc_Api.G_MISS_CHAR OR
332 p_aehv_rec.AE_CATEGORY IS NULL
333 THEN
334 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'journal_category');
335 l_return_status := Okc_Api.G_RET_STS_ERROR;
336 ELSIF p_aehv_rec.period_name = Okc_Api.G_MISS_CHAR OR
337 p_aehv_rec.period_name IS NULL
338 THEN
339 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'period_name');
340 l_return_status := Okc_Api.G_RET_STS_ERROR;
341 ELSIF p_aehv_rec.accounting_date = Okc_Api.G_MISS_DATE OR
342 p_aehv_rec.accounting_date IS NULL
343 THEN
344 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'accounting_date');
345 l_return_status := Okc_Api.G_RET_STS_ERROR;
346 ELSIF p_aehv_rec.cross_currency_flag = Okc_Api.G_MISS_CHAR OR
347 p_aehv_rec.cross_currency_flag IS NULL
348 THEN
349 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'cross_currency_flag');
350 l_return_status := Okc_Api.G_RET_STS_ERROR;
351 ELSIF p_aehv_rec.gl_transfer_flag = Okc_Api.G_MISS_CHAR OR
352 p_aehv_rec.gl_transfer_flag IS NULL
353 THEN
354 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'gl_transfer_flag');
355 l_return_status := Okc_Api.G_RET_STS_ERROR;
356 ELSIF p_aehv_rec.gl_transfer_run_id = Okc_Api.G_MISS_NUM OR
357 p_aehv_rec.gl_transfer_run_id IS NULL
358 THEN
359 Okc_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'gl_transfer_run_id');
360 l_return_status := Okc_Api.G_RET_STS_ERROR;
361 END IF;
362 RETURN(l_return_status);
363 END Validate_Attributes;
364
365 ---------------------------------------------------------------------------
366 -- PROCEDURE Validate_Record
367 ---------------------------------------------------------------------------
368 ------------------------------------------
369 -- Validate_Record for:OKL_AE_HEADERS_V --
370 ------------------------------------------
371 Function Validate_Record (
372 p_aehv_rec IN aehv_rec_type
373 ) RETURN VARCHAR2 IS
374 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
375 BEGIN
376 RETURN (l_return_status);
377 END Validate_Record;
378
379
380 */
381 /*********** begin manual coding *****************/
382 ---------------------------------------------------------------------------
383 -- PROCEDURE Validate_AE_HEADER_ID
384 ---------------------------------------------------------------------------
385 -- Start of comments
386 --
387 -- Procedure Name : Validate_AE_HEADER_ID
388 -- Description :
389 -- Business Rules :
390 -- Parameters :
391 -- Version : 1.0
392 -- End of comments
393 ---------------------------------------------------------------------------
394 PROCEDURE Validate_AE_HEADER_ID (p_aehv_rec IN aehv_rec_type
395 ,x_return_status OUT NOCOPY VARCHAR2)
396 IS
397 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
398
399 BEGIN
400 -- initialize return status
401 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
402
403 -- check for data before processing
404 IF (p_aehv_rec.AE_HEADER_ID IS NULL) OR
405 (p_aehv_rec.AE_HEADER_ID = Okc_Api.G_MISS_NUM) THEN
406 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
407 ,p_msg_name => g_required_value
408 ,p_token1 => g_col_name_token
409 ,p_token1_value => 'id');
410 x_return_status := Okc_Api.G_RET_STS_ERROR;
411 RAISE G_EXCEPTION_HALT_VALIDATION;
412 END IF;
413
414 EXCEPTION
415 WHEN G_EXCEPTION_HALT_VALIDATION THEN
416 -- no processing necessary; validation can continue
417 -- with the next column
418 NULL;
419
420 WHEN OTHERS THEN
421 -- store SQL error message on message stack for caller
422 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
423 ,p_msg_name => g_unexpected_error
424 ,p_token1 => g_sqlcode_token
425 ,p_token1_value => SQLCODE
426 ,p_token2 => g_sqlerrm_token
427 ,p_token2_value => SQLERRM);
428
429 -- notify caller of an UNEXPECTED error
430 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
431
432 END Validate_AE_HEADER_ID ;
433
434 ---------------------------------------------------------------------------
435 -- PROCEDURE Validate_Object_Version_Number
436 ---------------------------------------------------------------------------
437 -- Start of comments
438 --
439 -- Procedure Name : Validate_Object_Version_Number
440 -- Description :
441 -- Business Rules :
442 -- Parameters :
443 -- Version : 1.0
444 -- End of comments
445 ---------------------------------------------------------------------------
446
447 PROCEDURE Validate_Object_Version_Number (p_aehv_rec IN aehv_rec_type
448 ,x_return_status OUT NOCOPY VARCHAR2)
449 IS
450 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
451
452 BEGIN
453 -- initialize return status
454 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
455
456 -- check for data before processing
457 IF (p_aehv_rec.object_version_number IS NULL) OR
458 (p_aehv_rec.object_version_number = Okc_Api.G_MISS_NUM) THEN
459 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
460 ,p_msg_name => g_required_value
461 ,p_token1 => g_col_name_token
462 ,p_token1_value => 'object_version_number');
463 x_return_status := Okc_Api.G_RET_STS_ERROR;
464 RAISE G_EXCEPTION_HALT_VALIDATION;
465 END IF;
466
467 EXCEPTION
468 WHEN G_EXCEPTION_HALT_VALIDATION THEN
469 -- no processing necessary; validation can continue
470 -- with the next column
471 NULL;
472 WHEN OTHERS THEN
473 -- store SQL error message on message stack for caller
474 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
475 ,p_msg_name => g_unexpected_error
476 ,p_token1 => g_sqlcode_token
477 ,p_token1_value => SQLCODE
478 ,p_token2 => g_sqlerrm_token
479 ,p_token2_value => SQLERRM);
480
481 -- notify caller of an UNEXPECTED error
482 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
483 END Validate_Object_Version_Number;
484
485
486 ---------------------------------------------------------------------------
487 -- PROCEDURE Validate_ACCOUNTING_EVENT_ID
488 ---------------------------------------------------------------------------
489 -- Start of comments
490 --
491 -- Procedure Name : Validate_ACCOUNTING_EVENT_ID
492 -- Description :
493 -- Business Rules :
494 -- Parameters :
495 -- Version : 1.0
496 -- End of comments
497 ---------------------------------------------------------------------------
498 PROCEDURE Validate_ACCOUNTING_EVENT_ID (p_aehv_rec IN aehv_rec_type
499 ,x_return_status OUT NOCOPY VARCHAR2)
500 IS
501 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
502 item_not_found_error EXCEPTION;
503 l_dummy_var VARCHAR2(1);
504 l_row_notfound BOOLEAN := TRUE;
505
506 CURSOR okl_aehv_fk_csr (p_accounting_event_id IN NUMBER) IS
507 SELECT '1'
508 FROM OKL_ACCOUNTING_EVENTS
509 WHERE OKL_ACCOUNTING_EVENTS.accounting_event_id = p_accounting_event_id;
510
511 BEGIN
512 -- initialize return status
513 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
514
515 -- check for data before processing
516 IF (p_aehv_rec.ACCOUNTING_EVENT_ID IS NULL) OR
517 (p_aehv_rec.ACCOUNTING_EVENT_ID = Okc_Api.G_MISS_NUM) THEN
518 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
519 ,p_msg_name => g_required_value
520 ,p_token1 => g_col_name_token
521 ,p_token1_value => 'accounting_event_id');
522 x_return_status := Okc_Api.G_RET_STS_ERROR;
523 RAISE G_EXCEPTION_HALT_VALIDATION;
524 END IF;
525
526 OPEN okl_aehv_fk_csr(p_aehv_rec.ACCOUNTING_EVENT_ID );
527 FETCH okl_aehv_fk_csr INTO l_dummy_var;
528 l_row_notfound := okl_aehv_fk_csr%NOTFOUND;
529 CLOSE okl_aehv_fk_csr;
530 IF (l_row_notfound) THEN
531 Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'accounting_event_id');
532 RAISE item_not_found_error;
533 END IF;
534
535 EXCEPTION
536 WHEN G_EXCEPTION_HALT_VALIDATION THEN
537 -- no processing necessary; validation can continue
538 -- with the next column
539 NULL;
540
541 WHEN item_not_found_error THEN
542 x_return_status := Okc_Api.G_RET_STS_ERROR;
543
544 WHEN OTHERS THEN
545 -- store SQL error message on message stack for caller
546 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
547 ,p_msg_name => g_unexpected_error
548 ,p_token1 => g_sqlcode_token
549 ,p_token1_value => SQLCODE
550 ,p_token2 => g_sqlerrm_token
551 ,p_token2_value => SQLERRM);
552
553 -- notify caller of an UNEXPECTED error
554 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
555
556 END Validate_ACCOUNTING_EVENT_ID ;
557
558
559 ---------------------------------------------------------------------------
560 -- PROCEDURE Validate_Set_Of_Books_Id
561 ---------------------------------------------------------------------------
562 -- Start of comments
563 --
564 -- Procedure Name : Validate_Set_Of_Books_Id
565 -- Description :
566 -- Business Rules :
567 -- Parameters :
568 -- Version : 1.0
569 -- End of comments
570 ---------------------------------------------------------------------------
571 PROCEDURE Validate_Set_Of_Books_Id (p_aehv_rec IN aehv_rec_type
572 ,x_return_status OUT NOCOPY VARCHAR2)
573 IS
574 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
575 l_dummy_var VARCHAR2(1);
576 item_not_found_error EXCEPTION;
577 l_row_notfound BOOLEAN := TRUE;
578
579 BEGIN
580 -- initialize return status
581 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
582
583 -- check for data before processing
584 IF (p_aehv_rec.set_of_books_id IS NULL) OR
585 (p_aehv_rec.set_of_books_id = Okc_Api.G_MISS_NUM) THEN
586 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
587 ,p_msg_name => g_required_value
588 ,p_token1 => g_col_name_token
589 ,p_token1_value => 'set_of_books_id');
590 x_return_status := Okc_Api.G_RET_STS_ERROR;
591 RAISE G_EXCEPTION_HALT_VALIDATION;
592 END IF;
593
594
595 EXCEPTION
596 WHEN G_EXCEPTION_HALT_VALIDATION THEN
597 -- no processing necessary; validation can continue
598 -- with the next column
599 NULL;
600 WHEN OTHERS THEN
601 -- store SQL error message on message stack for caller
602 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
603 ,p_msg_name => g_unexpected_error
604 ,p_token1 => g_sqlcode_token
605 ,p_token1_value => SQLCODE
606 ,p_token2 => g_sqlerrm_token
607 ,p_token2_value => SQLERRM);
608 -- notify caller of an UNEXPECTED error
609 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
610
611 END Validate_Set_Of_Books_Id;
612
613 ---------------------------------------------------------------------------
614 -- PROCEDURE Validate_AE_CATEGORY
615 ---------------------------------------------------------------------------
616 -- Start of comments
617 --
618 -- Procedure Name : Validate_AE_CATEGORY
619 -- Description :
620 -- Business Rules :
621 -- Parameters :
622 -- Version : 1.0
623 -- End of comments
624 ---------------------------------------------------------------------------
625
626 PROCEDURE Validate_AE_CATEGORY (p_aehv_rec IN aehv_rec_type
627 ,x_return_status OUT NOCOPY VARCHAR2)
628 IS
629 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
630 l_dummy VARCHAR2(1) := OKC_API.G_FALSE;
631
632 BEGIN
633 -- initialize return status
634 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
635
636 -- check for data before processing
637 IF (p_aehv_rec.AE_CATEGORY IS NULL) OR
638 (p_aehv_rec.AE_CATEGORY = Okc_Api.G_MISS_CHAR) THEN
639 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
640 ,p_msg_name => g_required_value
641 ,p_token1 => g_col_name_token
642 ,p_token1_value => 'journal_category');
643 x_return_status := Okc_Api.G_RET_STS_ERROR;
644 RAISE G_EXCEPTION_HALT_VALIDATION;
645 END IF;
646 l_dummy := OKL_ACCOUNTING_UTIL.validate_journal_CATEGORY(p_aehv_rec.AE_CATEGORY);
647
648 IF (l_dummy = OKC_API.G_FALSE) THEN
649 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
650 ,p_msg_name => g_invalid_value
651 ,p_token1 => g_col_name_token
652 ,p_token1_value => 'journal_category');
653 x_return_status := Okc_Api.G_RET_STS_ERROR;
654 RAISE G_EXCEPTION_HALT_VALIDATION;
655 END IF;
656
657
658 EXCEPTION
659 WHEN G_EXCEPTION_HALT_VALIDATION THEN
660 -- no processing necessary; validation can continue
661 -- with the next column
662 NULL;
663
664 WHEN OTHERS THEN
665 -- store SQL error message on message stack for caller
666 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
667 ,p_msg_name => g_unexpected_error
668 ,p_token1 => g_sqlcode_token
669 ,p_token1_value => SQLCODE
670 ,p_token2 => g_sqlerrm_token
671 ,p_token2_value => SQLERRM);
672
673 -- notify caller of an UNEXPECTED error
674 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
675
676 END Validate_AE_CATEGORY;
677
678 ---------------------------------------------------------------------------
679 -- PROCEDURE Validate_Period_Name
680 ---------------------------------------------------------------------------
681 -- Start of comments
682 --
683 -- Procedure Name : Validate_Period_Name
684 -- Description :
685 -- Business Rules :
686 -- Parameters :
687 -- Version : 1.0
688 -- End of comments
689 ---------------------------------------------------------------------------
690 PROCEDURE Validate_Period_Name (p_aehv_rec IN aehv_rec_type
691 ,x_return_status OUT NOCOPY VARCHAR2)
692 IS
693 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
694
695 BEGIN
696 -- initialize return status
697 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
698
699 -- check for data before processing
700 IF (p_aehv_rec.period_name IS NULL) OR
701 (p_aehv_rec.period_name = Okc_Api.G_MISS_CHAR) THEN
702 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
703 ,p_msg_name => g_required_value
704 ,p_token1 => g_col_name_token
705 ,p_token1_value => 'period_name');
706 x_return_status := Okc_Api.G_RET_STS_ERROR;
707 RAISE G_EXCEPTION_HALT_VALIDATION;
708 END IF;
709
710 EXCEPTION
711 WHEN G_EXCEPTION_HALT_VALIDATION THEN
712 -- no processing necessary; validation can continue
713 -- with the next column
714 NULL;
715
716 WHEN OTHERS THEN
717 -- store SQL error message on message stack for caller
718 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
719 ,p_msg_name => g_unexpected_error
720 ,p_token1 => g_sqlcode_token
721 ,p_token1_value => SQLCODE
722 ,p_token2 => g_sqlerrm_token
723 ,p_token2_value => SQLERRM);
724
725 -- notify caller of an UNEXPECTED error
726 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
727
728 END Validate_Period_Name;
729
730 ---------------------------------------------------------------------------
731 -- PROCEDURE Validate_Accounting_Date
732 ---------------------------------------------------------------------------
733 -- Start of comments
734 --
735 -- Procedure Name : Validate_Accounting_Date
736 -- Description :
737 -- Business Rules :
738 -- Parameters :
739 -- Version : 1.0
740 -- End of comments
741 ---------------------------------------------------------------------------
742 PROCEDURE Validate_Accounting_Date(p_aehv_rec IN aehv_rec_type
743 ,x_return_status OUT NOCOPY VARCHAR2)
744 IS
745
746 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
747
748 BEGIN
749 -- initialize return status
750 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
751
752 -- check for data before processing
753 IF (p_aehv_rec.accounting_date IS NULL) OR
754 (p_aehv_rec.accounting_date = Okc_Api.G_MISS_DATE) THEN
755 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
756 ,p_msg_name => g_required_value
757 ,p_token1 => g_col_name_token
758 ,p_token1_value => 'accounting_date');
759 x_return_status := Okc_Api.G_RET_STS_ERROR;
760 RAISE G_EXCEPTION_HALT_VALIDATION;
761 END IF;
762
763 EXCEPTION
764 WHEN G_EXCEPTION_HALT_VALIDATION THEN
765 -- no processing necessary; validation can continue
766 -- with the next column
767 NULL;
768
769 WHEN OTHERS THEN
770 -- store SQL error message on message stack for caller
771 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
772 p_msg_name => g_unexpected_error,
773 p_token1 => g_sqlcode_token,
774 p_token1_value => SQLCODE,
775 p_token2 => g_sqlerrm_token,
776 p_token2_value => SQLERRM);
777
778 -- notify caller of an UNEXPECTED error
779 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
780
781 END Validate_Accounting_Date;
782
783 ---------------------------------------------------------------------------
784 -- PROCEDURE Validate_Cross_Currency_Flag
785 ---------------------------------------------------------------------------
786 -- Start of comments
787 --
788 -- Procedure Name : Validate_Cross_Currency_Flag
789 -- Description :
790 -- Business Rules :
791 -- Parameters :
792 -- Version : 1.0
793 -- End of comments
794 ---------------------------------------------------------------------------
795 PROCEDURE Validate_Cross_Currency_Flag(p_aehv_rec IN aehv_rec_type
796 ,x_return_status OUT NOCOPY VARCHAR2)
797 IS
798
799 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
800
801 BEGIN
802 -- initialize return status
803 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
804
805 -- check for data before processing
806 IF (p_aehv_rec.cross_currency_flag IS NULL) OR
807 (p_aehv_rec.cross_currency_flag = Okc_Api.G_MISS_CHAR) THEN
808 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
809 ,p_msg_name => g_required_value
810 ,p_token1 => g_col_name_token
811 ,p_token1_value => 'cross_currency_flag');
812 x_return_status := Okc_Api.G_RET_STS_ERROR;
813 RAISE G_EXCEPTION_HALT_VALIDATION;
814 END IF;
815
816 -- check in fnd_lookups for validity
817
818 l_dummy
819 := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(p_lookup_type => 'YES_NO',
820 p_lookup_code => p_aehv_rec.cross_currency_flag,
821 p_app_id => 0,
822 p_view_app_id => 0);
823
824 IF (l_dummy = Okc_Api.G_FALSE) THEN
825 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
826 ,p_msg_name => g_invalid_value
827 ,p_token1 => g_col_name_token
828 ,p_token1_value => 'CROSS_CURRENCY_FLAG');
829 x_return_status := Okc_Api.G_RET_STS_ERROR;
830 RAISE G_EXCEPTION_HALT_VALIDATION;
831 END IF;
832 EXCEPTION
833 WHEN G_EXCEPTION_HALT_VALIDATION THEN
834 -- no processing neccessary; validation can continue
835 -- with the next column
836 NULL;
837
838 WHEN OTHERS THEN
839 -- store SQL error message on message stack for caller
840 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
841 p_msg_name => g_unexpected_error,
842 p_token1 => g_sqlcode_token,
843 p_token1_value => SQLCODE,
844 p_token2 => g_sqlerrm_token,
845 p_token2_value => SQLERRM);
846
847 -- notify caller of an UNEXPECTED error
848 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
849
850 END Validate_Cross_Currency_Flag;
851
852 ---------------------------------------------------------------------------
853 -- PROCEDURE Validate_GL_Transfer_Flag
854 ---------------------------------------------------------------------------
855 -- Start of comments
856 --
857 -- Procedure Name : Validate_GL_Transfer_Flag
858 -- Description :
859 -- Business Rules :
860 -- Parameters :
861 -- Version : 1.0
862 -- End of comments
863 ---------------------------------------------------------------------------
864 PROCEDURE Validate_GL_Transfer_Flag(p_aehv_rec IN aehv_rec_type
865 ,x_return_status OUT NOCOPY VARCHAR2)
866 IS
867
868 l_DUMMY VARCHAR2(1) := Okc_Api.G_FALSE;
869
870 BEGIN
871 -- initialize return status
872 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
873
874 -- check for data before processing
875 IF (p_aehv_rec.gl_transfer_flag IS NULL) OR
876 (p_aehv_rec.gl_transfer_flag = Okc_Api.G_MISS_CHAR) THEN
877 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
878 ,p_msg_name => g_required_value
879 ,p_token1 => g_col_name_token
880 ,p_token1_value => 'gl_transfer_flag');
881 x_return_status := Okc_Api.G_RET_STS_ERROR;
882 RAISE G_EXCEPTION_HALT_VALIDATION;
883 END IF;
884
885 -- check in fnd_lookups for validity
886 l_dummy
887 := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(p_lookup_type => 'YES_NO',
888 p_lookup_code => p_aehv_rec.gl_transfer_flag,
889 p_app_id => 0,
890 p_view_app_id => 0);
891
892 IF (l_dummy = Okc_Api.G_FALSE) THEN
893 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
894 ,p_msg_name => g_invalid_value
895 ,p_token1 => g_col_name_token
896 ,p_token1_value => 'GL_TRANSFER_FLAG');
897 x_return_status := Okc_Api.G_RET_STS_ERROR;
898 RAISE G_EXCEPTION_HALT_VALIDATION;
899 END IF;
900
901 EXCEPTION
902 WHEN G_EXCEPTION_HALT_VALIDATION THEN
903 -- no processing neccessary; validation can continue
904 -- with the next column
905 NULL;
906
907 WHEN OTHERS THEN
908 -- store SQL error message on message stack for caller
909 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
910 p_msg_name => g_unexpected_error,
911 p_token1 => g_sqlcode_token,
912 p_token1_value => SQLCODE,
913 p_token2 => g_sqlerrm_token,
914 p_token2_value => SQLERRM);
915
916 -- notify caller of an UNEXPECTED error
917 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
918
919 END Validate_GL_Transfer_Flag;
920
921 ---------------------------------------------------------------------------
922 -- PROCEDURE Validate_GL_Reversal_Flag
923 ---------------------------------------------------------------------------
924 -- Start of comments
925 --
926 -- Procedure Name : Validate_GL_Reversal_Flag
927 -- Description :
928 -- Business Rules :
929 -- Parameters :
930 -- Version : 1.0
931 -- End of comments
932 ---------------------------------------------------------------------------
933 PROCEDURE Validate_GL_Reversal_Flag(p_aehv_rec IN aehv_rec_type
934 ,x_return_status OUT NOCOPY VARCHAR2)
935 IS
936
937 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
938
939 BEGIN
940 -- initialize return status
941
942 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
943
944 -- check in fnd_lookups for validity
945 IF (p_aehv_rec.gl_reversal_flag IS NOT NULL) AND
946 (p_aehv_rec.gl_reversal_flag <> Okc_Api.G_MISS_CHAR) THEN
947 l_dummy
948 := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(p_lookup_type => 'YES_NO',
949 p_lookup_code => p_aehv_rec.gl_reversal_flag,
950 p_app_id => 0,
951 p_view_app_id => 0);
952
953 IF (l_dummy = Okc_Api.G_FALSE) THEN
954 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
955 ,p_msg_name => g_invalid_value
956 ,p_token1 => g_col_name_token
957 ,p_token1_value => 'GL_REVERSAL_FLAG');
958 x_return_status := Okc_Api.G_RET_STS_ERROR;
959 RAISE G_EXCEPTION_HALT_VALIDATION;
960 END IF;
961
962 END IF;
963
964 EXCEPTION
965 WHEN G_EXCEPTION_HALT_VALIDATION THEN
966 -- no processing neccessary; validation can continue
967 -- with the next column
968 NULL;
969
970 WHEN OTHERS THEN
971 -- store SQL error message on message stack for caller
972 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
973 p_msg_name => g_unexpected_error,
974 p_token1 => g_sqlcode_token,
975 p_token1_value => SQLCODE,
976 p_token2 => g_sqlerrm_token,
977 p_token2_value => SQLERRM);
978
979 -- notify caller of an UNEXPECTED error
980 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
981
982 END Validate_GL_Reversal_Flag;
983
984 ---------------------------------------------------------------------------
985 -- PROCEDURE Validate_Post_To_GL_Flag
986 ---------------------------------------------------------------------------
987 -- Start of comments
988 --
989 -- Procedure Name : Validate_Post_To_GL_Flag
990 -- Description :
991 -- Business Rules :
992 -- Parameters :
993 -- Version : 1.0
994 -- End of comments
995 ---------------------------------------------------------------------------
996 PROCEDURE Validate_Post_To_GL_Flag(p_aehv_rec IN aehv_rec_type
997 ,x_return_status OUT NOCOPY VARCHAR2)
998 IS
999
1000 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
1001
1002 BEGIN
1003 -- initialize return status
1004 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1005
1006 IF (p_aehv_rec.post_to_gl_flag IS NOT NULL) AND
1007 (p_aehv_rec.post_to_gl_flag <> Okc_Api.G_MISS_CHAR) THEN
1008 l_dummy
1009 := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(p_lookup_type => 'YES_NO',
1010 p_lookup_code => p_aehv_rec.post_to_gl_flag,
1011 p_app_id => 0,
1012 p_view_app_id => 0);
1013
1014
1015 IF (l_dummy = Okc_Api.G_FALSE) THEN
1016 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1017 ,p_msg_name => g_invalid_value
1018 ,p_token1 => g_col_name_token
1019 ,p_token1_value => 'POST_TO_GL_FLAG');
1020 x_return_status := Okc_Api.G_RET_STS_ERROR;
1021 RAISE G_EXCEPTION_HALT_VALIDATION;
1022 END IF;
1023 END IF;
1024
1025 EXCEPTION
1026 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1027 -- no processing neccessary; validation can continue
1028 -- with the next column
1029 NULL;
1030
1031 WHEN OTHERS THEN
1032 -- store SQL error message on message stack for caller
1033 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1034 p_msg_name => g_unexpected_error,
1035 p_token1 => g_sqlcode_token,
1036 p_token1_value => SQLCODE,
1037 p_token2 => g_sqlerrm_token,
1038 p_token2_value => SQLERRM);
1039
1040 -- notify caller of an UNEXPECTED error
1041 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1042
1043 END Validate_Post_To_GL_Flag;
1044
1045 ---------------------------------------------------------------------------
1046 -- PROCEDURE Validate_GL_Transfer_Run_Id
1047 ---------------------------------------------------------------------------
1048 -- Start of comments
1049 --
1050 -- Procedure Name : Validate_GL_Transfer_Run_Id
1051 -- Description :
1052 -- Business Rules :
1053 -- Parameters :
1054 -- Version : 1.0
1055 -- End of comments
1056 ---------------------------------------------------------------------------
1057 PROCEDURE Validate_GL_Transfer_Run_Id (p_aehv_rec IN aehv_rec_type
1058 ,x_return_status OUT NOCOPY VARCHAR2)
1059 IS
1060 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1061
1062 BEGIN
1063 -- initialize return status
1064 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1065
1066 -- check for data before processing
1067 IF (p_aehv_rec.gl_transfer_run_id IS NULL) OR
1068 (p_aehv_rec.gl_transfer_run_id = Okc_Api.G_MISS_NUM) THEN
1069 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1070 ,p_msg_name => g_required_value
1071 ,p_token1 => g_col_name_token
1072 ,p_token1_value => 'gl_transfer_run_id');
1073 x_return_status := Okc_Api.G_RET_STS_ERROR;
1074 RAISE G_EXCEPTION_HALT_VALIDATION;
1075 END IF;
1076
1077 EXCEPTION
1078 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1079 -- no processing necessary; validation can continue
1080 -- with the next column
1081 NULL;
1082
1083 WHEN OTHERS THEN
1084 -- store SQL error message on message stack for caller
1085 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1086 ,p_msg_name => g_unexpected_error
1087 ,p_token1 => g_sqlcode_token
1088 ,p_token1_value => SQLCODE
1089 ,p_token2 => g_sqlerrm_token
1090 ,p_token2_value => SQLERRM);
1091
1092 -- notify caller of an UNEXPECTED error
1093 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1094
1095 END Validate_GL_Transfer_Run_Id;
1096
1097 ---------------------------------------------------------------------------
1098 -- PROCEDURE Validate_Accounting_error_code
1099 ---------------------------------------------------------------------------
1100 -- Start of comments
1101 --
1102 -- Procedure Name : Validate_Accounting_Error_code
1103 -- Description :
1104 -- Business Rules :
1105 -- Parameters :
1106 -- Version : 1.0
1107 -- End of comments
1108 ---------------------------------------------------------------------------
1109 PROCEDURE Validate_Accounting_Error_code (p_aehv_rec IN aehv_rec_type
1110 ,x_return_status OUT NOCOPY VARCHAR2)
1111 IS
1112 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
1113
1114 BEGIN
1115 -- initialize return status
1116 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1117
1118 -- check for data before processing
1119 IF (p_aehv_rec.Accounting_Error_Code IS NOT NULL) AND
1120 (p_aehv_rec.Accounting_Error_code <> Okc_Api.G_MISS_CHAR) THEN
1121
1122 l_dummy := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(
1123 p_lookup_type => 'OKL_ACCOUNTING_ERROR_CODE',
1124 p_lookup_code => p_aehv_rec.accounting_error_code);
1125
1126 IF (l_dummy = OKC_API.G_FALSE) THEN
1127
1128 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1129 ,p_msg_name => g_invalid_value
1130 ,p_token1 => g_col_name_token
1131 ,p_token1_value => 'ACCOUNTING_ERROR_CODE');
1132 x_return_status := Okc_Api.G_RET_STS_ERROR;
1133
1134 RAISE G_EXCEPTION_HALT_VALIDATION;
1135
1136 END IF;
1137
1138 END IF;
1139
1140 EXCEPTION
1141 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1142 -- no processing necessary; validation can continue
1143 -- with the next column
1144 NULL;
1145
1146 WHEN OTHERS THEN
1147 -- store SQL error message on message stack for caller
1148 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1149 ,p_msg_name => g_unexpected_error
1150 ,p_token1 => g_sqlcode_token
1151 ,p_token1_value => SQLCODE
1152 ,p_token2 => g_sqlerrm_token
1153 ,p_token2_value => SQLERRM);
1154
1155 -- notify caller of an UNEXPECTED error
1156 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1157
1158 END Validate_Accounting_Error_Code;
1159
1160
1161 ---------------------------------------------------------------------------
1162 -- PROCEDURE Validate_GL_Transfer_Err_Code
1163 ---------------------------------------------------------------------------
1164 -- Start of comments
1165 --
1166 -- Procedure Name : validate_gl_transfer_err_code
1167 -- Description :
1168 -- Business Rules :
1169 -- Parameters :
1170 -- Version : 1.0
1171 -- End of comments
1172 ---------------------------------------------------------------------------
1173 PROCEDURE validate_gl_transfer_err_code (p_aehv_rec IN aehv_rec_type
1174 ,x_return_status OUT NOCOPY VARCHAR2)
1175 IS
1176 l_dummy VARCHAR2(1) := Okc_Api.G_FALSE;
1177
1178 BEGIN
1179 -- initialize return status
1180 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1181
1182 -- check for data before processing
1183 IF (p_aehv_rec.GL_Transfer_Error_Code IS NOT NULL) AND
1184 (p_aehv_rec.GL_Transfer_Error_Code <> Okc_Api.G_MISS_CHAR) THEN
1185
1186 l_dummy
1187 := OKL_ACCOUNTING_UTIL.VALIDATE_LOOKUP_CODE(
1188 p_lookup_type => 'OKL_ACCOUNTING_ERROR_CODE',
1189 p_lookup_code => p_aehv_rec.GL_Transfer_Error_Code);
1190
1191 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1192 ,p_msg_name => g_invalid_value
1193 ,p_token1 => g_col_name_token
1194 ,p_token1_value => 'GL_TRANSFER_ERROR_CODE');
1195 x_return_status := Okc_Api.G_RET_STS_ERROR;
1196 RAISE G_EXCEPTION_HALT_VALIDATION;
1197 END IF;
1198
1199 EXCEPTION
1200 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1201 -- no processing necessary; validation can continue
1202 -- with the next column
1203 NULL;
1204
1205 WHEN OTHERS THEN
1206 -- store SQL error message on message stack for caller
1207 Okc_Api.SET_MESSAGE(p_app_name => g_app_name
1208 ,p_msg_name => g_unexpected_error
1209 ,p_token1 => g_sqlcode_token
1210 ,p_token1_value => SQLCODE
1211 ,p_token2 => g_sqlerrm_token
1212 ,p_token2_value => SQLERRM);
1213
1214 -- notify caller of an UNEXPECTED error
1215 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1216
1217 END validate_gl_transfer_err_code;
1218
1219
1220 ---------------------------------------------------------------------------
1221 -- FUNCTION Validate_Attributes
1222 ---------------------------------------------------------------------------
1223 -- Start of comments
1224 --
1225 -- Procedure Name : Validate_Attributes
1226 -- Description :
1227 -- Business Rules :
1228 -- Parameters :
1229 -- Version : 1.0
1230 -- End of comments
1231 ---------------------------------------------------------------------------
1232
1233 FUNCTION Validate_Attributes (
1234 p_aehv_rec IN aehv_rec_type
1235 ) RETURN VARCHAR2 IS
1236
1237 x_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1238 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1239 BEGIN
1240
1241 -- call each column-level validation
1242
1243 -- Validate_AE_HEADER_ID
1244 Validate_AE_HEADER_ID (p_aehv_rec, x_return_status);
1245 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1246 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1247 -- need to exit
1248 l_return_status := x_return_status;
1249 RAISE G_EXCEPTION_HALT_VALIDATION;
1250 ELSE
1251 -- there was an error
1252 l_return_status := x_return_status;
1253 END IF;
1254 END IF;
1255
1256 -- Validate_Object_Version_Number
1257 Validate_Object_Version_Number(p_aehv_rec, x_return_status);
1258 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1259 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1260 -- need to exit
1261 l_return_status := x_return_status;
1262 RAISE G_EXCEPTION_HALT_VALIDATION;
1263 ELSE
1264 -- there was an error
1265 l_return_status := x_return_status;
1266 END IF;
1267 END IF;
1268
1269 -- Validate_ACCOUNTING_EVENT_ID
1270 Validate_ACCOUNTING_EVENT_ID (p_aehv_rec, x_return_status);
1271 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1272 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1273 -- need to exit
1274 l_return_status := x_return_status;
1275 RAISE G_EXCEPTION_HALT_VALIDATION;
1276 ELSE
1277 -- there was an error
1278 l_return_status := x_return_status;
1279 END IF;
1280 END IF;
1281
1282 -- Validate_Set_Of_Books_Id
1283 Validate_Set_Of_Books_Id(p_aehv_rec, x_return_status);
1284 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1285 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1286 -- need to exit
1287 l_return_status := x_return_status;
1288 RAISE G_EXCEPTION_HALT_VALIDATION;
1289 ELSE
1290 -- there was an error
1291 l_return_status := x_return_status;
1292 END IF;
1293 END IF;
1294
1295 -- Validate_AE_CATEGORY
1296 Validate_AE_CATEGORY(p_aehv_rec, x_return_status);
1297 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1298 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1299 -- need to exit
1300 l_return_status := x_return_status;
1301 RAISE G_EXCEPTION_HALT_VALIDATION;
1302 ELSE
1303 -- there was an error
1304 l_return_status := x_return_status;
1305 END IF;
1306 END IF;
1307
1308 -- Validate_Period_Name
1309 Validate_Period_Name(p_aehv_rec, x_return_status);
1310 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1311 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1312 -- need to exit
1313 l_return_status := x_return_status;
1314 RAISE G_EXCEPTION_HALT_VALIDATION;
1315 ELSE
1316 -- there was an error
1317 l_return_status := x_return_status;
1318 END IF;
1319 END IF;
1320
1321 -- Validate_Accounting_Date
1322 Validate_Accounting_Date(p_aehv_rec, x_return_status);
1323 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1324 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1325 -- need to exit
1326 l_return_status := x_return_status;
1327 RAISE G_EXCEPTION_HALT_VALIDATION;
1328 ELSE
1329 -- there was an error
1330 l_return_status := x_return_status;
1331 END IF;
1332 END IF;
1333
1334 -- Validate_Cross_Currency_Flag
1335 Validate_Cross_Currency_Flag(p_aehv_rec, x_return_status);
1336 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1337 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1338 -- need to exit
1339 l_return_status := x_return_status;
1340 RAISE G_EXCEPTION_HALT_VALIDATION;
1341 ELSE
1342 -- there was an error
1343 l_return_status := x_return_status;
1344 END IF;
1345 END IF;
1346
1347 -- Validate_GL_Transfer_Flag
1348 Validate_GL_Transfer_Flag(p_aehv_rec, x_return_status);
1349 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1350 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1351 -- need to exit
1352 l_return_status := x_return_status;
1353 RAISE G_EXCEPTION_HALT_VALIDATION;
1354 ELSE
1355 -- there was an error
1356 l_return_status := x_return_status;
1357 END IF;
1358 END IF;
1359
1360 -- Validate_Post_To_GL_Flag
1361 Validate_Post_To_GL_Flag(p_aehv_rec, x_return_status);
1362 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1363 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1364 -- need to exit
1365 l_return_status := x_return_status;
1366 RAISE G_EXCEPTION_HALT_VALIDATION;
1367 ELSE
1368 -- there was an error
1369 l_return_status := x_return_status;
1370 END IF;
1371 END IF;
1372
1373 -- Validate_GL_Reversal_Flag
1374 Validate_GL_Reversal_Flag(p_aehv_rec, x_return_status);
1375 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1376 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1377 -- need to exit
1378 l_return_status := x_return_status;
1379 RAISE G_EXCEPTION_HALT_VALIDATION;
1380 ELSE
1381 -- there was an error
1382 l_return_status := x_return_status;
1383 END IF;
1384 END IF;
1385
1386 -- Validate_GL_Transfer_Run_Id
1387 Validate_GL_Transfer_Run_Id(p_aehv_rec, x_return_status);
1388 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1389 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1390 -- need to exit
1391 l_return_status := x_return_status;
1392 RAISE G_EXCEPTION_HALT_VALIDATION;
1393 ELSE
1394 -- there was an error
1395 l_return_status := x_return_status;
1396 END IF;
1397 END IF;
1398
1399 -- Validate_Accounting_Error_Code
1400 Validate_Accounting_Error_Code(p_aehv_rec, x_return_status);
1401 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1402 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1403 -- need to exit
1404 l_return_status := x_return_status;
1405 RAISE G_EXCEPTION_HALT_VALIDATION;
1406 ELSE
1407 -- there was an error
1408 l_return_status := x_return_status;
1409 END IF;
1410 END IF;
1411
1412 -- validate_gl_transfer_err_code
1413 validate_gl_transfer_err_code(p_aehv_rec, x_return_status);
1414 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
1415 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1416 -- need to exit
1417 l_return_status := x_return_status;
1418 RAISE G_EXCEPTION_HALT_VALIDATION;
1419 ELSE
1420 -- there was an error
1421 l_return_status := x_return_status;
1422 END IF;
1423 END IF;
1424
1425 RETURN(l_return_status);
1426 EXCEPTION
1427 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1428 -- exit with return status
1429 NULL;
1430 RETURN (l_return_status);
1431
1432 WHEN OTHERS THEN
1433 -- store SQL error message on message stack for caller
1434 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1435 p_msg_name => g_unexpected_error,
1436 p_token1 => g_sqlcode_token,
1437 p_token1_value => SQLCODE,
1438 p_token2 => g_sqlerrm_token,
1439 p_token2_value => SQLERRM);
1440 -- notify caller of an UNEXPECTED error
1441 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1442 RETURN(l_return_status);
1443
1444 END Validate_Attributes;
1445
1446 ---------------------------------------------------------------------------
1447 -- PROCEDURE Validate_Record
1448 ---------------------------------------------------------------------------
1449 -- Start of comments
1450 --
1451 -- Procedure Name : Validate_Record
1452 -- Description :
1453 -- Business Rules :
1454 -- Parameters :
1455 -- Version : 1.0
1456 -- End of comments
1457 ---------------------------------------------------------------------------
1458
1459 FUNCTION Validate_Record (
1460 p_aehv_rec IN aehv_rec_type
1461 ) RETURN VARCHAR2 IS
1462 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1463 BEGIN
1464 RETURN(l_return_status);
1465 END Validate_Record;
1466
1467 /*********************** END MANUAL CODE **********************************/
1468
1469 ---------------------------------------------------------------------------
1470 -- PROCEDURE Migrate
1471 ---------------------------------------------------------------------------
1472
1473 PROCEDURE migrate (
1474 p_from IN aehv_rec_type,
1475 p_to IN OUT NOCOPY aeh_rec_type
1476 ) IS
1477 BEGIN
1478 p_to.AE_HEADER_ID := p_from.AE_HEADER_ID ;
1479 p_to.post_to_gl_flag := p_from.post_to_gl_flag;
1480 p_to.set_of_books_id := p_from.set_of_books_id;
1481 p_to.org_id := p_from.org_id;
1482 p_to.ACCOUNTING_EVENT_ID := p_from.ACCOUNTING_EVENT_ID ;
1483 p_to.AE_CATEGORY := p_from.AE_CATEGORY;
1484 p_to.period_name := p_from.period_name;
1485 p_to.accounting_date := p_from.accounting_date;
1486 p_to.cross_currency_flag := p_from.cross_currency_flag;
1487 p_to.gl_transfer_flag := p_from.gl_transfer_flag;
1488 p_to.gl_transfer_run_id := p_from.gl_transfer_run_id;
1489 p_to.object_version_number := p_from.object_version_number;
1490 p_to.sequence_id := p_from.sequence_id;
1491 p_to.sequence_value := p_from.sequence_value;
1492 p_to.description := p_from.description;
1493 p_to.accounting_error_code := p_from.accounting_error_code;
1494 p_to.gl_transfer_error_code := p_from.gl_transfer_error_code;
1495 p_to.gl_reversal_flag := p_from.gl_reversal_flag;
1496 p_to.program_id := p_from.program_id;
1497 p_to.program_application_id := p_from.program_application_id;
1498 p_to.program_update_date := p_from.program_update_date;
1499 p_to.request_id := p_from.request_id;
1500 p_to.created_by := p_from.created_by;
1501 p_to.creation_date := p_from.creation_date;
1502 p_to.last_updated_by := p_from.last_updated_by;
1503 p_to.last_update_date := p_from.last_update_date;
1504 p_to.last_update_login := p_from.last_update_login;
1505 END migrate;
1506 PROCEDURE migrate (
1507 p_from IN aeh_rec_type,
1508 p_to IN OUT NOCOPY aehv_rec_type
1509 ) IS
1510 BEGIN
1511 p_to.AE_HEADER_ID := p_from.AE_HEADER_ID ;
1512 p_to.post_to_gl_flag := p_from.post_to_gl_flag;
1513 p_to.set_of_books_id := p_from.set_of_books_id;
1514 p_to.org_id := p_from.org_id;
1515 p_to.ACCOUNTING_EVENT_ID := p_from.ACCOUNTING_EVENT_ID ;
1516 p_to.AE_CATEGORY := p_from.AE_CATEGORY;
1517 p_to.period_name := p_from.period_name;
1518 p_to.accounting_date := p_from.accounting_date;
1519 p_to.cross_currency_flag := p_from.cross_currency_flag;
1520 p_to.gl_transfer_flag := p_from.gl_transfer_flag;
1521 p_to.gl_transfer_run_id := p_from.gl_transfer_run_id;
1522 p_to.object_version_number := p_from.object_version_number;
1523 p_to.sequence_id := p_from.sequence_id;
1524 p_to.sequence_value := p_from.sequence_value;
1525 p_to.description := p_from.description;
1526 p_to.accounting_error_code := p_from.accounting_error_code;
1527 p_to.gl_transfer_error_code := p_from.gl_transfer_error_code;
1528 p_to.gl_reversal_flag := p_from.gl_reversal_flag;
1529 p_to.program_id := p_from.program_id;
1530 p_to.program_application_id := p_from.program_application_id;
1531 p_to.program_update_date := p_from.program_update_date;
1532 p_to.request_id := p_from.request_id;
1533 p_to.created_by := p_from.created_by;
1534 p_to.creation_date := p_from.creation_date;
1535 p_to.last_updated_by := p_from.last_updated_by;
1536 p_to.last_update_date := p_from.last_update_date;
1537 p_to.last_update_login := p_from.last_update_login;
1538 END migrate;
1539
1540 ---------------------------------------------------------------------------
1541 -- PROCEDURE validate_row
1542 ---------------------------------------------------------------------------
1543 ---------------------------------------
1544 -- validate_row for:OKL_AE_HEADERS_V --
1545 ---------------------------------------
1546 PROCEDURE validate_row(
1547 p_api_version IN NUMBER,
1548 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1549 x_return_status OUT NOCOPY VARCHAR2,
1550 x_msg_count OUT NOCOPY NUMBER,
1551 x_msg_data OUT NOCOPY VARCHAR2,
1552 p_aehv_rec IN aehv_rec_type) IS
1553
1554 l_api_version CONSTANT NUMBER := 1;
1555 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
1556 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1557 l_aehv_rec aehv_rec_type := p_aehv_rec;
1558 l_aeh_rec aeh_rec_type;
1559 BEGIN
1560 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1561 G_PKG_NAME,
1562 p_init_msg_list,
1563 l_api_version,
1564 p_api_version,
1565 '_PVT',
1566 x_return_status);
1567 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1568 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1569 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1570 RAISE Okc_Api.G_EXCEPTION_ERROR;
1571 END IF;
1572 --- Validate all non-missing attributes (Item Level Validation)
1573 l_return_status := Validate_Attributes(l_aehv_rec);
1574 --- If any errors happen abort API
1575 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1576 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1577 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1578 RAISE Okc_Api.G_EXCEPTION_ERROR;
1579 END IF;
1580 l_return_status := Validate_Record(l_aehv_rec);
1581 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1582 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1583 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1584 RAISE Okc_Api.G_EXCEPTION_ERROR;
1585 END IF;
1586 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1587 EXCEPTION
1588 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1589 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1590 (
1591 l_api_name,
1592 G_PKG_NAME,
1593 'Okc_Api.G_RET_STS_ERROR',
1594 x_msg_count,
1595 x_msg_data,
1596 '_PVT'
1597 );
1598 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1599 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1600 (
1601 l_api_name,
1602 G_PKG_NAME,
1603 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1604 x_msg_count,
1605 x_msg_data,
1606 '_PVT'
1607 );
1608 WHEN OTHERS THEN
1609 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1610 (
1611 l_api_name,
1612 G_PKG_NAME,
1613 'OTHERS',
1614 x_msg_count,
1615 x_msg_data,
1616 '_PVT'
1617 );
1618 END validate_row;
1619 ------------------------------------------
1620 -- PL/SQL TBL validate_row for:AEHV_TBL --
1621 ------------------------------------------
1622 PROCEDURE validate_row(
1623 p_api_version IN NUMBER,
1624 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1625 x_return_status OUT NOCOPY VARCHAR2,
1626 x_msg_count OUT NOCOPY NUMBER,
1627 x_msg_data OUT NOCOPY VARCHAR2,
1628 p_aehv_tbl IN aehv_tbl_type) IS
1629
1630 l_api_version CONSTANT NUMBER := 1;
1631 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1632 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1633 i NUMBER := 0;
1634 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1635
1636 BEGIN
1637 Okc_Api.init_msg_list(p_init_msg_list);
1638 -- Make sure PL/SQL table has records in it before passing
1639 IF (p_aehv_tbl.COUNT > 0) THEN
1640 i := p_aehv_tbl.FIRST;
1641 LOOP
1642 validate_row (
1643 p_api_version => p_api_version,
1644 p_init_msg_list => Okc_Api.G_FALSE,
1645 x_return_status => x_return_status,
1646 x_msg_count => x_msg_count,
1647 x_msg_data => x_msg_data,
1648 p_aehv_rec => p_aehv_tbl(i));
1649
1650 -- store the highest degree of error
1651 IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
1652 IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
1653 l_overall_status := x_return_status;
1654 END IF;
1655 END IF;
1656
1657 EXIT WHEN (i = p_aehv_tbl.LAST);
1658 i := p_aehv_tbl.NEXT(i);
1659 END LOOP;
1660 -- return overall status
1661 x_return_status := l_overall_status;
1662
1663 END IF;
1664 EXCEPTION
1665 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1666 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1667 (
1668 l_api_name,
1669 G_PKG_NAME,
1670 'Okc_Api.G_RET_STS_ERROR',
1671 x_msg_count,
1672 x_msg_data,
1673 '_PVT'
1674 );
1675 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1676 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1677 (
1678 l_api_name,
1679 G_PKG_NAME,
1680 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1681 x_msg_count,
1682 x_msg_data,
1683 '_PVT'
1684 );
1685 WHEN OTHERS THEN
1686 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1687 (
1688 l_api_name,
1689 G_PKG_NAME,
1690 'OTHERS',
1691 x_msg_count,
1692 x_msg_data,
1693 '_PVT'
1694 );
1695 END validate_row;
1696
1697 ---------------------------------------------------------------------------
1698 -- PROCEDURE insert_row
1699 ---------------------------------------------------------------------------
1700 -----------------------------------
1701 -- insert_row for:OKL_AE_HEADERS --
1702 -----------------------------------
1703 PROCEDURE insert_row(
1704 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1705 x_return_status OUT NOCOPY VARCHAR2,
1706 x_msg_count OUT NOCOPY NUMBER,
1707 x_msg_data OUT NOCOPY VARCHAR2,
1708 p_aeh_rec IN aeh_rec_type,
1709 x_aeh_rec OUT NOCOPY aeh_rec_type) IS
1710
1711 l_api_version CONSTANT NUMBER := 1;
1712 l_api_name CONSTANT VARCHAR2(30) := 'HEADERS_insert_row';
1713 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1714 l_aeh_rec aeh_rec_type := p_aeh_rec;
1715 l_def_aeh_rec aeh_rec_type;
1716 ---------------------------------------
1717 -- Set_Attributes for:OKL_AE_HEADERS --
1718 ---------------------------------------
1719 FUNCTION Set_Attributes (
1720 p_aeh_rec IN aeh_rec_type,
1721 x_aeh_rec OUT NOCOPY aeh_rec_type
1722 ) RETURN VARCHAR2 IS
1723 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1724 BEGIN
1725 x_aeh_rec := p_aeh_rec;
1726 RETURN(l_return_status);
1727 END Set_Attributes;
1728 BEGIN
1729 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1730 p_init_msg_list,
1731 '_PVT',
1732 x_return_status);
1733 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1734 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1735 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1736 RAISE Okc_Api.G_EXCEPTION_ERROR;
1737 END IF;
1738 --- Setting item attributes
1739 l_return_status := Set_Attributes(
1740 p_aeh_rec, -- IN
1741 l_aeh_rec); -- OUT
1742 --- If any errors happen abort API
1743 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1744 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1745 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1746 RAISE Okc_Api.G_EXCEPTION_ERROR;
1747 END IF;
1748 INSERT INTO OKL_AE_HEADERS(
1749 AE_HEADER_ID ,
1750 post_to_gl_flag,
1751 set_of_books_id,
1752 org_id,
1753 ACCOUNTING_EVENT_ID ,
1754 AE_CATEGORY,
1755 period_name,
1756 accounting_date,
1757 cross_currency_flag,
1758 gl_transfer_flag,
1759 gl_transfer_run_id,
1760 object_version_number,
1761 sequence_id,
1762 sequence_value,
1763 description,
1764 accounting_error_code,
1765 gl_transfer_error_code,
1766 gl_reversal_flag,
1767 program_id,
1768 program_application_id,
1769 program_update_date,
1770 request_id,
1771 created_by,
1772 creation_date,
1773 last_updated_by,
1774 last_update_date,
1775 last_update_login)
1776 VALUES (
1777 l_aeh_rec.AE_HEADER_ID ,
1778 l_aeh_rec.post_to_gl_flag,
1779 l_aeh_rec.set_of_books_id,
1780 l_aeh_rec.org_id,
1781 l_aeh_rec.ACCOUNTING_EVENT_ID ,
1782 l_aeh_rec.AE_CATEGORY,
1783 l_aeh_rec.period_name,
1784 l_aeh_rec.accounting_date,
1785 l_aeh_rec.cross_currency_flag,
1786 l_aeh_rec.gl_transfer_flag,
1787 l_aeh_rec.gl_transfer_run_id,
1788 l_aeh_rec.object_version_number,
1789 l_aeh_rec.sequence_id,
1790 l_aeh_rec.sequence_value,
1791 l_aeh_rec.description,
1792 l_aeh_rec.accounting_error_code,
1793 l_aeh_rec.gl_transfer_error_code,
1794 l_aeh_rec.gl_reversal_flag,
1795 l_aeh_rec.PROGRAM_ID,
1796 l_aeh_rec.program_application_id,
1797 l_aeh_rec.program_update_date,
1798 l_aeh_rec.request_id,
1799 l_aeh_rec.created_by,
1800 l_aeh_rec.creation_date,
1801 l_aeh_rec.last_updated_by,
1802 l_aeh_rec.last_update_date,
1803 l_aeh_rec.last_update_login);
1804 -- Set OUT values
1805 x_aeh_rec := l_aeh_rec;
1806 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1807 EXCEPTION
1808 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1809 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1810 (
1811 l_api_name,
1812 G_PKG_NAME,
1813 'Okc_Api.G_RET_STS_ERROR',
1814 x_msg_count,
1815 x_msg_data,
1816 '_PVT'
1817 );
1818 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1819 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1820 (
1821 l_api_name,
1822 G_PKG_NAME,
1823 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1824 x_msg_count,
1825 x_msg_data,
1826 '_PVT'
1827 );
1828 WHEN OTHERS THEN
1829 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1830 (
1831 l_api_name,
1832 G_PKG_NAME,
1833 'OTHERS',
1834 x_msg_count,
1835 x_msg_data,
1836 '_PVT'
1837 );
1838 END insert_row;
1839 -------------------------------------
1840 -- insert_row for:OKL_AE_HEADERS_V --
1841 -------------------------------------
1842 PROCEDURE insert_row(
1843 p_api_version IN NUMBER,
1844 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1845 x_return_status OUT NOCOPY VARCHAR2,
1846 x_msg_count OUT NOCOPY NUMBER,
1847 x_msg_data OUT NOCOPY VARCHAR2,
1848 p_aehv_rec IN aehv_rec_type,
1849 x_aehv_rec OUT NOCOPY aehv_rec_type) IS
1850
1851 l_api_version CONSTANT NUMBER := 1;
1852 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1853 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1854 l_aehv_rec aehv_rec_type;
1855 l_def_aehv_rec aehv_rec_type;
1856 l_aeh_rec aeh_rec_type;
1857 lx_aeh_rec aeh_rec_type;
1858 -------------------------------
1859 -- FUNCTION fill_who_columns --
1860 -------------------------------
1861 FUNCTION fill_who_columns (
1862 p_aehv_rec IN aehv_rec_type
1863 ) RETURN aehv_rec_type IS
1864 l_aehv_rec aehv_rec_type := p_aehv_rec;
1865 BEGIN
1866 l_aehv_rec.CREATION_DATE := SYSDATE;
1867 l_aehv_rec.CREATED_BY := Fnd_Global.USER_ID;
1868 l_aehv_rec.LAST_UPDATE_DATE := SYSDATE;
1869 l_aehv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
1870 l_aehv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1871 RETURN(l_aehv_rec);
1872 END fill_who_columns;
1873 -----------------------------------------
1874 -- Set_Attributes for:OKL_AE_HEADERS_V --
1875 -----------------------------------------
1876 FUNCTION Set_Attributes (
1877 p_aehv_rec IN aehv_rec_type,
1878 x_aehv_rec OUT NOCOPY aehv_rec_type
1879 ) RETURN VARCHAR2 IS
1880 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1881 BEGIN
1882 x_aehv_rec := p_aehv_rec;
1883 x_aehv_rec.OBJECT_VERSION_NUMBER := 1;
1884 x_aehv_rec.ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID();
1885 x_aehv_rec.set_of_books_id := okl_accounting_util.get_set_of_books_id;
1886 SELECT DECODE(Fnd_Global.CONC_REQUEST_ID, -1, NULL, Fnd_Global.CONC_REQUEST_ID),
1887 DECODE(Fnd_Global.PROG_APPL_ID, -1, NULL, Fnd_Global.PROG_APPL_ID),
1888 DECODE(Fnd_Global.CONC_PROGRAM_ID, -1, NULL, Fnd_Global.CONC_PROGRAM_ID),
1889 DECODE(Fnd_Global.CONC_REQUEST_ID, -1, NULL, SYSDATE)
1890 INTO x_aehv_rec.REQUEST_ID
1891 ,x_aehv_rec.PROGRAM_APPLICATION_ID
1892 ,x_aehv_rec.PROGRAM_ID
1893 ,x_aehv_rec.PROGRAM_UPDATE_DATE
1894 FROM DUAL;
1895 RETURN(l_return_status);
1896 END Set_Attributes;
1897 BEGIN
1898
1899
1900 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1901 G_PKG_NAME,
1902 p_init_msg_list,
1903 l_api_version,
1904 p_api_version,
1905 '_PVT',
1906 x_return_status);
1907 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1908 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1909 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1910 RAISE Okc_Api.G_EXCEPTION_ERROR;
1911 END IF;
1912 l_aehv_rec := null_out_defaults(p_aehv_rec);
1913 -- Set primary key value
1914 l_aehv_rec.AE_HEADER_ID := get_seq_ID ;
1915 --- Setting item attributes
1916 l_return_status := Set_Attributes(
1917 l_aehv_rec, -- IN
1918 l_def_aehv_rec); -- OUT
1919 --- If any errors happen abort API
1920 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1921 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1922 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1923 RAISE Okc_Api.G_EXCEPTION_ERROR;
1924 END IF;
1925 l_def_aehv_rec := fill_who_columns(l_def_aehv_rec);
1926 --- Validate all non-missing attributes (Item Level Validation)
1927 l_return_status := Validate_Attributes(l_def_aehv_rec);
1928 --- If any errors happen abort API
1929 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1930 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1931 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1932 RAISE Okc_Api.G_EXCEPTION_ERROR;
1933 END IF;
1934 l_return_status := Validate_Record(l_def_aehv_rec);
1935 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1936 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1937 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1938 RAISE Okc_Api.G_EXCEPTION_ERROR;
1939 END IF;
1940 --------------------------------------
1941 -- Move VIEW record to "Child" records
1942 --------------------------------------
1943 migrate(l_def_aehv_rec, l_aeh_rec);
1944 --------------------------------------------
1945 -- Call the INSERT_ROW for each child record
1946 --------------------------------------------
1947 insert_row(
1948 p_init_msg_list,
1949 x_return_status,
1950 x_msg_count,
1951 x_msg_data,
1952 l_aeh_rec,
1953 lx_aeh_rec
1954 );
1955 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1956 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1957 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1958 RAISE Okc_Api.G_EXCEPTION_ERROR;
1959 END IF;
1960 migrate(lx_aeh_rec, l_def_aehv_rec);
1961 -- Set OUT values
1962 x_aehv_rec := l_def_aehv_rec;
1963 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1964 EXCEPTION
1965 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1966 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1967 (
1968 l_api_name,
1969 G_PKG_NAME,
1970 'Okc_Api.G_RET_STS_ERROR',
1971 x_msg_count,
1972 x_msg_data,
1973 '_PVT'
1974 );
1975 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1976 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1977 (
1978 l_api_name,
1979 G_PKG_NAME,
1980 'Okc_Api.G_RET_STS_UNEXP_ERROR',
1981 x_msg_count,
1982 x_msg_data,
1983 '_PVT'
1984 );
1985 WHEN OTHERS THEN
1986 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
1987 (
1988 l_api_name,
1989 G_PKG_NAME,
1990 'OTHERS',
1991 x_msg_count,
1992 x_msg_data,
1993 '_PVT'
1994 );
1995 END insert_row;
1996 ----------------------------------------
1997 -- PL/SQL TBL insert_row for:AEHV_TBL --
1998 ----------------------------------------
1999 PROCEDURE insert_row(
2000 p_api_version IN NUMBER,
2001 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2002 x_return_status OUT NOCOPY VARCHAR2,
2003 x_msg_count OUT NOCOPY NUMBER,
2004 x_msg_data OUT NOCOPY VARCHAR2,
2005 p_aehv_tbl IN aehv_tbl_type,
2006 x_aehv_tbl OUT NOCOPY aehv_tbl_type) IS
2007
2008 l_api_version CONSTANT NUMBER := 1;
2009 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
2010 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2011 i NUMBER := 0;
2012 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2013
2014 BEGIN
2015 Okc_Api.init_msg_list(p_init_msg_list);
2016 -- Make sure PL/SQL table has records in it before passing
2017 IF (p_aehv_tbl.COUNT > 0) THEN
2018 i := p_aehv_tbl.FIRST;
2019 LOOP
2020 insert_row (
2021 p_api_version => p_api_version,
2022 p_init_msg_list => Okc_Api.G_FALSE,
2023 x_return_status => x_return_status,
2024 x_msg_count => x_msg_count,
2025 x_msg_data => x_msg_data,
2026 p_aehv_rec => p_aehv_tbl(i),
2027 x_aehv_rec => x_aehv_tbl(i));
2028
2029 -- store the highest degree of error
2030 IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
2031 IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
2032 l_overall_status := x_return_status;
2033 END IF;
2034 END IF;
2035
2036 EXIT WHEN (i = p_aehv_tbl.LAST);
2037 i := p_aehv_tbl.NEXT(i);
2038 END LOOP;
2039 -- return overall status
2040 x_return_status := l_overall_status;
2041
2042 END IF;
2043 EXCEPTION
2044 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2045 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2046 (
2047 l_api_name,
2048 G_PKG_NAME,
2049 'Okc_Api.G_RET_STS_ERROR',
2050 x_msg_count,
2051 x_msg_data,
2052 '_PVT'
2053 );
2054 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2055 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2056 (
2057 l_api_name,
2058 G_PKG_NAME,
2059 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2060 x_msg_count,
2061 x_msg_data,
2062 '_PVT'
2063 );
2064 WHEN OTHERS THEN
2065 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2066 (
2067 l_api_name,
2068 G_PKG_NAME,
2069 'OTHERS',
2070 x_msg_count,
2071 x_msg_data,
2072 '_PVT'
2073 );
2074 END insert_row;
2075
2076 --gboomina bug#4648697..changes for perf start
2077 --added new procedure for bulk insert
2078 ----------------------------------------
2079 -- PL/SQL TBL insert_row_perf for:AEHV_TBL --
2080 ----------------------------------------
2081 PROCEDURE insert_row_perf(
2082 p_api_version IN NUMBER,
2083 p_init_msg_list IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
2084 x_return_status OUT NOCOPY VARCHAR2,
2085 x_msg_count OUT NOCOPY NUMBER,
2086 x_msg_data OUT NOCOPY VARCHAR2,
2087 p_aehv_tbl IN aehv_tbl_type,
2088 x_aehv_tbl OUT NOCOPY aehv_tbl_type) IS
2089
2090 l_tabsize NUMBER := p_aehv_tbl.COUNT;
2091 ae_header_id_tbl ae_header_id_typ;
2092 post_to_gl_flag_tbl post_to_gl_flag_typ;
2093 set_of_books_id_tbl set_of_books_id_typ;
2094 accounting_event_id_tbl accounting_event_id_typ;
2095 object_version_number_tbl object_version_number_typ;
2096 ae_category_tbl ae_category_typ;
2097 period_name_tbl period_name_typ;
2098 accounting_date_tbl accounting_date_typ;
2099 gl_transfer_run_id_tbl gl_transfer_run_id_typ;
2100 cross_currency_flag_tbl cross_currency_flag_typ;
2101 gl_transfer_flag_tbl gl_transfer_flag_typ;
2102 sequence_id_tbl sequence_id_typ;
2103 sequence_value_tbl sequence_value_typ;
2104 description_tbl description_typ;
2105 accounting_error_code_tbl accounting_error_code_typ;
2106 gl_transfer_error_code_tbl gl_transfer_error_code_typ;
2107 gl_reversal_flag_tbl gl_reversal_flag_typ;
2108 org_id_tbl org_id_typ;
2109 program_id_tbl program_id_typ;
2110 program_application_id_tbl program_application_id_typ;
2111 program_update_date_tbl program_update_date_typ;
2112 request_id_tbl request_id_typ;
2113 created_by_tbl created_by_typ;
2114 creation_date_tbl creation_date_typ;
2115 last_updated_by_tbl last_updated_by_typ;
2116 last_update_date_tbl last_update_date_typ;
2117 last_update_login_tbl last_update_login_typ;
2118 j NUMBER := 0;
2119
2120 BEGIN
2121 IF (p_aehv_tbl.COUNT > 0) THEN
2122
2123 --populate column tables
2124 FOR i IN p_aehv_tbl.FIRST..p_aehv_tbl.LAST
2125 LOOP
2126 j := j+1;
2127
2128 ae_header_id_tbl(j) := p_aehv_tbl(i).ae_header_id;
2129 post_to_gl_flag_tbl(j) := p_aehv_tbl(i).post_to_gl_flag;
2130 set_of_books_id_tbl(j) := p_aehv_tbl(i).set_of_books_id;
2131 accounting_event_id_tbl(j) := p_aehv_tbl(i).accounting_event_id;
2132 object_version_number_tbl(j) := p_aehv_tbl(i).object_version_number;
2133 ae_category_tbl(j) := p_aehv_tbl(i).ae_category;
2134 period_name_tbl(j) := p_aehv_tbl(i).period_name;
2135 accounting_date_tbl(j) := p_aehv_tbl(i).accounting_date;
2136 gl_transfer_run_id_tbl(j) := p_aehv_tbl(i).gl_transfer_run_id;
2137 cross_currency_flag_tbl(j) := p_aehv_tbl(i).cross_currency_flag;
2138 gl_transfer_flag_tbl(j) := p_aehv_tbl(i).gl_transfer_flag;
2139 sequence_id_tbl(j) := p_aehv_tbl(i).sequence_id;
2140 sequence_value_tbl(j) := p_aehv_tbl(i).sequence_value;
2141 description_tbl(j) := p_aehv_tbl(i).description;
2142 accounting_error_code_tbl(j) := p_aehv_tbl(i).accounting_error_code;
2143 gl_transfer_error_code_tbl(j) := p_aehv_tbl(i).gl_transfer_error_code;
2144 gl_reversal_flag_tbl(j) := p_aehv_tbl(i).gl_reversal_flag;
2145 org_id_tbl(j) := p_aehv_tbl(i).org_id;
2146 program_id_tbl(j) := p_aehv_tbl(i).program_id;
2147 program_application_id_tbl(j) := p_aehv_tbl(i).program_application_id;
2148 program_update_date_tbl(j) := p_aehv_tbl(i).program_update_date;
2149 request_id_tbl(j) := p_aehv_tbl(i).request_id;
2150 created_by_tbl(j) := p_aehv_tbl(i).created_by;
2151 creation_date_tbl(j) := p_aehv_tbl(i).creation_date;
2152 last_updated_by_tbl(j) := p_aehv_tbl(i).last_updated_by;
2153 last_update_date_tbl(j) := p_aehv_tbl(i).last_update_date;
2154 last_update_login_tbl(j) := p_aehv_tbl(i).last_update_login;
2155
2156 END LOOP;
2157
2158 --bulk insert into okl_ae_headers
2159 FORALL i IN 1..l_tabsize
2160 INSERT INTO OKL_AE_HEADERS(
2161 ae_header_id,
2162 post_to_gl_flag,
2163 set_of_books_id,
2164 org_id,
2165 accounting_event_id,
2166 ae_category,
2167 period_name,
2168 accounting_date,
2169 cross_currency_flag,
2170 gl_transfer_flag,
2171 gl_transfer_run_id,
2172 object_version_number,
2173 sequence_id,
2174 sequence_value,
2175 description,
2176 accounting_error_code,
2177 gl_transfer_error_code,
2178 gl_reversal_flag,
2179 program_id,
2180 program_application_id,
2181 program_update_date,
2182 request_id,
2183 created_by,
2184 creation_date,
2185 last_updated_by,
2186 last_update_date,
2187 last_update_login)
2188 VALUES (
2189 ae_header_id_tbl(i),
2190 post_to_gl_flag_tbl(i),
2191 set_of_books_id_tbl(i),
2192 org_id_tbl(i),
2193 accounting_event_id_tbl(i),
2194 ae_category_tbl(i),
2195 period_name_tbl(i),
2196 accounting_date_tbl(i),
2197 cross_currency_flag_tbl(i),
2198 gl_transfer_flag_tbl(i),
2199 gl_transfer_run_id_tbl(i),
2200 object_version_number_tbl(i),
2201 sequence_id_tbl(i),
2202 sequence_value_tbl(i),
2203 description_tbl(i),
2204 accounting_error_code_tbl(i),
2205 gl_transfer_error_code_tbl(i),
2206 gl_reversal_flag_tbl(i),
2207 program_id_tbl(i),
2208 program_application_id_tbl(i),
2209 program_update_date_tbl(i),
2210 request_id_tbl(i),
2211 created_by_tbl(i),
2212 creation_date_tbl(i),
2213 last_updated_by_tbl(i),
2214 last_update_date_tbl(i),
2215 last_update_login_tbl(i));
2216
2217 END IF;
2218 --set OUT params
2219 x_aehv_tbl := p_aehv_tbl;
2220
2221 END insert_row_perf;
2222 --gboomina bug#4648697..changes for perf end
2223
2224
2225 ---------------------------------------------------------------------------
2226 -- PROCEDURE lock_row
2227 ---------------------------------------------------------------------------
2228 ---------------------------------
2229 -- lock_row for:OKL_AE_HEADERS --
2230 ---------------------------------
2231 PROCEDURE lock_row(
2232 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2233 x_return_status OUT NOCOPY VARCHAR2,
2234 x_msg_count OUT NOCOPY NUMBER,
2235 x_msg_data OUT NOCOPY VARCHAR2,
2236 p_aeh_rec IN aeh_rec_type) IS
2237
2238 E_Resource_Busy EXCEPTION;
2239 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2240 CURSOR lock_csr (p_aeh_rec IN aeh_rec_type) IS
2241 SELECT OBJECT_VERSION_NUMBER
2242 FROM OKL_AE_HEADERS
2243 WHERE AE_HEADER_ID = p_aeh_rec.AE_HEADER_ID
2244 AND OBJECT_VERSION_NUMBER = p_aeh_rec.object_version_number
2245 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
2246
2247 CURSOR lchk_csr (p_aeh_rec IN aeh_rec_type) IS
2248 SELECT OBJECT_VERSION_NUMBER
2249 FROM OKL_AE_HEADERS
2250 WHERE AE_HEADER_ID = p_aeh_rec.AE_HEADER_ID ;
2251 l_api_version CONSTANT NUMBER := 1;
2252 l_api_name CONSTANT VARCHAR2(30) := 'HEADERS_lock_row';
2253 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2254 l_object_version_number OKL_AE_HEADERS.OBJECT_VERSION_NUMBER%TYPE;
2255 lc_object_version_number OKL_AE_HEADERS.OBJECT_VERSION_NUMBER%TYPE;
2256 l_row_notfound BOOLEAN := FALSE;
2257 lc_row_notfound BOOLEAN := FALSE;
2258 BEGIN
2259 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2260 p_init_msg_list,
2261 '_PVT',
2262 x_return_status);
2263 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2264 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2265 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2266 RAISE Okc_Api.G_EXCEPTION_ERROR;
2267 END IF;
2268 BEGIN
2269 OPEN lock_csr(p_aeh_rec);
2270 FETCH lock_csr INTO l_object_version_number;
2271 l_row_notfound := lock_csr%NOTFOUND;
2272 CLOSE lock_csr;
2273 EXCEPTION
2274 WHEN E_Resource_Busy THEN
2275 IF (lock_csr%ISOPEN) THEN
2276 CLOSE lock_csr;
2277 END IF;
2278 Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2279 RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
2280 END;
2281
2282 IF ( l_row_notfound ) THEN
2283 OPEN lchk_csr(p_aeh_rec);
2284 FETCH lchk_csr INTO lc_object_version_number;
2285 lc_row_notfound := lchk_csr%NOTFOUND;
2286 CLOSE lchk_csr;
2287 END IF;
2288 IF (lc_row_notfound) THEN
2289 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2290 RAISE Okc_Api.G_EXCEPTION_ERROR;
2291 ELSIF lc_object_version_number > p_aeh_rec.object_version_number THEN
2292 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2293 RAISE Okc_Api.G_EXCEPTION_ERROR;
2294 ELSIF lc_object_version_number <> p_aeh_rec.object_version_number THEN
2295 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2296 RAISE Okc_Api.G_EXCEPTION_ERROR;
2297 ELSIF lc_object_version_number = -1 THEN
2298 Okc_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
2299 RAISE Okc_Api.G_EXCEPTION_ERROR;
2300 END IF;
2301 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2302 EXCEPTION
2303 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2304 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2305 (
2306 l_api_name,
2307 G_PKG_NAME,
2308 'Okc_Api.G_RET_STS_ERROR',
2309 x_msg_count,
2310 x_msg_data,
2311 '_PVT'
2312 );
2313 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2314 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2315 (
2316 l_api_name,
2317 G_PKG_NAME,
2318 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2319 x_msg_count,
2320 x_msg_data,
2321 '_PVT'
2322 );
2323 WHEN OTHERS THEN
2324 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2325 (
2326 l_api_name,
2327 G_PKG_NAME,
2328 'OTHERS',
2329 x_msg_count,
2330 x_msg_data,
2331 '_PVT'
2332 );
2333 END lock_row;
2334 -----------------------------------
2335 -- lock_row for:OKL_AE_HEADERS_V --
2336 -----------------------------------
2337 PROCEDURE lock_row(
2338 p_api_version IN NUMBER,
2339 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2340 x_return_status OUT NOCOPY VARCHAR2,
2341 x_msg_count OUT NOCOPY NUMBER,
2342 x_msg_data OUT NOCOPY VARCHAR2,
2343 p_aehv_rec IN aehv_rec_type) IS
2344
2345 l_api_version CONSTANT NUMBER := 1;
2346 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
2347 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2348 l_aeh_rec aeh_rec_type;
2349 BEGIN
2350 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2351 G_PKG_NAME,
2352 p_init_msg_list,
2353 l_api_version,
2354 p_api_version,
2355 '_PVT',
2356 x_return_status);
2357 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2358 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2359 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2360 RAISE Okc_Api.G_EXCEPTION_ERROR;
2361 END IF;
2362 --------------------------------------
2363 -- Move VIEW record to "Child" records
2364 --------------------------------------
2365 migrate(p_aehv_rec, l_aeh_rec);
2366 --------------------------------------------
2367 -- Call the LOCK_ROW for each child record
2368 --------------------------------------------
2369 lock_row(
2370 p_init_msg_list,
2371 x_return_status,
2372 x_msg_count,
2373 x_msg_data,
2374 l_aeh_rec
2375 );
2376 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2377 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2378 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2379 RAISE Okc_Api.G_EXCEPTION_ERROR;
2380 END IF;
2381 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2382 EXCEPTION
2383 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2384 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2385 (
2386 l_api_name,
2387 G_PKG_NAME,
2388 'Okc_Api.G_RET_STS_ERROR',
2389 x_msg_count,
2390 x_msg_data,
2391 '_PVT'
2392 );
2393 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2394 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2395 (
2396 l_api_name,
2397 G_PKG_NAME,
2398 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2399 x_msg_count,
2400 x_msg_data,
2401 '_PVT'
2402 );
2403 WHEN OTHERS THEN
2404 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2405 (
2406 l_api_name,
2407 G_PKG_NAME,
2408 'OTHERS',
2409 x_msg_count,
2410 x_msg_data,
2411 '_PVT'
2412 );
2413 END lock_row;
2414 --------------------------------------
2415 -- PL/SQL TBL lock_row for:AEHV_TBL --
2416 --------------------------------------
2417 PROCEDURE lock_row(
2418 p_api_version IN NUMBER,
2419 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2420 x_return_status OUT NOCOPY VARCHAR2,
2421 x_msg_count OUT NOCOPY NUMBER,
2422 x_msg_data OUT NOCOPY VARCHAR2,
2423 p_aehv_tbl IN aehv_tbl_type) IS
2424
2425 l_api_version CONSTANT NUMBER := 1;
2426 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2427 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2428 i NUMBER := 0;
2429 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2430
2431 BEGIN
2432 Okc_Api.init_msg_list(p_init_msg_list);
2433 -- Make sure PL/SQL table has records in it before passing
2434 IF (p_aehv_tbl.COUNT > 0) THEN
2435 i := p_aehv_tbl.FIRST;
2436 LOOP
2437 lock_row (
2438 p_api_version => p_api_version,
2439 p_init_msg_list => Okc_Api.G_FALSE,
2440 x_return_status => x_return_status,
2441 x_msg_count => x_msg_count,
2442 x_msg_data => x_msg_data,
2443 p_aehv_rec => p_aehv_tbl(i));
2444
2445 -- store the highest degree of error
2446 IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
2447 IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
2448 l_overall_status := x_return_status;
2449 END IF;
2450 END IF;
2451
2452 EXIT WHEN (i = p_aehv_tbl.LAST);
2453 i := p_aehv_tbl.NEXT(i);
2454 END LOOP;
2455 -- return overall status
2456 x_return_status := l_overall_status;
2457
2458 END IF;
2459 EXCEPTION
2460 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2461 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2462 (
2463 l_api_name,
2464 G_PKG_NAME,
2465 'Okc_Api.G_RET_STS_ERROR',
2466 x_msg_count,
2467 x_msg_data,
2468 '_PVT'
2469 );
2470 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2471 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2472 (
2473 l_api_name,
2474 G_PKG_NAME,
2475 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2476 x_msg_count,
2477 x_msg_data,
2478 '_PVT'
2479 );
2480 WHEN OTHERS THEN
2481 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2482 (
2483 l_api_name,
2484 G_PKG_NAME,
2485 'OTHERS',
2486 x_msg_count,
2487 x_msg_data,
2488 '_PVT'
2489 );
2490 END lock_row;
2491
2492 ---------------------------------------------------------------------------
2493 -- PROCEDURE update_row
2494 ---------------------------------------------------------------------------
2495 -----------------------------------
2496 -- update_row for:OKL_AE_HEADERS --
2497 -----------------------------------
2498 PROCEDURE update_row(
2499 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2500 x_return_status OUT NOCOPY VARCHAR2,
2501 x_msg_count OUT NOCOPY NUMBER,
2502 x_msg_data OUT NOCOPY VARCHAR2,
2503 p_aeh_rec IN aeh_rec_type,
2504 x_aeh_rec OUT NOCOPY aeh_rec_type) IS
2505
2506 l_api_version CONSTANT NUMBER := 1;
2507 l_api_name CONSTANT VARCHAR2(30) := 'HEADERS_update_row';
2508 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2509 l_aeh_rec aeh_rec_type := p_aeh_rec;
2510 l_def_aeh_rec aeh_rec_type;
2511 l_row_notfound BOOLEAN := TRUE;
2512 ----------------------------------
2513 -- FUNCTION populate_new_record --
2514 ----------------------------------
2515 FUNCTION populate_new_record (
2516 p_aeh_rec IN aeh_rec_type,
2517 x_aeh_rec OUT NOCOPY aeh_rec_type
2518 ) RETURN VARCHAR2 IS
2519 l_aeh_rec aeh_rec_type;
2520 l_row_notfound BOOLEAN := TRUE;
2521 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2522 BEGIN
2523 x_aeh_rec := p_aeh_rec;
2524 -- Get current database values
2525 l_aeh_rec := get_rec(p_aeh_rec, l_row_notfound);
2526 IF (l_row_notfound) THEN
2527 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2528 END IF;
2529 IF (x_aeh_rec.AE_HEADER_ID = Okc_Api.G_MISS_NUM)
2530 THEN
2531 x_aeh_rec.AE_HEADER_ID := l_aeh_rec.AE_HEADER_ID ;
2532 END IF;
2533 IF (x_aeh_rec.post_to_gl_flag = Okc_Api.G_MISS_CHAR)
2534 THEN
2535 x_aeh_rec.post_to_gl_flag := l_aeh_rec.post_to_gl_flag;
2536 END IF;
2537 IF (x_aeh_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
2538 THEN
2539 x_aeh_rec.set_of_books_id := l_aeh_rec.set_of_books_id;
2540 END IF;
2541 IF (x_aeh_rec.org_id = Okc_Api.G_MISS_NUM)
2542 THEN
2543 x_aeh_rec.org_id := l_aeh_rec.org_id;
2544 END IF;
2545 IF (x_aeh_rec.ACCOUNTING_EVENT_ID = Okc_Api.G_MISS_NUM)
2546 THEN
2547 x_aeh_rec.ACCOUNTING_EVENT_ID := l_aeh_rec.ACCOUNTING_EVENT_ID ;
2548 END IF;
2549 IF (x_aeh_rec.AE_CATEGORY = Okc_Api.G_MISS_CHAR)
2550 THEN
2551 x_aeh_rec.AE_CATEGORY := l_aeh_rec.AE_CATEGORY;
2552 END IF;
2553 IF (x_aeh_rec.period_name = Okc_Api.G_MISS_CHAR)
2554 THEN
2555 x_aeh_rec.period_name := l_aeh_rec.period_name;
2556 END IF;
2557 IF (x_aeh_rec.accounting_date = Okc_Api.G_MISS_DATE)
2558 THEN
2559 x_aeh_rec.accounting_date := l_aeh_rec.accounting_date;
2560 END IF;
2561 IF (x_aeh_rec.cross_currency_flag = Okc_Api.G_MISS_CHAR)
2562 THEN
2563 x_aeh_rec.cross_currency_flag := l_aeh_rec.cross_currency_flag;
2564 END IF;
2565 IF (x_aeh_rec.gl_transfer_flag = Okc_Api.G_MISS_CHAR)
2566 THEN
2567 x_aeh_rec.gl_transfer_flag := l_aeh_rec.gl_transfer_flag;
2568 END IF;
2569 IF (x_aeh_rec.gl_transfer_run_id = Okc_Api.G_MISS_NUM)
2570 THEN
2571 x_aeh_rec.gl_transfer_run_id := l_aeh_rec.gl_transfer_run_id;
2572 END IF;
2573 IF (x_aeh_rec.object_version_number = Okc_Api.G_MISS_NUM)
2574 THEN
2575 x_aeh_rec.object_version_number := l_aeh_rec.object_version_number;
2576 END IF;
2577 IF (x_aeh_rec.sequence_id = Okc_Api.G_MISS_NUM)
2578 THEN
2579 x_aeh_rec.sequence_id := l_aeh_rec.sequence_id;
2580 END IF;
2581 IF (x_aeh_rec.sequence_value = Okc_Api.G_MISS_NUM)
2582 THEN
2583 x_aeh_rec.sequence_value := l_aeh_rec.sequence_value;
2584 END IF;
2585 IF (x_aeh_rec.description = Okc_Api.G_MISS_CHAR)
2586 THEN
2587 x_aeh_rec.description := l_aeh_rec.description;
2588 END IF;
2589 IF (x_aeh_rec.accounting_error_code = Okc_Api.G_MISS_CHAR)
2590 THEN
2591 x_aeh_rec.accounting_error_code := l_aeh_rec.accounting_error_code;
2592 END IF;
2593 IF (x_aeh_rec.gl_transfer_error_code = Okc_Api.G_MISS_CHAR)
2594 THEN
2595 x_aeh_rec.gl_transfer_error_code := l_aeh_rec.gl_transfer_error_code;
2596 END IF;
2597 IF (x_aeh_rec.gl_reversal_flag = Okc_Api.G_MISS_CHAR)
2598 THEN
2599 x_aeh_rec.gl_reversal_flag := l_aeh_rec.gl_reversal_flag;
2600 END IF;
2601 IF (x_aeh_rec.program_id = Okc_Api.G_MISS_NUM)
2602 THEN
2603 x_aeh_rec.program_id := l_aeh_rec.program_id;
2604 END IF;
2605 IF (x_aeh_rec.program_application_id = Okc_Api.G_MISS_NUM)
2606 THEN
2607 x_aeh_rec.program_application_id := l_aeh_rec.program_application_id;
2608 END IF;
2609 IF (x_aeh_rec.program_update_date = Okc_Api.G_MISS_DATE)
2610 THEN
2611 x_aeh_rec.program_update_date := l_aeh_rec.program_update_date;
2612 END IF;
2613 IF (x_aeh_rec.request_id = Okc_Api.G_MISS_NUM)
2614 THEN
2615 x_aeh_rec.request_id := l_aeh_rec.request_id;
2616 END IF;
2617 IF (x_aeh_rec.created_by = Okc_Api.G_MISS_NUM)
2618 THEN
2619 x_aeh_rec.created_by := l_aeh_rec.created_by;
2620 END IF;
2621 IF (x_aeh_rec.creation_date = Okc_Api.G_MISS_DATE)
2622 THEN
2623 x_aeh_rec.creation_date := l_aeh_rec.creation_date;
2624 END IF;
2625 IF (x_aeh_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2626 THEN
2627 x_aeh_rec.last_updated_by := l_aeh_rec.last_updated_by;
2628 END IF;
2629 IF (x_aeh_rec.last_update_date = Okc_Api.G_MISS_DATE)
2630 THEN
2631 x_aeh_rec.last_update_date := l_aeh_rec.last_update_date;
2632 END IF;
2633 IF (x_aeh_rec.last_update_login = Okc_Api.G_MISS_NUM)
2634 THEN
2635 x_aeh_rec.last_update_login := l_aeh_rec.last_update_login;
2636 END IF;
2637 RETURN(l_return_status);
2638 END populate_new_record;
2639 ---------------------------------------
2640 -- Set_Attributes for:OKL_AE_HEADERS --
2641 ---------------------------------------
2642 FUNCTION Set_Attributes (
2643 p_aeh_rec IN aeh_rec_type,
2644 x_aeh_rec OUT NOCOPY aeh_rec_type
2645 ) RETURN VARCHAR2 IS
2646 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2647 BEGIN
2648 x_aeh_rec := p_aeh_rec;
2649 RETURN(l_return_status);
2650 END Set_Attributes;
2651 BEGIN
2652 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2653 p_init_msg_list,
2654 '_PVT',
2655 x_return_status);
2656 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2657 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2658 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2659 RAISE Okc_Api.G_EXCEPTION_ERROR;
2660 END IF;
2661 --- Setting item attributes
2662 l_return_status := Set_Attributes(
2663 p_aeh_rec, -- IN
2664 l_aeh_rec); -- OUT
2665 --- If any errors happen abort API
2666 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2667 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2668 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2669 RAISE Okc_Api.G_EXCEPTION_ERROR;
2670 END IF;
2671 l_return_status := populate_new_record(l_aeh_rec, l_def_aeh_rec);
2672 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2673 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2674 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2675 RAISE Okc_Api.G_EXCEPTION_ERROR;
2676 END IF;
2677 UPDATE OKL_AE_HEADERS
2678 SET POST_TO_GL_FLAG = l_def_aeh_rec.post_to_gl_flag,
2679 SET_OF_BOOKS_ID = l_def_aeh_rec.set_of_books_id,
2680 ORG_ID = l_def_aeh_rec.org_id,
2681 ACCOUNTING_EVENT_ID = l_def_aeh_rec.ACCOUNTING_EVENT_ID ,
2682 AE_CATEGORY = l_def_aeh_rec.AE_CATEGORY,
2683 PERIOD_NAME = l_def_aeh_rec.period_name,
2684 ACCOUNTING_DATE = l_def_aeh_rec.accounting_date,
2685 CROSS_CURRENCY_FLAG = l_def_aeh_rec.cross_currency_flag,
2686 GL_TRANSFER_FLAG = l_def_aeh_rec.gl_transfer_flag,
2687 GL_TRANSFER_RUN_ID = l_def_aeh_rec.gl_transfer_run_id,
2688 OBJECT_VERSION_NUMBER = l_def_aeh_rec.object_version_number,
2689 SEQUENCE_ID = l_def_aeh_rec.sequence_id,
2690 SEQUENCE_VALUE = l_def_aeh_rec.sequence_value,
2691 DESCRIPTION = l_def_aeh_rec.description,
2692 ACCOUNTING_ERROR_CODE = l_def_aeh_rec.accounting_error_code,
2693 GL_TRANSFER_ERROR_CODE = l_def_aeh_rec.gl_transfer_error_code,
2694 GL_REVERSAL_FLAG = l_def_aeh_rec.gl_reversal_flag,
2695 PROGRAM_ID = l_def_aeh_rec.program_id,
2696 PROGRAM_APPLICATION_ID = l_def_aeh_rec.program_application_id,
2697 PROGRAM_UPDATE_DATE = l_def_aeh_rec.program_update_date,
2698 REQUEST_ID = l_def_aeh_rec.request_id,
2699 CREATED_BY = l_def_aeh_rec.created_by,
2700 CREATION_DATE = l_def_aeh_rec.creation_date,
2701 LAST_UPDATED_BY = l_def_aeh_rec.last_updated_by,
2702 LAST_UPDATE_DATE = l_def_aeh_rec.last_update_date,
2703 LAST_UPDATE_LOGIN = l_def_aeh_rec.last_update_login
2704 WHERE AE_HEADER_ID = l_def_aeh_rec.AE_HEADER_ID ;
2705
2706 x_aeh_rec := l_def_aeh_rec;
2707 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2708 EXCEPTION
2709 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2710 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2711 (
2712 l_api_name,
2713 G_PKG_NAME,
2714 'Okc_Api.G_RET_STS_ERROR',
2715 x_msg_count,
2716 x_msg_data,
2717 '_PVT'
2718 );
2719 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2720 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2721 (
2722 l_api_name,
2723 G_PKG_NAME,
2724 'Okc_Api.G_RET_STS_UNEXP_ERROR',
2725 x_msg_count,
2726 x_msg_data,
2727 '_PVT'
2728 );
2729 WHEN OTHERS THEN
2730 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
2731 (
2732 l_api_name,
2733 G_PKG_NAME,
2734 'OTHERS',
2735 x_msg_count,
2736 x_msg_data,
2737 '_PVT'
2738 );
2739 END update_row;
2740 -------------------------------------
2741 -- update_row for:OKL_AE_HEADERS_V --
2742 -------------------------------------
2743 PROCEDURE update_row(
2744 p_api_version IN NUMBER,
2745 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2746 x_return_status OUT NOCOPY VARCHAR2,
2747 x_msg_count OUT NOCOPY NUMBER,
2748 x_msg_data OUT NOCOPY VARCHAR2,
2749 p_aehv_rec IN aehv_rec_type,
2750 x_aehv_rec OUT NOCOPY aehv_rec_type) IS
2751
2752 l_api_version CONSTANT NUMBER := 1;
2753 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
2754 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2755 l_aehv_rec aehv_rec_type := p_aehv_rec;
2756 l_def_aehv_rec aehv_rec_type;
2757 l_aeh_rec aeh_rec_type;
2758 lx_aeh_rec aeh_rec_type;
2759 -------------------------------
2760 -- FUNCTION fill_who_columns --
2761 -------------------------------
2762 FUNCTION fill_who_columns (
2763 p_aehv_rec IN aehv_rec_type
2764 ) RETURN aehv_rec_type IS
2765 l_aehv_rec aehv_rec_type := p_aehv_rec;
2766 BEGIN
2767 l_aehv_rec.LAST_UPDATE_DATE := SYSDATE;
2768 l_aehv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
2769 l_aehv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
2770 RETURN(l_aehv_rec);
2771 END fill_who_columns;
2772 ----------------------------------
2773 -- FUNCTION populate_new_record --
2774 ----------------------------------
2775 FUNCTION populate_new_record (
2776 p_aehv_rec IN aehv_rec_type,
2777 x_aehv_rec OUT NOCOPY aehv_rec_type
2778 ) RETURN VARCHAR2 IS
2779 l_aehv_rec aehv_rec_type;
2780 l_row_notfound BOOLEAN := TRUE;
2781 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2782 BEGIN
2783 x_aehv_rec := p_aehv_rec;
2784 -- Get current database values
2785 l_aehv_rec := get_rec(p_aehv_rec, l_row_notfound);
2786 IF (l_row_notfound) THEN
2787 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2788 END IF;
2789 IF (x_aehv_rec.post_to_gl_flag = Okc_Api.G_MISS_CHAR)
2790 THEN
2791 x_aehv_rec.post_to_gl_flag := l_aehv_rec.post_to_gl_flag;
2792 END IF;
2793 IF (x_aehv_rec.AE_HEADER_ID = Okc_Api.G_MISS_NUM)
2794 THEN
2795 x_aehv_rec.AE_HEADER_ID := l_aehv_rec.AE_HEADER_ID ;
2796 END IF;
2797 IF (x_aehv_rec.object_version_number = Okc_Api.G_MISS_NUM)
2798 THEN
2799 x_aehv_rec.object_version_number := l_aehv_rec.object_version_number;
2800 END IF;
2801 IF (x_aehv_rec.ACCOUNTING_EVENT_ID = Okc_Api.G_MISS_NUM)
2802 THEN
2803 x_aehv_rec.ACCOUNTING_EVENT_ID := l_aehv_rec.ACCOUNTING_EVENT_ID ;
2804 END IF;
2805 IF (x_aehv_rec.set_of_books_id = Okc_Api.G_MISS_NUM)
2806 THEN
2807 x_aehv_rec.set_of_books_id := l_aehv_rec.set_of_books_id;
2808 END IF;
2809 IF (x_aehv_rec.org_id = Okc_Api.G_MISS_NUM)
2810 THEN
2811 x_aehv_rec.org_id := l_aehv_rec.org_id;
2812 END IF;
2813 IF (x_aehv_rec.AE_CATEGORY = Okc_Api.G_MISS_CHAR)
2814 THEN
2815 x_aehv_rec.AE_CATEGORY := l_aehv_rec.AE_CATEGORY;
2816 END IF;
2817 IF (x_aehv_rec.sequence_id = Okc_Api.G_MISS_NUM)
2818 THEN
2819 x_aehv_rec.sequence_id := l_aehv_rec.sequence_id;
2820 END IF;
2821 IF (x_aehv_rec.sequence_value = Okc_Api.G_MISS_NUM)
2822 THEN
2823 x_aehv_rec.sequence_value := l_aehv_rec.sequence_value;
2824 END IF;
2825 IF (x_aehv_rec.period_name = Okc_Api.G_MISS_CHAR)
2826 THEN
2827 x_aehv_rec.period_name := l_aehv_rec.period_name;
2828 END IF;
2829 IF (x_aehv_rec.accounting_date = Okc_Api.G_MISS_DATE)
2830 THEN
2831 x_aehv_rec.accounting_date := l_aehv_rec.accounting_date;
2832 END IF;
2833 IF (x_aehv_rec.description = Okc_Api.G_MISS_CHAR)
2834 THEN
2835 x_aehv_rec.description := l_aehv_rec.description;
2836 END IF;
2837 IF (x_aehv_rec.accounting_error_code = Okc_Api.G_MISS_CHAR)
2838 THEN
2839 x_aehv_rec.accounting_error_code := l_aehv_rec.accounting_error_code;
2840 END IF;
2841 IF (x_aehv_rec.cross_currency_flag = Okc_Api.G_MISS_CHAR)
2842 THEN
2843 x_aehv_rec.cross_currency_flag := l_aehv_rec.cross_currency_flag;
2844 END IF;
2845 IF (x_aehv_rec.gl_transfer_flag = Okc_Api.G_MISS_CHAR)
2846 THEN
2847 x_aehv_rec.gl_transfer_flag := l_aehv_rec.gl_transfer_flag;
2848 END IF;
2849 IF (x_aehv_rec.gl_transfer_error_code = Okc_Api.G_MISS_CHAR)
2850 THEN
2851 x_aehv_rec.gl_transfer_error_code := l_aehv_rec.gl_transfer_error_code;
2852 END IF;
2853 IF (x_aehv_rec.gl_transfer_run_id = Okc_Api.G_MISS_NUM)
2854 THEN
2855 x_aehv_rec.gl_transfer_run_id := l_aehv_rec.gl_transfer_run_id;
2856 END IF;
2857 IF (x_aehv_rec.gl_reversal_flag = Okc_Api.G_MISS_CHAR)
2858 THEN
2859 x_aehv_rec.gl_reversal_flag := l_aehv_rec.gl_reversal_flag;
2860 END IF;
2861 IF (x_aehv_rec.program_id = Okc_Api.G_MISS_NUM)
2862 THEN
2863 x_aehv_rec.program_id := l_aehv_rec.program_id;
2864 END IF;
2865 IF (x_aehv_rec.program_application_id = Okc_Api.G_MISS_NUM)
2866 THEN
2867 x_aehv_rec.program_application_id := l_aehv_rec.program_application_id;
2868 END IF;
2869 IF (x_aehv_rec.program_update_date = Okc_Api.G_MISS_DATE)
2870 THEN
2871 x_aehv_rec.program_update_date := l_aehv_rec.program_update_date;
2872 END IF;
2873 IF (x_aehv_rec.request_id = Okc_Api.G_MISS_NUM)
2874 THEN
2875 x_aehv_rec.request_id := l_aehv_rec.request_id;
2876 END IF;
2877 IF (x_aehv_rec.created_by = Okc_Api.G_MISS_NUM)
2878 THEN
2879 x_aehv_rec.created_by := l_aehv_rec.created_by;
2880 END IF;
2881 IF (x_aehv_rec.creation_date = Okc_Api.G_MISS_DATE)
2882 THEN
2883 x_aehv_rec.creation_date := l_aehv_rec.creation_date;
2884 END IF;
2885 IF (x_aehv_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2886 THEN
2887 x_aehv_rec.last_updated_by := l_aehv_rec.last_updated_by;
2888 END IF;
2889 IF (x_aehv_rec.last_update_date = Okc_Api.G_MISS_DATE)
2890 THEN
2891 x_aehv_rec.last_update_date := l_aehv_rec.last_update_date;
2892 END IF;
2893 IF (x_aehv_rec.last_update_login = Okc_Api.G_MISS_NUM)
2894 THEN
2895 x_aehv_rec.last_update_login := l_aehv_rec.last_update_login;
2896 END IF;
2897 RETURN(l_return_status);
2898 END populate_new_record;
2899 -----------------------------------------
2900 -- Set_Attributes for:OKL_AE_HEADERS_V --
2901 -----------------------------------------
2902 FUNCTION Set_Attributes (
2903 p_aehv_rec IN aehv_rec_type,
2904 x_aehv_rec OUT NOCOPY aehv_rec_type
2905 ) RETURN VARCHAR2 IS
2906 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2907 BEGIN
2908 x_aehv_rec := p_aehv_rec;
2909 SELECT NVL(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),x_aehv_rec.REQUEST_ID),
2910 NVL(DECODE(Fnd_Global.PROG_APPL_ID,-1,NULL,Fnd_Global.PROG_APPL_ID),x_aehv_rec.PROGRAM_APPLICATION_ID),
2911 NVL(DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),x_aehv_rec.PROGRAM_ID),
2912 DECODE(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE),NULL,x_aehv_rec.PROGRAM_UPDATE_DATE,SYSDATE)
2913 INTO x_aehv_rec.REQUEST_ID
2914 ,x_aehv_rec.PROGRAM_APPLICATION_ID
2915 ,x_aehv_rec.PROGRAM_ID
2916 ,x_aehv_rec.PROGRAM_UPDATE_DATE
2917 FROM DUAL;
2918
2919 RETURN(l_return_status);
2920 END Set_Attributes;
2921 BEGIN
2922
2923 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2924 G_PKG_NAME,
2925 p_init_msg_list,
2926 l_api_version,
2927 p_api_version,
2928 '_PVT',
2929 x_return_status);
2930
2931 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2932 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2933 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2934 RAISE Okc_Api.G_EXCEPTION_ERROR;
2935 END IF;
2936 --- Setting item attributes
2937 l_return_status := Set_Attributes(
2938 p_aehv_rec, -- IN
2939 l_aehv_rec); -- OUT
2940 --- If any errors happen abort API
2941 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2942 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2943 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2944 RAISE Okc_Api.G_EXCEPTION_ERROR;
2945 END IF;
2946 l_return_status := populate_new_record(l_aehv_rec, l_def_aehv_rec);
2947 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2948 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2949 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2950 RAISE Okc_Api.G_EXCEPTION_ERROR;
2951 END IF;
2952 l_def_aehv_rec := fill_who_columns(l_def_aehv_rec);
2953
2954 --- Validate all non-missing attributes (Item Level Validation)
2955 l_return_status := Validate_Attributes(l_def_aehv_rec);
2956 --- If any errors happen abort API
2957 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2958 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2959 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2960 RAISE Okc_Api.G_EXCEPTION_ERROR;
2961 END IF;
2962 l_return_status := Validate_Record(l_def_aehv_rec);
2963 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2964 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2965 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2966 RAISE Okc_Api.G_EXCEPTION_ERROR;
2967 END IF;
2968
2969 --------------------------------------
2970 -- Move VIEW record to "Child" records
2971 --------------------------------------
2972 migrate(l_def_aehv_rec, l_aeh_rec);
2973 --------------------------------------------
2974 -- Call the UPDATE_ROW for each child record
2975 --------------------------------------------
2976 update_row(
2977 p_init_msg_list,
2978 x_return_status,
2979 x_msg_count,
2980 x_msg_data,
2981 l_aeh_rec,
2982 lx_aeh_rec
2983 );
2984 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2985 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2986 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2987 RAISE Okc_Api.G_EXCEPTION_ERROR;
2988 END IF;
2989 migrate(lx_aeh_rec, l_def_aehv_rec);
2990 x_aehv_rec := l_def_aehv_rec;
2991 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2992 EXCEPTION
2993 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2994 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2995 (
2996 l_api_name,
2997 G_PKG_NAME,
2998 'Okc_Api.G_RET_STS_ERROR',
2999 x_msg_count,
3000 x_msg_data,
3001 '_PVT'
3002 );
3003 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3004 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3005 (
3006 l_api_name,
3007 G_PKG_NAME,
3008 'Okc_Api.G_RET_STS_UNEXP_ERROR',
3009 x_msg_count,
3010 x_msg_data,
3011 '_PVT'
3012 );
3013 WHEN OTHERS THEN
3014 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3015 (
3016 l_api_name,
3017 G_PKG_NAME,
3018 'OTHERS',
3019 x_msg_count,
3020 x_msg_data,
3021 '_PVT'
3022 );
3023 END update_row;
3024 ----------------------------------------
3025 -- PL/SQL TBL update_row for:AEHV_TBL --
3026 ----------------------------------------
3027 PROCEDURE update_row(
3028 p_api_version IN NUMBER,
3029 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3030 x_return_status OUT NOCOPY VARCHAR2,
3031 x_msg_count OUT NOCOPY NUMBER,
3032 x_msg_data OUT NOCOPY VARCHAR2,
3033 p_aehv_tbl IN aehv_tbl_type,
3034 x_aehv_tbl OUT NOCOPY aehv_tbl_type) IS
3035
3036 l_api_version CONSTANT NUMBER := 1;
3037 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3038 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3039 i NUMBER := 0;
3040 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3041
3042 BEGIN
3043 Okc_Api.init_msg_list(p_init_msg_list);
3044 -- Make sure PL/SQL table has records in it before passing
3045 IF (p_aehv_tbl.COUNT > 0) THEN
3046 i := p_aehv_tbl.FIRST;
3047 LOOP
3048 update_row (
3049 p_api_version => p_api_version,
3050 p_init_msg_list => Okc_Api.G_FALSE,
3051 x_return_status => x_return_status,
3052 x_msg_count => x_msg_count,
3053 x_msg_data => x_msg_data,
3054 p_aehv_rec => p_aehv_tbl(i),
3055 x_aehv_rec => x_aehv_tbl(i));
3056
3057 -- store the highest degree of error
3058 IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
3059 IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
3060 l_overall_status := x_return_status;
3061 END IF;
3062 END IF;
3063
3064 EXIT WHEN (i = p_aehv_tbl.LAST);
3065 i := p_aehv_tbl.NEXT(i);
3066 END LOOP;
3067 -- return overall status
3068 x_return_status := l_overall_status;
3069
3070 END IF;
3071 EXCEPTION
3072 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3073 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3074 (
3075 l_api_name,
3076 G_PKG_NAME,
3077 'Okc_Api.G_RET_STS_ERROR',
3078 x_msg_count,
3079 x_msg_data,
3080 '_PVT'
3081 );
3082 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3083 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3084 (
3085 l_api_name,
3086 G_PKG_NAME,
3087 'Okc_Api.G_RET_STS_UNEXP_ERROR',
3088 x_msg_count,
3089 x_msg_data,
3090 '_PVT'
3091 );
3092 WHEN OTHERS THEN
3093 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3094 (
3095 l_api_name,
3096 G_PKG_NAME,
3097 'OTHERS',
3098 x_msg_count,
3099 x_msg_data,
3100 '_PVT'
3101 );
3102 END update_row;
3103
3104 ---------------------------------------------------------------------------
3105 -- PROCEDURE delete_row
3106 ---------------------------------------------------------------------------
3107 -----------------------------------
3108 -- delete_row for:OKL_AE_HEADERS --
3109 -----------------------------------
3110 PROCEDURE delete_row(
3111 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3112 x_return_status OUT NOCOPY VARCHAR2,
3113 x_msg_count OUT NOCOPY NUMBER,
3114 x_msg_data OUT NOCOPY VARCHAR2,
3115 p_aeh_rec IN aeh_rec_type) IS
3116
3117 l_api_version CONSTANT NUMBER := 1;
3118 l_api_name CONSTANT VARCHAR2(30) := 'HEADERS_delete_row';
3119 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3120 l_aeh_rec aeh_rec_type:= p_aeh_rec;
3121 l_row_notfound BOOLEAN := TRUE;
3122 BEGIN
3123 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
3124 p_init_msg_list,
3125 '_PVT',
3126 x_return_status);
3127 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3128 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3129 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3130 RAISE Okc_Api.G_EXCEPTION_ERROR;
3131 END IF;
3132 DELETE FROM OKL_AE_HEADERS
3133 WHERE AE_HEADER_ID = l_aeh_rec.AE_HEADER_ID ;
3134
3135 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3136 EXCEPTION
3137 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3138 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3139 (
3140 l_api_name,
3141 G_PKG_NAME,
3142 'Okc_Api.G_RET_STS_ERROR',
3143 x_msg_count,
3144 x_msg_data,
3145 '_PVT'
3146 );
3147 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3148 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3149 (
3150 l_api_name,
3151 G_PKG_NAME,
3152 'Okc_Api.G_RET_STS_UNEXP_ERROR',
3153 x_msg_count,
3154 x_msg_data,
3155 '_PVT'
3156 );
3157 WHEN OTHERS THEN
3158 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3159 (
3160 l_api_name,
3161 G_PKG_NAME,
3162 'OTHERS',
3163 x_msg_count,
3164 x_msg_data,
3165 '_PVT'
3166 );
3167 END delete_row;
3168 -------------------------------------
3169 -- delete_row for:OKL_AE_HEADERS_V --
3170 -------------------------------------
3171 PROCEDURE delete_row(
3172 p_api_version IN NUMBER,
3173 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3174 x_return_status OUT NOCOPY VARCHAR2,
3175 x_msg_count OUT NOCOPY NUMBER,
3176 x_msg_data OUT NOCOPY VARCHAR2,
3177 p_aehv_rec IN aehv_rec_type) IS
3178
3179 l_api_version CONSTANT NUMBER := 1;
3180 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3181 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3182 l_aehv_rec aehv_rec_type := p_aehv_rec;
3183 l_aeh_rec aeh_rec_type;
3184 BEGIN
3185 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
3186 G_PKG_NAME,
3187 p_init_msg_list,
3188 l_api_version,
3189 p_api_version,
3190 '_PVT',
3191 x_return_status);
3192 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3193 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3194 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3195 RAISE Okc_Api.G_EXCEPTION_ERROR;
3196 END IF;
3197 --------------------------------------
3198 -- Move VIEW record to "Child" records
3199 --------------------------------------
3200 migrate(l_aehv_rec, l_aeh_rec);
3201 --------------------------------------------
3202 -- Call the DELETE_ROW for each child record
3203 --------------------------------------------
3204 delete_row(
3205 p_init_msg_list,
3206 x_return_status,
3207 x_msg_count,
3208 x_msg_data,
3209 l_aeh_rec
3210 );
3211 IF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3212 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3213 ELSIF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3214 RAISE Okc_Api.G_EXCEPTION_ERROR;
3215 END IF;
3216 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3217 EXCEPTION
3218 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3219 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3220 (
3221 l_api_name,
3222 G_PKG_NAME,
3223 'Okc_Api.G_RET_STS_ERROR',
3224 x_msg_count,
3225 x_msg_data,
3226 '_PVT'
3227 );
3228 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3229 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3230 (
3231 l_api_name,
3232 G_PKG_NAME,
3233 'Okc_Api.G_RET_STS_UNEXP_ERROR',
3234 x_msg_count,
3235 x_msg_data,
3236 '_PVT'
3237 );
3238 WHEN OTHERS THEN
3239 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3240 (
3241 l_api_name,
3242 G_PKG_NAME,
3243 'OTHERS',
3244 x_msg_count,
3245 x_msg_data,
3246 '_PVT'
3247 );
3248 END delete_row;
3249 ----------------------------------------
3250 -- PL/SQL TBL delete_row for:AEHV_TBL --
3251 ----------------------------------------
3252 PROCEDURE delete_row(
3253 p_api_version IN NUMBER,
3254 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3255 x_return_status OUT NOCOPY VARCHAR2,
3256 x_msg_count OUT NOCOPY NUMBER,
3257 x_msg_data OUT NOCOPY VARCHAR2,
3258 p_aehv_tbl IN aehv_tbl_type) IS
3259
3260 l_api_version CONSTANT NUMBER := 1;
3261 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3262 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3263 i NUMBER := 0;
3264 l_overall_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3265
3266 BEGIN
3267 Okc_Api.init_msg_list(p_init_msg_list);
3268 -- Make sure PL/SQL table has records in it before passing
3269 IF (p_aehv_tbl.COUNT > 0) THEN
3270 i := p_aehv_tbl.FIRST;
3271 LOOP
3272 delete_row (
3273 p_api_version => p_api_version,
3274 p_init_msg_list => Okc_Api.G_FALSE,
3275 x_return_status => x_return_status,
3276 x_msg_count => x_msg_count,
3277 x_msg_data => x_msg_data,
3278 p_aehv_rec => p_aehv_tbl(i));
3279
3280 -- store the highest degree of error
3281 IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
3282 IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
3283 l_overall_status := x_return_status;
3284 END IF;
3285 END IF;
3286
3287 EXIT WHEN (i = p_aehv_tbl.LAST);
3288 i := p_aehv_tbl.NEXT(i);
3289 END LOOP;
3290 -- return overall status
3291 x_return_status := l_overall_status;
3292
3293 END IF;
3294 EXCEPTION
3295 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3296 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3297 (
3298 l_api_name,
3299 G_PKG_NAME,
3300 'Okc_Api.G_RET_STS_ERROR',
3301 x_msg_count,
3302 x_msg_data,
3303 '_PVT'
3304 );
3305 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3306 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3307 (
3308 l_api_name,
3309 G_PKG_NAME,
3310 'Okc_Api.G_RET_STS_UNEXP_ERROR',
3311 x_msg_count,
3312 x_msg_data,
3313 '_PVT'
3314 );
3315 WHEN OTHERS THEN
3316 x_return_status :=Okc_Api.HANDLE_EXCEPTIONS
3317 (
3318 l_api_name,
3319 G_PKG_NAME,
3320 'OTHERS',
3321 x_msg_count,
3322 x_msg_data,
3323 '_PVT'
3324 );
3325 END delete_row;
3326 END Okl_Aeh_Pvt;