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