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