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