[Home] [Help]
PACKAGE BODY: APPS.OKL_PXH_PVT
Source
1 PACKAGE BODY OKL_PXH_PVT AS
2 /* $Header: OKLSPXHB.pls 120.3 2007/12/27 14:23:59 zrehman noship $ */
3 ---------------------------------------------------------------------------
4 -- PROCEDURE load_error_tbl
5 ---------------------------------------------------------------------------
6 PROCEDURE load_error_tbl (
7 px_error_rec IN OUT NOCOPY OKL_API.ERROR_REC_TYPE,
8 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
9
10 j INTEGER := NVL(px_error_tbl.LAST, 0) + 1;
11 last_msg_idx INTEGER := FND_MSG_PUB.COUNT_MSG;
12 l_msg_idx INTEGER := FND_MSG_PUB.G_NEXT;
13 BEGIN
14 -- FND_MSG_PUB has a small error in it. If we call FND_MSG_PUB.COUNT_AND_GET before
15 -- we call FND_MSG_PUB.GET, the variable FND_MSG_PUB uses to control the index of the
16 -- message stack gets set to 1. This makes sense until we call FND_MSG_PUB.GET which
17 -- automatically increments the index by 1, (making it 2), however, when the GET function
18 -- attempts to pull message 2, we get a NO_DATA_FOUND exception because there isn't any
19 -- message 2. To circumvent this problem, check the amount of messages and compensate.
20 -- Again, this error only occurs when 1 message is on the stack because COUNT_AND_GET
21 -- will only update the index variable when 1 and only 1 message is on the stack.
22 IF (last_msg_idx = 1) THEN
23 l_msg_idx := FND_MSG_PUB.G_FIRST;
24 END IF;
25 LOOP
26 fnd_msg_pub.get(
27 p_msg_index => l_msg_idx,
28 p_encoded => fnd_api.g_false,
29 p_data => px_error_rec.msg_data,
30 p_msg_index_out => px_error_rec.msg_count);
31 px_error_tbl(j) := px_error_rec;
32 j := j + 1;
33 EXIT WHEN (px_error_rec.msg_count = last_msg_idx);
34 END LOOP;
35 END load_error_tbl;
36 ---------------------------------------------------------------------------
37 -- FUNCTION find_highest_exception
38 ---------------------------------------------------------------------------
39 -- Finds the highest exception (G_RET_STS_UNEXP_ERROR)
40 -- in a OKL_API.ERROR_TBL_TYPE, and returns it.
41 FUNCTION find_highest_exception(
42 p_error_tbl IN OKL_API.ERROR_TBL_TYPE
43 ) RETURN VARCHAR2 IS
44 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
45 i INTEGER := 1;
46 BEGIN
47 IF (p_error_tbl.COUNT > 0) THEN
48 i := p_error_tbl.FIRST;
49 LOOP
50 IF (p_error_tbl(i).error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
51 IF (l_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR) THEN
52 l_return_status := p_error_tbl(i).error_type;
53 END IF;
54 END IF;
55 EXIT WHEN (i = p_error_tbl.LAST);
56 i := p_error_tbl.NEXT(i);
57 END LOOP;
58 END IF;
59 RETURN(l_return_status);
60 END find_highest_exception;
61 ---------------------------------------------------------------------------
62 -- FUNCTION get_seq_id
63 ---------------------------------------------------------------------------
64 FUNCTION get_seq_id RETURN NUMBER IS
65 l_pk_value NUMBER;
66 CURSOR c_pk_csr IS SELECT okl_ext_ap_header_sources_s.NEXTVAL FROM DUAL;
67 BEGIN
68 /* Fetch the pk value from the sequence */
69 OPEN c_pk_csr;
70 FETCH c_pk_csr INTO l_pk_value;
71 CLOSE c_pk_csr;
72 RETURN l_pk_value;
73 END get_seq_id;
74
75 ---------------------------------------------------------------------------
76 -- PROCEDURE qc
77 ---------------------------------------------------------------------------
78 PROCEDURE qc IS
79 BEGIN
80 null;
81 END qc;
82
83 ---------------------------------------------------------------------------
84 -- PROCEDURE change_version
85 ---------------------------------------------------------------------------
86 PROCEDURE change_version IS
87 BEGIN
88 null;
89 END change_version;
90
91 ---------------------------------------------------------------------------
92 -- PROCEDURE api_copy
93 ---------------------------------------------------------------------------
94 PROCEDURE api_copy IS
95 BEGIN
96 null;
97 END api_copy;
98
99 ---------------------------------------------------------------------------
100 -- PROCEDURE add_language
101 ---------------------------------------------------------------------------
102 PROCEDURE add_language IS
103 BEGIN
104 DELETE FROM OKL_EXT_AP_HEADER_SOURCES_TL T
105 WHERE NOT EXISTS (
106 SELECT NULL
107 FROM OKL_EXT_AP_HEADER_SOURCES_B B
108 WHERE B.HEADER_EXTENSION_ID =T.HEADER_EXTENSION_ID
109 );
110
111 UPDATE OKL_EXT_AP_HEADER_SOURCES_TL T SET(
112 CONTRACT_STATUS,
113 INV_AGRMNT_STATUS,
114 TRANSACTION_TYPE_NAME) = (SELECT
115 B.CONTRACT_STATUS,
116 B.INV_AGRMNT_STATUS,
117 B.TRANSACTION_TYPE_NAME
118 FROM OKL_EXT_AP_HEADER_SOURCES_TL B
119 WHERE B.HEADER_EXTENSION_ID = T.HEADER_EXTENSION_ID
120 AND B.LANGUAGE = T.SOURCE_LANG)
121 WHERE ( T.HEADER_EXTENSION_ID,
122 T.LANGUAGE)
123 IN (SELECT
124 SUBT.HEADER_EXTENSION_ID,
125 SUBT.LANGUAGE
126 FROM OKL_EXT_AP_HEADER_SOURCES_TL SUBB, OKL_EXT_AP_HEADER_SOURCES_TL SUBT
127 WHERE SUBB.HEADER_EXTENSION_ID = SUBT.HEADER_EXTENSION_ID
128 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
129 AND (SUBB.CONTRACT_STATUS <> SUBT.CONTRACT_STATUS
130 OR SUBB.INV_AGRMNT_STATUS <> SUBT.INV_AGRMNT_STATUS
131 OR SUBB.TRANSACTION_TYPE_NAME <> SUBT.TRANSACTION_TYPE_NAME
132 OR (SUBB.CONTRACT_STATUS IS NULL AND SUBT.CONTRACT_STATUS IS NOT NULL)
133 OR (SUBB.INV_AGRMNT_STATUS IS NULL AND SUBT.INV_AGRMNT_STATUS IS NOT NULL)
134 OR (SUBB.TRANSACTION_TYPE_NAME IS NULL AND SUBT.TRANSACTION_TYPE_NAME IS NOT NULL)
135 ));
136
137 INSERT INTO OKL_EXT_AP_HEADER_SOURCES_TL (
138 HEADER_EXTENSION_ID,
139 LANGUAGE,
140 SOURCE_LANG,
141 SFWT_FLAG,
142 CONTRACT_STATUS,
143 INV_AGRMNT_STATUS,
144 TRANSACTION_TYPE_NAME,
145 CREATED_BY,
146 CREATION_DATE,
147 LAST_UPDATED_BY,
148 LAST_UPDATE_DATE,
149 LAST_UPDATE_LOGIN)
150 SELECT
151 B.HEADER_EXTENSION_ID,
152 L.LANGUAGE_CODE,
153 B.SOURCE_LANG,
154 B.SFWT_FLAG,
155 B.CONTRACT_STATUS,
156 B.INV_AGRMNT_STATUS,
157 B.TRANSACTION_TYPE_NAME,
158 B.CREATED_BY,
159 B.CREATION_DATE,
160 B.LAST_UPDATED_BY,
161 B.LAST_UPDATE_DATE,
162 B.LAST_UPDATE_LOGIN
163 FROM OKL_EXT_AP_HEADER_SOURCES_TL B, FND_LANGUAGES L
164 WHERE L.INSTALLED_FLAG IN ('I', 'B')
165 AND B.LANGUAGE = USERENV('LANG')
166 AND NOT EXISTS (
167 SELECT NULL
168 FROM OKL_EXT_AP_HEADER_SOURCES_TL T
169 WHERE T.HEADER_EXTENSION_ID = B.HEADER_EXTENSION_ID
170 AND T.LANGUAGE = L.LANGUAGE_CODE
171 );
172 END add_language;
173
174 ---------------------------------------------------------------------------
175 -- FUNCTION get_rec for: OKL_EXT_AP_HEADER_SOURCES_V
176 ---------------------------------------------------------------------------
177 FUNCTION get_rec (
178 p_pxhv_rec IN pxhv_rec_type,
179 x_no_data_found OUT NOCOPY BOOLEAN
180 ) RETURN pxhv_rec_type IS
181 CURSOR okl_ext_ap_header_s1 (p_header_extension_id IN NUMBER) IS
182 SELECT
183 HEADER_EXTENSION_ID,
184 SOURCE_ID,
185 SOURCE_TABLE,
186 OBJECT_VERSION_NUMBER,
187 KHR_ID,
188 TRY_ID,
189 TRANS_NUMBER,
190 CONTRACT_NUMBER,
191 CUSTOMER_NAME,
192 CUST_ACCOUNT_NUMBER,
193 PRODUCT_NAME,
194 BOOK_CLASSIFICATION_CODE,
195 TAX_OWNER_CODE,
196 INT_CALC_METHOD_CODE,
197 REV_REC_METHOD_CODE,
198 SCS_CODE,
199 CONVERTED_NUMBER,
200 CONTRACT_EFFECTIVE_FROM,
201 CONTRACT_CURRENCY_CODE,
202 SALES_REP_NAME,
203 PO_ORDER_NUMBER,
204 VENDOR_PROGRAM_NUMBER,
205 ASSIGNABLE_FLAG,
206 CONVERTED_ACCOUNT_FLAG,
207 ACCRUAL_OVERRIDE_FLAG,
208 KHR_ATTRIBUTE_CATEGORY,
209 KHR_ATTRIBUTE1,
210 KHR_ATTRIBUTE2,
211 KHR_ATTRIBUTE3,
212 KHR_ATTRIBUTE4,
213 KHR_ATTRIBUTE5,
214 KHR_ATTRIBUTE6,
215 KHR_ATTRIBUTE7,
216 KHR_ATTRIBUTE8,
217 KHR_ATTRIBUTE9,
218 KHR_ATTRIBUTE10,
219 KHR_ATTRIBUTE11,
220 KHR_ATTRIBUTE12,
221 KHR_ATTRIBUTE13,
222 KHR_ATTRIBUTE14,
223 KHR_ATTRIBUTE15,
224 CUST_ATTRIBUTE_CATEGORY,
225 CUST_ATTRIBUTE1,
226 CUST_ATTRIBUTE2,
227 CUST_ATTRIBUTE3,
228 CUST_ATTRIBUTE4,
229 CUST_ATTRIBUTE5,
230 CUST_ATTRIBUTE6,
231 CUST_ATTRIBUTE7,
232 CUST_ATTRIBUTE8,
233 CUST_ATTRIBUTE9,
234 CUST_ATTRIBUTE10,
235 CUST_ATTRIBUTE11,
236 CUST_ATTRIBUTE12,
237 CUST_ATTRIBUTE13,
238 CUST_ATTRIBUTE14,
239 CUST_ATTRIBUTE15,
240 RENT_IA_CONTRACT_NUMBER,
241 RENT_IA_PRODUCT_NAME,
242 RENT_IA_ACCOUNTING_CODE,
243 RES_IA_CONTRACT_NUMBER,
244 RES_IA_PRODUCT_NAME,
245 RES_IA_ACCOUNTING_CODE,
246 INV_AGRMNT_NUMBER,
247 INV_AGRMNT_EFFECTIVE_FROM,
248 INV_AGRMNT_PRODUCT_NAME,
249 INV_AGRMNT_CURRENCY_CODE,
250 INV_AGRMNT_SYND_CODE,
251 INV_AGRMNT_POOL_NUMBER,
252 CONTRACT_STATUS_CODE,
253 INV_AGRMNT_STATUS_CODE,
254 TRX_TYPE_CLASS_CODE,
255 LANGUAGE,
256 CONTRACT_STATUS,
257 INV_AGRMNT_STATUS,
258 TRANSACTION_TYPE_NAME,
259 CREATED_BY,
260 CREATION_DATE,
261 LAST_UPDATED_BY,
262 LAST_UPDATE_DATE,
263 LAST_UPDATE_LOGIN,
264 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
265 PARTY_ID,
266 CUST_ACCOUNT_ID
267 FROM Okl_Ext_Ap_Header_Sources_V
268 WHERE okl_ext_ap_header_sources_v.header_extension_id = p_header_extension_id;
269 l_okl_ext_ap_header2 okl_ext_ap_header_s1%ROWTYPE;
270 l_pxhv_rec pxhv_rec_type;
271 BEGIN
272 x_no_data_found := TRUE;
273 -- Get current database values
274 OPEN okl_ext_ap_header_s1 (p_pxhv_rec.header_extension_id);
275 FETCH okl_ext_ap_header_s1 INTO
276 l_pxhv_rec.header_extension_id,
277 l_pxhv_rec.source_id,
278 l_pxhv_rec.source_table,
279 l_pxhv_rec.object_version_number,
280 l_pxhv_rec.khr_id,
281 l_pxhv_rec.try_id,
282 l_pxhv_rec.trans_number,
283 l_pxhv_rec.contract_number,
284 l_pxhv_rec.customer_name,
285 l_pxhv_rec.cust_account_number,
286 l_pxhv_rec.product_name,
287 l_pxhv_rec.book_classification_code,
288 l_pxhv_rec.tax_owner_code,
289 l_pxhv_rec.int_calc_method_code,
290 l_pxhv_rec.rev_rec_method_code,
291 l_pxhv_rec.scs_code,
292 l_pxhv_rec.converted_number,
293 l_pxhv_rec.contract_effective_from,
294 l_pxhv_rec.contract_currency_code,
295 l_pxhv_rec.sales_rep_name,
296 l_pxhv_rec.po_order_number,
297 l_pxhv_rec.vendor_program_number,
298 l_pxhv_rec.assignable_flag,
299 l_pxhv_rec.converted_account_flag,
300 l_pxhv_rec.accrual_override_flag,
301 l_pxhv_rec.khr_attribute_category,
302 l_pxhv_rec.khr_attribute1,
303 l_pxhv_rec.khr_attribute2,
304 l_pxhv_rec.khr_attribute3,
305 l_pxhv_rec.khr_attribute4,
306 l_pxhv_rec.khr_attribute5,
307 l_pxhv_rec.khr_attribute6,
308 l_pxhv_rec.khr_attribute7,
309 l_pxhv_rec.khr_attribute8,
310 l_pxhv_rec.khr_attribute9,
311 l_pxhv_rec.khr_attribute10,
312 l_pxhv_rec.khr_attribute11,
313 l_pxhv_rec.khr_attribute12,
314 l_pxhv_rec.khr_attribute13,
315 l_pxhv_rec.khr_attribute14,
316 l_pxhv_rec.khr_attribute15,
317 l_pxhv_rec.cust_attribute_category,
318 l_pxhv_rec.cust_attribute1,
319 l_pxhv_rec.cust_attribute2,
320 l_pxhv_rec.cust_attribute3,
321 l_pxhv_rec.cust_attribute4,
322 l_pxhv_rec.cust_attribute5,
323 l_pxhv_rec.cust_attribute6,
324 l_pxhv_rec.cust_attribute7,
325 l_pxhv_rec.cust_attribute8,
326 l_pxhv_rec.cust_attribute9,
327 l_pxhv_rec.cust_attribute10,
328 l_pxhv_rec.cust_attribute11,
329 l_pxhv_rec.cust_attribute12,
330 l_pxhv_rec.cust_attribute13,
331 l_pxhv_rec.cust_attribute14,
332 l_pxhv_rec.cust_attribute15,
333 l_pxhv_rec.rent_ia_contract_number,
334 l_pxhv_rec.rent_ia_product_name,
335 l_pxhv_rec.rent_ia_accounting_code,
336 l_pxhv_rec.res_ia_contract_number,
337 l_pxhv_rec.res_ia_product_name,
338 l_pxhv_rec.res_ia_accounting_code,
339 l_pxhv_rec.inv_agrmnt_number,
340 l_pxhv_rec.inv_agrmnt_effective_from,
341 l_pxhv_rec.inv_agrmnt_product_name,
342 l_pxhv_rec.inv_agrmnt_currency_code,
343 l_pxhv_rec.inv_agrmnt_synd_code,
344 l_pxhv_rec.inv_agrmnt_pool_number,
345 l_pxhv_rec.contract_status_code,
346 l_pxhv_rec.inv_agrmnt_status_code,
347 l_pxhv_rec.trx_type_class_code,
348 l_pxhv_rec.language,
349 l_pxhv_rec.contract_status,
350 l_pxhv_rec.inv_agrmnt_status,
351 l_pxhv_rec.transaction_type_name,
352 l_pxhv_rec.created_by,
353 l_pxhv_rec.creation_date,
354 l_pxhv_rec.last_updated_by,
355 l_pxhv_rec.last_update_date,
356 l_pxhv_rec.last_update_login,
357 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
358 l_pxhv_rec.party_id,
359 l_pxhv_rec.cust_account_id;
360 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
361 x_no_data_found := okl_ext_ap_header_s1%NOTFOUND;
362 CLOSE okl_ext_ap_header_s1;
363 RETURN(l_pxhv_rec);
364 END get_rec;
365
366 ------------------------------------------------------------------
367 -- This version of get_rec sets error messages if no data found --
368 ------------------------------------------------------------------
369 FUNCTION get_rec (
370 p_pxhv_rec IN pxhv_rec_type,
371 x_return_status OUT NOCOPY VARCHAR2
372 ) RETURN pxhv_rec_type IS
373 l_pxhv_rec pxhv_rec_type;
374 l_row_notfound BOOLEAN := TRUE;
375 BEGIN
376 x_return_status := OKL_API.G_RET_STS_SUCCESS;
377 l_pxhv_rec := get_rec(p_pxhv_rec, l_row_notfound);
378 IF (l_row_notfound) THEN
379 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'HEADER_EXTENSION_ID');
380 x_return_status := OKL_API.G_RET_STS_ERROR;
381 END IF;
382 RETURN(l_pxhv_rec);
383 END get_rec;
384 -----------------------------------------------------------
385 -- So we don't have to pass an "l_row_notfound" variable --
386 -----------------------------------------------------------
387 FUNCTION get_rec (
388 p_pxhv_rec IN pxhv_rec_type
389 ) RETURN pxhv_rec_type IS
390 l_row_not_found BOOLEAN := TRUE;
391 BEGIN
392 RETURN(get_rec(p_pxhv_rec, l_row_not_found));
393 END get_rec;
394 ---------------------------------------------------------------------------
395 -- FUNCTION get_rec for: OKL_EXT_AP_HEADER_SOURCES_B
396 ---------------------------------------------------------------------------
397 FUNCTION get_rec (
398 p_pxh_rec IN pxh_rec_type,
399 x_no_data_found OUT NOCOPY BOOLEAN
400 ) RETURN pxh_rec_type IS
401 CURSOR okl_ext_ap_header_s3 (p_header_extension_id IN NUMBER) IS
402 SELECT
403 HEADER_EXTENSION_ID,
404 SOURCE_ID,
405 SOURCE_TABLE,
406 OBJECT_VERSION_NUMBER,
407 KHR_ID,
408 TRY_ID,
409 TRANS_NUMBER,
410 CONTRACT_NUMBER,
411 CUSTOMER_NAME,
412 CUST_ACCOUNT_NUMBER,
413 PRODUCT_NAME,
414 BOOK_CLASSIFICATION_CODE,
415 TAX_OWNER_CODE,
416 INT_CALC_METHOD_CODE,
417 REV_REC_METHOD_CODE,
418 SCS_CODE,
419 CONVERTED_NUMBER,
420 CONTRACT_EFFECTIVE_FROM,
421 CONTRACT_CURRENCY_CODE,
422 SALES_REP_NAME,
423 PO_ORDER_NUMBER,
424 VENDOR_PROGRAM_NUMBER,
425 ASSIGNABLE_FLAG,
426 CONVERTED_ACCOUNT_FLAG,
427 ACCRUAL_OVERRIDE_FLAG,
428 KHR_ATTRIBUTE_CATEGORY,
429 KHR_ATTRIBUTE1,
430 KHR_ATTRIBUTE2,
431 KHR_ATTRIBUTE3,
432 KHR_ATTRIBUTE4,
433 KHR_ATTRIBUTE5,
434 KHR_ATTRIBUTE6,
435 KHR_ATTRIBUTE7,
436 KHR_ATTRIBUTE8,
437 KHR_ATTRIBUTE9,
438 KHR_ATTRIBUTE10,
439 KHR_ATTRIBUTE11,
440 KHR_ATTRIBUTE12,
441 KHR_ATTRIBUTE13,
442 KHR_ATTRIBUTE14,
443 KHR_ATTRIBUTE15,
444 CUST_ATTRIBUTE_CATEGORY,
445 CUST_ATTRIBUTE1,
446 CUST_ATTRIBUTE2,
447 CUST_ATTRIBUTE3,
448 CUST_ATTRIBUTE4,
449 CUST_ATTRIBUTE5,
450 CUST_ATTRIBUTE6,
451 CUST_ATTRIBUTE7,
452 CUST_ATTRIBUTE8,
453 CUST_ATTRIBUTE9,
454 CUST_ATTRIBUTE10,
455 CUST_ATTRIBUTE11,
456 CUST_ATTRIBUTE12,
457 CUST_ATTRIBUTE13,
458 CUST_ATTRIBUTE14,
459 CUST_ATTRIBUTE15,
460 RENT_IA_CONTRACT_NUMBER,
461 RENT_IA_PRODUCT_NAME,
462 RENT_IA_ACCOUNTING_CODE,
463 RES_IA_CONTRACT_NUMBER,
464 RES_IA_PRODUCT_NAME,
465 RES_IA_ACCOUNTING_CODE,
466 INV_AGRMNT_NUMBER,
467 INV_AGRMNT_EFFECTIVE_FROM,
468 INV_AGRMNT_PRODUCT_NAME,
469 INV_AGRMNT_CURRENCY_CODE,
470 INV_AGRMNT_SYND_CODE,
471 INV_AGRMNT_POOL_NUMBER,
472 CONTRACT_STATUS_CODE,
473 INV_AGRMNT_STATUS_CODE,
474 TRX_TYPE_CLASS_CODE,
475 CREATED_BY,
476 CREATION_DATE,
477 LAST_UPDATED_BY,
478 LAST_UPDATE_DATE,
479 LAST_UPDATE_LOGIN,
480 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
481 PARTY_ID,
482 CUST_ACCOUNT_ID
483 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
484 FROM Okl_Ext_Ap_Header_Sources_B
485 WHERE okl_ext_ap_header_sources_b.header_extension_id = p_header_extension_id;
486 l_okl_ext_ap_header4 okl_ext_ap_header_s3%ROWTYPE;
487 l_pxh_rec pxh_rec_type;
488 BEGIN
489 x_no_data_found := TRUE;
490 -- Get current database values
491 OPEN okl_ext_ap_header_s3 (p_pxh_rec.header_extension_id);
492 FETCH okl_ext_ap_header_s3 INTO
493 l_pxh_rec.header_extension_id,
494 l_pxh_rec.source_id,
495 l_pxh_rec.source_table,
496 l_pxh_rec.object_version_number,
497 l_pxh_rec.khr_id,
498 l_pxh_rec.try_id,
499 l_pxh_rec.trans_number,
500 l_pxh_rec.contract_number,
501 l_pxh_rec.customer_name,
502 l_pxh_rec.cust_account_number,
503 l_pxh_rec.product_name,
504 l_pxh_rec.book_classification_code,
505 l_pxh_rec.tax_owner_code,
506 l_pxh_rec.int_calc_method_code,
507 l_pxh_rec.rev_rec_method_code,
508 l_pxh_rec.scs_code,
509 l_pxh_rec.converted_number,
510 l_pxh_rec.contract_effective_from,
511 l_pxh_rec.contract_currency_code,
512 l_pxh_rec.sales_rep_name,
513 l_pxh_rec.po_order_number,
514 l_pxh_rec.vendor_program_number,
515 l_pxh_rec.assignable_flag,
516 l_pxh_rec.converted_account_flag,
517 l_pxh_rec.accrual_override_flag,
518 l_pxh_rec.khr_attribute_category,
519 l_pxh_rec.khr_attribute1,
520 l_pxh_rec.khr_attribute2,
521 l_pxh_rec.khr_attribute3,
522 l_pxh_rec.khr_attribute4,
523 l_pxh_rec.khr_attribute5,
524 l_pxh_rec.khr_attribute6,
525 l_pxh_rec.khr_attribute7,
526 l_pxh_rec.khr_attribute8,
527 l_pxh_rec.khr_attribute9,
528 l_pxh_rec.khr_attribute10,
529 l_pxh_rec.khr_attribute11,
530 l_pxh_rec.khr_attribute12,
531 l_pxh_rec.khr_attribute13,
532 l_pxh_rec.khr_attribute14,
533 l_pxh_rec.khr_attribute15,
534 l_pxh_rec.cust_attribute_category,
535 l_pxh_rec.cust_attribute1,
536 l_pxh_rec.cust_attribute2,
537 l_pxh_rec.cust_attribute3,
538 l_pxh_rec.cust_attribute4,
539 l_pxh_rec.cust_attribute5,
540 l_pxh_rec.cust_attribute6,
541 l_pxh_rec.cust_attribute7,
542 l_pxh_rec.cust_attribute8,
543 l_pxh_rec.cust_attribute9,
544 l_pxh_rec.cust_attribute10,
545 l_pxh_rec.cust_attribute11,
546 l_pxh_rec.cust_attribute12,
547 l_pxh_rec.cust_attribute13,
548 l_pxh_rec.cust_attribute14,
549 l_pxh_rec.cust_attribute15,
550 l_pxh_rec.rent_ia_contract_number,
551 l_pxh_rec.rent_ia_product_name,
552 l_pxh_rec.rent_ia_accounting_code,
553 l_pxh_rec.res_ia_contract_number,
554 l_pxh_rec.res_ia_product_name,
555 l_pxh_rec.res_ia_accounting_code,
556 l_pxh_rec.inv_agrmnt_number,
557 l_pxh_rec.inv_agrmnt_effective_from,
558 l_pxh_rec.inv_agrmnt_product_name,
559 l_pxh_rec.inv_agrmnt_currency_code,
560 l_pxh_rec.inv_agrmnt_synd_code,
561 l_pxh_rec.inv_agrmnt_pool_number,
562 l_pxh_rec.contract_status_code,
563 l_pxh_rec.inv_agrmnt_status_code,
564 l_pxh_rec.trx_type_class_code,
565 l_pxh_rec.created_by,
566 l_pxh_rec.creation_date,
567 l_pxh_rec.last_updated_by,
568 l_pxh_rec.last_update_date,
569 l_pxh_rec.last_update_login,
570 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
571 l_pxh_rec.party_id,
572 l_pxh_rec.cust_account_id
573 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
574 ;
575 x_no_data_found := okl_ext_ap_header_s3%NOTFOUND;
576 CLOSE okl_ext_ap_header_s3;
577 RETURN(l_pxh_rec);
578 END get_rec;
579
580 ------------------------------------------------------------------
581 -- This version of get_rec sets error messages if no data found --
582 ------------------------------------------------------------------
583 FUNCTION get_rec (
584 p_pxh_rec IN pxh_rec_type,
585 x_return_status OUT NOCOPY VARCHAR2
586 ) RETURN pxh_rec_type IS
587 l_pxh_rec pxh_rec_type;
588 l_row_notfound BOOLEAN := TRUE;
589 BEGIN
590 x_return_status := OKL_API.G_RET_STS_SUCCESS;
591 l_pxh_rec := get_rec(p_pxh_rec, l_row_notfound);
592 IF (l_row_notfound) THEN
593 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'HEADER_EXTENSION_ID');
594 x_return_status := OKL_API.G_RET_STS_ERROR;
595 END IF;
596 RETURN(l_pxh_rec);
597 END get_rec;
598 -----------------------------------------------------------
599 -- So we don't have to pass an "l_row_notfound" variable --
600 -----------------------------------------------------------
601 FUNCTION get_rec (
602 p_pxh_rec IN pxh_rec_type
603 ) RETURN pxh_rec_type IS
604 l_row_not_found BOOLEAN := TRUE;
605 BEGIN
606 RETURN(get_rec(p_pxh_rec, l_row_not_found));
607 END get_rec;
608 ---------------------------------------------------------------------------
609 -- FUNCTION get_rec for: OKL_EXT_AP_HEADER_SOURCES_TL
610 ---------------------------------------------------------------------------
611 FUNCTION get_rec (
612 p_pxhl_rec IN pxhl_rec_type,
613 x_no_data_found OUT NOCOPY BOOLEAN
614 ) RETURN pxhl_rec_type IS
615 CURSOR okl_ext_ap_header_s5 (p_header_extension_id IN NUMBER,
616 p_language IN VARCHAR2) IS
617 SELECT
618 HEADER_EXTENSION_ID,
619 LANGUAGE,
620 SOURCE_LANG,
621 SFWT_FLAG,
622 CONTRACT_STATUS,
623 INV_AGRMNT_STATUS,
624 TRANSACTION_TYPE_NAME,
625 CREATED_BY,
626 CREATION_DATE,
627 LAST_UPDATED_BY,
628 LAST_UPDATE_DATE,
629 LAST_UPDATE_LOGIN
630 FROM Okl_Ext_Ap_Header_Sources_Tl
631 WHERE okl_ext_ap_header_sources_tl.header_extension_id = p_header_extension_id
632 AND okl_ext_ap_header_sources_tl.language = p_language;
633 l_okl_ext_ap_header6 okl_ext_ap_header_s5%ROWTYPE;
634 l_pxhl_rec pxhl_rec_type;
635 BEGIN
636 x_no_data_found := TRUE;
637 -- Get current database values
638 OPEN okl_ext_ap_header_s5 (p_pxhl_rec.header_extension_id,
639 p_pxhl_rec.language);
640 FETCH okl_ext_ap_header_s5 INTO
641 l_pxhl_rec.header_extension_id,
642 l_pxhl_rec.language,
643 l_pxhl_rec.source_lang,
644 l_pxhl_rec.sfwt_flag,
645 l_pxhl_rec.contract_status,
646 l_pxhl_rec.inv_agrmnt_status,
647 l_pxhl_rec.transaction_type_name,
648 l_pxhl_rec.created_by,
649 l_pxhl_rec.creation_date,
650 l_pxhl_rec.last_updated_by,
651 l_pxhl_rec.last_update_date,
652 l_pxhl_rec.last_update_login;
653 x_no_data_found := okl_ext_ap_header_s5%NOTFOUND;
654 CLOSE okl_ext_ap_header_s5;
655 RETURN(l_pxhl_rec);
656 END get_rec;
657
658 ------------------------------------------------------------------
659 -- This version of get_rec sets error messages if no data found --
660 ------------------------------------------------------------------
661 FUNCTION get_rec (
662 p_pxhl_rec IN pxhl_rec_type,
663 x_return_status OUT NOCOPY VARCHAR2
664 ) RETURN pxhl_rec_type IS
665 l_pxhl_rec pxhl_rec_type;
666 l_row_notfound BOOLEAN := TRUE;
667 BEGIN
668 x_return_status := OKL_API.G_RET_STS_SUCCESS;
669 l_pxhl_rec := get_rec(p_pxhl_rec, l_row_notfound);
670 IF (l_row_notfound) THEN
671 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'HEADER_EXTENSION_ID');
672 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'LANGUAGE');
673 x_return_status := OKL_API.G_RET_STS_ERROR;
674 END IF;
675 RETURN(l_pxhl_rec);
676 END get_rec;
677 -----------------------------------------------------------
678 -- So we don't have to pass an "l_row_notfound" variable --
679 -----------------------------------------------------------
680 FUNCTION get_rec (
681 p_pxhl_rec IN pxhl_rec_type
682 ) RETURN pxhl_rec_type IS
683 l_row_not_found BOOLEAN := TRUE;
684 BEGIN
685 RETURN(get_rec(p_pxhl_rec, l_row_not_found));
686 END get_rec;
687 ---------------------------------------------------------------------------
688 -- FUNCTION null_out_defaults for: OKL_EXT_AP_HEADER_SOURCES_V
689 ---------------------------------------------------------------------------
690 FUNCTION null_out_defaults (
691 p_pxhv_rec IN pxhv_rec_type
692 ) RETURN pxhv_rec_type IS
693 l_pxhv_rec pxhv_rec_type := p_pxhv_rec;
694 BEGIN
695 IF (l_pxhv_rec.header_extension_id = OKL_API.G_MISS_NUM ) THEN
696 l_pxhv_rec.header_extension_id := NULL;
697 END IF;
698 IF (l_pxhv_rec.source_id = OKL_API.G_MISS_NUM ) THEN
699 l_pxhv_rec.source_id := NULL;
700 END IF;
701 IF (l_pxhv_rec.source_table = OKL_API.G_MISS_CHAR ) THEN
702 l_pxhv_rec.source_table := NULL;
703 END IF;
704 IF (l_pxhv_rec.object_version_number = OKL_API.G_MISS_NUM ) THEN
705 l_pxhv_rec.object_version_number := NULL;
706 END IF;
707 IF (l_pxhv_rec.khr_id = OKL_API.G_MISS_NUM ) THEN
708 l_pxhv_rec.khr_id := NULL;
709 END IF;
710 IF (l_pxhv_rec.try_id = OKL_API.G_MISS_NUM ) THEN
711 l_pxhv_rec.try_id := NULL;
712 END IF;
713 IF (l_pxhv_rec.trans_number = OKL_API.G_MISS_CHAR ) THEN
714 l_pxhv_rec.trans_number := NULL;
715 END IF;
716 IF (l_pxhv_rec.contract_number = OKL_API.G_MISS_CHAR ) THEN
717 l_pxhv_rec.contract_number := NULL;
718 END IF;
719 IF (l_pxhv_rec.customer_name = OKL_API.G_MISS_CHAR ) THEN
720 l_pxhv_rec.customer_name := NULL;
721 END IF;
722 IF (l_pxhv_rec.cust_account_number = OKL_API.G_MISS_CHAR ) THEN
723 l_pxhv_rec.cust_account_number := NULL;
724 END IF;
725 IF (l_pxhv_rec.product_name = OKL_API.G_MISS_CHAR ) THEN
726 l_pxhv_rec.product_name := NULL;
727 END IF;
728 IF (l_pxhv_rec.book_classification_code = OKL_API.G_MISS_CHAR ) THEN
729 l_pxhv_rec.book_classification_code := NULL;
730 END IF;
731 IF (l_pxhv_rec.tax_owner_code = OKL_API.G_MISS_CHAR ) THEN
732 l_pxhv_rec.tax_owner_code := NULL;
733 END IF;
734 IF (l_pxhv_rec.int_calc_method_code = OKL_API.G_MISS_CHAR ) THEN
735 l_pxhv_rec.int_calc_method_code := NULL;
736 END IF;
737 IF (l_pxhv_rec.rev_rec_method_code = OKL_API.G_MISS_CHAR ) THEN
738 l_pxhv_rec.rev_rec_method_code := NULL;
739 END IF;
740 IF (l_pxhv_rec.scs_code = OKL_API.G_MISS_CHAR ) THEN
741 l_pxhv_rec.scs_code := NULL;
742 END IF;
743 IF (l_pxhv_rec.converted_number = OKL_API.G_MISS_CHAR ) THEN
744 l_pxhv_rec.converted_number := NULL;
745 END IF;
746 IF (l_pxhv_rec.contract_effective_from = OKL_API.G_MISS_DATE ) THEN
747 l_pxhv_rec.contract_effective_from := NULL;
748 END IF;
749 IF (l_pxhv_rec.contract_currency_code = OKL_API.G_MISS_CHAR ) THEN
750 l_pxhv_rec.contract_currency_code := NULL;
751 END IF;
752 IF (l_pxhv_rec.sales_rep_name = OKL_API.G_MISS_CHAR ) THEN
753 l_pxhv_rec.sales_rep_name := NULL;
754 END IF;
755 IF (l_pxhv_rec.po_order_number = OKL_API.G_MISS_CHAR ) THEN
756 l_pxhv_rec.po_order_number := NULL;
757 END IF;
758 IF (l_pxhv_rec.vendor_program_number = OKL_API.G_MISS_CHAR ) THEN
759 l_pxhv_rec.vendor_program_number := NULL;
760 END IF;
761 IF (l_pxhv_rec.assignable_flag = OKL_API.G_MISS_CHAR ) THEN
762 l_pxhv_rec.assignable_flag := NULL;
763 END IF;
764 IF (l_pxhv_rec.converted_account_flag = OKL_API.G_MISS_CHAR ) THEN
765 l_pxhv_rec.converted_account_flag := NULL;
766 END IF;
767 IF (l_pxhv_rec.accrual_override_flag = OKL_API.G_MISS_CHAR ) THEN
768 l_pxhv_rec.accrual_override_flag := NULL;
769 END IF;
770 IF (l_pxhv_rec.khr_attribute_category = OKL_API.G_MISS_CHAR ) THEN
771 l_pxhv_rec.khr_attribute_category := NULL;
772 END IF;
773 IF (l_pxhv_rec.khr_attribute1 = OKL_API.G_MISS_CHAR ) THEN
774 l_pxhv_rec.khr_attribute1 := NULL;
775 END IF;
776 IF (l_pxhv_rec.khr_attribute2 = OKL_API.G_MISS_CHAR ) THEN
777 l_pxhv_rec.khr_attribute2 := NULL;
778 END IF;
779 IF (l_pxhv_rec.khr_attribute3 = OKL_API.G_MISS_CHAR ) THEN
780 l_pxhv_rec.khr_attribute3 := NULL;
781 END IF;
782 IF (l_pxhv_rec.khr_attribute4 = OKL_API.G_MISS_CHAR ) THEN
783 l_pxhv_rec.khr_attribute4 := NULL;
784 END IF;
785 IF (l_pxhv_rec.khr_attribute5 = OKL_API.G_MISS_CHAR ) THEN
786 l_pxhv_rec.khr_attribute5 := NULL;
787 END IF;
788 IF (l_pxhv_rec.khr_attribute6 = OKL_API.G_MISS_CHAR ) THEN
789 l_pxhv_rec.khr_attribute6 := NULL;
790 END IF;
791 IF (l_pxhv_rec.khr_attribute7 = OKL_API.G_MISS_CHAR ) THEN
792 l_pxhv_rec.khr_attribute7 := NULL;
793 END IF;
794 IF (l_pxhv_rec.khr_attribute8 = OKL_API.G_MISS_CHAR ) THEN
795 l_pxhv_rec.khr_attribute8 := NULL;
796 END IF;
797 IF (l_pxhv_rec.khr_attribute9 = OKL_API.G_MISS_CHAR ) THEN
798 l_pxhv_rec.khr_attribute9 := NULL;
799 END IF;
800 IF (l_pxhv_rec.khr_attribute10 = OKL_API.G_MISS_CHAR ) THEN
801 l_pxhv_rec.khr_attribute10 := NULL;
802 END IF;
803 IF (l_pxhv_rec.khr_attribute11 = OKL_API.G_MISS_CHAR ) THEN
804 l_pxhv_rec.khr_attribute11 := NULL;
805 END IF;
806 IF (l_pxhv_rec.khr_attribute12 = OKL_API.G_MISS_CHAR ) THEN
807 l_pxhv_rec.khr_attribute12 := NULL;
808 END IF;
809 IF (l_pxhv_rec.khr_attribute13 = OKL_API.G_MISS_CHAR ) THEN
810 l_pxhv_rec.khr_attribute13 := NULL;
811 END IF;
812 IF (l_pxhv_rec.khr_attribute14 = OKL_API.G_MISS_CHAR ) THEN
813 l_pxhv_rec.khr_attribute14 := NULL;
814 END IF;
815 IF (l_pxhv_rec.khr_attribute15 = OKL_API.G_MISS_CHAR ) THEN
816 l_pxhv_rec.khr_attribute15 := NULL;
817 END IF;
818 IF (l_pxhv_rec.cust_attribute_category = OKL_API.G_MISS_CHAR ) THEN
819 l_pxhv_rec.cust_attribute_category := NULL;
820 END IF;
821 IF (l_pxhv_rec.cust_attribute1 = OKL_API.G_MISS_CHAR ) THEN
822 l_pxhv_rec.cust_attribute1 := NULL;
823 END IF;
824 IF (l_pxhv_rec.cust_attribute2 = OKL_API.G_MISS_CHAR ) THEN
825 l_pxhv_rec.cust_attribute2 := NULL;
826 END IF;
827 IF (l_pxhv_rec.cust_attribute3 = OKL_API.G_MISS_CHAR ) THEN
828 l_pxhv_rec.cust_attribute3 := NULL;
829 END IF;
830 IF (l_pxhv_rec.cust_attribute4 = OKL_API.G_MISS_CHAR ) THEN
831 l_pxhv_rec.cust_attribute4 := NULL;
832 END IF;
833 IF (l_pxhv_rec.cust_attribute5 = OKL_API.G_MISS_CHAR ) THEN
834 l_pxhv_rec.cust_attribute5 := NULL;
835 END IF;
836 IF (l_pxhv_rec.cust_attribute6 = OKL_API.G_MISS_CHAR ) THEN
837 l_pxhv_rec.cust_attribute6 := NULL;
838 END IF;
839 IF (l_pxhv_rec.cust_attribute7 = OKL_API.G_MISS_CHAR ) THEN
840 l_pxhv_rec.cust_attribute7 := NULL;
841 END IF;
842 IF (l_pxhv_rec.cust_attribute8 = OKL_API.G_MISS_CHAR ) THEN
843 l_pxhv_rec.cust_attribute8 := NULL;
844 END IF;
845 IF (l_pxhv_rec.cust_attribute9 = OKL_API.G_MISS_CHAR ) THEN
846 l_pxhv_rec.cust_attribute9 := NULL;
847 END IF;
848 IF (l_pxhv_rec.cust_attribute10 = OKL_API.G_MISS_CHAR ) THEN
849 l_pxhv_rec.cust_attribute10 := NULL;
850 END IF;
851 IF (l_pxhv_rec.cust_attribute11 = OKL_API.G_MISS_CHAR ) THEN
852 l_pxhv_rec.cust_attribute11 := NULL;
853 END IF;
854 IF (l_pxhv_rec.cust_attribute12 = OKL_API.G_MISS_CHAR ) THEN
855 l_pxhv_rec.cust_attribute12 := NULL;
856 END IF;
857 IF (l_pxhv_rec.cust_attribute13 = OKL_API.G_MISS_CHAR ) THEN
858 l_pxhv_rec.cust_attribute13 := NULL;
859 END IF;
860 IF (l_pxhv_rec.cust_attribute14 = OKL_API.G_MISS_CHAR ) THEN
861 l_pxhv_rec.cust_attribute14 := NULL;
862 END IF;
863 IF (l_pxhv_rec.cust_attribute15 = OKL_API.G_MISS_CHAR ) THEN
864 l_pxhv_rec.cust_attribute15 := NULL;
865 END IF;
866 IF (l_pxhv_rec.rent_ia_contract_number = OKL_API.G_MISS_CHAR ) THEN
867 l_pxhv_rec.rent_ia_contract_number := NULL;
868 END IF;
869 IF (l_pxhv_rec.rent_ia_product_name = OKL_API.G_MISS_CHAR ) THEN
870 l_pxhv_rec.rent_ia_product_name := NULL;
871 END IF;
872 IF (l_pxhv_rec.rent_ia_accounting_code = OKL_API.G_MISS_CHAR ) THEN
873 l_pxhv_rec.rent_ia_accounting_code := NULL;
874 END IF;
875 IF (l_pxhv_rec.res_ia_contract_number = OKL_API.G_MISS_CHAR ) THEN
876 l_pxhv_rec.res_ia_contract_number := NULL;
877 END IF;
878 IF (l_pxhv_rec.res_ia_product_name = OKL_API.G_MISS_CHAR ) THEN
879 l_pxhv_rec.res_ia_product_name := NULL;
880 END IF;
881 IF (l_pxhv_rec.res_ia_accounting_code = OKL_API.G_MISS_CHAR ) THEN
882 l_pxhv_rec.res_ia_accounting_code := NULL;
883 END IF;
884 IF (l_pxhv_rec.inv_agrmnt_number = OKL_API.G_MISS_CHAR ) THEN
885 l_pxhv_rec.inv_agrmnt_number := NULL;
886 END IF;
887 IF (l_pxhv_rec.inv_agrmnt_effective_from = OKL_API.G_MISS_DATE ) THEN
888 l_pxhv_rec.inv_agrmnt_effective_from := NULL;
889 END IF;
890 IF (l_pxhv_rec.inv_agrmnt_product_name = OKL_API.G_MISS_CHAR ) THEN
891 l_pxhv_rec.inv_agrmnt_product_name := NULL;
892 END IF;
893 IF (l_pxhv_rec.inv_agrmnt_currency_code = OKL_API.G_MISS_CHAR ) THEN
894 l_pxhv_rec.inv_agrmnt_currency_code := NULL;
895 END IF;
896 IF (l_pxhv_rec.inv_agrmnt_synd_code = OKL_API.G_MISS_CHAR ) THEN
897 l_pxhv_rec.inv_agrmnt_synd_code := NULL;
898 END IF;
899 IF (l_pxhv_rec.inv_agrmnt_pool_number = OKL_API.G_MISS_CHAR ) THEN
900 l_pxhv_rec.inv_agrmnt_pool_number := NULL;
901 END IF;
902 IF (l_pxhv_rec.contract_status_code = OKL_API.G_MISS_CHAR ) THEN
903 l_pxhv_rec.contract_status_code := NULL;
904 END IF;
905 IF (l_pxhv_rec.inv_agrmnt_status_code = OKL_API.G_MISS_CHAR ) THEN
906 l_pxhv_rec.inv_agrmnt_status_code := NULL;
907 END IF;
908 IF (l_pxhv_rec.trx_type_class_code = OKL_API.G_MISS_CHAR ) THEN
909 l_pxhv_rec.trx_type_class_code := NULL;
910 END IF;
911 IF (l_pxhv_rec.language = OKL_API.G_MISS_CHAR ) THEN
912 l_pxhv_rec.language := NULL;
913 END IF;
914 IF (l_pxhv_rec.contract_status = OKL_API.G_MISS_CHAR ) THEN
915 l_pxhv_rec.contract_status := NULL;
916 END IF;
917 IF (l_pxhv_rec.inv_agrmnt_status = OKL_API.G_MISS_CHAR ) THEN
918 l_pxhv_rec.inv_agrmnt_status := NULL;
919 END IF;
920 IF (l_pxhv_rec.transaction_type_name = OKL_API.G_MISS_CHAR ) THEN
921 l_pxhv_rec.transaction_type_name := NULL;
922 END IF;
923 IF (l_pxhv_rec.created_by = OKL_API.G_MISS_NUM ) THEN
924 l_pxhv_rec.created_by := NULL;
925 END IF;
926 IF (l_pxhv_rec.creation_date = OKL_API.G_MISS_DATE ) THEN
927 l_pxhv_rec.creation_date := NULL;
928 END IF;
929 IF (l_pxhv_rec.last_updated_by = OKL_API.G_MISS_NUM ) THEN
930 l_pxhv_rec.last_updated_by := NULL;
931 END IF;
932 IF (l_pxhv_rec.last_update_date = OKL_API.G_MISS_DATE ) THEN
933 l_pxhv_rec.last_update_date := NULL;
934 END IF;
935 IF (l_pxhv_rec.last_update_login = OKL_API.G_MISS_NUM ) THEN
936 l_pxhv_rec.last_update_login := NULL;
937 END IF;
938 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
939 IF (l_pxhv_rec.party_id = OKL_API.G_MISS_NUM ) THEN
940 l_pxhv_rec.party_id := NULL;
941 END IF;
942 IF (l_pxhv_rec.cust_account_id = OKL_API.G_MISS_NUM ) THEN
943 l_pxhv_rec.cust_account_id := NULL;
944 END IF;
945 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
946 RETURN(l_pxhv_rec);
947 END null_out_defaults;
948 --------------------------------------------------
949 -- Validate_Attributes for: HEADER_EXTENSION_ID --
950 --------------------------------------------------
951 PROCEDURE validate_header_extension_id(
952 x_return_status OUT NOCOPY VARCHAR2,
953 p_header_extension_id IN NUMBER) IS
954 BEGIN
955 x_return_status := OKL_API.G_RET_STS_SUCCESS;
956 IF (p_header_extension_id IS NULL) THEN
957 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'header_extension_id');
958 x_return_status := OKL_API.G_RET_STS_ERROR;
959 RAISE G_EXCEPTION_HALT_VALIDATION;
960 END IF;
961 EXCEPTION
962 WHEN G_EXCEPTION_HALT_VALIDATION THEN
963 null;
964 WHEN OTHERS THEN
965 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
966 ,p_msg_name => G_UNEXPECTED_ERROR
967 ,p_token1 => G_SQLCODE_TOKEN
968 ,p_token1_value => SQLCODE
969 ,p_token2 => G_SQLERRM_TOKEN
970 ,p_token2_value => SQLERRM);
971 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
972 END validate_header_extension_id;
973 ----------------------------------------
974 -- Validate_Attributes for: SOURCE_ID --
975 ----------------------------------------
976 PROCEDURE validate_source_id(
977 x_return_status OUT NOCOPY VARCHAR2,
978 p_source_id IN NUMBER) IS
979 BEGIN
980 x_return_status := OKL_API.G_RET_STS_SUCCESS;
981 IF (p_source_id IS NULL) THEN
982 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'source_id');
983 x_return_status := OKL_API.G_RET_STS_ERROR;
984 RAISE G_EXCEPTION_HALT_VALIDATION;
985 END IF;
986 EXCEPTION
987 WHEN G_EXCEPTION_HALT_VALIDATION THEN
988 null;
989 WHEN OTHERS THEN
990 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
991 ,p_msg_name => G_UNEXPECTED_ERROR
992 ,p_token1 => G_SQLCODE_TOKEN
993 ,p_token1_value => SQLCODE
994 ,p_token2 => G_SQLERRM_TOKEN
995 ,p_token2_value => SQLERRM);
996 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
997 END validate_source_id;
998 -------------------------------------------
999 -- Validate_Attributes for: SOURCE_TABLE --
1000 -------------------------------------------
1001 PROCEDURE validate_source_table(
1002 x_return_status OUT NOCOPY VARCHAR2,
1003 p_source_table IN VARCHAR2) IS
1004 BEGIN
1005 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1006 IF (p_source_table IS NULL) THEN
1007 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'source_table');
1008 x_return_status := OKL_API.G_RET_STS_ERROR;
1009 RAISE G_EXCEPTION_HALT_VALIDATION;
1010 END IF;
1011 EXCEPTION
1012 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1013 null;
1014 WHEN OTHERS THEN
1015 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
1016 ,p_msg_name => G_UNEXPECTED_ERROR
1017 ,p_token1 => G_SQLCODE_TOKEN
1018 ,p_token1_value => SQLCODE
1019 ,p_token2 => G_SQLERRM_TOKEN
1020 ,p_token2_value => SQLERRM);
1021 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1022 END validate_source_table;
1023 ----------------------------------------------------
1024 -- Validate_Attributes for: OBJECT_VERSION_NUMBER --
1025 ----------------------------------------------------
1026 PROCEDURE validate_object_version_number(
1027 x_return_status OUT NOCOPY VARCHAR2,
1028 p_object_version_number IN NUMBER) IS
1029 BEGIN
1030 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1031 IF (p_object_version_number IS NULL) THEN
1032 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'object_version_number');
1033 x_return_status := OKL_API.G_RET_STS_ERROR;
1034 RAISE G_EXCEPTION_HALT_VALIDATION;
1035 END IF;
1036 EXCEPTION
1037 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1038 null;
1039 WHEN OTHERS THEN
1040 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
1041 ,p_msg_name => G_UNEXPECTED_ERROR
1042 ,p_token1 => G_SQLCODE_TOKEN
1043 ,p_token1_value => SQLCODE
1044 ,p_token2 => G_SQLERRM_TOKEN
1045 ,p_token2_value => SQLERRM);
1046 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1047 END validate_object_version_number;
1048 -------------------------------------
1049 -- Validate_Attributes for: KHR_ID --
1050 -------------------------------------
1051 PROCEDURE validate_khr_id(
1052 x_return_status OUT NOCOPY VARCHAR2,
1053 p_khr_id IN NUMBER) IS
1054 BEGIN
1055 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1056 IF (p_khr_id IS NULL) THEN
1057 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'khr_id');
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 null;
1064 WHEN OTHERS THEN
1065 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
1066 ,p_msg_name => G_UNEXPECTED_ERROR
1067 ,p_token1 => G_SQLCODE_TOKEN
1068 ,p_token1_value => SQLCODE
1069 ,p_token2 => G_SQLERRM_TOKEN
1070 ,p_token2_value => SQLERRM);
1071 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1072 END validate_khr_id;
1073 -------------------------------------
1074 -- Validate_Attributes for: TRY_ID --
1075 -------------------------------------
1076 PROCEDURE validate_try_id(
1077 x_return_status OUT NOCOPY VARCHAR2,
1078 p_try_id IN NUMBER) IS
1079 BEGIN
1080 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1081 IF (p_try_id IS NULL) THEN
1082 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'try_id');
1083 x_return_status := OKL_API.G_RET_STS_ERROR;
1084 RAISE G_EXCEPTION_HALT_VALIDATION;
1085 END IF;
1086 EXCEPTION
1087 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1088 null;
1089 WHEN OTHERS THEN
1090 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
1091 ,p_msg_name => G_UNEXPECTED_ERROR
1092 ,p_token1 => G_SQLCODE_TOKEN
1093 ,p_token1_value => SQLCODE
1094 ,p_token2 => G_SQLERRM_TOKEN
1095 ,p_token2_value => SQLERRM);
1096 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1097 END validate_try_id;
1098 ---------------------------------------
1099 -- Validate_Attributes for: LANGUAGE --
1100 ---------------------------------------
1101 PROCEDURE validate_language(
1102 x_return_status OUT NOCOPY VARCHAR2,
1103 p_language IN VARCHAR2) IS
1104 BEGIN
1105 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1106 IF (p_language IS NULL) THEN
1107 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'language');
1108 x_return_status := OKL_API.G_RET_STS_ERROR;
1109 RAISE G_EXCEPTION_HALT_VALIDATION;
1110 END IF;
1111 EXCEPTION
1112 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1113 null;
1114 WHEN OTHERS THEN
1115 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
1116 ,p_msg_name => G_UNEXPECTED_ERROR
1117 ,p_token1 => G_SQLCODE_TOKEN
1118 ,p_token1_value => SQLCODE
1119 ,p_token2 => G_SQLERRM_TOKEN
1120 ,p_token2_value => SQLERRM);
1121 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1122 END validate_language;
1123 -------------------------------------
1124 -- Validate_Attributes for: PARTY_ID --
1125 -------------------------------------
1126 PROCEDURE validate_party_id(
1127 x_return_status OUT NOCOPY VARCHAR2,
1128 p_party_id IN NUMBER) IS
1129
1130 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1131 l_party_id NUMBER;
1132 l_row_not_found BOOLEAN := FALSE;
1133 CURSOR check_party_id_csr(p_party_id NUMBER) IS
1134 SELECT '1'
1135 FROM hz_parties
1136 WHERE party_id = p_party_id;
1137 BEGIN
1138 IF ( p_party_id IS NOT NULL) THEN
1139 -- initialize return status
1140 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1141 OPEN check_party_id_csr(p_party_id );
1142 FETCH check_party_id_csr INTO l_party_id ;
1143 l_row_not_found := check_party_id_csr%NOTFOUND;
1144 CLOSE check_party_id_csr;
1145 IF l_row_not_found THEN
1146 OKC_API.set_message('OKL',G_INVALID_VALUE , G_COL_NAME_TOKEN, 'PARTY_ID');
1147 x_return_status := OKC_API.G_RET_STS_ERROR;
1148 END IF;
1149 END IF;
1150 EXCEPTION
1151 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1152 -- no processing necessary; validation can continue
1153 -- with the next column
1154 NULL;
1155 WHEN OTHERS THEN
1156 -- store SQL error message on message stack for caller
1157 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1158 p_msg_name => g_unexpected_error,
1159 p_token1 => g_sqlcode_token,
1160 p_token1_value => SQLCODE,
1161 p_token2 => g_sqlerrm_token,
1162 p_token2_value => SQLERRM);
1163
1164 -- notify caller of an UNEXPECTED error
1165 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1166 END validate_party_id;
1167 ---------------------------------------------
1168 -- Validate_Attributes for: CUST_ACCOUNT_ID --
1169 -----------------------------------------------
1170 PROCEDURE validate_cust_account_id(
1171 x_return_status OUT NOCOPY VARCHAR2,
1172 p_cust_account_id IN NUMBER) IS
1173 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1174 l_cust_account_id NUMBER;
1175 l_row_not_found BOOLEAN := FALSE;
1176 CURSOR check_cust_account_id_csr(p_cust_account_id NUMBER) IS
1177 SELECT '1'
1178 FROM hz_cust_accounts
1179 WHERE cust_account_id = p_cust_account_id;
1180 BEGIN
1181 IF ( p_cust_account_id IS NOT NULL) THEN
1182 -- initialize return status
1183 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1184 OPEN check_cust_account_id_csr(p_cust_account_id);
1185 FETCH check_cust_account_id_csr INTO l_cust_account_id ;
1186 l_row_not_found := check_cust_account_id_csr%NOTFOUND;
1187 CLOSE check_cust_account_id_csr;
1188 IF l_row_not_found THEN
1189 OKC_API.set_message('OKL',G_INVALID_VALUE , G_COL_NAME_TOKEN, 'CUST_ACCOUNT_ID');
1190 x_return_status := OKC_API.G_RET_STS_ERROR;
1191 END IF;
1192 END IF;
1193 EXCEPTION
1194 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1195 -- no processing necessary; validation can continue
1196 -- with the next column
1197 NULL;
1198 WHEN OTHERS THEN
1199 -- store SQL error message on message stack for caller
1200 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1201 p_msg_name => g_unexpected_error,
1202 p_token1 => g_sqlcode_token,
1203 p_token1_value => SQLCODE,
1204 p_token2 => g_sqlerrm_token,
1205 p_token2_value => SQLERRM);
1206
1207 -- notify caller of an UNEXPECTED error
1208 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1209 END validate_cust_account_id;
1210 ---------------------------------------------------------------------------
1211 -- FUNCTION Validate_Attributes
1212 ---------------------------------------------------------------------------
1213 ---------------------------------------------------------
1214 -- Validate_Attributes for:OKL_EXT_AP_HEADER_SOURCES_V --
1215 ---------------------------------------------------------
1216 FUNCTION Validate_Attributes (
1217 p_pxhv_rec IN pxhv_rec_type
1218 ) RETURN VARCHAR2 IS
1219 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1220 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1221 BEGIN
1222 -----------------------------
1223 -- Column Level Validation --
1224 -----------------------------
1225 -- ***
1226 -- header_extension_id
1227 -- ***
1228 validate_header_extension_id(x_return_status, p_pxhv_rec.header_extension_id);
1229 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1230 l_return_status := x_return_status;
1231 RAISE G_EXCEPTION_HALT_VALIDATION;
1232 END IF;
1233
1234 -- ***
1235 -- source_id
1236 -- ***
1237 validate_source_id(x_return_status, p_pxhv_rec.source_id);
1238 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1239 l_return_status := x_return_status;
1240 RAISE G_EXCEPTION_HALT_VALIDATION;
1241 END IF;
1242
1243 -- ***
1244 -- source_table
1245 -- ***
1246 validate_source_table(x_return_status, p_pxhv_rec.source_table);
1247 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1248 l_return_status := x_return_status;
1249 RAISE G_EXCEPTION_HALT_VALIDATION;
1250 END IF;
1251
1252 -- ***
1253 -- object_version_number
1254 -- ***
1255 validate_object_version_number(x_return_status, p_pxhv_rec.object_version_number);
1256 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1257 l_return_status := x_return_status;
1258 RAISE G_EXCEPTION_HALT_VALIDATION;
1259 END IF;
1260
1261 -- ***
1262 -- khr_id
1263 -- ***
1264 validate_khr_id(x_return_status, p_pxhv_rec.khr_id);
1265 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1266 l_return_status := x_return_status;
1267 RAISE G_EXCEPTION_HALT_VALIDATION;
1268 END IF;
1269
1270 -- ***
1271 -- try_id
1272 -- ***
1273 validate_try_id(x_return_status, p_pxhv_rec.try_id);
1274 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1275 l_return_status := x_return_status;
1276 RAISE G_EXCEPTION_HALT_VALIDATION;
1277 END IF;
1278
1279 -- ***
1280 -- language
1281 -- ***
1282 validate_language(x_return_status, p_pxhv_rec.language);
1283 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1284 l_return_status := x_return_status;
1285 RAISE G_EXCEPTION_HALT_VALIDATION;
1286 END IF;
1287
1288 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
1289 -- ***
1290 -- party_id
1291 -- ***
1292 validate_party_id(x_return_status, p_pxhv_rec.party_id);
1293 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1294 l_return_status := x_return_status;
1295 RAISE G_EXCEPTION_HALT_VALIDATION;
1296 END IF;
1297
1298 -- ***
1299 -- cust_account_id
1300 -- ***
1301 validate_cust_account_id(x_return_status, p_pxhv_rec.cust_account_id);
1302 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1303 l_return_status := x_return_status;
1304 RAISE G_EXCEPTION_HALT_VALIDATION;
1305 END IF;
1306
1307 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
1308 RETURN(l_return_status);
1309 EXCEPTION
1310 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1311 RETURN(l_return_status);
1312 WHEN OTHERS THEN
1313 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
1314 ,p_msg_name => G_UNEXPECTED_ERROR
1315 ,p_token1 => G_SQLCODE_TOKEN
1316 ,p_token1_value => SQLCODE
1317 ,p_token2 => G_SQLERRM_TOKEN
1318 ,p_token2_value => SQLERRM);
1319 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1320 RETURN(l_return_status);
1321 END Validate_Attributes;
1322 ---------------------------------------------------------------------------
1323 -- PROCEDURE Validate_Record
1324 ---------------------------------------------------------------------------
1325 -----------------------------------------------------
1326 -- Validate Record for:OKL_EXT_AP_HEADER_SOURCES_V --
1327 -----------------------------------------------------
1328 FUNCTION Validate_Record (
1329 p_pxhv_rec IN pxhv_rec_type,
1330 p_db_pxhv_rec IN pxhv_rec_type
1331 ) RETURN VARCHAR2 IS
1332 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1333 BEGIN
1334 RETURN (l_return_status);
1335 END Validate_Record;
1336 FUNCTION Validate_Record (
1337 p_pxhv_rec IN pxhv_rec_type
1338 ) RETURN VARCHAR2 IS
1339 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1340 l_db_pxhv_rec pxhv_rec_type := get_rec(p_pxhv_rec);
1341 BEGIN
1342 l_return_status := Validate_Record(p_pxhv_rec => p_pxhv_rec,
1343 p_db_pxhv_rec => l_db_pxhv_rec);
1344 RETURN (l_return_status);
1345 END Validate_Record;
1346
1347 ---------------------------------------------------------------------------
1348 -- PROCEDURE Migrate
1349 ---------------------------------------------------------------------------
1350 PROCEDURE migrate (
1351 p_from IN pxhv_rec_type,
1352 p_to IN OUT NOCOPY pxh_rec_type
1353 ) IS
1354 BEGIN
1355 p_to.header_extension_id := p_from.header_extension_id;
1356 p_to.source_id := p_from.source_id;
1357 p_to.source_table := p_from.source_table;
1358 p_to.object_version_number := p_from.object_version_number;
1359 p_to.khr_id := p_from.khr_id;
1360 p_to.try_id := p_from.try_id;
1361 p_to.trans_number := p_from.trans_number;
1362 p_to.contract_number := p_from.contract_number;
1363 p_to.customer_name := p_from.customer_name;
1364 p_to.cust_account_number := p_from.cust_account_number;
1365 p_to.product_name := p_from.product_name;
1366 p_to.book_classification_code := p_from.book_classification_code;
1367 p_to.tax_owner_code := p_from.tax_owner_code;
1368 p_to.int_calc_method_code := p_from.int_calc_method_code;
1369 p_to.rev_rec_method_code := p_from.rev_rec_method_code;
1370 p_to.scs_code := p_from.scs_code;
1371 p_to.converted_number := p_from.converted_number;
1372 p_to.contract_effective_from := p_from.contract_effective_from;
1373 p_to.contract_currency_code := p_from.contract_currency_code;
1374 p_to.sales_rep_name := p_from.sales_rep_name;
1375 p_to.po_order_number := p_from.po_order_number;
1376 p_to.vendor_program_number := p_from.vendor_program_number;
1377 p_to.assignable_flag := p_from.assignable_flag;
1378 p_to.converted_account_flag := p_from.converted_account_flag;
1379 p_to.accrual_override_flag := p_from.accrual_override_flag;
1380 p_to.khr_attribute_category := p_from.khr_attribute_category;
1381 p_to.khr_attribute1 := p_from.khr_attribute1;
1382 p_to.khr_attribute2 := p_from.khr_attribute2;
1383 p_to.khr_attribute3 := p_from.khr_attribute3;
1384 p_to.khr_attribute4 := p_from.khr_attribute4;
1385 p_to.khr_attribute5 := p_from.khr_attribute5;
1386 p_to.khr_attribute6 := p_from.khr_attribute6;
1387 p_to.khr_attribute7 := p_from.khr_attribute7;
1388 p_to.khr_attribute8 := p_from.khr_attribute8;
1389 p_to.khr_attribute9 := p_from.khr_attribute9;
1390 p_to.khr_attribute10 := p_from.khr_attribute10;
1391 p_to.khr_attribute11 := p_from.khr_attribute11;
1392 p_to.khr_attribute12 := p_from.khr_attribute12;
1393 p_to.khr_attribute13 := p_from.khr_attribute13;
1394 p_to.khr_attribute14 := p_from.khr_attribute14;
1395 p_to.khr_attribute15 := p_from.khr_attribute15;
1396 p_to.cust_attribute_category := p_from.cust_attribute_category;
1397 p_to.cust_attribute1 := p_from.cust_attribute1;
1398 p_to.cust_attribute2 := p_from.cust_attribute2;
1399 p_to.cust_attribute3 := p_from.cust_attribute3;
1400 p_to.cust_attribute4 := p_from.cust_attribute4;
1401 p_to.cust_attribute5 := p_from.cust_attribute5;
1402 p_to.cust_attribute6 := p_from.cust_attribute6;
1403 p_to.cust_attribute7 := p_from.cust_attribute7;
1404 p_to.cust_attribute8 := p_from.cust_attribute8;
1405 p_to.cust_attribute9 := p_from.cust_attribute9;
1406 p_to.cust_attribute10 := p_from.cust_attribute10;
1407 p_to.cust_attribute11 := p_from.cust_attribute11;
1408 p_to.cust_attribute12 := p_from.cust_attribute12;
1409 p_to.cust_attribute13 := p_from.cust_attribute13;
1410 p_to.cust_attribute14 := p_from.cust_attribute14;
1411 p_to.cust_attribute15 := p_from.cust_attribute15;
1412 p_to.rent_ia_contract_number := p_from.rent_ia_contract_number;
1413 p_to.rent_ia_product_name := p_from.rent_ia_product_name;
1414 p_to.rent_ia_accounting_code := p_from.rent_ia_accounting_code;
1415 p_to.res_ia_contract_number := p_from.res_ia_contract_number;
1416 p_to.res_ia_product_name := p_from.res_ia_product_name;
1417 p_to.res_ia_accounting_code := p_from.res_ia_accounting_code;
1418 p_to.inv_agrmnt_number := p_from.inv_agrmnt_number;
1419 p_to.inv_agrmnt_effective_from := p_from.inv_agrmnt_effective_from;
1420 p_to.inv_agrmnt_product_name := p_from.inv_agrmnt_product_name;
1421 p_to.inv_agrmnt_currency_code := p_from.inv_agrmnt_currency_code;
1422 p_to.inv_agrmnt_synd_code := p_from.inv_agrmnt_synd_code;
1423 p_to.inv_agrmnt_pool_number := p_from.inv_agrmnt_pool_number;
1424 p_to.contract_status_code := p_from.contract_status_code;
1425 p_to.inv_agrmnt_status_code := p_from.inv_agrmnt_status_code;
1426 p_to.trx_type_class_code := p_from.trx_type_class_code;
1427 p_to.created_by := p_from.created_by;
1428 p_to.creation_date := p_from.creation_date;
1429 p_to.last_updated_by := p_from.last_updated_by;
1430 p_to.last_update_date := p_from.last_update_date;
1431 p_to.last_update_login := p_from.last_update_login;
1432 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
1433 p_to.party_id := p_from.party_id;
1434 p_to.cust_account_id := p_from.cust_account_id;
1435 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
1436 END migrate;
1437 PROCEDURE migrate (
1438 p_from IN pxh_rec_type,
1439 p_to IN OUT NOCOPY pxhv_rec_type
1440 ) IS
1441 BEGIN
1442 p_to.header_extension_id := p_from.header_extension_id;
1443 p_to.source_id := p_from.source_id;
1444 p_to.source_table := p_from.source_table;
1445 p_to.object_version_number := p_from.object_version_number;
1446 p_to.khr_id := p_from.khr_id;
1447 p_to.try_id := p_from.try_id;
1448 p_to.trans_number := p_from.trans_number;
1449 p_to.contract_number := p_from.contract_number;
1450 p_to.customer_name := p_from.customer_name;
1451 p_to.cust_account_number := p_from.cust_account_number;
1452 p_to.product_name := p_from.product_name;
1453 p_to.book_classification_code := p_from.book_classification_code;
1454 p_to.tax_owner_code := p_from.tax_owner_code;
1455 p_to.int_calc_method_code := p_from.int_calc_method_code;
1456 p_to.rev_rec_method_code := p_from.rev_rec_method_code;
1457 p_to.scs_code := p_from.scs_code;
1458 p_to.converted_number := p_from.converted_number;
1459 p_to.contract_effective_from := p_from.contract_effective_from;
1460 p_to.contract_currency_code := p_from.contract_currency_code;
1461 p_to.sales_rep_name := p_from.sales_rep_name;
1462 p_to.po_order_number := p_from.po_order_number;
1463 p_to.vendor_program_number := p_from.vendor_program_number;
1464 p_to.assignable_flag := p_from.assignable_flag;
1465 p_to.converted_account_flag := p_from.converted_account_flag;
1466 p_to.accrual_override_flag := p_from.accrual_override_flag;
1467 p_to.khr_attribute_category := p_from.khr_attribute_category;
1468 p_to.khr_attribute1 := p_from.khr_attribute1;
1469 p_to.khr_attribute2 := p_from.khr_attribute2;
1470 p_to.khr_attribute3 := p_from.khr_attribute3;
1471 p_to.khr_attribute4 := p_from.khr_attribute4;
1472 p_to.khr_attribute5 := p_from.khr_attribute5;
1473 p_to.khr_attribute6 := p_from.khr_attribute6;
1474 p_to.khr_attribute7 := p_from.khr_attribute7;
1475 p_to.khr_attribute8 := p_from.khr_attribute8;
1476 p_to.khr_attribute9 := p_from.khr_attribute9;
1477 p_to.khr_attribute10 := p_from.khr_attribute10;
1478 p_to.khr_attribute11 := p_from.khr_attribute11;
1479 p_to.khr_attribute12 := p_from.khr_attribute12;
1480 p_to.khr_attribute13 := p_from.khr_attribute13;
1481 p_to.khr_attribute14 := p_from.khr_attribute14;
1482 p_to.khr_attribute15 := p_from.khr_attribute15;
1483 p_to.cust_attribute_category := p_from.cust_attribute_category;
1484 p_to.cust_attribute1 := p_from.cust_attribute1;
1485 p_to.cust_attribute2 := p_from.cust_attribute2;
1486 p_to.cust_attribute3 := p_from.cust_attribute3;
1487 p_to.cust_attribute4 := p_from.cust_attribute4;
1488 p_to.cust_attribute5 := p_from.cust_attribute5;
1489 p_to.cust_attribute6 := p_from.cust_attribute6;
1490 p_to.cust_attribute7 := p_from.cust_attribute7;
1491 p_to.cust_attribute8 := p_from.cust_attribute8;
1492 p_to.cust_attribute9 := p_from.cust_attribute9;
1493 p_to.cust_attribute10 := p_from.cust_attribute10;
1494 p_to.cust_attribute11 := p_from.cust_attribute11;
1495 p_to.cust_attribute12 := p_from.cust_attribute12;
1496 p_to.cust_attribute13 := p_from.cust_attribute13;
1497 p_to.cust_attribute14 := p_from.cust_attribute14;
1498 p_to.cust_attribute15 := p_from.cust_attribute15;
1499 p_to.rent_ia_contract_number := p_from.rent_ia_contract_number;
1500 p_to.rent_ia_product_name := p_from.rent_ia_product_name;
1501 p_to.rent_ia_accounting_code := p_from.rent_ia_accounting_code;
1502 p_to.res_ia_contract_number := p_from.res_ia_contract_number;
1503 p_to.res_ia_product_name := p_from.res_ia_product_name;
1504 p_to.res_ia_accounting_code := p_from.res_ia_accounting_code;
1505 p_to.inv_agrmnt_number := p_from.inv_agrmnt_number;
1506 p_to.inv_agrmnt_effective_from := p_from.inv_agrmnt_effective_from;
1507 p_to.inv_agrmnt_product_name := p_from.inv_agrmnt_product_name;
1508 p_to.inv_agrmnt_currency_code := p_from.inv_agrmnt_currency_code;
1509 p_to.inv_agrmnt_synd_code := p_from.inv_agrmnt_synd_code;
1510 p_to.inv_agrmnt_pool_number := p_from.inv_agrmnt_pool_number;
1511 p_to.contract_status_code := p_from.contract_status_code;
1512 p_to.inv_agrmnt_status_code := p_from.inv_agrmnt_status_code;
1513 p_to.trx_type_class_code := p_from.trx_type_class_code;
1514 p_to.created_by := p_from.created_by;
1515 p_to.creation_date := p_from.creation_date;
1516 p_to.last_updated_by := p_from.last_updated_by;
1517 p_to.last_update_date := p_from.last_update_date;
1518 p_to.last_update_login := p_from.last_update_login;
1519 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
1520 p_to.party_id := p_from.party_id;
1521 p_to.cust_account_id := p_from.cust_account_id;
1522 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
1523 END migrate;
1524 PROCEDURE migrate (
1525 p_from IN pxhv_rec_type,
1526 p_to IN OUT NOCOPY pxhl_rec_type
1527 ) IS
1528 BEGIN
1529 p_to.header_extension_id := p_from.header_extension_id;
1530 p_to.language := p_from.language;
1531 p_to.contract_status := p_from.contract_status;
1532 p_to.inv_agrmnt_status := p_from.inv_agrmnt_status;
1533 p_to.transaction_type_name := p_from.transaction_type_name;
1534 p_to.created_by := p_from.created_by;
1535 p_to.creation_date := p_from.creation_date;
1536 p_to.last_updated_by := p_from.last_updated_by;
1537 p_to.last_update_date := p_from.last_update_date;
1538 p_to.last_update_login := p_from.last_update_login;
1539 END migrate;
1540 PROCEDURE migrate (
1541 p_from IN pxhl_rec_type,
1542 p_to IN OUT NOCOPY pxhv_rec_type
1543 ) IS
1544 BEGIN
1545 p_to.header_extension_id := p_from.header_extension_id;
1546 p_to.language := p_from.language;
1547 p_to.contract_status := p_from.contract_status;
1548 p_to.inv_agrmnt_status := p_from.inv_agrmnt_status;
1549 p_to.transaction_type_name := p_from.transaction_type_name;
1550 p_to.created_by := p_from.created_by;
1551 p_to.creation_date := p_from.creation_date;
1552 p_to.last_updated_by := p_from.last_updated_by;
1553 p_to.last_update_date := p_from.last_update_date;
1554 p_to.last_update_login := p_from.last_update_login;
1555 END migrate;
1556 ---------------------------------------------------------------------------
1557 -- PROCEDURE validate_row
1558 ---------------------------------------------------------------------------
1559 --------------------------------------------------
1560 -- validate_row for:OKL_EXT_AP_HEADER_SOURCES_V --
1561 --------------------------------------------------
1562 PROCEDURE validate_row(
1563 p_api_version IN NUMBER,
1564 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1565 x_return_status OUT NOCOPY VARCHAR2,
1566 x_msg_count OUT NOCOPY NUMBER,
1567 x_msg_data OUT NOCOPY VARCHAR2,
1568 p_pxhv_rec IN pxhv_rec_type) IS
1569
1570 l_api_version CONSTANT NUMBER := 1;
1571 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
1572 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1573 l_pxhv_rec pxhv_rec_type := p_pxhv_rec;
1574 l_pxh_rec pxh_rec_type;
1575 l_pxhl_rec pxhl_rec_type;
1576 BEGIN
1577 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1578 G_PKG_NAME,
1579 p_init_msg_list,
1580 l_api_version,
1581 p_api_version,
1582 '_PVT',
1583 x_return_status);
1584 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1585 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1586 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1587 RAISE OKL_API.G_EXCEPTION_ERROR;
1588 END IF;
1589 --- Validate all non-missing attributes (Item Level Validation)
1590 l_return_status := Validate_Attributes(l_pxhv_rec);
1591 --- If any errors happen abort API
1592 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1593 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1594 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1595 RAISE OKL_API.G_EXCEPTION_ERROR;
1596 END IF;
1597 l_return_status := Validate_Record(l_pxhv_rec);
1598 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1599 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1600 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1601 RAISE OKL_API.G_EXCEPTION_ERROR;
1602 END IF;
1603 x_return_status := l_return_status;
1604 EXCEPTION
1605 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1606 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1607 (
1608 l_api_name,
1609 G_PKG_NAME,
1610 'OKL_API.G_RET_STS_ERROR',
1611 x_msg_count,
1612 x_msg_data,
1613 '_PVT'
1614 );
1615 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1616 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1617 (
1618 l_api_name,
1619 G_PKG_NAME,
1620 'OKL_API.G_RET_STS_UNEXP_ERROR',
1621 x_msg_count,
1622 x_msg_data,
1623 '_PVT'
1624 );
1625 WHEN OTHERS THEN
1626 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1627 (
1628 l_api_name,
1629 G_PKG_NAME,
1630 'OTHERS',
1631 x_msg_count,
1632 x_msg_data,
1633 '_PVT'
1634 );
1635 END validate_row;
1636 -------------------------------------------------------------
1637 -- PL/SQL TBL validate_row for:OKL_EXT_AP_HEADER_SOURCES_V --
1638 -------------------------------------------------------------
1639 PROCEDURE validate_row(
1640 p_api_version IN NUMBER,
1641 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1642 x_return_status OUT NOCOPY VARCHAR2,
1643 x_msg_count OUT NOCOPY NUMBER,
1644 x_msg_data OUT NOCOPY VARCHAR2,
1645 p_pxhv_tbl IN pxhv_tbl_type,
1646 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
1647
1648 l_api_version CONSTANT NUMBER := 1;
1649 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
1650 i NUMBER := 0;
1651 BEGIN
1652 OKL_API.init_msg_list(p_init_msg_list);
1653 -- Make sure PL/SQL table has records in it before passing
1654 IF (p_pxhv_tbl.COUNT > 0) THEN
1655 i := p_pxhv_tbl.FIRST;
1656 LOOP
1657 DECLARE
1658 l_error_rec OKL_API.ERROR_REC_TYPE;
1659 BEGIN
1660 l_error_rec.api_name := l_api_name;
1661 l_error_rec.api_package := G_PKG_NAME;
1662 l_error_rec.idx := i;
1663 validate_row (
1664 p_api_version => p_api_version,
1665 p_init_msg_list => OKL_API.G_FALSE,
1666 x_return_status => l_error_rec.error_type,
1667 x_msg_count => l_error_rec.msg_count,
1668 x_msg_data => l_error_rec.msg_data,
1669 p_pxhv_rec => p_pxhv_tbl(i));
1670 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
1671 l_error_rec.sqlcode := SQLCODE;
1672 load_error_tbl(l_error_rec, px_error_tbl);
1673 ELSE
1674 x_msg_count := l_error_rec.msg_count;
1675 x_msg_data := l_error_rec.msg_data;
1676 END IF;
1677 EXCEPTION
1678 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1679 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
1680 l_error_rec.sqlcode := SQLCODE;
1681 load_error_tbl(l_error_rec, px_error_tbl);
1682 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1683 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
1684 l_error_rec.sqlcode := SQLCODE;
1685 load_error_tbl(l_error_rec, px_error_tbl);
1686 WHEN OTHERS THEN
1687 l_error_rec.error_type := 'OTHERS';
1688 l_error_rec.sqlcode := SQLCODE;
1689 load_error_tbl(l_error_rec, px_error_tbl);
1690 END;
1691 EXIT WHEN (i = p_pxhv_tbl.LAST);
1692 i := p_pxhv_tbl.NEXT(i);
1693 END LOOP;
1694 END IF;
1695 -- Loop through the error_tbl to find the error with the highest severity
1696 -- and return it.
1697 x_return_status := find_highest_exception(px_error_tbl);
1698 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1699 EXCEPTION
1700 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1701 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1702 (
1703 l_api_name,
1704 G_PKG_NAME,
1705 'OKL_API.G_RET_STS_ERROR',
1706 x_msg_count,
1707 x_msg_data,
1708 '_PVT'
1709 );
1710 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1711 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1712 (
1713 l_api_name,
1714 G_PKG_NAME,
1715 'OKL_API.G_RET_STS_UNEXP_ERROR',
1716 x_msg_count,
1717 x_msg_data,
1718 '_PVT'
1719 );
1720 WHEN OTHERS THEN
1721 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1722 (
1723 l_api_name,
1724 G_PKG_NAME,
1725 'OTHERS',
1726 x_msg_count,
1727 x_msg_data,
1728 '_PVT'
1729 );
1730 END validate_row;
1731
1732 -------------------------------------------------------------
1733 -- PL/SQL TBL validate_row for:OKL_EXT_AP_HEADER_SOURCES_V --
1734 -------------------------------------------------------------
1735 PROCEDURE validate_row(
1736 p_api_version IN NUMBER,
1737 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1738 x_return_status OUT NOCOPY VARCHAR2,
1739 x_msg_count OUT NOCOPY NUMBER,
1740 x_msg_data OUT NOCOPY VARCHAR2,
1741 p_pxhv_tbl IN pxhv_tbl_type) IS
1742
1743 l_api_version CONSTANT NUMBER := 1;
1744 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1745 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1746 l_error_tbl OKL_API.ERROR_TBL_TYPE;
1747 BEGIN
1748 OKL_API.init_msg_list(p_init_msg_list);
1749 -- Make sure PL/SQL table has records in it before passing
1750 IF (p_pxhv_tbl.COUNT > 0) THEN
1751 validate_row (
1752 p_api_version => p_api_version,
1753 p_init_msg_list => OKL_API.G_FALSE,
1754 x_return_status => x_return_status,
1755 x_msg_count => x_msg_count,
1756 x_msg_data => x_msg_data,
1757 p_pxhv_tbl => p_pxhv_tbl,
1758 px_error_tbl => l_error_tbl);
1759 END IF;
1760 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1761 EXCEPTION
1762 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1763 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1764 (
1765 l_api_name,
1766 G_PKG_NAME,
1767 'OKL_API.G_RET_STS_ERROR',
1768 x_msg_count,
1769 x_msg_data,
1770 '_PVT'
1771 );
1772 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1773 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1774 (
1775 l_api_name,
1776 G_PKG_NAME,
1777 'OKL_API.G_RET_STS_UNEXP_ERROR',
1778 x_msg_count,
1779 x_msg_data,
1780 '_PVT'
1781 );
1782 WHEN OTHERS THEN
1783 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1784 (
1785 l_api_name,
1786 G_PKG_NAME,
1787 'OTHERS',
1788 x_msg_count,
1789 x_msg_data,
1790 '_PVT'
1791 );
1792 END validate_row;
1793
1794 ---------------------------------------------------------------------------
1795 -- PROCEDURE insert_row
1796 ---------------------------------------------------------------------------
1797 ------------------------------------------------
1798 -- insert_row for:OKL_EXT_AP_HEADER_SOURCES_B --
1799 ------------------------------------------------
1800 PROCEDURE insert_row(
1801 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1802 x_return_status OUT NOCOPY VARCHAR2,
1803 x_msg_count OUT NOCOPY NUMBER,
1804 x_msg_data OUT NOCOPY VARCHAR2,
1805 p_pxh_rec IN pxh_rec_type,
1806 x_pxh_rec OUT NOCOPY pxh_rec_type) IS
1807
1808 l_api_version CONSTANT NUMBER := 1;
1809 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
1810 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1811 l_pxh_rec pxh_rec_type := p_pxh_rec;
1812 l_def_pxh_rec pxh_rec_type;
1813 ----------------------------------------------------
1814 -- Set_Attributes for:OKL_EXT_AP_HEADER_SOURCES_B --
1815 ----------------------------------------------------
1816 FUNCTION Set_Attributes (
1817 p_pxh_rec IN pxh_rec_type,
1818 x_pxh_rec OUT NOCOPY pxh_rec_type
1819 ) RETURN VARCHAR2 IS
1820 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1821 BEGIN
1822 x_pxh_rec := p_pxh_rec;
1823 RETURN(l_return_status);
1824 END Set_Attributes;
1825 BEGIN
1826 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1827 p_init_msg_list,
1828 '_PVT',
1829 x_return_status);
1830 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1831 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1832 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1833 RAISE OKL_API.G_EXCEPTION_ERROR;
1834 END IF;
1835 --- Setting item atributes
1836 l_return_status := Set_Attributes(
1837 l_pxh_rec, -- IN
1838 l_def_pxh_rec); -- OUT
1839 --- If any errors happen abort API
1840 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1841 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1842 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1843 RAISE OKL_API.G_EXCEPTION_ERROR;
1844 END IF;
1845 INSERT INTO OKL_EXT_AP_HEADER_SOURCES_B(
1846 header_extension_id,
1847 source_id,
1848 source_table,
1849 object_version_number,
1850 khr_id,
1851 try_id,
1852 trans_number,
1853 contract_number,
1854 customer_name,
1855 cust_account_number,
1856 product_name,
1857 book_classification_code,
1858 tax_owner_code,
1859 int_calc_method_code,
1860 rev_rec_method_code,
1861 scs_code,
1862 converted_number,
1863 contract_effective_from,
1864 contract_currency_code,
1865 sales_rep_name,
1866 po_order_number,
1867 vendor_program_number,
1868 assignable_flag,
1869 converted_account_flag,
1870 accrual_override_flag,
1871 khr_attribute_category,
1872 khr_attribute1,
1873 khr_attribute2,
1874 khr_attribute3,
1875 khr_attribute4,
1876 khr_attribute5,
1877 khr_attribute6,
1878 khr_attribute7,
1879 khr_attribute8,
1880 khr_attribute9,
1881 khr_attribute10,
1882 khr_attribute11,
1883 khr_attribute12,
1884 khr_attribute13,
1885 khr_attribute14,
1886 khr_attribute15,
1887 cust_attribute_category,
1888 cust_attribute1,
1889 cust_attribute2,
1890 cust_attribute3,
1891 cust_attribute4,
1892 cust_attribute5,
1893 cust_attribute6,
1894 cust_attribute7,
1895 cust_attribute8,
1896 cust_attribute9,
1897 cust_attribute10,
1898 cust_attribute11,
1899 cust_attribute12,
1900 cust_attribute13,
1901 cust_attribute14,
1902 cust_attribute15,
1903 rent_ia_contract_number,
1904 rent_ia_product_name,
1905 rent_ia_accounting_code,
1906 res_ia_contract_number,
1907 res_ia_product_name,
1908 res_ia_accounting_code,
1909 inv_agrmnt_number,
1910 inv_agrmnt_effective_from,
1911 inv_agrmnt_product_name,
1912 inv_agrmnt_currency_code,
1913 inv_agrmnt_synd_code,
1914 inv_agrmnt_pool_number,
1915 contract_status_code,
1916 inv_agrmnt_status_code,
1917 trx_type_class_code,
1918 created_by,
1919 creation_date,
1920 last_updated_by,
1921 last_update_date,
1922 last_update_login,
1923 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
1924 party_id,
1925 cust_account_id
1926 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
1927 )
1928 VALUES (
1929 l_def_pxh_rec.header_extension_id,
1930 l_def_pxh_rec.source_id,
1931 l_def_pxh_rec.source_table,
1932 l_def_pxh_rec.object_version_number,
1933 l_def_pxh_rec.khr_id,
1934 l_def_pxh_rec.try_id,
1935 l_def_pxh_rec.trans_number,
1936 l_def_pxh_rec.contract_number,
1937 l_def_pxh_rec.customer_name,
1938 l_def_pxh_rec.cust_account_number,
1939 l_def_pxh_rec.product_name,
1940 l_def_pxh_rec.book_classification_code,
1941 l_def_pxh_rec.tax_owner_code,
1942 l_def_pxh_rec.int_calc_method_code,
1943 l_def_pxh_rec.rev_rec_method_code,
1944 l_def_pxh_rec.scs_code,
1945 l_def_pxh_rec.converted_number,
1946 l_def_pxh_rec.contract_effective_from,
1947 l_def_pxh_rec.contract_currency_code,
1948 l_def_pxh_rec.sales_rep_name,
1949 l_def_pxh_rec.po_order_number,
1950 l_def_pxh_rec.vendor_program_number,
1951 l_def_pxh_rec.assignable_flag,
1952 l_def_pxh_rec.converted_account_flag,
1953 l_def_pxh_rec.accrual_override_flag,
1954 l_def_pxh_rec.khr_attribute_category,
1955 l_def_pxh_rec.khr_attribute1,
1956 l_def_pxh_rec.khr_attribute2,
1957 l_def_pxh_rec.khr_attribute3,
1958 l_def_pxh_rec.khr_attribute4,
1959 l_def_pxh_rec.khr_attribute5,
1960 l_def_pxh_rec.khr_attribute6,
1961 l_def_pxh_rec.khr_attribute7,
1962 l_def_pxh_rec.khr_attribute8,
1963 l_def_pxh_rec.khr_attribute9,
1964 l_def_pxh_rec.khr_attribute10,
1965 l_def_pxh_rec.khr_attribute11,
1966 l_def_pxh_rec.khr_attribute12,
1967 l_def_pxh_rec.khr_attribute13,
1968 l_def_pxh_rec.khr_attribute14,
1969 l_def_pxh_rec.khr_attribute15,
1970 l_def_pxh_rec.cust_attribute_category,
1971 l_def_pxh_rec.cust_attribute1,
1972 l_def_pxh_rec.cust_attribute2,
1973 l_def_pxh_rec.cust_attribute3,
1974 l_def_pxh_rec.cust_attribute4,
1975 l_def_pxh_rec.cust_attribute5,
1976 l_def_pxh_rec.cust_attribute6,
1977 l_def_pxh_rec.cust_attribute7,
1978 l_def_pxh_rec.cust_attribute8,
1979 l_def_pxh_rec.cust_attribute9,
1980 l_def_pxh_rec.cust_attribute10,
1981 l_def_pxh_rec.cust_attribute11,
1982 l_def_pxh_rec.cust_attribute12,
1983 l_def_pxh_rec.cust_attribute13,
1984 l_def_pxh_rec.cust_attribute14,
1985 l_def_pxh_rec.cust_attribute15,
1986 l_def_pxh_rec.rent_ia_contract_number,
1987 l_def_pxh_rec.rent_ia_product_name,
1988 l_def_pxh_rec.rent_ia_accounting_code,
1989 l_def_pxh_rec.res_ia_contract_number,
1990 l_def_pxh_rec.res_ia_product_name,
1991 l_def_pxh_rec.res_ia_accounting_code,
1992 l_def_pxh_rec.inv_agrmnt_number,
1993 l_def_pxh_rec.inv_agrmnt_effective_from,
1994 l_def_pxh_rec.inv_agrmnt_product_name,
1995 l_def_pxh_rec.inv_agrmnt_currency_code,
1996 l_def_pxh_rec.inv_agrmnt_synd_code,
1997 l_def_pxh_rec.inv_agrmnt_pool_number,
1998 l_def_pxh_rec.contract_status_code,
1999 l_def_pxh_rec.inv_agrmnt_status_code,
2000 l_def_pxh_rec.trx_type_class_code,
2001 l_def_pxh_rec.created_by,
2002 l_def_pxh_rec.creation_date,
2003 l_def_pxh_rec.last_updated_by,
2004 l_def_pxh_rec.last_update_date,
2005 l_def_pxh_rec.last_update_login,
2006 l_def_pxh_rec.party_id,
2007 l_def_pxh_rec.cust_account_id
2008 );
2009 -- Set OUT values
2010 x_pxh_rec := l_def_pxh_rec;
2011 x_return_status := l_return_status;
2012 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2013 EXCEPTION
2014 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2015 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2016 (
2017 l_api_name,
2018 G_PKG_NAME,
2019 'OKL_API.G_RET_STS_ERROR',
2020 x_msg_count,
2021 x_msg_data,
2022 '_PVT'
2023 );
2024 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2025 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2026 (
2027 l_api_name,
2028 G_PKG_NAME,
2029 'OKL_API.G_RET_STS_UNEXP_ERROR',
2030 x_msg_count,
2031 x_msg_data,
2032 '_PVT'
2033 );
2034 WHEN OTHERS THEN
2035 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2036 (
2037 l_api_name,
2038 G_PKG_NAME,
2039 'OTHERS',
2040 x_msg_count,
2041 x_msg_data,
2042 '_PVT'
2043 );
2044 END insert_row;
2045 -------------------------------------------------
2046 -- insert_row for:OKL_EXT_AP_HEADER_SOURCES_TL --
2047 -------------------------------------------------
2048 PROCEDURE insert_row(
2049 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2050 x_return_status OUT NOCOPY VARCHAR2,
2051 x_msg_count OUT NOCOPY NUMBER,
2052 x_msg_data OUT NOCOPY VARCHAR2,
2053 p_pxhl_rec IN pxhl_rec_type,
2054 x_pxhl_rec OUT NOCOPY pxhl_rec_type) IS
2055
2056 l_api_version CONSTANT NUMBER := 1;
2057 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
2058 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2059 l_pxhl_rec pxhl_rec_type := p_pxhl_rec;
2060 l_def_pxhl_rec pxhl_rec_type;
2061 CURSOR get_languages IS
2062 SELECT *
2063 FROM FND_LANGUAGES
2064 WHERE INSTALLED_FLAG IN ('I', 'B');
2065 -----------------------------------------------------
2066 -- Set_Attributes for:OKL_EXT_AP_HEADER_SOURCES_TL --
2067 -----------------------------------------------------
2068 FUNCTION Set_Attributes (
2069 p_pxhl_rec IN pxhl_rec_type,
2070 x_pxhl_rec OUT NOCOPY pxhl_rec_type
2071 ) RETURN VARCHAR2 IS
2072 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2073 BEGIN
2074 x_pxhl_rec := p_pxhl_rec;
2075 x_pxhl_rec.SFWT_FLAG := 'N';
2076 x_pxhl_rec.SOURCE_LANG := USERENV('LANG');
2077 RETURN(l_return_status);
2078 END Set_Attributes;
2079 BEGIN
2080 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2081 p_init_msg_list,
2082 '_PVT',
2083 x_return_status);
2084 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2085 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2086 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2087 RAISE OKL_API.G_EXCEPTION_ERROR;
2088 END IF;
2089 --- Setting item attributes
2090 l_return_status := Set_Attributes(
2091 p_pxhl_rec, -- IN
2092 l_pxhl_rec); -- OUT
2093 --- If any errors happen abort API
2094 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2095 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2096 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2097 RAISE OKL_API.G_EXCEPTION_ERROR;
2098 END IF;
2099 INSERT INTO OKL_EXT_AP_HEADER_SOURCES_TL(
2100 header_extension_id,
2101 language,
2102 source_lang,
2103 sfwt_flag,
2104 contract_status,
2105 inv_agrmnt_status,
2106 transaction_type_name,
2107 created_by,
2108 creation_date,
2109 last_updated_by,
2110 last_update_date,
2111 last_update_login)
2112 VALUES (
2113 l_pxhl_rec.header_extension_id,
2114 l_pxhl_rec.language,
2115 l_pxhl_rec.source_lang,
2116 l_pxhl_rec.sfwt_flag,
2117 l_pxhl_rec.contract_status,
2118 l_pxhl_rec.inv_agrmnt_status,
2119 l_pxhl_rec.transaction_type_name,
2120 l_pxhl_rec.created_by,
2121 l_pxhl_rec.creation_date,
2122 l_pxhl_rec.last_updated_by,
2123 l_pxhl_rec.last_update_date,
2124 l_pxhl_rec.last_update_login);
2125 -- Set OUT values
2126 x_pxhl_rec := l_pxhl_rec;
2127 x_return_status := l_return_status;
2128 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2129 EXCEPTION
2130 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2131 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2132 (
2133 l_api_name,
2134 G_PKG_NAME,
2135 'OKL_API.G_RET_STS_ERROR',
2136 x_msg_count,
2137 x_msg_data,
2138 '_PVT'
2139 );
2140 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2141 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2142 (
2143 l_api_name,
2144 G_PKG_NAME,
2145 'OKL_API.G_RET_STS_UNEXP_ERROR',
2146 x_msg_count,
2147 x_msg_data,
2148 '_PVT'
2149 );
2150 WHEN OTHERS THEN
2151 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2152 (
2153 l_api_name,
2154 G_PKG_NAME,
2155 'OTHERS',
2156 x_msg_count,
2157 x_msg_data,
2158 '_PVT'
2159 );
2160 END insert_row;
2161 -------------------------------------------------
2162 -- insert_row for :OKL_EXT_AP_HEADER_SOURCES_B --
2163 -------------------------------------------------
2164 PROCEDURE insert_row(
2165 p_api_version IN NUMBER,
2166 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2167 x_return_status OUT NOCOPY VARCHAR2,
2168 x_msg_count OUT NOCOPY NUMBER,
2169 x_msg_data OUT NOCOPY VARCHAR2,
2170 p_pxhv_rec IN pxhv_rec_type,
2171 x_pxhv_rec OUT NOCOPY pxhv_rec_type) IS
2172
2173 l_api_version CONSTANT NUMBER := 1;
2174 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
2175 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2176 l_pxhv_rec pxhv_rec_type := p_pxhv_rec;
2177 l_def_pxhv_rec pxhv_rec_type;
2178 l_pxh_rec pxh_rec_type;
2179 lx_pxh_rec pxh_rec_type;
2180 l_pxhl_rec pxhl_rec_type;
2181 lx_pxhl_rec pxhl_rec_type;
2182 -------------------------------
2183 -- FUNCTION fill_who_columns --
2184 -------------------------------
2185 FUNCTION fill_who_columns (
2186 p_pxhv_rec IN pxhv_rec_type
2187 ) RETURN pxhv_rec_type IS
2188 l_pxhv_rec pxhv_rec_type := p_pxhv_rec;
2189 BEGIN
2190 l_pxhv_rec.CREATION_DATE := SYSDATE;
2191 l_pxhv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
2192 l_pxhv_rec.LAST_UPDATE_DATE := l_pxhv_rec.CREATION_DATE;
2193 l_pxhv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2194 l_pxhv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2195 RETURN(l_pxhv_rec);
2196 END fill_who_columns;
2197 ----------------------------------------------------
2198 -- Set_Attributes for:OKL_EXT_AP_HEADER_SOURCES_B --
2199 ----------------------------------------------------
2200 FUNCTION Set_Attributes (
2201 p_pxhv_rec IN pxhv_rec_type,
2202 x_pxhv_rec OUT NOCOPY pxhv_rec_type
2203 ) RETURN VARCHAR2 IS
2204 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2205 BEGIN
2206 x_pxhv_rec := p_pxhv_rec;
2207 x_pxhv_rec.OBJECT_VERSION_NUMBER := 1;
2208 RETURN(l_return_status);
2209 END Set_Attributes;
2210 BEGIN
2211 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2212 G_PKG_NAME,
2213 p_init_msg_list,
2214 l_api_version,
2215 p_api_version,
2216 '_PVT',
2217 x_return_status);
2218 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2219 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2220 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2221 RAISE OKL_API.G_EXCEPTION_ERROR;
2222 END IF;
2223 l_pxhv_rec := null_out_defaults(p_pxhv_rec);
2224 -- Set primary key value
2225 l_pxhv_rec.HEADER_EXTENSION_ID := get_seq_id;
2226 -- Setting item attributes
2227 l_return_Status := Set_Attributes(
2228 l_pxhv_rec, -- IN
2229 l_def_pxhv_rec); -- OUT
2230 --- If any errors happen abort API
2231 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2232 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2233 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2234 RAISE OKL_API.G_EXCEPTION_ERROR;
2235 END IF;
2236 l_def_pxhv_rec := fill_who_columns(l_def_pxhv_rec);
2237 --- Validate all non-missing attributes (Item Level Validation)
2238 l_return_status := Validate_Attributes(l_def_pxhv_rec);
2239 --- If any errors happen abort API
2240 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2241 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2242 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2243 RAISE OKL_API.G_EXCEPTION_ERROR;
2244 END IF;
2245 l_return_status := Validate_Record(l_def_pxhv_rec);
2246 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2247 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2248 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2249 RAISE OKL_API.G_EXCEPTION_ERROR;
2250 END IF;
2251 -----------------------------------------
2252 -- Move VIEW record to "Child" records --
2253 -----------------------------------------
2254 migrate(l_def_pxhv_rec, l_pxh_rec);
2255 migrate(l_def_pxhv_rec, l_pxhl_rec);
2256 -----------------------------------------------
2257 -- Call the INSERT_ROW for each child record --
2258 -----------------------------------------------
2259 insert_row(
2260 p_init_msg_list,
2261 l_return_status,
2262 x_msg_count,
2263 x_msg_data,
2264 l_pxh_rec,
2265 lx_pxh_rec
2266 );
2267 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2268 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2269 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2270 RAISE OKL_API.G_EXCEPTION_ERROR;
2271 END IF;
2272 migrate(lx_pxh_rec, l_def_pxhv_rec);
2273 insert_row(
2274 p_init_msg_list,
2275 l_return_status,
2276 x_msg_count,
2277 x_msg_data,
2278 l_pxhl_rec,
2279 lx_pxhl_rec
2280 );
2281 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2282 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2283 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2284 RAISE OKL_API.G_EXCEPTION_ERROR;
2285 END IF;
2286 migrate(lx_pxhl_rec, l_def_pxhv_rec);
2287 -- Set OUT values
2288 x_pxhv_rec := l_def_pxhv_rec;
2289 x_return_status := l_return_status;
2290 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2291 EXCEPTION
2292 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2293 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2294 (
2295 l_api_name,
2296 G_PKG_NAME,
2297 'OKL_API.G_RET_STS_ERROR',
2298 x_msg_count,
2299 x_msg_data,
2300 '_PVT'
2301 );
2302 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2303 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2304 (
2305 l_api_name,
2306 G_PKG_NAME,
2307 'OKL_API.G_RET_STS_UNEXP_ERROR',
2308 x_msg_count,
2309 x_msg_data,
2310 '_PVT'
2311 );
2312 WHEN OTHERS THEN
2313 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2314 (
2315 l_api_name,
2316 G_PKG_NAME,
2317 'OTHERS',
2318 x_msg_count,
2319 x_msg_data,
2320 '_PVT'
2321 );
2322 END insert_row;
2323 ----------------------------------------
2324 -- PL/SQL TBL insert_row for:PXHV_TBL --
2325 ----------------------------------------
2326 PROCEDURE insert_row(
2327 p_api_version IN NUMBER,
2328 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2329 x_return_status OUT NOCOPY VARCHAR2,
2330 x_msg_count OUT NOCOPY NUMBER,
2331 x_msg_data OUT NOCOPY VARCHAR2,
2332 p_pxhv_tbl IN pxhv_tbl_type,
2333 x_pxhv_tbl OUT NOCOPY pxhv_tbl_type,
2334 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
2335
2336 l_api_version CONSTANT NUMBER := 1;
2337 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
2338 i NUMBER := 0;
2339 BEGIN
2340 OKL_API.init_msg_list(p_init_msg_list);
2341 -- Make sure PL/SQL table has records in it before passing
2342 IF (p_pxhv_tbl.COUNT > 0) THEN
2343 i := p_pxhv_tbl.FIRST;
2344 LOOP
2345 DECLARE
2346 l_error_rec OKL_API.ERROR_REC_TYPE;
2347 BEGIN
2348 l_error_rec.api_name := l_api_name;
2349 l_error_rec.api_package := G_PKG_NAME;
2350 l_error_rec.idx := i;
2351 insert_row (
2352 p_api_version => p_api_version,
2353 p_init_msg_list => OKL_API.G_FALSE,
2354 x_return_status => l_error_rec.error_type,
2355 x_msg_count => l_error_rec.msg_count,
2356 x_msg_data => l_error_rec.msg_data,
2357 p_pxhv_rec => p_pxhv_tbl(i),
2358 x_pxhv_rec => x_pxhv_tbl(i));
2359 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
2360 l_error_rec.sqlcode := SQLCODE;
2361 load_error_tbl(l_error_rec, px_error_tbl);
2362 ELSE
2363 x_msg_count := l_error_rec.msg_count;
2364 x_msg_data := l_error_rec.msg_data;
2365 END IF;
2366 EXCEPTION
2367 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2368 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
2369 l_error_rec.sqlcode := SQLCODE;
2370 load_error_tbl(l_error_rec, px_error_tbl);
2371 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2372 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
2373 l_error_rec.sqlcode := SQLCODE;
2374 load_error_tbl(l_error_rec, px_error_tbl);
2375 WHEN OTHERS THEN
2376 l_error_rec.error_type := 'OTHERS';
2377 l_error_rec.sqlcode := SQLCODE;
2378 load_error_tbl(l_error_rec, px_error_tbl);
2379 END;
2380 EXIT WHEN (i = p_pxhv_tbl.LAST);
2381 i := p_pxhv_tbl.NEXT(i);
2382 END LOOP;
2383 END IF;
2384 -- Loop through the error_tbl to find the error with the highest severity
2385 -- and return it.
2386 x_return_status := find_highest_exception(px_error_tbl);
2387 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2388 EXCEPTION
2389 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2390 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2391 (
2392 l_api_name,
2393 G_PKG_NAME,
2394 'OKL_API.G_RET_STS_ERROR',
2395 x_msg_count,
2396 x_msg_data,
2397 '_PVT'
2398 );
2399 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2400 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2401 (
2402 l_api_name,
2403 G_PKG_NAME,
2404 'OKL_API.G_RET_STS_UNEXP_ERROR',
2405 x_msg_count,
2406 x_msg_data,
2407 '_PVT'
2408 );
2409 WHEN OTHERS THEN
2410 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2411 (
2412 l_api_name,
2413 G_PKG_NAME,
2414 'OTHERS',
2415 x_msg_count,
2416 x_msg_data,
2417 '_PVT'
2418 );
2419 END insert_row;
2420
2421 ----------------------------------------
2422 -- PL/SQL TBL insert_row for:PXHV_TBL --
2423 ----------------------------------------
2424 PROCEDURE insert_row(
2425 p_api_version IN NUMBER,
2426 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2427 x_return_status OUT NOCOPY VARCHAR2,
2428 x_msg_count OUT NOCOPY NUMBER,
2429 x_msg_data OUT NOCOPY VARCHAR2,
2430 p_pxhv_tbl IN pxhv_tbl_type,
2431 x_pxhv_tbl OUT NOCOPY pxhv_tbl_type) IS
2432
2433 l_api_version CONSTANT NUMBER := 1;
2434 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
2435 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2436 l_error_tbl OKL_API.ERROR_TBL_TYPE;
2437 BEGIN
2438 OKL_API.init_msg_list(p_init_msg_list);
2439 -- Make sure PL/SQL table has records in it before passing
2440 IF (p_pxhv_tbl.COUNT > 0) THEN
2441 insert_row (
2442 p_api_version => p_api_version,
2443 p_init_msg_list => OKL_API.G_FALSE,
2444 x_return_status => x_return_status,
2445 x_msg_count => x_msg_count,
2446 x_msg_data => x_msg_data,
2447 p_pxhv_tbl => p_pxhv_tbl,
2448 x_pxhv_tbl => x_pxhv_tbl,
2449 px_error_tbl => l_error_tbl);
2450 END IF;
2451 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2452 EXCEPTION
2453 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2454 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2455 (
2456 l_api_name,
2457 G_PKG_NAME,
2458 'OKL_API.G_RET_STS_ERROR',
2459 x_msg_count,
2460 x_msg_data,
2461 '_PVT'
2462 );
2463 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2464 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2465 (
2466 l_api_name,
2467 G_PKG_NAME,
2468 'OKL_API.G_RET_STS_UNEXP_ERROR',
2469 x_msg_count,
2470 x_msg_data,
2471 '_PVT'
2472 );
2473 WHEN OTHERS THEN
2474 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2475 (
2476 l_api_name,
2477 G_PKG_NAME,
2478 'OTHERS',
2479 x_msg_count,
2480 x_msg_data,
2481 '_PVT'
2482 );
2483 END insert_row;
2484
2485 ---------------------------------------------------------------------------
2486 -- PROCEDURE lock_row
2487 ---------------------------------------------------------------------------
2488 ----------------------------------------------
2489 -- lock_row for:OKL_EXT_AP_HEADER_SOURCES_B --
2490 ----------------------------------------------
2491 PROCEDURE lock_row(
2492 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2493 x_return_status OUT NOCOPY VARCHAR2,
2494 x_msg_count OUT NOCOPY NUMBER,
2495 x_msg_data OUT NOCOPY VARCHAR2,
2496 p_pxh_rec IN pxh_rec_type) IS
2497
2498 E_Resource_Busy EXCEPTION;
2499 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2500 CURSOR lock_csr (p_pxh_rec IN pxh_rec_type) IS
2501 SELECT OBJECT_VERSION_NUMBER
2502 FROM OKL_EXT_AP_HEADER_SOURCES_B
2503 WHERE HEADER_EXTENSION_ID = p_pxh_rec.header_extension_id
2504 AND OBJECT_VERSION_NUMBER = p_pxh_rec.object_version_number
2505 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
2506
2507 CURSOR lchk_csr (p_pxh_rec IN pxh_rec_type) IS
2508 SELECT OBJECT_VERSION_NUMBER
2509 FROM OKL_EXT_AP_HEADER_SOURCES_B
2510 WHERE HEADER_EXTENSION_ID = p_pxh_rec.header_extension_id;
2511 l_api_version CONSTANT NUMBER := 1;
2512 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
2513 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2514 l_object_version_number OKL_EXT_AP_HEADER_SOURCES_B.OBJECT_VERSION_NUMBER%TYPE;
2515 lc_object_version_number OKL_EXT_AP_HEADER_SOURCES_B.OBJECT_VERSION_NUMBER%TYPE;
2516 l_row_notfound BOOLEAN := FALSE;
2517 lc_row_notfound BOOLEAN := FALSE;
2518 BEGIN
2519 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2520 p_init_msg_list,
2521 '_PVT',
2522 x_return_status);
2523 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2524 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2525 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2526 RAISE OKL_API.G_EXCEPTION_ERROR;
2527 END IF;
2528 BEGIN
2529 OPEN lock_csr(p_pxh_rec);
2530 FETCH lock_csr INTO l_object_version_number;
2531 l_row_notfound := lock_csr%NOTFOUND;
2532 CLOSE lock_csr;
2533 EXCEPTION
2534 WHEN E_Resource_Busy THEN
2535 IF (lock_csr%ISOPEN) THEN
2536 CLOSE lock_csr;
2537 END IF;
2538 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2539 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2540 END;
2541
2542 IF ( l_row_notfound ) THEN
2543 OPEN lchk_csr(p_pxh_rec);
2544 FETCH lchk_csr INTO lc_object_version_number;
2545 lc_row_notfound := lchk_csr%NOTFOUND;
2546 CLOSE lchk_csr;
2547 END IF;
2548 IF (lc_row_notfound) THEN
2549 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2550 RAISE OKL_API.G_EXCEPTION_ERROR;
2551 ELSIF lc_object_version_number > p_pxh_rec.object_version_number THEN
2552 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2553 RAISE OKL_API.G_EXCEPTION_ERROR;
2554 ELSIF lc_object_version_number <> p_pxh_rec.object_version_number THEN
2555 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2556 RAISE OKL_API.G_EXCEPTION_ERROR;
2557 ELSIF lc_object_version_number = -1 THEN
2558 OKL_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
2559 RAISE OKL_API.G_EXCEPTION_ERROR;
2560 END IF;
2561 x_return_status := l_return_status;
2562 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2563 EXCEPTION
2564 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2565 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2566 (
2567 l_api_name,
2568 G_PKG_NAME,
2569 'OKL_API.G_RET_STS_ERROR',
2570 x_msg_count,
2571 x_msg_data,
2572 '_PVT'
2573 );
2574 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2575 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2576 (
2577 l_api_name,
2578 G_PKG_NAME,
2579 'OKL_API.G_RET_STS_UNEXP_ERROR',
2580 x_msg_count,
2581 x_msg_data,
2582 '_PVT'
2583 );
2584 WHEN OTHERS THEN
2585 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2586 (
2587 l_api_name,
2588 G_PKG_NAME,
2589 'OTHERS',
2590 x_msg_count,
2591 x_msg_data,
2592 '_PVT'
2593 );
2594 END lock_row;
2595 -----------------------------------------------
2596 -- lock_row for:OKL_EXT_AP_HEADER_SOURCES_TL --
2597 -----------------------------------------------
2598 PROCEDURE lock_row(
2599 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2600 x_return_status OUT NOCOPY VARCHAR2,
2601 x_msg_count OUT NOCOPY NUMBER,
2602 x_msg_data OUT NOCOPY VARCHAR2,
2603 p_pxhl_rec IN pxhl_rec_type) IS
2604
2605 E_Resource_Busy EXCEPTION;
2606 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2607 CURSOR lock_csr (p_pxhl_rec IN pxhl_rec_type) IS
2608 SELECT *
2609 FROM OKL_EXT_AP_HEADER_SOURCES_TL
2610 WHERE HEADER_EXTENSION_ID = p_pxhl_rec.header_extension_id
2611 FOR UPDATE NOWAIT;
2612
2613 l_api_version CONSTANT NUMBER := 1;
2614 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
2615 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2616 l_lock_var lock_csr%ROWTYPE;
2617 l_row_notfound BOOLEAN := FALSE;
2618 lc_row_notfound BOOLEAN := FALSE;
2619 BEGIN
2620 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2621 p_init_msg_list,
2622 '_PVT',
2623 x_return_status);
2624 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2625 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2626 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2627 RAISE OKL_API.G_EXCEPTION_ERROR;
2628 END IF;
2629 BEGIN
2630 OPEN lock_csr(p_pxhl_rec);
2631 FETCH lock_csr INTO l_lock_var;
2632 l_row_notfound := lock_csr%NOTFOUND;
2633 CLOSE lock_csr;
2634 EXCEPTION
2635 WHEN E_Resource_Busy THEN
2636 IF (lock_csr%ISOPEN) THEN
2637 CLOSE lock_csr;
2638 END IF;
2639 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2640 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2641 END;
2642
2643 IF ( l_row_notfound ) THEN
2644 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2645 RAISE OKL_API.G_EXCEPTION_ERROR;
2646 END IF;
2647 x_return_status := l_return_status;
2648 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2649 EXCEPTION
2650 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2651 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2652 (
2653 l_api_name,
2654 G_PKG_NAME,
2655 'OKL_API.G_RET_STS_ERROR',
2656 x_msg_count,
2657 x_msg_data,
2658 '_PVT'
2659 );
2660 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2661 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2662 (
2663 l_api_name,
2664 G_PKG_NAME,
2665 'OKL_API.G_RET_STS_UNEXP_ERROR',
2666 x_msg_count,
2667 x_msg_data,
2668 '_PVT'
2669 );
2670 WHEN OTHERS THEN
2671 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2672 (
2673 l_api_name,
2674 G_PKG_NAME,
2675 'OTHERS',
2676 x_msg_count,
2677 x_msg_data,
2678 '_PVT'
2679 );
2680 END lock_row;
2681 -----------------------------------------------
2682 -- lock_row for: OKL_EXT_AP_HEADER_SOURCES_V --
2683 -----------------------------------------------
2684 PROCEDURE lock_row(
2685 p_api_version IN NUMBER,
2686 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2687 x_return_status OUT NOCOPY VARCHAR2,
2688 x_msg_count OUT NOCOPY NUMBER,
2689 x_msg_data OUT NOCOPY VARCHAR2,
2690 p_pxhv_rec IN pxhv_rec_type) IS
2691
2692 l_api_version CONSTANT NUMBER := 1;
2693 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
2694 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2695 l_pxh_rec pxh_rec_type;
2696 l_pxhl_rec pxhl_rec_type;
2697 BEGIN
2698 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2699 G_PKG_NAME,
2700 p_init_msg_list,
2701 l_api_version,
2702 p_api_version,
2703 '_PVT',
2704 x_return_status);
2705 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2706 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2707 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2708 RAISE OKL_API.G_EXCEPTION_ERROR;
2709 END IF;
2710 -----------------------------------------
2711 -- Move VIEW record to "Child" records --
2712 -----------------------------------------
2713 migrate(p_pxhv_rec, l_pxh_rec);
2714 migrate(p_pxhv_rec, l_pxhl_rec);
2715 ---------------------------------------------
2716 -- Call the LOCK_ROW for each child record --
2717 ---------------------------------------------
2718 lock_row(
2719 p_init_msg_list,
2720 l_return_status,
2721 x_msg_count,
2722 x_msg_data,
2723 l_pxh_rec
2724 );
2725 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2726 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2727 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2728 RAISE OKL_API.G_EXCEPTION_ERROR;
2729 END IF;
2730 lock_row(
2731 p_init_msg_list,
2732 l_return_status,
2733 x_msg_count,
2734 x_msg_data,
2735 l_pxhl_rec
2736 );
2737 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2738 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2739 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2740 RAISE OKL_API.G_EXCEPTION_ERROR;
2741 END IF;
2742 x_return_status := l_return_status;
2743 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2744 EXCEPTION
2745 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2746 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2747 (
2748 l_api_name,
2749 G_PKG_NAME,
2750 'OKL_API.G_RET_STS_ERROR',
2751 x_msg_count,
2752 x_msg_data,
2753 '_PVT'
2754 );
2755 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2756 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2757 (
2758 l_api_name,
2759 G_PKG_NAME,
2760 'OKL_API.G_RET_STS_UNEXP_ERROR',
2761 x_msg_count,
2762 x_msg_data,
2763 '_PVT'
2764 );
2765 WHEN OTHERS THEN
2766 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2767 (
2768 l_api_name,
2769 G_PKG_NAME,
2770 'OTHERS',
2771 x_msg_count,
2772 x_msg_data,
2773 '_PVT'
2774 );
2775 END lock_row;
2776 --------------------------------------
2777 -- PL/SQL TBL lock_row for:PXHV_TBL --
2778 --------------------------------------
2779 PROCEDURE lock_row(
2780 p_api_version IN NUMBER,
2781 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2782 x_return_status OUT NOCOPY VARCHAR2,
2783 x_msg_count OUT NOCOPY NUMBER,
2784 x_msg_data OUT NOCOPY VARCHAR2,
2785 p_pxhv_tbl IN pxhv_tbl_type,
2786 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
2787
2788 l_api_version CONSTANT NUMBER := 1;
2789 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
2790 i NUMBER := 0;
2791 BEGIN
2792 OKL_API.init_msg_list(p_init_msg_list);
2793 -- Make sure PL/SQL table has recrods in it before passing
2794 IF (p_pxhv_tbl.COUNT > 0) THEN
2795 i := p_pxhv_tbl.FIRST;
2796 LOOP
2797 DECLARE
2798 l_error_rec OKL_API.ERROR_REC_TYPE;
2799 BEGIN
2800 l_error_rec.api_name := l_api_name;
2801 l_error_rec.api_package := G_PKG_NAME;
2802 l_error_rec.idx := i;
2803 lock_row(
2804 p_api_version => p_api_version,
2805 p_init_msg_list => OKL_API.G_FALSE,
2806 x_return_status => l_error_rec.error_type,
2807 x_msg_count => l_error_rec.msg_count,
2808 x_msg_data => l_error_rec.msg_data,
2809 p_pxhv_rec => p_pxhv_tbl(i));
2810 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
2811 l_error_rec.sqlcode := SQLCODE;
2812 load_error_tbl(l_error_rec, px_error_tbl);
2813 ELSE
2814 x_msg_count := l_error_rec.msg_count;
2815 x_msg_data := l_error_rec.msg_data;
2816 END IF;
2817 EXCEPTION
2818 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2819 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
2820 l_error_rec.sqlcode := SQLCODE;
2821 load_error_tbl(l_error_rec, px_error_tbl);
2822 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2823 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
2824 l_error_rec.sqlcode := SQLCODE;
2825 load_error_tbl(l_error_rec, px_error_tbl);
2826 WHEN OTHERS THEN
2827 l_error_rec.error_type := 'OTHERS';
2828 l_error_rec.sqlcode := SQLCODE;
2829 load_error_tbl(l_error_rec, px_error_tbl);
2830 END;
2831 EXIT WHEN (i = p_pxhv_tbl.LAST);
2832 i := p_pxhv_tbl.NEXT(i);
2833 END LOOP;
2834 END IF;
2835 -- Loop through the error_tbl to find the error with the highest severity
2836 -- and return it.
2837 x_return_status := find_highest_exception(px_error_tbl);
2838 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2839 EXCEPTION
2840 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2841 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2842 (
2843 l_api_name,
2844 G_PKG_NAME,
2845 'OKL_API.G_RET_STS_ERROR',
2846 x_msg_count,
2847 x_msg_data,
2848 '_PVT'
2849 );
2850 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2851 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2852 (
2853 l_api_name,
2854 G_PKG_NAME,
2855 'OKL_API.G_RET_STS_UNEXP_ERROR',
2856 x_msg_count,
2857 x_msg_data,
2858 '_PVT'
2859 );
2860 WHEN OTHERS THEN
2861 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2862 (
2863 l_api_name,
2864 G_PKG_NAME,
2865 'OTHERS',
2866 x_msg_count,
2867 x_msg_data,
2868 '_PVT'
2869 );
2870 END lock_row;
2871 --------------------------------------
2872 -- PL/SQL TBL lock_row for:PXHV_TBL --
2873 --------------------------------------
2874 PROCEDURE lock_row(
2875 p_api_version IN NUMBER,
2876 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2877 x_return_status OUT NOCOPY VARCHAR2,
2878 x_msg_count OUT NOCOPY NUMBER,
2879 x_msg_data OUT NOCOPY VARCHAR2,
2880 p_pxhv_tbl IN pxhv_tbl_type) IS
2881
2882 l_api_version CONSTANT NUMBER := 1;
2883 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2884 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2885 l_error_tbl OKL_API.ERROR_TBL_TYPE;
2886 BEGIN
2887 OKL_API.init_msg_list(p_init_msg_list);
2888 -- Make sure PL/SQL table has recrods in it before passing
2889 IF (p_pxhv_tbl.COUNT > 0) THEN
2890 lock_row(
2891 p_api_version => p_api_version,
2892 p_init_msg_list => OKL_API.G_FALSE,
2893 x_return_status => x_return_status,
2894 x_msg_count => x_msg_count,
2895 x_msg_data => x_msg_data,
2896 p_pxhv_tbl => p_pxhv_tbl,
2897 px_error_tbl => l_error_tbl);
2898 END IF;
2899 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2900 EXCEPTION
2901 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2902 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2903 (
2904 l_api_name,
2905 G_PKG_NAME,
2906 'OKL_API.G_RET_STS_ERROR',
2907 x_msg_count,
2908 x_msg_data,
2909 '_PVT'
2910 );
2911 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2912 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2913 (
2914 l_api_name,
2915 G_PKG_NAME,
2916 'OKL_API.G_RET_STS_UNEXP_ERROR',
2917 x_msg_count,
2918 x_msg_data,
2919 '_PVT'
2920 );
2921 WHEN OTHERS THEN
2922 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2923 (
2924 l_api_name,
2925 G_PKG_NAME,
2926 'OTHERS',
2927 x_msg_count,
2928 x_msg_data,
2929 '_PVT'
2930 );
2931 END lock_row;
2932 ---------------------------------------------------------------------------
2933 -- PROCEDURE update_row
2934 ---------------------------------------------------------------------------
2935 ------------------------------------------------
2936 -- update_row for:OKL_EXT_AP_HEADER_SOURCES_B --
2937 ------------------------------------------------
2938 PROCEDURE update_row(
2939 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2940 x_return_status OUT NOCOPY VARCHAR2,
2941 x_msg_count OUT NOCOPY NUMBER,
2942 x_msg_data OUT NOCOPY VARCHAR2,
2943 p_pxh_rec IN pxh_rec_type,
2944 x_pxh_rec OUT NOCOPY pxh_rec_type) IS
2945
2946 l_api_version CONSTANT NUMBER := 1;
2947 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
2948 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2949 l_pxh_rec pxh_rec_type := p_pxh_rec;
2950 l_def_pxh_rec pxh_rec_type;
2951 l_row_notfound BOOLEAN := TRUE;
2952 ----------------------------------
2953 -- FUNCTION populate_new_record --
2954 ----------------------------------
2955 FUNCTION populate_new_record (
2956 p_pxh_rec IN pxh_rec_type,
2957 x_pxh_rec OUT NOCOPY pxh_rec_type
2958 ) RETURN VARCHAR2 IS
2959 l_pxh_rec pxh_rec_type;
2960 l_row_notfound BOOLEAN := TRUE;
2961 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2962 BEGIN
2963 x_pxh_rec := p_pxh_rec;
2964 -- Get current database values
2965 l_pxh_rec := get_rec(p_pxh_rec, l_return_status);
2966 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
2967 IF x_pxh_rec.header_extension_id IS NULL THEN
2968 x_pxh_rec.header_extension_id := l_pxh_rec.header_extension_id;
2969 END IF;
2970 IF x_pxh_rec.source_id IS NULL THEN
2971 x_pxh_rec.source_id := l_pxh_rec.source_id;
2972 END IF;
2973 IF x_pxh_rec.source_table IS NULL THEN
2974 x_pxh_rec.source_table := l_pxh_rec.source_table;
2975 END IF;
2976 IF x_pxh_rec.object_version_number IS NULL THEN
2977 x_pxh_rec.object_version_number := l_pxh_rec.object_version_number;
2978 END IF;
2979 IF x_pxh_rec.khr_id IS NULL THEN
2980 x_pxh_rec.khr_id := l_pxh_rec.khr_id;
2981 END IF;
2982 IF x_pxh_rec.try_id IS NULL THEN
2983 x_pxh_rec.try_id := l_pxh_rec.try_id;
2984 END IF;
2985 IF x_pxh_rec.trans_number IS NULL THEN
2986 x_pxh_rec.trans_number := l_pxh_rec.trans_number;
2987 END IF;
2988 IF x_pxh_rec.contract_number IS NULL THEN
2989 x_pxh_rec.contract_number := l_pxh_rec.contract_number;
2990 END IF;
2991 IF x_pxh_rec.customer_name IS NULL THEN
2992 x_pxh_rec.customer_name := l_pxh_rec.customer_name;
2993 END IF;
2994 IF x_pxh_rec.cust_account_number IS NULL THEN
2995 x_pxh_rec.cust_account_number := l_pxh_rec.cust_account_number;
2996 END IF;
2997 IF x_pxh_rec.product_name IS NULL THEN
2998 x_pxh_rec.product_name := l_pxh_rec.product_name;
2999 END IF;
3000 IF x_pxh_rec.book_classification_code IS NULL THEN
3001 x_pxh_rec.book_classification_code := l_pxh_rec.book_classification_code;
3002 END IF;
3003 IF x_pxh_rec.tax_owner_code IS NULL THEN
3004 x_pxh_rec.tax_owner_code := l_pxh_rec.tax_owner_code;
3005 END IF;
3006 IF x_pxh_rec.int_calc_method_code IS NULL THEN
3007 x_pxh_rec.int_calc_method_code := l_pxh_rec.int_calc_method_code;
3008 END IF;
3009 IF x_pxh_rec.rev_rec_method_code IS NULL THEN
3010 x_pxh_rec.rev_rec_method_code := l_pxh_rec.rev_rec_method_code;
3011 END IF;
3012 IF x_pxh_rec.scs_code IS NULL THEN
3013 x_pxh_rec.scs_code := l_pxh_rec.scs_code;
3014 END IF;
3015 IF x_pxh_rec.converted_number IS NULL THEN
3016 x_pxh_rec.converted_number := l_pxh_rec.converted_number;
3017 END IF;
3018 IF x_pxh_rec.contract_effective_from IS NULL THEN
3019 x_pxh_rec.contract_effective_from := l_pxh_rec.contract_effective_from;
3020 END IF;
3021 IF x_pxh_rec.contract_currency_code IS NULL THEN
3022 x_pxh_rec.contract_currency_code := l_pxh_rec.contract_currency_code;
3023 END IF;
3024 IF x_pxh_rec.sales_rep_name IS NULL THEN
3025 x_pxh_rec.sales_rep_name := l_pxh_rec.sales_rep_name;
3026 END IF;
3027 IF x_pxh_rec.po_order_number IS NULL THEN
3028 x_pxh_rec.po_order_number := l_pxh_rec.po_order_number;
3029 END IF;
3030 IF x_pxh_rec.vendor_program_number IS NULL THEN
3031 x_pxh_rec.vendor_program_number := l_pxh_rec.vendor_program_number;
3032 END IF;
3033 IF x_pxh_rec.assignable_flag IS NULL THEN
3034 x_pxh_rec.assignable_flag := l_pxh_rec.assignable_flag;
3035 END IF;
3036 IF x_pxh_rec.converted_account_flag IS NULL THEN
3037 x_pxh_rec.converted_account_flag := l_pxh_rec.converted_account_flag;
3038 END IF;
3039 IF x_pxh_rec.accrual_override_flag IS NULL THEN
3040 x_pxh_rec.accrual_override_flag := l_pxh_rec.accrual_override_flag;
3041 END IF;
3042 IF x_pxh_rec.khr_attribute_category IS NULL THEN
3043 x_pxh_rec.khr_attribute_category := l_pxh_rec.khr_attribute_category;
3044 END IF;
3045 IF x_pxh_rec.khr_attribute1 IS NULL THEN
3046 x_pxh_rec.khr_attribute1 := l_pxh_rec.khr_attribute1;
3047 END IF;
3048 IF x_pxh_rec.khr_attribute2 IS NULL THEN
3049 x_pxh_rec.khr_attribute2 := l_pxh_rec.khr_attribute2;
3050 END IF;
3051 IF x_pxh_rec.khr_attribute3 IS NULL THEN
3052 x_pxh_rec.khr_attribute3 := l_pxh_rec.khr_attribute3;
3053 END IF;
3054 IF x_pxh_rec.khr_attribute4 IS NULL THEN
3055 x_pxh_rec.khr_attribute4 := l_pxh_rec.khr_attribute4;
3056 END IF;
3057 IF x_pxh_rec.khr_attribute5 IS NULL THEN
3058 x_pxh_rec.khr_attribute5 := l_pxh_rec.khr_attribute5;
3059 END IF;
3060 IF x_pxh_rec.khr_attribute6 IS NULL THEN
3061 x_pxh_rec.khr_attribute6 := l_pxh_rec.khr_attribute6;
3062 END IF;
3063 IF x_pxh_rec.khr_attribute7 IS NULL THEN
3064 x_pxh_rec.khr_attribute7 := l_pxh_rec.khr_attribute7;
3065 END IF;
3066 IF x_pxh_rec.khr_attribute8 IS NULL THEN
3067 x_pxh_rec.khr_attribute8 := l_pxh_rec.khr_attribute8;
3068 END IF;
3069 IF x_pxh_rec.khr_attribute9 IS NULL THEN
3070 x_pxh_rec.khr_attribute9 := l_pxh_rec.khr_attribute9;
3071 END IF;
3072 IF x_pxh_rec.khr_attribute10 IS NULL THEN
3073 x_pxh_rec.khr_attribute10 := l_pxh_rec.khr_attribute10;
3074 END IF;
3075 IF x_pxh_rec.khr_attribute11 IS NULL THEN
3076 x_pxh_rec.khr_attribute11 := l_pxh_rec.khr_attribute11;
3077 END IF;
3078 IF x_pxh_rec.khr_attribute12 IS NULL THEN
3079 x_pxh_rec.khr_attribute12 := l_pxh_rec.khr_attribute12;
3080 END IF;
3081 IF x_pxh_rec.khr_attribute13 IS NULL THEN
3082 x_pxh_rec.khr_attribute13 := l_pxh_rec.khr_attribute13;
3083 END IF;
3084 IF x_pxh_rec.khr_attribute14 IS NULL THEN
3085 x_pxh_rec.khr_attribute14 := l_pxh_rec.khr_attribute14;
3086 END IF;
3087 IF x_pxh_rec.khr_attribute15 IS NULL THEN
3088 x_pxh_rec.khr_attribute15 := l_pxh_rec.khr_attribute15;
3089 END IF;
3090 IF x_pxh_rec.cust_attribute_category IS NULL THEN
3091 x_pxh_rec.cust_attribute_category := l_pxh_rec.cust_attribute_category;
3092 END IF;
3093 IF x_pxh_rec.cust_attribute1 IS NULL THEN
3094 x_pxh_rec.cust_attribute1 := l_pxh_rec.cust_attribute1;
3095 END IF;
3096 IF x_pxh_rec.cust_attribute2 IS NULL THEN
3097 x_pxh_rec.cust_attribute2 := l_pxh_rec.cust_attribute2;
3098 END IF;
3099 IF x_pxh_rec.cust_attribute3 IS NULL THEN
3100 x_pxh_rec.cust_attribute3 := l_pxh_rec.cust_attribute3;
3101 END IF;
3102 IF x_pxh_rec.cust_attribute4 IS NULL THEN
3103 x_pxh_rec.cust_attribute4 := l_pxh_rec.cust_attribute4;
3104 END IF;
3105 IF x_pxh_rec.cust_attribute5 IS NULL THEN
3106 x_pxh_rec.cust_attribute5 := l_pxh_rec.cust_attribute5;
3107 END IF;
3108 IF x_pxh_rec.cust_attribute6 IS NULL THEN
3109 x_pxh_rec.cust_attribute6 := l_pxh_rec.cust_attribute6;
3110 END IF;
3111 IF x_pxh_rec.cust_attribute7 IS NULL THEN
3112 x_pxh_rec.cust_attribute7 := l_pxh_rec.cust_attribute7;
3113 END IF;
3114 IF x_pxh_rec.cust_attribute8 IS NULL THEN
3115 x_pxh_rec.cust_attribute8 := l_pxh_rec.cust_attribute8;
3116 END IF;
3117 IF x_pxh_rec.cust_attribute9 IS NULL THEN
3118 x_pxh_rec.cust_attribute9 := l_pxh_rec.cust_attribute9;
3119 END IF;
3120 IF x_pxh_rec.cust_attribute10 IS NULL THEN
3121 x_pxh_rec.cust_attribute10 := l_pxh_rec.cust_attribute10;
3122 END IF;
3123 IF x_pxh_rec.cust_attribute11 IS NULL THEN
3124 x_pxh_rec.cust_attribute11 := l_pxh_rec.cust_attribute11;
3125 END IF;
3126 IF x_pxh_rec.cust_attribute12 IS NULL THEN
3127 x_pxh_rec.cust_attribute12 := l_pxh_rec.cust_attribute12;
3128 END IF;
3129 IF x_pxh_rec.cust_attribute13 IS NULL THEN
3130 x_pxh_rec.cust_attribute13 := l_pxh_rec.cust_attribute13;
3131 END IF;
3132 IF x_pxh_rec.cust_attribute14 IS NULL THEN
3133 x_pxh_rec.cust_attribute14 := l_pxh_rec.cust_attribute14;
3134 END IF;
3135 IF x_pxh_rec.cust_attribute15 IS NULL THEN
3136 x_pxh_rec.cust_attribute15 := l_pxh_rec.cust_attribute15;
3137 END IF;
3138 IF x_pxh_rec.rent_ia_contract_number IS NULL THEN
3139 x_pxh_rec.rent_ia_contract_number := l_pxh_rec.rent_ia_contract_number;
3140 END IF;
3141 IF x_pxh_rec.rent_ia_product_name IS NULL THEN
3142 x_pxh_rec.rent_ia_product_name := l_pxh_rec.rent_ia_product_name;
3143 END IF;
3144 IF x_pxh_rec.rent_ia_accounting_code IS NULL THEN
3145 x_pxh_rec.rent_ia_accounting_code := l_pxh_rec.rent_ia_accounting_code;
3146 END IF;
3147 IF x_pxh_rec.res_ia_contract_number IS NULL THEN
3148 x_pxh_rec.res_ia_contract_number := l_pxh_rec.res_ia_contract_number;
3149 END IF;
3150 IF x_pxh_rec.res_ia_product_name IS NULL THEN
3151 x_pxh_rec.res_ia_product_name := l_pxh_rec.res_ia_product_name;
3152 END IF;
3153 IF x_pxh_rec.res_ia_accounting_code IS NULL THEN
3154 x_pxh_rec.res_ia_accounting_code := l_pxh_rec.res_ia_accounting_code;
3155 END IF;
3156 IF x_pxh_rec.inv_agrmnt_number IS NULL THEN
3157 x_pxh_rec.inv_agrmnt_number := l_pxh_rec.inv_agrmnt_number;
3158 END IF;
3159 IF x_pxh_rec.inv_agrmnt_effective_from IS NULL THEN
3160 x_pxh_rec.inv_agrmnt_effective_from := l_pxh_rec.inv_agrmnt_effective_from;
3161 END IF;
3162 IF x_pxh_rec.inv_agrmnt_product_name IS NULL THEN
3163 x_pxh_rec.inv_agrmnt_product_name := l_pxh_rec.inv_agrmnt_product_name;
3164 END IF;
3165 IF x_pxh_rec.inv_agrmnt_currency_code IS NULL THEN
3166 x_pxh_rec.inv_agrmnt_currency_code := l_pxh_rec.inv_agrmnt_currency_code;
3167 END IF;
3168 IF x_pxh_rec.inv_agrmnt_synd_code IS NULL THEN
3169 x_pxh_rec.inv_agrmnt_synd_code := l_pxh_rec.inv_agrmnt_synd_code;
3170 END IF;
3171 IF x_pxh_rec.inv_agrmnt_pool_number IS NULL THEN
3172 x_pxh_rec.inv_agrmnt_pool_number := l_pxh_rec.inv_agrmnt_pool_number;
3173 END IF;
3174 IF x_pxh_rec.contract_status_code IS NULL THEN
3175 x_pxh_rec.contract_status_code := l_pxh_rec.contract_status_code;
3176 END IF;
3177 IF x_pxh_rec.inv_agrmnt_status_code IS NULL THEN
3178 x_pxh_rec.inv_agrmnt_status_code := l_pxh_rec.inv_agrmnt_status_code;
3179 END IF;
3180 IF x_pxh_rec.trx_type_class_code IS NULL THEN
3181 x_pxh_rec.trx_type_class_code := l_pxh_rec.trx_type_class_code;
3182 END IF;
3183 IF x_pxh_rec.created_by IS NULL THEN
3184 x_pxh_rec.created_by := l_pxh_rec.created_by;
3185 END IF;
3186 IF x_pxh_rec.creation_date IS NULL THEN
3187 x_pxh_rec.creation_date := l_pxh_rec.creation_date;
3188 END IF;
3189 IF x_pxh_rec.last_updated_by IS NULL THEN
3190 x_pxh_rec.last_updated_by := l_pxh_rec.last_updated_by;
3191 END IF;
3192 IF x_pxh_rec.last_update_date IS NULL THEN
3193 x_pxh_rec.last_update_date := l_pxh_rec.last_update_date;
3194 END IF;
3195 IF x_pxh_rec.last_update_login IS NULL THEN
3196 x_pxh_rec.last_update_login := l_pxh_rec.last_update_login;
3197 END IF;
3198 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
3199 IF x_pxh_rec.party_id IS NULL THEN
3200 x_pxh_rec.party_id := l_pxh_rec.party_id;
3201 END IF;
3202 IF x_pxh_rec.cust_account_id IS NULL THEN
3203 x_pxh_rec.cust_account_id := l_pxh_rec.cust_account_id;
3204 END IF;
3205 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
3206 END IF;
3207 RETURN(l_return_status);
3208 END populate_new_record;
3209 ----------------------------------------------------
3210 -- Set_Attributes for:OKL_EXT_AP_HEADER_SOURCES_B --
3211 ----------------------------------------------------
3212 FUNCTION Set_Attributes (
3213 p_pxh_rec IN pxh_rec_type,
3214 x_pxh_rec OUT NOCOPY pxh_rec_type
3215 ) RETURN VARCHAR2 IS
3216 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3217 BEGIN
3218 x_pxh_rec := p_pxh_rec;
3219 x_pxh_rec.OBJECT_VERSION_NUMBER := p_pxh_rec.OBJECT_VERSION_NUMBER + 1;
3220 RETURN(l_return_status);
3221 END Set_Attributes;
3222 BEGIN
3223 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3224 p_init_msg_list,
3225 '_PVT',
3226 x_return_status);
3227 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3228 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3229 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3230 RAISE OKL_API.G_EXCEPTION_ERROR;
3231 END IF;
3232 --- Setting item attributes
3233 l_return_status := Set_Attributes(
3234 p_pxh_rec, -- IN
3235 l_pxh_rec); -- OUT
3236 --- If any errors happen abort API
3237 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3238 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3239 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3240 RAISE OKL_API.G_EXCEPTION_ERROR;
3241 END IF;
3242 l_return_status := populate_new_record(l_pxh_rec, l_def_pxh_rec);
3243 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3244 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3245 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3246 RAISE OKL_API.G_EXCEPTION_ERROR;
3247 END IF;
3248 UPDATE OKL_EXT_AP_HEADER_SOURCES_B
3249 SET SOURCE_ID = l_def_pxh_rec.source_id,
3250 SOURCE_TABLE = l_def_pxh_rec.source_table,
3251 OBJECT_VERSION_NUMBER = l_def_pxh_rec.object_version_number,
3252 KHR_ID = l_def_pxh_rec.khr_id,
3253 TRY_ID = l_def_pxh_rec.try_id,
3254 TRANS_NUMBER = l_def_pxh_rec.trans_number,
3255 CONTRACT_NUMBER = l_def_pxh_rec.contract_number,
3256 CUSTOMER_NAME = l_def_pxh_rec.customer_name,
3257 CUST_ACCOUNT_NUMBER = l_def_pxh_rec.cust_account_number,
3258 PRODUCT_NAME = l_def_pxh_rec.product_name,
3259 BOOK_CLASSIFICATION_CODE = l_def_pxh_rec.book_classification_code,
3260 TAX_OWNER_CODE = l_def_pxh_rec.tax_owner_code,
3261 INT_CALC_METHOD_CODE = l_def_pxh_rec.int_calc_method_code,
3262 REV_REC_METHOD_CODE = l_def_pxh_rec.rev_rec_method_code,
3263 SCS_CODE = l_def_pxh_rec.scs_code,
3264 CONVERTED_NUMBER = l_def_pxh_rec.converted_number,
3265 CONTRACT_EFFECTIVE_FROM = l_def_pxh_rec.contract_effective_from,
3266 CONTRACT_CURRENCY_CODE = l_def_pxh_rec.contract_currency_code,
3267 SALES_REP_NAME = l_def_pxh_rec.sales_rep_name,
3268 PO_ORDER_NUMBER = l_def_pxh_rec.po_order_number,
3269 VENDOR_PROGRAM_NUMBER = l_def_pxh_rec.vendor_program_number,
3270 ASSIGNABLE_FLAG = l_def_pxh_rec.assignable_flag,
3271 CONVERTED_ACCOUNT_FLAG = l_def_pxh_rec.converted_account_flag,
3272 ACCRUAL_OVERRIDE_FLAG = l_def_pxh_rec.accrual_override_flag,
3273 KHR_ATTRIBUTE_CATEGORY = l_def_pxh_rec.khr_attribute_category,
3274 KHR_ATTRIBUTE1 = l_def_pxh_rec.khr_attribute1,
3275 KHR_ATTRIBUTE2 = l_def_pxh_rec.khr_attribute2,
3276 KHR_ATTRIBUTE3 = l_def_pxh_rec.khr_attribute3,
3277 KHR_ATTRIBUTE4 = l_def_pxh_rec.khr_attribute4,
3278 KHR_ATTRIBUTE5 = l_def_pxh_rec.khr_attribute5,
3279 KHR_ATTRIBUTE6 = l_def_pxh_rec.khr_attribute6,
3280 KHR_ATTRIBUTE7 = l_def_pxh_rec.khr_attribute7,
3281 KHR_ATTRIBUTE8 = l_def_pxh_rec.khr_attribute8,
3282 KHR_ATTRIBUTE9 = l_def_pxh_rec.khr_attribute9,
3283 KHR_ATTRIBUTE10 = l_def_pxh_rec.khr_attribute10,
3284 KHR_ATTRIBUTE11 = l_def_pxh_rec.khr_attribute11,
3285 KHR_ATTRIBUTE12 = l_def_pxh_rec.khr_attribute12,
3286 KHR_ATTRIBUTE13 = l_def_pxh_rec.khr_attribute13,
3287 KHR_ATTRIBUTE14 = l_def_pxh_rec.khr_attribute14,
3288 KHR_ATTRIBUTE15 = l_def_pxh_rec.khr_attribute15,
3289 CUST_ATTRIBUTE_CATEGORY = l_def_pxh_rec.cust_attribute_category,
3290 CUST_ATTRIBUTE1 = l_def_pxh_rec.cust_attribute1,
3291 CUST_ATTRIBUTE2 = l_def_pxh_rec.cust_attribute2,
3292 CUST_ATTRIBUTE3 = l_def_pxh_rec.cust_attribute3,
3293 CUST_ATTRIBUTE4 = l_def_pxh_rec.cust_attribute4,
3294 CUST_ATTRIBUTE5 = l_def_pxh_rec.cust_attribute5,
3295 CUST_ATTRIBUTE6 = l_def_pxh_rec.cust_attribute6,
3296 CUST_ATTRIBUTE7 = l_def_pxh_rec.cust_attribute7,
3297 CUST_ATTRIBUTE8 = l_def_pxh_rec.cust_attribute8,
3298 CUST_ATTRIBUTE9 = l_def_pxh_rec.cust_attribute9,
3299 CUST_ATTRIBUTE10 = l_def_pxh_rec.cust_attribute10,
3300 CUST_ATTRIBUTE11 = l_def_pxh_rec.cust_attribute11,
3301 CUST_ATTRIBUTE12 = l_def_pxh_rec.cust_attribute12,
3302 CUST_ATTRIBUTE13 = l_def_pxh_rec.cust_attribute13,
3303 CUST_ATTRIBUTE14 = l_def_pxh_rec.cust_attribute14,
3304 CUST_ATTRIBUTE15 = l_def_pxh_rec.cust_attribute15,
3305 RENT_IA_CONTRACT_NUMBER = l_def_pxh_rec.rent_ia_contract_number,
3306 RENT_IA_PRODUCT_NAME = l_def_pxh_rec.rent_ia_product_name,
3307 RENT_IA_ACCOUNTING_CODE = l_def_pxh_rec.rent_ia_accounting_code,
3308 RES_IA_CONTRACT_NUMBER = l_def_pxh_rec.res_ia_contract_number,
3309 RES_IA_PRODUCT_NAME = l_def_pxh_rec.res_ia_product_name,
3310 RES_IA_ACCOUNTING_CODE = l_def_pxh_rec.res_ia_accounting_code,
3311 INV_AGRMNT_NUMBER = l_def_pxh_rec.inv_agrmnt_number,
3312 INV_AGRMNT_EFFECTIVE_FROM = l_def_pxh_rec.inv_agrmnt_effective_from,
3313 INV_AGRMNT_PRODUCT_NAME = l_def_pxh_rec.inv_agrmnt_product_name,
3314 INV_AGRMNT_CURRENCY_CODE = l_def_pxh_rec.inv_agrmnt_currency_code,
3315 INV_AGRMNT_SYND_CODE = l_def_pxh_rec.inv_agrmnt_synd_code,
3316 INV_AGRMNT_POOL_NUMBER = l_def_pxh_rec.inv_agrmnt_pool_number,
3317 CONTRACT_STATUS_CODE = l_def_pxh_rec.contract_status_code,
3318 INV_AGRMNT_STATUS_CODE = l_def_pxh_rec.inv_agrmnt_status_code,
3319 TRX_TYPE_CLASS_CODE = l_def_pxh_rec.trx_type_class_code,
3320 CREATED_BY = l_def_pxh_rec.created_by,
3321 CREATION_DATE = l_def_pxh_rec.creation_date,
3322 LAST_UPDATED_BY = l_def_pxh_rec.last_updated_by,
3323 LAST_UPDATE_DATE = l_def_pxh_rec.last_update_date,
3324 LAST_UPDATE_LOGIN = l_def_pxh_rec.last_update_login,
3325 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
3326 PARTY_ID = l_def_pxh_rec.party_id,
3327 CUST_ACCOUNT_ID = l_def_pxh_rec.cust_account_id
3328 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
3329 WHERE HEADER_EXTENSION_ID = l_def_pxh_rec.header_extension_id;
3330
3331 x_pxh_rec := l_pxh_rec;
3332 x_return_status := l_return_status;
3333 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3334 EXCEPTION
3335 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3336 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3337 (
3338 l_api_name,
3339 G_PKG_NAME,
3340 'OKL_API.G_RET_STS_ERROR',
3341 x_msg_count,
3342 x_msg_data,
3343 '_PVT'
3344 );
3345 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3346 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3347 (
3348 l_api_name,
3349 G_PKG_NAME,
3350 'OKL_API.G_RET_STS_UNEXP_ERROR',
3351 x_msg_count,
3352 x_msg_data,
3353 '_PVT'
3354 );
3355 WHEN OTHERS THEN
3356 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3357 (
3358 l_api_name,
3359 G_PKG_NAME,
3360 'OTHERS',
3361 x_msg_count,
3362 x_msg_data,
3363 '_PVT'
3364 );
3365 END update_row;
3366 -------------------------------------------------
3367 -- update_row for:OKL_EXT_AP_HEADER_SOURCES_TL --
3368 -------------------------------------------------
3369 PROCEDURE update_row(
3370 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3371 x_return_status OUT NOCOPY VARCHAR2,
3372 x_msg_count OUT NOCOPY NUMBER,
3373 x_msg_data OUT NOCOPY VARCHAR2,
3374 p_pxhl_rec IN pxhl_rec_type,
3375 x_pxhl_rec OUT NOCOPY pxhl_rec_type) IS
3376
3377 l_api_version CONSTANT NUMBER := 1;
3378 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
3379 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3380 l_pxhl_rec pxhl_rec_type := p_pxhl_rec;
3381 l_def_pxhl_rec pxhl_rec_type;
3382 l_row_notfound BOOLEAN := TRUE;
3383 ----------------------------------
3384 -- FUNCTION populate_new_record --
3385 ----------------------------------
3386 FUNCTION populate_new_record (
3387 p_pxhl_rec IN pxhl_rec_type,
3388 x_pxhl_rec OUT NOCOPY pxhl_rec_type
3389 ) RETURN VARCHAR2 IS
3390 l_pxhl_rec pxhl_rec_type;
3391 l_row_notfound BOOLEAN := TRUE;
3392 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3393 BEGIN
3394 x_pxhl_rec := p_pxhl_rec;
3395 -- Get current database values
3396 l_pxhl_rec := get_rec(p_pxhl_rec, l_return_status);
3397 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
3398 IF x_pxhl_rec.header_extension_id IS NULL THEN
3399 x_pxhl_rec.header_extension_id := l_pxhl_rec.header_extension_id;
3400 END IF;
3401 IF x_pxhl_rec.language IS NULL THEN
3402 x_pxhl_rec.language := l_pxhl_rec.language;
3403 END IF;
3404 IF x_pxhl_rec.source_lang IS NULL THEN
3405 x_pxhl_rec.source_lang := l_pxhl_rec.source_lang;
3406 END IF;
3407 IF x_pxhl_rec.sfwt_flag IS NULL THEN
3408 x_pxhl_rec.sfwt_flag := l_pxhl_rec.sfwt_flag;
3409 END IF;
3410 IF x_pxhl_rec.contract_status IS NULL THEN
3411 x_pxhl_rec.contract_status := l_pxhl_rec.contract_status;
3412 END IF;
3413 IF x_pxhl_rec.inv_agrmnt_status IS NULL THEN
3414 x_pxhl_rec.inv_agrmnt_status := l_pxhl_rec.inv_agrmnt_status;
3415 END IF;
3416 IF x_pxhl_rec.transaction_type_name IS NULL THEN
3417 x_pxhl_rec.transaction_type_name := l_pxhl_rec.transaction_type_name;
3418 END IF;
3419 IF x_pxhl_rec.created_by IS NULL THEN
3420 x_pxhl_rec.created_by := l_pxhl_rec.created_by;
3421 END IF;
3422 IF x_pxhl_rec.creation_date IS NULL THEN
3423 x_pxhl_rec.creation_date := l_pxhl_rec.creation_date;
3424 END IF;
3425 IF x_pxhl_rec.last_updated_by IS NULL THEN
3426 x_pxhl_rec.last_updated_by := l_pxhl_rec.last_updated_by;
3427 END IF;
3428 IF x_pxhl_rec.last_update_date IS NULL THEN
3429 x_pxhl_rec.last_update_date := l_pxhl_rec.last_update_date;
3430 END IF;
3431 IF x_pxhl_rec.last_update_login IS NULL THEN
3432 x_pxhl_rec.last_update_login := l_pxhl_rec.last_update_login;
3433 END IF;
3434 END IF;
3435 RETURN(l_return_status);
3436 END populate_new_record;
3437 -----------------------------------------------------
3438 -- Set_Attributes for:OKL_EXT_AP_HEADER_SOURCES_TL --
3439 -----------------------------------------------------
3440 FUNCTION Set_Attributes (
3441 p_pxhl_rec IN pxhl_rec_type,
3442 x_pxhl_rec OUT NOCOPY pxhl_rec_type
3443 ) RETURN VARCHAR2 IS
3444 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3445 BEGIN
3446 x_pxhl_rec := p_pxhl_rec;
3447 x_pxhl_rec.LANGUAGE := USERENV('LANG');
3448 x_pxhl_rec.LANGUAGE := USERENV('LANG');
3449 RETURN(l_return_status);
3450 END Set_Attributes;
3451 BEGIN
3452 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3453 p_init_msg_list,
3454 '_PVT',
3455 x_return_status);
3456 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3457 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3458 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3459 RAISE OKL_API.G_EXCEPTION_ERROR;
3460 END IF;
3461 --- Setting item attributes
3462 l_return_status := Set_Attributes(
3463 p_pxhl_rec, -- IN
3464 l_pxhl_rec); -- OUT
3465 --- If any errors happen abort API
3466 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3467 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3468 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3469 RAISE OKL_API.G_EXCEPTION_ERROR;
3470 END IF;
3471 l_return_status := populate_new_record(l_pxhl_rec, l_def_pxhl_rec);
3472 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3473 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3474 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3475 RAISE OKL_API.G_EXCEPTION_ERROR;
3476 END IF;
3477 UPDATE OKL_EXT_AP_HEADER_SOURCES_TL
3478 SET CONTRACT_STATUS = l_def_pxhl_rec.contract_status,
3479 INV_AGRMNT_STATUS = l_def_pxhl_rec.inv_agrmnt_status,
3480 TRANSACTION_TYPE_NAME = l_def_pxhl_rec.transaction_type_name,
3481 CREATED_BY = l_def_pxhl_rec.created_by,
3482 CREATION_DATE = l_def_pxhl_rec.creation_date,
3483 LAST_UPDATED_BY = l_def_pxhl_rec.last_updated_by,
3484 LAST_UPDATE_DATE = l_def_pxhl_rec.last_update_date,
3485 LAST_UPDATE_LOGIN = l_def_pxhl_rec.last_update_login
3486 WHERE HEADER_EXTENSION_ID = l_def_pxhl_rec.header_extension_id
3487 AND SOURCE_LANG = USERENV('LANG');
3488
3489 UPDATE OKL_EXT_AP_HEADER_SOURCES_TL
3490 SET SFWT_FLAG = 'Y'
3491 WHERE HEADER_EXTENSION_ID = l_def_pxhl_rec.header_extension_id
3492 AND SOURCE_LANG <> USERENV('LANG');
3493
3494 x_pxhl_rec := l_pxhl_rec;
3495 x_return_status := l_return_status;
3496 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3497 EXCEPTION
3498 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3499 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3500 (
3501 l_api_name,
3502 G_PKG_NAME,
3503 'OKL_API.G_RET_STS_ERROR',
3504 x_msg_count,
3505 x_msg_data,
3506 '_PVT'
3507 );
3508 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3509 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3510 (
3511 l_api_name,
3512 G_PKG_NAME,
3513 'OKL_API.G_RET_STS_UNEXP_ERROR',
3514 x_msg_count,
3515 x_msg_data,
3516 '_PVT'
3517 );
3518 WHEN OTHERS THEN
3519 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3520 (
3521 l_api_name,
3522 G_PKG_NAME,
3523 'OTHERS',
3524 x_msg_count,
3525 x_msg_data,
3526 '_PVT'
3527 );
3528 END update_row;
3529 ------------------------------------------------
3530 -- update_row for:OKL_EXT_AP_HEADER_SOURCES_V --
3531 ------------------------------------------------
3532 PROCEDURE update_row(
3533 p_api_version IN NUMBER,
3534 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3535 x_return_status OUT NOCOPY VARCHAR2,
3536 x_msg_count OUT NOCOPY NUMBER,
3537 x_msg_data OUT NOCOPY VARCHAR2,
3538 p_pxhv_rec IN pxhv_rec_type,
3539 x_pxhv_rec OUT NOCOPY pxhv_rec_type) IS
3540
3541 l_api_version CONSTANT NUMBER := 1;
3542 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
3543 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3544 l_pxhv_rec pxhv_rec_type := p_pxhv_rec;
3545 l_def_pxhv_rec pxhv_rec_type;
3546 l_db_pxhv_rec pxhv_rec_type;
3547 l_pxh_rec pxh_rec_type;
3548 lx_pxh_rec pxh_rec_type;
3549 l_pxhl_rec pxhl_rec_type;
3550 lx_pxhl_rec pxhl_rec_type;
3551 -------------------------------
3552 -- FUNCTION fill_who_columns --
3553 -------------------------------
3554 FUNCTION fill_who_columns (
3555 p_pxhv_rec IN pxhv_rec_type
3556 ) RETURN pxhv_rec_type IS
3557 l_pxhv_rec pxhv_rec_type := p_pxhv_rec;
3558 BEGIN
3559 l_pxhv_rec.LAST_UPDATE_DATE := SYSDATE;
3560 l_pxhv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3561 l_pxhv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3562 RETURN(l_pxhv_rec);
3563 END fill_who_columns;
3564 ----------------------------------
3565 -- FUNCTION populate_new_record --
3566 ----------------------------------
3567 FUNCTION populate_new_record (
3568 p_pxhv_rec IN pxhv_rec_type,
3569 x_pxhv_rec OUT NOCOPY pxhv_rec_type
3570 ) RETURN VARCHAR2 IS
3571 l_row_notfound BOOLEAN := TRUE;
3572 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3573 BEGIN
3574 x_pxhv_rec := p_pxhv_rec;
3575 -- Get current database values
3576 -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
3577 -- so it may be verified through LOCK_ROW.
3578 l_db_pxhv_rec := get_rec(p_pxhv_rec, l_return_status);
3579 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
3580 IF x_pxhv_rec.header_extension_id IS NULL THEN
3581 x_pxhv_rec.header_extension_id := l_db_pxhv_rec.header_extension_id;
3582 END IF;
3583 IF x_pxhv_rec.source_id IS NULL THEN
3584 x_pxhv_rec.source_id := l_db_pxhv_rec.source_id;
3585 END IF;
3586 IF x_pxhv_rec.source_table IS NULL THEN
3587 x_pxhv_rec.source_table := l_db_pxhv_rec.source_table;
3588 END IF;
3589 IF x_pxhv_rec.khr_id IS NULL THEN
3590 x_pxhv_rec.khr_id := l_db_pxhv_rec.khr_id;
3591 END IF;
3592 IF x_pxhv_rec.try_id IS NULL THEN
3593 x_pxhv_rec.try_id := l_db_pxhv_rec.try_id;
3594 END IF;
3595 IF x_pxhv_rec.trans_number IS NULL THEN
3596 x_pxhv_rec.trans_number := l_db_pxhv_rec.trans_number;
3597 END IF;
3598 IF x_pxhv_rec.contract_number IS NULL THEN
3599 x_pxhv_rec.contract_number := l_db_pxhv_rec.contract_number;
3600 END IF;
3601 IF x_pxhv_rec.customer_name IS NULL THEN
3602 x_pxhv_rec.customer_name := l_db_pxhv_rec.customer_name;
3603 END IF;
3604 IF x_pxhv_rec.cust_account_number IS NULL THEN
3605 x_pxhv_rec.cust_account_number := l_db_pxhv_rec.cust_account_number;
3606 END IF;
3607 IF x_pxhv_rec.product_name IS NULL THEN
3608 x_pxhv_rec.product_name := l_db_pxhv_rec.product_name;
3609 END IF;
3610 IF x_pxhv_rec.book_classification_code IS NULL THEN
3611 x_pxhv_rec.book_classification_code := l_db_pxhv_rec.book_classification_code;
3612 END IF;
3613 IF x_pxhv_rec.tax_owner_code IS NULL THEN
3614 x_pxhv_rec.tax_owner_code := l_db_pxhv_rec.tax_owner_code;
3615 END IF;
3616 IF x_pxhv_rec.int_calc_method_code IS NULL THEN
3617 x_pxhv_rec.int_calc_method_code := l_db_pxhv_rec.int_calc_method_code;
3618 END IF;
3619 IF x_pxhv_rec.rev_rec_method_code IS NULL THEN
3620 x_pxhv_rec.rev_rec_method_code := l_db_pxhv_rec.rev_rec_method_code;
3621 END IF;
3622 IF x_pxhv_rec.scs_code IS NULL THEN
3623 x_pxhv_rec.scs_code := l_db_pxhv_rec.scs_code;
3624 END IF;
3625 IF x_pxhv_rec.converted_number IS NULL THEN
3626 x_pxhv_rec.converted_number := l_db_pxhv_rec.converted_number;
3627 END IF;
3628 IF x_pxhv_rec.contract_effective_from IS NULL THEN
3629 x_pxhv_rec.contract_effective_from := l_db_pxhv_rec.contract_effective_from;
3630 END IF;
3631 IF x_pxhv_rec.contract_currency_code IS NULL THEN
3632 x_pxhv_rec.contract_currency_code := l_db_pxhv_rec.contract_currency_code;
3633 END IF;
3634 IF x_pxhv_rec.sales_rep_name IS NULL THEN
3635 x_pxhv_rec.sales_rep_name := l_db_pxhv_rec.sales_rep_name;
3636 END IF;
3637 IF x_pxhv_rec.po_order_number IS NULL THEN
3638 x_pxhv_rec.po_order_number := l_db_pxhv_rec.po_order_number;
3639 END IF;
3640 IF x_pxhv_rec.vendor_program_number IS NULL THEN
3641 x_pxhv_rec.vendor_program_number := l_db_pxhv_rec.vendor_program_number;
3642 END IF;
3643 IF x_pxhv_rec.assignable_flag IS NULL THEN
3644 x_pxhv_rec.assignable_flag := l_db_pxhv_rec.assignable_flag;
3645 END IF;
3646 IF x_pxhv_rec.converted_account_flag IS NULL THEN
3647 x_pxhv_rec.converted_account_flag := l_db_pxhv_rec.converted_account_flag;
3648 END IF;
3649 IF x_pxhv_rec.accrual_override_flag IS NULL THEN
3650 x_pxhv_rec.accrual_override_flag := l_db_pxhv_rec.accrual_override_flag;
3651 END IF;
3652 IF x_pxhv_rec.khr_attribute_category IS NULL THEN
3653 x_pxhv_rec.khr_attribute_category := l_db_pxhv_rec.khr_attribute_category;
3654 END IF;
3655 IF x_pxhv_rec.khr_attribute1 IS NULL THEN
3656 x_pxhv_rec.khr_attribute1 := l_db_pxhv_rec.khr_attribute1;
3657 END IF;
3658 IF x_pxhv_rec.khr_attribute2 IS NULL THEN
3659 x_pxhv_rec.khr_attribute2 := l_db_pxhv_rec.khr_attribute2;
3660 END IF;
3661 IF x_pxhv_rec.khr_attribute3 IS NULL THEN
3662 x_pxhv_rec.khr_attribute3 := l_db_pxhv_rec.khr_attribute3;
3663 END IF;
3664 IF x_pxhv_rec.khr_attribute4 IS NULL THEN
3665 x_pxhv_rec.khr_attribute4 := l_db_pxhv_rec.khr_attribute4;
3666 END IF;
3667 IF x_pxhv_rec.khr_attribute5 IS NULL THEN
3668 x_pxhv_rec.khr_attribute5 := l_db_pxhv_rec.khr_attribute5;
3669 END IF;
3670 IF x_pxhv_rec.khr_attribute6 IS NULL THEN
3671 x_pxhv_rec.khr_attribute6 := l_db_pxhv_rec.khr_attribute6;
3672 END IF;
3673 IF x_pxhv_rec.khr_attribute7 IS NULL THEN
3674 x_pxhv_rec.khr_attribute7 := l_db_pxhv_rec.khr_attribute7;
3675 END IF;
3676 IF x_pxhv_rec.khr_attribute8 IS NULL THEN
3677 x_pxhv_rec.khr_attribute8 := l_db_pxhv_rec.khr_attribute8;
3678 END IF;
3679 IF x_pxhv_rec.khr_attribute9 IS NULL THEN
3680 x_pxhv_rec.khr_attribute9 := l_db_pxhv_rec.khr_attribute9;
3681 END IF;
3682 IF x_pxhv_rec.khr_attribute10 IS NULL THEN
3683 x_pxhv_rec.khr_attribute10 := l_db_pxhv_rec.khr_attribute10;
3684 END IF;
3685 IF x_pxhv_rec.khr_attribute11 IS NULL THEN
3686 x_pxhv_rec.khr_attribute11 := l_db_pxhv_rec.khr_attribute11;
3687 END IF;
3688 IF x_pxhv_rec.khr_attribute12 IS NULL THEN
3689 x_pxhv_rec.khr_attribute12 := l_db_pxhv_rec.khr_attribute12;
3690 END IF;
3691 IF x_pxhv_rec.khr_attribute13 IS NULL THEN
3692 x_pxhv_rec.khr_attribute13 := l_db_pxhv_rec.khr_attribute13;
3693 END IF;
3694 IF x_pxhv_rec.khr_attribute14 IS NULL THEN
3695 x_pxhv_rec.khr_attribute14 := l_db_pxhv_rec.khr_attribute14;
3696 END IF;
3697 IF x_pxhv_rec.khr_attribute15 IS NULL THEN
3698 x_pxhv_rec.khr_attribute15 := l_db_pxhv_rec.khr_attribute15;
3699 END IF;
3700 IF x_pxhv_rec.cust_attribute_category IS NULL THEN
3701 x_pxhv_rec.cust_attribute_category := l_db_pxhv_rec.cust_attribute_category;
3702 END IF;
3703 IF x_pxhv_rec.cust_attribute1 IS NULL THEN
3704 x_pxhv_rec.cust_attribute1 := l_db_pxhv_rec.cust_attribute1;
3705 END IF;
3706 IF x_pxhv_rec.cust_attribute2 IS NULL THEN
3707 x_pxhv_rec.cust_attribute2 := l_db_pxhv_rec.cust_attribute2;
3708 END IF;
3709 IF x_pxhv_rec.cust_attribute3 IS NULL THEN
3710 x_pxhv_rec.cust_attribute3 := l_db_pxhv_rec.cust_attribute3;
3711 END IF;
3712 IF x_pxhv_rec.cust_attribute4 IS NULL THEN
3713 x_pxhv_rec.cust_attribute4 := l_db_pxhv_rec.cust_attribute4;
3714 END IF;
3715 IF x_pxhv_rec.cust_attribute5 IS NULL THEN
3716 x_pxhv_rec.cust_attribute5 := l_db_pxhv_rec.cust_attribute5;
3717 END IF;
3718 IF x_pxhv_rec.cust_attribute6 IS NULL THEN
3719 x_pxhv_rec.cust_attribute6 := l_db_pxhv_rec.cust_attribute6;
3720 END IF;
3721 IF x_pxhv_rec.cust_attribute7 IS NULL THEN
3722 x_pxhv_rec.cust_attribute7 := l_db_pxhv_rec.cust_attribute7;
3723 END IF;
3724 IF x_pxhv_rec.cust_attribute8 IS NULL THEN
3725 x_pxhv_rec.cust_attribute8 := l_db_pxhv_rec.cust_attribute8;
3726 END IF;
3727 IF x_pxhv_rec.cust_attribute9 IS NULL THEN
3728 x_pxhv_rec.cust_attribute9 := l_db_pxhv_rec.cust_attribute9;
3729 END IF;
3730 IF x_pxhv_rec.cust_attribute10 IS NULL THEN
3731 x_pxhv_rec.cust_attribute10 := l_db_pxhv_rec.cust_attribute10;
3732 END IF;
3733 IF x_pxhv_rec.cust_attribute11 IS NULL THEN
3734 x_pxhv_rec.cust_attribute11 := l_db_pxhv_rec.cust_attribute11;
3735 END IF;
3736 IF x_pxhv_rec.cust_attribute12 IS NULL THEN
3737 x_pxhv_rec.cust_attribute12 := l_db_pxhv_rec.cust_attribute12;
3738 END IF;
3739 IF x_pxhv_rec.cust_attribute13 IS NULL THEN
3740 x_pxhv_rec.cust_attribute13 := l_db_pxhv_rec.cust_attribute13;
3741 END IF;
3742 IF x_pxhv_rec.cust_attribute14 IS NULL THEN
3743 x_pxhv_rec.cust_attribute14 := l_db_pxhv_rec.cust_attribute14;
3744 END IF;
3745 IF x_pxhv_rec.cust_attribute15 IS NULL THEN
3746 x_pxhv_rec.cust_attribute15 := l_db_pxhv_rec.cust_attribute15;
3747 END IF;
3748 IF x_pxhv_rec.rent_ia_contract_number IS NULL THEN
3749 x_pxhv_rec.rent_ia_contract_number := l_db_pxhv_rec.rent_ia_contract_number;
3750 END IF;
3751 IF x_pxhv_rec.rent_ia_product_name IS NULL THEN
3752 x_pxhv_rec.rent_ia_product_name := l_db_pxhv_rec.rent_ia_product_name;
3753 END IF;
3754 IF x_pxhv_rec.rent_ia_accounting_code IS NULL THEN
3755 x_pxhv_rec.rent_ia_accounting_code := l_db_pxhv_rec.rent_ia_accounting_code;
3756 END IF;
3757 IF x_pxhv_rec.res_ia_contract_number IS NULL THEN
3758 x_pxhv_rec.res_ia_contract_number := l_db_pxhv_rec.res_ia_contract_number;
3759 END IF;
3760 IF x_pxhv_rec.res_ia_product_name IS NULL THEN
3761 x_pxhv_rec.res_ia_product_name := l_db_pxhv_rec.res_ia_product_name;
3762 END IF;
3763 IF x_pxhv_rec.res_ia_accounting_code IS NULL THEN
3764 x_pxhv_rec.res_ia_accounting_code := l_db_pxhv_rec.res_ia_accounting_code;
3765 END IF;
3766 IF x_pxhv_rec.inv_agrmnt_number IS NULL THEN
3767 x_pxhv_rec.inv_agrmnt_number := l_db_pxhv_rec.inv_agrmnt_number;
3768 END IF;
3769 IF x_pxhv_rec.inv_agrmnt_effective_from IS NULL THEN
3770 x_pxhv_rec.inv_agrmnt_effective_from := l_db_pxhv_rec.inv_agrmnt_effective_from;
3771 END IF;
3772 IF x_pxhv_rec.inv_agrmnt_product_name IS NULL THEN
3773 x_pxhv_rec.inv_agrmnt_product_name := l_db_pxhv_rec.inv_agrmnt_product_name;
3774 END IF;
3775 IF x_pxhv_rec.inv_agrmnt_currency_code IS NULL THEN
3776 x_pxhv_rec.inv_agrmnt_currency_code := l_db_pxhv_rec.inv_agrmnt_currency_code;
3777 END IF;
3778 IF x_pxhv_rec.inv_agrmnt_synd_code IS NULL THEN
3779 x_pxhv_rec.inv_agrmnt_synd_code := l_db_pxhv_rec.inv_agrmnt_synd_code;
3780 END IF;
3781 IF x_pxhv_rec.inv_agrmnt_pool_number IS NULL THEN
3782 x_pxhv_rec.inv_agrmnt_pool_number := l_db_pxhv_rec.inv_agrmnt_pool_number;
3783 END IF;
3784 IF x_pxhv_rec.contract_status_code IS NULL THEN
3785 x_pxhv_rec.contract_status_code := l_db_pxhv_rec.contract_status_code;
3786 END IF;
3787 IF x_pxhv_rec.inv_agrmnt_status_code IS NULL THEN
3788 x_pxhv_rec.inv_agrmnt_status_code := l_db_pxhv_rec.inv_agrmnt_status_code;
3789 END IF;
3790 IF x_pxhv_rec.trx_type_class_code IS NULL THEN
3791 x_pxhv_rec.trx_type_class_code := l_db_pxhv_rec.trx_type_class_code;
3792 END IF;
3793 IF x_pxhv_rec.language IS NULL THEN
3794 x_pxhv_rec.language := l_db_pxhv_rec.language;
3795 END IF;
3796 IF x_pxhv_rec.contract_status IS NULL THEN
3797 x_pxhv_rec.contract_status := l_db_pxhv_rec.contract_status;
3798 END IF;
3799 IF x_pxhv_rec.inv_agrmnt_status IS NULL THEN
3800 x_pxhv_rec.inv_agrmnt_status := l_db_pxhv_rec.inv_agrmnt_status;
3801 END IF;
3802 IF x_pxhv_rec.transaction_type_name IS NULL THEN
3803 x_pxhv_rec.transaction_type_name := l_db_pxhv_rec.transaction_type_name;
3804 END IF;
3805 IF x_pxhv_rec.created_by IS NULL THEN
3806 x_pxhv_rec.created_by := l_db_pxhv_rec.created_by;
3807 END IF;
3808 IF x_pxhv_rec.creation_date IS NULL THEN
3809 x_pxhv_rec.creation_date := l_db_pxhv_rec.creation_date;
3810 END IF;
3811 IF x_pxhv_rec.last_updated_by IS NULL THEN
3812 x_pxhv_rec.last_updated_by := l_db_pxhv_rec.last_updated_by;
3813 END IF;
3814 IF x_pxhv_rec.last_update_date IS NULL THEN
3815 x_pxhv_rec.last_update_date := l_db_pxhv_rec.last_update_date;
3816 END IF;
3817 IF x_pxhv_rec.last_update_login IS NULL THEN
3818 x_pxhv_rec.last_update_login := l_db_pxhv_rec.last_update_login;
3819 END IF;
3820 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables start
3821 IF x_pxhv_rec.party_id IS NULL THEN
3822 x_pxhv_rec.party_id := l_db_pxhv_rec.party_id;
3823 END IF;
3824 IF x_pxhv_rec.cust_account_id IS NULL THEN
3825 x_pxhv_rec.cust_account_id := l_db_pxhv_rec.cust_account_id;
3826 END IF;
3827 -- added by zrehman Bug#6707320 for Party Merge impact on Accounting sources tables end
3828 END IF;
3829 RETURN(l_return_status);
3830 END populate_new_record;
3831 ----------------------------------------------------
3832 -- Set_Attributes for:OKL_EXT_AP_HEADER_SOURCES_V --
3833 ----------------------------------------------------
3834 FUNCTION Set_Attributes (
3835 p_pxhv_rec IN pxhv_rec_type,
3836 x_pxhv_rec OUT NOCOPY pxhv_rec_type
3837 ) RETURN VARCHAR2 IS
3838 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3839 BEGIN
3840 x_pxhv_rec := p_pxhv_rec;
3841 RETURN(l_return_status);
3842 END Set_Attributes;
3843 BEGIN
3844 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3845 G_PKG_NAME,
3846 p_init_msg_list,
3847 l_api_version,
3848 p_api_version,
3849 '_PVT',
3850 x_return_status);
3851 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3852 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3853 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3854 RAISE OKL_API.G_EXCEPTION_ERROR;
3855 END IF;
3856 --- Setting item attributes
3857 l_return_status := Set_Attributes(
3858 p_pxhv_rec, -- IN
3859 x_pxhv_rec); -- OUT
3860 --- If any errors happen abort API
3861 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3862 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3863 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3864 RAISE OKL_API.G_EXCEPTION_ERROR;
3865 END IF;
3866 l_return_status := populate_new_record(l_pxhv_rec, l_def_pxhv_rec);
3867 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3868 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3869 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3870 RAISE OKL_API.G_EXCEPTION_ERROR;
3871 END IF;
3872 l_def_pxhv_rec := null_out_defaults(l_def_pxhv_rec);
3873 l_def_pxhv_rec := fill_who_columns(l_def_pxhv_rec);
3874 --- Validate all non-missing attributes (Item Level Validation)
3875 l_return_status := Validate_Attributes(l_def_pxhv_rec);
3876 --- If any errors happen abort API
3877 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3878 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3879 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3880 RAISE OKL_API.G_EXCEPTION_ERROR;
3881 END IF;
3882 l_return_status := Validate_Record(l_def_pxhv_rec, l_db_pxhv_rec);
3883 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3884 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3885 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3886 RAISE OKL_API.G_EXCEPTION_ERROR;
3887 END IF;
3888
3889 -- Lock the Record
3890 lock_row(
3891 p_api_version => p_api_version,
3892 p_init_msg_list => p_init_msg_list,
3893 x_return_status => l_return_status,
3894 x_msg_count => x_msg_count,
3895 x_msg_data => x_msg_data,
3896 p_pxhv_rec => p_pxhv_rec);
3897 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3898 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3899 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3900 RAISE OKL_API.G_EXCEPTION_ERROR;
3901 END IF;
3902
3903 -----------------------------------------
3904 -- Move VIEW record to "Child" records --
3905 -----------------------------------------
3906 migrate(l_def_pxhv_rec, l_pxh_rec);
3907 migrate(l_def_pxhv_rec, l_pxhl_rec);
3908 -----------------------------------------------
3909 -- Call the UPDATE_ROW for each child record --
3910 -----------------------------------------------
3911 update_row(
3912 p_init_msg_list,
3913 l_return_status,
3914 x_msg_count,
3915 x_msg_data,
3916 l_pxh_rec,
3917 lx_pxh_rec
3918 );
3919 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3920 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3921 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3922 RAISE OKL_API.G_EXCEPTION_ERROR;
3923 END IF;
3924 migrate(lx_pxh_rec, l_def_pxhv_rec);
3925 update_row(
3926 p_init_msg_list,
3927 l_return_status,
3928 x_msg_count,
3929 x_msg_data,
3930 l_pxhl_rec,
3931 lx_pxhl_rec
3932 );
3933 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3934 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3935 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3936 RAISE OKL_API.G_EXCEPTION_ERROR;
3937 END IF;
3938 migrate(lx_pxhl_rec, l_def_pxhv_rec);
3939 x_pxhv_rec := l_def_pxhv_rec;
3940 x_return_status := l_return_status;
3941 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3942 EXCEPTION
3943 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3944 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3945 (
3946 l_api_name,
3947 G_PKG_NAME,
3948 'OKL_API.G_RET_STS_ERROR',
3949 x_msg_count,
3950 x_msg_data,
3951 '_PVT'
3952 );
3953 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3954 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3955 (
3956 l_api_name,
3957 G_PKG_NAME,
3958 'OKL_API.G_RET_STS_UNEXP_ERROR',
3959 x_msg_count,
3960 x_msg_data,
3961 '_PVT'
3962 );
3963 WHEN OTHERS THEN
3964 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3965 (
3966 l_api_name,
3967 G_PKG_NAME,
3968 'OTHERS',
3969 x_msg_count,
3970 x_msg_data,
3971 '_PVT'
3972 );
3973 END update_row;
3974 ----------------------------------------
3975 -- PL/SQL TBL update_row for:pxhv_tbl --
3976 ----------------------------------------
3977 PROCEDURE update_row(
3978 p_api_version IN NUMBER,
3979 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3980 x_return_status OUT NOCOPY VARCHAR2,
3981 x_msg_count OUT NOCOPY NUMBER,
3982 x_msg_data OUT NOCOPY VARCHAR2,
3983 p_pxhv_tbl IN pxhv_tbl_type,
3984 x_pxhv_tbl OUT NOCOPY pxhv_tbl_type,
3985 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
3986
3987 l_api_version CONSTANT NUMBER := 1;
3988 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
3989 i NUMBER := 0;
3990 BEGIN
3991 OKL_API.init_msg_list(p_init_msg_list);
3992 -- Make sure PL/SQL table has records in it before passing
3993 IF (p_pxhv_tbl.COUNT > 0) THEN
3994 i := p_pxhv_tbl.FIRST;
3995 LOOP
3996 DECLARE
3997 l_error_rec OKL_API.ERROR_REC_TYPE;
3998 BEGIN
3999 l_error_rec.api_name := l_api_name;
4000 l_error_rec.api_package := G_PKG_NAME;
4001 l_error_rec.idx := i;
4002 update_row (
4003 p_api_version => p_api_version,
4004 p_init_msg_list => OKL_API.G_FALSE,
4005 x_return_status => l_error_rec.error_type,
4006 x_msg_count => l_error_rec.msg_count,
4007 x_msg_data => l_error_rec.msg_data,
4008 p_pxhv_rec => p_pxhv_tbl(i),
4009 x_pxhv_rec => x_pxhv_tbl(i));
4010 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
4011 l_error_rec.sqlcode := SQLCODE;
4012 load_error_tbl(l_error_rec, px_error_tbl);
4013 ELSE
4014 x_msg_count := l_error_rec.msg_count;
4015 x_msg_data := l_error_rec.msg_data;
4016 END IF;
4017 EXCEPTION
4018 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4019 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
4020 l_error_rec.sqlcode := SQLCODE;
4021 load_error_tbl(l_error_rec, px_error_tbl);
4022 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4023 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
4024 l_error_rec.sqlcode := SQLCODE;
4025 load_error_tbl(l_error_rec, px_error_tbl);
4026 WHEN OTHERS THEN
4027 l_error_rec.error_type := 'OTHERS';
4028 l_error_rec.sqlcode := SQLCODE;
4029 load_error_tbl(l_error_rec, px_error_tbl);
4030 END;
4031 EXIT WHEN (i = p_pxhv_tbl.LAST);
4032 i := p_pxhv_tbl.NEXT(i);
4033 END LOOP;
4034 END IF;
4035 -- Loop through the error_tbl to find the error with the highest severity
4036 -- and return it.
4037 x_return_status := find_highest_exception(px_error_tbl);
4038 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4039 EXCEPTION
4040 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4041 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4042 (
4043 l_api_name,
4044 G_PKG_NAME,
4045 'OKL_API.G_RET_STS_ERROR',
4046 x_msg_count,
4047 x_msg_data,
4048 '_PVT'
4049 );
4050 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4051 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4052 (
4053 l_api_name,
4054 G_PKG_NAME,
4055 'OKL_API.G_RET_STS_UNEXP_ERROR',
4056 x_msg_count,
4057 x_msg_data,
4058 '_PVT'
4059 );
4060 WHEN OTHERS THEN
4061 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4062 (
4063 l_api_name,
4064 G_PKG_NAME,
4065 'OTHERS',
4066 x_msg_count,
4067 x_msg_data,
4068 '_PVT'
4069 );
4070 END update_row;
4071
4072 ----------------------------------------
4073 -- PL/SQL TBL update_row for:PXHV_TBL --
4074 ----------------------------------------
4075 PROCEDURE update_row(
4076 p_api_version IN NUMBER,
4077 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4078 x_return_status OUT NOCOPY VARCHAR2,
4079 x_msg_count OUT NOCOPY NUMBER,
4080 x_msg_data OUT NOCOPY VARCHAR2,
4081 p_pxhv_tbl IN pxhv_tbl_type,
4082 x_pxhv_tbl OUT NOCOPY pxhv_tbl_type) IS
4083
4084 l_api_version CONSTANT NUMBER := 1;
4085 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
4086 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4087 l_error_tbl OKL_API.ERROR_TBL_TYPE;
4088 BEGIN
4089 OKL_API.init_msg_list(p_init_msg_list);
4090 -- Make sure PL/SQL table has records in it before passing
4091 IF (p_pxhv_tbl.COUNT > 0) THEN
4092 update_row (
4093 p_api_version => p_api_version,
4094 p_init_msg_list => OKL_API.G_FALSE,
4095 x_return_status => x_return_status,
4096 x_msg_count => x_msg_count,
4097 x_msg_data => x_msg_data,
4098 p_pxhv_tbl => p_pxhv_tbl,
4099 x_pxhv_tbl => x_pxhv_tbl,
4100 px_error_tbl => l_error_tbl);
4101 END IF;
4102 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4103 EXCEPTION
4104 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4105 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4106 (
4107 l_api_name,
4108 G_PKG_NAME,
4109 'OKL_API.G_RET_STS_ERROR',
4110 x_msg_count,
4111 x_msg_data,
4112 '_PVT'
4113 );
4114 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4115 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4116 (
4117 l_api_name,
4118 G_PKG_NAME,
4119 'OKL_API.G_RET_STS_UNEXP_ERROR',
4120 x_msg_count,
4121 x_msg_data,
4122 '_PVT'
4123 );
4124 WHEN OTHERS THEN
4125 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4126 (
4127 l_api_name,
4128 G_PKG_NAME,
4129 'OTHERS',
4130 x_msg_count,
4131 x_msg_data,
4132 '_PVT'
4133 );
4134 END update_row;
4135
4136 ---------------------------------------------------------------------------
4137 -- PROCEDURE delete_row
4138 ---------------------------------------------------------------------------
4139 ------------------------------------------------
4140 -- delete_row for:OKL_EXT_AP_HEADER_SOURCES_B --
4141 ------------------------------------------------
4142 PROCEDURE delete_row(
4143 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4144 x_return_status OUT NOCOPY VARCHAR2,
4145 x_msg_count OUT NOCOPY NUMBER,
4146 x_msg_data OUT NOCOPY VARCHAR2,
4147 p_pxh_rec IN pxh_rec_type) IS
4148
4149 l_api_version CONSTANT NUMBER := 1;
4150 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
4151 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4152 l_pxh_rec pxh_rec_type := p_pxh_rec;
4153 l_row_notfound BOOLEAN := TRUE;
4154 BEGIN
4155 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4156 p_init_msg_list,
4157 '_PVT',
4158 x_return_status);
4159 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4160 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4161 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4162 RAISE OKL_API.G_EXCEPTION_ERROR;
4163 END IF;
4164
4165 DELETE FROM OKL_EXT_AP_HEADER_SOURCES_B
4166 WHERE HEADER_EXTENSION_ID = p_pxh_rec.header_extension_id;
4167
4168 x_return_status := l_return_status;
4169 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4170 EXCEPTION
4171 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4172 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4173 (
4174 l_api_name,
4175 G_PKG_NAME,
4176 'OKL_API.G_RET_STS_ERROR',
4177 x_msg_count,
4178 x_msg_data,
4179 '_PVT'
4180 );
4181 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4182 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4183 (
4184 l_api_name,
4185 G_PKG_NAME,
4186 'OKL_API.G_RET_STS_UNEXP_ERROR',
4187 x_msg_count,
4188 x_msg_data,
4189 '_PVT'
4190 );
4191 WHEN OTHERS THEN
4192 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4193 (
4194 l_api_name,
4195 G_PKG_NAME,
4196 'OTHERS',
4197 x_msg_count,
4198 x_msg_data,
4199 '_PVT'
4200 );
4201 END delete_row;
4202 -------------------------------------------------
4203 -- delete_row for:OKL_EXT_AP_HEADER_SOURCES_TL --
4204 -------------------------------------------------
4205 PROCEDURE delete_row(
4206 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4207 x_return_status OUT NOCOPY VARCHAR2,
4208 x_msg_count OUT NOCOPY NUMBER,
4209 x_msg_data OUT NOCOPY VARCHAR2,
4210 p_pxhl_rec IN pxhl_rec_type) IS
4211
4212 l_api_version CONSTANT NUMBER := 1;
4213 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
4214 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4215 l_pxhl_rec pxhl_rec_type := p_pxhl_rec;
4216 l_row_notfound BOOLEAN := TRUE;
4217 BEGIN
4218 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4219 p_init_msg_list,
4220 '_PVT',
4221 x_return_status);
4222 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4223 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4224 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4225 RAISE OKL_API.G_EXCEPTION_ERROR;
4226 END IF;
4227
4228 DELETE FROM OKL_EXT_AP_HEADER_SOURCES_TL
4229 WHERE HEADER_EXTENSION_ID = p_pxhl_rec.header_extension_id;
4230
4231 x_return_status := l_return_status;
4232 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4233 EXCEPTION
4234 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4235 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4236 (
4237 l_api_name,
4238 G_PKG_NAME,
4239 'OKL_API.G_RET_STS_ERROR',
4240 x_msg_count,
4241 x_msg_data,
4242 '_PVT'
4243 );
4244 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4245 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4246 (
4247 l_api_name,
4248 G_PKG_NAME,
4249 'OKL_API.G_RET_STS_UNEXP_ERROR',
4250 x_msg_count,
4251 x_msg_data,
4252 '_PVT'
4253 );
4254 WHEN OTHERS THEN
4255 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4256 (
4257 l_api_name,
4258 G_PKG_NAME,
4259 'OTHERS',
4260 x_msg_count,
4261 x_msg_data,
4262 '_PVT'
4263 );
4264 END delete_row;
4265 ------------------------------------------------
4266 -- delete_row for:OKL_EXT_AP_HEADER_SOURCES_V --
4267 ------------------------------------------------
4268 PROCEDURE delete_row(
4269 p_api_version IN NUMBER,
4270 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4271 x_return_status OUT NOCOPY VARCHAR2,
4272 x_msg_count OUT NOCOPY NUMBER,
4273 x_msg_data OUT NOCOPY VARCHAR2,
4274 p_pxhv_rec IN pxhv_rec_type) IS
4275
4276 l_api_version CONSTANT NUMBER := 1;
4277 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
4278 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4279 l_pxhv_rec pxhv_rec_type := p_pxhv_rec;
4280 l_pxhl_rec pxhl_rec_type;
4281 l_pxh_rec pxh_rec_type;
4282 BEGIN
4283 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4284 G_PKG_NAME,
4285 p_init_msg_list,
4286 l_api_version,
4287 p_api_version,
4288 '_PVT',
4289 x_return_status);
4290 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4291 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4292 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4293 RAISE OKL_API.G_EXCEPTION_ERROR;
4294 END IF;
4295 -----------------------------------------
4296 -- Move VIEW record to "Child" records --
4297 -----------------------------------------
4298 migrate(l_pxhv_rec, l_pxhl_rec);
4299 migrate(l_pxhv_rec, l_pxh_rec);
4300 -----------------------------------------------
4301 -- Call the DELETE_ROW for each child record --
4302 -----------------------------------------------
4303 delete_row(
4304 p_init_msg_list,
4305 l_return_status,
4306 x_msg_count,
4307 x_msg_data,
4308 l_pxhl_rec
4309 );
4310 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4311 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4312 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4313 RAISE OKL_API.G_EXCEPTION_ERROR;
4314 END IF;
4315 delete_row(
4316 p_init_msg_list,
4317 l_return_status,
4318 x_msg_count,
4319 x_msg_data,
4320 l_pxh_rec
4321 );
4322 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4323 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4324 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4325 RAISE OKL_API.G_EXCEPTION_ERROR;
4326 END IF;
4327 x_return_status := l_return_status;
4328 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4329 EXCEPTION
4330 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4331 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4332 (
4333 l_api_name,
4334 G_PKG_NAME,
4335 'OKL_API.G_RET_STS_ERROR',
4336 x_msg_count,
4337 x_msg_data,
4338 '_PVT'
4339 );
4340 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4341 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4342 (
4343 l_api_name,
4344 G_PKG_NAME,
4345 'OKL_API.G_RET_STS_UNEXP_ERROR',
4346 x_msg_count,
4347 x_msg_data,
4348 '_PVT'
4349 );
4350 WHEN OTHERS THEN
4351 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4352 (
4353 l_api_name,
4354 G_PKG_NAME,
4355 'OTHERS',
4356 x_msg_count,
4357 x_msg_data,
4358 '_PVT'
4359 );
4360 END delete_row;
4361 -----------------------------------------------------------
4362 -- PL/SQL TBL delete_row for:OKL_EXT_AP_HEADER_SOURCES_V --
4363 -----------------------------------------------------------
4364 PROCEDURE delete_row(
4365 p_api_version IN NUMBER,
4366 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4367 x_return_status OUT NOCOPY VARCHAR2,
4368 x_msg_count OUT NOCOPY NUMBER,
4369 x_msg_data OUT NOCOPY VARCHAR2,
4370 p_pxhv_tbl IN pxhv_tbl_type,
4371 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
4372
4373 l_api_version CONSTANT NUMBER := 1;
4374 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
4375 i NUMBER := 0;
4376 BEGIN
4377 OKL_API.init_msg_list(p_init_msg_list);
4378 -- Make sure PL/SQL table has records in it before passing
4379 IF (p_pxhv_tbl.COUNT > 0) THEN
4380 i := p_pxhv_tbl.FIRST;
4381 LOOP
4382 DECLARE
4383 l_error_rec OKL_API.ERROR_REC_TYPE;
4384 BEGIN
4385 l_error_rec.api_name := l_api_name;
4386 l_error_rec.api_package := G_PKG_NAME;
4387 l_error_rec.idx := i;
4388 delete_row (
4389 p_api_version => p_api_version,
4390 p_init_msg_list => OKL_API.G_FALSE,
4391 x_return_status => l_error_rec.error_type,
4392 x_msg_count => l_error_rec.msg_count,
4393 x_msg_data => l_error_rec.msg_data,
4394 p_pxhv_rec => p_pxhv_tbl(i));
4395 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
4396 l_error_rec.sqlcode := SQLCODE;
4397 load_error_tbl(l_error_rec, px_error_tbl);
4398 ELSE
4399 x_msg_count := l_error_rec.msg_count;
4400 x_msg_data := l_error_rec.msg_data;
4401 END IF;
4402 EXCEPTION
4403 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4404 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
4405 l_error_rec.sqlcode := SQLCODE;
4406 load_error_tbl(l_error_rec, px_error_tbl);
4407 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4408 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
4409 l_error_rec.sqlcode := SQLCODE;
4410 load_error_tbl(l_error_rec, px_error_tbl);
4411 WHEN OTHERS THEN
4412 l_error_rec.error_type := 'OTHERS';
4413 l_error_rec.sqlcode := SQLCODE;
4414 load_error_tbl(l_error_rec, px_error_tbl);
4415 END;
4416 EXIT WHEN (i = p_pxhv_tbl.LAST);
4417 i := p_pxhv_tbl.NEXT(i);
4418 END LOOP;
4419 END IF;
4420 -- Loop through the error_tbl to find the error with the highest severity
4421 -- and return it.
4422 x_return_status := find_highest_exception(px_error_tbl);
4423 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4424 EXCEPTION
4425 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4426 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4427 (
4428 l_api_name,
4429 G_PKG_NAME,
4430 'OKL_API.G_RET_STS_ERROR',
4431 x_msg_count,
4432 x_msg_data,
4433 '_PVT'
4434 );
4435 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4436 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4437 (
4438 l_api_name,
4439 G_PKG_NAME,
4440 'OKL_API.G_RET_STS_UNEXP_ERROR',
4441 x_msg_count,
4442 x_msg_data,
4443 '_PVT'
4444 );
4445 WHEN OTHERS THEN
4446 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4447 (
4448 l_api_name,
4449 G_PKG_NAME,
4450 'OTHERS',
4451 x_msg_count,
4452 x_msg_data,
4453 '_PVT'
4454 );
4455 END delete_row;
4456
4457 -----------------------------------------------------------
4458 -- PL/SQL TBL delete_row for:OKL_EXT_AP_HEADER_SOURCES_V --
4459 -----------------------------------------------------------
4460 PROCEDURE delete_row(
4461 p_api_version IN NUMBER,
4462 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4463 x_return_status OUT NOCOPY VARCHAR2,
4464 x_msg_count OUT NOCOPY NUMBER,
4465 x_msg_data OUT NOCOPY VARCHAR2,
4466 p_pxhv_tbl IN pxhv_tbl_type) IS
4467
4468 l_api_version CONSTANT NUMBER := 1;
4469 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
4470 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4471 l_error_tbl OKL_API.ERROR_TBL_TYPE;
4472 BEGIN
4473 OKL_API.init_msg_list(p_init_msg_list);
4474 -- Make sure PL/SQL table has records in it before passing
4475 IF (p_pxhv_tbl.COUNT > 0) THEN
4476 delete_row (
4477 p_api_version => p_api_version,
4478 p_init_msg_list => OKL_API.G_FALSE,
4479 x_return_status => x_return_status,
4480 x_msg_count => x_msg_count,
4481 x_msg_data => x_msg_data,
4482 p_pxhv_tbl => p_pxhv_tbl,
4483 px_error_tbl => l_error_tbl);
4484 END IF;
4485 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4486 EXCEPTION
4487 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4488 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4489 (
4490 l_api_name,
4491 G_PKG_NAME,
4492 'OKL_API.G_RET_STS_ERROR',
4493 x_msg_count,
4494 x_msg_data,
4495 '_PVT'
4496 );
4497 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4498 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4499 (
4500 l_api_name,
4501 G_PKG_NAME,
4502 'OKL_API.G_RET_STS_UNEXP_ERROR',
4503 x_msg_count,
4504 x_msg_data,
4505 '_PVT'
4506 );
4507 WHEN OTHERS THEN
4508 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4509 (
4510 l_api_name,
4511 G_PKG_NAME,
4512 'OTHERS',
4513 x_msg_count,
4514 x_msg_data,
4515 '_PVT'
4516 );
4517 END delete_row;
4518
4519 ---------------------------------------------------------------------------
4520 -- PROCEDURE insert_row
4521 ---------------------------------------------------------------------------
4522 -- Added for Bug# 6268782 : PRASJAIN
4523 -------------------------------------------------
4524 -- insert_row for:OKL_EXT_AP_HEADER_SOURCES_B --
4525 -- insert_row for:OKL_EXT_AP_HEADER_SOURCES_TL --
4526 -------------------------------------------------
4527 PROCEDURE insert_row(
4528 p_api_version IN NUMBER,
4529 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4530 x_return_status OUT NOCOPY VARCHAR2,
4531 x_msg_count OUT NOCOPY NUMBER,
4532 x_msg_data OUT NOCOPY VARCHAR2,
4533 p_pxh_rec IN pxh_rec_type,
4534 p_pxhl_tbl IN pxhl_tbl_type,
4535 x_pxh_rec OUT NOCOPY pxh_rec_type,
4536 x_pxhl_tbl OUT NOCOPY pxhl_tbl_type) IS
4537
4538 l_api_version CONSTANT NUMBER := 1;
4539 l_api_name CONSTANT VARCHAR2(30) := 'B_TL_insert_row';
4540 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4541
4542 l_pxh_rec pxh_rec_type := p_pxh_rec;
4543 l_def_pxh_rec pxh_rec_type;
4544 lx_pxh_rec pxh_rec_type;
4545
4546 l_pxhl_tbl pxhl_tbl_type := p_pxhl_tbl;
4547 lx_pxhl_tbl pxhl_tbl_type;
4548
4549 idx NUMBER := 0;
4550 -------------------------------
4551 -- FUNCTION fill_who_columns --
4552 -------------------------------
4553 FUNCTION fill_who_columns (
4554 p_pxh_rec IN pxh_rec_type
4555 ) RETURN pxh_rec_type IS
4556 l_pxh_rec pxh_rec_type := p_pxh_rec;
4557 BEGIN
4558 l_pxh_rec.CREATION_DATE := SYSDATE;
4559 l_pxh_rec.CREATED_BY := FND_GLOBAL.USER_ID;
4560 l_pxh_rec.LAST_UPDATE_DATE := l_pxh_rec.CREATION_DATE;
4561 l_pxh_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4562 l_pxh_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4563 RETURN(l_pxh_rec);
4564 END fill_who_columns;
4565 ----------------------------------------------------
4566 -- Set_Attributes for:OKL_EXT_AP_HEADER_SOURCES_B --
4567 ----------------------------------------------------
4568 FUNCTION Set_Attributes (
4569 p_pxh_rec IN pxh_rec_type,
4570 x_pxh_rec OUT NOCOPY pxh_rec_type
4571 ) RETURN VARCHAR2 IS
4572 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4573 BEGIN
4574 x_pxh_rec := p_pxh_rec;
4575 x_pxh_rec.OBJECT_VERSION_NUMBER := 1;
4576 RETURN(l_return_status);
4577 END Set_Attributes;
4578 BEGIN
4579 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4580 G_PKG_NAME,
4581 p_init_msg_list,
4582 l_api_version,
4583 p_api_version,
4584 '_PVT',
4585 x_return_status);
4586 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4587 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4588 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4589 RAISE OKL_API.G_EXCEPTION_ERROR;
4590 END IF;
4591 -- Set primary key value
4592 l_pxh_rec.HEADER_EXTENSION_ID := get_seq_id;
4593 -- Setting item attributes
4594 l_return_Status := Set_Attributes(
4595 l_pxh_rec, -- IN
4596 l_def_pxh_rec); -- OUT
4597 --- If any errors happen abort API
4598 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4599 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4600 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4601 RAISE OKL_API.G_EXCEPTION_ERROR;
4602 END IF;
4603 l_def_pxh_rec := fill_who_columns(l_def_pxh_rec);
4604 l_pxh_rec := l_def_pxh_rec;
4605 -----------------------------------------------
4606 -- Call the INSERT_ROW for each child record --
4607 -----------------------------------------------
4608 insert_row(
4609 p_init_msg_list,
4610 l_return_status,
4611 x_msg_count,
4612 x_msg_data,
4613 l_pxh_rec,
4614 lx_pxh_rec
4615 );
4616 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4617 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4618 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4619 RAISE OKL_API.G_EXCEPTION_ERROR;
4620 END IF;
4621 -- Looping header translatable sources for insert
4622 FOR idx in p_pxhl_tbl.FIRST .. p_pxhl_tbl.LAST
4623 LOOP
4624 -- Set foreign key value
4625 l_pxhl_tbl(idx).header_extension_id := lx_pxh_rec.header_extension_id;
4626 -- Filling who columns
4627 l_pxhl_tbl(idx).CREATION_DATE := SYSDATE;
4628 l_pxhl_tbl(idx).CREATED_BY := FND_GLOBAL.USER_ID;
4629 l_pxhl_tbl(idx).LAST_UPDATE_DATE := l_pxhl_tbl(idx).CREATION_DATE;
4630 l_pxhl_tbl(idx).LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4631 l_pxhl_tbl(idx).LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4632 insert_row(
4633 p_init_msg_list,
4634 l_return_status,
4635 x_msg_count,
4636 x_msg_data,
4637 l_pxhl_tbl(idx),
4638 lx_pxhl_tbl(idx)
4639 );
4640 END LOOP;
4641 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4642 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4643 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4644 RAISE OKL_API.G_EXCEPTION_ERROR;
4645 END IF;
4646 -- Set OUT values
4647 x_pxh_rec := lx_pxh_rec;
4648 x_pxhl_tbl := lx_pxhl_tbl;
4649 x_return_status := l_return_status;
4650 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4651 EXCEPTION
4652 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4653 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4654 (
4655 l_api_name,
4656 G_PKG_NAME,
4657 'OKL_API.G_RET_STS_ERROR',
4658 x_msg_count,
4659 x_msg_data,
4660 '_PVT'
4661 );
4662 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4663 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4664 (
4665 l_api_name,
4666 G_PKG_NAME,
4667 'OKL_API.G_RET_STS_UNEXP_ERROR',
4668 x_msg_count,
4669 x_msg_data,
4670 '_PVT'
4671 );
4672 WHEN OTHERS THEN
4673 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4674 (
4675 l_api_name,
4676 G_PKG_NAME,
4677 'OTHERS',
4678 x_msg_count,
4679 x_msg_data,
4680 '_PVT'
4681 );
4682 END insert_row;
4683 END OKL_PXH_PVT;