[Home] [Help]
PACKAGE BODY: APPS.OKL_TAP_PVT
Source
1 PACKAGE BODY OKL_TAP_PVT AS
2 /* $Header: OKLSTAPB.pls 120.11 2008/01/17 10:09:54 veramach noship $ */
3 ---------------------------------------------------------------------------
4 -- PostGen --
5 -- SPEC:
6 -- 0. Global Messages and Variables = Done! Msg=5; Var=3
7 -- BODY:
8 -- 0. Check for Not Null Columns = Done! 4, n/a:sfwt_flag
9 -- 1. Check for Not Null Primary Keys = Done! 1
10 -- 2. Check for Not Null Foreign Keys = Done! 1=ipvs_id
11 -- 3. Validity of Foreign Keys = Done! 15=10null+1notnull+4-FND;OKX=3
12 -- 4. Validity of Unique Keys = N/A, No Unique Keys
13 -- 5. Validity of Org_id = Done!
14 -- 6. Added domain validation = Done! yn=3; allowed-values=1
15 -- 7. Added the Concurrent Manager Columns (p104) = Done! 2=views:v_insert_row,v_update_row
16 -- 8. Validate fnd_lookup code using OKL_UTIL pkg = Done! 3=nullable; 1=notnull (currency)
17 -- 9. Capture most severe error in loops (p103) = Done! 5 loops (except l_lang_rec)
18 --10. Reduce use of SYSDATE fill_who_columns (p104) = Done! 1 (for insert)
19 --11. Fix Migrate Parameter p_to IN OUT (p104) = Done! 4
20 --12. Call validate procs. in Validate_Attributes = Done! 25
21 --13. Validate_Record:Trx-Types, Unique Keys = Done! 15 = trx-types
22 --06/01/00: Post postgen changes:
23 --14. Removed all references to TRX_TYPE. This columns dropped from BD
24 --15. Added 3 new columns: TRX_STATUS_CODE,SET_OF_BOOKS_ID,TRY_ID + support,validations
25 --16. Renamed Combo_ID to code_combination_id
26 --17. 08/21/01: 'validate_fk_ccid', 'validate_fk_ippt_id' has been commented out because the associated OKX_ views does not exist.
27 --18. 02/04/02: Added new columns vendor_invoice_number, pay_group_lookup_code,invoice_type, nettable_yn
28 --19. 30-SEP-06 : Added column legal_entity_id
29 ---------------------------------------------------------------------------
30 -- PROCEDURE validate_id - PostGen-1
31 ---------------------------------------------------------------------------
32 PROCEDURE validate_id
33 ( x_return_status OUT NOCOPY VARCHAR2,
34 p_tapv_rec IN tapv_rec_type
35 ) IS
36 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
37 BEGIN
38 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
39 IF(p_tapv_rec.id IS NULL) OR (p_tapv_rec.id = OKL_Api.G_MISS_NUM) THEN
40 OKL_Api.SET_MESSAGE
41 ( p_app_name => g_app_name,
42 p_msg_name => g_required_value,
43 p_token1 => g_col_name_token,
44 p_token1_value => 'id'
45 ) ;
46 x_return_status := OKL_Api.G_RET_STS_ERROR;
47 RAISE G_EXCEPTION_HALT_VALIDATION;
48 END IF;
49 EXCEPTION
50 WHEN G_EXCEPTION_HALT_VALIDATION then
51 -- No action necessary. Validation can continue to next attribute/column
52 null;
53 WHEN OTHERS then
54 -- Store SQL Error Message on the Message Stack for caller
55 OKL_Api.SET_MESSAGE
56 ( p_app_name => g_app_name,
57 p_msg_name => G_UNEXPECTED_ERROR,
58 p_token1 => G_SQLCODE_TOKEN,
59 p_token1_value => 'sqlcode',
60 p_token2 => G_SQLERRM_TOKEN,
61 p_token2_value => 'sqlerrm'
62 ) ;
63 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
64 END validate_id;
65 ---------------------------------------------------------------------------
66 -- PROCEDURE validate_object_version_number - PostGen-0
67 ---------------------------------------------------------------------------
68 PROCEDURE validate_object_version_number
69 ( x_return_status OUT NOCOPY VARCHAR2,
70 p_tapv_rec IN tapv_rec_type
71 ) IS
72 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
73 BEGIN
74 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
75 IF(p_tapv_rec.object_version_number IS NULL)
76 OR (p_tapv_rec.object_version_number = OKL_Api.G_MISS_NUM) THEN
77 OKL_Api.SET_MESSAGE
78 ( p_app_name => g_app_name,
79 p_msg_name => g_required_value,
80 p_token1 => g_col_name_token,
81 p_token1_value => 'object_version_number'
82 ) ;
83 x_return_status := OKL_Api.G_RET_STS_ERROR;
84 RAISE G_EXCEPTION_HALT_VALIDATION;
85 END IF;
86 EXCEPTION
87 WHEN G_EXCEPTION_HALT_VALIDATION then
88 -- No action necessary. Validation can continue to next attribute/column
89 null;
90 WHEN OTHERS then
91 -- Store SQL Error Message on the Message Stack for caller
92 OKL_Api.SET_MESSAGE
93 ( p_app_name => g_app_name,
94 p_msg_name => G_UNEXPECTED_ERROR,
95 p_token1 => G_SQLCODE_TOKEN,
96 p_token1_value => 'sqlcode',
97 p_token2 => G_SQLERRM_TOKEN,
98 p_token2_value => 'sqlerrm'
99 ) ;
100 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
101 END validate_object_version_number;
102 ---------------------------------------------------------------------------
103 -- PROCEDURE validate_org_id - PostGen-5
104 ---------------------------------------------------------------------------
105 PROCEDURE validate_org_id
106 ( x_return_status OUT NOCOPY VARCHAR2,
107 p_tapv_rec IN tapv_rec_type
108 ) IS
109 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
110 BEGIN
111 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
112 IF(p_tapv_rec.org_id IS NULL) OR (p_tapv_rec.org_id = OKL_Api.G_MISS_NUM) THEN
113 OKL_Api.SET_MESSAGE
114 ( p_app_name => g_app_name,
115 p_msg_name => g_required_value,
116 p_token1 => g_col_name_token,
117 p_token1_value => 'org_id'
118 ) ;
119 x_return_status := OKL_Api.G_RET_STS_ERROR;
120 RAISE G_EXCEPTION_HALT_VALIDATION;
121 ELSE
122 x_return_status := OKL_UTIL.CHECK_ORG_ID(p_tapv_rec.org_id);
123 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
124 OKL_Api.SET_MESSAGE
125 ( p_app_name => g_app_name,
126 p_msg_name => g_invalid_value,
127 p_token1 => g_col_name_token,
128 p_token1_value => 'org_id'
129 ) ;
130 RAISE G_EXCEPTION_HALT_VALIDATION;
131 END IF;
132 END IF;
133 EXCEPTION
134 WHEN G_EXCEPTION_HALT_VALIDATION then
135 -- No action necessary. Validation can continue to next attribute/column
136 null;
137 WHEN OTHERS then
138 -- Store SQL Error Message on the Message Stack for caller
139 OKL_Api.SET_MESSAGE
140 ( p_app_name => g_app_name,
141 p_msg_name => G_UNEXPECTED_ERROR,
142 p_token1 => G_SQLCODE_TOKEN,
143 p_token1_value => 'sqlcode',
144 p_token2 => G_SQLERRM_TOKEN,
145 p_token2_value => 'sqlerrm'
146 ) ;
147 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
148 END validate_org_id;
149 ---------------------------------------------------------------------------
150 -- PROCEDURE validate_amount - PostGen-0
151 ---------------------------------------------------------------------------
152 PROCEDURE validate_amount
153 ( x_return_status OUT NOCOPY VARCHAR2
154 , p_tapv_rec IN tapv_rec_type
155 ) IS
156 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
157 BEGIN
158 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
159 IF(p_tapv_rec.amount IS NULL) OR (p_tapv_rec.amount = OKL_Api.G_MISS_NUM) THEN
160 OKL_Api.SET_MESSAGE
161 ( p_app_name => g_app_name,
162 p_msg_name => g_required_value,
163 p_token1 => g_col_name_token,
164 p_token1_value => 'amount'
165 ) ;
166 x_return_status := OKL_Api.G_RET_STS_ERROR;
167 RAISE G_EXCEPTION_HALT_VALIDATION;
168 END IF;
169 EXCEPTION
170 WHEN G_EXCEPTION_HALT_VALIDATION then
171 -- No action necessary. Validation can continue to next attribute/column
172 null;
173 WHEN OTHERS then
174 -- Store SQL Error Message on the Message Stack for caller
175 OKL_Api.SET_MESSAGE
176 ( p_app_name => g_app_name,
177 p_msg_name => G_UNEXPECTED_ERROR,
178 p_token1 => G_SQLCODE_TOKEN,
179 p_token1_value => 'sqlcode',
180 p_token2 => G_SQLERRM_TOKEN,
181 p_token2_value => 'sqlerrm'
182 ) ;
183 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
184 END validate_amount;
185 ---------------------------------------------------------------------------
186 -- PROCEDURE validate_date_invoiced - PostGen-0
187 ---------------------------------------------------------------------------
188 PROCEDURE validate_date_invoiced
189 ( x_return_status OUT NOCOPY VARCHAR2
190 , p_tapv_rec IN tapv_rec_type
191 ) IS
192 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
193 BEGIN
194 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
195 IF(p_tapv_rec.date_invoiced IS NULL) OR
196 (p_tapv_rec.date_invoiced = OKL_Api.G_MISS_DATE) THEN
197 OKL_Api.SET_MESSAGE
198 ( p_app_name => g_app_name,
199 p_msg_name => g_required_value,
200 p_token1 => g_col_name_token,
201 p_token1_value => 'date_invoiced'
202 ) ;
203 x_return_status := OKL_Api.G_RET_STS_ERROR;
204 RAISE G_EXCEPTION_HALT_VALIDATION;
205 END IF;
206 EXCEPTION
207 WHEN G_EXCEPTION_HALT_VALIDATION then
208 -- No action necessary. Validation can continue to next attribute/column
209 null;
210 WHEN OTHERS then
211 -- Store SQL Error Message on the Message Stack for caller
212 OKL_Api.SET_MESSAGE
213 ( p_app_name => g_app_name,
214 p_msg_name => G_UNEXPECTED_ERROR,
215 p_token1 => G_SQLCODE_TOKEN,
216 p_token1_value => 'sqlcode',
217 p_token2 => G_SQLERRM_TOKEN,
218 p_token2_value => 'sqlerrm'
219 ) ;
220 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
221 END validate_date_invoiced;
222 ---------------------------------------------------------------------------
223 -- PROCEDURE validate_date_entered - PostGen-0
224 ---------------------------------------------------------------------------
225 PROCEDURE validate_date_entered
226 ( x_return_status OUT NOCOPY VARCHAR2
227 , p_tapv_rec IN tapv_rec_type
228 ) IS
229 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
230 BEGIN
231 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
232 IF(p_tapv_rec.date_entered IS NULL) OR
233 (p_tapv_rec.date_entered = OKL_Api.G_MISS_DATE) THEN
234 OKL_Api.SET_MESSAGE
235 ( p_app_name => g_app_name,
236 p_msg_name => g_required_value,
237 p_token1 => g_col_name_token,
238 p_token1_value => 'date_entered'
239 ) ;
240 x_return_status := OKL_Api.G_RET_STS_ERROR;
241 RAISE G_EXCEPTION_HALT_VALIDATION;
242 END IF;
243 EXCEPTION
244 WHEN G_EXCEPTION_HALT_VALIDATION then
245 -- No action necessary. Validation can continue to next attribute/column
246 null;
247 WHEN OTHERS then
248 -- Store SQL Error Message on the Message Stack for caller
249 OKL_Api.SET_MESSAGE
250 ( p_app_name => g_app_name,
251 p_msg_name => G_UNEXPECTED_ERROR,
252 p_token1 => G_SQLCODE_TOKEN,
253 p_token1_value => 'sqlcode',
254 p_token2 => G_SQLERRM_TOKEN,
255 p_token2_value => 'sqlerrm'
256 ) ;
257 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
258 END validate_date_entered;
259 ---------------------------------------------------------------------------
260 -- PROCEDURE validate_wait_vend_inv_yn - PostGen-6
261 ---------------------------------------------------------------------------
262 PROCEDURE validate_wait_vend_inv_yn
263 ( x_return_status OUT NOCOPY VARCHAR2,
264 p_tapv_rec IN tapv_rec_type
265 ) IS
266 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
267 BEGIN
268 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
269 IF(p_tapv_rec.wait_vendor_invoice_yn IS NOT NULL) THEN
270 x_return_status := OKL_UTIL.CHECK_DOMAIN_YN(p_tapv_rec.wait_vendor_invoice_yn);
271 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
272 OKL_Api.SET_MESSAGE
273 ( p_app_name => g_app_name,
274 p_msg_name => g_invalid_value,
275 p_token1 => g_col_name_token,
276 p_token1_value => 'wait_vendor_invoice_yn'
277 ) ;
278 RAISE G_EXCEPTION_HALT_VALIDATION;
279 END IF;
280 END IF;
281 EXCEPTION
282 WHEN G_EXCEPTION_HALT_VALIDATION then
283 -- No action necessary. Validation can continue to next attribute/column
284 null;
285 WHEN OTHERS then
286 -- Store SQL Error Message on the Message Stack for caller
287 OKL_Api.SET_MESSAGE
288 ( p_app_name => g_app_name,
289 p_msg_name => G_UNEXPECTED_ERROR,
290 p_token1 => G_SQLCODE_TOKEN,
291 p_token1_value => 'sqlcode',
292 p_token2 => G_SQLERRM_TOKEN,
293 p_token2_value => 'sqlerrm'
294 ) ;
295 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
296 END validate_wait_vend_inv_yn;
297 ---------------------------------------------------------------------------
298 -- PROCEDURE validate_consolidate_yn - PostGen-6
299 ---------------------------------------------------------------------------
300 PROCEDURE validate_consolidate_yn
301 ( x_return_status OUT NOCOPY VARCHAR2,
302 p_tapv_rec IN tapv_rec_type
303 ) IS
304 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
305 BEGIN
306 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
307 IF(p_tapv_rec.consolidate_yn IS NOT NULL) THEN
308 x_return_status := OKL_UTIL.CHECK_DOMAIN_YN(p_tapv_rec.consolidate_yn);
309 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
310 OKL_Api.SET_MESSAGE
311 ( p_app_name => g_app_name,
312 p_msg_name => g_invalid_value,
313 p_token1 => g_col_name_token,
314 p_token1_value => 'consolidate_yn'
315 ) ;
316 RAISE G_EXCEPTION_HALT_VALIDATION;
317 END IF;
318 END IF;
319 EXCEPTION
320 WHEN G_EXCEPTION_HALT_VALIDATION then
321 -- No action necessary. Validation can continue to next attribute/column
322 null;
323 WHEN OTHERS then
324 -- Store SQL Error Message on the Message Stack for caller
325 OKL_Api.SET_MESSAGE
326 ( p_app_name => g_app_name,
327 p_msg_name => G_UNEXPECTED_ERROR,
328 p_token1 => G_SQLCODE_TOKEN,
329 p_token1_value => 'sqlcode',
330 p_token2 => G_SQLERRM_TOKEN,
331 p_token2_value => 'sqlerrm'
332 ) ;
333 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
334 END validate_consolidate_yn;
335 ---------------------------------------------------------------------------
336 -- PROCEDURE validate_workflow_yn - PostGen-6
337 ---------------------------------------------------------------------------
338 PROCEDURE validate_workflow_yn
339 ( x_return_status OUT NOCOPY VARCHAR2,
340 p_tapv_rec IN tapv_rec_type
341 ) IS
342 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
343 BEGIN
344 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
345 IF(p_tapv_rec.workflow_yn IS NOT NULL) THEN
346 x_return_status := OKL_UTIL.CHECK_DOMAIN_YN(p_tapv_rec.workflow_yn);
347 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
348 OKL_Api.SET_MESSAGE
349 ( p_app_name => g_app_name,
350 p_msg_name => g_invalid_value,
351 p_token1 => g_col_name_token,
352 p_token1_value => 'workflow_yn'
353 ) ;
354 RAISE G_EXCEPTION_HALT_VALIDATION;
355 END IF;
356 END IF;
357 EXCEPTION
358 WHEN G_EXCEPTION_HALT_VALIDATION then
359 -- No action necessary. Validation can continue to next attribute/column
360 null;
361 WHEN OTHERS then
362 -- Store SQL Error Message on the Message Stack for caller
363 OKL_Api.SET_MESSAGE
364 ( p_app_name => g_app_name,
365 p_msg_name => G_UNEXPECTED_ERROR,
366 p_token1 => G_SQLCODE_TOKEN,
367 p_token1_value => 'sqlcode',
368 p_token2 => G_SQLERRM_TOKEN,
369 p_token2_value => 'sqlerrm'
370 ) ;
371 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
372 END validate_workflow_yn;
373 ---------------------------------------------------------------------------
374 -- PROCEDURE validate_payment_method_code - PostGen-8
375 ---------------------------------------------------------------------------
376 PROCEDURE validate_payment_method_code
377 ( x_return_status OUT NOCOPY VARCHAR2,
378 p_tapv_rec IN tapv_rec_type
379 ) IS
380 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
381 BEGIN
382 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
383 IF(p_tapv_rec.payment_method_code IS NOT NULL) THEN
384 x_return_status := OKL_UTIL.CHECK_LOOKUP_CODE
385 ( 'OKL_AP_PAYMENT_METHOD'
386 , p_tapv_rec.payment_method_code
387 );
388 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
389 OKL_Api.SET_MESSAGE
390 ( p_app_name => g_app_name,
391 p_msg_name => g_invalid_value,
392 p_token1 => g_col_name_token,
393 p_token1_value => 'payment_method_code'
394 ) ;
395 RAISE G_EXCEPTION_HALT_VALIDATION;
396 END IF;
397 END IF;
398 EXCEPTION
399 WHEN G_EXCEPTION_HALT_VALIDATION then
400 -- No action necessary. Validation can continue to next attribute/column
401 null;
402 WHEN OTHERS then
403 -- Store SQL Error Message on the Message Stack for caller
404 OKL_Api.SET_MESSAGE
405 ( p_app_name => g_app_name,
406 p_msg_name => G_UNEXPECTED_ERROR,
407 p_token1 => G_SQLCODE_TOKEN,
408 p_token1_value => 'sqlcode',
409 p_token2 => G_SQLERRM_TOKEN,
410 p_token2_value => 'sqlerrm'
411 ) ;
412 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
413 END validate_payment_method_code;
414 ---------------------------------------------------------------------------
415 -- PROCEDURE validate_invoice_category_code - PostGen-8
416 ---------------------------------------------------------------------------
417 PROCEDURE validate_invoice_category_code
418 ( x_return_status OUT NOCOPY VARCHAR2,
419 p_tapv_rec IN tapv_rec_type
420 ) IS
421 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
422 BEGIN
423 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
424 IF(p_tapv_rec.invoice_category_code IS NOT NULL) THEN
425 x_return_status := OKL_UTIL.CHECK_LOOKUP_CODE
426 ( 'OKL_AP_INVOICE_CATEGORY'
427 , p_tapv_rec.invoice_category_code
428 );
429 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
430 OKL_Api.SET_MESSAGE
431 ( p_app_name => g_app_name,
432 p_msg_name => g_invalid_value,
433 p_token1 => g_col_name_token,
434 p_token1_value => 'invoice_category_code'
435 ) ;
436 RAISE G_EXCEPTION_HALT_VALIDATION;
437 END IF;
438 END IF;
439 EXCEPTION
440 WHEN G_EXCEPTION_HALT_VALIDATION then
441 -- No action necessary. Validation can continue to next attribute/column
442 null;
443 WHEN OTHERS then
444 -- Store SQL Error Message on the Message Stack for caller
445 OKL_Api.SET_MESSAGE
446 ( p_app_name => g_app_name,
447 p_msg_name => G_UNEXPECTED_ERROR,
448 p_token1 => G_SQLCODE_TOKEN,
449 p_token1_value => 'sqlcode',
450 p_token2 => G_SQLERRM_TOKEN,
451 p_token2_value => 'sqlerrm'
452 ) ;
453 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
454 END validate_invoice_category_code;
455
456 -- 01-NOV-2006 ANSETHUR R12B - Legal Entity --- Start changes
457 ---------------------------------------------------------------------------
458 -- PROCEDURE validate_le_id
459 ---------------------------------------------------------------------------
460 PROCEDURE validate_le_id
461 ( x_return_status OUT NOCOPY VARCHAR2,
462 p_tapv_rec IN tapv_rec_type ) IS
463 l_return_status number; -- varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
464
465 BEGIN
466 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
467
468 IF (p_tapv_rec.legal_entity_id IS NULL)
469 OR (p_tapv_rec.legal_entity_id = OKL_Api.G_MISS_NUM)
470 THEN
471 OKL_Api.SET_MESSAGE
472 ( p_app_name => g_app_name,
473 p_msg_name => g_required_value,
474 p_token1 => g_col_name_token,
475 p_token1_value => 'legal_entity_id'
476 ) ;
477 x_return_status := OKL_Api.G_RET_STS_ERROR;
478 RAISE G_EXCEPTION_HALT_VALIDATION;
479 ELSE
480
481 l_return_status := OKL_LEGAL_ENTITY_UTIL.check_le_id_exists
482 ( p_tapv_rec.legal_entity_id);
483
484 IF l_return_status = 1 then
485 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
486 ELSE
487 x_return_status := OKL_Api.G_RET_STS_ERROR;
488 END IF;
489 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
490 OKL_Api.SET_MESSAGE
491 ( p_app_name => g_app_name,
492 p_msg_name => g_invalid_value,
493 p_token1 => g_col_name_token,
494 p_token1_value => 'legal_entity_id');
495 RAISE G_EXCEPTION_HALT_VALIDATION;
496 END IF;
497 END IF;
498
499 EXCEPTION
500 WHEN G_EXCEPTION_HALT_VALIDATION then
501 -- No action necessary. Validation can continue to next attribute/column
502 null;
503 WHEN OTHERS then
504 -- Store SQL Error Message on the Message Stack for caller
505 OKL_Api.SET_MESSAGE
506 ( p_app_name => g_app_name,
507 p_msg_name => G_UNEXPECTED_ERROR,
508 p_token1 => G_SQLCODE_TOKEN,
509 p_token1_value => 'sqlcode',
510 p_token2 => G_SQLERRM_TOKEN,
511 p_token2_value => 'sqlerrm'
512 ) ;
513 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
514 END validate_le_id;
515 -- 01-NOV-2006 ANSETHUR R12B - Legal Entity --- End changes
516 ---------------------------------------------------------------------------
517 -- PROCEDURE validate_funding_type_code - PostGen-8
518 ---------------------------------------------------------------------------
519 PROCEDURE validate_funding_type_code
520 ( x_return_status OUT NOCOPY VARCHAR2,
521 p_tapv_rec IN tapv_rec_type
522 ) IS
523 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
524 BEGIN
525 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
526 IF(p_tapv_rec.funding_type_code IS NOT NULL) THEN
527 x_return_status := OKL_UTIL.CHECK_LOOKUP_CODE
528 ( 'OKL_FUNDING_TYPE'
529 , p_tapv_rec.funding_type_code
530 );
531 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
532 OKL_Api.SET_MESSAGE
533 ( p_app_name => g_app_name,
534 p_msg_name => g_invalid_value,
535 p_token1 => g_col_name_token,
536 p_token1_value => 'funding_type_code'
537 ) ;
538 RAISE G_EXCEPTION_HALT_VALIDATION;
539 END IF;
540 END IF;
541 EXCEPTION
542 WHEN G_EXCEPTION_HALT_VALIDATION then
543 -- No action necessary. Validation can continue to next attribute/column
544 null;
545 WHEN OTHERS then
546 -- Store SQL Error Message on the Message Stack for caller
547 OKL_Api.SET_MESSAGE
548 ( p_app_name => g_app_name,
549 p_msg_name => G_UNEXPECTED_ERROR,
550 p_token1 => G_SQLCODE_TOKEN,
551 p_token1_value => 'sqlcode',
552 p_token2 => G_SQLERRM_TOKEN,
553 p_token2_value => 'sqlerrm'
554 ) ;
555 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
556 END validate_funding_type_code;
557 ---------------------------------------------------------------------------
558 -- PROCEDURE validate_currency_code - PostGen-8
559 ---------------------------------------------------------------------------
560 PROCEDURE validate_currency_code
561 ( x_return_status OUT NOCOPY VARCHAR2
562 , p_tapv_rec IN tapv_rec_type
563 ) IS
564 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
565 l_dummy_var VARCHAR2(1) := '?';
566 CURSOR l_fncv_csr IS
567 SELECT 'x'
568 FROM fnd_currencies_vl
569 WHERE currency_code = p_tapv_rec.currency_code;
570 BEGIN
571 x_return_status := Okl_api.G_RET_STS_SUCCESS;
572 --Check Not Null
573 IF (p_tapv_rec.currency_code IS NULL)
574 OR (p_tapv_rec.currency_code = Okl_api.G_MISS_CHAR)
575 THEN
576 x_return_status:=Okl_api.G_RET_STS_ERROR;
577 --set error message in message stack
578 Okl_api.SET_MESSAGE(p_app_name => G_APP_NAME,
579 p_msg_name => G_INVALID_VALUE,
580 p_token1 => G_COL_NAME_TOKEN,
581 p_token1_value => 'CURRENCY_CODE');
582 RAISE G_EXCEPTION_HALT_VALIDATION;
583 END IF;
584 --Check FK column
585 OPEN l_fncv_csr;
586 FETCH l_fncv_csr INTO l_dummy_var;
587 CLOSE l_fncv_csr;
588 IF (l_dummy_var = '?') THEN
589 x_return_status := Okl_api.G_RET_STS_ERROR;
590 Okl_api.SET_MESSAGE(p_app_name => G_APP_NAME,
591 p_msg_name => G_NO_PARENT_RECORD,
592 p_token1 => G_COL_NAME_TOKEN,
593 p_token1_value => 'CURRENCY_CODE',
594 p_token2 => G_CHILD_TABLE_TOKEN,
595 p_token2_value => G_VIEW,
596 p_token3 => G_PARENT_TABLE_TOKEN,
597 p_token3_value => 'FND_CURRENCIES_VL');
598 RAISE G_EXCEPTION_HALT_VALIDATION;
599 END IF;
600 EXCEPTION
601 WHEN G_EXCEPTION_HALT_VALIDATION then
602 -- No action necessary. Validation can continue to next attribute/column
603 null;
604 WHEN OTHERS then
605 -- Store SQL Error Message on the Message Stack for caller
606 OKL_Api.SET_MESSAGE
607 ( p_app_name => g_app_name,
608 p_msg_name => G_UNEXPECTED_ERROR,
609 p_token1 => G_SQLCODE_TOKEN,
610 p_token1_value => 'sqlcode',
611 p_token2 => G_SQLERRM_TOKEN,
612 p_token2_value => 'sqlerrm'
613 ) ;
614 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
615 -- verfiy that cursor was closed
616 IF l_fncv_csr%ISOPEN THEN
617 CLOSE l_fncv_csr;
618 END IF;
619 END validate_currency_code;
620 ---------------------------------------------------------------------------
621 -- PROCEDURE validate_fk_ipvs_id - PostGen-2 PostGen-3
622 ---------------------------------------------------------------------------
623 PROCEDURE validate_fk_ipvs_id
624 ( x_return_status OUT NOCOPY VARCHAR2,
625 p_tapv_rec IN tapv_rec_type
626 ) IS
627 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
628 l_dummy_var VARCHAR2(1) := '?';
629 CURSOR l_ipvsv_csr IS
630 SELECT 'x'
631 FROM OKX_VENDOR_SITES_V
632 WHERE id1 = p_tapv_rec.ipvs_id;
633 BEGIN
634 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
635 IF(p_tapv_rec.ipvs_id IS NULL)
636 OR (p_tapv_rec.ipvs_id = OKL_Api.G_MISS_NUM) THEN
637 OKL_Api.SET_MESSAGE
638 ( p_app_name => g_app_name,
639 p_msg_name => g_required_value,
640 p_token1 => g_col_name_token,
641 p_token1_value => 'ipvs_id'
642 ) ;
643 x_return_status := OKL_Api.G_RET_STS_ERROR;
644 RAISE G_EXCEPTION_HALT_VALIDATION;
645 END IF;
646 open l_ipvsv_csr;
647 fetch l_ipvsv_csr into l_dummy_var;
648 close l_ipvsv_csr;
649 IF l_dummy_var = '?' THEN
650 OKL_Api.SET_MESSAGE
651 ( p_app_name => g_app_name,
652 p_msg_name => g_no_parent_record,
653 p_token1 => g_col_name_token,
654 p_token1_value => 'ipvs_id',
655 p_token2 => g_child_table_token,
656 p_token2_value => G_VIEW,
657 p_token3 => g_parent_table_token,
658 p_token3_value => 'OKX_VENDOR_SITES_V');
659 x_return_status := OKL_Api.G_RET_STS_ERROR;
660 RAISE G_EXCEPTION_HALT_VALIDATION;
661 END IF;
662 EXCEPTION
663 WHEN G_EXCEPTION_HALT_VALIDATION then
664 -- No action necessary. Validation can continue to next attribute/column
665 null;
666 WHEN OTHERS then
667 -- Store SQL Error Message on the Message Stack for caller
668 OKL_Api.SET_MESSAGE
669 ( p_app_name => g_app_name,
670 p_msg_name => G_UNEXPECTED_ERROR,
671 p_token1 => G_SQLCODE_TOKEN,
672 p_token1_value => 'sqlcode',
673 p_token2 => G_SQLERRM_TOKEN,
674 p_token2_value => 'sqlerrm'
675 ) ;
676 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
677 -- verfiy that cursor was closed
678 IF l_ipvsv_csr%ISOPEN THEN
679 CLOSE l_ipvsv_csr;
680 END IF;
681 END validate_fk_ipvs_id;
682 ---------------------------------------------------------------------------
683 -- PROCEDURE validate_fk_ccid - PostGen-3
684 ---------------------------------------------------------------------------
685 PROCEDURE validate_fk_ccid
686 ( x_return_status OUT NOCOPY VARCHAR2,
687 p_tapv_rec IN tapv_rec_type
688 ) IS
689 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
690 l_dummy_var VARCHAR2(1) := '?';
691 /****************** OKX View Not Available *****************
692 CURSOR l_cciv_csr IS
693 SELECT 'x'
694 FROM OKX_CODE_COMBINATIONS_V
695 WHERE id = p_tapv_rec.code_combination_id;
696 ***************** OKX View Not Available ******************/
697 BEGIN
698 null;
699 /****************** OKX View Not Available *****************
700 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
701 IF(p_tapv_rec.code_combination_id IS NOT NULL) THEN
702 IF(p_tapv_rec.code_combination_id = OKL_Api.G_MISS_NUM) THEN
703 OKL_Api.SET_MESSAGE
704 ( p_app_name => g_app_name,
705 p_msg_name => g_invalid_value,
706 p_token1 => g_col_name_token,
707 p_token1_value => 'code_combination_id'
708 ) ;
709 x_return_status := OKL_Api.G_RET_STS_ERROR;
710 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
711 END IF;
712 ELSE
713 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
714 END IF;
715 open l_cciv_csr;
716 fetch l_cciv_csr into l_dummy_var;
717 close l_cciv_csr;
718 IF l_dummy_var = '?' THEN
719 OKL_Api.SET_MESSAGE
720 ( p_app_name => g_app_name,
721 p_msg_name => g_no_parent_record,
722 p_token1 => g_col_name_token,
723 p_token1_value => 'code_combination_id',
724 p_token2 => g_child_table_token,
725 p_token2_value => g_view,
726 p_token3 => g_parent_table_token,
727 p_token3_value => 'OKX_CODE_COMBINATIONS_V');
728 x_return_status := OKL_Api.G_RET_STS_ERROR;
729 RAISE G_EXCEPTION_HALT_VALIDATION;
730 END IF;
731 EXCEPTION
732 WHEN G_EXCEPTION_HALT_VALIDATION then
733 -- No action necessary. Validation can continue to next attribute/column
734 null;
735 WHEN OTHERS then
736 -- Store SQL Error Message on the Message Stack for caller
737 OKL_Api.SET_MESSAGE
738 ( p_app_name => g_app_name,
739 p_msg_name => G_UNEXPECTED_ERROR,
740 p_token1 => G_SQLCODE_TOKEN,
741 p_token1_value => 'sqlcode',
742 p_token2 => G_SQLERRM_TOKEN,
743 p_token2_value => 'sqlerrm'
744 ) ;
745 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
746 -- verfiy that cursor was closed
747 IF l_cciv_csr%ISOPEN THEN
748 CLOSE l_cciv_csr;
749 END IF;
750 ***************** OKX View Not Available ******************/
751 END validate_fk_ccid;
752 ---------------------------------------------------------------------------
753 -- PROCEDURE validate_fk_tap_id_reverses - PostGen-3
754 ---------------------------------------------------------------------------
755 PROCEDURE validate_fk_tap_id_reverses
756 ( x_return_status OUT NOCOPY VARCHAR2,
757 p_tapv_rec IN tapv_rec_type
758 ) IS
759 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
760 l_dummy_var VARCHAR2(1) := '?';
761 CURSOR l_tapv_csr IS
762 SELECT 'x'
763 FROM OKL_TRX_AP_INVOICES_V
764 WHERE id = p_tapv_rec.tap_id_reverses;
765 BEGIN
766 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
767 IF(p_tapv_rec.tap_id_reverses IS NOT NULL) THEN
768 IF(p_tapv_rec.tap_id_reverses = OKL_Api.G_MISS_NUM) THEN
769 OKL_Api.SET_MESSAGE
770 ( p_app_name => g_app_name,
771 p_msg_name => g_invalid_value,
772 p_token1 => g_col_name_token,
773 p_token1_value => 'tap_id_reverses'
774 ) ;
775 x_return_status := OKL_Api.G_RET_STS_ERROR;
776 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
777 END IF;
778 ELSE
779 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
780 END IF;
781 open l_tapv_csr;
782 fetch l_tapv_csr into l_dummy_var;
783 close l_tapv_csr;
784 IF l_dummy_var = '?' THEN
785 OKL_Api.SET_MESSAGE
786 ( p_app_name => g_app_name,
787 p_msg_name => g_no_parent_record,
788 p_token1 => g_col_name_token,
789 p_token1_value => 'tap_id_reverses',
790 p_token2 => g_child_table_token,
791 p_token2_value => g_view,
792 p_token3 => g_parent_table_token,
793 p_token3_value => 'OKL_TRX_AP_INVOICES_V');
794 x_return_status := OKL_Api.G_RET_STS_ERROR;
795 RAISE G_EXCEPTION_HALT_VALIDATION;
796 END IF;
797 EXCEPTION
798 WHEN G_EXCEPTION_HALT_VALIDATION then
799 -- No action necessary. Validation can continue to next attribute/column
800 null;
801 WHEN OTHERS then
802 -- Store SQL Error Message on the Message Stack for caller
803 OKL_Api.SET_MESSAGE
804 ( p_app_name => g_app_name,
805 p_msg_name => G_UNEXPECTED_ERROR,
806 p_token1 => G_SQLCODE_TOKEN,
807 p_token1_value => 'sqlcode',
808 p_token2 => G_SQLERRM_TOKEN,
809 p_token2_value => 'sqlerrm'
810 ) ;
811 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
812 -- verfiy that cursor was closed
813 IF l_tapv_csr%ISOPEN THEN
814 CLOSE l_tapv_csr;
815 END IF;
816 END validate_fk_tap_id_reverses;
817 ---------------------------------------------------------------------------
818 -- PROCEDURE validate_fk_cplv_id - PostGen-3
819 ---------------------------------------------------------------------------
820 PROCEDURE validate_fk_cplv_id
821 ( x_return_status OUT NOCOPY VARCHAR2,
822 p_tapv_rec IN tapv_rec_type
823 ) IS
824 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
825 l_dummy_var VARCHAR2(1) := '?';
826 CURSOR l_cplv_csr IS
827 SELECT 'x'
828 FROM OKC_K_PARTY_ROLES_V
829 WHERE id = p_tapv_rec.cplv_id;
830 BEGIN
831 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
832 IF(p_tapv_rec.cplv_id IS NOT NULL) THEN
833 IF(p_tapv_rec.cplv_id = OKL_Api.G_MISS_NUM) THEN
834 OKL_Api.SET_MESSAGE
835 ( p_app_name => g_app_name,
836 p_msg_name => g_invalid_value,
837 p_token1 => g_col_name_token,
838 p_token1_value => 'cplv_id'
839 ) ;
840 x_return_status := OKL_Api.G_RET_STS_ERROR;
841 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
842 END IF;
843 ELSE
844 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
845 END IF;
846 open l_cplv_csr;
847 fetch l_cplv_csr into l_dummy_var;
848 close l_cplv_csr;
849 IF l_dummy_var = '?' THEN
850 OKL_Api.SET_MESSAGE
851 ( p_app_name => g_app_name,
852 p_msg_name => g_no_parent_record,
853 p_token1 => g_col_name_token,
854 p_token1_value => 'cplv_id',
855 p_token2 => g_child_table_token,
856 p_token2_value => g_view,
857 p_token3 => g_parent_table_token,
858 p_token3_value => 'OKC_K_PARTY_ROLES_V');
859 x_return_status := OKL_Api.G_RET_STS_ERROR;
860 RAISE G_EXCEPTION_HALT_VALIDATION;
861 END IF;
862 EXCEPTION
863 WHEN G_EXCEPTION_HALT_VALIDATION then
864 -- No action necessary. Validation can continue to next attribute/column
865 null;
866 WHEN OTHERS then
867 -- Store SQL Error Message on the Message Stack for caller
868 OKL_Api.SET_MESSAGE
869 ( p_app_name => g_app_name,
870 p_msg_name => G_UNEXPECTED_ERROR,
871 p_token1 => G_SQLCODE_TOKEN,
872 p_token1_value => 'sqlcode',
873 p_token2 => G_SQLERRM_TOKEN,
874 p_token2_value => 'sqlerrm'
875 ) ;
876 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
877 -- verfiy that cursor was closed
878 IF l_cplv_csr%ISOPEN THEN
879 CLOSE l_cplv_csr;
880 END IF;
881 END validate_fk_cplv_id;
882 ---------------------------------------------------------------------------
883 -- PROCEDURE validate_fk_qte_id - PostGen-3
884 ---------------------------------------------------------------------------
885 PROCEDURE validate_fk_qte_id
886 ( x_return_status OUT NOCOPY VARCHAR2,
887 p_tapv_rec IN tapv_rec_type
888 ) IS
889 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
890 l_dummy_var VARCHAR2(1) := '?';
891 CURSOR l_qtev_csr IS
892 SELECT 'x'
893 FROM OKL_TRX_QUOTES_V
894 WHERE id = p_tapv_rec.qte_id;
895 BEGIN
896 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
897 IF(p_tapv_rec.qte_id IS NOT NULL) THEN
898 IF(p_tapv_rec.qte_id = OKL_Api.G_MISS_NUM) THEN
899 OKL_Api.SET_MESSAGE
900 ( p_app_name => g_app_name,
901 p_msg_name => g_invalid_value,
902 p_token1 => g_col_name_token,
903 p_token1_value => 'qte_id'
904 ) ;
905 x_return_status := OKL_Api.G_RET_STS_ERROR;
906 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
907 END IF;
908 ELSE
909 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
910 END IF;
911 open l_qtev_csr;
912 fetch l_qtev_csr into l_dummy_var;
913 close l_qtev_csr;
914 IF l_dummy_var = '?' THEN
915 OKL_Api.SET_MESSAGE
916 ( p_app_name => g_app_name,
917 p_msg_name => g_no_parent_record,
918 p_token1 => g_col_name_token,
919 p_token1_value => 'qte_id',
920 p_token2 => g_child_table_token,
921 p_token2_value => g_view,
922 p_token3 => g_parent_table_token,
923 p_token3_value => 'OKL_TRX_QUOTES_V');
924 x_return_status := OKL_Api.G_RET_STS_ERROR;
925 RAISE G_EXCEPTION_HALT_VALIDATION;
926 END IF;
927 EXCEPTION
928 WHEN G_EXCEPTION_HALT_VALIDATION then
929 -- No action necessary. Validation can continue to next attribute/column
930 null;
931 WHEN OTHERS then
932 -- Store SQL Error Message on the Message Stack for caller
933 OKL_Api.SET_MESSAGE
934 ( p_app_name => g_app_name,
935 p_msg_name => G_UNEXPECTED_ERROR,
936 p_token1 => G_SQLCODE_TOKEN,
937 p_token1_value => 'sqlcode',
938 p_token2 => G_SQLERRM_TOKEN,
939 p_token2_value => 'sqlerrm'
940 ) ;
941 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
942 -- verfiy that cursor was closed
943 IF l_qtev_csr%ISOPEN THEN
944 CLOSE l_qtev_csr;
945 END IF;
946 END validate_fk_qte_id;
947 ---------------------------------------------------------------------------
948 -- PROCEDURE validate_fk_tcn_id - PostGen-3
949 ---------------------------------------------------------------------------
950 PROCEDURE validate_fk_tcn_id
951 ( x_return_status OUT NOCOPY VARCHAR2,
952 p_tapv_rec IN tapv_rec_type
953 ) IS
954 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
955 l_dummy_var VARCHAR2(1) := '?';
956 CURSOR l_tcnv_csr IS
957 SELECT 'x'
958 FROM OKL_TRX_CONTRACTS
959 WHERE id = p_tapv_rec.tcn_id;
960 BEGIN
961 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
962 IF(p_tapv_rec.tcn_id IS NOT NULL) THEN
963 IF(p_tapv_rec.tcn_id = OKL_Api.G_MISS_NUM) THEN
964 OKL_Api.SET_MESSAGE
965 ( p_app_name => g_app_name,
966 p_msg_name => g_invalid_value,
967 p_token1 => g_col_name_token,
968 p_token1_value => 'tcn_id'
969 ) ;
970 x_return_status := OKL_Api.G_RET_STS_ERROR;
971 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
972 END IF;
973 ELSE
974 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
975 END IF;
976 open l_tcnv_csr;
977 fetch l_tcnv_csr into l_dummy_var;
978 close l_tcnv_csr;
979 IF l_dummy_var = '?' THEN
980 OKL_Api.SET_MESSAGE
981 ( p_app_name => g_app_name,
982 p_msg_name => g_no_parent_record,
983 p_token1 => g_col_name_token,
984 p_token1_value => 'tcn_id',
985 p_token2 => g_child_table_token,
986 p_token2_value => g_view,
987 p_token3 => g_parent_table_token,
988 p_token3_value => 'OKL_TRX_CONTRACTS');
989 x_return_status := OKL_Api.G_RET_STS_ERROR;
990 RAISE G_EXCEPTION_HALT_VALIDATION;
991 END IF;
992 EXCEPTION
993 WHEN G_EXCEPTION_HALT_VALIDATION then
994 -- No action necessary. Validation can continue to next attribute/column
995 null;
996 WHEN OTHERS then
997 -- Store SQL Error Message on the Message Stack for caller
998 OKL_Api.SET_MESSAGE
999 ( p_app_name => g_app_name,
1000 p_msg_name => G_UNEXPECTED_ERROR,
1001 p_token1 => G_SQLCODE_TOKEN,
1002 p_token1_value => 'sqlcode',
1003 p_token2 => G_SQLERRM_TOKEN,
1004 p_token2_value => 'sqlerrm'
1005 ) ;
1006 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1007 -- verfiy that cursor was closed
1008 IF l_tcnv_csr%ISOPEN THEN
1009 CLOSE l_tcnv_csr;
1010 END IF;
1011 END validate_fk_tcn_id;
1012 ---------------------------------------------------------------------------
1013 -- PROCEDURE validate_fk_ippt_id - PostGen-3
1014 ---------------------------------------------------------------------------
1015 PROCEDURE validate_fk_ippt_id
1016 ( x_return_status OUT NOCOPY VARCHAR2,
1017 p_tapv_rec IN tapv_rec_type
1018 ) IS
1019 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1020 l_dummy_var VARCHAR2(1) := '?';
1021 /****************** OKX View Not Available *****************
1022 CURSOR l_ipptv_csr IS
1023 SELECT 'x'
1024 FROM OKX_PAYABLES_PAYMENT_TERMS_V
1025 WHERE id = p_tapv_rec.ippt_id;
1026 ***************** OKX View Not Available ******************/
1027 BEGIN
1028 null;
1029 /****************** OKX View Not Available *****************
1030 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1031 IF(p_tapv_rec.ippt_id IS NOT NULL) THEN
1032 IF(p_tapv_rec.ippt_id = OKL_Api.G_MISS_NUM) THEN
1033 OKL_Api.SET_MESSAGE
1034 ( p_app_name => g_app_name,
1035 p_msg_name => g_invalid_value,
1036 p_token1 => g_col_name_token,
1037 p_token1_value => 'ippt_id'
1038 ) ;
1039 x_return_status := OKL_Api.G_RET_STS_ERROR;
1040 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
1041 END IF;
1042 ELSE
1043 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
1044 END IF;
1045 open l_ipptv_csr;
1046 fetch l_ipptv_csr into l_dummy_var;
1047 close l_ipptv_csr;
1048 IF l_dummy_var = '?' THEN
1049 OKL_Api.SET_MESSAGE
1050 ( p_app_name => g_app_name,
1051 p_msg_name => g_no_parent_record,
1052 p_token1 => g_col_name_token,
1053 p_token1_value => 'ippt_id',
1054 p_token2 => g_child_table_token,
1055 p_token2_value => g_view,
1056 p_token3 => g_parent_table_token,
1057 p_token3_value => 'OKX_PAYABLES_PAYMENT_TERMS_V');
1058 x_return_status := OKL_Api.G_RET_STS_ERROR;
1059 RAISE G_EXCEPTION_HALT_VALIDATION;
1060 END IF;
1061 EXCEPTION
1062 WHEN G_EXCEPTION_HALT_VALIDATION then
1063 -- No action necessary. Validation can continue to next attribute/column
1064 null;
1065 WHEN OTHERS then
1066 -- Store SQL Error Message on the Message Stack for caller
1067 OKL_Api.SET_MESSAGE
1068 ( p_app_name => g_app_name,
1069 p_msg_name => G_UNEXPECTED_ERROR,
1070 p_token1 => G_SQLCODE_TOKEN,
1071 p_token1_value => 'sqlcode',
1072 p_token2 => G_SQLERRM_TOKEN,
1073 p_token2_value => 'sqlerrm'
1074 ) ;
1075 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1076 -- verfiy that cursor was closed
1077 IF l_ipptv_csr%ISOPEN THEN
1078 CLOSE l_ipptv_csr;
1079 END IF;
1080 ***************** OKX View Not Available ******************/
1081 END validate_fk_ippt_id;
1082 ---------------------------------------------------------------------------
1083 -- PROCEDURE validate_fk_art_id - PostGen-3
1084 ---------------------------------------------------------------------------
1085 PROCEDURE validate_fk_art_id
1086 ( x_return_status OUT NOCOPY VARCHAR2,
1087 p_tapv_rec IN tapv_rec_type
1088 ) IS
1089 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1090 l_dummy_var VARCHAR2(1) := '?';
1091 CURSOR l_artv_csr IS
1092 SELECT 'x'
1093 FROM OKL_ASSET_RETURNS_V
1094 WHERE id = p_tapv_rec.art_id;
1095 BEGIN
1096 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1097 IF(p_tapv_rec.art_id IS NOT NULL) THEN
1098 IF(p_tapv_rec.art_id = OKL_Api.G_MISS_NUM) THEN
1099 OKL_Api.SET_MESSAGE
1100 ( p_app_name => g_app_name,
1101 p_msg_name => g_invalid_value,
1102 p_token1 => g_col_name_token,
1103 p_token1_value => 'art_id'
1104 ) ;
1105 x_return_status := OKL_Api.G_RET_STS_ERROR;
1106 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
1107 END IF;
1108 ELSE
1109 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
1110 END IF;
1111 open l_artv_csr;
1112 fetch l_artv_csr into l_dummy_var;
1113 close l_artv_csr;
1114 IF l_dummy_var = '?' THEN
1115 OKL_Api.SET_MESSAGE
1116 ( p_app_name => g_app_name,
1117 p_msg_name => g_no_parent_record,
1118 p_token1 => g_col_name_token,
1119 p_token1_value => 'art_id',
1120 p_token2 => g_child_table_token,
1121 p_token2_value => g_view,
1122 p_token3 => g_parent_table_token,
1123 p_token3_value => 'OKL_ASSET_RETURNS_V');
1124 x_return_status := OKL_Api.G_RET_STS_ERROR;
1125 RAISE G_EXCEPTION_HALT_VALIDATION;
1126 END IF;
1127 EXCEPTION
1128 WHEN G_EXCEPTION_HALT_VALIDATION then
1129 -- No action necessary. Validation can continue to next attribute/column
1130 null;
1131 WHEN OTHERS then
1132 -- Store SQL Error Message on the Message Stack for caller
1133 OKL_Api.SET_MESSAGE
1134 ( p_app_name => g_app_name,
1135 p_msg_name => G_UNEXPECTED_ERROR,
1136 p_token1 => G_SQLCODE_TOKEN,
1137 p_token1_value => 'sqlcode',
1138 p_token2 => G_SQLERRM_TOKEN,
1139 p_token2_value => 'sqlerrm'
1140 ) ;
1141 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1142 -- verfiy that cursor was closed
1143 IF l_artv_csr%ISOPEN THEN
1144 CLOSE l_artv_csr;
1145 END IF;
1146 END validate_fk_art_id;
1147 ---------------------------------------------------------------------------
1148 -- PROCEDURE validate_fk_khr_id - PostGen-3
1149 ---------------------------------------------------------------------------
1150 -- sjalasut, modified the procedure to validate incomming value of khr_id
1151 -- with okl_k_headers. other validations would continue to exist to check
1152 -- that if a khr_id is being stored, then it has valid fk referenced with
1153 -- okl_k_headers. changes made as part of OKLR12B disbursements project
1154 -- when khr_id is null, no error is reported.
1155 PROCEDURE validate_fk_khr_id
1156 ( x_return_status OUT NOCOPY VARCHAR2,
1157 p_tapv_rec IN tapv_rec_type
1158 ) IS
1159 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1160 l_dummy_var VARCHAR2(1) := '?';
1161 CURSOR l_khrv_csr IS
1162 SELECT 'x'
1163 FROM OKL_K_HEADERS
1164 WHERE id = p_tapv_rec.khr_id;
1165 BEGIN
1166 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1167 IF(p_tapv_rec.khr_id IS NOT NULL) THEN
1168 IF(p_tapv_rec.khr_id = OKL_Api.G_MISS_NUM) THEN
1169 OKL_Api.SET_MESSAGE
1170 ( p_app_name => g_app_name,
1171 p_msg_name => g_invalid_value,
1172 p_token1 => g_col_name_token,
1173 p_token1_value => 'khr_id'
1174 ) ;
1175 x_return_status := OKL_Api.G_RET_STS_ERROR;
1176 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
1177 ELSE
1178 open l_khrv_csr;
1179 fetch l_khrv_csr into l_dummy_var;
1180 close l_khrv_csr;
1181 IF l_dummy_var = '?' THEN
1182 OKL_Api.SET_MESSAGE
1183 ( p_app_name => g_app_name,
1184 p_msg_name => g_no_parent_record,
1185 p_token1 => g_col_name_token,
1186 p_token1_value => 'khr_id',
1187 p_token2 => g_child_table_token,
1188 p_token2_value => g_view,
1189 p_token3 => g_parent_table_token,
1190 p_token3_value => 'OKL_K_HEADERS_V');
1191 x_return_status := OKL_Api.G_RET_STS_ERROR;
1192 RAISE G_EXCEPTION_HALT_VALIDATION;
1193 END IF;
1194 END IF;
1195 END IF;
1196 EXCEPTION
1197 WHEN G_EXCEPTION_HALT_VALIDATION then
1198 -- No action necessary. Validation can continue to next attribute/column
1199 null;
1200 WHEN OTHERS then
1201 -- Store SQL Error Message on the Message Stack for caller
1202 OKL_Api.SET_MESSAGE
1203 ( p_app_name => g_app_name,
1204 p_msg_name => G_UNEXPECTED_ERROR,
1205 p_token1 => G_SQLCODE_TOKEN,
1206 p_token1_value => 'sqlcode',
1207 p_token2 => G_SQLERRM_TOKEN,
1208 p_token2_value => 'sqlerrm'
1209 ) ;
1210 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1211 -- verfiy that cursor was closed
1212 IF l_khrv_csr%ISOPEN THEN
1213 CLOSE l_khrv_csr;
1214 END IF;
1215 END validate_fk_khr_id;
1216 ---------------------------------------------------------------------------
1217 -- PROCEDURE validate_fk_ccf_id - PostGen-3
1218 ---------------------------------------------------------------------------
1219 /* Error View OKL_CSE_K_REFUNDS_V not exists
1220 PROCEDURE validate_fk_ccf_id
1221 ( x_return_status OUT NOCOPY VARCHAR2,
1222 p_tapv_rec IN tapv_rec_type
1223 ) IS
1224 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1225 l_dummy_var VARCHAR2(1) := '?';
1226 CURSOR l_ccfv_csr IS
1227 SELECT 'x'
1228 FROM OKL_CSE_K_REFUNDS_V
1229 WHERE id = p_tapv_rec.ccf_id;
1230 BEGIN
1231 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1232 IF(p_tapv_rec.ccf_id IS NOT NULL) THEN
1233 IF(p_tapv_rec.ccf_id = OKL_Api.G_MISS_NUM) THEN
1234 OKL_Api.SET_MESSAGE
1235 ( p_app_name => g_app_name,
1236 p_msg_name => g_invalid_value,
1237 p_token1 => g_col_name_token,
1238 p_token1_value => 'ccf_id'
1239 ) ;
1240 x_return_status := OKL_Api.G_RET_STS_ERROR;
1241 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
1242 END IF;
1243 ELSE
1244 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
1245 END IF;
1246 open l_ccfv_csr;
1247 fetch l_ccfv_csr into l_dummy_var;
1248 close l_ccfv_csr;
1249 IF l_dummy_var = '?' THEN
1250 OKL_Api.SET_MESSAGE
1251 ( p_app_name => g_app_name,
1252 p_msg_name => g_no_parent_record,
1253 p_token1 => g_col_name_token,
1254 p_token1_value => 'ccf_id',
1255 p_token2 => g_child_table_token,
1256 p_token2_value => g_view,
1257 p_token3 => g_parent_table_token,
1258 p_token3_value => 'OKL_CSE_K_REFUNDS_V');
1259 x_return_status := OKL_Api.G_RET_STS_ERROR;
1260 RAISE G_EXCEPTION_HALT_VALIDATION;
1261 END IF;
1262 EXCEPTION
1263 WHEN G_EXCEPTION_HALT_VALIDATION then
1264 -- No action necessary. Validation can continue to next attribute/column
1265 null;
1266 WHEN OTHERS then
1267 -- Store SQL Error Message on the Message Stack for caller
1268 OKL_Api.SET_MESSAGE
1269 ( p_app_name => g_app_name,
1270 p_msg_name => G_UNEXPECTED_ERROR,
1271 p_token1 => G_SQLCODE_TOKEN,
1272 p_token1_value => 'sqlcode',
1273 p_token2 => G_SQLERRM_TOKEN,
1274 p_token2_value => 'sqlerrm'
1275 ) ;
1276 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1277 -- verfiy that cursor was closed
1278 IF l_ccfv_csr%ISOPEN THEN
1279 CLOSE l_ccfv_csr;
1280 END IF;
1281 END validate_fk_ccf_id;
1282 ---------------------------------------------------------------------------
1283 -- PROCEDURE validate_fk_cct_id - PostGen-3
1284 ---------------------------------------------------------------------------
1285 Error view not exists
1286 PROCEDURE validate_fk_cct_id
1287 ( x_return_status OUT NOCOPY VARCHAR2,
1288 p_tapv_rec IN tapv_rec_type
1289 ) IS
1290 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1291 l_dummy_var VARCHAR2(1) := '?';
1292 CURSOR l_cctv_csr IS
1293 SELECT 'x'
1294 FROM OKL_CSE_COSTS_V
1295 WHERE id = p_tapv_rec.cct_id;
1296 BEGIN
1297 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1298 IF(p_tapv_rec.cct_id IS NOT NULL) THEN
1299 IF(p_tapv_rec.cct_id = OKL_Api.G_MISS_NUM) THEN
1300 OKL_Api.SET_MESSAGE
1301 ( p_app_name => g_app_name,
1302 p_msg_name => g_invalid_value,
1303 p_token1 => g_col_name_token,
1304 p_token1_value => 'cct_id'
1305 ) ;
1306 x_return_status := OKL_Api.G_RET_STS_ERROR;
1307 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
1308 END IF;
1309 ELSE
1310 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
1311 END IF;
1312 open l_cctv_csr;
1313 fetch l_cctv_csr into l_dummy_var;
1314 close l_cctv_csr;
1315 IF l_dummy_var = '?' THEN
1316 OKL_Api.SET_MESSAGE
1317 ( p_app_name => g_app_name,
1318 p_msg_name => g_no_parent_record,
1319 p_token1 => g_col_name_token,
1320 p_token1_value => 'cct_id',
1321 p_token2 => g_child_table_token,
1322 p_token2_value => g_view,
1323 p_token3 => g_parent_table_token,
1324 p_token3_value => 'OKL_CSE_COSTS_V');
1325 x_return_status := OKL_Api.G_RET_STS_ERROR;
1326 RAISE G_EXCEPTION_HALT_VALIDATION;
1327 END IF;
1328 EXCEPTION
1329 WHEN G_EXCEPTION_HALT_VALIDATION then
1330 -- No action necessary. Validation can continue to next attribute/column
1331 null;
1332 WHEN OTHERS then
1333 -- Store SQL Error Message on the Message Stack for caller
1334 OKL_Api.SET_MESSAGE
1335 ( p_app_name => g_app_name,
1336 p_msg_name => G_UNEXPECTED_ERROR,
1337 p_token1 => G_SQLCODE_TOKEN,
1338 p_token1_value => 'sqlcode',
1339 p_token2 => G_SQLERRM_TOKEN,
1340 p_token2_value => 'sqlerrm'
1341 ) ;
1342 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1343 -- verfiy that cursor was closed
1344 IF l_cctv_csr%ISOPEN THEN
1345 CLOSE l_cctv_csr;
1346 END IF;
1347 END validate_fk_cct_id;
1348 */
1349 ---------------------------------------------------------------------------
1350 -- PROCEDURE validate_fk_try_id - Post postgen 14,15
1351 ---------------------------------------------------------------------------
1352 PROCEDURE validate_fk_try_id
1353 ( x_return_status OUT NOCOPY VARCHAR2,
1354 p_tapv_rec IN tapv_rec_type
1355 ) IS
1356 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1357 l_dummy_var VARCHAR2(1) := '?';
1358 CURSOR l_tryv_csr IS
1359 SELECT 'x'
1360 FROM OKL_TRX_TYPES_V
1361 WHERE id = p_tapv_rec.try_id;
1362 BEGIN
1363 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1364 IF(p_tapv_rec.try_id IS NULL)
1365 OR (p_tapv_rec.try_id = OKL_Api.G_MISS_NUM) THEN
1366 OKL_Api.SET_MESSAGE
1367 ( p_app_name => g_app_name,
1368 p_msg_name => g_required_value,
1369 p_token1 => g_col_name_token,
1370 p_token1_value => 'try_id'
1371 ) ;
1372 x_return_status := OKL_Api.G_RET_STS_ERROR;
1373 RAISE G_EXCEPTION_HALT_VALIDATION;
1374 END IF;
1375 open l_tryv_csr;
1376 fetch l_tryv_csr into l_dummy_var;
1377 close l_tryv_csr;
1378 IF l_dummy_var = '?' THEN
1379 OKL_Api.SET_MESSAGE
1380 ( p_app_name => g_app_name,
1381 p_msg_name => g_no_parent_record,
1382 p_token1 => g_col_name_token,
1383 p_token1_value => 'try_id',
1384 p_token2 => g_child_table_token,
1385 p_token2_value => G_VIEW,
1386 p_token3 => g_parent_table_token,
1387 p_token3_value => 'OKL_TRX_TYPES_V');
1388 x_return_status := OKL_Api.G_RET_STS_ERROR;
1389 RAISE G_EXCEPTION_HALT_VALIDATION;
1390 END IF;
1391 EXCEPTION
1392 WHEN G_EXCEPTION_HALT_VALIDATION then
1393 -- No action necessary. Validation can continue to next attribute/column
1394 null;
1395 WHEN OTHERS then
1396 -- Store SQL Error Message on the Message Stack for caller
1397 OKL_Api.SET_MESSAGE
1398 ( p_app_name => g_app_name,
1399 p_msg_name => G_UNEXPECTED_ERROR,
1400 p_token1 => G_SQLCODE_TOKEN,
1401 p_token1_value => 'sqlcode',
1402 p_token2 => G_SQLERRM_TOKEN,
1403 p_token2_value => 'sqlerrm'
1404 ) ;
1405 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1406 -- verfiy that cursor was closed
1407 IF l_tryv_csr%ISOPEN THEN
1408 CLOSE l_tryv_csr;
1409 END IF;
1410 END validate_fk_try_id;
1411 ---------------------------------------------------------------------------
1412 -- PROCEDURE validate_fk_sob_id - Post postgen 14,15
1413 ---------------------------------------------------------------------------
1414 PROCEDURE validate_fk_sob_id
1415 ( x_return_status OUT NOCOPY VARCHAR2,
1416 p_tapv_rec IN tapv_rec_type
1417 ) IS
1418 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1419 l_dummy_var VARCHAR2(1) := '?';
1420 CURSOR l_sobv_csr IS
1421 SELECT 'x'
1422 FROM GL_LEDGERS_PUBLIC_V
1423 WHERE ledger_id = p_tapv_rec.set_of_books_id;
1424 BEGIN
1425 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1426 IF(p_tapv_rec.set_of_books_id IS NOT NULL) THEN
1427 IF(p_tapv_rec.set_of_books_id = OKL_Api.G_MISS_NUM) THEN
1428 OKL_Api.SET_MESSAGE
1429 ( p_app_name => g_app_name,
1430 p_msg_name => g_invalid_value,
1431 p_token1 => g_col_name_token,
1432 p_token1_value => 'set_of_books_id'
1433 ) ;
1434 x_return_status := OKL_Api.G_RET_STS_ERROR;
1435 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
1436 END IF;
1437 ELSE
1438 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
1439 END IF;
1440 open l_sobv_csr;
1441 fetch l_sobv_csr into l_dummy_var;
1442 close l_sobv_csr;
1443 IF l_dummy_var = '?' THEN
1444 OKL_Api.SET_MESSAGE
1445 ( p_app_name => g_app_name,
1446 p_msg_name => g_no_parent_record,
1447 p_token1 => g_col_name_token,
1448 p_token1_value => 'set_of_books_id',
1449 p_token2 => g_child_table_token,
1450 p_token2_value => g_view,
1451 p_token3 => g_parent_table_token,
1452 p_token3_value => 'GL_LEDGERS_PUBLIC_V');
1453 x_return_status := OKL_Api.G_RET_STS_ERROR;
1454 RAISE G_EXCEPTION_HALT_VALIDATION;
1455 END IF;
1456 EXCEPTION
1457 WHEN G_EXCEPTION_HALT_VALIDATION then
1458 -- No action necessary. Validation can continue to next attribute/column
1459 null;
1460 WHEN OTHERS then
1461 -- Store SQL Error Message on the Message Stack for caller
1462 OKL_Api.SET_MESSAGE
1463 ( p_app_name => g_app_name,
1464 p_msg_name => G_UNEXPECTED_ERROR,
1465 p_token1 => G_SQLCODE_TOKEN,
1466 p_token1_value => 'sqlcode',
1467 p_token2 => G_SQLERRM_TOKEN,
1468 p_token2_value => 'sqlerrm'
1469 ) ;
1470 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1471 -- verfiy that cursor was closed
1472 IF l_sobv_csr%ISOPEN THEN
1473 CLOSE l_sobv_csr;
1474 END IF;
1475 END validate_fk_sob_id;
1476
1477 --Start code added by pgomes on 19-NOV-2002
1478 ---------------------------------------------------------------------------
1479 -- PROCEDURE validate_pox_id
1480 ---------------------------------------------------------------------------
1481 PROCEDURE validate_pox_id (p_tapv_rec IN tapv_rec_type,
1482 x_return_status OUT NOCOPY VARCHAR2) IS
1483 l_dummy_var VARCHAR2(1) := '0';
1484
1485 CURSOR l_pox_id_csr IS
1486 SELECT '1'
1487 FROM OKL_POOL_TRANSACTIONS
1488 WHERE id = p_tapv_rec.pox_id;
1489
1490 BEGIN
1491 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1492
1493 IF (p_tapv_rec.pox_id IS NOT NULL) THEN
1494 OPEN l_pox_id_csr;
1495 FETCH l_pox_id_csr INTO l_dummy_var;
1496 CLOSE l_pox_id_csr;
1497
1498 IF (l_dummy_var <> '1') THEN
1499 x_return_status := Okl_Api.G_RET_STS_ERROR;
1500 Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
1501 p_msg_name => G_NO_PARENT_RECORD,
1502 p_token1 => G_COL_NAME_TOKEN,
1503 p_token1_value => 'POX_ID_FOR',
1504 p_token2 => G_CHILD_TABLE_TOKEN,
1505 p_token2_value => G_VIEW,
1506 p_token3 => G_PARENT_TABLE_TOKEN,
1507 p_token3_value => 'OKL_POOL_TRANSACTIONS');
1508
1509 END IF;
1510 END IF;
1511
1512 END validate_pox_id;
1513
1514 --End code added by pgomes on 19-NOV-2002
1515
1516 ---------------------------------------------------------------------------
1517 -- PROCEDURE validate_trx_status_code - Post postgen 14,15
1518 ---------------------------------------------------------------------------
1519 PROCEDURE validate_trx_status_code
1520 ( x_return_status OUT NOCOPY VARCHAR2,
1521 p_tapv_rec IN tapv_rec_type
1522 ) IS
1523 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1524 BEGIN
1525 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1526 IF (p_tapv_rec.trx_status_code IS NULL)
1527 OR (p_tapv_rec.trx_status_code = OKL_Api.G_MISS_CHAR)
1528 THEN
1529 OKL_Api.SET_MESSAGE
1530 ( p_app_name => g_app_name,
1531 p_msg_name => g_required_value,
1532 p_token1 => g_col_name_token,
1533 p_token1_value => 'trx_status_code'
1534 ) ;
1535 x_return_status := OKL_Api.G_RET_STS_ERROR;
1536 RAISE G_EXCEPTION_HALT_VALIDATION;
1537 END IF;
1538 x_return_status := OKL_UTIL.CHECK_LOOKUP_CODE
1539 ( 'OKL_TRANSACTION_STATUS'
1540 , p_tapv_rec.trx_status_code
1541 );
1542 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
1543 OKL_Api.SET_MESSAGE
1544 ( p_app_name => g_app_name,
1545 p_msg_name => g_invalid_value,
1546 p_token1 => g_col_name_token,
1547 p_token1_value => 'trx_status_code'
1548 ) ;
1549 RAISE G_EXCEPTION_HALT_VALIDATION;
1550 END IF;
1551 EXCEPTION
1552 WHEN G_EXCEPTION_HALT_VALIDATION then
1553 -- No action necessary. Validation can continue to next attribute/column
1554 null;
1555 WHEN OTHERS then
1556 -- Store SQL Error Message on the Message Stack for caller
1557 OKL_Api.SET_MESSAGE
1558 ( p_app_name => g_app_name,
1559 p_msg_name => G_UNEXPECTED_ERROR,
1560 p_token1 => G_SQLCODE_TOKEN,
1561 p_token1_value => 'sqlcode',
1562 p_token2 => G_SQLERRM_TOKEN,
1563 p_token2_value => 'sqlerrm'
1564 ) ;
1565 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1566 END validate_trx_status_code;
1567 ---------------------------------------------------------------------------
1568 -- PROCEDURE validate_asset_tap_id
1569 ---------------------------------------------------------------------------
1570 PROCEDURE validate_asset_tap_id (p_tapv_rec IN tapv_rec_type,
1571 x_return_status OUT NOCOPY VARCHAR2) IS
1572 l_dummy_var VARCHAR2(1) := '0';
1573
1574 CURSOR l_asset_tap_id_csr IS
1575 SELECT '1'
1576 FROM OKL_TRX_AP_INVOICES_V
1577 WHERE id = p_tapv_rec.asset_tap_id;
1578
1579 BEGIN
1580 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1581
1582 IF (p_tapv_rec.asset_tap_id IS NOT NULL) THEN
1583 OPEN l_asset_tap_id_csr;
1584 FETCH l_asset_tap_id_csr INTO l_dummy_var;
1585 CLOSE l_asset_tap_id_csr;
1586
1587 IF (l_dummy_var <> '1') THEN
1588 x_return_status := Okl_Api.G_RET_STS_ERROR;
1589 Okl_Api.SET_MESSAGE(p_app_name => G_APP_NAME,
1590 p_msg_name => G_NO_PARENT_RECORD,
1591 p_token1 => G_COL_NAME_TOKEN,
1592 p_token1_value => 'ASSET_TAP_ID',
1593 p_token2 => G_CHILD_TABLE_TOKEN,
1594 p_token2_value => G_VIEW,
1595 p_token3 => G_PARENT_TABLE_TOKEN,
1596 p_token3_value => 'OKL_TRX_AP_INVOICES_V');
1597
1598 END IF;
1599 END IF;
1600
1601 END validate_asset_tap_id;
1602
1603 ---------------------------------------------------------------------------
1604 -- FUNCTION get_seq_id
1605 ---------------------------------------------------------------------------
1606 FUNCTION get_seq_id RETURN NUMBER IS
1607 BEGIN
1608 RETURN(OKC_p_util.raw_to_number(sys_guid()));
1609 END get_seq_id;
1610 ---------------------------------------------------------------------------
1611 -- PROCEDURE qc
1612 ---------------------------------------------------------------------------
1613 PROCEDURE qc IS
1614 BEGIN
1615 null;
1616 END qc;
1617 ---------------------------------------------------------------------------
1618 -- PROCEDURE change_version
1619 ---------------------------------------------------------------------------
1620 PROCEDURE change_version IS
1621 BEGIN
1622 null;
1623 END change_version;
1624 ---------------------------------------------------------------------------
1625 -- PROCEDURE api_copy
1626 ---------------------------------------------------------------------------
1627 PROCEDURE api_copy IS
1628 BEGIN
1629 null;
1630 END api_copy;
1631 ---------------------------------------------------------------------------
1632 -- PROCEDURE add_language
1633 ---------------------------------------------------------------------------
1634 PROCEDURE add_language IS
1635 BEGIN
1636 DELETE FROM OKL_TRX_AP_INVOICES_TL T
1637 WHERE NOT EXISTS (
1638 SELECT NULL
1639 FROM OKL_TRX_AP_INVS_ALL_B B
1640 WHERE B.ID = T.ID
1641 AND T.LANGUAGE = USERENV('LANG')
1642 );
1643 UPDATE OKL_TRX_AP_INVOICES_TL T SET (
1644 DESCRIPTION) = (SELECT
1645 B.DESCRIPTION
1646 FROM OKL_TRX_AP_INVOICES_TL B
1647 WHERE B.ID = T.ID
1648 AND B.LANGUAGE = T.SOURCE_LANG)
1649 WHERE (
1650 T.ID,
1651 T.LANGUAGE)
1652 IN (SELECT
1653 SUBT.ID,
1654 SUBT.LANGUAGE
1655 FROM OKL_TRX_AP_INVOICES_TL SUBB, OKL_TRX_AP_INVOICES_TL SUBT
1656 WHERE SUBB.ID = SUBT.ID
1657 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
1658 AND (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
1659 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
1660 OR (SUBB.DESCRIPTION IS NOT NULL AND SUBT.DESCRIPTION IS NULL)
1661 ));
1662 INSERT INTO OKL_TRX_AP_INVOICES_TL (
1663 ID,
1664 LANGUAGE,
1665 SOURCE_LANG,
1666 SFWT_FLAG,
1667 DESCRIPTION,
1668 CREATED_BY,
1669 CREATION_DATE,
1670 LAST_UPDATED_BY,
1671 LAST_UPDATE_DATE,
1672 LAST_UPDATE_LOGIN)
1673 SELECT
1674 B.ID,
1675 L.LANGUAGE_CODE,
1676 B.SOURCE_LANG,
1677 B.SFWT_FLAG,
1678 B.DESCRIPTION,
1679 B.CREATED_BY,
1680 B.CREATION_DATE,
1681 B.LAST_UPDATED_BY,
1682 B.LAST_UPDATE_DATE,
1683 B.LAST_UPDATE_LOGIN
1684 FROM OKL_TRX_AP_INVOICES_TL B, FND_LANGUAGES L
1685 WHERE L.INSTALLED_FLAG IN ('I', 'B')
1686 AND B.LANGUAGE = USERENV('LANG')
1687 AND NOT EXISTS(
1688 SELECT NULL
1689 FROM OKL_TRX_AP_INVOICES_TL T
1690 WHERE T.ID = B.ID
1691 AND T.LANGUAGE = L.LANGUAGE_CODE
1692 );
1693 END add_language;
1694 ---------------------------------------------------------------------------
1695 -- FUNCTION get_rec for: OKL_TRX_AP_INVOICES_B
1696 ---------------------------------------------------------------------------
1697 FUNCTION get_rec (
1698 p_tap_rec IN tap_rec_type,
1699 x_no_data_found OUT NOCOPY BOOLEAN
1700 ) RETURN tap_rec_type IS
1701 CURSOR tap_pk_csr (p_id IN NUMBER) IS
1702 SELECT
1703 ID,
1704 CURRENCY_CODE,
1705 PAYMENT_METHOD_CODE,
1706 FUNDING_TYPE_CODE,
1707 INVOICE_CATEGORY_CODE,
1708 IPVS_ID,
1709 KHR_ID,
1710 CCF_ID,
1711 CCT_ID,
1712 CPLV_ID,
1713 POX_ID,
1714 IPPT_ID,
1715 code_combination_id,
1716 QTE_ID,
1717 ART_ID,
1718 TCN_ID,
1719 TAP_ID_REVERSES,
1720 DATE_ENTERED,
1721 DATE_INVOICED,
1722 AMOUNT,
1723 TRX_STATUS_CODE, -- Post Postgen 14,15
1724 SET_OF_BOOKS_ID, -- Post Postgen 14,15
1725 TRY_ID, -- Post Postgen 14,15
1726 OBJECT_VERSION_NUMBER,
1727 DATE_REQUISITION,
1728 DATE_FUNDING_APPROVED,
1729 INVOICE_NUMBER,
1730 DATE_GL,
1731 WORKFLOW_YN,
1732 CONSOLIDATE_YN,
1733 WAIT_VENDOR_INVOICE_YN,
1734 REQUEST_ID,
1735 PROGRAM_APPLICATION_ID,
1736 PROGRAM_ID,
1737 PROGRAM_UPDATE_DATE,
1738 ORG_ID,
1739 CURRENCY_CONVERSION_TYPE,
1740 CURRENCY_CONVERSION_RATE,
1741 CURRENCY_CONVERSION_DATE,
1742 VENDOR_ID,
1743 ATTRIBUTE_CATEGORY,
1744 ATTRIBUTE1,
1745 ATTRIBUTE2,
1746 ATTRIBUTE3,
1747 ATTRIBUTE4,
1748 ATTRIBUTE5,
1749 ATTRIBUTE6,
1750 ATTRIBUTE7,
1751 ATTRIBUTE8,
1752 ATTRIBUTE9,
1753 ATTRIBUTE10,
1754 ATTRIBUTE11,
1755 ATTRIBUTE12,
1756 ATTRIBUTE13,
1757 ATTRIBUTE14,
1758 ATTRIBUTE15,
1759 CREATED_BY,
1760 CREATION_DATE,
1761 LAST_UPDATED_BY,
1762 LAST_UPDATE_DATE,
1763 LAST_UPDATE_LOGIN,
1764 INVOICE_TYPE,
1765 PAY_GROUP_LOOKUP_CODE,
1766 VENDOR_INVOICE_NUMBER,
1767 NETTABLE_YN,
1768 ASSET_TAP_ID,
1769 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
1770 legal_entity_id
1771 ,transaction_date
1772 FROM Okl_Trx_Ap_Invoices_B
1773 WHERE okl_trx_ap_invoices_b.id = p_id;
1774 l_tap_pk tap_pk_csr%ROWTYPE;
1775 l_tap_rec tap_rec_type;
1776 BEGIN
1777 x_no_data_found := TRUE;
1778 -- Get current database values
1779 OPEN tap_pk_csr (p_tap_rec.id);
1780 FETCH tap_pk_csr INTO
1781 l_tap_rec.ID,
1782 l_tap_rec.CURRENCY_CODE,
1783 l_tap_rec.PAYMENT_METHOD_CODE,
1784 l_tap_rec.FUNDING_TYPE_CODE,
1785 l_tap_rec.INVOICE_CATEGORY_CODE,
1786 l_tap_rec.IPVS_ID,
1787 l_tap_rec.KHR_ID,
1788 l_tap_rec.CCF_ID,
1789 l_tap_rec.CCT_ID,
1790 l_tap_rec.CPLV_ID,
1791 l_tap_rec.POX_ID,
1792 l_tap_rec.IPPT_ID,
1793 l_tap_rec.code_combination_id,
1794 l_tap_rec.QTE_ID,
1795 l_tap_rec.ART_ID,
1796 l_tap_rec.TCN_ID,
1797 l_tap_rec.TAP_ID_REVERSES,
1798 l_tap_rec.DATE_ENTERED,
1799 l_tap_rec.DATE_INVOICED,
1800 l_tap_rec.AMOUNT,
1801 l_tap_rec.TRX_STATUS_CODE, -- Post Postgen 14,15
1802 l_tap_rec.SET_OF_BOOKS_ID, -- Post Postgen 14,15
1803 l_tap_rec.TRY_ID, -- Post Postgen 14,15
1804 l_tap_rec.OBJECT_VERSION_NUMBER,
1805 l_tap_rec.DATE_REQUISITION,
1806 l_tap_rec.DATE_FUNDING_APPROVED,
1807 l_tap_rec.INVOICE_NUMBER,
1808 l_tap_rec.DATE_GL,
1809 l_tap_rec.WORKFLOW_YN,
1810 l_tap_rec.CONSOLIDATE_YN,
1811 l_tap_rec.WAIT_VENDOR_INVOICE_YN,
1812 l_tap_rec.REQUEST_ID,
1813 l_tap_rec.PROGRAM_APPLICATION_ID,
1814 l_tap_rec.PROGRAM_ID,
1815 l_tap_rec.PROGRAM_UPDATE_DATE,
1816 l_tap_rec.ORG_ID,
1817 l_tap_rec.CURRENCY_CONVERSION_TYPE,
1818 l_tap_rec.CURRENCY_CONVERSION_RATE,
1819 l_tap_rec.CURRENCY_CONVERSION_DATE,
1820 l_tap_rec.VENDOR_ID,
1821 l_tap_rec.ATTRIBUTE_CATEGORY,
1822 l_tap_rec.ATTRIBUTE1,
1823 l_tap_rec.ATTRIBUTE2,
1824 l_tap_rec.ATTRIBUTE3,
1825 l_tap_rec.ATTRIBUTE4,
1826 l_tap_rec.ATTRIBUTE5,
1827 l_tap_rec.ATTRIBUTE6,
1828 l_tap_rec.ATTRIBUTE7,
1829 l_tap_rec.ATTRIBUTE8,
1830 l_tap_rec.ATTRIBUTE9,
1831 l_tap_rec.ATTRIBUTE10,
1832 l_tap_rec.ATTRIBUTE11,
1833 l_tap_rec.ATTRIBUTE12,
1834 l_tap_rec.ATTRIBUTE13,
1835 l_tap_rec.ATTRIBUTE14,
1836 l_tap_rec.ATTRIBUTE15,
1837 l_tap_rec.CREATED_BY,
1838 l_tap_rec.CREATION_DATE,
1839 l_tap_rec.LAST_UPDATED_BY,
1840 l_tap_rec.LAST_UPDATE_DATE,
1841 l_tap_rec.LAST_UPDATE_LOGIN,
1842 l_tap_rec.INVOICE_TYPE,
1843 l_tap_rec.PAY_GROUP_LOOKUP_CODE,
1844 l_tap_rec.VENDOR_INVOICE_NUMBER,
1845 l_tap_rec.NETTABLE_YN,
1846 l_tap_rec.asset_tap_id,
1847 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
1848 l_tap_rec.legal_entity_id
1849 ,l_tap_rec.transaction_date;
1850 x_no_data_found := tap_pk_csr%NOTFOUND;
1851 CLOSE tap_pk_csr;
1852 RETURN(l_tap_rec);
1853 END get_rec;
1854 FUNCTION get_rec (
1855 p_tap_rec IN tap_rec_type
1856 ) RETURN tap_rec_type IS
1857 l_row_notfound BOOLEAN := TRUE;
1858 BEGIN
1859 RETURN(get_rec(p_tap_rec, l_row_notfound));
1860 END get_rec;
1861 ---------------------------------------------------------------------------
1862 -- FUNCTION get_rec for: OKL_TRX_AP_INVOICES_TL
1863 ---------------------------------------------------------------------------
1864 FUNCTION get_rec (
1865 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType,
1866 x_no_data_found OUT NOCOPY BOOLEAN
1867 ) RETURN OklTrxApInvoicesTlRecType IS
1868 CURSOR okl_trx_ap_invoices_tl_pk_csr (p_id IN NUMBER,
1869 p_language IN VARCHAR2) IS
1870 SELECT
1871 ID,
1872 LANGUAGE,
1873 SOURCE_LANG,
1874 SFWT_FLAG,
1875 DESCRIPTION,
1876 CREATED_BY,
1877 CREATION_DATE,
1878 LAST_UPDATED_BY,
1879 LAST_UPDATE_DATE,
1880 LAST_UPDATE_LOGIN
1881 FROM Okl_Trx_Ap_Invoices_Tl
1882 WHERE okl_trx_ap_invoices_tl.id = p_id
1883 AND okl_trx_ap_invoices_tl.language = p_language;
1884 l_okl_trx_ap_invoices_tl_pk okl_trx_ap_invoices_tl_pk_csr%ROWTYPE;
1885 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
1886 BEGIN
1887 x_no_data_found := TRUE;
1888 -- Get current database values
1889 OPEN okl_trx_ap_invoices_tl_pk_csr (p_okl_trx_ap_invoices_tl_rec.id,
1890 p_okl_trx_ap_invoices_tl_rec.language);
1891 FETCH okl_trx_ap_invoices_tl_pk_csr INTO
1892 l_okl_trx_ap_invoices_tl_rec.ID,
1893 l_okl_trx_ap_invoices_tl_rec.LANGUAGE,
1894 l_okl_trx_ap_invoices_tl_rec.SOURCE_LANG,
1895 l_okl_trx_ap_invoices_tl_rec.SFWT_FLAG,
1896 l_okl_trx_ap_invoices_tl_rec.DESCRIPTION,
1897 l_okl_trx_ap_invoices_tl_rec.CREATED_BY,
1898 l_okl_trx_ap_invoices_tl_rec.CREATION_DATE,
1899 l_okl_trx_ap_invoices_tl_rec.LAST_UPDATED_BY,
1900 l_okl_trx_ap_invoices_tl_rec.LAST_UPDATE_DATE,
1901 l_okl_trx_ap_invoices_tl_rec.LAST_UPDATE_LOGIN;
1902 x_no_data_found := okl_trx_ap_invoices_tl_pk_csr%NOTFOUND;
1903 CLOSE okl_trx_ap_invoices_tl_pk_csr;
1904 RETURN(l_okl_trx_ap_invoices_tl_rec);
1905 END get_rec;
1906 FUNCTION get_rec (
1907 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType
1908 ) RETURN OklTrxApInvoicesTlRecType IS
1909 l_row_notfound BOOLEAN := TRUE;
1910 BEGIN
1911 RETURN(get_rec(p_okl_trx_ap_invoices_tl_rec, l_row_notfound));
1912 END get_rec;
1913 ---------------------------------------------------------------------------
1914 -- FUNCTION get_rec for: OKL_TRX_AP_INVOICES_V
1915 ---------------------------------------------------------------------------
1916 FUNCTION get_rec (
1917 p_tapv_rec IN tapv_rec_type,
1918 x_no_data_found OUT NOCOPY BOOLEAN
1919 ) RETURN tapv_rec_type IS
1920 CURSOR okl_tapv_pk_csr (p_id IN NUMBER) IS
1921 SELECT
1922 ID,
1923 OBJECT_VERSION_NUMBER,
1924 SFWT_FLAG,
1925 CCT_ID,
1926 CURRENCY_CODE,
1927 CCF_ID,
1928 FUNDING_TYPE_CODE,
1929 KHR_ID,
1930 ART_ID,
1931 TAP_ID_REVERSES,
1932 IPPT_ID,
1933 code_combination_id,
1934 IPVS_ID,
1935 TCN_ID,
1936 QTE_ID,
1937 INVOICE_CATEGORY_CODE,
1938 PAYMENT_METHOD_CODE,
1939 CPLV_ID,
1940 POX_ID,
1941 AMOUNT,
1942 DATE_INVOICED,
1943 INVOICE_NUMBER,
1944 DATE_FUNDING_APPROVED,
1945 DATE_GL,
1946 WORKFLOW_YN,
1947 CONSOLIDATE_YN,
1948 WAIT_VENDOR_INVOICE_YN,
1949 DATE_REQUISITION,
1950 DESCRIPTION,
1951 CURRENCY_CONVERSION_TYPE,
1952 CURRENCY_CONVERSION_RATE,
1953 CURRENCY_CONVERSION_DATE,
1954 VENDOR_ID,
1955 ATTRIBUTE_CATEGORY,
1956 ATTRIBUTE1,
1957 ATTRIBUTE2,
1958 ATTRIBUTE3,
1959 ATTRIBUTE4,
1960 ATTRIBUTE5,
1961 ATTRIBUTE6,
1962 ATTRIBUTE7,
1963 ATTRIBUTE8,
1964 ATTRIBUTE9,
1965 ATTRIBUTE10,
1966 ATTRIBUTE11,
1967 ATTRIBUTE12,
1968 ATTRIBUTE13,
1969 ATTRIBUTE14,
1970 ATTRIBUTE15,
1971 DATE_ENTERED,
1972 TRX_STATUS_CODE, -- Post Postgen 14,15
1973 SET_OF_BOOKS_ID, -- Post Postgen 14,15
1974 TRY_ID, -- Post Postgen 14,15
1975 REQUEST_ID,
1976 PROGRAM_APPLICATION_ID,
1977 PROGRAM_ID,
1978 PROGRAM_UPDATE_DATE,
1979 ORG_ID,
1980 CREATED_BY,
1981 CREATION_DATE,
1982 LAST_UPDATED_BY,
1983 LAST_UPDATE_DATE,
1984 LAST_UPDATE_LOGIN,
1985 INVOICE_TYPE,
1986 PAY_GROUP_LOOKUP_CODE,
1987 VENDOR_INVOICE_NUMBER,
1988 NETTABLE_YN,
1989 ASSET_TAP_ID,
1990 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
1991 legal_entity_id
1992 ,transaction_date
1993 FROM Okl_Trx_Ap_Invoices_V
1994 WHERE okl_trx_ap_invoices_v.id = p_id;
1995 l_okl_tapv_pk okl_tapv_pk_csr%ROWTYPE;
1996 l_tapv_rec tapv_rec_type;
1997 BEGIN
1998 x_no_data_found := TRUE;
1999 -- Get current database values
2000 OPEN okl_tapv_pk_csr (p_tapv_rec.id);
2001 FETCH okl_tapv_pk_csr INTO
2002 l_tapv_rec.ID,
2003 l_tapv_rec.OBJECT_VERSION_NUMBER,
2004 l_tapv_rec.SFWT_FLAG,
2005 l_tapv_rec.CCT_ID,
2006 l_tapv_rec.CURRENCY_CODE,
2007 l_tapv_rec.CCF_ID,
2008 l_tapv_rec.FUNDING_TYPE_CODE,
2009 l_tapv_rec.KHR_ID,
2010 l_tapv_rec.ART_ID,
2011 l_tapv_rec.TAP_ID_REVERSES,
2012 l_tapv_rec.IPPT_ID,
2013 l_tapv_rec.code_combination_id,
2014 l_tapv_rec.IPVS_ID,
2015 l_tapv_rec.TCN_ID,
2016 l_tapv_rec.QTE_ID,
2017 l_tapv_rec.INVOICE_CATEGORY_CODE,
2018 l_tapv_rec.PAYMENT_METHOD_CODE,
2019 l_tapv_rec.CPLV_ID,
2020 l_tapv_rec.POX_ID,
2021 l_tapv_rec.AMOUNT,
2022 l_tapv_rec.DATE_INVOICED,
2023 l_tapv_rec.INVOICE_NUMBER,
2024 l_tapv_rec.DATE_FUNDING_APPROVED,
2025 l_tapv_rec.DATE_GL,
2026 l_tapv_rec.WORKFLOW_YN,
2027 l_tapv_rec.CONSOLIDATE_YN,
2028 l_tapv_rec.WAIT_VENDOR_INVOICE_YN,
2029 l_tapv_rec.DATE_REQUISITION,
2030 l_tapv_rec.DESCRIPTION,
2031 l_tapv_rec.CURRENCY_CONVERSION_TYPE,
2032 l_tapv_rec.CURRENCY_CONVERSION_RATE,
2033 l_tapv_rec.CURRENCY_CONVERSION_DATE,
2034 l_tapv_rec.VENDOR_ID,
2035 l_tapv_rec.ATTRIBUTE_CATEGORY,
2036 l_tapv_rec.ATTRIBUTE1,
2037 l_tapv_rec.ATTRIBUTE2,
2038 l_tapv_rec.ATTRIBUTE3,
2039 l_tapv_rec.ATTRIBUTE4,
2040 l_tapv_rec.ATTRIBUTE5,
2041 l_tapv_rec.ATTRIBUTE6,
2042 l_tapv_rec.ATTRIBUTE7,
2043 l_tapv_rec.ATTRIBUTE8,
2044 l_tapv_rec.ATTRIBUTE9,
2045 l_tapv_rec.ATTRIBUTE10,
2046 l_tapv_rec.ATTRIBUTE11,
2047 l_tapv_rec.ATTRIBUTE12,
2048 l_tapv_rec.ATTRIBUTE13,
2049 l_tapv_rec.ATTRIBUTE14,
2050 l_tapv_rec.ATTRIBUTE15,
2051 l_tapv_rec.DATE_ENTERED,
2052 l_tapv_rec.TRX_STATUS_CODE, -- Post Postgen 14,15
2053 l_tapv_rec.SET_OF_BOOKS_ID, -- Post Postgen 14,15
2054 l_tapv_rec.TRY_ID, -- Post Postgen 14,15
2055 l_tapv_rec.REQUEST_ID,
2056 l_tapv_rec.PROGRAM_APPLICATION_ID,
2057 l_tapv_rec.PROGRAM_ID,
2058 l_tapv_rec.PROGRAM_UPDATE_DATE,
2059 l_tapv_rec.ORG_ID,
2060 l_tapv_rec.CREATED_BY,
2061 l_tapv_rec.CREATION_DATE,
2062 l_tapv_rec.LAST_UPDATED_BY,
2063 l_tapv_rec.LAST_UPDATE_DATE,
2064 l_tapv_rec.LAST_UPDATE_LOGIN,
2065 l_tapv_rec.INVOICE_TYPE,
2066 l_tapv_rec.PAY_GROUP_LOOKUP_CODE,
2067 l_tapv_rec.VENDOR_INVOICE_NUMBER,
2068 l_tapv_rec.NETTABLE_YN,
2069 l_tapv_rec.asset_tap_id,
2070 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
2071 l_tapv_rec.legal_entity_id
2072 ,l_tapv_rec.transaction_date;
2073 x_no_data_found := okl_tapv_pk_csr%NOTFOUND;
2074 CLOSE okl_tapv_pk_csr;
2075 RETURN(l_tapv_rec);
2076 END get_rec;
2077 FUNCTION get_rec (
2078 p_tapv_rec IN tapv_rec_type
2079 ) RETURN tapv_rec_type IS
2080 l_row_notfound BOOLEAN := TRUE;
2081 BEGIN
2082 RETURN(get_rec(p_tapv_rec, l_row_notfound));
2083 END get_rec;
2084 -----------------------------------------------------------
2085 -- FUNCTION null_out_defaults for: OKL_TRX_AP_INVOICES_V --
2086 -----------------------------------------------------------
2087 FUNCTION null_out_defaults (
2088 p_tapv_rec IN tapv_rec_type
2089 ) RETURN tapv_rec_type IS
2090 l_tapv_rec tapv_rec_type := p_tapv_rec;
2091 BEGIN
2092 IF (l_tapv_rec.object_version_number = OKL_API.G_MISS_NUM) THEN
2093 l_tapv_rec.object_version_number := NULL;
2094 END IF;
2095 IF (l_tapv_rec.sfwt_flag = OKL_API.G_MISS_CHAR) THEN
2096 l_tapv_rec.sfwt_flag := NULL;
2097 END IF;
2098 IF (l_tapv_rec.cct_id = OKL_API.G_MISS_NUM) THEN
2099 l_tapv_rec.cct_id := NULL;
2100 END IF;
2101 IF (l_tapv_rec.currency_code = OKL_API.G_MISS_CHAR) THEN
2102 l_tapv_rec.currency_code := NULL;
2103 END IF;
2104 IF (l_tapv_rec.ccf_id = OKL_API.G_MISS_NUM) THEN
2105 l_tapv_rec.ccf_id := NULL;
2106 END IF;
2107 IF (l_tapv_rec.funding_type_code = OKL_API.G_MISS_CHAR) THEN
2108 l_tapv_rec.funding_type_code := NULL;
2109 END IF;
2110 IF (l_tapv_rec.khr_id = OKL_API.G_MISS_NUM) THEN
2111 l_tapv_rec.khr_id := NULL;
2112 END IF;
2113 IF (l_tapv_rec.art_id = OKL_API.G_MISS_NUM) THEN
2114 l_tapv_rec.art_id := NULL;
2115 END IF;
2116 IF (l_tapv_rec.tap_id_reverses = OKL_API.G_MISS_NUM) THEN
2117 l_tapv_rec.tap_id_reverses := NULL;
2118 END IF;
2119 IF (l_tapv_rec.ippt_id = OKL_API.G_MISS_NUM) THEN
2120 l_tapv_rec.ippt_id := NULL;
2121 END IF;
2122 IF (l_tapv_rec.code_combination_id = OKL_API.G_MISS_NUM) THEN
2123 l_tapv_rec.code_combination_id := NULL;
2124 END IF;
2125 IF (l_tapv_rec.ipvs_id = OKL_API.G_MISS_NUM) THEN
2126 l_tapv_rec.ipvs_id := NULL;
2127 END IF;
2128 IF (l_tapv_rec.tcn_id = OKL_API.G_MISS_NUM) THEN
2129 l_tapv_rec.tcn_id := NULL;
2130 END IF;
2131 IF (l_tapv_rec.vpa_id = OKL_API.G_MISS_NUM) THEN
2132 l_tapv_rec.vpa_id := NULL;
2133 END IF;
2134 IF (l_tapv_rec.ipt_id = OKL_API.G_MISS_NUM) THEN
2135 l_tapv_rec.ipt_id := NULL;
2136 END IF;
2137 IF (l_tapv_rec.qte_id = OKL_API.G_MISS_NUM) THEN
2138 l_tapv_rec.qte_id := NULL;
2139 END IF;
2140 IF (l_tapv_rec.invoice_category_code = OKL_API.G_MISS_CHAR) THEN
2141 l_tapv_rec.invoice_category_code := NULL;
2142 END IF;
2143 IF (l_tapv_rec.payment_method_code = OKL_API.G_MISS_CHAR) THEN
2144 l_tapv_rec.payment_method_code := NULL;
2145 END IF;
2146 IF (l_tapv_rec.cplv_id = OKL_API.G_MISS_NUM) THEN
2147 l_tapv_rec.cplv_id := NULL;
2148 END IF;
2149
2150 --Start code added by pgomes on 19-NOV-2002
2151 IF (l_tapv_rec.pox_id = OKL_API.G_MISS_NUM) THEN
2152 l_tapv_rec.pox_id := NULL;
2153 END IF;
2154 --End code added by pgomes on 19-NOV-2002
2155
2156 IF (l_tapv_rec.amount = OKL_API.G_MISS_NUM) THEN
2157 l_tapv_rec.amount := NULL;
2158 END IF;
2159 IF (l_tapv_rec.date_invoiced = OKL_API.G_MISS_DATE) THEN
2160 l_tapv_rec.date_invoiced := NULL;
2161 END IF;
2162 IF (l_tapv_rec.invoice_number = OKL_API.G_MISS_CHAR) THEN
2163 l_tapv_rec.invoice_number := NULL;
2164 END IF;
2165 IF (l_tapv_rec.date_funding_approved = OKL_API.G_MISS_DATE) THEN
2166 l_tapv_rec.date_funding_approved := NULL;
2167 END IF;
2168 IF (l_tapv_rec.date_gl = OKL_API.G_MISS_DATE) THEN
2169 l_tapv_rec.date_gl := NULL;
2170 END IF;
2171 IF (l_tapv_rec.workflow_yn = OKL_API.G_MISS_CHAR) THEN
2172 l_tapv_rec.workflow_yn := NULL;
2173 END IF;
2174 IF (l_tapv_rec.match_required_yn = OKL_API.G_MISS_CHAR) THEN
2175 l_tapv_rec.match_required_yn := NULL;
2176 END IF;
2177 IF (l_tapv_rec.ipt_frequency = OKL_API.G_MISS_CHAR) THEN
2178 l_tapv_rec.ipt_frequency := NULL;
2179 END IF;
2180 IF (l_tapv_rec.consolidate_yn = OKL_API.G_MISS_CHAR) THEN
2181 l_tapv_rec.consolidate_yn := NULL;
2182 END IF;
2183 IF (l_tapv_rec.wait_vendor_invoice_yn = OKL_API.G_MISS_CHAR) THEN
2184 l_tapv_rec.wait_vendor_invoice_yn := NULL;
2185 END IF;
2186 IF (l_tapv_rec.date_requisition = OKL_API.G_MISS_DATE) THEN
2187 l_tapv_rec.date_requisition := NULL;
2188 END IF;
2189 IF (l_tapv_rec.description = OKL_API.G_MISS_CHAR) THEN
2190 l_tapv_rec.description := NULL;
2191 END IF;
2192 IF (l_tapv_rec.CURRENCY_CONVERSION_TYPE = OKL_API.G_MISS_CHAR) THEN
2193 l_tapv_rec.CURRENCY_CONVERSION_TYPE := NULL;
2194 END IF;
2195 IF (l_tapv_rec.CURRENCY_CONVERSION_RATE = OKL_API.G_MISS_NUM) THEN
2196 l_tapv_rec.CURRENCY_CONVERSION_RATE := NULL;
2197 END IF;
2198 IF (l_tapv_rec.CURRENCY_CONVERSION_DATE = OKL_API.G_MISS_DATE) THEN
2199 l_tapv_rec.CURRENCY_CONVERSION_DATE := NULL;
2200 END IF;
2201 IF (l_tapv_rec.VENDOR_ID = OKL_API.G_MISS_NUM) THEN
2202 l_tapv_rec.VENDOR_ID := NULL;
2203 END IF;
2204 IF (l_tapv_rec.attribute_category = OKL_API.G_MISS_CHAR) THEN
2205 l_tapv_rec.attribute_category := NULL;
2206 END IF;
2207 IF (l_tapv_rec.attribute1 = OKL_API.G_MISS_CHAR) THEN
2208 l_tapv_rec.attribute1 := NULL;
2209 END IF;
2210 IF (l_tapv_rec.attribute2 = OKL_API.G_MISS_CHAR) THEN
2211 l_tapv_rec.attribute2 := NULL;
2212 END IF;
2213 IF (l_tapv_rec.attribute3 = OKL_API.G_MISS_CHAR) THEN
2214 l_tapv_rec.attribute3 := NULL;
2215 END IF;
2216 IF (l_tapv_rec.attribute4 = OKL_API.G_MISS_CHAR) THEN
2217 l_tapv_rec.attribute4 := NULL;
2218 END IF;
2219 IF (l_tapv_rec.attribute5 = OKL_API.G_MISS_CHAR) THEN
2220 l_tapv_rec.attribute5 := NULL;
2221 END IF;
2222 IF (l_tapv_rec.attribute6 = OKL_API.G_MISS_CHAR) THEN
2223 l_tapv_rec.attribute6 := NULL;
2224 END IF;
2225 IF (l_tapv_rec.attribute7 = OKL_API.G_MISS_CHAR) THEN
2226 l_tapv_rec.attribute7 := NULL;
2227 END IF;
2228 IF (l_tapv_rec.attribute8 = OKL_API.G_MISS_CHAR) THEN
2229 l_tapv_rec.attribute8 := NULL;
2230 END IF;
2231 IF (l_tapv_rec.attribute9 = OKL_API.G_MISS_CHAR) THEN
2232 l_tapv_rec.attribute9 := NULL;
2233 END IF;
2234 IF (l_tapv_rec.attribute10 = OKL_API.G_MISS_CHAR) THEN
2235 l_tapv_rec.attribute10 := NULL;
2236 END IF;
2237 IF (l_tapv_rec.attribute11 = OKL_API.G_MISS_CHAR) THEN
2238 l_tapv_rec.attribute11 := NULL;
2239 END IF;
2240 IF (l_tapv_rec.attribute12 = OKL_API.G_MISS_CHAR) THEN
2241 l_tapv_rec.attribute12 := NULL;
2242 END IF;
2243 IF (l_tapv_rec.attribute13 = OKL_API.G_MISS_CHAR) THEN
2244 l_tapv_rec.attribute13 := NULL;
2245 END IF;
2246 IF (l_tapv_rec.attribute14 = OKL_API.G_MISS_CHAR) THEN
2247 l_tapv_rec.attribute14 := NULL;
2248 END IF;
2249 IF (l_tapv_rec.attribute15 = OKL_API.G_MISS_CHAR) THEN
2250 l_tapv_rec.attribute15 := NULL;
2251 END IF;
2252 IF (l_tapv_rec.date_entered = OKL_API.G_MISS_DATE) THEN
2253 l_tapv_rec.date_entered := NULL;
2254 END IF;
2255 -- Start Post Postgen 14,15
2256 IF (l_tapv_rec.trx_status_code = OKL_API.G_MISS_CHAR) THEN
2257 l_tapv_rec.trx_status_code := NULL;
2258 END IF;
2259 IF (l_tapv_rec.set_of_books_id = OKL_API.G_MISS_NUM) THEN
2260 l_tapv_rec.set_of_books_id := NULL;
2261 END IF;
2262 IF (l_tapv_rec.try_id = OKL_API.G_MISS_NUM) THEN
2263 l_tapv_rec.try_id := NULL;
2264 END IF;
2265 -- End Post Postgen 14,15
2266 IF (l_tapv_rec.request_id = OKL_API.G_MISS_NUM) THEN
2267 l_tapv_rec.request_id := NULL;
2268 END IF;
2269 IF (l_tapv_rec.program_application_id = OKL_API.G_MISS_NUM) THEN
2270 l_tapv_rec.program_application_id := NULL;
2271 END IF;
2272 IF (l_tapv_rec.program_id = OKL_API.G_MISS_NUM) THEN
2273 l_tapv_rec.program_id := NULL;
2274 END IF;
2275 IF (l_tapv_rec.program_update_date = OKL_API.G_MISS_DATE) THEN
2276 l_tapv_rec.program_update_date := NULL;
2277 END IF;
2278 IF (l_tapv_rec.org_id = OKL_API.G_MISS_NUM) THEN
2279 l_tapv_rec.org_id := NULL;
2280 END IF;
2281 IF (l_tapv_rec.created_by = OKL_API.G_MISS_NUM) THEN
2282 l_tapv_rec.created_by := NULL;
2283 END IF;
2284 IF (l_tapv_rec.creation_date = OKL_API.G_MISS_DATE) THEN
2285 l_tapv_rec.creation_date := NULL;
2286 END IF;
2287 IF (l_tapv_rec.last_updated_by = OKL_API.G_MISS_NUM) THEN
2288 l_tapv_rec.last_updated_by := NULL;
2289 END IF;
2290 IF (l_tapv_rec.last_update_date = OKL_API.G_MISS_DATE) THEN
2291 l_tapv_rec.last_update_date := NULL;
2292 END IF;
2293 IF (l_tapv_rec.last_update_login = OKL_API.G_MISS_NUM) THEN
2294 l_tapv_rec.last_update_login := NULL;
2295 END IF;
2296 IF (l_tapv_rec.invoice_type = OKL_API.G_MISS_CHAR) THEN
2297 l_tapv_rec.invoice_type := NULL;
2298 END IF;
2299 IF (l_tapv_rec.pay_group_lookup_code = OKL_API.G_MISS_CHAR) THEN
2300 l_tapv_rec.pay_group_lookup_code := NULL;
2301 END IF;
2302 IF (l_tapv_rec.vendor_invoice_number = OKL_API.G_MISS_CHAR) THEN
2303 l_tapv_rec.vendor_invoice_number := NULL;
2304 END IF;
2305 IF (l_tapv_rec.nettable_yn = OKL_API.G_MISS_CHAR) THEN
2306 l_tapv_rec.nettable_yn := NULL;
2307 END IF;
2308 IF (l_tapv_rec.asset_tap_id = OKL_API.G_MISS_NUM) THEN
2309 l_tapv_rec.asset_tap_id := NULL;
2310 END IF;
2311 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
2312
2313 IF (l_tapv_rec.legal_entity_id = OKL_API.G_MISS_NUM) THEN
2314 l_tapv_rec.legal_entity_id := NULL;
2315 END IF;
2316
2317 IF (l_tapv_rec.transaction_date = OKL_API.G_MISS_DATE) THEN
2318 l_tapv_rec.transaction_date := NULL;
2319 END IF;
2320
2321 RETURN(l_tapv_rec);
2322 END null_out_defaults;
2323 ------------------------------------------------------------------------------------
2324 -- PROCEDURE Validate_Attributes for:OKL_TRX_AP_INVOICES_V : Modified for PostGen-12
2325 ------------------------------------------------------------------------------------
2326 FUNCTION Validate_Attributes
2327 ( p_tapv_rec IN tapv_rec_type
2328 ) RETURN VARCHAR2 IS
2329 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2330 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2331 BEGIN
2332 validate_id ( x_return_status => l_return_status
2333 , p_tapv_rec => p_tapv_rec
2334 ) ;
2335 -- Store the highest degree of error
2336 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2337 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2338 x_return_status := l_return_status;
2339 END IF;
2340 END IF;
2341 validate_object_version_number
2342 ( x_return_status => l_return_status
2343 , p_tapv_rec => p_tapv_rec
2344 ) ;
2345 -- Store the highest degree of error
2346 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2347 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2348 x_return_status := l_return_status;
2349 END IF;
2350 END IF;
2351 validate_org_id
2352 ( x_return_status => l_return_status
2353 , p_tapv_rec => p_tapv_rec
2354 ) ;
2355 -- Store the highest degree of error
2356 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2357 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2358 x_return_status := l_return_status;
2359 END IF;
2360 END IF;
2361 validate_amount
2362 ( x_return_status => l_return_status
2363 , p_tapv_rec => p_tapv_rec
2364 ) ;
2365 -- Store the highest degree of error
2366 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2367 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2368 x_return_status := l_return_status;
2369 END IF;
2370 END IF;
2371 validate_date_invoiced
2372 ( x_return_status => l_return_status
2373 , p_tapv_rec => p_tapv_rec
2374 ) ;
2375 -- Store the highest degree of error
2376 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2377 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2378 x_return_status := l_return_status;
2379 END IF;
2380 END IF;
2381 validate_date_entered
2382 ( x_return_status => l_return_status
2383 , p_tapv_rec => p_tapv_rec
2384 ) ;
2385 -- Store the highest degree of error
2386 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2387 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2388 x_return_status := l_return_status;
2389 END IF;
2390 END IF;
2391 validate_wait_vend_inv_yn
2392 ( x_return_status => l_return_status
2393 , p_tapv_rec => p_tapv_rec
2394 ) ;
2395 -- Store the highest degree of error
2396 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2397 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2398 x_return_status := l_return_status;
2399 END IF;
2400 END IF;
2401 validate_consolidate_yn
2402 ( x_return_status => l_return_status
2403 , p_tapv_rec => p_tapv_rec
2404 ) ;
2405 -- Store the highest degree of error
2406 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2407 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2408 x_return_status := l_return_status;
2409 END IF;
2410 END IF;
2411 validate_workflow_yn
2412 ( x_return_status => l_return_status
2413 , p_tapv_rec => p_tapv_rec
2414 ) ;
2415 -- Store the highest degree of error
2416 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2417 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2418 x_return_status := l_return_status;
2419 END IF;
2420 END IF;
2421 validate_payment_method_code
2422 ( x_return_status => l_return_status
2423 , p_tapv_rec => p_tapv_rec
2424 ) ;
2425 -- Store the highest degree of error
2426 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2427 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2428 x_return_status := l_return_status;
2429 END IF;
2430 END IF;
2431 validate_invoice_category_code
2432 ( x_return_status => l_return_status
2433 , p_tapv_rec => p_tapv_rec
2434 ) ;
2435 -- Store the highest degree of error
2436 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2437 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2438 x_return_status := l_return_status;
2439 END IF;
2440 END IF;
2441 validate_funding_type_code
2442 ( x_return_status => l_return_status
2443 , p_tapv_rec => p_tapv_rec
2444 ) ;
2445 -- Store the highest degree of error
2446 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2447 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2448 x_return_status := l_return_status;
2449 END IF;
2450 END IF;
2451 validate_currency_code
2452 ( x_return_status => l_return_status
2453 , p_tapv_rec => p_tapv_rec
2454 ) ;
2455 -- Store the highest degree of error
2456 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2457 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2458 x_return_status := l_return_status;
2459 END IF;
2460 END IF;
2461 validate_fk_ipvs_id
2462 ( x_return_status => l_return_status
2463 , p_tapv_rec => p_tapv_rec
2464 ) ;
2465 -- Store the highest degree of error
2466 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2467 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2468 x_return_status := l_return_status;
2469 END IF;
2470 END IF;
2471 validate_fk_ccid
2472 ( x_return_status => l_return_status
2473 , p_tapv_rec => p_tapv_rec
2474 ) ;
2475 -- Store the highest degree of error
2476 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2477 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2478 x_return_status := l_return_status;
2479 END IF;
2480 END IF;
2481 validate_fk_tap_id_reverses
2482 ( x_return_status => l_return_status
2483 , p_tapv_rec => p_tapv_rec
2484 ) ;
2485 -- Store the highest degree of error
2486 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2487 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2488 x_return_status := l_return_status;
2489 END IF;
2490 END IF;
2491 validate_fk_cplv_id
2492 ( x_return_status => l_return_status
2493 , p_tapv_rec => p_tapv_rec
2494 ) ;
2495 -- Store the highest degree of error
2496 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2497 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2498 x_return_status := l_return_status;
2499 END IF;
2500 END IF;
2501 validate_fk_qte_id
2502 ( x_return_status => l_return_status
2503 , p_tapv_rec => p_tapv_rec
2504 ) ;
2505 -- Store the highest degree of error
2506 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2507 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2508 x_return_status := l_return_status;
2509 END IF;
2510 END IF;
2511 validate_fk_tcn_id
2512 ( x_return_status => l_return_status
2513 , p_tapv_rec => p_tapv_rec
2514 ) ;
2515 -- Store the highest degree of error
2516 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2517 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2518 x_return_status := l_return_status;
2519 END IF;
2520 END IF;
2521 validate_fk_ippt_id
2522 ( x_return_status => l_return_status
2523 , p_tapv_rec => p_tapv_rec
2524 ) ;
2525 -- Store the highest degree of error
2526 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2527 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2528 x_return_status := l_return_status;
2529 END IF;
2530 END IF;
2531 validate_fk_art_id
2532 ( x_return_status => l_return_status
2533 , p_tapv_rec => p_tapv_rec
2534 ) ;
2535 -- Store the highest degree of error
2536 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2537 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2538 x_return_status := l_return_status;
2539 END IF;
2540 END IF;
2541 validate_fk_khr_id
2542 ( x_return_status => l_return_status
2543 , p_tapv_rec => p_tapv_rec
2544 ) ;
2545 -- Store the highest degree of error
2546 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2547 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2548 x_return_status := l_return_status;
2549 END IF;
2550 END IF;
2551 /*
2552 validate_fk_ccf_id
2553 ( x_return_status => l_return_status
2554 , p_tapv_rec => p_tapv_rec
2555 ) ;
2556 -- Store the highest degree of error
2557 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2558 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2559 x_return_status := l_return_status;
2560 END IF;
2561 END IF;
2562 validate_fk_cct_id
2563 ( x_return_status => l_return_status
2564 , p_tapv_rec => p_tapv_rec
2565 ) ;
2566 -- Store the highest degree of error
2567 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2568 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2569 x_return_status := l_return_status;
2570 END IF;
2571 END IF;
2572 */
2573 validate_fk_try_id
2574 ( x_return_status => l_return_status
2575 , p_tapv_rec => p_tapv_rec
2576 ) ;
2577 -- Store the highest degree of error
2578 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2579 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2580 x_return_status := l_return_status;
2581 END IF;
2582 END IF;
2583 validate_fk_sob_id
2584 ( x_return_status => l_return_status
2585 , p_tapv_rec => p_tapv_rec
2586 ) ;
2587 -- Store the highest degree of error
2588 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2589 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2590 x_return_status := l_return_status;
2591 END IF;
2592 END IF;
2593
2594 --Start code added by pgomes on 19-NOV-2002
2595 validate_pox_id( x_return_status => l_return_status
2596 , p_tapv_rec => p_tapv_rec
2597 ) ;
2598 -- Store the highest degree of error
2599 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2600 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2601 x_return_status := l_return_status;
2602 END IF;
2603 END IF;
2604 --End code added by pgomes on 19-NOV-2002
2605
2606 validate_trx_status_code
2607 ( x_return_status => l_return_status
2608 , p_tapv_rec => p_tapv_rec
2609 ) ;
2610 -- Store the highest degree of error
2611 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2612 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2613 x_return_status := l_return_status;
2614 END IF;
2615 END IF;
2616
2617 validate_asset_tap_id( x_return_status => l_return_status
2618 , p_tapv_rec => p_tapv_rec
2619 ) ;
2620 -- Store the highest degree of error
2621 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2622 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2623 x_return_status := l_return_status;
2624 END IF;
2625 END IF;
2626 -- 01-NOV-2006 ANSETHUR R12B - Legal Entity start changes
2627 validate_le_id(x_return_status => l_return_status
2628 , p_tapv_rec => p_tapv_rec) ;
2629
2630 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2631 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2632 x_return_status := l_return_status;
2633 END IF;
2634 END IF;
2635 -- 01-NOV-2006 ANSETHUR R12B - Legal Entity End changes
2636
2637
2638 RETURN x_return_status; -- Return status to the caller
2639 /*------------------------------- TAPI Generated Code ---------------------------------------+
2640 IF p_tapv_rec.id = OKL_API.G_MISS_NUM OR
2641 p_tapv_rec.id IS NULL
2642 THEN
2643 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
2644 l_return_status := OKL_API.G_RET_STS_ERROR;
2645 ELSIF p_tapv_rec.object_version_number = OKL_API.G_MISS_NUM OR
2646 p_tapv_rec.object_version_number IS NULL
2647 THEN
2648 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
2649 l_return_status := OKL_API.G_RET_STS_ERROR;
2650 ELSIF p_tapv_rec.currency_code = OKL_API.G_MISS_CHAR OR
2651 p_tapv_rec.currency_code IS NULL
2652 THEN
2653 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'currency_code');
2654 l_return_status := OKL_API.G_RET_STS_ERROR;
2655 ELSIF p_tapv_rec.ipvs_id = OKL_API.G_MISS_NUM OR
2656 p_tapv_rec.ipvs_id IS NULL
2657 THEN
2658 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'ipvs_id');
2659 l_return_status := OKL_API.G_RET_STS_ERROR;
2660 ELSIF p_tapv_rec.amount = OKL_API.G_MISS_NUM OR
2661 p_tapv_rec.amount IS NULL
2662 THEN
2663 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'amount');
2664 l_return_status := OKL_API.G_RET_STS_ERROR;
2665 ELSIF p_tapv_rec.date_invoiced = OKL_API.G_MISS_DATE OR
2666 p_tapv_rec.date_invoiced IS NULL
2667 THEN
2668 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'date_invoiced');
2669 l_return_status := OKL_API.G_RET_STS_ERROR;
2670 ELSIF p_tapv_rec.date_entered = OKL_API.G_MISS_DATE OR
2671 p_tapv_rec.date_entered IS NULL
2672 THEN
2673 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'date_entered');
2674 l_return_status := OKL_API.G_RET_STS_ERROR;
2675 ELSIF p_tapv_rec.trx_type = OKL_API.G_MISS_CHAR OR
2676 p_tapv_rec.trx_type IS NULL
2677 THEN
2678 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'trx_type');
2679 l_return_status := OKL_API.G_RET_STS_ERROR;
2680 END IF;
2681 RETURN(l_return_status);
2682 +------------------------------ TAPI Generated Code ----------------------------------------*/
2683 EXCEPTION
2684 WHEN OTHERS then
2685 -- Store SQL Error Message on the Message Stack for caller
2686 OKL_Api.SET_MESSAGE
2687 ( p_app_name => g_app_name,
2688 p_msg_name => G_UNEXPECTED_ERROR,
2689 p_token1 => G_SQLCODE_TOKEN,
2690 p_token1_value => 'sqlcode',
2691 p_token2 => G_SQLERRM_TOKEN,
2692 p_token2_value => 'sqlerrm'
2693 ) ;
2694 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
2695 return x_return_status; -- Return status to the caller
2696 END Validate_Attributes;
2697 --------------------------------------------------------------------------------
2698 -- PROCEDURE Validate_Record for:OKL_TRX_AP_INVOICES_V : Modified for PostGen-13
2699 --------------------------------------------------------------------------------
2700 FUNCTION Validate_Record
2701 ( p_tapv_rec IN tapv_rec_type
2702 ) RETURN VARCHAR2 IS
2703 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2704 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2705 BEGIN
2706 -- Post Postgen 14,15
2707 RETURN x_return_status; -- Return status to the caller
2708 -- l_return_status := validate_foreign_keys (p_tapv_rec); -- TAPI Generated Code
2709 -- RETURN (l_return_status); -- TAPI Generated Code
2710 EXCEPTION
2711 WHEN OTHERS then
2712 -- Store SQL Error Message on the Message Stack for caller
2713 OKL_Api.SET_MESSAGE
2714 ( p_app_name => g_app_name,
2715 p_msg_name => G_UNEXPECTED_ERROR,
2716 p_token1 => G_SQLCODE_TOKEN,
2717 p_token1_value => 'sqlcode',
2718 p_token2 => G_SQLERRM_TOKEN,
2719 p_token2_value => 'sqlerrm'
2720 ) ;
2721 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
2722 return x_return_status; -- Return status to the caller
2723 END Validate_Record;
2724 ------------------------------------
2725 -- FUNCTION validate_foreign_keys --
2726 ------------------------------------
2727 FUNCTION validate_foreign_keys
2728 ( p_tapv_rec IN tapv_rec_type
2729 ) RETURN VARCHAR2 IS
2730 CURSOR OKL_cplv_pk_csr (p_id IN NUMBER) IS
2731 SELECT
2732 ID,OBJECT_VERSION_NUMBER,SFWT_FLAG,CHR_ID,CPL_ID,CLE_ID,RLE_CODE,
2733 DNZ_CHR_ID,OBJECT1_ID1,OBJECT1_ID2,JTOT_OBJECT1_CODE,COGNOMEN,CODE,
2734 FACILITY,MINORITY_GROUP_LOOKUP_CODE,SMALL_BUSINESS_FLAG,WOMEN_OWNED_FLAG,
2735 ALIAS,ROLE,ATTRIBUTE_CATEGORY,ATTRIBUTE1,ATTRIBUTE2,ATTRIBUTE3,ATTRIBUTE4,
2736 ATTRIBUTE5,ATTRIBUTE6,ATTRIBUTE7,ATTRIBUTE8,ATTRIBUTE9,ATTRIBUTE10,
2737 ATTRIBUTE11,ATTRIBUTE12,ATTRIBUTE13,ATTRIBUTE14,ATTRIBUTE15,CREATED_BY,
2738 CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN
2739 FROM OKC_K_PARTY_ROLES_V
2740 WHERE OKC_K_PARTY_ROLES_V.id = p_id;
2741 l_OKL_cplv_pk OKL_cplv_pk_csr%ROWTYPE;
2742 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2743 l_row_notfound BOOLEAN := TRUE;
2744 item_not_found_error EXCEPTION;
2745 BEGIN
2746 IF (p_tapv_rec.CPLV_ID IS NOT NULL)
2747 THEN
2748 OPEN OKL_cplv_pk_csr(p_tapv_rec.CPLV_ID);
2749 FETCH OKL_cplv_pk_csr INTO l_OKL_cplv_pk;
2750 l_row_notfound := OKL_cplv_pk_csr%NOTFOUND;
2751 CLOSE OKL_cplv_pk_csr;
2752 IF (l_row_notfound) THEN
2753 OKL_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CPLV_ID');
2754 RAISE item_not_found_error;
2755 END IF;
2756 END IF;
2757 RETURN (l_return_status);
2758 EXCEPTION
2759 WHEN item_not_found_error THEN
2760 l_return_status := OKL_API.G_RET_STS_ERROR;
2761 RETURN (l_return_status);
2762 END validate_foreign_keys;
2763 ---------------------------------------------------------------------------
2764 -- PROCEDURE Migrate
2765 ---------------------------------------------------------------------------
2766 PROCEDURE migrate (
2767 p_from IN tapv_rec_type,
2768 p_to IN OUT NOCOPY tap_rec_type -- PostGen-11
2769 ) IS
2770 BEGIN
2771 p_to.id := p_from.id;
2772 p_to.currency_code := p_from.currency_code;
2773 p_to.payment_method_code := p_from.payment_method_code;
2774 p_to.funding_type_code := p_from.funding_type_code;
2775 p_to.invoice_category_code := p_from.invoice_category_code;
2776 p_to.ipvs_id := p_from.ipvs_id;
2777 p_to.khr_id := p_from.khr_id;
2778 p_to.ccf_id := p_from.ccf_id;
2779 p_to.cct_id := p_from.cct_id;
2780 p_to.cplv_id := p_from.cplv_id;
2781 p_to.pox_id := p_from.pox_id;
2782 p_to.ippt_id := p_from.ippt_id;
2783 p_to.code_combination_id := p_from.code_combination_id;
2784 p_to.qte_id := p_from.qte_id;
2785 p_to.art_id := p_from.art_id;
2786 p_to.tcn_id := p_from.tcn_id;
2787 p_to.vpa_id := p_from.vpa_id;
2788 p_to.ipt_id := p_from.ipt_id;
2789 p_to.tap_id_reverses := p_from.tap_id_reverses;
2790 p_to.date_entered := p_from.date_entered;
2791 p_to.date_invoiced := p_from.date_invoiced;
2792 p_to.amount := p_from.amount;
2793 p_to.trx_status_code := p_from.trx_status_code; -- Post Postgen 14,15
2794 p_to.set_of_books_id := p_from.set_of_books_id; -- Post Postgen 14,15
2795 p_to.try_id := p_from.try_id; -- Post Postgen 14,15
2796 p_to.object_version_number := p_from.object_version_number;
2797 p_to.date_requisition := p_from.date_requisition;
2798 p_to.date_funding_approved := p_from.date_funding_approved;
2799 p_to.invoice_number := p_from.invoice_number;
2800 p_to.date_gl := p_from.date_gl;
2801 p_to.workflow_yn := p_from.workflow_yn;
2802 p_to.match_required_yn := p_from.match_required_yn;
2803 p_to.ipt_frequency := p_from.ipt_frequency;
2804 p_to.consolidate_yn := p_from.consolidate_yn;
2805 p_to.wait_vendor_invoice_yn := p_from.wait_vendor_invoice_yn;
2806 p_to.request_id := p_from.request_id;
2807 p_to.program_application_id := p_from.program_application_id;
2808 p_to.program_id := p_from.program_id;
2809 p_to.program_update_date := p_from.program_update_date;
2810 p_to.org_id := p_from.org_id;
2811 p_to.CURRENCY_CONVERSION_TYPE := p_from.CURRENCY_CONVERSION_TYPE;
2812 p_to.CURRENCY_CONVERSION_RATE := p_from.CURRENCY_CONVERSION_RATE;
2813 p_to.CURRENCY_CONVERSION_DATE := p_from.CURRENCY_CONVERSION_DATE;
2814 p_to.vendor_id := p_from.vendor_id;
2815 p_to.attribute_category := p_from.attribute_category;
2816 p_to.attribute1 := p_from.attribute1;
2817 p_to.attribute2 := p_from.attribute2;
2818 p_to.attribute3 := p_from.attribute3;
2819 p_to.attribute4 := p_from.attribute4;
2820 p_to.attribute5 := p_from.attribute5;
2821 p_to.attribute6 := p_from.attribute6;
2822 p_to.attribute7 := p_from.attribute7;
2823 p_to.attribute8 := p_from.attribute8;
2824 p_to.attribute9 := p_from.attribute9;
2825 p_to.attribute10 := p_from.attribute10;
2826 p_to.attribute11 := p_from.attribute11;
2827 p_to.attribute12 := p_from.attribute12;
2828 p_to.attribute13 := p_from.attribute13;
2829 p_to.attribute14 := p_from.attribute14;
2830 p_to.attribute15 := p_from.attribute15;
2831 p_to.created_by := p_from.created_by;
2832 p_to.creation_date := p_from.creation_date;
2833 p_to.last_updated_by := p_from.last_updated_by;
2834 p_to.last_update_date := p_from.last_update_date;
2835 p_to.last_update_login := p_from.last_update_login;
2836 p_to.invoice_type := p_from.invoice_type;
2837 p_to.pay_group_lookup_code := p_from.pay_group_lookup_code;
2838 p_to.vendor_invoice_number := p_from.vendor_invoice_number;
2839 p_to.nettable_yn := p_from.nettable_yn;
2840 p_to.asset_tap_id := p_from.asset_tap_id; -- Post Postgen 14,15
2841 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
2842 p_to.legal_entity_id := p_from.legal_entity_id;
2843 p_to.transaction_date := p_from.transaction_date;
2844
2845 END migrate;
2846 PROCEDURE migrate (
2847 p_from IN tap_rec_type,
2848 p_to IN OUT NOCOPY tapv_rec_type -- PostGen-11
2849 ) IS
2850 BEGIN
2851 p_to.id := p_from.id;
2852 p_to.currency_code := p_from.currency_code;
2853 p_to.payment_method_code := p_from.payment_method_code;
2854 p_to.funding_type_code := p_from.funding_type_code;
2855 p_to.invoice_category_code := p_from.invoice_category_code;
2856 p_to.ipvs_id := p_from.ipvs_id;
2857 p_to.khr_id := p_from.khr_id;
2858 p_to.ccf_id := p_from.ccf_id;
2859 p_to.cct_id := p_from.cct_id;
2860 p_to.cplv_id := p_from.cplv_id;
2861 p_to.pox_id := p_from.pox_id;
2862 p_to.ippt_id := p_from.ippt_id;
2863 p_to.code_combination_id := p_from.code_combination_id;
2864 p_to.qte_id := p_from.qte_id;
2865 p_to.art_id := p_from.art_id;
2866 p_to.tcn_id := p_from.tcn_id;
2867 p_to.vpa_id := p_from.vpa_id;
2868 p_to.ipt_id := p_from.ipt_id;
2869 p_to.tap_id_reverses := p_from.tap_id_reverses;
2870 p_to.date_entered := p_from.date_entered;
2871 p_to.date_invoiced := p_from.date_invoiced;
2872 p_to.amount := p_from.amount;
2873 p_to.trx_status_code := p_from.trx_status_code; -- Post Postgen 14,15
2874 p_to.set_of_books_id := p_from.set_of_books_id; -- Post Postgen 14,15
2875 p_to.try_id := p_from.try_id; -- Post Postgen 14,15
2876 p_to.object_version_number := p_from.object_version_number;
2877 p_to.date_requisition := p_from.date_requisition;
2878 p_to.date_funding_approved := p_from.date_funding_approved;
2879 p_to.invoice_number := p_from.invoice_number;
2880 p_to.date_gl := p_from.date_gl;
2881 p_to.workflow_yn := p_from.workflow_yn;
2882 p_to.match_required_yn := p_from.match_required_yn;
2883 p_to.ipt_frequency := p_from.ipt_frequency;
2884 p_to.consolidate_yn := p_from.consolidate_yn;
2885 p_to.wait_vendor_invoice_yn := p_from.wait_vendor_invoice_yn;
2886 p_to.request_id := p_from.request_id;
2887 p_to.program_application_id := p_from.program_application_id;
2888 p_to.program_id := p_from.program_id;
2889 p_to.program_update_date := p_from.program_update_date;
2890 p_to.org_id := p_from.org_id;
2891 p_to.CURRENCY_CONVERSION_TYPE := p_from.CURRENCY_CONVERSION_TYPE;
2892 p_to.CURRENCY_CONVERSION_RATE := p_from.CURRENCY_CONVERSION_RATE;
2893 p_to.CURRENCY_CONVERSION_DATE := p_from.CURRENCY_CONVERSION_DATE;
2894 p_to.vendor_id := p_from.vendor_id;
2895 p_to.attribute_category := p_from.attribute_category;
2896 p_to.attribute1 := p_from.attribute1;
2897 p_to.attribute2 := p_from.attribute2;
2898 p_to.attribute3 := p_from.attribute3;
2899 p_to.attribute4 := p_from.attribute4;
2900 p_to.attribute5 := p_from.attribute5;
2901 p_to.attribute6 := p_from.attribute6;
2902 p_to.attribute7 := p_from.attribute7;
2903 p_to.attribute8 := p_from.attribute8;
2904 p_to.attribute9 := p_from.attribute9;
2905 p_to.attribute10 := p_from.attribute10;
2906 p_to.attribute11 := p_from.attribute11;
2907 p_to.attribute12 := p_from.attribute12;
2908 p_to.attribute13 := p_from.attribute13;
2909 p_to.attribute14 := p_from.attribute14;
2910 p_to.attribute15 := p_from.attribute15;
2911 p_to.created_by := p_from.created_by;
2912 p_to.creation_date := p_from.creation_date;
2913 p_to.last_updated_by := p_from.last_updated_by;
2914 p_to.last_update_date := p_from.last_update_date;
2915 p_to.last_update_login := p_from.last_update_login;
2916 p_to.invoice_type := p_from.invoice_type;
2917 p_to.pay_group_lookup_code := p_from.pay_group_lookup_code;
2918 p_to.vendor_invoice_number := p_from.vendor_invoice_number;
2919 p_to.nettable_yn := p_from.nettable_yn;
2920 p_to.asset_tap_id := p_from.asset_tap_id; -- Post Postgen 14,15
2921 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
2922 p_to.legal_entity_id := p_from.legal_entity_id;
2923 p_to.transaction_date := p_from.transaction_date;
2924
2925 END migrate;
2926 PROCEDURE migrate (
2927 p_from IN tapv_rec_type,
2928 p_to IN OUT NOCOPY OklTrxApInvoicesTlRecType -- PostGen-11
2929 ) IS
2930 BEGIN
2931 p_to.id := p_from.id;
2932 p_to.sfwt_flag := p_from.sfwt_flag;
2933 p_to.description := p_from.description;
2934 p_to.created_by := p_from.created_by;
2935 p_to.creation_date := p_from.creation_date;
2936 p_to.last_updated_by := p_from.last_updated_by;
2937 p_to.last_update_date := p_from.last_update_date;
2938 p_to.last_update_login := p_from.last_update_login;
2939 END migrate;
2940 PROCEDURE migrate (
2941 p_from IN OklTrxApInvoicesTlRecType,
2942 p_to IN OUT NOCOPY tapv_rec_type -- PostGen-11
2943 ) IS
2944 BEGIN
2945 p_to.id := p_from.id;
2946 p_to.sfwt_flag := p_from.sfwt_flag;
2947 p_to.description := p_from.description;
2948 p_to.created_by := p_from.created_by;
2949 p_to.creation_date := p_from.creation_date;
2950 p_to.last_updated_by := p_from.last_updated_by;
2951 p_to.last_update_date := p_from.last_update_date;
2952 p_to.last_update_login := p_from.last_update_login;
2953 END migrate;
2954 ---------------------------------------------------------------------------
2955 -- PROCEDURE validate_row
2956 ---------------------------------------------------------------------------
2957 --------------------------------------------
2958 -- validate_row for:OKL_TRX_AP_INVOICES_V --
2959 --------------------------------------------
2960 PROCEDURE validate_row(
2961 p_api_version IN NUMBER,
2962 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2963 x_return_status OUT NOCOPY VARCHAR2,
2964 x_msg_count OUT NOCOPY NUMBER,
2965 x_msg_data OUT NOCOPY VARCHAR2,
2966 p_tapv_rec IN tapv_rec_type) IS
2967 l_api_version CONSTANT NUMBER := 1;
2968 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
2969 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2970 l_tapv_rec tapv_rec_type := p_tapv_rec;
2971 l_tap_rec tap_rec_type;
2972 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
2973 BEGIN
2974 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2975 G_PKG_NAME,
2976 p_init_msg_list,
2977 l_api_version,
2978 p_api_version,
2979 '_PVT',
2980 x_return_status);
2981 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2982 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2983 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2984 RAISE OKL_API.G_EXCEPTION_ERROR;
2985 END IF;
2986 --- Validate all non-missing attributes (Item Level Validation)
2987 l_return_status := Validate_Attributes(l_tapv_rec);
2988 --- If any errors happen abort API
2989 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2990 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2991 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2992 RAISE OKL_API.G_EXCEPTION_ERROR;
2993 END IF;
2994 l_return_status := Validate_Record(l_tapv_rec);
2995 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2996 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2997 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2998 RAISE OKL_API.G_EXCEPTION_ERROR;
2999 END IF;
3000 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3001 EXCEPTION
3002 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3003 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3004 (
3005 l_api_name,
3006 G_PKG_NAME,
3007 'OKL_API.G_RET_STS_ERROR',
3008 x_msg_count,
3009 x_msg_data,
3010 '_PVT'
3011 );
3012 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3013 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3014 (
3015 l_api_name,
3016 G_PKG_NAME,
3017 'OKL_API.G_RET_STS_UNEXP_ERROR',
3018 x_msg_count,
3019 x_msg_data,
3020 '_PVT'
3021 );
3022 WHEN OTHERS THEN
3023 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3024 (
3025 l_api_name,
3026 G_PKG_NAME,
3027 'OTHERS',
3028 x_msg_count,
3029 x_msg_data,
3030 '_PVT'
3031 );
3032 END validate_row;
3033 ------------------------------------------
3034 -- PL/SQL TBL validate_row for:TAPV_TBL --
3035 ------------------------------------------
3036 PROCEDURE validate_row(
3037 p_api_version IN NUMBER,
3038 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3039 x_return_status OUT NOCOPY VARCHAR2,
3040 x_msg_count OUT NOCOPY NUMBER,
3041 x_msg_data OUT NOCOPY VARCHAR2,
3042 p_tapv_tbl IN tapv_tbl_type) IS
3043 l_api_version CONSTANT NUMBER := 1;
3044 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
3045 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3046 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
3047 i NUMBER := 0;
3048 BEGIN
3049 OKL_API.init_msg_list(p_init_msg_list);
3050 -- Make sure PL/SQL table has records in it before passing
3051 IF (p_tapv_tbl.COUNT > 0) THEN
3052 i := p_tapv_tbl.FIRST;
3053 LOOP
3054 validate_row (
3055 p_api_version => p_api_version,
3056 p_init_msg_list => OKL_API.G_FALSE,
3057 x_return_status => x_return_status,
3058 x_msg_count => x_msg_count,
3059 x_msg_data => x_msg_data,
3060 p_tapv_rec => p_tapv_tbl(i));
3061 -- Store the highest degree of error -- PostGen-9
3062 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
3063 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
3064 l_overall_status := x_return_status; -- PostGen-9
3065 END IF; -- PostGen-9
3066 END IF; -- PostGen-9
3067 EXIT WHEN (i = p_tapv_tbl.LAST);
3068 i := p_tapv_tbl.NEXT(i);
3069 END LOOP;
3070 x_return_status := l_overall_status; -- PostGen-9 = return overall status
3071 END IF;
3072 EXCEPTION
3073 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3074 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3075 (
3076 l_api_name,
3077 G_PKG_NAME,
3078 'OKL_API.G_RET_STS_ERROR',
3079 x_msg_count,
3080 x_msg_data,
3081 '_PVT'
3082 );
3083 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3084 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3085 (
3086 l_api_name,
3087 G_PKG_NAME,
3088 'OKL_API.G_RET_STS_UNEXP_ERROR',
3089 x_msg_count,
3090 x_msg_data,
3091 '_PVT'
3092 );
3093 WHEN OTHERS THEN
3094 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3095 (
3096 l_api_name,
3097 G_PKG_NAME,
3098 'OTHERS',
3099 x_msg_count,
3100 x_msg_data,
3101 '_PVT'
3102 );
3103 END validate_row;
3104 ---------------------------------------------------------------------------
3105 -- PROCEDURE insert_row
3106 ---------------------------------------------------------------------------
3107 ------------------------------------------
3108 -- insert_row for:OKL_TRX_AP_INVOICES_B --
3109 ------------------------------------------
3110 PROCEDURE insert_row(
3111 p_init_msg_list IN VARCHAR2 DEFAULT OKL_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_tap_rec IN tap_rec_type,
3116 x_tap_rec OUT NOCOPY tap_rec_type) IS
3117 l_api_version CONSTANT NUMBER := 1;
3118 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
3119 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3120 l_tap_rec tap_rec_type := p_tap_rec;
3121 l_def_tap_rec tap_rec_type;
3122 ----------------------------------------------
3123 -- Set_Attributes for:OKL_TRX_AP_INVOICES_B --
3124 ----------------------------------------------
3125 FUNCTION Set_Attributes (
3126 p_tap_rec IN tap_rec_type,
3127 x_tap_rec OUT NOCOPY tap_rec_type
3128 ) RETURN VARCHAR2 IS
3129 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3130 BEGIN
3131 x_tap_rec := p_tap_rec;
3132 RETURN(l_return_status);
3133 END Set_Attributes;
3134 BEGIN
3135 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3136 p_init_msg_list,
3137 '_PVT',
3138 x_return_status);
3139 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3140 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3141 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3142 RAISE OKL_API.G_EXCEPTION_ERROR;
3143 END IF;
3144 --- Setting item attributes
3145 l_return_status := Set_Attributes(
3146 p_tap_rec, -- IN
3147 l_tap_rec); -- OUT
3148 --- If any errors happen abort API
3149 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3150 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3151 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3152 RAISE OKL_API.G_EXCEPTION_ERROR;
3153 END IF;
3154 INSERT INTO OKL_TRX_AP_INVOICES_B(
3155 id,
3156 currency_code,
3157 payment_method_code,
3158 funding_type_code,
3159 invoice_category_code,
3160 ipvs_id,
3161 khr_id,
3162 ccf_id,
3163 cct_id,
3164 cplv_id,
3165 pox_id,
3166 ippt_id,
3167 code_combination_id,
3168 qte_id,
3169 art_id,
3170 tcn_id,
3171 vpa_id,
3172 ipt_id,
3173 tap_id_reverses,
3174 date_entered,
3175 date_invoiced,
3176 amount,
3177 trx_status_code, -- Post Postgen 14,15
3178 set_of_books_id, -- Post Postgen 14,15
3179 try_id, -- Post Postgen 14,15
3180 object_version_number,
3181 date_requisition,
3182 date_funding_approved,
3183 invoice_number,
3184 date_gl,
3185 workflow_yn,
3186 match_required_yn,
3187 ipt_frequency,
3188 consolidate_yn,
3189 wait_vendor_invoice_yn,
3190 request_id,
3191 program_application_id,
3192 program_id,
3193 program_update_date,
3194 org_id,
3195 CURRENCY_CONVERSION_TYPE,
3196 CURRENCY_CONVERSION_RATE,
3197 CURRENCY_CONVERSION_DATE,
3198 vendor_id,
3199 attribute_category,
3200 attribute1,
3201 attribute2,
3202 attribute3,
3203 attribute4,
3204 attribute5,
3205 attribute6,
3206 attribute7,
3207 attribute8,
3208 attribute9,
3209 attribute10,
3210 attribute11,
3211 attribute12,
3212 attribute13,
3213 attribute14,
3214 attribute15,
3215 created_by,
3216 creation_date,
3217 last_updated_by,
3218 last_update_date,
3219 last_update_login,
3220 invoice_type,
3221 pay_group_lookup_code,
3222 vendor_invoice_number,
3223 nettable_yn,
3224 asset_tap_id,
3225 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
3226 legal_entity_id
3227 ,transaction_date
3228 )
3229 VALUES (
3230 l_tap_rec.id,
3231 l_tap_rec.currency_code,
3232 l_tap_rec.payment_method_code,
3233 l_tap_rec.funding_type_code,
3234 l_tap_rec.invoice_category_code,
3235 l_tap_rec.ipvs_id,
3236 l_tap_rec.khr_id,
3237 l_tap_rec.ccf_id,
3238 l_tap_rec.cct_id,
3239 l_tap_rec.cplv_id,
3240 l_tap_rec.pox_id,
3241 l_tap_rec.ippt_id,
3242 l_tap_rec.code_combination_id,
3243 l_tap_rec.qte_id,
3244 l_tap_rec.art_id,
3245 l_tap_rec.tcn_id,
3246 l_tap_rec.vpa_id,
3247 l_tap_rec.ipt_id,
3248 l_tap_rec.tap_id_reverses,
3249 l_tap_rec.date_entered,
3250 l_tap_rec.date_invoiced,
3251 l_tap_rec.amount,
3252 l_tap_rec.trx_status_code, -- Post Postgen 14,15
3253 l_tap_rec.set_of_books_id, -- Post Postgen 14,15
3254 l_tap_rec.try_id, -- Post Postgen 14,15
3255 l_tap_rec.object_version_number,
3256 l_tap_rec.date_requisition,
3257 l_tap_rec.date_funding_approved,
3258 l_tap_rec.invoice_number,
3259 l_tap_rec.date_gl,
3260 l_tap_rec.workflow_yn,
3261 l_tap_rec.match_required_yn,
3262 l_tap_rec.ipt_frequency,
3263 l_tap_rec.consolidate_yn,
3264 l_tap_rec.wait_vendor_invoice_yn,
3265 l_tap_rec.request_id,
3266 l_tap_rec.program_application_id,
3267 l_tap_rec.program_id,
3268 l_tap_rec.program_update_date,
3269 l_tap_rec.org_id,
3270 l_tap_rec.CURRENCY_CONVERSION_TYPE,
3271 l_tap_rec.CURRENCY_CONVERSION_RATE,
3272 l_tap_rec.CURRENCY_CONVERSION_DATE,
3273 l_tap_rec.vendor_id,
3274 l_tap_rec.attribute_category,
3275 l_tap_rec.attribute1,
3276 l_tap_rec.attribute2,
3277 l_tap_rec.attribute3,
3278 l_tap_rec.attribute4,
3279 l_tap_rec.attribute5,
3280 l_tap_rec.attribute6,
3281 l_tap_rec.attribute7,
3282 l_tap_rec.attribute8,
3283 l_tap_rec.attribute9,
3284 l_tap_rec.attribute10,
3285 l_tap_rec.attribute11,
3286 l_tap_rec.attribute12,
3287 l_tap_rec.attribute13,
3288 l_tap_rec.attribute14,
3289 l_tap_rec.attribute15,
3290 l_tap_rec.created_by,
3291 l_tap_rec.creation_date,
3292 l_tap_rec.last_updated_by,
3293 l_tap_rec.last_update_date,
3294 l_tap_rec.last_update_login,
3295 l_tap_rec.invoice_type,
3296 l_tap_rec.pay_group_lookup_code,
3297 l_tap_rec.vendor_invoice_number,
3298 l_tap_rec.nettable_yn,
3299 l_tap_rec.asset_tap_id,
3300 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
3301 l_tap_rec.legal_entity_id
3302 ,NVL(l_tap_rec.transaction_date,SYSDATE)
3303 );
3304 -- Set OUT values
3305 x_tap_rec := l_tap_rec;
3306 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3307 EXCEPTION
3308 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3309 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3310 (
3311 l_api_name,
3312 G_PKG_NAME,
3313 'OKL_API.G_RET_STS_ERROR',
3314 x_msg_count,
3315 x_msg_data,
3316 '_PVT'
3317 );
3318 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3319 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3320 (
3321 l_api_name,
3322 G_PKG_NAME,
3323 'OKL_API.G_RET_STS_UNEXP_ERROR',
3324 x_msg_count,
3325 x_msg_data,
3326 '_PVT'
3327 );
3328 WHEN OTHERS THEN
3329 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3330 (
3331 l_api_name,
3332 G_PKG_NAME,
3333 'OTHERS',
3334 x_msg_count,
3335 x_msg_data,
3336 '_PVT'
3337 );
3338 END insert_row;
3339 -------------------------------------------
3340 -- insert_row for:OKL_TRX_AP_INVOICES_TL --
3341 -------------------------------------------
3342 PROCEDURE insert_row(
3343 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3344 x_return_status OUT NOCOPY VARCHAR2,
3345 x_msg_count OUT NOCOPY NUMBER,
3346 x_msg_data OUT NOCOPY VARCHAR2,
3347 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType,
3348 x_okl_trx_ap_invoices_tl_rec OUT NOCOPY OklTrxApInvoicesTlRecType) IS
3349 l_api_version CONSTANT NUMBER := 1;
3350 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
3351 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3352 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType := p_okl_trx_ap_invoices_tl_rec;
3353 ldefokltrxapinvoicestlrec OklTrxApInvoicesTlRecType;
3354 CURSOR get_languages IS
3355 SELECT *
3356 FROM FND_LANGUAGES
3357 WHERE INSTALLED_FLAG IN ('I', 'B');
3358 -----------------------------------------------
3359 -- Set_Attributes for:OKL_TRX_AP_INVOICES_TL --
3360 -----------------------------------------------
3361 FUNCTION Set_Attributes (
3362 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType,
3363 x_okl_trx_ap_invoices_tl_rec OUT NOCOPY OklTrxApInvoicesTlRecType
3364 ) RETURN VARCHAR2 IS
3365 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3366 BEGIN
3367 x_okl_trx_ap_invoices_tl_rec := p_okl_trx_ap_invoices_tl_rec;
3368 x_okl_trx_ap_invoices_tl_rec.LANGUAGE := USERENV('LANG');
3369 x_okl_trx_ap_invoices_tl_rec.SOURCE_LANG := USERENV('LANG');
3370 RETURN(l_return_status);
3371 END Set_Attributes;
3372 BEGIN
3373 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3374 p_init_msg_list,
3375 '_PVT',
3376 x_return_status);
3377 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3378 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3379 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3380 RAISE OKL_API.G_EXCEPTION_ERROR;
3381 END IF;
3382 --- Setting item attributes
3383 l_return_status := Set_Attributes(
3384 p_okl_trx_ap_invoices_tl_rec, -- IN
3385 l_okl_trx_ap_invoices_tl_rec); -- OUT
3386 --- If any errors happen abort API
3387 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3388 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3389 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3390 RAISE OKL_API.G_EXCEPTION_ERROR;
3391 END IF;
3392 FOR l_lang_rec IN get_languages LOOP
3393 l_okl_trx_ap_invoices_tl_rec.language := l_lang_rec.language_code;
3394 INSERT INTO OKL_TRX_AP_INVOICES_TL(
3395 id,
3396 language,
3397 source_lang,
3398 sfwt_flag,
3399 description,
3400 created_by,
3401 creation_date,
3402 last_updated_by,
3403 last_update_date,
3404 last_update_login)
3405 VALUES (
3406 l_okl_trx_ap_invoices_tl_rec.id,
3407 l_okl_trx_ap_invoices_tl_rec.language,
3408 l_okl_trx_ap_invoices_tl_rec.source_lang,
3409 l_okl_trx_ap_invoices_tl_rec.sfwt_flag,
3410 l_okl_trx_ap_invoices_tl_rec.description,
3411 l_okl_trx_ap_invoices_tl_rec.created_by,
3412 l_okl_trx_ap_invoices_tl_rec.creation_date,
3413 l_okl_trx_ap_invoices_tl_rec.last_updated_by,
3414 l_okl_trx_ap_invoices_tl_rec.last_update_date,
3415 l_okl_trx_ap_invoices_tl_rec.last_update_login);
3416 END LOOP;
3417 -- Set OUT values
3418 x_okl_trx_ap_invoices_tl_rec := l_okl_trx_ap_invoices_tl_rec;
3419 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3420 EXCEPTION
3421 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3422 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3423 (
3424 l_api_name,
3425 G_PKG_NAME,
3426 'OKL_API.G_RET_STS_ERROR',
3427 x_msg_count,
3428 x_msg_data,
3429 '_PVT'
3430 );
3431 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3432 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3433 (
3434 l_api_name,
3435 G_PKG_NAME,
3436 'OKL_API.G_RET_STS_UNEXP_ERROR',
3437 x_msg_count,
3438 x_msg_data,
3439 '_PVT'
3440 );
3441 WHEN OTHERS THEN
3442 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3443 (
3444 l_api_name,
3445 G_PKG_NAME,
3446 'OTHERS',
3447 x_msg_count,
3448 x_msg_data,
3449 '_PVT'
3450 );
3451 END insert_row;
3452 ------------------------------------------
3453 -- insert_row for:OKL_TRX_AP_INVOICES_V --
3454 ------------------------------------------
3455 PROCEDURE insert_row(
3456 p_api_version IN NUMBER,
3457 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3458 x_return_status OUT NOCOPY VARCHAR2,
3459 x_msg_count OUT NOCOPY NUMBER,
3460 x_msg_data OUT NOCOPY VARCHAR2,
3461 p_tapv_rec IN tapv_rec_type,
3462 x_tapv_rec OUT NOCOPY tapv_rec_type) IS
3463 l_api_version CONSTANT NUMBER := 1;
3464 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
3465 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3466 l_tapv_rec tapv_rec_type;
3467 l_def_tapv_rec tapv_rec_type;
3468 l_tap_rec tap_rec_type;
3469 lx_tap_rec tap_rec_type;
3470 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
3471 lx_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
3472 -------------------------------
3473 -- FUNCTION fill_who_columns --
3474 -------------------------------
3475 FUNCTION fill_who_columns (
3476 p_tapv_rec IN tapv_rec_type
3477 ) RETURN tapv_rec_type IS
3478 l_tapv_rec tapv_rec_type := p_tapv_rec;
3479 BEGIN
3480 l_tapv_rec.CREATION_DATE := SYSDATE;
3481 l_tapv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
3482 l_tapv_rec.LAST_UPDATE_DATE := l_tapv_rec.CREATION_DATE;
3483 l_tapv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3484 l_tapv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3485 RETURN(l_tapv_rec);
3486 END fill_who_columns;
3487 ----------------------------------------------
3488 -- Set_Attributes for:OKL_TRX_AP_INVOICES_V --
3489 ----------------------------------------------
3490 FUNCTION Set_Attributes (
3491 p_tapv_rec IN tapv_rec_type,
3492 x_tapv_rec OUT NOCOPY tapv_rec_type
3493 ) RETURN VARCHAR2 IS
3494 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3495 BEGIN
3496 x_tapv_rec := p_tapv_rec;
3497 x_tapv_rec.OBJECT_VERSION_NUMBER := 1;
3498 x_tapv_rec.SFWT_FLAG := 'N';
3499 -- Start PostGen-7
3500 SELECT
3501 DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
3502 DECODE(Fnd_Global.PROG_APPL_ID, -1,NULL,Fnd_Global.PROG_APPL_ID),
3503 DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),
3504 DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE)
3505 INTO
3506 x_tapv_rec.request_id,
3507 x_tapv_rec.program_application_id,
3508 x_tapv_rec.program_id,
3509 x_tapv_rec.program_update_date
3510 FROM dual;
3511 -- End PostGen-7
3512 RETURN(l_return_status);
3513 END Set_Attributes;
3514 BEGIN
3515 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3516 G_PKG_NAME,
3517 p_init_msg_list,
3518 l_api_version,
3519 p_api_version,
3520 '_PVT',
3521 x_return_status);
3522 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3523 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3524 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3525 RAISE OKL_API.G_EXCEPTION_ERROR;
3526 END IF;
3527 l_tapv_rec := null_out_defaults(p_tapv_rec);
3528 -- Set primary key value
3529 l_tapv_rec.ID := get_seq_id;
3530 --- Setting item attributes
3531 l_return_status := Set_Attributes(
3532 l_tapv_rec, -- IN
3533 l_def_tapv_rec); -- OUT
3534 --- If any errors happen abort API
3535 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3536 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3537 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3538 RAISE OKL_API.G_EXCEPTION_ERROR;
3539 END IF;
3540 l_def_tapv_rec := fill_who_columns(l_def_tapv_rec);
3541 --- Validate all non-missing attributes (Item Level Validation)
3542 l_return_status := Validate_Attributes(l_def_tapv_rec);
3543 --- If any errors happen abort API
3544 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3545 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3546 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3547 RAISE OKL_API.G_EXCEPTION_ERROR;
3548 END IF;
3549 l_return_status := Validate_Record(l_def_tapv_rec);
3550 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3551 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3552 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3553 RAISE OKL_API.G_EXCEPTION_ERROR;
3554 END IF;
3555 --------------------------------------
3556 -- Move VIEW record to "Child" records
3557 --------------------------------------
3558 migrate(l_def_tapv_rec, l_tap_rec);
3559 migrate(l_def_tapv_rec, l_okl_trx_ap_invoices_tl_rec);
3560 --------------------------------------------
3561 -- Call the INSERT_ROW for each child record
3562 --------------------------------------------
3563 insert_row(
3564 p_init_msg_list,
3565 x_return_status,
3566 x_msg_count,
3567 x_msg_data,
3568 l_tap_rec,
3569 lx_tap_rec
3570 );
3571 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3572 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3573 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3574 RAISE OKL_API.G_EXCEPTION_ERROR;
3575 END IF;
3576 migrate(lx_tap_rec, l_def_tapv_rec);
3577 insert_row(
3578 p_init_msg_list,
3579 x_return_status,
3580 x_msg_count,
3581 x_msg_data,
3582 l_okl_trx_ap_invoices_tl_rec,
3583 lx_okl_trx_ap_invoices_tl_rec
3584 );
3585 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3586 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3587 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3588 RAISE OKL_API.G_EXCEPTION_ERROR;
3589 END IF;
3590 migrate(lx_okl_trx_ap_invoices_tl_rec, l_def_tapv_rec);
3591 -- Set OUT values
3592 x_tapv_rec := l_def_tapv_rec;
3593 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3594 EXCEPTION
3595 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3596 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3597 (
3598 l_api_name,
3599 G_PKG_NAME,
3600 'OKL_API.G_RET_STS_ERROR',
3601 x_msg_count,
3602 x_msg_data,
3603 '_PVT'
3604 );
3605 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3606 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3607 (
3608 l_api_name,
3609 G_PKG_NAME,
3610 'OKL_API.G_RET_STS_UNEXP_ERROR',
3611 x_msg_count,
3612 x_msg_data,
3613 '_PVT'
3614 );
3615 WHEN OTHERS THEN
3616 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3617 (
3618 l_api_name,
3619 G_PKG_NAME,
3620 'OTHERS',
3621 x_msg_count,
3622 x_msg_data,
3623 '_PVT'
3624 );
3625 END insert_row;
3626 ----------------------------------------
3627 -- PL/SQL TBL insert_row for:TAPV_TBL --
3628 ----------------------------------------
3629 PROCEDURE insert_row(
3630 p_api_version IN NUMBER,
3631 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3632 x_return_status OUT NOCOPY VARCHAR2,
3633 x_msg_count OUT NOCOPY NUMBER,
3634 x_msg_data OUT NOCOPY VARCHAR2,
3635 p_tapv_tbl IN tapv_tbl_type,
3636 x_tapv_tbl OUT NOCOPY tapv_tbl_type) IS
3637 l_api_version CONSTANT NUMBER := 1;
3638 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
3639 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3640 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
3641 i NUMBER := 0;
3642 BEGIN
3643 OKL_API.init_msg_list(p_init_msg_list);
3644 -- Make sure PL/SQL table has records in it before passing
3645 IF (p_tapv_tbl.COUNT > 0) THEN
3646 i := p_tapv_tbl.FIRST;
3647 LOOP
3648 insert_row (
3649 p_api_version => p_api_version,
3650 p_init_msg_list => OKL_API.G_FALSE,
3651 x_return_status => x_return_status,
3652 x_msg_count => x_msg_count,
3653 x_msg_data => x_msg_data,
3654 p_tapv_rec => p_tapv_tbl(i),
3655 x_tapv_rec => x_tapv_tbl(i));
3656 -- Store the highest degree of error -- PostGen-9
3657 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
3658 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
3659 l_overall_status := x_return_status; -- PostGen-9
3660 END IF; -- PostGen-9
3661 END IF; -- PostGen-9
3662 EXIT WHEN (i = p_tapv_tbl.LAST);
3663 i := p_tapv_tbl.NEXT(i);
3664 END LOOP;
3665 x_return_status := l_overall_status; -- PostGen-9 = return overall status
3666 END IF;
3667 EXCEPTION
3668 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3669 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3670 (
3671 l_api_name,
3672 G_PKG_NAME,
3673 'OKL_API.G_RET_STS_ERROR',
3674 x_msg_count,
3675 x_msg_data,
3676 '_PVT'
3677 );
3678 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3679 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3680 (
3681 l_api_name,
3682 G_PKG_NAME,
3683 'OKL_API.G_RET_STS_UNEXP_ERROR',
3684 x_msg_count,
3685 x_msg_data,
3686 '_PVT'
3687 );
3688 WHEN OTHERS THEN
3689 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3690 (
3691 l_api_name,
3692 G_PKG_NAME,
3693 'OTHERS',
3694 x_msg_count,
3695 x_msg_data,
3696 '_PVT'
3697 );
3698 END insert_row;
3699 ---------------------------------------------------------------------------
3700 -- PROCEDURE lock_row
3701 ---------------------------------------------------------------------------
3702 ----------------------------------------
3703 -- lock_row for:OKL_TRX_AP_INVOICES_B --
3704 ----------------------------------------
3705 PROCEDURE lock_row(
3706 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3707 x_return_status OUT NOCOPY VARCHAR2,
3708 x_msg_count OUT NOCOPY NUMBER,
3709 x_msg_data OUT NOCOPY VARCHAR2,
3710 p_tap_rec IN tap_rec_type) IS
3711 E_Resource_Busy EXCEPTION;
3712 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3713 CURSOR lock_csr (p_tap_rec IN tap_rec_type) IS
3714 SELECT OBJECT_VERSION_NUMBER
3715 FROM OKL_TRX_AP_INVOICES_B
3716 WHERE ID = p_tap_rec.id
3717 AND OBJECT_VERSION_NUMBER = p_tap_rec.object_version_number
3718 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
3719 CURSOR lchk_csr (p_tap_rec IN tap_rec_type) IS
3720 SELECT OBJECT_VERSION_NUMBER
3721 FROM OKL_TRX_AP_INVOICES_B
3722 WHERE ID = p_tap_rec.id;
3723 l_api_version CONSTANT NUMBER := 1;
3724 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
3725 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3726 l_object_version_number OKL_TRX_AP_INVOICES_B.OBJECT_VERSION_NUMBER%TYPE;
3727 lc_object_version_number OKL_TRX_AP_INVOICES_B.OBJECT_VERSION_NUMBER%TYPE;
3728 l_row_notfound BOOLEAN := FALSE;
3729 lc_row_notfound BOOLEAN := FALSE;
3730 BEGIN
3731 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3732 p_init_msg_list,
3733 '_PVT',
3734 x_return_status);
3735 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3736 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3737 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3738 RAISE OKL_API.G_EXCEPTION_ERROR;
3739 END IF;
3740 BEGIN
3741 OPEN lock_csr(p_tap_rec);
3742 FETCH lock_csr INTO l_object_version_number;
3743 l_row_notfound := lock_csr%NOTFOUND;
3744 CLOSE lock_csr;
3745 EXCEPTION
3746 WHEN E_Resource_Busy THEN
3747 IF (lock_csr%ISOPEN) THEN
3748 CLOSE lock_csr;
3749 END IF;
3750 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3751 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3752 END;
3753 IF ( l_row_notfound ) THEN
3754 OPEN lchk_csr(p_tap_rec);
3755 FETCH lchk_csr INTO lc_object_version_number;
3756 lc_row_notfound := lchk_csr%NOTFOUND;
3757 CLOSE lchk_csr;
3758 END IF;
3759 IF (lc_row_notfound) THEN
3760 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3761 RAISE OKL_API.G_EXCEPTION_ERROR;
3762 ELSIF lc_object_version_number > p_tap_rec.object_version_number THEN
3763 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3764 RAISE OKL_API.G_EXCEPTION_ERROR;
3765 ELSIF lc_object_version_number <> p_tap_rec.object_version_number THEN
3766 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3767 RAISE OKL_API.G_EXCEPTION_ERROR;
3768 ELSIF lc_object_version_number = -1 THEN
3769 OKL_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
3770 RAISE OKL_API.G_EXCEPTION_ERROR;
3771 END IF;
3772 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3773 EXCEPTION
3774 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3775 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3776 (
3777 l_api_name,
3778 G_PKG_NAME,
3779 'OKL_API.G_RET_STS_ERROR',
3780 x_msg_count,
3781 x_msg_data,
3782 '_PVT'
3783 );
3784 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3785 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3786 (
3787 l_api_name,
3788 G_PKG_NAME,
3789 'OKL_API.G_RET_STS_UNEXP_ERROR',
3790 x_msg_count,
3791 x_msg_data,
3792 '_PVT'
3793 );
3794 WHEN OTHERS THEN
3795 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3796 (
3797 l_api_name,
3798 G_PKG_NAME,
3799 'OTHERS',
3800 x_msg_count,
3801 x_msg_data,
3802 '_PVT'
3803 );
3804 END lock_row;
3805 -----------------------------------------
3806 -- lock_row for:OKL_TRX_AP_INVOICES_TL --
3807 -----------------------------------------
3808 PROCEDURE lock_row(
3809 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3810 x_return_status OUT NOCOPY VARCHAR2,
3811 x_msg_count OUT NOCOPY NUMBER,
3812 x_msg_data OUT NOCOPY VARCHAR2,
3813 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType) IS
3814 E_Resource_Busy EXCEPTION;
3815 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3816 CURSOR lock_csr (p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType) IS
3817 SELECT *
3818 FROM OKL_TRX_AP_INVOICES_TL
3819 WHERE ID = p_okl_trx_ap_invoices_tl_rec.id
3820 FOR UPDATE NOWAIT;
3821 l_api_version CONSTANT NUMBER := 1;
3822 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
3823 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3824 l_lock_var lock_csr%ROWTYPE;
3825 l_row_notfound BOOLEAN := FALSE;
3826 lc_row_notfound BOOLEAN := FALSE;
3827 BEGIN
3828 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3829 p_init_msg_list,
3830 '_PVT',
3831 x_return_status);
3832 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3833 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3834 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3835 RAISE OKL_API.G_EXCEPTION_ERROR;
3836 END IF;
3837 BEGIN
3838 OPEN lock_csr(p_okl_trx_ap_invoices_tl_rec);
3839 FETCH lock_csr INTO l_lock_var;
3840 l_row_notfound := lock_csr%NOTFOUND;
3841 CLOSE lock_csr;
3842 EXCEPTION
3843 WHEN E_Resource_Busy THEN
3844 IF (lock_csr%ISOPEN) THEN
3845 CLOSE lock_csr;
3846 END IF;
3847 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3848 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3849 END;
3850 IF ( l_row_notfound ) THEN
3851 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3852 RAISE OKL_API.G_EXCEPTION_ERROR;
3853 END IF;
3854 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3855 EXCEPTION
3856 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3857 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3858 (
3859 l_api_name,
3860 G_PKG_NAME,
3861 'OKL_API.G_RET_STS_ERROR',
3862 x_msg_count,
3863 x_msg_data,
3864 '_PVT'
3865 );
3866 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3867 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3868 (
3869 l_api_name,
3870 G_PKG_NAME,
3871 'OKL_API.G_RET_STS_UNEXP_ERROR',
3872 x_msg_count,
3873 x_msg_data,
3874 '_PVT'
3875 );
3876 WHEN OTHERS THEN
3877 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3878 (
3879 l_api_name,
3880 G_PKG_NAME,
3881 'OTHERS',
3882 x_msg_count,
3883 x_msg_data,
3884 '_PVT'
3885 );
3886 END lock_row;
3887 ----------------------------------------
3888 -- lock_row for:OKL_TRX_AP_INVOICES_V --
3889 ----------------------------------------
3890 PROCEDURE lock_row(
3891 p_api_version IN NUMBER,
3892 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3893 x_return_status OUT NOCOPY VARCHAR2,
3894 x_msg_count OUT NOCOPY NUMBER,
3895 x_msg_data OUT NOCOPY VARCHAR2,
3896 p_tapv_rec IN tapv_rec_type) IS
3897 l_api_version CONSTANT NUMBER := 1;
3898 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
3899 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3900 l_tap_rec tap_rec_type;
3901 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
3902 BEGIN
3903 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3904 G_PKG_NAME,
3905 p_init_msg_list,
3906 l_api_version,
3907 p_api_version,
3908 '_PVT',
3909 x_return_status);
3910 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3911 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3912 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3913 RAISE OKL_API.G_EXCEPTION_ERROR;
3914 END IF;
3915 --------------------------------------
3916 -- Move VIEW record to "Child" records
3917 --------------------------------------
3918 migrate(p_tapv_rec, l_tap_rec);
3919 migrate(p_tapv_rec, l_okl_trx_ap_invoices_tl_rec);
3920 --------------------------------------------
3921 -- Call the LOCK_ROW for each child record
3922 --------------------------------------------
3923 lock_row(
3924 p_init_msg_list,
3925 x_return_status,
3926 x_msg_count,
3927 x_msg_data,
3928 l_tap_rec
3929 );
3930 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3931 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3932 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3933 RAISE OKL_API.G_EXCEPTION_ERROR;
3934 END IF;
3935 lock_row(
3936 p_init_msg_list,
3937 x_return_status,
3938 x_msg_count,
3939 x_msg_data,
3940 l_okl_trx_ap_invoices_tl_rec
3941 );
3942 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3943 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3944 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3945 RAISE OKL_API.G_EXCEPTION_ERROR;
3946 END IF;
3947 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3948 EXCEPTION
3949 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3950 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3951 (
3952 l_api_name,
3953 G_PKG_NAME,
3954 'OKL_API.G_RET_STS_ERROR',
3955 x_msg_count,
3956 x_msg_data,
3957 '_PVT'
3958 );
3959 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3960 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3961 (
3962 l_api_name,
3963 G_PKG_NAME,
3964 'OKL_API.G_RET_STS_UNEXP_ERROR',
3965 x_msg_count,
3966 x_msg_data,
3967 '_PVT'
3968 );
3969 WHEN OTHERS THEN
3970 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3971 (
3972 l_api_name,
3973 G_PKG_NAME,
3974 'OTHERS',
3975 x_msg_count,
3976 x_msg_data,
3977 '_PVT'
3978 );
3979 END lock_row;
3980 --------------------------------------
3981 -- PL/SQL TBL lock_row for:TAPV_TBL --
3982 --------------------------------------
3983 PROCEDURE lock_row(
3984 p_api_version IN NUMBER,
3985 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3986 x_return_status OUT NOCOPY VARCHAR2,
3987 x_msg_count OUT NOCOPY NUMBER,
3988 x_msg_data OUT NOCOPY VARCHAR2,
3989 p_tapv_tbl IN tapv_tbl_type) IS
3990 l_api_version CONSTANT NUMBER := 1;
3991 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
3992 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3993 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
3994 i NUMBER := 0;
3995 BEGIN
3996 OKL_API.init_msg_list(p_init_msg_list);
3997 -- Make sure PL/SQL table has records in it before passing
3998 IF (p_tapv_tbl.COUNT > 0) THEN
3999 i := p_tapv_tbl.FIRST;
4000 LOOP
4001 lock_row (
4002 p_api_version => p_api_version,
4003 p_init_msg_list => OKL_API.G_FALSE,
4004 x_return_status => x_return_status,
4005 x_msg_count => x_msg_count,
4006 x_msg_data => x_msg_data,
4007 p_tapv_rec => p_tapv_tbl(i));
4008 -- Store the highest degree of error -- PostGen-9
4009 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
4010 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
4011 l_overall_status := x_return_status; -- PostGen-9
4012 END IF; -- PostGen-9
4013 END IF; -- PostGen-9
4014 EXIT WHEN (i = p_tapv_tbl.LAST);
4015 i := p_tapv_tbl.NEXT(i);
4016 END LOOP;
4017 x_return_status := l_overall_status; -- PostGen-9 = return overall status
4018 END IF;
4019 EXCEPTION
4020 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4021 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4022 (
4023 l_api_name,
4024 G_PKG_NAME,
4025 'OKL_API.G_RET_STS_ERROR',
4026 x_msg_count,
4027 x_msg_data,
4028 '_PVT'
4029 );
4030 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4031 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4032 (
4033 l_api_name,
4034 G_PKG_NAME,
4035 'OKL_API.G_RET_STS_UNEXP_ERROR',
4036 x_msg_count,
4037 x_msg_data,
4038 '_PVT'
4039 );
4040 WHEN OTHERS THEN
4041 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4042 (
4043 l_api_name,
4044 G_PKG_NAME,
4045 'OTHERS',
4046 x_msg_count,
4047 x_msg_data,
4048 '_PVT'
4049 );
4050 END lock_row;
4051 ---------------------------------------------------------------------------
4052 -- PROCEDURE update_row
4053 ---------------------------------------------------------------------------
4054 ------------------------------------------
4055 -- update_row for:OKL_TRX_AP_INVOICES_B --
4056 ------------------------------------------
4057 PROCEDURE update_row(
4058 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4059 x_return_status OUT NOCOPY VARCHAR2,
4060 x_msg_count OUT NOCOPY NUMBER,
4061 x_msg_data OUT NOCOPY VARCHAR2,
4062 p_tap_rec IN tap_rec_type,
4063 x_tap_rec OUT NOCOPY tap_rec_type) IS
4064 l_api_version CONSTANT NUMBER := 1;
4065 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
4066 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4067 l_tap_rec tap_rec_type := p_tap_rec;
4068 l_def_tap_rec tap_rec_type;
4069 l_row_notfound BOOLEAN := TRUE;
4070 ----------------------------------
4071 -- FUNCTION populate_new_record --
4072 ----------------------------------
4073 FUNCTION populate_new_record (
4074 p_tap_rec IN tap_rec_type,
4075 x_tap_rec OUT NOCOPY tap_rec_type
4076 ) RETURN VARCHAR2 IS
4077 l_tap_rec tap_rec_type;
4078 l_row_notfound BOOLEAN := TRUE;
4079 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4080 BEGIN
4081 x_tap_rec := p_tap_rec;
4082 -- Get current database values
4083 l_tap_rec := get_rec(p_tap_rec, l_row_notfound);
4084 IF (l_row_notfound) THEN
4085 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4086 END IF;
4087 IF (x_tap_rec.id = OKL_API.G_MISS_NUM)
4088 THEN
4089 x_tap_rec.id := l_tap_rec.id;
4090 END IF;
4091 IF (x_tap_rec.currency_code = OKL_API.G_MISS_CHAR)
4092 THEN
4093 x_tap_rec.currency_code := l_tap_rec.currency_code;
4094 END IF;
4095 IF (x_tap_rec.payment_method_code = OKL_API.G_MISS_CHAR)
4096 THEN
4097 x_tap_rec.payment_method_code := l_tap_rec.payment_method_code;
4098 END IF;
4099 IF (x_tap_rec.funding_type_code = OKL_API.G_MISS_CHAR)
4100 THEN
4101 x_tap_rec.funding_type_code := l_tap_rec.funding_type_code;
4102 END IF;
4103 IF (x_tap_rec.invoice_category_code = OKL_API.G_MISS_CHAR)
4104 THEN
4105 x_tap_rec.invoice_category_code := l_tap_rec.invoice_category_code;
4106 END IF;
4107 IF (x_tap_rec.ipvs_id = OKL_API.G_MISS_NUM)
4108 THEN
4109 x_tap_rec.ipvs_id := l_tap_rec.ipvs_id;
4110 END IF;
4111 IF (x_tap_rec.khr_id = OKL_API.G_MISS_NUM)
4112 THEN
4113 x_tap_rec.khr_id := l_tap_rec.khr_id;
4114 END IF;
4115 IF (x_tap_rec.ccf_id = OKL_API.G_MISS_NUM)
4116 THEN
4117 x_tap_rec.ccf_id := l_tap_rec.ccf_id;
4118 END IF;
4119 IF (x_tap_rec.cct_id = OKL_API.G_MISS_NUM)
4120 THEN
4121 x_tap_rec.cct_id := l_tap_rec.cct_id;
4122 END IF;
4123 IF (x_tap_rec.cplv_id = OKL_API.G_MISS_NUM)
4124 THEN
4125 x_tap_rec.cplv_id := l_tap_rec.cplv_id;
4126 END IF;
4127
4128 --Start code added by pgomes on 19-NOV-2002
4129 IF (x_tap_rec.pox_id = OKL_API.G_MISS_NUM)
4130 THEN
4131 x_tap_rec.pox_id := l_tap_rec.pox_id;
4132 END IF;
4133 --End code added by pgomes on 19-NOV-2002
4134
4135 IF (x_tap_rec.ippt_id = OKL_API.G_MISS_NUM)
4136 THEN
4137 x_tap_rec.ippt_id := l_tap_rec.ippt_id;
4138 END IF;
4139 IF (x_tap_rec.code_combination_id = OKL_API.G_MISS_NUM)
4140 THEN
4141 x_tap_rec.code_combination_id := l_tap_rec.code_combination_id;
4142 END IF;
4143 IF (x_tap_rec.qte_id = OKL_API.G_MISS_NUM)
4144 THEN
4145 x_tap_rec.qte_id := l_tap_rec.qte_id;
4146 END IF;
4147 IF (x_tap_rec.art_id = OKL_API.G_MISS_NUM)
4148 THEN
4149 x_tap_rec.art_id := l_tap_rec.art_id;
4150 END IF;
4151 IF (x_tap_rec.tcn_id = OKL_API.G_MISS_NUM)
4152 THEN
4153 x_tap_rec.tcn_id := l_tap_rec.tcn_id;
4154 END IF;
4155 IF (x_tap_rec.vpa_id = OKL_API.G_MISS_NUM)
4156 THEN
4157 x_tap_rec.vpa_id := l_tap_rec.vpa_id;
4158 END IF;
4159 IF (x_tap_rec.ipt_id = OKL_API.G_MISS_NUM)
4160 THEN
4161 x_tap_rec.ipt_id := l_tap_rec.ipt_id;
4162 END IF;
4163 IF (x_tap_rec.tap_id_reverses = OKL_API.G_MISS_NUM)
4164 THEN
4165 x_tap_rec.tap_id_reverses := l_tap_rec.tap_id_reverses;
4166 END IF;
4167 IF (x_tap_rec.date_entered = OKL_API.G_MISS_DATE)
4168 THEN
4169 x_tap_rec.date_entered := l_tap_rec.date_entered;
4170 END IF;
4171 IF (x_tap_rec.date_invoiced = OKL_API.G_MISS_DATE)
4172 THEN
4173 x_tap_rec.date_invoiced := l_tap_rec.date_invoiced;
4174 END IF;
4175 IF (x_tap_rec.amount = OKL_API.G_MISS_NUM)
4176 THEN
4177 x_tap_rec.amount := l_tap_rec.amount;
4178 END IF;
4179 -- Start Post Postgen 14,15
4180 IF (x_tap_rec.trx_status_code = OKL_API.G_MISS_CHAR)
4181 THEN
4182 x_tap_rec.trx_status_code := l_tap_rec.trx_status_code;
4183 END IF;
4184 IF (x_tap_rec.set_of_books_id = OKL_API.G_MISS_NUM)
4185 THEN
4186 x_tap_rec.set_of_books_id := l_tap_rec.set_of_books_id;
4187 END IF;
4188 IF (x_tap_rec.try_id = OKL_API.G_MISS_NUM)
4189 THEN
4190 x_tap_rec.try_id := l_tap_rec.try_id;
4191 END IF;
4192 -- End Post Postgen 14,15
4193 IF (x_tap_rec.object_version_number = OKL_API.G_MISS_NUM)
4194 THEN
4195 x_tap_rec.object_version_number := l_tap_rec.object_version_number;
4196 END IF;
4197 IF (x_tap_rec.date_requisition = OKL_API.G_MISS_DATE)
4198 THEN
4199 x_tap_rec.date_requisition := l_tap_rec.date_requisition;
4200 END IF;
4201 IF (x_tap_rec.date_funding_approved = OKL_API.G_MISS_DATE)
4202 THEN
4203 x_tap_rec.date_funding_approved := l_tap_rec.date_funding_approved;
4204 END IF;
4205 IF (x_tap_rec.invoice_number = OKL_API.G_MISS_CHAR)
4206 THEN
4207 x_tap_rec.invoice_number := l_tap_rec.invoice_number;
4208 END IF;
4209 IF (x_tap_rec.date_gl = OKL_API.G_MISS_DATE)
4210 THEN
4211 x_tap_rec.date_gl := l_tap_rec.date_gl;
4212 END IF;
4213 IF (x_tap_rec.workflow_yn = OKL_API.G_MISS_CHAR)
4214 THEN
4215 x_tap_rec.workflow_yn := l_tap_rec.workflow_yn;
4216 END IF;
4217 IF (x_tap_rec.match_required_yn = OKL_API.G_MISS_CHAR)
4218 THEN
4219 x_tap_rec.match_required_yn := l_tap_rec.match_required_yn;
4220 END IF;
4221 IF (x_tap_rec.ipt_frequency = OKL_API.G_MISS_CHAR)
4222 THEN
4223 x_tap_rec.ipt_frequency := l_tap_rec.ipt_frequency;
4224 END IF;
4225 IF (x_tap_rec.consolidate_yn = OKL_API.G_MISS_CHAR)
4226 THEN
4227 x_tap_rec.consolidate_yn := l_tap_rec.consolidate_yn;
4228 END IF;
4229 IF (x_tap_rec.wait_vendor_invoice_yn = OKL_API.G_MISS_CHAR)
4230 THEN
4231 x_tap_rec.wait_vendor_invoice_yn := l_tap_rec.wait_vendor_invoice_yn;
4232 END IF;
4233 IF (x_tap_rec.request_id = OKL_API.G_MISS_NUM)
4234 THEN
4235 x_tap_rec.request_id := l_tap_rec.request_id;
4236 END IF;
4237 IF (x_tap_rec.program_application_id = OKL_API.G_MISS_NUM)
4238 THEN
4239 x_tap_rec.program_application_id := l_tap_rec.program_application_id;
4240 END IF;
4241 IF (x_tap_rec.program_id = OKL_API.G_MISS_NUM)
4242 THEN
4243 x_tap_rec.program_id := l_tap_rec.program_id;
4244 END IF;
4245 IF (x_tap_rec.program_update_date = OKL_API.G_MISS_DATE)
4246 THEN
4247 x_tap_rec.program_update_date := l_tap_rec.program_update_date;
4248 END IF;
4249 IF (x_tap_rec.org_id = OKL_API.G_MISS_NUM)
4250 THEN
4251 x_tap_rec.org_id := l_tap_rec.org_id;
4252 END IF;
4253 IF (x_tap_rec.CURRENCY_CONVERSION_TYPE = OKL_API.G_MISS_CHAR) THEN
4254 x_tap_rec.CURRENCY_CONVERSION_TYPE := l_tap_rec.CURRENCY_CONVERSION_TYPE;
4255 END IF;
4256 IF (x_tap_rec.CURRENCY_CONVERSION_RATE = OKL_API.G_MISS_NUM) THEN
4257 x_tap_rec.CURRENCY_CONVERSION_RATE := l_tap_rec.CURRENCY_CONVERSION_RATE;
4258 END IF;
4259 IF (x_tap_rec.CURRENCY_CONVERSION_DATE = OKL_API.G_MISS_DATE) THEN
4260 x_tap_rec.CURRENCY_CONVERSION_DATE := l_tap_rec.CURRENCY_CONVERSION_DATE;
4261 END IF;
4262
4263 IF (x_tap_rec.VENDOR_ID = OKL_API.G_MISS_NUM) THEN
4264 x_tap_rec.VENDOR_ID := l_tap_rec.VENDOR_ID;
4265 END IF;
4266
4267 IF (x_tap_rec.attribute_category = OKL_API.G_MISS_CHAR)
4268 THEN
4269 x_tap_rec.attribute_category := l_tap_rec.attribute_category;
4270 END IF;
4271 IF (x_tap_rec.attribute1 = OKL_API.G_MISS_CHAR)
4272 THEN
4273 x_tap_rec.attribute1 := l_tap_rec.attribute1;
4274 END IF;
4275 IF (x_tap_rec.attribute2 = OKL_API.G_MISS_CHAR)
4276 THEN
4277 x_tap_rec.attribute2 := l_tap_rec.attribute2;
4278 END IF;
4279 IF (x_tap_rec.attribute3 = OKL_API.G_MISS_CHAR)
4280 THEN
4281 x_tap_rec.attribute3 := l_tap_rec.attribute3;
4282 END IF;
4283 IF (x_tap_rec.attribute4 = OKL_API.G_MISS_CHAR)
4284 THEN
4285 x_tap_rec.attribute4 := l_tap_rec.attribute4;
4286 END IF;
4287 IF (x_tap_rec.attribute5 = OKL_API.G_MISS_CHAR)
4288 THEN
4289 x_tap_rec.attribute5 := l_tap_rec.attribute5;
4290 END IF;
4291 IF (x_tap_rec.attribute6 = OKL_API.G_MISS_CHAR)
4292 THEN
4293 x_tap_rec.attribute6 := l_tap_rec.attribute6;
4294 END IF;
4295 IF (x_tap_rec.attribute7 = OKL_API.G_MISS_CHAR)
4296 THEN
4297 x_tap_rec.attribute7 := l_tap_rec.attribute7;
4298 END IF;
4299 IF (x_tap_rec.attribute8 = OKL_API.G_MISS_CHAR)
4300 THEN
4301 x_tap_rec.attribute8 := l_tap_rec.attribute8;
4302 END IF;
4303 IF (x_tap_rec.attribute9 = OKL_API.G_MISS_CHAR)
4304 THEN
4305 x_tap_rec.attribute9 := l_tap_rec.attribute9;
4306 END IF;
4307 IF (x_tap_rec.attribute10 = OKL_API.G_MISS_CHAR)
4308 THEN
4309 x_tap_rec.attribute10 := l_tap_rec.attribute10;
4310 END IF;
4311 IF (x_tap_rec.attribute11 = OKL_API.G_MISS_CHAR)
4312 THEN
4313 x_tap_rec.attribute11 := l_tap_rec.attribute11;
4314 END IF;
4315 IF (x_tap_rec.attribute12 = OKL_API.G_MISS_CHAR)
4316 THEN
4317 x_tap_rec.attribute12 := l_tap_rec.attribute12;
4318 END IF;
4319 IF (x_tap_rec.attribute13 = OKL_API.G_MISS_CHAR)
4320 THEN
4321 x_tap_rec.attribute13 := l_tap_rec.attribute13;
4322 END IF;
4323 IF (x_tap_rec.attribute14 = OKL_API.G_MISS_CHAR)
4324 THEN
4325 x_tap_rec.attribute14 := l_tap_rec.attribute14;
4326 END IF;
4327 IF (x_tap_rec.attribute15 = OKL_API.G_MISS_CHAR)
4328 THEN
4329 x_tap_rec.attribute15 := l_tap_rec.attribute15;
4330 END IF;
4331 IF (x_tap_rec.created_by = OKL_API.G_MISS_NUM)
4332 THEN
4333 x_tap_rec.created_by := l_tap_rec.created_by;
4334 END IF;
4335 IF (x_tap_rec.creation_date = OKL_API.G_MISS_DATE)
4336 THEN
4337 x_tap_rec.creation_date := l_tap_rec.creation_date;
4338 END IF;
4339 IF (x_tap_rec.last_updated_by = OKL_API.G_MISS_NUM)
4340 THEN
4341 x_tap_rec.last_updated_by := l_tap_rec.last_updated_by;
4342 END IF;
4343 IF (x_tap_rec.last_update_date = OKL_API.G_MISS_DATE)
4344 THEN
4345 x_tap_rec.last_update_date := l_tap_rec.last_update_date;
4346 END IF;
4347 IF (x_tap_rec.last_update_login = OKL_API.G_MISS_NUM)
4348 THEN
4349 x_tap_rec.last_update_login := l_tap_rec.last_update_login;
4350 END IF;
4351 IF (x_tap_rec.invoice_type = OKL_API.G_MISS_CHAR)
4352 THEN
4353 x_tap_rec.invoice_type := l_tap_rec.invoice_type;
4354 END IF;
4355 IF (x_tap_rec.pay_group_lookup_code = OKL_API.G_MISS_CHAR)
4356 THEN
4357 x_tap_rec.pay_group_lookup_code := l_tap_rec.pay_group_lookup_code;
4358 END IF;
4359 IF (x_tap_rec.vendor_invoice_number = OKL_API.G_MISS_CHAR)
4360 THEN
4361 x_tap_rec.vendor_invoice_number := l_tap_rec.vendor_invoice_number;
4362 END IF;
4363 IF (x_tap_rec.nettable_yn = OKL_API.G_MISS_CHAR)
4364 THEN
4365 x_tap_rec.nettable_yn := l_tap_rec.nettable_yn;
4366 END IF;
4367 IF (x_tap_rec.asset_tap_id = OKL_API.G_MISS_NUM)
4368 THEN
4369 x_tap_rec.asset_tap_id := l_tap_rec.asset_tap_id;
4370 END IF;
4371 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
4372 IF (x_tap_rec.legal_entity_id = OKL_API.G_MISS_NUM)
4373 THEN
4374 x_tap_rec.legal_entity_id := l_tap_rec.legal_entity_id;
4375 END IF;
4376 IF (x_tap_rec.transaction_date = OKL_API.G_MISS_DATE)
4377 THEN
4378 x_tap_rec.transaction_date := SYSDATE;
4379 END IF;
4380 RETURN(l_return_status);
4381 END populate_new_record;
4382 ----------------------------------------------
4383 -- Set_Attributes for:OKL_TRX_AP_INVOICES_B --
4384 ----------------------------------------------
4385 FUNCTION Set_Attributes (
4386 p_tap_rec IN tap_rec_type,
4387 x_tap_rec OUT NOCOPY tap_rec_type
4388 ) RETURN VARCHAR2 IS
4389 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4390 BEGIN
4391 x_tap_rec := p_tap_rec;
4392 RETURN(l_return_status);
4393 END Set_Attributes;
4394 BEGIN
4395 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4396 p_init_msg_list,
4397 '_PVT',
4398 x_return_status);
4399 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4400 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4401 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4402 RAISE OKL_API.G_EXCEPTION_ERROR;
4403 END IF;
4404 --- Setting item attributes
4405 l_return_status := Set_Attributes(
4406 p_tap_rec, -- IN
4407 l_tap_rec); -- OUT
4408 --- If any errors happen abort API
4409 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4410 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4411 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4412 RAISE OKL_API.G_EXCEPTION_ERROR;
4413 END IF;
4414 l_return_status := populate_new_record(l_tap_rec, l_def_tap_rec);
4415 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4416 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4417 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4418 RAISE OKL_API.G_EXCEPTION_ERROR;
4419 END IF;
4420 UPDATE OKL_TRX_AP_INVOICES_B
4421 SET CURRENCY_CODE = l_def_tap_rec.currency_code,
4422 PAYMENT_METHOD_CODE = l_def_tap_rec.payment_method_code,
4423 FUNDING_TYPE_CODE = l_def_tap_rec.funding_type_code,
4424 INVOICE_CATEGORY_CODE = l_def_tap_rec.invoice_category_code,
4425 IPVS_ID = l_def_tap_rec.ipvs_id,
4426 KHR_ID = l_def_tap_rec.khr_id,
4427 CCF_ID = l_def_tap_rec.ccf_id,
4428 CCT_ID = l_def_tap_rec.cct_id,
4429 CPLV_ID = l_def_tap_rec.cplv_id,
4430 POX_ID = l_def_tap_rec.pox_id,
4431 IPPT_ID = l_def_tap_rec.ippt_id,
4432 code_combination_id = l_def_tap_rec.code_combination_id,
4433 QTE_ID = l_def_tap_rec.qte_id,
4434 ART_ID = l_def_tap_rec.art_id,
4435 TCN_ID = l_def_tap_rec.tcn_id,
4436 TAP_ID_REVERSES = l_def_tap_rec.tap_id_reverses,
4437 DATE_ENTERED = l_def_tap_rec.date_entered,
4438 DATE_INVOICED = l_def_tap_rec.date_invoiced,
4439 AMOUNT = l_def_tap_rec.amount,
4440 TRX_STATUS_CODE = l_def_tap_rec.trx_status_code, -- Post Postgen 14,15
4441 SET_OF_BOOKS_ID = l_def_tap_rec.set_of_books_id, -- Post Postgen 14,15
4442 TRY_ID = l_def_tap_rec.try_id, -- Post Postgen 14,15
4443 OBJECT_VERSION_NUMBER = l_def_tap_rec.object_version_number,
4444 DATE_REQUISITION = l_def_tap_rec.date_requisition,
4445 DATE_FUNDING_APPROVED = l_def_tap_rec.date_funding_approved,
4446 INVOICE_NUMBER = l_def_tap_rec.invoice_number,
4447 DATE_GL = l_def_tap_rec.date_gl,
4448 WORKFLOW_YN = l_def_tap_rec.workflow_yn,
4449 MATCH_REQUIRED_YN = l_def_tap_rec.match_required_yn,
4450 IPT_FREQUENCY = l_def_tap_rec.ipt_frequency,
4451 CONSOLIDATE_YN = l_def_tap_rec.consolidate_yn,
4452 WAIT_VENDOR_INVOICE_YN = l_def_tap_rec.wait_vendor_invoice_yn,
4453 REQUEST_ID = l_def_tap_rec.request_id,
4454 PROGRAM_APPLICATION_ID = l_def_tap_rec.program_application_id,
4455 PROGRAM_ID = l_def_tap_rec.program_id,
4456 PROGRAM_UPDATE_DATE = l_def_tap_rec.program_update_date,
4457 ORG_ID = l_def_tap_rec.org_id,
4458 CURRENCY_CONVERSION_TYPE = l_def_tap_rec.CURRENCY_CONVERSION_TYPE,
4459 CURRENCY_CONVERSION_RATE = l_def_tap_rec.CURRENCY_CONVERSION_RATE,
4460 CURRENCY_CONVERSION_DATE = l_def_tap_rec.CURRENCY_CONVERSION_DATE,
4461 VENDOR_ID = l_def_tap_rec.vendor_id,
4462 ATTRIBUTE_CATEGORY = l_def_tap_rec.attribute_category,
4463 ATTRIBUTE1 = l_def_tap_rec.attribute1,
4464 ATTRIBUTE2 = l_def_tap_rec.attribute2,
4465 ATTRIBUTE3 = l_def_tap_rec.attribute3,
4466 ATTRIBUTE4 = l_def_tap_rec.attribute4,
4467 ATTRIBUTE5 = l_def_tap_rec.attribute5,
4468 ATTRIBUTE6 = l_def_tap_rec.attribute6,
4469 ATTRIBUTE7 = l_def_tap_rec.attribute7,
4470 ATTRIBUTE8 = l_def_tap_rec.attribute8,
4471 ATTRIBUTE9 = l_def_tap_rec.attribute9,
4472 ATTRIBUTE10 = l_def_tap_rec.attribute10,
4473 ATTRIBUTE11 = l_def_tap_rec.attribute11,
4474 ATTRIBUTE12 = l_def_tap_rec.attribute12,
4475 ATTRIBUTE13 = l_def_tap_rec.attribute13,
4476 ATTRIBUTE14 = l_def_tap_rec.attribute14,
4477 ATTRIBUTE15 = l_def_tap_rec.attribute15,
4478 CREATED_BY = l_def_tap_rec.created_by,
4479 CREATION_DATE = l_def_tap_rec.creation_date,
4480 LAST_UPDATED_BY = l_def_tap_rec.last_updated_by,
4481 LAST_UPDATE_DATE = l_def_tap_rec.last_update_date,
4482 LAST_UPDATE_LOGIN = l_def_tap_rec.last_update_login,
4483 INVOICE_TYPE = l_def_tap_rec.invoice_type,
4484 PAY_GROUP_LOOKUP_CODE = l_def_tap_rec.pay_group_lookup_code,
4485 VENDOR_INVOICE_NUMBER = l_def_tap_rec.vendor_invoice_number,
4486 NETTABLE_YN = l_def_tap_rec.nettable_yn,
4487 ASSET_TAP_ID = l_def_tap_rec.asset_tap_id, -- Post Postgen 14,15
4488 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
4489 legal_entity_id = l_def_tap_rec.legal_entity_id
4490 ,transaction_date = l_def_tap_rec.transaction_date
4491 WHERE ID = l_def_tap_rec.id;
4492 x_tap_rec := l_def_tap_rec;
4493 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4494 EXCEPTION
4495 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4496 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4497 (
4498 l_api_name,
4499 G_PKG_NAME,
4500 'OKL_API.G_RET_STS_ERROR',
4501 x_msg_count,
4502 x_msg_data,
4503 '_PVT'
4504 );
4505 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4506 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4507 (
4508 l_api_name,
4509 G_PKG_NAME,
4510 'OKL_API.G_RET_STS_UNEXP_ERROR',
4511 x_msg_count,
4512 x_msg_data,
4513 '_PVT'
4514 );
4515 WHEN OTHERS THEN
4516 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4517 (
4518 l_api_name,
4519 G_PKG_NAME,
4520 'OTHERS',
4521 x_msg_count,
4522 x_msg_data,
4523 '_PVT'
4524 );
4525 END update_row;
4526 -------------------------------------------
4527 -- update_row for:OKL_TRX_AP_INVOICES_TL --
4528 -------------------------------------------
4529 PROCEDURE update_row(
4530 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4531 x_return_status OUT NOCOPY VARCHAR2,
4532 x_msg_count OUT NOCOPY NUMBER,
4533 x_msg_data OUT NOCOPY VARCHAR2,
4534 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType,
4535 x_okl_trx_ap_invoices_tl_rec OUT NOCOPY OklTrxApInvoicesTlRecType) IS
4536 l_api_version CONSTANT NUMBER := 1;
4537 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
4538 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4539 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType := p_okl_trx_ap_invoices_tl_rec;
4540 ldefokltrxapinvoicestlrec OklTrxApInvoicesTlRecType;
4541 l_row_notfound BOOLEAN := TRUE;
4542 ----------------------------------
4543 -- FUNCTION populate_new_record --
4544 ----------------------------------
4545 FUNCTION populate_new_record (
4546 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType,
4547 x_okl_trx_ap_invoices_tl_rec OUT NOCOPY OklTrxApInvoicesTlRecType
4548 ) RETURN VARCHAR2 IS
4549 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
4550 l_row_notfound BOOLEAN := TRUE;
4551 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4552 BEGIN
4553 x_okl_trx_ap_invoices_tl_rec := p_okl_trx_ap_invoices_tl_rec;
4554 -- Get current database values
4555 l_okl_trx_ap_invoices_tl_rec := get_rec(p_okl_trx_ap_invoices_tl_rec, l_row_notfound);
4556 IF (l_row_notfound) THEN
4557 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4558 END IF;
4559 IF (x_okl_trx_ap_invoices_tl_rec.id = OKL_API.G_MISS_NUM)
4560 THEN
4561 x_okl_trx_ap_invoices_tl_rec.id := l_okl_trx_ap_invoices_tl_rec.id;
4562 END IF;
4563 IF (x_okl_trx_ap_invoices_tl_rec.language = OKL_API.G_MISS_CHAR)
4564 THEN
4565 x_okl_trx_ap_invoices_tl_rec.language := l_okl_trx_ap_invoices_tl_rec.language;
4566 END IF;
4567 IF (x_okl_trx_ap_invoices_tl_rec.source_lang = OKL_API.G_MISS_CHAR)
4568 THEN
4569 x_okl_trx_ap_invoices_tl_rec.source_lang := l_okl_trx_ap_invoices_tl_rec.source_lang;
4570 END IF;
4571 IF (x_okl_trx_ap_invoices_tl_rec.sfwt_flag = OKL_API.G_MISS_CHAR)
4572 THEN
4573 x_okl_trx_ap_invoices_tl_rec.sfwt_flag := l_okl_trx_ap_invoices_tl_rec.sfwt_flag;
4574 END IF;
4575 IF (x_okl_trx_ap_invoices_tl_rec.description = OKL_API.G_MISS_CHAR)
4576 THEN
4577 x_okl_trx_ap_invoices_tl_rec.description := l_okl_trx_ap_invoices_tl_rec.description;
4578 END IF;
4579 IF (x_okl_trx_ap_invoices_tl_rec.created_by = OKL_API.G_MISS_NUM)
4580 THEN
4581 x_okl_trx_ap_invoices_tl_rec.created_by := l_okl_trx_ap_invoices_tl_rec.created_by;
4582 END IF;
4583 IF (x_okl_trx_ap_invoices_tl_rec.creation_date = OKL_API.G_MISS_DATE)
4584 THEN
4585 x_okl_trx_ap_invoices_tl_rec.creation_date := l_okl_trx_ap_invoices_tl_rec.creation_date;
4586 END IF;
4587 IF (x_okl_trx_ap_invoices_tl_rec.last_updated_by = OKL_API.G_MISS_NUM)
4588 THEN
4589 x_okl_trx_ap_invoices_tl_rec.last_updated_by := l_okl_trx_ap_invoices_tl_rec.last_updated_by;
4590 END IF;
4591 IF (x_okl_trx_ap_invoices_tl_rec.last_update_date = OKL_API.G_MISS_DATE)
4592 THEN
4593 x_okl_trx_ap_invoices_tl_rec.last_update_date := l_okl_trx_ap_invoices_tl_rec.last_update_date;
4594 END IF;
4595 IF (x_okl_trx_ap_invoices_tl_rec.last_update_login = OKL_API.G_MISS_NUM)
4596 THEN
4597 x_okl_trx_ap_invoices_tl_rec.last_update_login := l_okl_trx_ap_invoices_tl_rec.last_update_login;
4598 END IF;
4599 RETURN(l_return_status);
4600 END populate_new_record;
4601 -----------------------------------------------
4602 -- Set_Attributes for:OKL_TRX_AP_INVOICES_TL --
4603 -----------------------------------------------
4604 FUNCTION Set_Attributes (
4605 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType,
4606 x_okl_trx_ap_invoices_tl_rec OUT NOCOPY OklTrxApInvoicesTlRecType
4607 ) RETURN VARCHAR2 IS
4608 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4609 BEGIN
4610 x_okl_trx_ap_invoices_tl_rec := p_okl_trx_ap_invoices_tl_rec;
4611 x_okl_trx_ap_invoices_tl_rec.LANGUAGE := USERENV('LANG');
4612 x_okl_trx_ap_invoices_tl_rec.SOURCE_LANG := USERENV('LANG');
4613 RETURN(l_return_status);
4614 END Set_Attributes;
4615 BEGIN
4616 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4617 p_init_msg_list,
4618 '_PVT',
4619 x_return_status);
4620 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4621 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4622 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4623 RAISE OKL_API.G_EXCEPTION_ERROR;
4624 END IF;
4625 --- Setting item attributes
4626 l_return_status := Set_Attributes(
4627 p_okl_trx_ap_invoices_tl_rec, -- IN
4628 l_okl_trx_ap_invoices_tl_rec); -- OUT
4629 --- If any errors happen abort API
4630 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4631 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4632 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4633 RAISE OKL_API.G_EXCEPTION_ERROR;
4634 END IF;
4635 l_return_status := populate_new_record(l_okl_trx_ap_invoices_tl_rec, ldefokltrxapinvoicestlrec);
4636 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4637 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4638 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4639 RAISE OKL_API.G_EXCEPTION_ERROR;
4640 END IF;
4641 UPDATE OKL_TRX_AP_INVOICES_TL
4642 SET DESCRIPTION = ldefokltrxapinvoicestlrec.description,
4643 SOURCE_LANG = ldefokltrxapinvoicestlrec.source_lang,
4644 CREATED_BY = ldefokltrxapinvoicestlrec.created_by,
4645 CREATION_DATE = ldefokltrxapinvoicestlrec.creation_date,
4646 LAST_UPDATED_BY = ldefokltrxapinvoicestlrec.last_updated_by,
4647 LAST_UPDATE_DATE = ldefokltrxapinvoicestlrec.last_update_date,
4648 LAST_UPDATE_LOGIN = ldefokltrxapinvoicestlrec.last_update_login
4649 WHERE ID = ldefokltrxapinvoicestlrec.id
4650 AND USERENV('LANG') in (SOURCE_LANG, LANGUAGE);
4651
4652 UPDATE OKL_TRX_AP_INVOICES_TL
4653 SET SFWT_FLAG = 'Y'
4654 WHERE ID = ldefokltrxapinvoicestlrec.id
4655 AND SOURCE_LANG <> USERENV('LANG');
4656 x_okl_trx_ap_invoices_tl_rec := ldefokltrxapinvoicestlrec;
4657 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4658 EXCEPTION
4659 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4660 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4661 (
4662 l_api_name,
4663 G_PKG_NAME,
4664 'OKL_API.G_RET_STS_ERROR',
4665 x_msg_count,
4666 x_msg_data,
4667 '_PVT'
4668 );
4669 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4670 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4671 (
4672 l_api_name,
4673 G_PKG_NAME,
4674 'OKL_API.G_RET_STS_UNEXP_ERROR',
4675 x_msg_count,
4676 x_msg_data,
4677 '_PVT'
4678 );
4679 WHEN OTHERS THEN
4680 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4681 (
4682 l_api_name,
4683 G_PKG_NAME,
4684 'OTHERS',
4685 x_msg_count,
4686 x_msg_data,
4687 '_PVT'
4688 );
4689 END update_row;
4690 ------------------------------------------
4691 -- update_row for:OKL_TRX_AP_INVOICES_V --
4692 ------------------------------------------
4693 PROCEDURE update_row(
4694 p_api_version IN NUMBER,
4695 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4696 x_return_status OUT NOCOPY VARCHAR2,
4697 x_msg_count OUT NOCOPY NUMBER,
4698 x_msg_data OUT NOCOPY VARCHAR2,
4699 p_tapv_rec IN tapv_rec_type,
4700 x_tapv_rec OUT NOCOPY tapv_rec_type) IS
4701 l_api_version CONSTANT NUMBER := 1;
4702 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
4703 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4704 l_tapv_rec tapv_rec_type := p_tapv_rec;
4705 l_def_tapv_rec tapv_rec_type;
4706 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
4707 lx_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
4708 l_tap_rec tap_rec_type;
4709 lx_tap_rec tap_rec_type;
4710 -------------------------------
4711 -- FUNCTION fill_who_columns --
4712 -------------------------------
4713 FUNCTION fill_who_columns (
4714 p_tapv_rec IN tapv_rec_type
4715 ) RETURN tapv_rec_type IS
4716 l_tapv_rec tapv_rec_type := p_tapv_rec;
4717 BEGIN
4718 l_tapv_rec.LAST_UPDATE_DATE := SYSDATE;
4719 l_tapv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4720 l_tapv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4721 RETURN(l_tapv_rec);
4722 END fill_who_columns;
4723 ----------------------------------
4724 -- FUNCTION populate_new_record --
4725 ----------------------------------
4726 FUNCTION populate_new_record (
4727 p_tapv_rec IN tapv_rec_type,
4728 x_tapv_rec OUT NOCOPY tapv_rec_type
4729 ) RETURN VARCHAR2 IS
4730 l_tapv_rec tapv_rec_type;
4731 l_row_notfound BOOLEAN := TRUE;
4732 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4733 BEGIN
4734 x_tapv_rec := p_tapv_rec;
4735 -- Get current database values
4736 l_tapv_rec := get_rec(p_tapv_rec, l_row_notfound);
4737 IF (l_row_notfound) THEN
4738 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4739 END IF;
4740 IF (x_tapv_rec.id = OKL_API.G_MISS_NUM)
4741 THEN
4742 x_tapv_rec.id := l_tapv_rec.id;
4743 END IF;
4744 IF (x_tapv_rec.object_version_number = OKL_API.G_MISS_NUM)
4745 THEN
4746 x_tapv_rec.object_version_number := l_tapv_rec.object_version_number;
4747 END IF;
4748 IF (x_tapv_rec.sfwt_flag = OKL_API.G_MISS_CHAR)
4749 THEN
4750 x_tapv_rec.sfwt_flag := l_tapv_rec.sfwt_flag;
4751 END IF;
4752 IF (x_tapv_rec.cct_id = OKL_API.G_MISS_NUM)
4753 THEN
4754 x_tapv_rec.cct_id := l_tapv_rec.cct_id;
4755 END IF;
4756 IF (x_tapv_rec.currency_code = OKL_API.G_MISS_CHAR)
4757 THEN
4758 x_tapv_rec.currency_code := l_tapv_rec.currency_code;
4759 END IF;
4760 IF (x_tapv_rec.ccf_id = OKL_API.G_MISS_NUM)
4761 THEN
4762 x_tapv_rec.ccf_id := l_tapv_rec.ccf_id;
4763 END IF;
4764 IF (x_tapv_rec.funding_type_code = OKL_API.G_MISS_CHAR)
4765 THEN
4766 x_tapv_rec.funding_type_code := l_tapv_rec.funding_type_code;
4767 END IF;
4768 IF (x_tapv_rec.khr_id = OKL_API.G_MISS_NUM)
4769 THEN
4770 x_tapv_rec.khr_id := l_tapv_rec.khr_id;
4771 END IF;
4772 IF (x_tapv_rec.art_id = OKL_API.G_MISS_NUM)
4773 THEN
4774 x_tapv_rec.art_id := l_tapv_rec.art_id;
4775 END IF;
4776 IF (x_tapv_rec.tap_id_reverses = OKL_API.G_MISS_NUM)
4777 THEN
4778 x_tapv_rec.tap_id_reverses := l_tapv_rec.tap_id_reverses;
4779 END IF;
4780 IF (x_tapv_rec.ippt_id = OKL_API.G_MISS_NUM)
4781 THEN
4782 x_tapv_rec.ippt_id := l_tapv_rec.ippt_id;
4783 END IF;
4784 IF (x_tapv_rec.code_combination_id = OKL_API.G_MISS_NUM)
4785 THEN
4786 x_tapv_rec.code_combination_id := l_tapv_rec.code_combination_id;
4787 END IF;
4788 IF (x_tapv_rec.ipvs_id = OKL_API.G_MISS_NUM)
4789 THEN
4790 x_tapv_rec.ipvs_id := l_tapv_rec.ipvs_id;
4791 END IF;
4792 IF (x_tapv_rec.tcn_id = OKL_API.G_MISS_NUM)
4793 THEN
4794 x_tapv_rec.tcn_id := l_tapv_rec.tcn_id;
4795 END IF;
4796 IF (x_tapv_rec.vpa_id = OKL_API.G_MISS_NUM)
4797 THEN
4798 x_tapv_rec.vpa_id := l_tapv_rec.vpa_id;
4799 END IF;
4800 IF (x_tapv_rec.ipt_id = OKL_API.G_MISS_NUM)
4801 THEN
4802 x_tapv_rec.ipt_id := l_tapv_rec.ipt_id;
4803 END IF;
4804 IF (x_tapv_rec.qte_id = OKL_API.G_MISS_NUM)
4805 THEN
4806 x_tapv_rec.qte_id := l_tapv_rec.qte_id;
4807 END IF;
4808 IF (x_tapv_rec.invoice_category_code = OKL_API.G_MISS_CHAR)
4809 THEN
4810 x_tapv_rec.invoice_category_code := l_tapv_rec.invoice_category_code;
4811 END IF;
4812 IF (x_tapv_rec.payment_method_code = OKL_API.G_MISS_CHAR)
4813 THEN
4814 x_tapv_rec.payment_method_code := l_tapv_rec.payment_method_code;
4815 END IF;
4816 IF (x_tapv_rec.cplv_id = OKL_API.G_MISS_NUM)
4817 THEN
4818 x_tapv_rec.cplv_id := l_tapv_rec.cplv_id;
4819 END IF;
4820
4821 --Start code added by pgomes on 19-NOV-2002
4822 IF (x_tapv_rec.pox_id = OKL_API.G_MISS_NUM)
4823 THEN
4824 x_tapv_rec.pox_id := l_tapv_rec.pox_id;
4825 END IF;
4826 --End code added by pgomes on 19-NOV-2002
4827
4828 IF (x_tapv_rec.amount = OKL_API.G_MISS_NUM)
4829 THEN
4830 x_tapv_rec.amount := l_tapv_rec.amount;
4831 END IF;
4832 IF (x_tapv_rec.date_invoiced = OKL_API.G_MISS_DATE)
4833 THEN
4834 x_tapv_rec.date_invoiced := l_tapv_rec.date_invoiced;
4835 END IF;
4836 IF (x_tapv_rec.invoice_number = OKL_API.G_MISS_CHAR)
4837 THEN
4838 x_tapv_rec.invoice_number := l_tapv_rec.invoice_number;
4839 END IF;
4840 IF (x_tapv_rec.date_funding_approved = OKL_API.G_MISS_DATE)
4841 THEN
4842 x_tapv_rec.date_funding_approved := l_tapv_rec.date_funding_approved;
4843 END IF;
4844 IF (x_tapv_rec.date_gl = OKL_API.G_MISS_DATE)
4845 THEN
4846 x_tapv_rec.date_gl := l_tapv_rec.date_gl;
4847 END IF;
4848 IF (x_tapv_rec.workflow_yn = OKL_API.G_MISS_CHAR)
4849 THEN
4850 x_tapv_rec.workflow_yn := l_tapv_rec.workflow_yn;
4851 END IF;
4852 IF (x_tapv_rec.match_required_yn = OKL_API.G_MISS_CHAR)
4853 THEN
4854 x_tapv_rec.match_required_yn := l_tapv_rec.match_required_yn;
4855 END IF;
4856 IF (x_tapv_rec.ipt_frequency = OKL_API.G_MISS_CHAR)
4857 THEN
4858 x_tapv_rec.ipt_frequency := l_tapv_rec.ipt_frequency;
4859 END IF;
4860 IF (x_tapv_rec.consolidate_yn = OKL_API.G_MISS_CHAR)
4861 THEN
4862 x_tapv_rec.consolidate_yn := l_tapv_rec.consolidate_yn;
4863 END IF;
4864 IF (x_tapv_rec.wait_vendor_invoice_yn = OKL_API.G_MISS_CHAR)
4865 THEN
4866 x_tapv_rec.wait_vendor_invoice_yn := l_tapv_rec.wait_vendor_invoice_yn;
4867 END IF;
4868 IF (x_tapv_rec.date_requisition = OKL_API.G_MISS_DATE)
4869 THEN
4870 x_tapv_rec.date_requisition := l_tapv_rec.date_requisition;
4871 END IF;
4872 IF (x_tapv_rec.description = OKL_API.G_MISS_CHAR)
4873 THEN
4874 x_tapv_rec.description := l_tapv_rec.description;
4875 END IF;
4876 IF (x_tapv_rec.CURRENCY_CONVERSION_TYPE = OKL_API.G_MISS_CHAR) THEN
4877 x_tapv_rec.CURRENCY_CONVERSION_TYPE := l_tapv_rec.CURRENCY_CONVERSION_TYPE;
4878 END IF;
4879 IF (x_tapv_rec.CURRENCY_CONVERSION_RATE = OKL_API.G_MISS_NUM) THEN
4880 x_tapv_rec.CURRENCY_CONVERSION_RATE := l_tapv_rec.CURRENCY_CONVERSION_RATE;
4881 END IF;
4882 IF (x_tapv_rec.CURRENCY_CONVERSION_DATE = OKL_API.G_MISS_DATE) THEN
4883 x_tapv_rec.CURRENCY_CONVERSION_DATE := l_tapv_rec.CURRENCY_CONVERSION_DATE;
4884 END IF;
4885 IF (x_tapv_rec.VENDOR_ID = OKL_API.G_MISS_NUM) THEN
4886 x_tapv_rec.VENDOR_ID := l_tapv_rec.VENDOR_ID;
4887 END IF;
4888 IF (x_tapv_rec.attribute_category = OKL_API.G_MISS_CHAR)
4889 THEN
4890 x_tapv_rec.attribute_category := l_tapv_rec.attribute_category;
4891 END IF;
4892 IF (x_tapv_rec.attribute1 = OKL_API.G_MISS_CHAR)
4893 THEN
4894 x_tapv_rec.attribute1 := l_tapv_rec.attribute1;
4895 END IF;
4896 IF (x_tapv_rec.attribute2 = OKL_API.G_MISS_CHAR)
4897 THEN
4898 x_tapv_rec.attribute2 := l_tapv_rec.attribute2;
4899 END IF;
4900 IF (x_tapv_rec.attribute3 = OKL_API.G_MISS_CHAR)
4901 THEN
4902 x_tapv_rec.attribute3 := l_tapv_rec.attribute3;
4903 END IF;
4904 IF (x_tapv_rec.attribute4 = OKL_API.G_MISS_CHAR)
4905 THEN
4906 x_tapv_rec.attribute4 := l_tapv_rec.attribute4;
4907 END IF;
4908 IF (x_tapv_rec.attribute5 = OKL_API.G_MISS_CHAR)
4909 THEN
4910 x_tapv_rec.attribute5 := l_tapv_rec.attribute5;
4911 END IF;
4912 IF (x_tapv_rec.attribute6 = OKL_API.G_MISS_CHAR)
4913 THEN
4914 x_tapv_rec.attribute6 := l_tapv_rec.attribute6;
4915 END IF;
4916 IF (x_tapv_rec.attribute7 = OKL_API.G_MISS_CHAR)
4917 THEN
4918 x_tapv_rec.attribute7 := l_tapv_rec.attribute7;
4919 END IF;
4920 IF (x_tapv_rec.attribute8 = OKL_API.G_MISS_CHAR)
4921 THEN
4922 x_tapv_rec.attribute8 := l_tapv_rec.attribute8;
4923 END IF;
4924 IF (x_tapv_rec.attribute9 = OKL_API.G_MISS_CHAR)
4925 THEN
4926 x_tapv_rec.attribute9 := l_tapv_rec.attribute9;
4927 END IF;
4928 IF (x_tapv_rec.attribute10 = OKL_API.G_MISS_CHAR)
4929 THEN
4930 x_tapv_rec.attribute10 := l_tapv_rec.attribute10;
4931 END IF;
4932 IF (x_tapv_rec.attribute11 = OKL_API.G_MISS_CHAR)
4933 THEN
4934 x_tapv_rec.attribute11 := l_tapv_rec.attribute11;
4935 END IF;
4936 IF (x_tapv_rec.attribute12 = OKL_API.G_MISS_CHAR)
4937 THEN
4938 x_tapv_rec.attribute12 := l_tapv_rec.attribute12;
4939 END IF;
4940 IF (x_tapv_rec.attribute13 = OKL_API.G_MISS_CHAR)
4941 THEN
4942 x_tapv_rec.attribute13 := l_tapv_rec.attribute13;
4943 END IF;
4944 IF (x_tapv_rec.attribute14 = OKL_API.G_MISS_CHAR)
4945 THEN
4946 x_tapv_rec.attribute14 := l_tapv_rec.attribute14;
4947 END IF;
4948 IF (x_tapv_rec.attribute15 = OKL_API.G_MISS_CHAR)
4949 THEN
4950 x_tapv_rec.attribute15 := l_tapv_rec.attribute15;
4951 END IF;
4952 IF (x_tapv_rec.date_entered = OKL_API.G_MISS_DATE)
4953 THEN
4954 x_tapv_rec.date_entered := l_tapv_rec.date_entered;
4955 END IF;
4956 -- Start Post Postgen 14,15
4957 IF (x_tapv_rec.trx_status_code = OKL_API.G_MISS_CHAR)
4958 THEN
4959 x_tapv_rec.trx_status_code := l_tapv_rec.trx_status_code;
4960 END IF;
4961 IF (x_tapv_rec.set_of_books_id = OKL_API.G_MISS_NUM)
4962 THEN
4963 x_tapv_rec.set_of_books_id := l_tapv_rec.set_of_books_id;
4964 END IF;
4965 IF (x_tapv_rec.try_id = OKL_API.G_MISS_NUM)
4966 THEN
4967 x_tapv_rec.try_id := l_tapv_rec.try_id;
4968 END IF;
4969 -- End Post Postgen 14,15
4970 IF (x_tapv_rec.request_id = OKL_API.G_MISS_NUM)
4971 THEN
4972 x_tapv_rec.request_id := l_tapv_rec.request_id;
4973 END IF;
4974 IF (x_tapv_rec.program_application_id = OKL_API.G_MISS_NUM)
4975 THEN
4976 x_tapv_rec.program_application_id := l_tapv_rec.program_application_id;
4977 END IF;
4978 IF (x_tapv_rec.program_id = OKL_API.G_MISS_NUM)
4979 THEN
4980 x_tapv_rec.program_id := l_tapv_rec.program_id;
4981 END IF;
4982 IF (x_tapv_rec.program_update_date = OKL_API.G_MISS_DATE)
4983 THEN
4984 x_tapv_rec.program_update_date := l_tapv_rec.program_update_date;
4985 END IF;
4986 IF (x_tapv_rec.org_id = OKL_API.G_MISS_NUM)
4987 THEN
4988 x_tapv_rec.org_id := l_tapv_rec.org_id;
4989 END IF;
4990 IF (x_tapv_rec.created_by = OKL_API.G_MISS_NUM)
4991 THEN
4992 x_tapv_rec.created_by := l_tapv_rec.created_by;
4993 END IF;
4994 IF (x_tapv_rec.creation_date = OKL_API.G_MISS_DATE)
4995 THEN
4996 x_tapv_rec.creation_date := l_tapv_rec.creation_date;
4997 END IF;
4998 IF (x_tapv_rec.last_updated_by = OKL_API.G_MISS_NUM)
4999 THEN
5000 x_tapv_rec.last_updated_by := l_tapv_rec.last_updated_by;
5001 END IF;
5002 IF (x_tapv_rec.last_update_date = OKL_API.G_MISS_DATE)
5003 THEN
5004 x_tapv_rec.last_update_date := l_tapv_rec.last_update_date;
5005 END IF;
5006 IF (x_tapv_rec.last_update_login = OKL_API.G_MISS_NUM)
5007 THEN
5008 x_tapv_rec.last_update_login := l_tapv_rec.last_update_login;
5009 END IF;
5010 IF (x_tapv_rec.invoice_type = OKL_API.G_MISS_CHAR)
5011 THEN
5012 x_tapv_rec.invoice_type := l_tapv_rec.invoice_type;
5013 END IF;
5014 IF (x_tapv_rec.pay_group_lookup_code = OKL_API.G_MISS_CHAR)
5015 THEN
5016 x_tapv_rec.pay_group_lookup_code := l_tapv_rec.pay_group_lookup_code;
5017 END IF;
5018 IF (x_tapv_rec.vendor_invoice_number = OKL_API.G_MISS_CHAR)
5019 THEN
5020 x_tapv_rec.vendor_invoice_number := l_tapv_rec.vendor_invoice_number;
5021 END IF;
5022 IF (x_tapv_rec.nettable_yn = OKL_API.G_MISS_CHAR)
5023 THEN
5024 x_tapv_rec.nettable_yn := l_tapv_rec.nettable_yn;
5025 END IF;
5026 IF (x_tapv_rec.asset_tap_id = OKL_API.G_MISS_NUM)
5027 THEN
5028 x_tapv_rec.asset_tap_id := l_tapv_rec.asset_tap_id;
5029 END IF;
5030
5031 -- 30-OCT-2006 ANSETHUR R12B - Legal Entity
5032 IF (x_tapv_rec.legal_entity_id = OKL_API.G_MISS_NUM)
5033 THEN
5034 x_tapv_rec.legal_entity_id := l_tapv_rec.legal_entity_id;
5035 END IF;
5036
5037 IF (x_tapv_rec.transaction_date = OKL_API.G_MISS_DATE)
5038 THEN
5039 x_tapv_rec.transaction_date := l_tapv_rec.transaction_date;
5040 END IF;
5041
5042 RETURN(l_return_status);
5043 END populate_new_record;
5044 ----------------------------------------------
5045 -- Set_Attributes for:OKL_TRX_AP_INVOICES_V --
5046 ----------------------------------------------
5047 FUNCTION Set_Attributes (
5048 p_tapv_rec IN tapv_rec_type,
5049 x_tapv_rec OUT NOCOPY tapv_rec_type
5050 ) RETURN VARCHAR2 IS
5051 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5052 BEGIN
5053 x_tapv_rec := p_tapv_rec;
5054 x_tapv_rec.OBJECT_VERSION_NUMBER := NVL(x_tapv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
5055 -- Begin PostGen-7
5056 SELECT
5057 NVL(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
5058 x_tapv_rec.request_id),
5059 NVL(DECODE(Fnd_Global.PROG_APPL_ID, -1,NULL,Fnd_Global.PROG_APPL_ID),
5060 x_tapv_rec.program_application_id),
5061 NVL(DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),
5062 x_tapv_rec.program_id),
5063 DECODE(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE),
5064 NULL,x_tapv_rec.program_update_date,SYSDATE)
5065 INTO
5066 x_tapv_rec.request_id,
5067 x_tapv_rec.program_application_id,
5068 x_tapv_rec.program_id,
5069 x_tapv_rec.program_update_date
5070 FROM dual;
5071 -- End PostGen-7
5072 RETURN(l_return_status);
5073 END Set_Attributes;
5074 BEGIN
5075 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
5076 G_PKG_NAME,
5077 p_init_msg_list,
5078 l_api_version,
5079 p_api_version,
5080 '_PVT',
5081 x_return_status);
5082 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5083 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5084 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5085 RAISE OKL_API.G_EXCEPTION_ERROR;
5086 END IF;
5087 --- Setting item attributes
5088 l_return_status := Set_Attributes(
5089 p_tapv_rec, -- IN
5090 l_tapv_rec); -- OUT
5091 --- If any errors happen abort API
5092 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5093 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5094 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5095 RAISE OKL_API.G_EXCEPTION_ERROR;
5096 END IF;
5097 l_return_status := populate_new_record(l_tapv_rec, l_def_tapv_rec);
5098 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5099 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5100 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5101 RAISE OKL_API.G_EXCEPTION_ERROR;
5102 END IF;
5103 l_def_tapv_rec := fill_who_columns(l_def_tapv_rec);
5104 --- Validate all non-missing attributes (Item Level Validation)
5105 l_return_status := Validate_Attributes(l_def_tapv_rec);
5106 --- If any errors happen abort API
5107 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5108 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5109 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5110 RAISE OKL_API.G_EXCEPTION_ERROR;
5111 END IF;
5112 l_return_status := Validate_Record(l_def_tapv_rec);
5113 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5114 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5115 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5116 RAISE OKL_API.G_EXCEPTION_ERROR;
5117 END IF;
5118 --------------------------------------
5119 -- Move VIEW record to "Child" records
5120 --------------------------------------
5121 migrate(l_def_tapv_rec, l_okl_trx_ap_invoices_tl_rec);
5122 migrate(l_def_tapv_rec, l_tap_rec);
5123 --------------------------------------------
5124 -- Call the UPDATE_ROW for each child record
5125 --------------------------------------------
5126 update_row(
5127 p_init_msg_list,
5128 x_return_status,
5129 x_msg_count,
5130 x_msg_data,
5131 l_okl_trx_ap_invoices_tl_rec,
5132 lx_okl_trx_ap_invoices_tl_rec
5133 );
5134 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5135 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5136 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
5137 RAISE OKL_API.G_EXCEPTION_ERROR;
5138 END IF;
5139 migrate(lx_okl_trx_ap_invoices_tl_rec, l_def_tapv_rec);
5140 update_row(
5141 p_init_msg_list,
5142 x_return_status,
5143 x_msg_count,
5144 x_msg_data,
5145 l_tap_rec,
5146 lx_tap_rec
5147 );
5148 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5149 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5150 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
5151 RAISE OKL_API.G_EXCEPTION_ERROR;
5152 END IF;
5153 migrate(lx_tap_rec, l_def_tapv_rec);
5154 x_tapv_rec := l_def_tapv_rec;
5155 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5156 EXCEPTION
5157 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5158 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5159 (
5160 l_api_name,
5161 G_PKG_NAME,
5162 'OKL_API.G_RET_STS_ERROR',
5163 x_msg_count,
5164 x_msg_data,
5165 '_PVT'
5166 );
5167 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5168 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5169 (
5170 l_api_name,
5171 G_PKG_NAME,
5172 'OKL_API.G_RET_STS_UNEXP_ERROR',
5173 x_msg_count,
5174 x_msg_data,
5175 '_PVT'
5176 );
5177 WHEN OTHERS THEN
5178 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5179 (
5180 l_api_name,
5181 G_PKG_NAME,
5182 'OTHERS',
5183 x_msg_count,
5184 x_msg_data,
5185 '_PVT'
5186 );
5187 END update_row;
5188 ----------------------------------------
5189 -- PL/SQL TBL update_row for:TAPV_TBL --
5190 ----------------------------------------
5191 PROCEDURE update_row(
5192 p_api_version IN NUMBER,
5193 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
5194 x_return_status OUT NOCOPY VARCHAR2,
5195 x_msg_count OUT NOCOPY NUMBER,
5196 x_msg_data OUT NOCOPY VARCHAR2,
5197 p_tapv_tbl IN tapv_tbl_type,
5198 x_tapv_tbl OUT NOCOPY tapv_tbl_type) IS
5199 l_api_version CONSTANT NUMBER := 1;
5200 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
5201 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5202 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
5203 i NUMBER := 0;
5204 BEGIN
5205 OKL_API.init_msg_list(p_init_msg_list);
5206 -- Make sure PL/SQL table has records in it before passing
5207 IF (p_tapv_tbl.COUNT > 0) THEN
5208 i := p_tapv_tbl.FIRST;
5209 LOOP
5210 update_row (
5211 p_api_version => p_api_version,
5212 p_init_msg_list => OKL_API.G_FALSE,
5213 x_return_status => x_return_status,
5214 x_msg_count => x_msg_count,
5215 x_msg_data => x_msg_data,
5216 p_tapv_rec => p_tapv_tbl(i),
5217 x_tapv_rec => x_tapv_tbl(i));
5218 -- Store the highest degree of error -- PostGen-9
5219 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
5220 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
5221 l_overall_status := x_return_status; -- PostGen-9
5222 END IF; -- PostGen-9
5223 END IF; -- PostGen-9
5224 EXIT WHEN (i = p_tapv_tbl.LAST);
5225 i := p_tapv_tbl.NEXT(i);
5226 END LOOP;
5227 x_return_status := l_overall_status; -- PostGen-9 = return overall status
5228 END IF;
5229 EXCEPTION
5230 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5231 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5232 (
5233 l_api_name,
5234 G_PKG_NAME,
5235 'OKL_API.G_RET_STS_ERROR',
5236 x_msg_count,
5237 x_msg_data,
5238 '_PVT'
5239 );
5240 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5241 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5242 (
5243 l_api_name,
5244 G_PKG_NAME,
5245 'OKL_API.G_RET_STS_UNEXP_ERROR',
5246 x_msg_count,
5247 x_msg_data,
5248 '_PVT'
5249 );
5250 WHEN OTHERS THEN
5251 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5252 (
5253 l_api_name,
5254 G_PKG_NAME,
5255 'OTHERS',
5256 x_msg_count,
5257 x_msg_data,
5258 '_PVT'
5259 );
5260 END update_row;
5261 ---------------------------------------------------------------------------
5262 -- PROCEDURE delete_row
5263 ---------------------------------------------------------------------------
5264 ------------------------------------------
5265 -- delete_row for:OKL_TRX_AP_INVOICES_B --
5266 ------------------------------------------
5267 PROCEDURE delete_row(
5268 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
5269 x_return_status OUT NOCOPY VARCHAR2,
5270 x_msg_count OUT NOCOPY NUMBER,
5271 x_msg_data OUT NOCOPY VARCHAR2,
5272 p_tap_rec IN tap_rec_type) IS
5273 l_api_version CONSTANT NUMBER := 1;
5274 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
5275 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5276 l_tap_rec tap_rec_type:= p_tap_rec;
5277 l_row_notfound BOOLEAN := TRUE;
5278 BEGIN
5279 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
5280 p_init_msg_list,
5281 '_PVT',
5282 x_return_status);
5283 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5284 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5285 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5286 RAISE OKL_API.G_EXCEPTION_ERROR;
5287 END IF;
5288 DELETE FROM OKL_TRX_AP_INVOICES_B
5289 WHERE ID = l_tap_rec.id;
5290 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5291 EXCEPTION
5292 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5293 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5294 (
5295 l_api_name,
5296 G_PKG_NAME,
5297 'OKL_API.G_RET_STS_ERROR',
5298 x_msg_count,
5299 x_msg_data,
5300 '_PVT'
5301 );
5302 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5303 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5304 (
5305 l_api_name,
5306 G_PKG_NAME,
5307 'OKL_API.G_RET_STS_UNEXP_ERROR',
5308 x_msg_count,
5309 x_msg_data,
5310 '_PVT'
5311 );
5312 WHEN OTHERS THEN
5313 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5314 (
5315 l_api_name,
5316 G_PKG_NAME,
5317 'OTHERS',
5318 x_msg_count,
5319 x_msg_data,
5320 '_PVT'
5321 );
5322 END delete_row;
5323 -------------------------------------------
5324 -- delete_row for:OKL_TRX_AP_INVOICES_TL --
5325 -------------------------------------------
5326 PROCEDURE delete_row(
5327 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
5328 x_return_status OUT NOCOPY VARCHAR2,
5329 x_msg_count OUT NOCOPY NUMBER,
5330 x_msg_data OUT NOCOPY VARCHAR2,
5331 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType) IS
5332 l_api_version CONSTANT NUMBER := 1;
5333 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
5334 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5335 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType:= p_okl_trx_ap_invoices_tl_rec;
5336 l_row_notfound BOOLEAN := TRUE;
5337 -----------------------------------------------
5338 -- Set_Attributes for:OKL_TRX_AP_INVOICES_TL --
5339 -----------------------------------------------
5340 FUNCTION Set_Attributes (
5341 p_okl_trx_ap_invoices_tl_rec IN OklTrxApInvoicesTlRecType,
5342 x_okl_trx_ap_invoices_tl_rec OUT NOCOPY OklTrxApInvoicesTlRecType
5343 ) RETURN VARCHAR2 IS
5344 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5345 BEGIN
5346 x_okl_trx_ap_invoices_tl_rec := p_okl_trx_ap_invoices_tl_rec;
5347 x_okl_trx_ap_invoices_tl_rec.LANGUAGE := USERENV('LANG');
5348 RETURN(l_return_status);
5349 END Set_Attributes;
5350 BEGIN
5351 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
5352 p_init_msg_list,
5353 '_PVT',
5354 x_return_status);
5355 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5356 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5357 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5358 RAISE OKL_API.G_EXCEPTION_ERROR;
5359 END IF;
5360 --- Setting item attributes
5361 l_return_status := Set_Attributes(
5362 p_okl_trx_ap_invoices_tl_rec, -- IN
5363 l_okl_trx_ap_invoices_tl_rec); -- OUT
5364 --- If any errors happen abort API
5365 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5366 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5367 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5368 RAISE OKL_API.G_EXCEPTION_ERROR;
5369 END IF;
5370 DELETE FROM OKL_TRX_AP_INVOICES_TL
5371 WHERE ID = l_okl_trx_ap_invoices_tl_rec.id;
5372 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5373 EXCEPTION
5374 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5375 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5376 (
5377 l_api_name,
5378 G_PKG_NAME,
5379 'OKL_API.G_RET_STS_ERROR',
5380 x_msg_count,
5381 x_msg_data,
5382 '_PVT'
5383 );
5384 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5385 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5386 (
5387 l_api_name,
5388 G_PKG_NAME,
5389 'OKL_API.G_RET_STS_UNEXP_ERROR',
5390 x_msg_count,
5391 x_msg_data,
5392 '_PVT'
5393 );
5394 WHEN OTHERS THEN
5395 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5396 (
5397 l_api_name,
5398 G_PKG_NAME,
5399 'OTHERS',
5400 x_msg_count,
5401 x_msg_data,
5402 '_PVT'
5403 );
5404 END delete_row;
5405 ------------------------------------------
5406 -- delete_row for:OKL_TRX_AP_INVOICES_V --
5407 ------------------------------------------
5408 PROCEDURE delete_row(
5409 p_api_version IN NUMBER,
5410 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
5411 x_return_status OUT NOCOPY VARCHAR2,
5412 x_msg_count OUT NOCOPY NUMBER,
5413 x_msg_data OUT NOCOPY VARCHAR2,
5414 p_tapv_rec IN tapv_rec_type) IS
5415 l_api_version CONSTANT NUMBER := 1;
5416 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
5417 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5418 l_tapv_rec tapv_rec_type := p_tapv_rec;
5419 l_okl_trx_ap_invoices_tl_rec OklTrxApInvoicesTlRecType;
5420 l_tap_rec tap_rec_type;
5421 BEGIN
5422 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
5423 G_PKG_NAME,
5424 p_init_msg_list,
5425 l_api_version,
5426 p_api_version,
5427 '_PVT',
5428 x_return_status);
5429 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5430 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5431 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5432 RAISE OKL_API.G_EXCEPTION_ERROR;
5433 END IF;
5434 --------------------------------------
5435 -- Move VIEW record to "Child" records
5436 --------------------------------------
5437 migrate(l_tapv_rec, l_okl_trx_ap_invoices_tl_rec);
5438 migrate(l_tapv_rec, l_tap_rec);
5439 --------------------------------------------
5440 -- Call the DELETE_ROW for each child record
5441 --------------------------------------------
5442 delete_row(
5443 p_init_msg_list,
5444 x_return_status,
5445 x_msg_count,
5446 x_msg_data,
5447 l_okl_trx_ap_invoices_tl_rec
5448 );
5449 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5450 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5451 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
5452 RAISE OKL_API.G_EXCEPTION_ERROR;
5453 END IF;
5454 delete_row(
5455 p_init_msg_list,
5456 x_return_status,
5457 x_msg_count,
5458 x_msg_data,
5459 l_tap_rec
5460 );
5461 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5462 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5463 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
5464 RAISE OKL_API.G_EXCEPTION_ERROR;
5465 END IF;
5466 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5467 EXCEPTION
5468 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5469 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5470 (
5471 l_api_name,
5472 G_PKG_NAME,
5473 'OKL_API.G_RET_STS_ERROR',
5474 x_msg_count,
5475 x_msg_data,
5476 '_PVT'
5477 );
5478 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5479 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5480 (
5481 l_api_name,
5482 G_PKG_NAME,
5483 'OKL_API.G_RET_STS_UNEXP_ERROR',
5484 x_msg_count,
5485 x_msg_data,
5486 '_PVT'
5487 );
5488 WHEN OTHERS THEN
5489 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5490 (
5491 l_api_name,
5492 G_PKG_NAME,
5493 'OTHERS',
5494 x_msg_count,
5495 x_msg_data,
5496 '_PVT'
5497 );
5498 END delete_row;
5499 ----------------------------------------
5500 -- PL/SQL TBL delete_row for:TAPV_TBL --
5501 ----------------------------------------
5502 PROCEDURE delete_row(
5503 p_api_version IN NUMBER,
5504 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
5505 x_return_status OUT NOCOPY VARCHAR2,
5506 x_msg_count OUT NOCOPY NUMBER,
5507 x_msg_data OUT NOCOPY VARCHAR2,
5508 p_tapv_tbl IN tapv_tbl_type) IS
5509 l_api_version CONSTANT NUMBER := 1;
5510 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
5511 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5512 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
5513 i NUMBER := 0;
5514 BEGIN
5515 OKL_API.init_msg_list(p_init_msg_list);
5516 -- Make sure PL/SQL table has records in it before passing
5517 IF (p_tapv_tbl.COUNT > 0) THEN
5518 i := p_tapv_tbl.FIRST;
5519 LOOP
5520 delete_row (
5521 p_api_version => p_api_version,
5522 p_init_msg_list => OKL_API.G_FALSE,
5523 x_return_status => x_return_status,
5524 x_msg_count => x_msg_count,
5525 x_msg_data => x_msg_data,
5526 p_tapv_rec => p_tapv_tbl(i));
5527 -- Store the highest degree of error -- PostGen-9
5528 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
5529 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
5530 l_overall_status := x_return_status; -- PostGen-9
5531 END IF; -- PostGen-9
5532 END IF; -- PostGen-9
5533 EXIT WHEN (i = p_tapv_tbl.LAST);
5534 i := p_tapv_tbl.NEXT(i);
5535 END LOOP;
5536 x_return_status := l_overall_status; -- PostGen-9 = return overall status
5537 END IF;
5538 EXCEPTION
5539 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5540 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5541 (
5542 l_api_name,
5543 G_PKG_NAME,
5544 'OKL_API.G_RET_STS_ERROR',
5545 x_msg_count,
5546 x_msg_data,
5547 '_PVT'
5548 );
5549 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5550 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5551 (
5552 l_api_name,
5553 G_PKG_NAME,
5554 'OKL_API.G_RET_STS_UNEXP_ERROR',
5555 x_msg_count,
5556 x_msg_data,
5557 '_PVT'
5558 );
5559 WHEN OTHERS THEN
5560 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
5561 (
5562 l_api_name,
5563 G_PKG_NAME,
5564 'OTHERS',
5565 x_msg_count,
5566 x_msg_data,
5567 '_PVT'
5568 );
5569 END delete_row;
5570 END OKL_TAP_PVT;