[Home] [Help]
PACKAGE BODY: APPS.OKL_COPY_CONTRACT_PVT
Source
1 Package body okl_copy_contract_pvt as
2 /* $Header: OKLRCOPB.pls 120.56.12020000.5 2013/03/14 09:35:08 racheruv ship $ */
3
4 G_MODULE VARCHAR2(255) := 'okl.stream.esg.okl_esg_transport_pvt';
5 G_DEBUG_ENABLED CONSTANT VARCHAR2(10) := OKL_DEBUG_PUB.CHECK_LOG_ENABLED;
6 G_IS_DEBUG_STATEMENT_ON BOOLEAN;
7 --subtypes declared here to facilitate rosetta skip okc_rule_pub compilation
8 --which has a clob in it
9 TYPE l_phid_mapping_type IS RECORD (old_id okl_party_payment_hdr.id%TYPE := OKC_API.G_MISS_NUM, new_id okl_party_payment_hdr.id%TYPE := OKC_API.G_MISS_NUM);
10 TYPE l_phid_mapping_tab_type IS TABLE OF l_phid_mapping_type INDEX BY BINARY_INTEGER;
11
12 SUBTYPE api_components_rec_okc is OKC_COPY_CONTRACT_PVT.api_components_rec;
13 SUBTYPE api_components_tbl_okc is OKC_COPY_CONTRACT_PVT.api_components_tbl;
14 SUBTYPE api_lines_rec_okc is OKC_COPY_CONTRACT_PVT.api_lines_rec;
15 SUBTYPE api_lines_tbl_okc is OKC_COPY_CONTRACT_PVT.api_lines_tbl;
16 SUBTYPE rgpv_rec_type is OKL_OKC_MIGRATION_PVT.rgpv_rec_type;
17 SUBTYPE rulv_rec_type IS Okl_Rule_Pub.rulv_rec_type;
18 SUBTYPE rulv_tbl_type IS Okl_Rule_Pub.rulv_tbl_type;
19 --Bug# 3143522
20 SUBTYPE ppydv_rec_type IS OKL_PYD_PVT.ppydv_rec_type;
21 -- Bug# 3630858
22 SUBTYPE cspv_rec_type IS OKL_CONTRACT_PROD_OPTNS_PUB.cspv_rec_type;
23 --furong 4350255
24 SUBTYPE pphv_rec_type IS OKL_LDB_PVT.pphv_rec_type;
25 --Bug# 4558486
26 SUBTYPE kplv_rec_type IS OKL_KPL_PVT.kplv_rec_type;
27
28 G_NO_MATCHING_RECORD CONSTANT VARCHAR2(200) := 'OKL_LLA_NO_MATCHING_RECORD';
29 ----------------
30 --bug # 2518454
31 ----------------
32 --G_COPY_HEADER CONSTANT VARCHAR2(200) := 'OKL_LLA_COPY_HEADER';
33 G_COPY_LINE CONSTANT VARCHAR2(200) := 'OKL_LLA_COPY_LINE';
34 G_BULK_SIZE NUMBER := 10000;
35 G_EXCEPTION_HALT_PROCESS EXCEPTION;
36 l_phid_mapping_tab l_phid_mapping_tab_type;
37 l_party_payment_hdr_counter NUMBER := 1;
38
39 --Bug# 16425139 : Changing the below global variables to local variables
40 -- within copy_lease_contract_new and copy_var_int_rate_params
41 /*
42 l_created_by NUMBER := fnd_global.user_id;
43 l_last_updated_by NUMBER := fnd_global.user_id;
44 l_last_update_login NUMBER := fnd_global.login_id;
45 */
46
47 l_contract_exists BOOLEAN := FALSE;
48
49
50 --Function to migrate api_components tbl
51 FUNCTION migrate_components_tbl(p_components_tbl IN api_components_tbl)
52 return api_components_tbl_okc is
53 i NUMBER;
54 l_components_tbl api_components_tbl_okc;
55 BEGIN
56 FOR i in 1..p_components_tbl.LAST
57 Loop
58 l_components_tbl(i).id := p_components_tbl(i).id;
59 l_components_tbl(i).to_k := p_components_tbl(i).to_k;
60 l_components_tbl(i).component_type := p_components_tbl(i).component_type;
61 l_components_tbl(i).attribute1 := p_components_tbl(i).attribute1;
62 End Loop;
63 Return l_components_tbl;
64 END migrate_components_tbl;
65 --Function to migrate api_lines tbl
66 FUNCTION migrate_lines_tbl(p_lines_tbl IN api_lines_tbl)
67 return api_lines_tbl_okc is
68 i NUMBER;
69 l_lines_tbl api_lines_tbl_okc;
70 BEGIN
71 FOR i in 1..p_lines_tbl.LAST
72 Loop
73 l_lines_tbl(i).id := p_lines_tbl(i).id;
74 l_lines_tbl(i).to_k := p_lines_tbl(i).to_k;
75 l_lines_tbl(i).to_line := p_lines_tbl(i).to_line;
76 l_lines_tbl(i).line_exists_yn := p_lines_tbl(i).line_exists_yn;
77 End Loop;
78 Return l_lines_tbl;
79 END migrate_lines_tbl;
80 --------------------------------------------------------------------------
81 --Functions to fetch data from okc_k_headers_v, okc_k_lines_v,
82 --okl_k_headers_v and okl_k_lines_v
83 --These Functions are copy of local functions get_rec in
84 --OKC_CHR_PVT and OKL_KHR_PVT. These are repeated here since they have not
85 --been published. Any changes in in these in the original packages will
86 --also heve to be done here.
87 ----------------------------------------------------------------------------
88 ---------------------------------------------------------------------------
89 -- FUNCTION get_rec for: OKC_K_HEADERS_V
90 ---------------------------------------------------------------------------
91 FUNCTION get_chrv_rec (
92 p_chrv_id IN NUMBER,
93 x_no_data_found OUT NOCOPY BOOLEAN
94 ) RETURN chrv_rec_type IS
95 CURSOR okc_chrv_pk_csr (p_id IN NUMBER) IS
96 SELECT
97 ID
98 ,OBJECT_VERSION_NUMBER
99 ,SFWT_FLAG
100 ,CHR_ID_RESPONSE
101 ,CHR_ID_AWARD
102 ,CHR_ID_RENEWED
103 ,INV_ORGANIZATION_ID
104 ,STS_CODE
105 ,QCL_ID
106 ,SCS_CODE
107 ,CONTRACT_NUMBER
108 ,CURRENCY_CODE
109 ,CONTRACT_NUMBER_MODIFIER
110 ,ARCHIVED_YN
111 ,DELETED_YN
112 ,CUST_PO_NUMBER_REQ_YN
113 ,PRE_PAY_REQ_YN
114 ,CUST_PO_NUMBER
115 ,SHORT_DESCRIPTION
116 ,COMMENTS
117 ,DESCRIPTION
118 ,DPAS_RATING
119 ,COGNOMEN
120 ,TEMPLATE_YN
121 --,GOVERNING_CONTRACT_YN
122 ,TEMPLATE_USED
123 ,DATE_APPROVED
124 ,DATETIME_CANCELLED
125 ,AUTO_RENEW_DAYS
126 ,DATE_ISSUED
127 ,DATETIME_RESPONDED
128 ,NON_RESPONSE_REASON
129 ,NON_RESPONSE_EXPLAIN
130 ,RFP_TYPE
131 ,CHR_TYPE
132 ,KEEP_ON_MAIL_LIST
133 ,SET_ASIDE_REASON
134 ,SET_ASIDE_PERCENT
135 ,RESPONSE_COPIES_REQ
136 ,DATE_CLOSE_PROJECTED
137 ,DATETIME_PROPOSED
138 ,DATE_SIGNED
139 ,DATE_TERMINATED
140 ,DATE_RENEWED
141 ,TRN_CODE
142 ,START_DATE
143 ,END_DATE
144 ,AUTHORING_ORG_ID
145 ,BUY_OR_SELL
146 ,ISSUE_OR_RECEIVE
147 ,ESTIMATED_AMOUNT
148 ,CHR_ID_RENEWED_TO
149 ,ESTIMATED_AMOUNT_RENEWED
150 ,CURRENCY_CODE_RENEWED
151 --,USER_ACCESS_LEVEL
152 ,UPG_ORIG_SYSTEM_REF
153 ,UPG_ORIG_SYSTEM_REF_ID
154 ,APPLICATION_ID
155 --,RESOLVED_UNTIL
156 ,ATTRIBUTE_CATEGORY
157 ,ATTRIBUTE1
158 ,ATTRIBUTE2
159 ,ATTRIBUTE3
160 ,ATTRIBUTE4
161 ,ATTRIBUTE5
162 ,ATTRIBUTE6
163 ,ATTRIBUTE7
164 ,ATTRIBUTE8
165 ,ATTRIBUTE9
166 ,ATTRIBUTE10
167 ,ATTRIBUTE11
168 ,ATTRIBUTE12
169 ,ATTRIBUTE13
170 ,ATTRIBUTE14
171 ,ATTRIBUTE15
172 ,CREATED_BY
173 ,CREATION_DATE
174 ,LAST_UPDATED_BY
175 ,LAST_UPDATE_DATE
176 ,LAST_UPDATE_LOGIN
177 ,ORIG_SYSTEM_SOURCE_CODE
178 ,ORIG_SYSTEM_ID1
179 ,ORIG_SYSTEM_REFERENCE1
180 ,PROGRAM_APPLICATION_ID
181 ,PROGRAM_ID
182 ,PROGRAM_UPDATE_DATE
183 ,REQUEST_ID
184 ,PRICE_LIST_ID
185 ,PRICING_DATE
186 ,TOTAL_LINE_LIST_PRICE
187 ,SIGN_BY_DATE
188 ,USER_ESTIMATED_AMOUNT
189 ,CONVERSION_TYPE
190 ,CONVERSION_RATE
191 ,CONVERSION_RATE_DATE
192 ,CONVERSION_EURO_RATE
193 ,CUST_ACCT_ID
194 ,BILL_TO_SITE_USE_ID
195 ,INV_RULE_ID
196 ,RENEWAL_TYPE_CODE
197 ,RENEWAL_NOTIFY_TO
198 ,RENEWAL_END_DATE
199 ,SHIP_TO_SITE_USE_ID
200 ,PAYMENT_TERM_ID
201 FROM Okc_K_Headers_V
202 WHERE okc_k_headers_v.id = p_id;
203 l_okc_chrv_pk okc_chrv_pk_csr%ROWTYPE;
204 l_chrv_rec chrv_rec_type;
205 BEGIN
206 x_no_data_found := TRUE;
207 -- Get current database values
208 OPEN okc_chrv_pk_csr (p_chrv_id);
209 FETCH okc_chrv_pk_csr INTO
210 l_chrv_rec.ID
211 ,l_chrv_rec.OBJECT_VERSION_NUMBER
212 ,l_chrv_rec.SFWT_FLAG
213 ,l_chrv_rec.CHR_ID_RESPONSE
214 ,l_chrv_rec.CHR_ID_AWARD
215 ,l_chrv_rec.CHR_ID_RENEWED
216 ,l_chrv_rec.INV_ORGANIZATION_ID
217 ,l_chrv_rec.STS_CODE
218 ,l_chrv_rec.QCL_ID
219 ,l_chrv_rec.SCS_CODE
220 ,l_chrv_rec.CONTRACT_NUMBER
221 ,l_chrv_rec.CURRENCY_CODE
222 ,l_chrv_rec.CONTRACT_NUMBER_MODIFIER
223 ,l_chrv_rec.ARCHIVED_YN
224 ,l_chrv_rec.DELETED_YN
225 ,l_chrv_rec.CUST_PO_NUMBER_REQ_YN
226 ,l_chrv_rec.PRE_PAY_REQ_YN
227 ,l_chrv_rec.CUST_PO_NUMBER
228 ,l_chrv_rec.SHORT_DESCRIPTION
229 ,l_chrv_rec.COMMENTS
230 ,l_chrv_rec.DESCRIPTION
231 ,l_chrv_rec.DPAS_RATING
232 ,l_chrv_rec.COGNOMEN
233 ,l_chrv_rec.TEMPLATE_YN
234 --,l_chrv_rec.GOVERNING_CONTRACT_YN
235 ,l_chrv_rec.TEMPLATE_USED
236 ,l_chrv_rec.DATE_APPROVED
237 ,l_chrv_rec.DATETIME_CANCELLED
238 ,l_chrv_rec.AUTO_RENEW_DAYS
239 ,l_chrv_rec.DATE_ISSUED
240 ,l_chrv_rec.DATETIME_RESPONDED
241 ,l_chrv_rec.NON_RESPONSE_REASON
242 ,l_chrv_rec.NON_RESPONSE_EXPLAIN
243 ,l_chrv_rec.RFP_TYPE
244 ,l_chrv_rec.CHR_TYPE
245 ,l_chrv_rec.KEEP_ON_MAIL_LIST
246 ,l_chrv_rec.SET_ASIDE_REASON
247 ,l_chrv_rec.SET_ASIDE_PERCENT
248 ,l_chrv_rec.RESPONSE_COPIES_REQ
249 ,l_chrv_rec.DATE_CLOSE_PROJECTED
250 ,l_chrv_rec.DATETIME_PROPOSED
251 ,l_chrv_rec.DATE_SIGNED
252 ,l_chrv_rec.DATE_TERMINATED
253 ,l_chrv_rec.DATE_RENEWED
254 ,l_chrv_rec.TRN_CODE
255 ,l_chrv_rec.START_DATE
256 ,l_chrv_rec.END_DATE
257 ,l_chrv_rec.AUTHORING_ORG_ID
258 ,l_chrv_rec.BUY_OR_SELL
259 ,l_chrv_rec.ISSUE_OR_RECEIVE
260 ,l_chrv_rec.ESTIMATED_AMOUNT
261 ,l_chrv_rec.CHR_ID_RENEWED_TO
262 ,l_chrv_rec.ESTIMATED_AMOUNT_RENEWED
263 ,l_chrv_rec.CURRENCY_CODE_RENEWED
264 --,l_chrv_rec.USER_ACCESS_LEVEL
265 ,l_chrv_rec.UPG_ORIG_SYSTEM_REF
266 ,l_chrv_rec.UPG_ORIG_SYSTEM_REF_ID
267 ,l_chrv_rec.APPLICATION_ID
268 --,l_chrv_rec.RESOLVED_UNTIL
269 ,l_chrv_rec.ATTRIBUTE_CATEGORY
270 ,l_chrv_rec.ATTRIBUTE1
271 ,l_chrv_rec.ATTRIBUTE2
272 ,l_chrv_rec.ATTRIBUTE3
273 ,l_chrv_rec.ATTRIBUTE4
274 ,l_chrv_rec.ATTRIBUTE5
275 ,l_chrv_rec.ATTRIBUTE6
276 ,l_chrv_rec.ATTRIBUTE7
277 ,l_chrv_rec.ATTRIBUTE8
278 ,l_chrv_rec.ATTRIBUTE9
279 ,l_chrv_rec.ATTRIBUTE10
280 ,l_chrv_rec.ATTRIBUTE11
281 ,l_chrv_rec.ATTRIBUTE12
282 ,l_chrv_rec.ATTRIBUTE13
283 ,l_chrv_rec.ATTRIBUTE14
284 ,l_chrv_rec.ATTRIBUTE15
285 ,l_chrv_rec.CREATED_BY
286 ,l_chrv_rec.CREATION_DATE
287 ,l_chrv_rec.LAST_UPDATED_BY
288 ,l_chrv_rec.LAST_UPDATE_DATE
289 ,l_chrv_rec.LAST_UPDATE_LOGIN
290 ,l_chrv_rec.ORIG_SYSTEM_SOURCE_CODE
291 ,l_chrv_rec.ORIG_SYSTEM_ID1
292 ,l_chrv_rec.ORIG_SYSTEM_REFERENCE1
293 ,l_chrv_rec.PROGRAM_APPLICATION_ID
294 ,l_chrv_rec.PROGRAM_ID
295 ,l_chrv_rec.PROGRAM_UPDATE_DATE
296 ,l_chrv_rec.REQUEST_ID
297 ,l_chrv_rec.PRICE_LIST_ID
298 ,l_chrv_rec.PRICING_DATE
299 ,l_chrv_rec.TOTAL_LINE_LIST_PRICE
300 ,l_chrv_rec.SIGN_BY_DATE
301 ,l_chrv_rec.USER_ESTIMATED_AMOUNT
302 ,l_chrv_rec.CONVERSION_TYPE
303 ,l_chrv_rec.CONVERSION_RATE
304 ,l_chrv_rec.CONVERSION_RATE_DATE
305 ,l_chrv_rec.CONVERSION_EURO_RATE
306 ,l_chrv_rec.CUST_ACCT_ID
307 ,l_chrv_rec.BILL_TO_SITE_USE_ID
308 ,l_chrv_rec.INV_RULE_ID
309 ,l_chrv_rec.RENEWAL_TYPE_CODE
310 ,l_chrv_rec.RENEWAL_NOTIFY_TO
311 ,l_chrv_rec.RENEWAL_END_DATE
312 ,l_chrv_rec.SHIP_TO_SITE_USE_ID
313 ,l_chrv_rec.PAYMENT_TERM_ID;
314 x_no_data_found := okc_chrv_pk_csr%NOTFOUND;
315 CLOSE okc_chrv_pk_csr;
316 RETURN(l_chrv_rec);
317 END get_chrv_rec;
318
319 FUNCTION get_chrv_rec (
320 p_chrv_id IN NUMBER
321 ) RETURN chrv_rec_type IS
322 l_row_notfound BOOLEAN := TRUE;
323 BEGIN
324 RETURN(get_chrv_rec(p_chrv_id, l_row_notfound));
325 END get_chrv_rec;
326
327 ---------------------------------------------------------------------------
328 -- FUNCTION get_rec for: OKL_K_HEADERS_V
329 ---------------------------------------------------------------------------
330 FUNCTION get_khrv_rec (
331 p_khrv_id IN NUMBER,
332 x_no_data_found OUT NOCOPY BOOLEAN
333 ) RETURN khrv_rec_type IS
334 CURSOR okl_khrv_pk_csr (p_id IN NUMBER) IS
335 SELECT
336 ID,
337 OBJECT_VERSION_NUMBER,
338 ISG_ID,
339 KHR_ID,
340 PDT_ID,
341 AMD_CODE,
342 DATE_FIRST_ACTIVITY,
343 GENERATE_ACCRUAL_YN,
344 GENERATE_ACCRUAL_OVERRIDE_YN,
345 DATE_REFINANCED,
346 CREDIT_ACT_YN,
347 TERM_DURATION,
348 CONVERTED_ACCOUNT_YN,
349 DATE_CONVERSION_EFFECTIVE,
350 SYNDICATABLE_YN,
351 SALESTYPE_YN,
352 DATE_DEAL_TRANSFERRED,
353 DATETIME_PROPOSAL_EFFECTIVE,
354 DATETIME_PROPOSAL_INEFFECTIVE,
355 DATE_PROPOSAL_ACCEPTED,
356 ATTRIBUTE_CATEGORY,
357 ATTRIBUTE1,
358 ATTRIBUTE2,
359 ATTRIBUTE3,
360 ATTRIBUTE4,
361 ATTRIBUTE5,
362 ATTRIBUTE6,
363 ATTRIBUTE7,
364 ATTRIBUTE8,
365 ATTRIBUTE9,
366 ATTRIBUTE10,
367 ATTRIBUTE11,
368 ATTRIBUTE12,
369 ATTRIBUTE13,
370 ATTRIBUTE14,
371 ATTRIBUTE15,
372 CREATED_BY,
373 CREATION_DATE,
374 LAST_UPDATED_BY,
375 LAST_UPDATE_DATE,
376 LAST_UPDATE_LOGIN,
377 PRE_TAX_YIELD,
378 AFTER_TAX_YIELD,
379 IMPLICIT_INTEREST_RATE,
380 IMPLICIT_NON_IDC_INTEREST_RATE,
381 TARGET_PRE_TAX_YIELD,
382 TARGET_AFTER_TAX_YIELD,
383 TARGET_IMPLICIT_INTEREST_RATE,
384 TARGET_IMPLICIT_NONIDC_INTRATE,
385 DATE_LAST_INTERIM_INTEREST_CAL,
386 DEAL_TYPE,
387 PRE_TAX_IRR,
388 AFTER_TAX_IRR,
389 EXPECTED_DELIVERY_DATE,
390 ACCEPTED_DATE,
391 PREFUNDING_ELIGIBLE_YN,
392 REVOLVING_CREDIT_YN,
393 -- Bug# 2697681
394 CURRENCY_CONVERSION_TYPE,
395 CURRENCY_CONVERSION_RATE,
396 CURRENCY_CONVERSION_DATE,
397 MULTI_GAAP_YN,
398 RECOURSE_CODE,
399 LESSOR_SERV_ORG_CODE,
400 ASSIGNABLE_YN,
401 SECURITIZED_CODE,
402 SECURITIZATION_TYPE,
403 -- Bug# 2697681
404 --Bug# 3143522 : Subsidies
405 SUB_PRE_TAX_YIELD,
406 SUB_AFTER_TAX_YIELD,
407 SUB_IMPL_INTEREST_RATE,
408 SUB_IMPL_NON_IDC_INT_RATE,
409 SUB_PRE_TAX_IRR,
410 SUB_AFTER_TAX_IRR,
411 --Bug#3923883 Rollover/Creditline performance
412 TOT_CL_TRANSFER_AMT,
413 TOT_CL_NET_TRANSFER_AMT,
414 TOT_CL_LIMIT,
415 TOT_CL_FUNDING_AMT,
416 --Bug 4466440 OKL.H columns
417 CRS_ID,
418 TEMPLATE_TYPE_CODE,
419 TRADEIN_DESCRIPTION,
420 TRADEIN_AMOUNT,
421 DATE_TRADEIN,
422 DATE_FUNDING_EXPECTED,
423 --Added by dpsingh for LE Uptake
424 LEGAL_ENTITY_ID
425 FROM Okl_K_Headers_V
426 WHERE okl_k_headers_v.id = p_id;
427 l_okl_khrv_pk okl_khrv_pk_csr%ROWTYPE;
428 l_khrv_rec khrv_rec_type;
429 BEGIN
430 x_no_data_found := TRUE;
431 -- Get current database values
432 OPEN okl_khrv_pk_csr (p_khrv_id);
433 FETCH okl_khrv_pk_csr INTO
434 l_khrv_rec.ID,
435 l_khrv_rec.OBJECT_VERSION_NUMBER,
436 l_khrv_rec.ISG_ID,
437 l_khrv_rec.KHR_ID,
438 l_khrv_rec.PDT_ID,
439 l_khrv_rec.AMD_CODE,
440 l_khrv_rec.DATE_FIRST_ACTIVITY,
441 l_khrv_rec.GENERATE_ACCRUAL_YN,
442 l_khrv_rec.GENERATE_ACCRUAL_OVERRIDE_YN,
443 l_khrv_rec.DATE_REFINANCED,
444 l_khrv_rec.CREDIT_ACT_YN,
445 l_khrv_rec.TERM_DURATION,
446 l_khrv_rec.CONVERTED_ACCOUNT_YN,
447 l_khrv_rec.DATE_CONVERSION_EFFECTIVE,
448 l_khrv_rec.SYNDICATABLE_YN,
449 l_khrv_rec.SALESTYPE_YN,
450 l_khrv_rec.DATE_DEAL_TRANSFERRED,
451 l_khrv_rec.DATETIME_PROPOSAL_EFFECTIVE,
452 l_khrv_rec.DATETIME_PROPOSAL_INEFFECTIVE,
453 l_khrv_rec.DATE_PROPOSAL_ACCEPTED,
454 l_khrv_rec.ATTRIBUTE_CATEGORY,
455 l_khrv_rec.ATTRIBUTE1,
456 l_khrv_rec.ATTRIBUTE2,
457 l_khrv_rec.ATTRIBUTE3,
458 l_khrv_rec.ATTRIBUTE4,
459 l_khrv_rec.ATTRIBUTE5,
460 l_khrv_rec.ATTRIBUTE6,
461 l_khrv_rec.ATTRIBUTE7,
462 l_khrv_rec.ATTRIBUTE8,
463 l_khrv_rec.ATTRIBUTE9,
464 l_khrv_rec.ATTRIBUTE10,
465 l_khrv_rec.ATTRIBUTE11,
466 l_khrv_rec.ATTRIBUTE12,
467 l_khrv_rec.ATTRIBUTE13,
468 l_khrv_rec.ATTRIBUTE14,
469 l_khrv_rec.ATTRIBUTE15,
470 l_khrv_rec.CREATED_BY,
471 l_khrv_rec.CREATION_DATE,
472 l_khrv_rec.LAST_UPDATED_BY,
473 l_khrv_rec.LAST_UPDATE_DATE,
474 l_khrv_rec.LAST_UPDATE_LOGIN,
475 l_khrv_rec.PRE_TAX_YIELD,
476 l_khrv_rec.AFTER_TAX_YIELD,
477 l_khrv_rec.IMPLICIT_INTEREST_RATE,
478 l_khrv_rec.IMPLICIT_NON_IDC_INTEREST_RATE,
479 l_khrv_rec.TARGET_PRE_TAX_YIELD,
480 l_khrv_rec.TARGET_AFTER_TAX_YIELD,
481 l_khrv_rec.TARGET_IMPLICIT_INTEREST_RATE,
482 l_khrv_rec.TARGET_IMPLICIT_NONIDC_INTRATE,
483 l_khrv_rec.DATE_LAST_INTERIM_INTEREST_CAL,
484 l_khrv_rec.DEAL_TYPE,
485 l_khrv_rec.PRE_TAX_IRR,
486 l_khrv_rec.AFTER_TAX_IRR,
487 l_khrv_rec.expected_delivery_date,
488 l_khrv_rec.accepted_date,
489 l_khrv_rec.PREFUNDING_ELIGIBLE_YN,
490 l_khrv_rec.REVOLVING_CREDIT_YN,
491 l_khrv_rec.CURRENCY_CONVERSION_TYPE,
492 l_khrv_rec.CURRENCY_CONVERSION_RATE,
493 l_khrv_rec.CURRENCY_CONVERSION_DATE,
494 l_khrv_rec.MULTI_GAAP_YN,
495 l_khrv_rec.RECOURSE_CODE,
496 l_khrv_rec.LESSOR_SERV_ORG_CODE,
497 l_khrv_rec.ASSIGNABLE_YN,
498 l_khrv_rec.SECURITIZED_CODE,
499 l_khrv_rec.SECURITIZATION_TYPE,
500 --Bug# 3143522 : Subsidies
501 l_khrv_rec.SUB_PRE_TAX_YIELD,
502 l_khrv_rec.SUB_AFTER_TAX_YIELD,
503 l_khrv_rec.SUB_IMPL_INTEREST_RATE,
504 l_khrv_rec.SUB_IMPL_NON_IDC_INT_RATE,
505 l_khrv_rec.SUB_PRE_TAX_IRR,
506 l_khrv_rec.SUB_AFTER_TAX_IRR,
507 --Bug#3923883 Rollover/Creditline performance
508 l_khrv_rec.TOT_CL_TRANSFER_AMT,
509 l_khrv_rec.TOT_CL_NET_TRANSFER_AMT,
510 l_khrv_rec.TOT_CL_LIMIT,
511 l_khrv_rec.TOT_CL_FUNDING_AMT,
512 --Bug 4466440 OKL.H new columns
513 l_khrv_rec.CRS_ID,
514 l_khrv_rec.TEMPLATE_TYPE_CODE,
515 l_khrv_rec.TRADEIN_DESCRIPTION,
516 l_khrv_rec.TRADEIN_AMOUNT,
517 l_khrv_rec.DATE_TRADEIN,
518 l_khrv_rec.DATE_FUNDING_EXPECTED,
519 --Added by dpsingh for LE Uptake
520 l_khrv_rec.LEGAL_ENTITY_ID;
521 x_no_data_found := okl_khrv_pk_csr%NOTFOUND;
522 CLOSE okl_khrv_pk_csr;
523 RETURN(l_khrv_rec);
524 END get_khrv_rec;
525
526 FUNCTION get_khrv_rec (
527 p_khrv_id IN NUMBER
528 ) RETURN khrv_rec_type IS
529 l_row_notfound BOOLEAN := TRUE;
530 BEGIN
531 RETURN(get_khrv_rec(p_khrv_id, l_row_notfound));
532 END get_khrv_rec;
533 ---------------------------------------------------------------------------
534 -- FUNCTION get_rec for: OKC_K_LINES_V
535 ---------------------------------------------------------------------------
536 FUNCTION get_clev_rec (
537 p_clev_id IN NUMBER,
538 x_no_data_found OUT NOCOPY BOOLEAN
539 ) RETURN clev_rec_type IS
540 CURSOR okc_clev_pk_csr (p_id IN NUMBER) IS
541 SELECT
542 ID
543 ,OBJECT_VERSION_NUMBER
544 ,SFWT_FLAG
545 ,CHR_ID
546 ,CLE_ID
547 ,CLE_ID_RENEWED
548 ,CLE_ID_RENEWED_TO
549 ,LSE_ID
550 ,LINE_NUMBER
551 ,STS_CODE
552 ,DISPLAY_SEQUENCE
553 ,TRN_CODE
554 ,DNZ_CHR_ID
555 ,COMMENTS
556 ,ITEM_DESCRIPTION
557 ,OKE_BOE_DESCRIPTION
558 ,HIDDEN_IND
559 ,PRICE_UNIT
560 ,PRICE_UNIT_PERCENT
561 ,PRICE_NEGOTIATED
562 ,PRICE_NEGOTIATED_RENEWED
563 ,PRICE_LEVEL_IND
564 ,INVOICE_LINE_LEVEL_IND
565 ,DPAS_RATING
566 ,BLOCK23TEXT
567 ,EXCEPTION_YN
568 ,TEMPLATE_USED
569 ,DATE_TERMINATED
570 ,NAME
571 ,START_DATE
572 ,END_DATE
573 ,UPG_ORIG_SYSTEM_REF
574 ,UPG_ORIG_SYSTEM_REF_ID
575 ,ATTRIBUTE_CATEGORY
576 ,ATTRIBUTE1
577 ,ATTRIBUTE2
578 ,ATTRIBUTE3
579 ,ATTRIBUTE4
580 ,ATTRIBUTE5
581 ,ATTRIBUTE6
582 ,ATTRIBUTE7
583 ,ATTRIBUTE8
584 ,ATTRIBUTE9
585 ,ATTRIBUTE10
586 ,ATTRIBUTE11
587 ,ATTRIBUTE12
588 ,ATTRIBUTE13
589 ,ATTRIBUTE14
590 ,ATTRIBUTE15
591 ,CREATED_BY
592 ,CREATION_DATE
593 ,LAST_UPDATED_BY
594 ,LAST_UPDATE_DATE
595 ,LAST_UPDATE_LOGIN
596 ,PRICE_TYPE
597 ,CURRENCY_CODE
598 ,CURRENCY_CODE_RENEWED
599 ,DATE_RENEWED
600 ,ORIG_SYSTEM_SOURCE_CODE
601 ,ORIG_SYSTEM_ID1
602 ,ORIG_SYSTEM_REFERENCE1
603 ,COGNOMEN
604 ,PROGRAM_APPLICATION_ID
605 ,PROGRAM_ID
606 ,PROGRAM_UPDATE_DATE
607 ,REQUEST_ID
608 ,PRICE_LIST_LINE_ID
609 ,PRICE_LIST_ID
610 ,LINE_LIST_PRICE
611 ,ITEM_TO_PRICE_YN
612 ,PRICING_DATE
613 ,PRICE_BASIS_YN
614 ,CONFIG_HEADER_ID
615 ,CONFIG_REVISION_NUMBER
616 ,CONFIG_COMPLETE_YN
617 ,CONFIG_VALID_YN
618 ,CONFIG_TOP_MODEL_LINE_ID
619 ,CONFIG_ITEM_TYPE
620 ,CONFIG_ITEM_ID
621 --,SERVICE_ITEM_YN
622 --,PH_PRICING_TYPE
623 --,PH_ADJUSTMENT
624 --,PH_PRICE_BREAK_BASIS
625 --,PH_MIN_QTY
626 --,PH_MIN_AMT
627 --,PH_QP_REFERENCE_ID
628 --,PH_VALUE
629 --,PH_ENFORCE_PRICE_LIST_YN
630 --,PH_INTEGRATED_WITH_QP
631 ,CUST_ACCT_ID
632 ,BILL_TO_SITE_USE_ID
633 ,INV_RULE_ID
634 ,LINE_RENEWAL_TYPE_CODE
635 ,SHIP_TO_SITE_USE_ID
636 ,PAYMENT_TERM_ID
637 FROM Okc_K_Lines_V
638 WHERE okc_k_lines_v.id = p_id;
639 l_okc_clev_pk okc_clev_pk_csr%ROWTYPE;
640 l_clev_rec clev_rec_type;
641 BEGIN
642 x_no_data_found := TRUE;
643 -- Get current database values
644 OPEN okc_clev_pk_csr (p_clev_id);
645 FETCH okc_clev_pk_csr INTO
646 l_clev_rec.ID
647 ,l_clev_rec.OBJECT_VERSION_NUMBER
648 ,l_clev_rec.SFWT_FLAG
649 ,l_clev_rec.CHR_ID
650 ,l_clev_rec.CLE_ID
651 ,l_clev_rec.CLE_ID_RENEWED
652 ,l_clev_rec.CLE_ID_RENEWED_TO
653 ,l_clev_rec.LSE_ID
654 ,l_clev_rec.LINE_NUMBER
655 ,l_clev_rec.STS_CODE
656 ,l_clev_rec.DISPLAY_SEQUENCE
657 ,l_clev_rec.TRN_CODE
658 ,l_clev_rec.DNZ_CHR_ID
659 ,l_clev_rec.COMMENTS
660 ,l_clev_rec.ITEM_DESCRIPTION
661 ,l_clev_rec.OKE_BOE_DESCRIPTION
662 ,l_clev_rec.HIDDEN_IND
663 ,l_clev_rec.PRICE_UNIT
664 ,l_clev_rec.PRICE_UNIT_PERCENT
665 ,l_clev_rec.PRICE_NEGOTIATED
666 ,l_clev_rec.PRICE_NEGOTIATED_RENEWED
667 ,l_clev_rec.PRICE_LEVEL_IND
668 ,l_clev_rec.INVOICE_LINE_LEVEL_IND
669 ,l_clev_rec.DPAS_RATING
670 ,l_clev_rec.BLOCK23TEXT
671 ,l_clev_rec.EXCEPTION_YN
672 ,l_clev_rec.TEMPLATE_USED
673 ,l_clev_rec.DATE_TERMINATED
674 ,l_clev_rec.NAME
675 ,l_clev_rec.START_DATE
676 ,l_clev_rec.END_DATE
677 ,l_clev_rec.UPG_ORIG_SYSTEM_REF
678 ,l_clev_rec.UPG_ORIG_SYSTEM_REF_ID
679 ,l_clev_rec.ATTRIBUTE_CATEGORY
680 ,l_clev_rec.ATTRIBUTE1
681 ,l_clev_rec.ATTRIBUTE2
682 ,l_clev_rec.ATTRIBUTE3
683 ,l_clev_rec.ATTRIBUTE4
684 ,l_clev_rec.ATTRIBUTE5
685 ,l_clev_rec.ATTRIBUTE6
686 ,l_clev_rec.ATTRIBUTE7
687 ,l_clev_rec.ATTRIBUTE8
688 ,l_clev_rec.ATTRIBUTE9
689 ,l_clev_rec.ATTRIBUTE10
690 ,l_clev_rec.ATTRIBUTE11
691 ,l_clev_rec.ATTRIBUTE12
692 ,l_clev_rec.ATTRIBUTE13
693 ,l_clev_rec.ATTRIBUTE14
694 ,l_clev_rec.ATTRIBUTE15
695 ,l_clev_rec.CREATED_BY
696 ,l_clev_rec.CREATION_DATE
697 ,l_clev_rec.LAST_UPDATED_BY
698 ,l_clev_rec.LAST_UPDATE_DATE
699 ,l_clev_rec.LAST_UPDATE_LOGIN
700 ,l_clev_rec.PRICE_TYPE
701 ,l_clev_rec.CURRENCY_CODE
702 ,l_clev_rec.CURRENCY_CODE_RENEWED
703 ,l_clev_rec.DATE_RENEWED
704 ,l_clev_rec.ORIG_SYSTEM_SOURCE_CODE
705 ,l_clev_rec.ORIG_SYSTEM_ID1
706 ,l_clev_rec.ORIG_SYSTEM_REFERENCE1
707 ,l_clev_rec.COGNOMEN
708 ,l_clev_rec.PROGRAM_APPLICATION_ID
709 ,l_clev_rec.PROGRAM_ID
710 ,l_clev_rec.PROGRAM_UPDATE_DATE
711 ,l_clev_rec.REQUEST_ID
712 ,l_clev_rec.PRICE_LIST_LINE_ID
713 ,l_clev_rec.PRICE_LIST_ID
714 ,l_clev_rec.LINE_LIST_PRICE
715 ,l_clev_rec.ITEM_TO_PRICE_YN
716 ,l_clev_rec.PRICING_DATE
717 ,l_clev_rec.PRICE_BASIS_YN
718 ,l_clev_rec.CONFIG_HEADER_ID
719 ,l_clev_rec.CONFIG_REVISION_NUMBER
720 ,l_clev_rec.CONFIG_COMPLETE_YN
721 ,l_clev_rec.CONFIG_VALID_YN
722 ,l_clev_rec.CONFIG_TOP_MODEL_LINE_ID
723 ,l_clev_rec.CONFIG_ITEM_TYPE
724 ,l_clev_rec.CONFIG_ITEM_ID
725 --,l_clev_rec.SERVICE_ITEM_YN
726 --,l_clev_rec.PH_PRICING_TYPE
727 --,l_clev_rec.PH_ADJUSTMENT
728 --,l_clev_rec.PH_PRICE_BREAK_BASIS
729 --,l_clev_rec.PH_MIN_QTY
730 --,l_clev_rec.PH_MIN_AMT
731 --,l_clev_rec.PH_QP_REFERENCE_ID
732 --,l_clev_rec.PH_VALUE
733 --,l_clev_rec.PH_ENFORCE_PRICE_LIST_YN
734 --,l_clev_rec.PH_INTEGRATED_WITH_QP
735 ,l_clev_rec.CUST_ACCT_ID
736 ,l_clev_rec.BILL_TO_SITE_USE_ID
737 ,l_clev_rec.INV_RULE_ID
738 ,l_clev_rec.LINE_RENEWAL_TYPE_CODE
739 ,l_clev_rec.SHIP_TO_SITE_USE_ID
740 ,l_clev_rec.PAYMENT_TERM_ID;
741 x_no_data_found := okc_clev_pk_csr%NOTFOUND;
742 CLOSE okc_clev_pk_csr;
743 RETURN(l_clev_rec);
744 END get_clev_rec;
745
746 FUNCTION get_clev_rec (
747 p_clev_id IN NUMBER
748 ) RETURN clev_rec_type IS
749 l_row_notfound BOOLEAN := TRUE;
750 BEGIN
751 RETURN(get_clev_rec(p_clev_id, l_row_notfound));
752 END get_clev_rec;
753 ----------------------------------------------------------------------
754 --end get_clev_rec
755 -----------------------------------------------------------------------
756 ---------------------------------------------------------------------------
757 -- FUNCTION get_rec for: OKL_K_LINES_V
758 ---------------------------------------------------------------------------
759 FUNCTION get_klev_rec (
760 p_klev_id IN NUMBER,
761 x_no_data_found OUT NOCOPY BOOLEAN
762 ) RETURN klev_rec_type IS
763 CURSOR okl_klev_pk_csr (p_id IN NUMBER) IS
764 SELECT
765 ID,
766 OBJECT_VERSION_NUMBER,
767 KLE_ID,
768 STY_ID,
769 PRC_CODE,
770 FCG_CODE,
771 NTY_CODE,
772 ESTIMATED_OEC,
773 LAO_AMOUNT,
774 TITLE_DATE,
775 FEE_CHARGE,
776 LRS_PERCENT,
777 INITIAL_DIRECT_COST,
778 PERCENT_STAKE,
779 PERCENT,
780 EVERGREEN_PERCENT,
781 AMOUNT_STAKE,
782 OCCUPANCY,
783 COVERAGE,
784 RESIDUAL_PERCENTAGE,
785 DATE_LAST_INSPECTION,
786 DATE_SOLD,
787 LRV_AMOUNT,
788 CAPITAL_REDUCTION,
789 DATE_NEXT_INSPECTION_DUE,
790 DATE_RESIDUAL_LAST_REVIEW,
791 DATE_LAST_REAMORTISATION,
792 VENDOR_ADVANCE_PAID,
793 WEIGHTED_AVERAGE_LIFE,
794 TRADEIN_AMOUNT,
795 BOND_EQUIVALENT_YIELD,
796 TERMINATION_PURCHASE_AMOUNT,
797 REFINANCE_AMOUNT,
798 YEAR_BUILT,
799 DELIVERED_DATE,
800 CREDIT_TENANT_YN,
801 DATE_LAST_CLEANUP,
802 YEAR_OF_MANUFACTURE,
803 COVERAGE_RATIO,
804 REMARKETED_AMOUNT,
805 GROSS_SQUARE_FOOTAGE,
806 PRESCRIBED_ASSET_YN,
807 DATE_REMARKETED,
808 NET_RENTABLE,
809 REMARKET_MARGIN,
810 DATE_LETTER_ACCEPTANCE,
811 REPURCHASED_AMOUNT,
812 DATE_COMMITMENT_EXPIRATION,
813 DATE_REPURCHASED,
814 DATE_APPRAISAL,
815 RESIDUAL_VALUE,
816 APPRAISAL_VALUE,
817 SECURED_DEAL_YN,
818 GAIN_LOSS,
819 FLOOR_AMOUNT,
820 RE_LEASE_YN,
821 PREVIOUS_CONTRACT,
822 TRACKED_RESIDUAL,
823 DATE_TITLE_RECEIVED,
824 AMOUNT,
825 ATTRIBUTE_CATEGORY,
826 ATTRIBUTE1,
827 ATTRIBUTE2,
828 ATTRIBUTE3,
829 ATTRIBUTE4,
830 ATTRIBUTE5,
831 ATTRIBUTE6,
832 ATTRIBUTE7,
833 ATTRIBUTE8,
834 ATTRIBUTE9,
835 ATTRIBUTE10,
836 ATTRIBUTE11,
837 ATTRIBUTE12,
838 ATTRIBUTE13,
839 ATTRIBUTE14,
840 ATTRIBUTE15,
841 STY_ID_FOR,
842 CLG_ID,
843 CREATED_BY,
844 CREATION_DATE,
845 LAST_UPDATED_BY,
846 LAST_UPDATE_DATE,
847 LAST_UPDATE_LOGIN,
848 DATE_FUNDING,
849 DATE_FUNDING_REQUIRED,
850 DATE_ACCEPTED,
851 DATE_DELIVERY_EXPECTED,
852 OEC,
853 CAPITAL_AMOUNT,
854 RESIDUAL_GRNTY_AMOUNT,
855 RESIDUAL_CODE,
856 RVI_PREMIUM,
857 CREDIT_NATURE,
858 CAPITALIZED_INTEREST,
859 CAPITAL_REDUCTION_PERCENT,
860 -- Bug# 2697681
861 DATE_PAY_INVESTOR_START,
862 PAY_INVESTOR_FREQUENCY,
863 PAY_INVESTOR_EVENT,
864 PAY_INVESTOR_REMITTANCE_DAYS,
865 -- Bug# 2697681
866 FEE_TYPE,
867 -- Bug# 3143522 : Subsidies
868 SUBSIDY_ID,
869 --SUBSIDIZED_OEC,
870 --SUBSIDIZED_CAP_AMOUNT,
871 PRE_TAX_YIELD,
872 AFTER_TAX_YIELD,
873 IMPLICIT_INTEREST_RATE,
874 IMPLICIT_NON_IDC_INTEREST_RATE,
875 PRE_TAX_IRR,
876 AFTER_TAX_IRR,
877 SUBSIDY_OVERRIDE_AMOUNT,
878 --quote
879 SUB_PRE_TAX_YIELD,
880 SUB_AFTER_TAX_YIELD,
881 SUB_IMPL_INTEREST_RATE,
882 SUB_IMPL_NON_IDC_INT_RATE,
883 SUB_PRE_TAX_IRR,
884 SUB_AFTER_TAX_IRR,
885 --Bug# 2994971
886 ITEM_INSURANCE_CATEGORY,
887 --Bug# 3973640 : 11.5.10+ schema
888 QTE_ID,
889 FUNDING_DATE,
890 STREAM_TYPE_SUBCLASS,
891 --Bug 4466440 OKL.H new columns
892 DATE_FUNDING_EXPECTED,
893 MANUFACTURER_NAME,
894 MODEL_NUMBER,
895 DOWN_PAYMENT_RECEIVER_CODE,
896 CAPITALIZE_DOWN_PAYMENT_YN,
897 FEE_PURPOSE_CODE,
898 --Bug# 8677460
899 ORIG_CONTRACT_LINE_ID,
900 -- Bug 12938353: RGOOTY: Income Fee Enhancement
901 ORIGINATION_INCOME
902 FROM Okl_K_Lines_V
903 WHERE okl_k_lines_v.id = p_id;
904 l_okl_klev_pk okl_klev_pk_csr%ROWTYPE;
905 l_klev_rec klev_rec_type;
906 BEGIN
907 x_no_data_found := TRUE;
908 -- Get current database values
909 OPEN okl_klev_pk_csr (p_klev_id);
910 FETCH okl_klev_pk_csr INTO
911 l_klev_rec.ID,
912 l_klev_rec.OBJECT_VERSION_NUMBER,
913 l_klev_rec.KLE_ID,
914 l_klev_rec.STY_ID,
915 l_klev_rec.PRC_CODE,
916 l_klev_rec.FCG_CODE,
917 l_klev_rec.NTY_CODE,
918 l_klev_rec.ESTIMATED_OEC,
919 l_klev_rec.LAO_AMOUNT,
920 l_klev_rec.TITLE_DATE,
921 l_klev_rec.FEE_CHARGE,
922 l_klev_rec.LRS_PERCENT,
923 l_klev_rec.INITIAL_DIRECT_COST,
924 l_klev_rec.PERCENT_STAKE,
925 l_klev_rec.PERCENT,
926 l_klev_rec.EVERGREEN_PERCENT,
927 l_klev_rec.AMOUNT_STAKE,
928 l_klev_rec.OCCUPANCY,
929 l_klev_rec.COVERAGE,
930 l_klev_rec.RESIDUAL_PERCENTAGE,
931 l_klev_rec.DATE_LAST_INSPECTION,
932 l_klev_rec.DATE_SOLD,
933 l_klev_rec.LRV_AMOUNT,
934 l_klev_rec.CAPITAL_REDUCTION,
935 l_klev_rec.DATE_NEXT_INSPECTION_DUE,
936 l_klev_rec.DATE_RESIDUAL_LAST_REVIEW,
937 l_klev_rec.DATE_LAST_REAMORTISATION,
938 l_klev_rec.VENDOR_ADVANCE_PAID,
939 l_klev_rec.WEIGHTED_AVERAGE_LIFE,
940 l_klev_rec.TRADEIN_AMOUNT,
941 l_klev_rec.BOND_EQUIVALENT_YIELD,
942 l_klev_rec.TERMINATION_PURCHASE_AMOUNT,
943 l_klev_rec.REFINANCE_AMOUNT,
944 l_klev_rec.YEAR_BUILT,
945 l_klev_rec.DELIVERED_DATE,
946 l_klev_rec.CREDIT_TENANT_YN,
947 l_klev_rec.DATE_LAST_CLEANUP,
948 l_klev_rec.YEAR_OF_MANUFACTURE,
949 l_klev_rec.COVERAGE_RATIO,
950 l_klev_rec.REMARKETED_AMOUNT,
951 l_klev_rec.GROSS_SQUARE_FOOTAGE,
952 l_klev_rec.PRESCRIBED_ASSET_YN,
953 l_klev_rec.DATE_REMARKETED,
954 l_klev_rec.NET_RENTABLE,
955 l_klev_rec.REMARKET_MARGIN,
956 l_klev_rec.DATE_LETTER_ACCEPTANCE,
957 l_klev_rec.REPURCHASED_AMOUNT,
958 l_klev_rec.DATE_COMMITMENT_EXPIRATION,
959 l_klev_rec.DATE_REPURCHASED,
960 l_klev_rec.DATE_APPRAISAL,
961 l_klev_rec.RESIDUAL_VALUE,
962 l_klev_rec.APPRAISAL_VALUE,
963 l_klev_rec.SECURED_DEAL_YN,
964 l_klev_rec.GAIN_LOSS,
965 l_klev_rec.FLOOR_AMOUNT,
966 l_klev_rec.RE_LEASE_YN,
967 l_klev_rec.PREVIOUS_CONTRACT,
968 l_klev_rec.TRACKED_RESIDUAL,
969 l_klev_rec.DATE_TITLE_RECEIVED,
970 l_klev_rec.AMOUNT,
971 l_klev_rec.ATTRIBUTE_CATEGORY,
972 l_klev_rec.ATTRIBUTE1,
973 l_klev_rec.ATTRIBUTE2,
974 l_klev_rec.ATTRIBUTE3,
975 l_klev_rec.ATTRIBUTE4,
976 l_klev_rec.ATTRIBUTE5,
977 l_klev_rec.ATTRIBUTE6,
978 l_klev_rec.ATTRIBUTE7,
979 l_klev_rec.ATTRIBUTE8,
980 l_klev_rec.ATTRIBUTE9,
981 l_klev_rec.ATTRIBUTE10,
982 l_klev_rec.ATTRIBUTE11,
983 l_klev_rec.ATTRIBUTE12,
984 l_klev_rec.ATTRIBUTE13,
985 l_klev_rec.ATTRIBUTE14,
986 l_klev_rec.ATTRIBUTE15,
987 l_klev_rec.STY_ID_FOR,
988 l_klev_rec.CLG_ID,
989 l_klev_rec.CREATED_BY,
990 l_klev_rec.CREATION_DATE,
991 l_klev_rec.LAST_UPDATED_BY,
992 l_klev_rec.LAST_UPDATE_DATE,
993 l_klev_rec.LAST_UPDATE_LOGIN,
994 l_klev_rec.DATE_FUNDING,
995 l_klev_rec.DATE_FUNDING_REQUIRED,
996 l_klev_rec.DATE_ACCEPTED,
997 l_klev_rec.DATE_DELIVERY_EXPECTED,
998 l_klev_rec.OEC,
999 l_klev_rec.CAPITAL_AMOUNT,
1000 l_klev_rec.RESIDUAL_GRNTY_AMOUNT,
1001 l_klev_rec.RESIDUAL_CODE,
1002 l_klev_rec.RVI_PREMIUM,
1003 l_klev_rec.CREDIT_NATURE,
1004 l_klev_rec.CAPITALIZED_INTEREST,
1005 l_klev_rec.CAPITAL_REDUCTION_PERCENT,
1006 l_klev_rec.DATE_PAY_INVESTOR_START,
1007 l_klev_rec.PAY_INVESTOR_FREQUENCY,
1008 l_klev_rec.PAY_INVESTOR_EVENT,
1009 l_klev_rec.PAY_INVESTOR_REMITTANCE_DAYS,
1010 l_klev_rec.FEE_TYPE,
1011 -- Bug# 3143522 : Subsidies
1012 l_klev_rec.SUBSIDY_ID,
1013 --l_klev_rec.SUBSIDIZED_OEC,
1014 --l_klev_rec.SUBSIDIZED_CAP_AMOUNT,
1015 l_klev_rec.PRE_TAX_YIELD,
1016 l_klev_rec.AFTER_TAX_YIELD,
1017 l_klev_rec.IMPLICIT_INTEREST_RATE,
1018 l_klev_rec.IMPLICIT_NON_IDC_INTEREST_RATE,
1019 l_klev_rec.PRE_TAX_IRR,
1020 l_klev_rec.AFTER_TAX_IRR,
1021 l_klev_rec.SUBSIDY_OVERRIDE_AMOUNT,
1022 --quote
1023 l_klev_rec.SUB_PRE_TAX_YIELD,
1024 l_klev_rec.SUB_AFTER_TAX_YIELD,
1025 l_klev_rec.SUB_IMPL_INTEREST_RATE,
1026 l_klev_rec.SUB_IMPL_NON_IDC_INT_RATE,
1027 l_klev_rec.SUB_PRE_TAX_IRR,
1028 l_klev_rec.SUB_AFTER_TAX_IRR,
1029 --Bug# 2994971
1030 l_klev_rec.ITEM_INSURANCE_CATEGORY,
1031 --Bug# 3973640 : 11.5.10+ schema
1032 l_klev_rec.QTE_ID,
1033 l_klev_rec.FUNDING_DATE,
1034 l_klev_rec.STREAM_TYPE_SUBCLASS,
1035 --Bug 4466440 OKL.H new columns
1036 l_klev_rec.DATE_FUNDING_EXPECTED,
1037 l_klev_rec.MANUFACTURER_NAME,
1038 l_klev_rec.MODEL_NUMBER,
1039 l_klev_rec.DOWN_PAYMENT_RECEIVER_CODE,
1040 l_klev_rec.CAPITALIZE_DOWN_PAYMENT_YN,
1041 l_klev_rec.FEE_PURPOSE_CODE,
1042 --Bug# 8677460
1043 l_klev_rec.ORIG_CONTRACT_LINE_ID,
1044 -- Bug 12938353: RGOOTY: Income Fee Enhancement
1045 l_klev_rec.origination_income;
1046 x_no_data_found := okl_klev_pk_csr%NOTFOUND;
1047 CLOSE okl_klev_pk_csr;
1048 RETURN(l_klev_rec);
1049 END get_klev_rec;
1050
1051 FUNCTION get_klev_rec (
1052 p_klev_id IN NUMBER
1053 ) RETURN klev_rec_type IS
1054 l_row_notfound BOOLEAN := TRUE;
1055 BEGIN
1056 RETURN(get_klev_rec(p_klev_id, l_row_notfound));
1057 END get_klev_rec;
1058 --Bug# : 3143522
1059
1060 --furong 4350255
1061 ---------------------------------------------------------------------------
1062 -- FUNCTION get_rec for: OKL_PARTY_PAYMENT_HDR_V
1063 ---------------------------------------------------------------------------
1064 FUNCTION get_pphv_rec (
1065 p_pphv_rec IN pphv_rec_type,
1066 x_no_data_found OUT NOCOPY BOOLEAN
1067 ) RETURN pphv_rec_type IS
1068 CURSOR okl_party_payment_hdr_v_pk_csr (p_id IN NUMBER) IS
1069 SELECT
1070 ID,
1071 OBJECT_VERSION_NUMBER,
1072 DNZ_CHR_ID,
1073 CLE_ID,
1074 PPL_ID,
1075 PASSTHRU_START_DATE,
1076 PAYOUT_BASIS,
1077 PAYOUT_BASIS_FORMULA,
1078 EFFECTIVE_FROM,
1079 EFFECTIVE_TO,
1080 PASSTHRU_TERM,
1081 PASSTHRU_STREAM_TYPE_ID,
1082 CREATED_BY,
1083 CREATION_DATE,
1084 LAST_UPDATED_BY,
1085 LAST_UPDATE_DATE,
1086 LAST_UPDATE_LOGIN
1087 FROM Okl_Party_Payment_Hdr_V
1088 WHERE okl_party_payment_hdr_v.id = p_id;
1089 l_okl_party_payment_hdr_v_pk okl_party_payment_hdr_v_pk_csr%ROWTYPE;
1090 l_pphv_rec pphv_rec_type;
1091 BEGIN
1092 x_no_data_found := TRUE;
1093 -- Get current database values
1094 OPEN okl_party_payment_hdr_v_pk_csr (p_pphv_rec.id);
1095 FETCH okl_party_payment_hdr_v_pk_csr INTO
1096 l_pphv_rec.id,
1097 l_pphv_rec.object_version_number,
1098 l_pphv_rec.dnz_chr_id,
1099 l_pphv_rec.cle_id,
1100 l_pphv_rec.ppl_id,
1101 l_pphv_rec.passthru_start_date,
1102 l_pphv_rec.payout_basis,
1103 l_pphv_rec.payout_basis_formula,
1104 l_pphv_rec.effective_from,
1105 l_pphv_rec.effective_to,
1106 l_pphv_rec.passthru_term,
1107 l_pphv_rec.passthru_stream_type_id,
1108 l_pphv_rec.created_by,
1109 l_pphv_rec.creation_date,
1110 l_pphv_rec.last_updated_by,
1111 l_pphv_rec.last_update_date,
1112 l_pphv_rec.last_update_login;
1113 x_no_data_found := okl_party_payment_hdr_v_pk_csr%NOTFOUND;
1114 CLOSE okl_party_payment_hdr_v_pk_csr;
1115 RETURN(l_pphv_rec);
1116 END get_pphv_rec;
1117 ------------------------------------------------------------------
1118 -- This version of get_rec sets error messages if no data found --
1119 ------------------------------------------------------------------
1120 FUNCTION get_pphv_rec (
1121 p_pphv_rec IN pphv_rec_type,
1122 x_return_status OUT NOCOPY VARCHAR2
1123 ) RETURN pphv_rec_type IS
1124 l_pphv_rec pphv_rec_type;
1125 l_row_notfound BOOLEAN := TRUE;
1126 BEGIN
1127 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1128 l_pphv_rec := get_pphv_rec(p_pphv_rec, l_row_notfound);
1129 IF (l_row_notfound) THEN
1130 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
1131 x_return_status := OKC_API.G_RET_STS_ERROR;
1132 END IF;
1133 RETURN(l_pphv_rec);
1134 END get_pphv_rec;
1135
1136 --furong 4350255
1137
1138 ---------------------------------------------------------------------------
1139 -- FUNCTION get_rec for: OKL_PARTY_PAYMENT_DTLS_V
1140 ---------------------------------------------------------------------------
1141 FUNCTION get_ppydv_rec (
1142 p_ppydv_rec IN ppydv_rec_type,
1143 x_no_data_found OUT NOCOPY BOOLEAN
1144 ) RETURN ppydv_rec_type IS
1145 CURSOR okl_party_payment_d1 (p_id IN NUMBER) IS
1146 SELECT
1147 ID,
1148 OBJECT_VERSION_NUMBER,
1149 CPL_ID,
1150 VENDOR_ID,
1151 PAY_SITE_ID,
1152 PAYMENT_TERM_ID,
1153 PAYMENT_METHOD_CODE,
1154 PAY_GROUP_CODE,
1155 PAYMENT_HDR_ID,
1156 PAYMENT_START_DATE,
1157 PAYMENT_FREQUENCY,
1158 REMIT_DAYS,
1159 DISBURSEMENT_BASIS,
1160 DISBURSEMENT_FIXED_AMOUNT,
1161 DISBURSEMENT_PERCENT,
1162 PROCESSING_FEE_BASIS,
1163 PROCESSING_FEE_FIXED_AMOUNT,
1164 PROCESSING_FEE_PERCENT,
1165 PAYMENT_BASIS,
1166 ATTRIBUTE_CATEGORY,
1167 ATTRIBUTE1,
1168 ATTRIBUTE2,
1169 ATTRIBUTE3,
1170 ATTRIBUTE4,
1171 ATTRIBUTE5,
1172 ATTRIBUTE6,
1173 ATTRIBUTE7,
1174 ATTRIBUTE8,
1175 ATTRIBUTE9,
1176 ATTRIBUTE10,
1177 ATTRIBUTE11,
1178 ATTRIBUTE12,
1179 ATTRIBUTE13,
1180 ATTRIBUTE14,
1181 ATTRIBUTE15,
1182 CREATED_BY,
1183 CREATION_DATE,
1184 LAST_UPDATED_BY,
1185 LAST_UPDATE_DATE,
1186 LAST_UPDATE_LOGIN,
1187 --Bug# 8677460
1188 ORIG_CONTRACT_LINE_ID
1189 FROM Okl_Party_Payment_Dtls_V
1190 WHERE okl_party_payment_dtls_v.id = p_id;
1191 l_okl_party_payment_dtls_v_pk okl_party_payment_d1%ROWTYPE;
1192 l_ppydv_rec ppydv_rec_type;
1193 BEGIN
1194 x_no_data_found := TRUE;
1195 -- Get current database values
1196 OPEN okl_party_payment_d1 (p_ppydv_rec.id);
1197 FETCH okl_party_payment_d1 INTO
1198 l_ppydv_rec.id,
1199 l_ppydv_rec.object_version_number,
1200 l_ppydv_rec.cpl_id,
1201 l_ppydv_rec.vendor_id,
1202 l_ppydv_rec.pay_site_id,
1203 l_ppydv_rec.payment_term_id,
1204 l_ppydv_rec.payment_method_code,
1205 l_ppydv_rec.pay_group_code,
1206 l_ppydv_rec.payment_hdr_id,
1207 l_ppydv_rec.payment_start_date,
1208 l_ppydv_rec.payment_frequency,
1209 l_ppydv_rec.remit_days,
1210 l_ppydv_rec.disbursement_basis,
1211 l_ppydv_rec.disbursement_fixed_amount,
1212 l_ppydv_rec.disbursement_percent,
1213 l_ppydv_rec.processing_fee_basis,
1214 l_ppydv_rec.processing_fee_fixed_amount,
1215 l_ppydv_rec.processing_fee_percent,
1216 l_ppydv_rec.payment_basis,
1217 l_ppydv_rec.attribute_category,
1218 l_ppydv_rec.attribute1,
1219 l_ppydv_rec.attribute2,
1220 l_ppydv_rec.attribute3,
1221 l_ppydv_rec.attribute4,
1222 l_ppydv_rec.attribute5,
1223 l_ppydv_rec.attribute6,
1224 l_ppydv_rec.attribute7,
1225 l_ppydv_rec.attribute8,
1226 l_ppydv_rec.attribute9,
1227 l_ppydv_rec.attribute10,
1228 l_ppydv_rec.attribute11,
1229 l_ppydv_rec.attribute12,
1230 l_ppydv_rec.attribute13,
1231 l_ppydv_rec.attribute14,
1232 l_ppydv_rec.attribute15,
1233 l_ppydv_rec.created_by,
1234 l_ppydv_rec.creation_date,
1235 l_ppydv_rec.last_updated_by,
1236 l_ppydv_rec.last_update_date,
1237 l_ppydv_rec.last_update_login,
1238 --Bug# 8677460
1239 l_ppydv_rec.orig_contract_line_id;
1240 x_no_data_found := okl_party_payment_d1%NOTFOUND;
1241 CLOSE okl_party_payment_d1;
1242 RETURN(l_ppydv_rec);
1243 END get_ppydv_rec;
1244
1245 --Bug# 4558486
1246 ---------------------------------------------------------------------------
1247 -- FUNCTION get_rec for: OKL_K_PARTY_ROLES
1248 ---------------------------------------------------------------------------
1249 FUNCTION get_kplv_rec (
1250 p_kplv_rec IN kplv_rec_type,
1251 x_no_data_found OUT NOCOPY BOOLEAN
1252 ) RETURN kplv_rec_type IS
1253 CURSOR okl_k_party_roles_v_pk_csr (p_id IN NUMBER) IS
1254 SELECT
1255 ID,
1256 OBJECT_VERSION_NUMBER,
1257 ATTRIBUTE_CATEGORY,
1258 ATTRIBUTE1,
1259 ATTRIBUTE2,
1260 ATTRIBUTE3,
1261 ATTRIBUTE4,
1262 ATTRIBUTE5,
1263 ATTRIBUTE6,
1264 ATTRIBUTE7,
1265 ATTRIBUTE8,
1266 ATTRIBUTE9,
1267 ATTRIBUTE10,
1268 ATTRIBUTE11,
1269 ATTRIBUTE12,
1270 ATTRIBUTE13,
1271 ATTRIBUTE14,
1272 ATTRIBUTE15,
1273 CREATED_BY,
1274 CREATION_DATE,
1275 LAST_UPDATED_BY,
1276 LAST_UPDATE_DATE,
1277 LAST_UPDATE_LOGIN
1278 FROM Okl_K_Party_Roles_V
1279 WHERE okl_k_party_roles_v.id = p_id;
1280 l_okl_k_party_roles_v_pk okl_k_party_roles_v_pk_csr%ROWTYPE;
1281 l_kplv_rec kplv_rec_type;
1282 BEGIN
1283 x_no_data_found := TRUE;
1284 -- Get current database values
1285 OPEN okl_k_party_roles_v_pk_csr (p_kplv_rec.id);
1286 FETCH okl_k_party_roles_v_pk_csr INTO
1287 l_kplv_rec.id,
1288 l_kplv_rec.object_version_number,
1289 l_kplv_rec.attribute_category,
1290 l_kplv_rec.attribute1,
1291 l_kplv_rec.attribute2,
1292 l_kplv_rec.attribute3,
1293 l_kplv_rec.attribute4,
1294 l_kplv_rec.attribute5,
1295 l_kplv_rec.attribute6,
1296 l_kplv_rec.attribute7,
1297 l_kplv_rec.attribute8,
1298 l_kplv_rec.attribute9,
1299 l_kplv_rec.attribute10,
1300 l_kplv_rec.attribute11,
1301 l_kplv_rec.attribute12,
1302 l_kplv_rec.attribute13,
1303 l_kplv_rec.attribute14,
1304 l_kplv_rec.attribute15,
1305 l_kplv_rec.created_by,
1306 l_kplv_rec.creation_date,
1307 l_kplv_rec.last_updated_by,
1308 l_kplv_rec.last_update_date,
1309 l_kplv_rec.last_update_login;
1310 x_no_data_found := okl_k_party_roles_v_pk_csr%NOTFOUND;
1311 CLOSE okl_k_party_roles_v_pk_csr;
1312 RETURN(l_kplv_rec);
1313 END get_kplv_rec;
1314 ------------------------------------------------------------------
1315 -- This version of get_rec sets error messages if no data found --
1316 ------------------------------------------------------------------
1317 FUNCTION get_kplv_rec (
1318 p_kplv_rec IN kplv_rec_type,
1319 x_return_status OUT NOCOPY VARCHAR2
1320 ) RETURN kplv_rec_type IS
1321 l_kplv_rec kplv_rec_type;
1322 l_row_notfound BOOLEAN := TRUE;
1323 BEGIN
1324 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1325 l_kplv_rec := get_kplv_rec(p_kplv_rec, l_row_notfound);
1326 IF (l_row_notfound) THEN
1327 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
1328 x_return_status := OKC_API.G_RET_STS_ERROR;
1329 END IF;
1330 RETURN(l_kplv_rec);
1331 END get_kplv_rec;
1332 --Bug# 4558486
1333
1334 --Bug # 3630858
1335 ---------------------------------------------------------------------------
1336 -- FUNCTION get_rec for: OKL_SLCTD_OPTNS_V
1337 ---------------------------------------------------------------------------
1338 FUNCTION get_cspv_rec (
1339 p_cspv_rec_id IN number,
1340 x_return_status OUT NOCOPY VARCHAR2
1341 ) RETURN cspv_rec_type IS
1342 CURSOR OKL_SLCTD_OPTNS_CSR (p_id IN NUMBER) IS
1343 SELECT
1344 ID,
1345 OBJECT_VERSION_NUMBER,
1346 POV_ID,
1347 KHR_ID,
1348 ATTRIBUTE_CATEGORY,
1349 ATTRIBUTE1,
1350 ATTRIBUTE2,
1351 ATTRIBUTE3,
1352 ATTRIBUTE4,
1353 ATTRIBUTE5,
1354 ATTRIBUTE6,
1355 ATTRIBUTE7,
1356 ATTRIBUTE8,
1357 ATTRIBUTE9,
1358 ATTRIBUTE10,
1359 ATTRIBUTE11,
1360 ATTRIBUTE12,
1361 ATTRIBUTE13,
1362 ATTRIBUTE14,
1363 ATTRIBUTE15,
1364 CREATED_BY,
1365 CREATION_DATE,
1366 LAST_UPDATED_BY,
1367 LAST_UPDATE_DATE,
1368 LAST_UPDATE_LOGIN
1369 FROM OKL_SLCTD_OPTNS_V
1370 WHERE OKL_SLCTD_OPTNS_V.id = p_id;
1371
1372 l_cspv_rec_id number;
1373 l_cspv_rec cspv_rec_type;
1374 l_no_data_found BOOLEAN := FALSE;
1375 BEGIN
1376 l_cspv_rec_id := p_cspv_rec_id;
1377 -- Get current database values
1378 OPEN OKL_SLCTD_OPTNS_CSR (l_cspv_rec_id);
1379 FETCH OKL_SLCTD_OPTNS_CSR INTO
1380 l_cspv_rec.id,
1381 l_cspv_rec.object_version_number,
1382 l_cspv_rec.pov_id,
1383 l_cspv_rec.khr_id,
1384 l_cspv_rec.attribute_category,
1385 l_cspv_rec.attribute1,
1386 l_cspv_rec.attribute2,
1387 l_cspv_rec.attribute3,
1388 l_cspv_rec.attribute4,
1389 l_cspv_rec.attribute5,
1390 l_cspv_rec.attribute6,
1391 l_cspv_rec.attribute7,
1392 l_cspv_rec.attribute8,
1393 l_cspv_rec.attribute9,
1394 l_cspv_rec.attribute10,
1395 l_cspv_rec.attribute11,
1396 l_cspv_rec.attribute12,
1397 l_cspv_rec.attribute13,
1398 l_cspv_rec.attribute14,
1399 l_cspv_rec.attribute15,
1400 l_cspv_rec.created_by,
1401 l_cspv_rec.creation_date,
1402 l_cspv_rec.last_updated_by,
1403 l_cspv_rec.last_update_date,
1404 l_cspv_rec.last_update_login;
1405 l_no_data_found := OKL_SLCTD_OPTNS_CSR%NOTFOUND;
1406 CLOSE OKL_SLCTD_OPTNS_CSR;
1407
1408 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1409 IF (l_no_data_found) THEN
1410 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
1411 x_return_status := OKL_API.G_RET_STS_ERROR;
1412 END IF;
1413
1414 RETURN(l_cspv_rec);
1415 END get_cspv_rec;
1416
1417
1418 ------------------------------------------------------------------
1419 -- This version of get_rec sets error messages if no data found --
1420 ------------------------------------------------------------------
1421 FUNCTION get_ppydv_rec (
1422 p_ppydv_rec IN ppydv_rec_type,
1423 x_return_status OUT NOCOPY VARCHAR2
1424 ) RETURN ppydv_rec_type IS
1425 l_ppydv_rec ppydv_rec_type;
1426 l_row_notfound BOOLEAN := TRUE;
1427 BEGIN
1428 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1429 l_ppydv_rec := get_ppydv_rec(p_ppydv_rec, l_row_notfound);
1430 IF (l_row_notfound) THEN
1431 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
1432 x_return_status := OKL_API.G_RET_STS_ERROR;
1433 END IF;
1434 RETURN(l_ppydv_rec);
1435 END get_ppydv_rec;
1436 -----------------------------------------------------------
1437 -- So we don't have to pass an "l_row_notfound" variable --
1438 -----------------------------------------------------------
1439 FUNCTION get_ppydv_rec (
1440 p_ppydv_rec IN ppydv_rec_type
1441 ) RETURN ppydv_rec_type IS
1442 l_row_not_found BOOLEAN := TRUE;
1443 BEGIN
1444 RETURN(get_ppydv_rec(p_ppydv_rec, l_row_not_found));
1445 END get_ppydv_rec;
1446
1447 --furong 4350255
1448 Procedure copy_party_pymt_hdr
1449 (p_api_version IN NUMBER,
1450 p_init_msg_list IN VARCHAR2 ,
1451 x_return_status OUT NOCOPY VARCHAR2,
1452 x_msg_count OUT NOCOPY NUMBER,
1453 x_msg_data OUT NOCOPY VARCHAR2,
1454 p_chr_id IN NUMBER,
1455 p_cle_id IN NUMBER,
1456 p_pph_id IN NUMBER,
1457 x_pph_id OUT NOCOPY NUMBER) IS
1458
1459 l_get_pphv_rec pphv_rec_type;
1460 l_pphv_rec pphv_rec_type;
1461 lx_pphv_rec pphv_rec_type;
1462
1463 l_return_status VARCHAR2(1) default OKL_API.G_RET_STS_SUCCESS;
1464 l_api_name CONSTANT varchar2(30) := 'COPY_PARTY_PYMT_HDR';
1465 l_api_version CONSTANT NUMBER := 1.0;
1466
1467 Begin
1468 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1469 -- Call start_activity to create savepoint, check compatibility
1470 -- and initialize message list
1471 x_return_status := OKL_API.START_ACTIVITY (
1472 l_api_name
1473 ,p_init_msg_list
1474 ,'_PVT'
1475 ,x_return_status);
1476 -- Check if activity started successfully
1477 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1478 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1479 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1480 RAISE OKL_API.G_EXCEPTION_ERROR;
1481 END IF;
1482
1483 l_get_pphv_rec.id := p_pph_id;
1484 l_pphv_rec := get_pphv_rec(p_pphv_rec => l_get_pphv_rec,
1485 x_return_status => x_return_status);
1486 l_pphv_rec.dnz_chr_id := p_chr_id;
1487 l_pphv_rec.cle_id := p_cle_id;
1488
1489 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1490 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1491 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1492 RAISE OKL_API.G_EXCEPTION_ERROR;
1493 END IF;
1494
1495 OKL_LDB_PVT.insert_row
1496 (p_api_version => p_api_version,
1497 p_init_msg_list => p_init_msg_list,
1498 x_return_status => x_return_status,
1499 x_msg_count => x_msg_count,
1500 x_msg_data => x_msg_data,
1501 p_pphv_rec => l_pphv_rec,
1502 x_pphv_rec => lx_pphv_rec);
1503
1504 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1505 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1506 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1507 RAISE OKL_API.G_EXCEPTION_ERROR;
1508 END IF;
1509 x_pph_id := lx_pphv_rec.id;
1510
1511 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data );
1512
1513 EXCEPTION
1514
1515 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1516 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1517 l_api_name,
1518 G_PKG_NAME,
1519 'OKL_API.G_RET_STS_ERROR',
1520 x_msg_count,
1521 x_msg_data,
1522 '_PVT');
1523 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1524 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1525 l_api_name,
1526 G_PKG_NAME,
1527 'OKL_API.G_RET_STS_UNEXP_ERROR',
1528 x_msg_count,
1529 x_msg_data,
1530 '_PVT');
1531 WHEN OTHERS THEN
1532 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1533 l_api_name,
1534 G_PKG_NAME,
1535 'OTHERS',
1536 x_msg_count,
1537 x_msg_data,
1538 '_PVT');
1539 End copy_party_pymt_hdr;
1540 --furong 4350255
1541
1542 --------------------------------------------------------------------------------
1543 -- Start of comments
1544 -- Bug# 3143522
1545 -- Procedure name : copy_party_pymt_dtls
1546 -- Description : Copies okl party payment details
1547 -- local (sub entiry of OKL party roles)
1548 -- Business Rules :
1549 -- Parameters :
1550 -- Version : 1.0
1551 -- Notes :
1552 -- End of Comments
1553 -------------------------------------------------------------------------------
1554 Procedure copy_party_pymt_dtls
1555 (p_api_version IN NUMBER,
1556 p_init_msg_list IN VARCHAR2 ,
1557 x_return_status OUT NOCOPY VARCHAR2,
1558 x_msg_count OUT NOCOPY NUMBER,
1559 x_msg_data OUT NOCOPY VARCHAR2,
1560 p_pyd_id IN NUMBER,
1561 p_cpl_id IN NUMBER,
1562 --furong 4350255
1563 p_pph_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
1564 --furong 4350255
1565 x_pyd_id OUT NOCOPY NUMBER,
1566 --Bug# 8677460
1567 p_rebook_yn IN VARCHAR2 DEFAULT 'N') IS
1568
1569 l_get_ppydv_rec ppydv_rec_type;
1570 l_ppydv_rec ppydv_rec_type;
1571 lx_ppydv_rec ppydv_rec_type;
1572
1573 l_return_status VARCHAR2(1) default OKL_API.G_RET_STS_SUCCESS;
1574 l_api_name CONSTANT varchar2(30) := 'COPY_PARTY_PYMT_DTLS';
1575 l_api_version CONSTANT NUMBER := 1.0;
1576
1577 Begin
1578 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1579 -- Call start_activity to create savepoint, check compatibility
1580 -- and initialize message list
1581 x_return_status := OKL_API.START_ACTIVITY (
1582 l_api_name
1583 ,p_init_msg_list
1584 ,'_PVT'
1585 ,x_return_status);
1586 -- Check if activity started successfully
1587 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1588 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1589 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1590 RAISE OKL_API.G_EXCEPTION_ERROR;
1591 END IF;
1592
1593 l_get_ppydv_rec.id := p_pyd_id;
1594 l_ppydv_rec := get_ppydv_rec(p_ppydv_rec => l_get_ppydv_rec,
1595 x_return_status => x_return_status);
1596
1597 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1598 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1599 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1600 RAISE OKL_API.G_EXCEPTION_ERROR;
1601 END IF;
1602
1603 --create party payment details
1604 l_ppydv_rec.cpl_id := p_cpl_id;
1605 l_ppydv_rec.payment_hdr_id := p_pph_id;
1606
1607 --Bug# 8677460
1608 IF (p_rebook_yn = 'N') THEN
1609 l_ppydv_rec.orig_contract_line_id := NULL;
1610 END IF;
1611
1612 OKL_PYD_PVT.insert_row
1613 (p_api_version => p_api_version,
1614 p_init_msg_list => p_init_msg_list,
1615 x_return_status => x_return_status,
1616 x_msg_count => x_msg_count,
1617 x_msg_data => x_msg_data,
1618 p_ppydv_rec => l_ppydv_rec,
1619 x_ppydv_rec => lx_ppydv_rec);
1620
1621 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1622 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1623 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1624 RAISE OKL_API.G_EXCEPTION_ERROR;
1625 END IF;
1626 x_pyd_id := lx_ppydv_rec.id;
1627
1628 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data );
1629
1630 EXCEPTION
1631
1632 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1633 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1634 l_api_name,
1635 G_PKG_NAME,
1636 'OKL_API.G_RET_STS_ERROR',
1637 x_msg_count,
1638 x_msg_data,
1639 '_PVT');
1640 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1641 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1642 l_api_name,
1643 G_PKG_NAME,
1644 'OKL_API.G_RET_STS_UNEXP_ERROR',
1645 x_msg_count,
1646 x_msg_data,
1647 '_PVT');
1648 WHEN OTHERS THEN
1649 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1650 l_api_name,
1651 G_PKG_NAME,
1652 'OTHERS',
1653 x_msg_count,
1654 x_msg_data,
1655 '_PVT');
1656 End copy_party_pymt_dtls;
1657
1658 --Bug# 4558486
1659 Procedure copy_okl_k_party_roles
1660 (p_api_version IN NUMBER,
1661 p_init_msg_list IN VARCHAR2 ,
1662 x_return_status OUT NOCOPY VARCHAR2,
1663 x_msg_count OUT NOCOPY NUMBER,
1664 x_msg_data OUT NOCOPY VARCHAR2,
1665 p_kpl_id IN NUMBER,
1666 p_cpl_id IN NUMBER,
1667 x_kpl_id OUT NOCOPY NUMBER) IS
1668
1669 l_get_kplv_rec kplv_rec_type;
1670 l_kplv_rec kplv_rec_type;
1671 lx_kplv_rec kplv_rec_type;
1672
1673 l_return_status VARCHAR2(1) default OKL_API.G_RET_STS_SUCCESS;
1674 l_api_name CONSTANT varchar2(30) := 'COPY_OKL_K_PARTY_ROLES';
1675 l_api_version CONSTANT NUMBER := 1.0;
1676
1677 Begin
1678 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1679 -- Call start_activity to create savepoint, check compatibility
1680 -- and initialize message list
1681 x_return_status := OKL_API.START_ACTIVITY (
1682 l_api_name
1683 ,p_init_msg_list
1684 ,'_PVT'
1685 ,x_return_status);
1686 -- Check if activity started successfully
1687 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1688 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1689 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1690 RAISE OKL_API.G_EXCEPTION_ERROR;
1691 END IF;
1692
1693 l_get_kplv_rec.id := p_kpl_id;
1694 l_kplv_rec := get_kplv_rec(p_kplv_rec => l_get_kplv_rec,
1695 x_return_status => x_return_status);
1696 l_kplv_rec.id := p_cpl_id;
1697
1698 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1699 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1700 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1701 RAISE OKL_API.G_EXCEPTION_ERROR;
1702 END IF;
1703
1704 OKL_KPL_PVT.insert_row
1705 (p_api_version => p_api_version,
1706 p_init_msg_list => p_init_msg_list,
1707 x_return_status => x_return_status,
1708 x_msg_count => x_msg_count,
1709 x_msg_data => x_msg_data,
1710 p_kplv_rec => l_kplv_rec,
1711 x_kplv_rec => lx_kplv_rec);
1712
1713 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1714 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1715 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1716 RAISE OKL_API.G_EXCEPTION_ERROR;
1717 END IF;
1718 x_kpl_id := lx_kplv_rec.id;
1719
1720 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data );
1721
1722 EXCEPTION
1723
1724 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1725 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1726 l_api_name,
1727 G_PKG_NAME,
1728 'OKL_API.G_RET_STS_ERROR',
1729 x_msg_count,
1730 x_msg_data,
1731 '_PVT');
1732 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1733 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1734 l_api_name,
1735 G_PKG_NAME,
1736 'OKL_API.G_RET_STS_UNEXP_ERROR',
1737 x_msg_count,
1738 x_msg_data,
1739 '_PVT');
1740 WHEN OTHERS THEN
1741 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1742 l_api_name,
1743 G_PKG_NAME,
1744 'OTHERS',
1745 x_msg_count,
1746 x_msg_data,
1747 '_PVT');
1748 End copy_okl_k_party_roles;
1749 --Bug# 4558486
1750 --Bug# 3143522: 11.5.10 Subsidies
1751 --------------------------------------------------------------------------------
1752 -- Start of comments
1753 --
1754 -- Procedure Name : Catchup_okl_contract_line
1755 -- Description : Does a catchup for okl_k_lines. This will not be
1756 -- published
1757 -- Business Rules :
1758 -- Parameters :
1759 -- Version : 1.0
1760 -- Notes : just calls OKC_COPY_CONTRACT_PUB.copy_components.
1761 -- End of comments
1762 --------------------------------------------------------------------------------
1763 Procedure Catchup_okl_contract_line(
1764 p_api_version IN NUMBER,
1765 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1766 x_return_status OUT NOCOPY VARCHAR2,
1767 x_msg_count OUT NOCOPY NUMBER,
1768 x_msg_data OUT NOCOPY VARCHAR2,
1769 p_clev_id IN NUMBER,
1770 p_klev_id IN NUMBER,
1771 x_clev_rec OUT NOCOPY okl_okc_migration_pvt.clev_rec_type,
1772 x_klev_rec OUT NOCOPY klev_rec_type,
1773 --Bug# 8677460
1774 p_rebook_yn IN VARCHAR2 DEFAULT 'N') is
1775
1776 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1777 l_api_name CONSTANT VARCHAR2(30) := 'CATCHUP_OKL_CONTRACT_LINE';
1778 l_api_version CONSTANT NUMBER := 1.0;
1779 l_clev_rec clev_rec_type;
1780 l_clev_rec_out clev_rec_type;
1781 l_klev_rec klev_rec_type;
1782
1783 begin
1784 -----
1785 -- Catch up shadow for Contract Lines
1786 l_clev_rec := get_clev_rec(p_clev_id => p_klev_id);
1787 -- get the newly created line record
1788 /*
1789 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1790 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1791 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1792 RAISE OKL_API.G_EXCEPTION_ERROR;
1793 END IF;
1794 */
1795 l_klev_rec := get_klev_rec(p_klev_id => p_clev_id);
1796 --get klev record to copy from
1797 l_klev_rec.id := p_klev_id;
1798
1799 --Bug# 8677460
1800 IF (p_rebook_yn = 'N') THEN
1801 l_klev_rec.orig_contract_line_id := NULL;
1802 END IF;
1803
1804 --Bug #15992711: Start
1805 --Setting the re_lease_yn column to NULL whenever creating a copy of a contract line
1806 l_klev_rec.re_lease_yn := NULL;
1807 --Bug #15992711: end
1808
1809 OKL_CONTRACT_PUB.update_contract_line(
1810 p_api_version => p_api_version,
1811 p_init_msg_list => p_init_msg_list,
1812 x_return_status => l_return_status,
1813 x_msg_count => x_msg_count,
1814 x_msg_data => x_msg_data,
1815 p_clev_rec => l_clev_rec,
1816 p_klev_rec => l_klev_rec,
1817 x_clev_rec => l_clev_rec_out,
1818 x_klev_rec => x_klev_rec);
1819 -- check return status
1820 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1821 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1822 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
1823 raise OKL_API.G_EXCEPTION_ERROR;
1824 End If;
1825
1826 --Call End Activity
1827 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1828 x_msg_data => x_msg_data);
1829 EXCEPTION
1830 when OKL_API.G_EXCEPTION_ERROR then
1831 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1832 p_api_name => l_api_name,
1833 p_pkg_name => g_pkg_name,
1834 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1835 x_msg_count => x_msg_count,
1836 x_msg_data => x_msg_data,
1837 p_api_type => g_api_type);
1838
1839 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1840 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1841 p_api_name => l_api_name,
1842 p_pkg_name => g_pkg_name,
1843 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1844 x_msg_count => x_msg_count,
1845 x_msg_data => x_msg_data,
1846 p_api_type => g_api_type);
1847
1848 when OTHERS then
1849 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1850 p_api_name => l_api_name,
1851 p_pkg_name => g_pkg_name,
1852 p_exc_name => 'OTHERS',
1853 x_msg_count => x_msg_count,
1854 x_msg_data => x_msg_data,
1855 p_api_type => g_api_type);
1856 End CatchUp_okl_Contract_Line;
1857 FUNCTION is_copy_allowed(p_chr_id IN NUMBER,p_sts_code IN VARCHAR2 DEFAULT NULL) RETURN BOOLEAN IS
1858 BEGIN
1859 RETURN(OKC_COPY_CONTRACT_PUB.is_copy_allowed(p_chr_id,p_sts_code));
1860 END is_copy_allowed;
1861 -------
1862 FUNCTION is_subcontract_allowed(p_chr_id IN NUMBER,p_sts_code IN VARCHAR2) RETURN BOOLEAN IS
1863 BEGIN
1864 RETURN(OKC_COPY_CONTRACT_PUB.is_subcontract_allowed(p_chr_id,p_sts_code));
1865 END is_subcontract_allowed;
1866 -----
1867 FUNCTION update_target_contract(p_chr_id IN NUMBER) RETURN BOOLEAN IS
1868 BEGIN
1869 RETURN(OKC_COPY_CONTRACT_PUB.update_target_contract(p_chr_id));
1870 END update_target_contract;
1871 -----
1872 PROCEDURE derive_line_style(p_old_lse_id IN NUMBER,
1873 p_old_jtot_code IN VARCHAR2,
1874 p_new_subclass IN VARCHAR2,
1875 p_new_parent_lse IN NUMBER,
1876 x_new_lse_count OUT NOCOPY NUMBER,
1877 x_new_lse_ids OUT NOCOPY VARCHAR2) IS
1878 BEGIN
1879 OKC_COPY_CONTRACT_PVT.derive_line_style(
1880 p_old_lse_id => p_old_lse_id,
1881 p_old_jtot_code => p_old_jtot_code,
1882 p_new_subclass => p_new_subclass,
1883 p_new_parent_lse => p_new_parent_lse,
1884 x_new_lse_count => x_new_lse_count,
1885 x_new_lse_ids => x_new_lse_ids);
1886 END derive_line_style;
1887 --------------------------------------------------------------------------------
1888 -- Start of comments
1889 --
1890 -- Procedure Name : copy_components
1891 -- Description : copies components for shadowed contract. will be
1892 -- published in OKL_COPY_CONTRACTS_PUB
1893 -- Business Rules :
1894 -- Parameters :
1895 -- Version : 1.0
1896 -- Notes : just calls OKC_COPY_CONTRACT_PUB.copy_components.
1897 -- End of comments
1898 --------------------------------------------------------------------------------
1899 PROCEDURE copy_components(
1900 p_api_version IN NUMBER,
1901 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1902 x_return_status OUT NOCOPY VARCHAR2,
1903 x_msg_count OUT NOCOPY NUMBER,
1904 x_msg_data OUT NOCOPY VARCHAR2,
1905 p_from_chr_id IN NUMBER,
1906 p_to_chr_id IN NUMBER,
1907 p_contract_number IN VARCHAR2,
1908 p_contract_number_modifier IN VARCHAR2,
1909 p_to_template_yn IN VARCHAR2 DEFAULT 'N',
1910 p_copy_reference IN VARCHAR2 DEFAULT 'COPY',
1911 p_copy_line_party_yn IN VARCHAR2,
1912 p_scs_code IN VARCHAR2,
1913 p_intent IN VARCHAR2,
1914 p_prospect IN VARCHAR2,
1915 p_components_tbl IN api_components_tbl,
1916 p_lines_tbl IN api_lines_tbl,
1917 x_chr_id OUT NOCOPY NUMBER) is
1918 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1919 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_COMPONENTS';
1920 l_api_version CONSTANT NUMBER := 1.0;
1921
1922 l_components_tbl api_components_tbl_okc;
1923 l_lines_tbl api_lines_tbl_okc;
1924 begin
1925 -----
1926 --Call OKL_API.START_ACTIVITY to set savepoints
1927 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
1928 G_PKG_NAME,
1929 p_init_msg_list,
1930 G_API_VERSION,
1931 p_api_version,
1932 G_SCOPE,
1933 x_return_status);
1934
1935 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1936 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1937 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1938 RAISE OKL_API.G_EXCEPTION_ERROR;
1939 END IF;
1940
1941 l_components_tbl := migrate_components_tbl(p_components_tbl);
1942 l_lines_tbl := migrate_lines_tbl(p_lines_tbl);
1943 --Call OKC_CONTRACT_PUB.copy_components
1944 OKC_COPY_CONTRACT_PUB.copy_components(
1945 p_api_version => p_api_version,
1946 p_init_msg_list => p_init_msg_list,
1947 x_return_status => l_return_status,
1948 x_msg_count => x_msg_count,
1949 x_msg_data => x_msg_data,
1950 p_from_chr_id => p_from_chr_id,
1951 p_to_chr_id => p_to_chr_id,
1952 p_contract_number => p_contract_number,
1953 p_contract_number_modifier => p_contract_number_modifier,
1954 p_to_template_yn => p_to_template_yn,
1955 p_copy_reference => p_copy_reference,
1956 p_copy_line_party_yn => p_copy_line_party_yn,
1957 p_scs_code => p_scs_code,
1958 p_intent => p_intent,
1959 p_prospect => p_prospect,
1960 p_components_tbl => l_components_tbl,
1961 p_lines_tbl => l_lines_tbl,
1962 x_chr_id => x_chr_id);
1963
1964 -- check return status
1965 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1966 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1967 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
1968 raise OKL_API.G_EXCEPTION_ERROR;
1969 End If;
1970
1971 --Call End Activity
1972 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1973 x_msg_data => x_msg_data);
1974 EXCEPTION
1975 when OKL_API.G_EXCEPTION_ERROR then
1976 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1977 p_api_name => l_api_name,
1978 p_pkg_name => g_pkg_name,
1979 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1980 x_msg_count => x_msg_count,
1981 x_msg_data => x_msg_data,
1982 p_api_type => g_api_type);
1983
1984 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1985 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1986 p_api_name => l_api_name,
1987 p_pkg_name => g_pkg_name,
1988 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1989 x_msg_count => x_msg_count,
1990 x_msg_data => x_msg_data,
1991 p_api_type => g_api_type);
1992
1993 when OTHERS then
1994 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1995 p_api_name => l_api_name,
1996 p_pkg_name => g_pkg_name,
1997 p_exc_name => 'OTHERS',
1998 x_msg_count => x_msg_count,
1999 x_msg_data => x_msg_data,
2000 p_api_type => g_api_type);
2001 End copy_components;
2002
2003 ------------------------------------------------------------------------------
2004 -- PROCEDURE get_sll_rules
2005 --
2006 -- This procedure retrieves all SLL related to given SLH rule under LALEVL Category
2007 --
2008 -- Calls:
2009 -- Called By:
2010 ------------------------------------------------------------------------------
2011 PROCEDURE get_sll_rules(
2012 x_return_status OUT NOCOPY VARCHAR2,
2013 x_msg_count OUT NOCOPY NUMBER,
2014 x_msg_data OUT NOCOPY VARCHAR2,
2015 p_rgpv_rec IN rgpv_rec_type,
2016 p_rdf_code IN VARCHAR2,
2017 p_slh_id IN NUMBER,
2018 x_rulv_tbl OUT NOCOPY rulv_tbl_type,
2019 x_rule_count OUT NOCOPY NUMBER
2020 ) IS
2021 CURSOR okc_rulv_csr (p_rgp_id IN NUMBER,
2022 p_rdf_code IN VARCHAR2,
2023 p_slh_id IN NUMBER) IS
2024 SELECT
2025 ID,
2026 OBJECT_VERSION_NUMBER,
2027 SFWT_FLAG,
2028 OBJECT1_ID1,
2029 OBJECT2_ID1,
2030 OBJECT3_ID1,
2031 OBJECT1_ID2,
2032 OBJECT2_ID2,
2033 OBJECT3_ID2,
2034 JTOT_OBJECT1_CODE,
2035 JTOT_OBJECT2_CODE,
2036 JTOT_OBJECT3_CODE,
2037 DNZ_CHR_ID,
2038 RGP_ID,
2039 PRIORITY,
2040 STD_TEMPLATE_YN,
2041 COMMENTS,
2042 WARN_YN,
2043 ATTRIBUTE_CATEGORY,
2044 ATTRIBUTE1,
2045 ATTRIBUTE2,
2046 ATTRIBUTE3,
2047 ATTRIBUTE4,
2048 ATTRIBUTE5,
2049 ATTRIBUTE6,
2050 ATTRIBUTE7,
2051 ATTRIBUTE8,
2052 ATTRIBUTE9,
2053 ATTRIBUTE10,
2054 ATTRIBUTE11,
2055 ATTRIBUTE12,
2056 ATTRIBUTE13,
2057 ATTRIBUTE14,
2058 ATTRIBUTE15,
2059 CREATED_BY,
2060 CREATION_DATE,
2061 LAST_UPDATED_BY,
2062 LAST_UPDATE_DATE,
2063 LAST_UPDATE_LOGIN,
2064 --TEXT,
2065 RULE_INFORMATION_CATEGORY,
2066 RULE_INFORMATION1,
2067 RULE_INFORMATION2,
2068 RULE_INFORMATION3,
2069 RULE_INFORMATION4,
2070 RULE_INFORMATION5,
2071 RULE_INFORMATION6,
2072 RULE_INFORMATION7,
2073 RULE_INFORMATION8,
2074 RULE_INFORMATION9,
2075 RULE_INFORMATION10,
2076 RULE_INFORMATION11,
2077 RULE_INFORMATION12,
2078 RULE_INFORMATION13,
2079 RULE_INFORMATION14,
2080 RULE_INFORMATION15,
2081 TEMPLATE_YN,
2082 ans_set_jtot_object_code,
2083 ans_set_jtot_object_id1,
2084 ans_set_jtot_object_id2,
2085 DISPLAY_SEQUENCE
2086 FROM Okc_Rules_V
2087 WHERE okc_rules_v.rgp_id = p_rgp_id
2088 AND okc_rules_v.object2_id1 = p_slh_id
2089 AND RULE_INFORMATION_CATEGORY = DECODE(p_rdf_code,NULL,RULE_INFORMATION_CATEGORY,p_rdf_code);
2090
2091 l_rulv_rec rulv_rec_type;
2092 i NUMBER DEFAULT 0;
2093 l_proc_name VARCHAR2(35) := 'GET_SLL_RULES';
2094 BEGIN
2095 IF (G_DEBUG_ENABLED = 'Y') THEN
2096 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
2097 END IF;
2098
2099 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2100 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,l_proc_name);
2101 END IF;
2102 -- Get current database values
2103 OPEN okc_rulv_csr (p_rgpv_rec.id,
2104 p_rdf_code,
2105 p_slh_id);
2106 LOOP
2107 FETCH okc_rulv_csr INTO
2108 l_rulv_rec.ID,
2109 l_rulv_rec.OBJECT_VERSION_NUMBER,
2110 l_rulv_rec.SFWT_FLAG,
2111 l_rulv_rec.OBJECT1_ID1,
2112 l_rulv_rec.OBJECT2_ID1,
2113 l_rulv_rec.OBJECT3_ID1,
2114 l_rulv_rec.OBJECT1_ID2,
2115 l_rulv_rec.OBJECT2_ID2,
2116 l_rulv_rec.OBJECT3_ID2,
2117 l_rulv_rec.JTOT_OBJECT1_CODE,
2118 l_rulv_rec.JTOT_OBJECT2_CODE,
2119 l_rulv_rec.JTOT_OBJECT3_CODE,
2120 l_rulv_rec.DNZ_CHR_ID,
2121 l_rulv_rec.RGP_ID,
2122 l_rulv_rec.PRIORITY,
2123 l_rulv_rec.STD_TEMPLATE_YN,
2124 l_rulv_rec.COMMENTS,
2125 l_rulv_rec.WARN_YN,
2126 l_rulv_rec.ATTRIBUTE_CATEGORY,
2127 l_rulv_rec.ATTRIBUTE1,
2128 l_rulv_rec.ATTRIBUTE2,
2129 l_rulv_rec.ATTRIBUTE3,
2130 l_rulv_rec.ATTRIBUTE4,
2131 l_rulv_rec.ATTRIBUTE5,
2132 l_rulv_rec.ATTRIBUTE6,
2133 l_rulv_rec.ATTRIBUTE7,
2134 l_rulv_rec.ATTRIBUTE8,
2135 l_rulv_rec.ATTRIBUTE9,
2136 l_rulv_rec.ATTRIBUTE10,
2137 l_rulv_rec.ATTRIBUTE11,
2138 l_rulv_rec.ATTRIBUTE12,
2139 l_rulv_rec.ATTRIBUTE13,
2140 l_rulv_rec.ATTRIBUTE14,
2141 l_rulv_rec.ATTRIBUTE15,
2142 l_rulv_rec.CREATED_BY,
2143 l_rulv_rec.CREATION_DATE,
2144 l_rulv_rec.LAST_UPDATED_BY,
2145 l_rulv_rec.LAST_UPDATE_DATE,
2146 l_rulv_rec.LAST_UPDATE_LOGIN,
2147 --l_rulv_rec.TEXT,
2148 l_rulv_rec.RULE_INFORMATION_CATEGORY,
2149 l_rulv_rec.RULE_INFORMATION1,
2150 l_rulv_rec.RULE_INFORMATION2,
2151 l_rulv_rec.RULE_INFORMATION3,
2152 l_rulv_rec.RULE_INFORMATION4,
2153 l_rulv_rec.RULE_INFORMATION5,
2154 l_rulv_rec.RULE_INFORMATION6,
2155 l_rulv_rec.RULE_INFORMATION7,
2156 l_rulv_rec.RULE_INFORMATION8,
2157 l_rulv_rec.RULE_INFORMATION9,
2158 l_rulv_rec.RULE_INFORMATION10,
2159 l_rulv_rec.RULE_INFORMATION11,
2160 l_rulv_rec.RULE_INFORMATION12,
2161 l_rulv_rec.RULE_INFORMATION13,
2162 l_rulv_rec.RULE_INFORMATION14,
2163 l_rulv_rec.RULE_INFORMATION15,
2164 l_rulv_rec.TEMPLATE_YN,
2165 l_rulv_rec.ans_set_jtot_object_code,
2166 l_rulv_rec.ans_set_jtot_object_id1,
2167 l_rulv_rec.ans_set_jtot_object_id2,
2168 l_rulv_rec.DISPLAY_SEQUENCE ;
2169 EXIT WHEN okc_rulv_csr%NOTFOUND;
2170 i := okc_rulv_csr%RowCount;
2171 x_rulv_tbl(i) := l_rulv_rec;
2172 END LOOP;
2173 CLOSE okc_rulv_csr;
2174 x_rule_count := i;
2175
2176 RETURN;
2177
2178 END get_sll_rules;
2179
2180 ------------------------------------------------------------------------------
2181 -- PROCEDURE sync_slh_sll
2182 --
2183 -- This procedure synchronizes SLH and SLL Rules
2184 --
2185 -- Calls:
2186 -- Called By:
2187 ------------------------------------------------------------------------------
2188
2189 PROCEDURE sync_slh_sll(
2190 x_return_status OUT NOCOPY VARCHAR2,
2191 x_msg_count OUT NOCOPY NUMBER,
2192 x_msg_data OUT NOCOPY VARCHAR2,
2193 p_new_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
2194 p_old_rgp_id IN NUMBER,
2195 p_new_rgp_id IN NUMBER
2196 ) IS
2197
2198 l_proc_name VARCHAR2(35) := 'SYNC_SLH_SLL';
2199 sync_failed EXCEPTION;
2200
2201 x_new_rgpv_rec rgpv_rec_type;
2202 x_new_slh_rulv_rec rulv_rec_type;
2203
2204 x_slh_rulv_tbl rulv_tbl_type;
2205 x_slh_rule_count NUMBER;
2206
2207 x_sll_rulv_tbl rulv_tbl_type;
2208 x_sll_rule_count NUMBER;
2209
2210 x_rulv_rec rulv_rec_type;
2211
2212 l_old_rgpv_rec rgpv_rec_type;
2213 l_slh_rulv_rec rulv_rec_type;
2214 l_sll_rulv_rec rulv_rec_type;
2215
2216 l_rebook_rgp_id NUMBER;
2217 l_orig_rgp_id NUMBER;
2218
2219 l_rulv_tbl rulv_tbl_type;
2220 i NUMBER := 0;
2221
2222 CURSOR orig_cle_csr(p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2223 SELECT orig_system_id1
2224 FROM okc_k_lines_v
2225 WHERE id = p_cle_id;
2226
2227 CURSOR del_rgp_csr(p_chr_id OKC_K_HEADERS_V.ID%TYPE,
2228 p_rgp_id NUMBER) IS
2229 SELECT id
2230 FROM okc_rule_groups_v
2231 WHERE dnz_chr_id = p_chr_id
2232 AND id = p_rgp_id
2233 AND rgd_code = 'LALEVL';
2234
2235 CURSOR rule_csr(p_rgp_id NUMBER) IS
2236 SELECT id
2237 FROM okc_rules_v
2238 WHERE rgp_id = p_rgp_id
2239 --Bug# : 3124577 :11.5.10 Rule migration
2240 AND rule_information_category IN ('LASLH','LASLL');
2241 --AND rule_information_category IN ('SLH','SLL');
2242
2243 BEGIN
2244 IF (G_DEBUG_ENABLED = 'Y') THEN
2245 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
2246 END IF;
2247 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2248 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2249 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,l_proc_name);
2250 END IF;
2251
2252 -- Delete SLH, SLL from Original Contract
2253 i := 1;
2254
2255 FOR del_rgp_rec IN del_rgp_csr(p_new_chr_id,
2256 p_new_rgp_id)
2257 LOOP
2258 FOR rule_rec IN rule_csr(del_rgp_rec.id)
2259 LOOP
2260 l_rulv_tbl(i).id := rule_rec.id;
2261 i := i+ 1;
2262 END LOOP;
2263 END LOOP;
2264
2265 Okl_Rule_Pub.delete_rule(
2266 p_api_version => 1.0,
2267 p_init_msg_list => Okc_Api.G_FALSE,
2268 x_return_status => x_return_status,
2269 x_msg_count => x_msg_count,
2270 x_msg_data => x_msg_data,
2271 p_rulv_tbl => l_rulv_tbl
2272 );
2273 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2274 RAISE sync_failed;
2275 END IF;
2276
2277 l_old_rgpv_rec.id := p_old_rgp_id;
2278 --
2279 -- Get SLH Rule from OLD Contract
2280 --
2281 Okl_Rule_Apis_Pvt.Get_Contract_Rules(
2282 p_api_version => 1.0,
2283 p_init_msg_list => Okl_Api.G_FALSE,
2284 p_rgpv_rec => l_old_rgpv_rec,
2285 --Bug# 3124577: 11.5.10 Rule Migration
2286 p_rdf_code => 'LASLH',
2287 --p_rdf_code => 'SLH',
2288 x_return_status => x_return_status,
2289 x_msg_count => x_msg_count,
2290 x_msg_data => x_msg_data,
2291 x_rulv_tbl => x_slh_rulv_tbl,
2292 x_rule_count => x_slh_rule_count
2293 );
2294 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2295 RAISE sync_failed;
2296 END IF;
2297
2298 --x_slh_rulv_tbl_out := x_slh_rulv_tbl;
2299 --x_slh_count := x_slh_rule_count;
2300
2301 FOR i IN 1..x_slh_rule_count
2302 LOOP
2303 l_slh_rulv_rec := x_slh_rulv_tbl(i);
2304 l_slh_rulv_rec.rgp_id := p_new_rgp_id;
2305 l_slh_rulv_rec.dnz_chr_id := p_new_chr_id;
2306
2307 Okl_Rule_Pub.create_rule(
2308 p_api_version => 1.0,
2309 p_init_msg_list => Okc_Api.G_FALSE,
2310 x_return_status => x_return_status,
2311 x_msg_count => x_msg_count,
2312 x_msg_data => x_msg_data,
2313 p_rulv_rec => l_slh_rulv_rec,
2314 x_rulv_rec => x_new_slh_rulv_rec
2315 );
2316 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2317 x_return_status := Okc_Api.G_RET_STS_ERROR;
2318 RAISE sync_failed;
2319 END IF;
2320
2321 --
2322 -- Get SLL Rules from Header for a SLH
2323 --
2324 get_sll_rules(
2325 x_return_status => x_return_status,
2326 x_msg_count => x_msg_count,
2327 x_msg_data => x_msg_data,
2328 p_rgpv_rec => l_old_rgpv_rec,
2329 --Bug# 3124577 : 11.5.10 Rule Migration
2330 p_rdf_code => 'LASLL',
2331 --p_rdf_code => 'SLL',
2332 p_slh_id => x_slh_rulv_tbl(i).id,
2333 x_rulv_tbl => x_sll_rulv_tbl,
2334 x_rule_count => x_sll_rule_count
2335 );
2336 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2337 RAISE sync_failed;
2338 END IF;
2339
2340 --x_sll_rulv_tbl_out := x_sll_rulv_tbl;
2341 --x_sll_count := x_sll_rule_count;
2342
2343 -- Create a SLL rule under SLH created above
2344 FOR i IN 1..x_sll_rule_count
2345 LOOP
2346
2347 l_sll_rulv_rec := x_sll_rulv_tbl(i);
2348 l_sll_rulv_rec.rgp_id := p_new_rgp_id;
2349 l_sll_rulv_rec.object2_id1 := x_new_slh_rulv_rec.id;
2350 l_sll_rulv_rec.dnz_chr_id := p_new_chr_id;
2351
2352 Okl_Rule_Pub.create_rule(
2353 p_api_version => 1.0,
2354 p_init_msg_list => Okc_Api.G_FALSE,
2355 x_return_status => x_return_status,
2356 x_msg_count => x_msg_count,
2357 x_msg_data => x_msg_data,
2358 p_rulv_rec => l_sll_rulv_rec,
2359 x_rulv_rec => x_rulv_rec
2360 );
2361 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2362 x_return_status := Okc_Api.G_RET_STS_ERROR;
2363 RAISE sync_failed;
2364 END IF;
2365 END LOOP; -- SLL
2366
2367 END LOOP; -- SLH
2368
2369 EXCEPTION
2370 WHEN sync_failed THEN
2371 x_return_status := Okc_Api.G_RET_STS_ERROR;
2372 END sync_slh_sll;
2373 -- Start Bug 2376998
2374 ------------------------------------------------------------------------------
2375 -- PROCEDURE link_slh_sll
2376 --
2377 -- This procedure links SLH and SLL by calling sync_slh_sll at LINE level
2378 --
2379 -- Calls:
2380 -- Called By:
2381 ------------------------------------------------------------------------------
2382
2383 PROCEDURE link_slh_sll(
2384 x_return_status OUT NOCOPY VARCHAR2,
2385 x_msg_count OUT NOCOPY NUMBER,
2386 x_msg_data OUT NOCOPY VARCHAR2,
2387 p_old_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
2388 p_new_cle_id IN OKC_K_LINES_V.ID%TYPE,
2389 p_new_chr_id IN OKC_K_HEADERS_V.ID%TYPE
2390 ) IS
2391
2392 link_failed EXCEPTION;
2393
2394 CURSOR lalevl_csr (p_chr_id OKC_K_HEADERS_V.ID%TYPE,
2395 p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2396 SELECT id,
2397 cle_id
2398 FROM okc_rule_groups_v
2399 WHERE dnz_chr_id = p_chr_id
2400 AND cle_id = p_cle_id
2401 AND rgd_code = 'LALEVL';
2402
2403 CURSOR old_lalevl_csr (p_chr_id OKC_K_HEADERS_V.ID%TYPE,
2404 p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2405 SELECT id
2406 FROM okc_rule_groups_v
2407 WHERE dnz_chr_id = p_chr_id
2408 AND rgd_code = 'LALEVL'
2409 AND (cle_id = p_cle_id
2410 OR ( cle_id IS NULL
2411 AND
2412 p_cle_id IS NULL));
2413
2414 CURSOR old_line_csr (p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2415 SELECT orig_system_id1
2416 FROM OKC_K_LINES_V
2417 WHERE id = p_cle_id;
2418
2419 l_old_lalevl_id NUMBER;
2420 l_new_lalevl_id NUMBER;
2421 l_old_cle_id OKC_K_LINES_V.ID%TYPE;
2422 l_new_cle_id OKC_K_LINES_V.ID%TYPE;
2423
2424 BEGIN
2425
2426 FOR new_lalevl_rec IN lalevl_csr(p_new_chr_id,
2427 p_new_cle_id)
2428 LOOP
2429 l_new_lalevl_id := new_lalevl_rec.id;
2430 l_new_cle_id := new_lalevl_rec.cle_id;
2431
2432 l_old_cle_id := NULL;
2433 IF (l_new_cle_id IS NOT NULL) THEN
2434 OPEN old_line_csr (l_new_cle_id);
2435 FETCH old_line_csr INTO l_old_cle_id;
2436 CLOSE old_line_csr;
2437 END IF;
2438
2439 OPEN old_lalevl_csr(p_old_chr_id,
2440 l_old_cle_id);
2441 FETCH old_lalevl_csr INTO l_old_lalevl_id;
2442 CLOSE old_lalevl_csr;
2443
2444 sync_slh_sll(
2445 x_return_status => x_return_status,
2446 x_msg_count => x_msg_count,
2447 x_msg_data => x_msg_data,
2448 p_new_chr_id => p_new_chr_id,
2449 p_old_rgp_id => l_old_lalevl_id,
2450 p_new_rgp_id => l_new_lalevl_id
2451 );
2452 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2453 RAISE Okl_Api.G_EXCEPTION_ERROR;
2454 END IF;
2455 END LOOP;
2456
2457 EXCEPTION
2458 WHEN link_failed THEN
2459 x_return_status := OKC_API.G_RET_STS_ERROR;
2460 END link_slh_sll;
2461
2462 -- End Bug 2376998
2463 ------------------------------------------------------------------------------
2464 -- PROCEDURE link_slh_sll
2465 --
2466 -- This procedure links SLH and SLL by calling sync_slh_sll at header
2467 --
2468 -- Calls:
2469 -- Called By:
2470 ------------------------------------------------------------------------------
2471
2472 PROCEDURE link_slh_sll(
2473 x_return_status OUT NOCOPY VARCHAR2,
2474 x_msg_count OUT NOCOPY NUMBER,
2475 x_msg_data OUT NOCOPY VARCHAR2,
2476 p_old_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
2477 p_new_chr_id IN OKC_K_HEADERS_V.ID%TYPE
2478 ) IS
2479
2480 link_failed EXCEPTION;
2481
2482 CURSOR lalevl_csr (p_chr_id OKC_K_HEADERS_V.ID%TYPE) IS
2483 SELECT id,
2484 cle_id
2485 FROM okc_rule_groups_v
2486 WHERE dnz_chr_id = p_chr_id
2487 AND cle_id IS NULL -- Bug 2376998
2488 AND rgd_code = 'LALEVL';
2489
2490 CURSOR old_lalevl_csr (p_chr_id OKC_K_HEADERS_V.ID%TYPE,
2491 p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2492 SELECT id
2493 FROM okc_rule_groups_v
2494 WHERE dnz_chr_id = p_chr_id
2495 AND rgd_code = 'LALEVL'
2496 AND (cle_id = p_cle_id
2497 OR ( cle_id IS NULL
2498 AND
2499 p_cle_id IS NULL));
2500
2501 CURSOR old_line_csr (p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2502 SELECT orig_system_id1
2503 FROM OKC_K_LINES_V
2504 WHERE id = p_cle_id;
2505
2506 l_old_lalevl_id NUMBER;
2507 l_new_lalevl_id NUMBER;
2508 l_old_cle_id OKC_K_LINES_V.ID%TYPE;
2509 l_new_cle_id OKC_K_LINES_V.ID%TYPE;
2510
2511 BEGIN
2512
2513 FOR new_lalevl_rec IN lalevl_csr(p_new_chr_id)
2514 LOOP
2515 l_new_lalevl_id := new_lalevl_rec.id;
2516 l_new_cle_id := new_lalevl_rec.cle_id;
2517
2518 l_old_cle_id := NULL;
2519 IF (l_new_cle_id IS NOT NULL) THEN
2520 OPEN old_line_csr (l_new_cle_id);
2521 FETCH old_line_csr INTO l_old_cle_id;
2522 CLOSE old_line_csr;
2523 END IF;
2524
2525 OPEN old_lalevl_csr(p_old_chr_id,
2526 l_old_cle_id);
2527 FETCH old_lalevl_csr INTO l_old_lalevl_id;
2528 CLOSE old_lalevl_csr;
2529
2530 sync_slh_sll(
2531 x_return_status => x_return_status,
2532 x_msg_count => x_msg_count,
2533 x_msg_data => x_msg_data,
2534 p_new_chr_id => p_new_chr_id,
2535 p_old_rgp_id => l_old_lalevl_id,
2536 p_new_rgp_id => l_new_lalevl_id
2537 );
2538 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2539 raise OKL_API.G_EXCEPTION_ERROR;
2540 END IF;
2541 END LOOP;
2542
2543 EXCEPTION
2544 WHEN link_failed THEN
2545 x_return_status := OKC_API.G_RET_STS_ERROR;
2546 END link_slh_sll;
2547 --------------------------------------------------------------------------------
2548 -- Start of comments
2549 --Bug# 2522268
2550 -- Procedure Name : cleanup_abandoned_lines
2551 -- Description : Local Procedure Will be called from copy_contract
2552 -- to delete any ABANDONED lines copied on to the contract
2553 -- Business Rules : Takes in chr_id of the copied contract and physically
2554 -- deletes(delete cascade) all the lines which appear as
2555 -- logically deleted on parent (source) contract.
2556 -- Parameters :
2557 -- Version : 1.0
2558 -- Notes :
2559 -- End of comments
2560 --------------------------------------------------------------------------------
2561 PROCEDURE cleanup_abandoned_lines(p_api_version IN NUMBER,
2562 p_init_msg_list IN VARCHAR2,
2563 x_return_status OUT NOCOPY VARCHAR2,
2564 x_msg_count OUT NOCOPY NUMBER,
2565 x_msg_data OUT NOCOPY VARCHAR2,
2566 p_chr_id IN NUMBER) is
2567 --Cursor for abandoned parent top lines
2568 CURSOR abnd_tls_csr(p_copied_chr_id IN NUMBER) IS
2569 Select cle.id,
2570 cle.orig_system_id1
2571 from OKC_K_LINES_B cle_parent,
2572 OKC_LINE_STYLES_B cle_parent_lse,
2573 OKC_K_LINES_B cle
2574 WHERE cle_parent.id = cle.orig_system_id1
2575 AND cle_parent.lse_id = cle_parent_lse.id
2576 AND cle_parent.sts_code = 'ABANDONED'
2577 AND cle_parent_lse.lse_type = 'TLS'
2578 AND cle.dnz_chr_id = p_copied_chr_id;
2579
2580 --Cursor for abandoned orphan sub-lines
2581 CURSOR abnd_sls_csr(p_copied_chr_id IN NUMBER) IS
2582 Select cle.id,
2583 cle.orig_system_id1
2584 from OKC_K_LINES_B cle_parent,
2585 OKC_LINE_STYLES_B cle_parent_lse,
2586 OKC_K_LINES_B cle
2587 WHERE cle_parent.id = cle.orig_system_id1
2588 AND cle_parent.lse_id = cle_parent_lse.id
2589 AND cle_parent.sts_code = 'ABANDONED'
2590 AND cle_parent_lse.lse_type = 'SLS'
2591 AND cle.dnz_chr_id = p_copied_chr_id;
2592
2593 l_cle_id OKC_K_LINES_B.ID%TYPE;
2594 l_source_cle_id OKC_K_LINES_B.ID%TYPE;
2595 l_chr_id OKC_K_HEADERS_B.ID%TYPE;
2596
2597 Begin
2598 x_return_status := OKL_API.G_RET_STS_SUCCESS;
2599 l_chr_id := p_chr_id;
2600 OPEN abnd_tls_csr(p_copied_chr_id => l_chr_id);
2601 LOOP
2602 FETCH abnd_tls_csr into l_cle_id, l_source_cle_id;
2603 EXIT WHEN abnd_tls_csr%NOTFOUND;
2604 OKL_CONTRACT_PUB.delete_contract_line(
2605 p_api_version => p_api_version,
2606 p_init_msg_list => p_init_msg_list,
2607 x_return_status => x_return_status,
2608 x_msg_count => x_msg_count,
2609 x_msg_data => x_msg_data,
2610 p_line_id => l_cle_id);
2611 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2612 RAISE G_EXCEPTION_HALT_PROCESS;
2613 End If;
2614 END LOOP;
2615 CLOSE abnd_tls_csr;
2616
2617 OPEN abnd_sls_csr(p_copied_chr_id => l_chr_id);
2618 LOOP
2619 FETCH abnd_sls_csr into l_cle_id, l_source_cle_id;
2620 EXIT WHEN abnd_sls_csr%NOTFOUND;
2621 OKL_CONTRACT_PUB.delete_contract_line(
2622 p_api_version => p_api_version,
2623 p_init_msg_list => p_init_msg_list,
2624 x_return_status => x_return_status,
2625 x_msg_count => x_msg_count,
2626 x_msg_data => x_msg_data,
2627 p_line_id => l_cle_id);
2628 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2629 RAISE G_EXCEPTION_HALT_PROCESS;
2630 End If;
2631 END LOOP;
2632 CLOSE abnd_sls_csr;
2633 EXCEPTION
2634 WHEN G_EXCEPTION_HALT_PROCESS Then
2635 --just return back the return status with message stack;
2636 Null;
2637 If abnd_tls_csr%ISOPEN Then
2638 CLOSE abnd_tls_csr;
2639 End If;
2640 If abnd_sls_csr%ISOPEN Then
2641 CLOSE abnd_sls_csr;
2642 End If;
2643 WHEN OTHERS Then
2644 If abnd_tls_csr%ISOPEN Then
2645 CLOSE abnd_tls_csr;
2646 End If;
2647 If abnd_sls_csr%ISOPEN Then
2648 CLOSE abnd_sls_csr;
2649 End If;
2650 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2651 End cleanup_abandoned_lines;
2652
2653 --
2654 --Bug# 2522268 End
2655 --
2656
2657 --------------------------------------------------------------------------------
2658 -- Start of comments
2659 --Bug# 2522268
2660 -- Procedure Name : cleanup_rollover_lines
2661 -- Description : Local Procedure Will be called from copy_contract
2662 -- to delete any Rollover lines copied on to the contract
2663 -- Business Rules : Takes in chr_id of the copied contract and physically
2664 -- deletes(delete cascade) all the lines which appear as
2665 -- logically deleted on parent (source) contract.
2666 -- Parameters :
2667 -- Version : 1.0
2668 -- Notes :
2669 -- End of comments
2670 --------------------------------------------------------------------------------
2671 PROCEDURE cleanup_rollover_lines(p_api_version IN NUMBER,
2672 p_init_msg_list IN VARCHAR2,
2673 x_return_status OUT NOCOPY VARCHAR2,
2674 x_msg_count OUT NOCOPY NUMBER,
2675 x_msg_data OUT NOCOPY VARCHAR2,
2676 p_chr_id IN NUMBER) is
2677 --Cursor for rollover parent top lines
2678 CURSOR roll_tls_csr(p_copied_chr_id IN NUMBER) IS
2679 Select cle.id, cle.orig_system_id1
2680 from OKC_K_LINES_B cle_parent,
2681 OKC_LINE_STYLES_B cle_parent_lse,
2682 OKC_K_LINES_B cle,
2683 okl_k_lines kle_parent
2684 WHERE cle_parent.id = kle_parent.id
2685 AND cle_parent.id = cle.orig_system_id1
2686 AND cle_parent.lse_id = cle_parent_lse.id
2687 AND kle_parent.fee_type = 'ROLLOVER'
2688 AND cle_parent_lse.lse_type = 'TLS'
2689 AND cle.dnz_chr_id = p_copied_chr_id;
2690
2691 l_cle_id OKC_K_LINES_B.ID%TYPE;
2692 l_source_cle_id OKC_K_LINES_B.ID%TYPE;
2693 l_chr_id OKC_K_HEADERS_B.ID%TYPE;
2694
2695 Begin
2696 x_return_status := OKL_API.G_RET_STS_SUCCESS;
2697 l_chr_id := p_chr_id;
2698 OPEN roll_tls_csr(p_copied_chr_id => l_chr_id);
2699 LOOP
2700 FETCH roll_tls_csr into l_cle_id, l_source_cle_id;
2701 EXIT WHEN roll_tls_csr%NOTFOUND;
2702 OKL_CONTRACT_PUB.delete_contract_line(
2703 p_api_version => p_api_version,
2704 p_init_msg_list => p_init_msg_list,
2705 x_return_status => x_return_status,
2706 x_msg_count => x_msg_count,
2707 x_msg_data => x_msg_data,
2708 p_line_id => l_cle_id);
2709 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2710 RAISE G_EXCEPTION_HALT_PROCESS;
2711 End If;
2712 END LOOP;
2713 CLOSE roll_tls_csr;
2714
2715 EXCEPTION
2716 WHEN G_EXCEPTION_HALT_PROCESS Then
2717 --just return back the return status with message stack;
2718 Null;
2719 If roll_tls_csr%ISOPEN Then
2720 CLOSE roll_tls_csr;
2721 End If;
2722 WHEN OTHERS Then
2723 If roll_tls_csr%ISOPEN Then
2724 CLOSE roll_tls_csr;
2725 End If;
2726 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2727 End cleanup_rollover_lines;
2728
2729
2730 -- bug 3630858
2731 --------------------------------------------------------------------------------
2732 -- Start of comments
2733 --
2734 -- Procedure Name : copy_product_options
2735 -- Description : copies contract product option.
2736 -- published in OKL_COPY_CONTRACTS_PUB
2737 -- Business Rules :
2738 -- Parameters :
2739 -- Version : 1.0
2740 -- Notes :
2741 -- End of comments
2742 --------------------------------------------------------------------------------
2743 PROCEDURE copy_product_options
2744 (p_api_version IN NUMBER,
2745 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2746 x_return_status OUT NOCOPY VARCHAR2,
2747 x_msg_count OUT NOCOPY NUMBER,
2748 x_msg_data OUT NOCOPY VARCHAR2,
2749 p_new_khr_id IN NUMBER,
2750 p_cspv_id IN NUMBER,
2751 x_cspv_id OUT NOCOPY NUMBER
2752 ) IS
2753 --local variables
2754 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2755 l_api_name CONSTANT VARCHAR2(30) := 'COPY_PRODUCT_OPTIONS';
2756 l_api_version CONSTANT NUMBER := 1.0;
2757 l_cspv_id NUMBER;
2758 p_cspv_rec cspv_rec_type;
2759 l_cspv_rec cspv_rec_type;
2760 lx_cspv_rec cspv_rec_type;
2761
2762
2763 Begin
2764 x_return_status := OKL_API.G_RET_STS_SUCCESS;
2765 -- Call start_activity to create savepoint, check compatibility
2766 -- and initialize message list
2767 x_return_status := OKL_API.START_ACTIVITY (
2768 l_api_name
2769 ,p_init_msg_list
2770 ,'_PVT'
2771 ,x_return_status);
2772 -- Check if activity started successfully
2773 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2774 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2775 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2776 RAISE OKL_API.G_EXCEPTION_ERROR;
2777 END IF;
2778
2779 l_cspv_id := p_cspv_id;
2780 l_cspv_rec := get_cspv_rec(p_cspv_rec_id => l_cspv_id,
2781 x_return_status => x_return_status
2782 );
2783
2784 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2785 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2786 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2787 RAISE OKL_API.G_EXCEPTION_ERROR;
2788 END IF;
2789
2790 --create selected product options
2791 l_cspv_rec.khr_id := p_new_khr_id;
2792 l_cspv_rec.id := null;
2793
2794 OKL_CSP_PVT.insert_row
2795 (p_api_version => p_api_version,
2796 p_init_msg_list => p_init_msg_list,
2797 x_return_status => x_return_status,
2798 x_msg_count => x_msg_count,
2799 x_msg_data => x_msg_data,
2800 p_cspv_rec => l_cspv_rec,
2801 x_cspv_rec => lx_cspv_rec);
2802
2803 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2804 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2805 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2806 RAISE OKL_API.G_EXCEPTION_ERROR;
2807 END IF;
2808
2809 x_cspv_id := lx_cspv_rec.id;
2810
2811 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data );
2812
2813 EXCEPTION
2814
2815 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2816 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2817 l_api_name,
2818 G_PKG_NAME,
2819 'OKL_API.G_RET_STS_ERROR',
2820 x_msg_count,
2821 x_msg_data,
2822 '_PVT');
2823 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2824 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
2825 l_api_name,
2826 G_PKG_NAME,
2827 'OKL_API.G_RET_STS_UNEXP_ERROR',
2828 x_msg_count,
2829 x_msg_data,
2830 '_PVT');
2831 WHEN OTHERS THEN
2832 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
2833 l_api_name,
2834 G_PKG_NAME,
2835 'OTHERS',
2836 x_msg_count,
2837 x_msg_data,
2838 '_PVT');
2839
2840 END copy_product_options;
2841
2842 -- bug 3630858 end
2843
2844
2845 --------------------------------------------------------------------------------
2846 -- Start of comments
2847 --
2848 -- Procedure Name : copy_contract
2849 -- Description : copies contract. will be
2850 -- published in OKL_COPY_CONTRACTS_PUB
2851 -- Business Rules :
2852 -- Parameters :
2853 -- Version : 1.0
2854 -- Notes :
2855 -- End of comments
2856 --------------------------------------------------------------------------------
2857 PROCEDURE copy_contract(
2858 p_api_version IN NUMBER,
2859 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2860 x_return_status OUT NOCOPY VARCHAR2,
2861 x_msg_count OUT NOCOPY NUMBER,
2862 x_msg_data OUT NOCOPY VARCHAR2,
2863 p_commit IN VARCHAR2 DEFAULT 'F',
2864 p_chr_id IN NUMBER,
2865 p_contract_number IN VARCHAR2,
2866 p_contract_number_modifier IN VARCHAR2,
2867 p_to_template_yn IN VARCHAR2 DEFAULT 'N',
2868 p_renew_ref_yn IN VARCHAR2,
2869 p_copy_lines_yn IN VARCHAR2,
2870 p_override_org IN VARCHAR2 DEFAULT 'N',
2871 x_chr_id OUT NOCOPY NUMBER) IS
2872 --local variables
2873 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2874 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_CONTRACT';
2875 l_api_version CONSTANT NUMBER := 1.0;
2876 l_chrv_rec chrv_rec_type;
2877 l_chrv_rec_out chrv_rec_type;
2878 l_khrv_rec khrv_rec_type;
2879 l_khrv_rec_out khrv_rec_type;
2880 l_clev_rec clev_rec_type;
2881 l_klev_rec klev_rec_type;
2882 l_klev_rec_out klev_rec_type;
2883 l_chr_id NUMBER;
2884 l_chr_id_2 NUMBER;
2885 l_clev_id NUMBER;
2886 l_klev_id NUMBER;
2887 l_clev_rec_out clev_rec_type;
2888
2889 Cursor l_clev_cur (l_chr_id IN Number) is
2890 Select Orig_System_Id1,id
2891 From OKC_K_LINES_V
2892 Where dnz_chr_id = l_chr_id;
2893
2894 --This is modified to take care of the patch in OKC which has included
2895 --original source line id with the new line id
2896
2897 --bug # 2659592
2898 --with overide flag as 'N' okc_copy api sets the
2899 --okc_vontext.organization id to profile value OE: Item validation Organization
2900 --which could be different from OKL: Contract Items Inventory Organization
2901 --there by causing incompatible organization error while copy
2902 --thus OKL copy will always call OKC copy with p_override_org as 'Y'.
2903 l_override_org Varchar2(1) default 'Y';
2904
2905 --Bug# 3143522 : 11.5.10 Subsidies
2906 --cursor to get header party payment dtls
2907 cursor l_hdrpyd_csr (p_old_chr_id in number,
2908 p_new_chr_id in number) is
2909 select pyd_old.id pyd_id,
2910 cpl_new.id cpl_id
2911 from okl_party_payment_dtls pyd_old,
2912 okc_k_party_roles_b cpl_old,
2913 okc_k_party_roles_b cpl_new
2914 where pyd_old.cpl_id = cpl_old.id
2915 and cpl_old.chr_id = p_old_chr_id
2916 and cpl_old.dnz_chr_id = p_old_chr_id
2917 and cpl_new.chr_id = p_new_chr_id
2918 and cpl_new.dnz_chr_id = p_new_chr_id
2919 and cpl_old.rle_code = cpl_new.rle_code
2920 and cpl_old.jtot_object1_code = cpl_new.jtot_object1_code
2921 and cpl_old.object1_id1 = cpl_new.object1_id1
2922 and cpl_old.object1_id2 = cpl_new.object1_id2;
2923
2924
2925 cursor l_clepyd_csr (p_old_chr_id in number,
2926 p_new_chr_id in number,
2927 p_old_cle_id in number,
2928 p_new_cle_id in number
2929 ) is
2930 select pyd_old.id pyd_id,
2931 cpl_new.id cpl_id
2932 from okl_party_payment_dtls pyd_old,
2933 okc_k_party_roles_b cpl_old,
2934 okc_k_party_roles_b cpl_new
2935 where pyd_old.cpl_id = cpl_old.id
2936 and cpl_old.cle_id = p_old_cle_id
2937 and cpl_old.dnz_chr_id = p_old_chr_id
2938 and cpl_new.cle_id = p_new_cle_id
2939 and cpl_new.dnz_chr_id = p_new_chr_id
2940 and cpl_old.rle_code = cpl_new.rle_code
2941 and cpl_old.jtot_object1_code = cpl_new.jtot_object1_code
2942 and cpl_old.object1_id1 = cpl_new.object1_id1
2943 and cpl_old.object1_id2 = cpl_new.object1_id2;
2944
2945 -- Bug 3630858
2946 cursor l_product_options_csr(p_old_chr_id number) IS
2947 select cspv.id
2948 from OKL_SLCTD_OPTNS_V cspv
2949 where cspv.khr_id = p_old_chr_id;
2950
2951 l_pyd_id okl_party_payment_dtls.ID%TYPE;
2952 lx_pyd_id okl_party_payment_dtls.ID%TYPE;
2953 l_cpl_id okc_k_party_roles_b.ID%TYPE;
2954 -- Bug 3630858
2955 l_cspv_id okl_slctd_optns_v.ID%TYPE;
2956 lx_cspv_id okl_slctd_optns_v.ID%TYPE;
2957
2958 ---------------------
2959 --Bug# 3143522
2960 -----------------------
2961 Begin
2962 -----
2963 --Call OKL_API.START_ACTIVITY to set savepoints
2964 --dbms_output.put_line('before call to start activity '||to_char(p_chr_id));
2965 --dbms_output.put_line(l_api_name||G_SCOPE);
2966 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
2967 G_PKG_NAME,
2968 p_init_msg_list,
2969 G_API_VERSION,
2970 p_api_version,
2971 G_SCOPE,
2972 x_return_status);
2973 --dbms_output.put_line('after call to start activity '||to_char(p_chr_id));
2974 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2975 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2976 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2977 RAISE OKL_API.G_EXCEPTION_ERROR;
2978 END IF;
2979 --Call OKC_COPY_CONTRACT_PUB.Copy_Contract
2980 --dbms_output.put_line('before okc_copy p_chr_id '||to_char(p_chr_id));
2981 OKC_COPY_CONTRACT_PUB.copy_contract(
2982 p_api_version => p_api_version,
2983 p_init_msg_list => p_init_msg_list,
2984 x_return_status => l_return_status,
2985 x_msg_count => x_msg_count,
2986 x_msg_data => x_msg_data ,
2987 p_commit => p_commit,
2988 p_chr_id => p_chr_id,
2989 p_contract_number => p_contract_number,
2990 p_contract_number_modifier => P_contract_number_modifier,
2991 p_to_template_yn => p_to_template_yn,
2992 p_renew_ref_yn => p_renew_ref_yn,
2993 p_copy_lines_yn => p_copy_lines_yn,
2994 --bug # 2659592
2995 --p_override_org => p_override_org,
2996 p_override_org => l_override_org,
2997 x_chr_id => x_chr_id);
2998
2999 --dbms_output.put_line('Chr id after copy to okc header '||to_char(x_chr_id));
3000 --dbms_output.put_line('Return Status copy to okc header '||l_return_status||' '||x_msg_data);
3001 -- check return status
3002 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3003 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3004 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3005 raise OKL_API.G_EXCEPTION_ERROR;
3006 End If;
3007 --------------------------------------------------------------------------------
3008 --Catch Up Shadow for Contract Header :
3009 l_chr_id_2 := x_chr_id;
3010 l_chrv_rec := get_chrv_rec(l_chr_id_2);
3011 l_khrv_rec := get_khrv_rec(p_chr_id);
3012 --dbms_output.put_line(' chr id after fetch '||l_chrv_rec.id);
3013 --dbms_output.put_line(' khr id after fetch '||l_khrv_rec.id);
3014 --If OKL does not have a shadow do not proceed to
3015 --catchup on shadow
3016 If l_khrv_rec.id = OKL_API.G_MISS_NUM then
3017 null;
3018 Else
3019 l_khrv_rec.id := x_chr_id;
3020 -- Create record into okl_contract_header
3021 OKL_CONTRACT_PUB.update_contract_header(
3022 p_api_version => p_api_version,
3023 p_init_msg_list => p_init_msg_list,
3024 x_return_status => l_return_status,
3025 x_msg_count => x_msg_count,
3026 x_msg_data => x_msg_data,
3027 p_restricted_update => OKL_API.G_FALSE,
3028 p_chrv_rec => l_chrv_rec,
3029 p_khrv_rec => l_khrv_rec,
3030 x_chrv_rec => l_chrv_rec_out,
3031 x_khrv_rec => l_khrv_rec_out);
3032 --dbms_output.put_line('return status '||l_return_status);
3033 --dbms_output.put_line('After create okl record okc hdr id'||to_char(l_chrv_rec_out.id));
3034 -- check return status
3035 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3036 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3037 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3038 raise OKL_API.G_EXCEPTION_ERROR;
3039 End If;
3040
3041 --------------------------------------------------------------------------------------
3042 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3043 --------------------------------------------------------------------------------------
3044 open l_hdrpyd_csr (p_new_chr_id => x_chr_id,
3045 p_old_chr_id => p_chr_id);
3046
3047 loop
3048 fetch l_hdrpyd_csr into l_pyd_id, l_cpl_id;
3049 Exit when l_hdrpyd_csr%NOTFOUND;
3050 -------------------------------------------------
3051 --call local api to copy party payment details
3052 -------------------------------------------------
3053 copy_party_pymt_dtls
3054 (p_api_version => p_api_version,
3055 p_init_msg_list => p_init_msg_list,
3056 x_return_status => x_return_status,
3057 x_msg_count => x_msg_count,
3058 x_msg_data => x_msg_data,
3059 p_pyd_id => l_pyd_id,
3060 p_cpl_id => l_cpl_id,
3061 x_pyd_id => lx_pyd_id);
3062
3063
3064
3065 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3066 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3067 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3068 RAISE OKL_API.G_EXCEPTION_ERROR;
3069 END IF;
3070
3071 End Loop;
3072 Close l_hdrpyd_csr;
3073
3074 --------------------------------------------------------------------------------------
3075 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3076 --------------------------------------------------------------------------------------
3077
3078 --call local API for creation of party payment details
3079 IF p_copy_lines_yn = 'Y' Then
3080 -- Catch up shadow for Contract Lines
3081 Open l_clev_cur(x_chr_id);
3082 Loop
3083 Fetch l_clev_cur into l_clev_id,l_klev_id;
3084 --dbms_output.put_line('Before Catchup Contract Lines ');
3085 Exit when l_clev_cur%NotFound;
3086 Catchup_okl_contract_line(
3087 p_api_version => p_api_version,
3088 p_init_msg_list => p_init_msg_list,
3089 x_return_status => l_return_status,
3090 x_msg_count => x_msg_count,
3091 x_msg_data => x_msg_data,
3092 p_clev_id => l_clev_id,
3093 p_klev_id => l_klev_id,
3094 x_clev_rec => l_clev_rec_out,
3095 x_klev_rec => l_klev_rec_out
3096 );
3097 -- check return status
3098 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3099 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3100 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3101 raise OKL_API.G_EXCEPTION_ERROR;
3102 End If;
3103
3104 --------------------------------------------------------------------------------------
3105 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3106 --------------------------------------------------------------------------------------
3107 open l_clepyd_csr (p_new_chr_id => x_chr_id,
3108 p_old_chr_id => p_chr_id,
3109 p_new_cle_id => l_klev_id,
3110 p_old_cle_id => l_clev_id);
3111
3112 loop
3113 fetch l_clepyd_csr into l_pyd_id, l_cpl_id;
3114 Exit when l_clepyd_csr%NOTFOUND;
3115 -------------------------------------------------
3116 --call local api to copy party payment details
3117 -------------------------------------------------
3118 copy_party_pymt_dtls
3119 (p_api_version => p_api_version,
3120 p_init_msg_list => p_init_msg_list,
3121 x_return_status => x_return_status,
3122 x_msg_count => x_msg_count,
3123 x_msg_data => x_msg_data,
3124 p_pyd_id => l_pyd_id,
3125 p_cpl_id => l_cpl_id,
3126 x_pyd_id => lx_pyd_id);
3127
3128
3129
3130 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3131 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3132 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3133 RAISE OKL_API.G_EXCEPTION_ERROR;
3134 END IF;
3135
3136 End Loop;
3137 Close l_clepyd_csr;
3138
3139 --------------------------------------------------------------------------------------
3140 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3141 --------------------------------------------------------------------------------------
3142 End Loop;
3143 Close l_clev_cur;
3144
3145 --
3146 --Bug# 2522268 : Physically delete all the lines with source lines having
3147 -- abandoned status
3148 cleanup_abandoned_lines(p_api_version => p_api_version,
3149 p_init_msg_list => p_init_msg_list,
3150 x_return_status => x_return_Status,
3151 x_msg_count => x_msg_count,
3152 x_msg_data => x_msg_data,
3153 p_chr_id => x_chr_id);
3154 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3155 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3156 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
3157 raise OKL_API.G_EXCEPTION_ERROR;
3158 End If;
3159 --
3160 --Bug# 2522268 End
3161 --
3162
3163 End If;
3164 End If;
3165
3166 --
3167 -- Special Process for LALEVL (SLH, SLL) rules
3168 --
3169
3170 link_slh_sll(
3171 x_return_status => l_return_status,
3172 x_msg_count => x_msg_count,
3173 x_msg_data => x_msg_data,
3174 p_old_chr_id => p_chr_id,
3175 p_new_chr_id => x_chr_id
3176 );
3177
3178
3179 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3180 RAISE OKL_API.G_EXCEPTION_ERROR;
3181 END IF;
3182 --Call OKC_COPY_CONTRACT_PUB.Copy_Components
3183 -- do not do this again as this might already be done as part of OKC_COPY_CONTRACT
3184 /*
3185 OKC_COPY_CONTRACT_PUB.Copy_Components(
3186 p_api_version => p_api_version,
3187 p_init_msg_list => p_init_msg_list,
3188 x_return_status => l_return_status,
3189 x_msg_count => x_msg_count,
3190 x_msg_data => x_msg_data,
3191 p_from_chr_id => p_chr_id,
3192 p_to_chr_id => x_chr_id,
3193 p_contract_number => p_contract_number,
3194 p_contract_number_modifier => p_contract_number_modifier,
3195 p_to_template_yn => p_to_template_yn,
3196 p_copy_reference => p_copy_reference,
3197 p_copy_line_party_yn => p_copy_line_party_yn,
3198 p_scs_code => p_scs_code,
3199 p_intent => p_intent,
3200 p_prospect => p_prospect,
3201 p_components_tbl => p_components_tbl,
3202 p_lines_tbl => p_lines_tbl,
3203 x_chr_id => l_chr_id);
3204 -- check return status
3205 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3206 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3207 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3208 raise OKL_API.G_EXCEPTION_ERROR;
3209 End If;
3210 */
3211
3212
3213 --------------------------------------------------------------------------------------
3214 --BUG# 3630858 : copy product options
3215 --------------------------------------------------------------------------------------
3216 open l_product_options_csr(p_old_chr_id => p_chr_id);
3217
3218 loop
3219 fetch l_product_options_csr into l_cspv_id;
3220 Exit when l_product_options_csr%NOTFOUND;
3221 ----------------------------------------------------
3222 --call local api to copy contract product options
3223 ----------------------------------------------------
3224 copy_product_options
3225 (p_api_version => p_api_version,
3226 p_init_msg_list => p_init_msg_list,
3227 x_return_status => x_return_status,
3228 x_msg_count => x_msg_count,
3229 x_msg_data => x_msg_data,
3230 p_new_khr_id => x_chr_id,
3231 p_cspv_id => l_cspv_id,
3232 x_cspv_id => lx_cspv_id
3233 );
3234
3235 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3236 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3237 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3238 RAISE OKL_API.G_EXCEPTION_ERROR;
3239 END IF;
3240
3241 End Loop;
3242 Close l_product_options_csr;
3243
3244 --Call End Activity
3245 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3246 EXCEPTION
3247 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3248 If l_hdrpyd_csr%ISOPEN then
3249 close l_hdrpyd_csr;
3250 End If;
3251 If l_clepyd_csr%ISOPEN then
3252 close l_clepyd_csr;
3253 End If;
3254 --dbms_output.put_line('identified error');
3255 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3256 (substr(l_api_name,1,26),
3257 G_PKG_NAME,
3258 'OKL_API.G_RET_STS_ERROR',
3259 x_msg_count,
3260 x_msg_data,
3261 G_SCOPE);
3262 -- Resetting the global transaction id.
3263 okc_cvm_pvt.g_trans_id := 'XXX';
3264 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3265 If l_hdrpyd_csr%ISOPEN then
3266 close l_hdrpyd_csr;
3267 End If;
3268 If l_clepyd_csr%ISOPEN then
3269 close l_clepyd_csr;
3270 End If;
3271
3272
3273 --dbms_output.put_line('unexpected error :'||l_api_name||G_SCOPE);
3274 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3275 (substr(l_api_name,1,26),
3276 G_PKG_NAME,
3277 'OKL_API.G_RET_STS_UNEXP_ERROR',
3278 x_msg_count,
3279 x_msg_data,
3280 G_SCOPE);
3281 -- Resetting the global transaction id.
3282 okc_cvm_pvt.g_trans_id := 'XXX';
3283 WHEN OTHERS THEN
3284 -- store SQL error message on message stack for caller
3285 If l_hdrpyd_csr%ISOPEN then
3286 close l_hdrpyd_csr;
3287 End If;
3288 If l_clepyd_csr%ISOPEN then
3289 close l_clepyd_csr;
3290 End If;
3291
3292 If l_product_options_csr%ISOPEN then
3293 close l_product_options_csr;
3294 End If;
3295
3296 --dbms_output.put_line('when others error');
3297 --dbms_output.put_line('Error '||SQLERRM);
3298 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
3299 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3300 (substr(l_api_name,1,26),
3301 G_PKG_NAME,
3302 'OTHERS',
3303 x_msg_count,
3304 x_msg_data,
3305 G_SCOPE);
3306 -- Resetting the global transaction id.
3307 okc_cvm_pvt.g_trans_id := 'XXX';
3308 END COPY_CONTRACT;
3309 --------------------------------------------------------------------------------
3310 -- Start of comments
3311 --
3312 -- Procedure Name : copy_contract_lines
3313 -- Description : copies contract lines for a shadowed contract. will be
3314 -- published in OKL_COPY_CONTRACTS_PUB
3315 -- Business Rules :
3316 -- Parameters :
3317 -- Version : 1.0
3318 -- Notes :
3319 -- End of comments
3320 --------------------------------------------------------------------------------
3321 Procedure copy_contract_lines(
3322 p_api_version IN NUMBER,
3323 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3324 x_return_status OUT NOCOPY VARCHAR2,
3325 x_msg_count OUT NOCOPY NUMBER,
3326 x_msg_data OUT NOCOPY VARCHAR2,
3327 p_from_cle_id IN NUMBER,
3328 p_to_cle_id IN NUMBER,
3329 p_to_chr_id IN NUMBER,
3330 p_to_template_yn IN VARCHAR2,
3331 p_copy_reference IN VARCHAR2,
3332 p_copy_line_party_yn IN VARCHAR2,
3333 p_renew_ref_yn IN VARCHAR2,
3334 x_cle_id OUT NOCOPY NUMBER) is
3335
3336 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3337 l_cle_id NUMBER := OKL_API.G_MISS_NUM;
3338 l_cle_id_out NUMBER := OKL_API.G_MISS_NUM;
3339 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_CONTRACT_LINES';
3340 l_api_version CONSTANT NUMBER := 1.0;
3341 l_clev_rec_out clev_rec_type;
3342 x_klev_rec_out klev_rec_type;
3343 l_old_chr_id OKC_K_HEADERS_V.ID%TYPE;
3344 CURSOR c_lines(p_from_cle_id NUMBER) IS
3345 SELECT level,
3346 id,
3347 chr_id,
3348 cle_id,
3349 dnz_chr_id,
3350 orig_system_id1
3351 FROM okc_k_lines_b
3352 CONNECT BY PRIOR id = cle_id
3353 START WITH id = p_from_cle_id;
3354 c_lines_rec c_lines%rowtype;
3355
3356 CURSOR old_chr_csr(p_cle_id OKC_K_LINES_V.ID%TYPE) IS
3357 SELECT cle.dnz_chr_id
3358 FROM okc_k_lines_v cle
3359 WHERE cle.id = p_cle_id;
3360
3361 -----------------------------------------------------------
3362 --Bug# 3143522 : Subsidies copy party payment details
3363 ----------------------------------------------------------
3364 cursor l_clepyd_csr (p_old_chr_id in number,
3365 p_new_chr_id in number,
3366 p_old_cle_id in number,
3367 p_new_cle_id in number
3368 ) is
3369 select pyd_old.id pyd_id,
3370 cpl_new.id cpl_id
3371 from okl_party_payment_dtls pyd_old,
3372 okc_k_party_roles_b cpl_old,
3373 okc_k_party_roles_b cpl_new
3374 where pyd_old.cpl_id = cpl_old.id
3375 and cpl_old.cle_id = p_old_cle_id
3376 and cpl_old.dnz_chr_id = p_old_chr_id
3377 and cpl_new.cle_id = p_new_cle_id
3378 and cpl_new.dnz_chr_id = p_new_chr_id
3379 and cpl_old.rle_code = cpl_new.rle_code
3380 and cpl_old.jtot_object1_code = cpl_new.jtot_object1_code
3381 and cpl_old.object1_id1 = cpl_new.object1_id1
3382 and cpl_old.object1_id2 = cpl_new.object1_id2;
3383
3384 l_pyd_id okl_party_payment_dtls.ID%TYPE;
3385 lx_pyd_id okl_party_payment_dtls.ID%TYPE;
3386 l_cpl_id okc_k_party_roles_b.ID%TYPE;
3387 -----------------------------------------------------------
3388 --Bug# 3143522 : Subsidies copy party payment details
3389 ----------------------------------------------------------
3390
3391 --furong 4350255, find out the hdr id for a cle id --
3392 CURSOR hdr_exist_csr (p_chr_id NUMBER, p_cle_id NUMBER) IS
3393 SELECT id
3394 FROM okl_party_payment_hdr
3395 WHERE dnz_chr_id = p_chr_id
3396 AND cle_id = p_cle_id;
3397
3398 l_old_hdr_id NUMBER;
3399 l_new_hdr_id NUMBER;
3400
3401 /* not used --
3402 CURSOR dtls_exist_csr (p_chr_id NUMBER, p_cle_id NUMBER) IS
3403 SELECT id
3404 FROM okl_party_payment_dtls
3405 WHERE payment_hdr_id IN
3406 (SELECT id
3407 FROM okl_party_payment_hdr
3408 WHERE dnz_chr_id = p_chr_id
3409 AND cle_id = p_cle_id);
3410
3411 --l_old_hdr_id NUMBER;
3412 --l_new_hdr_id NUMBER;
3413
3414 l_old_dtl_id NUMBER;
3415 l_new_dtl_id NUMBER;
3416 */
3417
3418 -- find out payment details, headers and vendors for a cle_id --
3419 cursor l_clepyd_pt_csr (p_old_chr_id in number,
3420 p_new_chr_id in number,
3421 p_old_cle_id in number,
3422 p_new_cle_id in number,
3423 p_hdr_id in number
3424 ) is
3425 select pyd_old.id pyd_id,
3426 pyd_old.payment_hdr_id,
3427 cpl_new.id cpl_id
3428 from okl_party_payment_dtls pyd_old,
3429 okc_k_party_roles_b cpl_old,
3430 okc_k_party_roles_b cpl_new,
3431 okl_party_payment_hdr hdr
3432 where pyd_old.cpl_id = cpl_old.id
3433 and cpl_old.cle_id = p_old_cle_id
3434 and cpl_old.dnz_chr_id = p_old_chr_id
3435 and cpl_new.cle_id = p_new_cle_id
3436 and cpl_new.dnz_chr_id = p_new_chr_id
3437 and cpl_old.rle_code = cpl_new.rle_code
3438 and cpl_old.jtot_object1_code = cpl_new.jtot_object1_code
3439 and cpl_old.object1_id1 = cpl_new.object1_id1
3440 and cpl_old.object1_id2 = cpl_new.object1_id2
3441 and hdr.id = pyd_old.payment_hdr_id
3442 and hdr.id = p_hdr_id;
3443
3444 l_pt_pyd_id okl_party_payment_dtls.ID%TYPE;
3445 lx_pt_pyd_id okl_party_payment_dtls.ID%TYPE;
3446 l_pt_cpl_id okc_k_party_roles_b.ID%TYPE;
3447 l_payment_hdr_id okl_party_payment_dtls.PAYMENT_HDR_ID%TYPE;
3448
3449 -- end furong 4350255
3450
3451 --Bug# 4899328
3452 l_new_chr_id okc_k_headers_b.id%type;
3453
3454 --Bug# 8677460
3455 CURSOR chr_csr(p_chr_id IN okc_k_headers_b.ID%TYPE) IS
3456 SELECT orig_system_source_code,
3457 orig_system_id1
3458 FROM okc_k_headers_b
3459 WHERE id = p_chr_id;
3460
3461 l_rbk_chr_orig_source_code okc_k_headers_b.ORIG_SYSTEM_SOURCE_CODE%TYPE;
3462 l_rbk_chr_orig_system_id1 okc_k_headers_b.ORIG_SYSTEM_ID1%TYPE;
3463 l_rebook_yn VARCHAR2(1);
3464 --Bug# 8677460
3465
3466 Begin
3467 ------
3468 -- call START_ACTIVITY to create savepoint, check compatibility
3469 -- and initialize message list
3470 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
3471 G_PKG_NAME,
3472 p_init_msg_list,
3473 G_API_VERSION,
3474 p_api_version,
3475 G_SCOPE,
3476 x_return_status);
3477 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3478 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3479 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3480 RAISE OKL_API.G_EXCEPTION_ERROR;
3481 END IF;
3482 --Call OKC_COPY_CONTRACT_PUB.copy_contract_lines
3483 OKC_COPY_CONTRACT_PUB.copy_contract_lines(p_api_version => P_api_version,
3484 p_init_msg_list => p_init_msg_list,
3485 x_return_status => l_return_status,
3486 x_msg_count => x_msg_count,
3487 x_msg_data => x_msg_data,
3488 p_from_cle_id => p_from_cle_id,
3489 p_to_cle_id => p_to_cle_id,
3490 p_to_chr_id => p_to_chr_id,
3491 p_to_template_yn => p_to_template_yn,
3492 p_copy_reference => p_copy_reference,
3493 p_copy_line_party_yn => p_copy_line_party_yn,
3494 p_renew_ref_yn => p_renew_ref_yn,
3495 x_cle_id => x_cle_id);
3496
3497 -- check return status
3498 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3499 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3500 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3501 raise OKL_API.G_EXCEPTION_ERROR;
3502 End If;
3503
3504 -- Get Old Chr id from New Chr id
3505 OPEN old_chr_csr(p_from_cle_id);
3506 FETCH old_chr_csr INTO l_old_chr_id;
3507 IF old_chr_csr%NOTFOUND THEN
3508 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3509 END IF;
3510 CLOSE old_chr_csr;
3511
3512 --Bug# 4899328
3513 -- p_to_chr_id will be null when copying only sub-lines
3514 -- so fetch new chr_id from p_to_cle_id
3515 l_new_chr_id := p_to_chr_id;
3516 IF l_new_chr_id IS NULL AND p_to_cle_id IS NOT NULL THEN
3517 OPEN old_chr_csr(p_to_cle_id);
3518 FETCH old_chr_csr INTO l_new_chr_id;
3519 IF old_chr_csr%NOTFOUND THEN
3520 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3521 END IF;
3522 CLOSE old_chr_csr;
3523 END IF;
3524 --Bug# 4899328
3525
3526 --Bug# 8677460
3527 l_rebook_yn := 'N';
3528
3529 OPEN chr_csr(p_chr_id => l_old_chr_id);
3530 FETCH chr_csr INTO l_rbk_chr_orig_source_code, l_rbk_chr_orig_system_id1;
3531 CLOSE chr_csr;
3532
3533 IF ( NVL(l_rbk_chr_orig_source_code,OKL_API.G_MISS_CHAR) = 'OKL_REBOOK' AND
3534 NVL(l_rbk_chr_orig_system_id1,OKL_API.G_MISS_NUM) = l_new_chr_id ) THEN
3535 l_rebook_yn := 'Y';
3536 END IF;
3537 --Bug# 8677460
3538
3539 --catch up the shadow
3540 Open c_lines(x_cle_id);
3541 Loop
3542 Fetch c_lines into c_lines_rec;
3543 Exit when c_lines%NotFound;
3544
3545 --Catch up shadow for contract line
3546 Catchup_okl_contract_line(
3547 p_api_version => p_api_version,
3548 p_init_msg_list => p_init_msg_list,
3549 x_return_status => l_return_status,
3550 x_msg_count => x_msg_count,
3551 x_msg_data => x_msg_data,
3552 p_clev_id => c_lines_rec.orig_system_id1,
3553 p_klev_id => c_lines_rec.id,
3554 x_clev_rec => l_clev_rec_out,
3555 x_klev_rec => x_klev_rec_out,
3556 p_rebook_yn => l_rebook_yn
3557 );
3558
3559 -- check return status
3560 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3561 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3562 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3563 raise OKL_API.G_EXCEPTION_ERROR;
3564 End If;
3565 --------------------------------------------------------------------------------
3566 --bug# 3143522 : fixed as part of this -payments can be at subline level
3567 --------------------------------------------------------------------------------
3568 link_slh_sll(
3569 x_return_status => l_return_status,
3570 x_msg_count => x_msg_count,
3571 x_msg_data => x_msg_data,
3572 p_old_chr_id => l_old_chr_id,
3573 --p_new_cle_id => x_cle_id, -- Bug 2376998
3574 p_new_cle_id => c_lines_rec.id, -- Bug 2376998
3575 p_new_chr_id => l_new_chr_id --Bug# 4899328
3576 );
3577 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3578 RAISE OKL_API.G_EXCEPTION_ERROR;
3579 END IF;
3580 --------------------------------------------------------------------------------------
3581 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3582 --------------------------------------------------------------------------------------
3583
3584 --furong 4350255 copy each payment hdr for this cle id
3585 --return new hdr id for details copy
3586 --if non-passthru, do the old logic --
3587 l_old_hdr_id := null;
3588 OPEN hdr_exist_csr (p_chr_id => l_old_chr_id,
3589 p_cle_id => c_lines_rec.orig_system_id1);
3590 LOOP
3591 FETCH hdr_exist_csr INTO l_old_hdr_id;
3592 EXIT WHEN hdr_exist_csr%NOTFOUND;
3593 -- For the passthru, do the following copy
3594 copy_party_pymt_hdr
3595 (p_api_version => p_api_version,
3596 p_init_msg_list => p_init_msg_list,
3597 x_return_status => x_return_status,
3598 x_msg_count => x_msg_count,
3599 x_msg_data => x_msg_data,
3600 p_chr_id => c_lines_rec.dnz_chr_id,
3601 p_cle_id => c_lines_rec.id,
3602 p_pph_id => l_old_hdr_id,
3603 x_pph_id => l_new_hdr_id);
3604
3605 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3606 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3607 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3608 RAISE OKL_API.G_EXCEPTION_ERROR;
3609 END IF;
3610
3611 --Check dtls exists for this hdr, if yes, do the copy --
3612 OPEN l_clepyd_pt_csr (p_new_chr_id => c_lines_rec.dnz_chr_id,
3613 p_old_chr_id => l_old_chr_id,
3614 p_new_cle_id => c_lines_rec.id,
3615 p_old_cle_id => c_lines_rec.orig_system_id1,
3616 p_hdr_id => l_old_hdr_id);
3617 LOOP
3618 FETCH l_clepyd_pt_csr INTO l_pt_pyd_id,l_payment_hdr_id,l_pt_cpl_id;
3619 EXIT WHEN l_clepyd_pt_csr%NOTFOUND;
3620
3621 IF (l_pt_pyd_id IS NOT NULL) THEN
3622 copy_party_pymt_dtls
3623 (p_api_version => p_api_version,
3624 p_init_msg_list => p_init_msg_list,
3625 x_return_status => x_return_status,
3626 x_msg_count => x_msg_count,
3627 x_msg_data => x_msg_data,
3628 p_pyd_id => l_pt_pyd_id,
3629 p_cpl_id => l_pt_cpl_id,
3630 p_pph_id => l_new_hdr_id,
3631 x_pyd_id => lx_pt_pyd_id,
3632 --Bug# 8677460
3633 p_rebook_yn => l_rebook_yn);
3634
3635 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3636 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3637 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3638 RAISE OKL_API.G_EXCEPTION_ERROR;
3639 END IF;
3640
3641 END IF; --l_pt_pyd_id IS NOT NULL ...--
3642
3643 END LOOP;
3644 CLOSE l_clepyd_pt_csr;
3645
3646 END LOOP;
3647 CLOSE hdr_exist_csr;
3648
3649 -- For those non-passthru cases, do the following copy --
3650 IF (l_old_hdr_id IS NULL) THEN
3651 open l_clepyd_csr (p_new_chr_id => c_lines_rec.dnz_chr_id,
3652 p_old_chr_id => l_old_chr_id,
3653 p_new_cle_id => c_lines_rec.id,
3654 p_old_cle_id => c_lines_rec.orig_system_id1);
3655
3656 loop
3657 fetch l_clepyd_csr into l_pyd_id, l_cpl_id;
3658 Exit when l_clepyd_csr%NOTFOUND;
3659 -------------------------------------------------
3660 --call local api to copy party payment details
3661 -------------------------------------------------
3662
3663 copy_party_pymt_dtls
3664 (p_api_version => p_api_version,
3665 p_init_msg_list => p_init_msg_list,
3666 x_return_status => x_return_status,
3667 x_msg_count => x_msg_count,
3668 x_msg_data => x_msg_data,
3669 p_pyd_id => l_pyd_id,
3670 p_cpl_id => l_cpl_id,
3671 x_pyd_id => lx_pyd_id);
3672
3673 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3674 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3675 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3676 RAISE OKL_API.G_EXCEPTION_ERROR;
3677 END IF;
3678
3679 End Loop;
3680 Close l_clepyd_csr;
3681 END IF; -- if l_old_hdr_id IS NULL
3682
3683 --furong 4350255 end copy hdr and(or) details --
3684 --------------------------------------------------------------------------------------
3685 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3686 --------------------------------------------------------------------------------------
3687
3688 End Loop;
3689 Close c_lines;
3690
3691 --
3692 -- Special Process for LALEVL (SLH, SLL) rules
3693 --
3694
3695
3696 /*---------Commented as this code has been moved up to run for all sub-lines too
3697 -- Get Old Chr id from New Chr id
3698 --OPEN old_chr_csr(p_from_cle_id);
3699 --FETCH old_chr_csr INTO l_old_chr_id;
3700 --IF old_chr_csr%NOTFOUND THEN
3701 --RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3702 --END IF;
3703 --CLOSE old_chr_csr;
3704
3705 --link_slh_sll(
3706 --x_return_status => l_return_status,
3707 --x_msg_count => x_msg_count,
3708 --x_msg_data => x_msg_data,
3709 --p_old_chr_id => l_old_chr_id,
3710 --p_new_cle_id => x_cle_id, -- Bug 2376998
3711 --p_new_chr_id => p_to_chr_id
3712 --);
3713
3714
3715 --IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3716 --RAISE OKL_API.G_EXCEPTION_ERROR;
3717 --END IF;
3718
3719 ---------Commented as this code has been moved up to run for all sub-lines too-----*/
3720
3721 --Call End Activity
3722 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3723 EXCEPTION
3724
3725 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3726 If l_clepyd_csr%ISOPEN then
3727 close l_clepyd_csr;
3728 End If;
3729 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3730 (substr(l_api_name,1,26),
3731 G_PKG_NAME,
3732 'OKL_API.G_RET_STS_ERROR',
3733 x_msg_count,
3734 x_msg_data,
3735 G_SCOPE);
3736 -- Resetting the global transaction id.
3737 okc_cvm_pvt.g_trans_id := 'XXX';
3738 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3739 If l_clepyd_csr%ISOPEN then
3740 close l_clepyd_csr;
3741 End If;
3742
3743 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3744 (substr(l_api_name,1,26),
3745 G_PKG_NAME,
3746 'OKL_API.G_RET_STS_UNEXP_ERROR',
3747 x_msg_count,
3748 x_msg_data,
3749 G_SCOPE);
3750 -- Resetting the global transaction id.
3751 okc_cvm_pvt.g_trans_id := 'XXX';
3752 WHEN OTHERS THEN
3753 If l_clepyd_csr%ISOPEN then
3754 close l_clepyd_csr;
3755 End If;
3756
3757 -- store SQL error message on message stack for caller
3758 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
3759 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3760 (substr(l_api_name,1,26),
3761 G_PKG_NAME,
3762 'OTHERS',
3763 x_msg_count,
3764 x_msg_data,
3765 G_SCOPE);
3766 -- Resetting the global transaction id.
3767 okc_cvm_pvt.g_trans_id := 'XXX';
3768 End Copy_Contract_Lines;
3769
3770 --------------------------------------------------------------------------------
3771 -- Start of comments
3772 --
3773 -- Procedure Name : copy_rules
3774 -- Description : copies contract lines for a shadowed contract. will be
3775 -- published in OKL_COPY_CONTRACTS_PUB
3776 -- Business Rules :
3777 -- Parameters :
3778 -- Version : 1.0
3779 -- Notes :
3780 -- End of comments
3781 --------------------------------------------------------------------------------
3782 PROCEDURE copy_rules(
3783 p_api_version IN NUMBER,
3784 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3785 x_return_status OUT NOCOPY VARCHAR2,
3786 x_msg_count OUT NOCOPY NUMBER,
3787 x_msg_data OUT NOCOPY VARCHAR2,
3788 p_rgp_id IN NUMBER,
3789 p_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3790 p_chr_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3791 p_to_template_yn IN VARCHAR2,
3792 x_rgp_id OUT NOCOPY NUMBER) is
3793 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3794 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_RULES';
3795 l_api_version CONSTANT NUMBER := 1.0;
3796 begin
3797 -----
3798 -- call START_ACTIVITY to create savepoint, check compatibility
3799 -- and initialize message list
3800 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
3801 G_PKG_NAME,
3802 p_init_msg_list,
3803 G_API_VERSION,
3804 p_api_version,
3805 G_SCOPE,
3806 x_return_status);
3807 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3808 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3809 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3810 RAISE OKL_API.G_EXCEPTION_ERROR;
3811 END IF;
3812 --call OKC_COPY_CONTRACT_PUB.copy_rules
3813 OKC_COPY_CONTRACT_PUB.copy_rules(
3814 p_api_version => p_api_version,
3815 p_init_msg_list => p_init_msg_list,
3816 x_return_status => x_return_status,
3817 x_msg_count => x_msg_count,
3818 x_msg_data => x_msg_data,
3819 p_rgp_id => p_rgp_id,
3820 p_cle_id => p_cle_id,
3821 p_chr_id => p_chr_id,
3822 p_to_template_yn => p_to_template_yn,
3823 x_rgp_id => x_rgp_id
3824 );
3825 -- check return status
3826 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3827 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3828 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3829 raise OKL_API.G_EXCEPTION_ERROR;
3830 End If;
3831 --Call End Activity
3832 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3833 EXCEPTION
3834 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3835 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3836 (substr(l_api_name,1,26),
3837 G_PKG_NAME,
3838 'OKL_API.G_RET_STS_ERROR',
3839 x_msg_count,
3840 x_msg_data,
3841 G_SCOPE);
3842 -- Resetting the global transaction id.
3843 okc_cvm_pvt.g_trans_id := 'XXX';
3844 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3845 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3846 (substr(l_api_name,1,26),
3847 G_PKG_NAME,
3848 'OKL_API.G_RET_STS_UNEXP_ERROR',
3849 x_msg_count,
3850 x_msg_data,
3851 G_SCOPE);
3852 -- Resetting the global transaction id.
3853 okc_cvm_pvt.g_trans_id := 'XXX';
3854 WHEN OTHERS THEN
3855 -- store SQL error message on message stack for caller
3856 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
3857 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3858 (substr(l_api_name,1,26),
3859 G_PKG_NAME,
3860 'OTHERS',
3861 x_msg_count,
3862 x_msg_data,
3863 G_SCOPE);
3864 -- Resetting the global transaction id.
3865 okc_cvm_pvt.g_trans_id := 'XXX';
3866 end copy_rules;
3867 ----
3868 --------------------------------------------------------------------------------
3869 -- Start of comments
3870 --
3871 -- Procedure Name : copy_party_roles
3872 -- Description : copies party_roles for a shadowed contract. will be
3873 -- published in OKL_COPY_CONTRACTS_PUB
3874 -- Business Rules :
3875 -- Parameters :
3876 -- Version : 1.0
3877 -- Notes :
3878 -- End of comments
3879 --------------------------------------------------------------------------------
3880
3881 PROCEDURE copy_party_roles(
3882 p_api_version IN NUMBER,
3883 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3884 x_return_status OUT NOCOPY VARCHAR2,
3885 x_msg_count OUT NOCOPY NUMBER,
3886 x_msg_data OUT NOCOPY VARCHAR2,
3887 p_cpl_id IN NUMBER,
3888 p_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3889 p_chr_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3890 P_rle_code IN VARCHAR2,
3891 x_cpl_id OUT NOCOPY NUMBER) IS
3892
3893 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_PARTY_ROLES';
3894 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3895
3896 -------------------------------------------------------
3897 --Bug# 3143522 : 11.5.10 Subsidies - copy of OKL shadow
3898 -------------------------------------------------------
3899 --cursor to find whether party payment details exist for party being copied
3900 Cursor l_pyd_csr (p_cpl_id in number) is
3901 Select pyd.id
3902 from okl_party_payment_dtls pyd
3903 where pyd.cpl_id = p_cpl_id;
3904
3905 l_pyd_id okl_party_payment_dtls.ID%TYPE;
3906 lx_pyd_id okl_party_payment_dtls.ID%TYPE;
3907
3908 -------------------------------------------------------
3909 --Bug# 3143522 : 11.5.10 Subsidies - copy of OKL shadow
3910 -------------------------------------------------------
3911
3912 --Bug# 4558486
3913 Cursor l_kpl_csr (p_cpl_id in number) is
3914 Select kpl.id
3915 from okl_k_party_roles kpl
3916 where kpl.id = p_cpl_id;
3917
3918 lx_kpl_id okl_k_party_roles.ID%TYPE;
3919
3920 BEGIN
3921 l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
3922 G_PKG_NAME,
3923 p_init_msg_list,
3924 G_API_VERSION,
3925 p_api_version,
3926 G_SCOPE,
3927 x_return_status);
3928 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3929 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3930 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3931 RAISE OKL_API.G_EXCEPTION_ERROR;
3932 END IF;
3933
3934 OKC_COPY_CONTRACT_PUB.copy_party_roles(
3935 p_api_version => p_api_version,
3936 p_init_msg_list => p_init_msg_list,
3937 x_return_status => x_return_status,
3938 x_msg_count => x_msg_count,
3939 x_msg_data => x_msg_data,
3940 p_cpl_id => p_cpl_id,
3941 p_cle_id => p_cle_id,
3942 p_chr_id => p_chr_id,
3943 p_rle_code => p_rle_code,
3944 x_cpl_id => x_cpl_id);
3945
3946 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3947 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3948 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3949 RAISE OKL_API.G_EXCEPTION_ERROR;
3950 END IF;
3951
3952 -------------------------------------------------------
3953 --Bug# 3143522 : 11.5.10 Subsidies - copy of OKL shadow
3954 -------------------------------------------------------
3955 Open l_pyd_csr (p_cpl_id => p_cpl_id);
3956 Loop
3957 Fetch l_pyd_csr into l_pyd_id;
3958 Exit when l_pyd_csr%NOTFOUND;
3959
3960 -------------------------------------------------
3961 --call local api to copy party payment details
3962 -------------------------------------------------
3963 copy_party_pymt_dtls
3964 (p_api_version => p_api_version,
3965 p_init_msg_list => p_init_msg_list,
3966 x_return_status => x_return_status,
3967 x_msg_count => x_msg_count,
3968 x_msg_data => x_msg_data,
3969 p_pyd_id => l_pyd_id,
3970 p_cpl_id => x_cpl_id,
3971 x_pyd_id => lx_pyd_id);
3972
3973
3974
3975 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3976 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3977 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3978 RAISE OKL_API.G_EXCEPTION_ERROR;
3979 END IF;
3980 End Loop;
3981 Close l_pyd_csr;
3982
3983 --Bug# 4558486
3984 For l_kpl_rec in l_kpl_csr(p_cpl_id => p_cpl_id)
3985 Loop
3986 copy_okl_k_party_roles
3987 (p_api_version => p_api_version,
3988 p_init_msg_list => p_init_msg_list,
3989 x_return_status => x_return_status,
3990 x_msg_count => x_msg_count,
3991 x_msg_data => x_msg_data,
3992 p_kpl_id => l_kpl_rec.id,
3993 p_cpl_id => x_cpl_id,
3994 x_kpl_id => lx_kpl_id);
3995
3996 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3997 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3998 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3999 RAISE OKL_API.G_EXCEPTION_ERROR;
4000 END IF;
4001 End Loop;
4002 --Bug# 4558486
4003
4004 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4005
4006 EXCEPTION
4007 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4008 If l_pyd_csr%ISOPEN then
4009 close l_pyd_csr;
4010 End If;
4011 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4012 (substr(l_api_name,1,26),
4013 G_PKG_NAME,
4014 'OKL_API.G_RET_STS_ERROR',
4015 x_msg_count,
4016 x_msg_data,
4017 G_SCOPE);
4018 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4019 If l_pyd_csr%ISOPEN then
4020 close l_pyd_csr;
4021 End If;
4022 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4023 (substr(l_api_name,1,26),
4024 G_PKG_NAME,
4025 'OKL_API.G_RET_STS_UNEXP_ERROR',
4026 x_msg_count,
4027 x_msg_data,
4028 G_SCOPE);
4029 WHEN OTHERS THEN
4030 If l_pyd_csr%ISOPEN then
4031 close l_pyd_csr;
4032 End If;
4033 -- store SQL error message on message stack for caller
4034 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4035 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4036 (substr(l_api_name,1,26),
4037 G_PKG_NAME,
4038 'OTHERS',
4039 x_msg_count,
4040 x_msg_data,
4041 G_SCOPE);
4042
4043 END copy_party_roles;
4044 --------------------------------------------------------------------------------
4045 -- Start of comments
4046 --
4047 -- Procedure Name : copy_articles
4048 -- Description : copies articles for a shadowed contract. will be
4049 -- published in OKL_COPY_CONTRACTS_PUB
4050 -- Business Rules :
4051 -- Parameters :
4052 -- Version : 1.0
4053 -- Notes :
4054 -- End of comments
4055 --------------------------------------------------------------------------------
4056 PROCEDURE copy_articles(
4057 p_api_version IN NUMBER,
4058 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4059 x_return_status OUT NOCOPY VARCHAR2,
4060 x_msg_count OUT NOCOPY NUMBER,
4061 x_msg_data OUT NOCOPY VARCHAR2,
4062 p_cat_id IN NUMBER,
4063 p_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
4064 p_chr_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
4065 p_sav_sav_release IN VARCHAR2 DEFAULT NULL,
4066 x_cat_id OUT NOCOPY NUMBER) IS
4067
4068
4069 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_ARTICLES';
4070 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4071 BEGIN
4072 l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
4073 G_PKG_NAME,
4074 p_init_msg_list,
4075 G_API_VERSION,
4076 p_api_version,
4077 G_SCOPE,
4078 x_return_status);
4079 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4080 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4081 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4082 RAISE OKL_API.G_EXCEPTION_ERROR;
4083 END IF;
4084
4085 OKC_COPY_CONTRACT_PUB.copy_articles(
4086 p_api_version => p_api_version,
4087 p_init_msg_list => p_init_msg_list,
4088 x_return_status => x_return_status,
4089 x_msg_count => x_msg_count,
4090 x_msg_data => x_msg_data,
4091 p_cat_id => p_cat_id,
4092 p_cle_id => p_cle_id,
4093 p_chr_id => p_chr_id,
4094 p_sav_sav_release => p_sav_sav_release,
4095 x_cat_id => x_cat_id);
4096
4097 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4098 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4099 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4100 RAISE OKL_API.G_EXCEPTION_ERROR;
4101 END IF;
4102
4103 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4104
4105 EXCEPTION
4106 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4107 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4108 (substr(l_api_name,1,26),
4109 G_PKG_NAME,
4110 'OKL_API.G_RET_STS_ERROR',
4111 x_msg_count,
4112 x_msg_data,
4113 G_SCOPE);
4114 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4115 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4116 (substr(l_api_name,1,26),
4117 G_PKG_NAME,
4118 'OKL_API.G_RET_STS_UNEXP_ERROR',
4119 x_msg_count,
4120 x_msg_data,
4121 G_SCOPE);
4122 WHEN OTHERS THEN
4123 -- store SQL error message on message stack for caller
4124 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4125 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4126 (substr(l_api_name,1,26),
4127 G_PKG_NAME,
4128 'OTHERS',
4129 x_msg_count,
4130 x_msg_data,
4131 G_SCOPE);
4132
4133 END copy_articles;
4134 --------------------------------------------------------------------------------
4135 -- Start of comments
4136 --
4137 -- Procedure Name : copy_latest_articles
4138 -- Description : copies latest articles for a shadowed contract. will be
4139 -- published in OKL_COPY_CONTRACTS_PUB
4140 -- Business Rules :
4141 -- Parameters :
4142 -- Version : 1.0
4143 -- Notes :
4144 -- End of comments
4145 --------------------------------------------------------------------------------
4146 PROCEDURE copy_latest_articles(
4147 p_api_version IN NUMBER,
4148 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4149 x_return_status OUT NOCOPY VARCHAR2,
4150 x_msg_count OUT NOCOPY NUMBER,
4151 x_msg_data OUT NOCOPY VARCHAR2,
4152 p_cat_id IN NUMBER,
4153 p_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
4154 p_chr_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
4155 x_cat_id OUT NOCOPY NUMBER) IS
4156
4157
4158 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_LATEST_ARTICLES';
4159 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4160 BEGIN
4161 l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
4162 G_PKG_NAME,
4163 p_init_msg_list,
4164 G_API_VERSION,
4165 p_api_version,
4166 G_SCOPE,
4167 x_return_status);
4168 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4169 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4170 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4171 RAISE OKL_API.G_EXCEPTION_ERROR;
4172 END IF;
4173
4174 OKC_COPY_CONTRACT_PUB.copy_latest_articles(
4175 p_api_version => p_api_version,
4176 p_init_msg_list => p_init_msg_list,
4177 x_return_status => x_return_status,
4178 x_msg_count => x_msg_count,
4179 x_msg_data => x_msg_data,
4180 p_cat_id => p_cat_id,
4181 p_cle_id => p_cle_id,
4182 p_chr_id => p_chr_id,
4183 x_cat_id => x_cat_id);
4184
4185 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4186 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4187 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4188 RAISE OKL_API.G_EXCEPTION_ERROR;
4189 END IF;
4190
4191 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4192
4193 EXCEPTION
4194 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4195 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4196 (substr(l_api_name,1,26),
4197 G_PKG_NAME,
4198 'OKL_API.G_RET_STS_ERROR',
4199 x_msg_count,
4200 x_msg_data,
4201 G_SCOPE);
4202 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4203 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4204 (substr(l_api_name,1,26),
4205 G_PKG_NAME,
4206 'OKL_API.G_RET_STS_UNEXP_ERROR',
4207 x_msg_count,
4208 x_msg_data,
4209 G_SCOPE);
4210 WHEN OTHERS THEN
4211 -- store SQL error message on message stack for caller
4212 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4213 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4214 (substr(l_api_name,1,26),
4215 G_PKG_NAME,
4216 'OTHERS',
4217 x_msg_count,
4218 x_msg_data,
4219 G_SCOPE);
4220 END copy_latest_articles;
4221 --------------------------------------------------------------------------
4222 --Start of Comments
4223 --Bug # 2337570 - TEMPLATE COPY DOES NOT DEFAULT ALL FIELDS ON HEADER
4224 --Procedure Name : Copy_Governances
4225 --Description : Makes a copy of the okc_governances.
4226 -- Local Procedure in OKC_COPY_CONTRACT_PVT - repeated here as governances
4227 -- need to be copied in case of lease contracts. In core contracts
4228 -- governances are copied only if renew reference flag is set to 'Yes'
4229 --------------------------------------------------------------------------
4230 PROCEDURE copy_governances(
4231 p_api_version IN NUMBER,
4232 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4233 x_return_status OUT NOCOPY VARCHAR2,
4234 x_msg_count OUT NOCOPY NUMBER,
4235 x_msg_data OUT NOCOPY VARCHAR2,
4236 p_from_chr_id IN NUMBER,
4237 p_to_chr_id IN NUMBER) IS
4238
4239 l_gvev_rec OKC_CONTRACT_PUB.gvev_rec_type;
4240 x_gvev_rec OKC_CONTRACT_PUB.gvev_rec_type;
4241 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4242
4243 CURSOR c_governances IS
4244 SELECT id
4245 FROM okc_governances_v
4246 WHERE dnz_chr_id = p_from_chr_id
4247 AND cle_id is null;
4248
4249 ----------------------------------------------------------------------------
4250 --Function to populate the contract governance record to be copied.
4251 ----------------------------------------------------------------------------
4252 FUNCTION get_gvev_rec(p_gve_id IN NUMBER,
4253 x_gvev_rec OUT NOCOPY OKC_CONTRACT_PUB.gvev_rec_type)
4254 RETURN VARCHAR2 IS
4255 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4256 l_no_data_found BOOLEAN := TRUE;
4257
4258 CURSOR c_gvev_rec IS
4259 SELECT
4260 DNZ_CHR_ID,
4261 ISA_AGREEMENT_ID,
4262 CHR_ID,
4263 CLE_ID,
4264 CHR_ID_REFERRED,
4265 CLE_ID_REFERRED,
4266 COPIED_ONLY_YN
4267 FROM OKC_GOVERNANCES
4268 WHERE ID = p_gve_id;
4269 BEGIN
4270 OPEN c_gvev_rec;
4271 FETCH c_gvev_rec
4272 INTO x_gvev_rec.DNZ_CHR_ID,
4273 x_gvev_rec.ISA_AGREEMENT_ID,
4274 x_gvev_rec.CHR_ID,
4275 x_gvev_rec.CLE_ID,
4276 x_gvev_rec.CHR_ID_REFERRED,
4277 x_gvev_rec.CLE_ID_REFERRED,
4278 x_gvev_rec.COPIED_ONLY_YN;
4279
4280 l_no_data_found := c_gvev_rec%NOTFOUND;
4281 CLOSE c_gvev_rec;
4282 IF l_no_data_found THEN
4283 l_return_status := OKC_API.G_RET_STS_ERROR;
4284 return(l_return_status);
4285 ELSE
4286 return(l_return_status);
4287 END IF;
4288 EXCEPTION
4289 WHEN OTHERS THEN
4290 -- store SQL error message on message stack for caller
4291 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4292 -- notify caller of an UNEXPECTED error
4293 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4294 return(l_return_status);
4295
4296 END get_gvev_rec;
4297 BEGIN
4298 x_return_status := l_return_status;
4299 FOR l_c_governances IN c_governances LOOP
4300 l_return_status := get_gvev_rec( p_gve_id => l_c_governances.id,
4301 x_gvev_rec => l_gvev_rec);
4302 l_gvev_rec.chr_id := p_to_chr_id;
4303 l_gvev_rec.dnz_chr_id := p_to_chr_id;
4304
4305 OKC_CONTRACT_PUB.create_governance(
4306 p_api_version => p_api_version,
4307 p_init_msg_list => p_init_msg_list,
4308 x_return_status => l_return_status,
4309 x_msg_count => x_msg_count,
4310 x_msg_data => x_msg_data,
4311 p_gvev_rec => l_gvev_rec,
4312 x_gvev_rec => x_gvev_rec);
4313
4314 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4315 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4316 x_return_status := l_return_status;
4317 RAISE G_EXCEPTION_HALT_VALIDATION;
4318 ELSE
4319 x_return_status := l_return_status;
4320 END IF;
4321 END IF;
4322 END LOOP;
4323
4324 EXCEPTION
4325 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4326 NULL;
4327 WHEN OTHERS THEN
4328 -- store SQL error message on message stack for caller
4329 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4330 -- notify caller of an UNEXPECTED error
4331 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4332
4333 END copy_governances;
4334
4335 --------------------------------------------------------------------------------
4336 --Start of Comments
4337 --Procedure Name : link_cov_Asst
4338 --Description : Links covered assets/usage contract after copy
4339 --Notes : Usage soueces are blanked out
4340 -- for covered asset if a single copied fin asset line with
4341 -- matching source is found in the new contract covered item is
4342 -- made to piont to this line otherwise it is blanked (Null)
4343 -- to added Syndication 'OKX_LEASE' also
4344 -- This will also be pushed into Copy_Asset_Lines
4345 --------------------------------------------------------------------------------
4346 Procedure link_cov_asst( p_api_version IN NUMBER,
4347 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4348 x_return_status OUT NOCOPY VARCHAR2,
4349 x_msg_count OUT NOCOPY NUMBER,
4350 x_msg_data OUT NOCOPY VARCHAR2,
4351 p_orig_lnk_cle_id IN NUMBER,
4352 p_new_lnk_cim_id IN NUMBER,
4353 p_object_code IN VARCHAR2,
4354 p_new_chr_id IN NUMBER) is
4355
4356 --cursor to fetch original fin linked asset line id
4357 CURSOR l_orig_ast_csr(p_orig_lnk_cle_id IN NUMBER,
4358 p_new_chr_id IN NUMBER) IS
4359 SELECT new_cle.id
4360 FROM OKC_K_LINES_B new_cle,
4361 OKC_K_ITEMS orig_lnk_cim
4362 WHERE new_cle.ORIG_SYSTEM_ID1 = to_number(orig_lnk_cim.object1_id1)
4363 AND new_cle.chr_id = p_new_chr_id
4364 AND orig_lnk_cim.cle_id = p_orig_lnk_cle_id
4365 AND not exists (select null
4366 from OKC_K_LINES_B another_cle
4367 where another_cle.orig_system_id1 = new_cle.orig_system_id1
4368 and another_cle.lse_id = new_cle.lse_id
4369 and another_cle.chr_id = new_cle.chr_id
4370 and another_cle.id <> new_cle.id);
4371
4372 l_new_cle_id OKC_K_LINES_B.ID%TYPE;
4373
4374
4375 l_new_lnk_cim_id NUMBER;
4376
4377 l_cimv_rec OKL_OKC_MIGRATION_PVT.cimv_rec_type;
4378 lx_cimv_rec OKL_OKC_MIGRATION_PVT.cimv_rec_type;
4379
4380 Begin
4381 x_return_status := OKL_API.G_RET_STS_SUCCESS;
4382 l_new_lnk_cim_id := p_new_lnk_cim_id;
4383
4384 If p_object_code in ('OKL_USAGE','OKX_LEASE') then --for covered usage contract and syndicated contract
4385
4386 l_cimv_rec.id := l_new_lnk_cim_id;
4387 l_cimv_rec.object1_id1 := OKL_API.G_MISS_CHAR;
4388 l_cimv_rec.object1_id2 := OKL_API.G_MISS_CHAR;
4389 l_cimv_rec.jtot_object1_code := OKL_API.G_MISS_CHAR;
4390
4391 Else --for covered asset
4392
4393 Open l_orig_ast_csr(p_orig_lnk_cle_id => p_orig_lnk_cle_id,
4394 p_new_chr_id => p_new_chr_id);
4395 Fetch l_orig_ast_csr into l_new_cle_id;
4396 IF l_orig_ast_csr%NOTFOUND Then
4397 --null out the new link
4398 l_cimv_rec.id := l_new_lnk_cim_id;
4399 l_cimv_rec.object1_id1 := OKL_API.G_MISS_CHAR;
4400 l_cimv_rec.object1_id2 := OKL_API.G_MISS_CHAR;
4401 l_cimv_rec.jtot_object1_code := OKL_API.G_MISS_CHAR;
4402 ELSE
4403 --update the new link with new asset
4404 l_cimv_rec.id := l_new_lnk_cim_id;
4405 l_cimv_rec.object1_id1 := to_char(l_new_cle_id);
4406 END IF;
4407 Close l_orig_ast_csr;
4408
4409 End If;
4410
4411 --update link contract item accordingly
4412 okl_okc_migration_pvt.update_contract_item(
4413 p_api_version => p_api_version,
4414 p_init_msg_list => p_init_msg_list,
4415 x_return_status => x_return_status,
4416 x_msg_count => x_msg_count,
4417 x_msg_data => x_msg_data,
4418 p_cimv_rec => l_cimv_rec,
4419 x_cimv_rec => lx_cimv_rec);
4420
4421 Exception
4422 When Others then
4423 If l_orig_ast_csr%ISOPEN Then
4424 Close l_orig_ast_csr;
4425 End If;
4426 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4427
4428 End link_cov_asst;
4429 --------------------------------------------------------------------------------
4430 -- Start of comments
4431 -- Bug# 2555692
4432 -- Procedure Name : reset_contract_status
4433 -- Description : Local procedure will be called from copy_lease_contract to
4434 -- update the copied contracts status to a 'NEW' status. OKC
4435 -- APIs by default set the status of a new contract to 'ENTERED'
4436 -- Business Rules :
4437 -- Parameters :
4438 -- Version : 1.0
4439 -- Notes :
4440 -- End of comments
4441 --------------------------------------------------------------------------------
4442 Procedure reset_contract_status
4443 (p_api_version IN NUMBER,
4444 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4445 x_return_status OUT NOCOPY VARCHAR2,
4446 x_msg_count OUT NOCOPY NUMBER,
4447 x_msg_data OUT NOCOPY VARCHAR2,
4448 p_chr_id IN NUMBER,
4449 p_status IN VARCHAR2,
4450 p_cascade_lines IN VARCHAR2) IS
4451 BEGIN
4452 x_return_status := OKL_API.G_RET_STS_SUCCESS;
4453 -- Now call the stored program to update status of contact
4454 okl_contract_status_pub.update_contract_status
4455 (p_api_version => p_api_version,
4456 p_init_msg_list => p_init_msg_list,
4457 x_return_status => x_return_status,
4458 x_msg_count => x_msg_count,
4459 x_msg_data => x_msg_data,
4460 p_khr_status => p_status,
4461 p_chr_id => p_chr_id);
4462
4463 If (x_return_status <> OKL_API.G_RET_STS_SUCCESS) Then
4464 Raise G_EXCEPTION_HALT_PROCESS;
4465 End If;
4466
4467
4468 /*
4469 If nvl(p_cascade_lines,'N') = 'Y' Then
4470 okl_contract_status_pub.cascade_lease_status
4471 (p_api_version => p_api_version,
4472 p_init_msg_list => p_init_msg_list,
4473 x_return_status => x_return_status,
4474 x_msg_count => x_msg_count,
4475 x_msg_data => x_msg_data,
4476 p_chr_id => p_chr_id);
4477 End If;
4478 */
4479
4480 If (x_return_status <> OKL_API.G_RET_STS_SUCCESS) Then
4481 Raise G_EXCEPTION_HALT_PROCESS;
4482 End If;
4483
4484 EXCEPTION
4485 WHEN G_EXCEPTION_HALT_PROCESS Then
4486 Null;
4487 When OTHERS Then
4488 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4489 END reset_contract_status;
4490 --End Bug# 2555692
4491
4492 --------------------------------------------------------------------------------
4493 -- Start of comments
4494 -- Bug# 3159691
4495 -- Procedure Name : delete_yields
4496 -- Description : Local procedure will be called from copy_lease_contract to
4497 -- remove yield values from the new contract.
4498 --
4499 -- Business Rules :
4500 -- Parameters :
4501 -- Version : 1.0
4502 -- Notes :
4503 -- End of comments
4504 --------------------------------------------------------------------------------
4505 PROCEDURE delete_yields(
4506 p_api_version IN NUMBER,
4507 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4508 x_return_status OUT NOCOPY VARCHAR2,
4509 x_msg_count OUT NOCOPY NUMBER,
4510 x_msg_data OUT NOCOPY VARCHAR2,
4511 p_chr_id IN NUMBER,
4512 --Bug# 3973640
4513 p_trans_type IN VARCHAR2
4514 ) IS
4515
4516 l_api_name CONSTANT VARCHAR2(30) := 'OKL_DELETE_YIELDS';
4517 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4518
4519 l_chrv_rec chrv_rec_type;
4520 l_khrv_rec khrv_rec_type;
4521 l_khrv_qry_rec khrv_rec_type;
4522 lx_chrv_rec chrv_rec_type;
4523 lx_khrv_rec khrv_rec_type;
4524
4525 l_clev_rec clev_rec_type;
4526 l_klev_rec klev_rec_type;
4527 lx_clev_rec clev_rec_type;
4528 lx_klev_rec klev_rec_type;
4529
4530 cursor kle_csr is
4531 select kle.id
4532 ,kle.pre_tax_yield
4533 ,kle.after_tax_yield
4534 ,kle.implicit_interest_rate
4535 ,kle.implicit_non_idc_interest_rate
4536 ,kle.pre_tax_irr
4537 ,kle.after_tax_irr
4538 ,kle.sub_pre_tax_yield
4539 ,kle.sub_after_tax_yield
4540 ,kle.sub_impl_interest_rate
4541 ,kle.sub_impl_non_idc_int_rate
4542 ,kle.sub_pre_tax_irr
4543 ,kle.sub_after_tax_irr
4544 ,kle.capitalized_interest
4545 --Bug# 3973640
4546 ,kle.qte_id
4547 ,kle.funding_date
4548 from okc_k_lines_b cle
4549 ,okl_k_lines kle
4550 where cle.dnz_chr_id = p_chr_id
4551 and cle.id = kle.id;
4552
4553 BEGIN
4554
4555 x_return_status := OKL_API.G_RET_STS_SUCCESS;
4556 x_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
4557 G_PKG_NAME,
4558 p_init_msg_list,
4559 G_API_VERSION,
4560 p_api_version,
4561 G_SCOPE,
4562 x_return_status);
4563 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4564 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4565 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4566 RAISE OKL_API.G_EXCEPTION_ERROR;
4567 END IF;
4568
4569 l_khrv_qry_rec := get_khrv_rec(p_chr_id);
4570
4571 IF (l_khrv_qry_rec.pre_tax_yield IS NOT NULL OR
4572 l_khrv_qry_rec.after_tax_yield IS NOT NULL OR
4573 l_khrv_qry_rec.implicit_interest_rate IS NOT NULL OR
4574 l_khrv_qry_rec.implicit_non_idc_interest_rate IS NOT NULL OR
4575 l_khrv_qry_rec.pre_tax_irr IS NOT NULL OR
4576 l_khrv_qry_rec.after_tax_irr IS NOT NULL OR
4577 l_khrv_qry_rec.sub_pre_tax_yield IS NOT NULL OR
4578 l_khrv_qry_rec.sub_after_tax_yield IS NOT NULL OR
4579 l_khrv_qry_rec.sub_impl_interest_rate IS NOT NULL OR
4580 l_khrv_qry_rec.sub_impl_non_idc_int_rate IS NOT NULL OR
4581 l_khrv_qry_rec.sub_pre_tax_irr IS NOT NULL OR
4582 l_khrv_qry_rec.sub_after_tax_irr IS NOT NULL OR
4583 l_khrv_qry_rec.date_last_interim_interest_cal IS NOT NULL OR
4584 --bug# 3973640:
4585 l_khrv_qry_rec.TOT_CL_TRANSFER_AMT IS NOT NULL OR
4586 l_khrv_qry_rec.TOT_CL_NET_TRANSFER_AMT IS NOT NULL OR
4587 l_khrv_qry_rec.TOT_CL_LIMIT IS NOT NULL OR
4588 l_khrv_qry_rec.TOT_CL_FUNDING_AMT IS NOT NULL) THEN
4589
4590 l_chrv_rec.id := p_chr_id;
4591 l_khrv_rec.id := p_chr_id;
4592
4593 l_khrv_rec.pre_tax_yield := NULL;
4594 l_khrv_rec.after_tax_yield := NULL;
4595 l_khrv_rec.implicit_interest_rate := NULL;
4596 l_khrv_rec.implicit_non_idc_interest_rate := NULL;
4597 l_khrv_rec.pre_tax_irr := NULL;
4598 l_khrv_rec.after_tax_irr := NULL;
4599 l_khrv_rec.sub_pre_tax_yield := NULL;
4600 l_khrv_rec.sub_after_tax_yield := NULL;
4601 l_khrv_rec.sub_impl_interest_rate := NULL;
4602 l_khrv_rec.sub_impl_non_idc_int_rate := NULL;
4603 l_khrv_rec.sub_pre_tax_irr := NULL;
4604 l_khrv_rec.sub_after_tax_irr := NULL;
4605
4606 -- Bug# 3541098
4607 l_khrv_rec.date_last_interim_interest_cal := NULL;
4608 --bug# 3973640:
4609 l_khrv_rec.TOT_CL_TRANSFER_AMT := NULL;
4610 l_khrv_rec.TOT_CL_NET_TRANSFER_AMT := NULL;
4611 l_khrv_rec.TOT_CL_LIMIT := NULL;
4612 l_khrv_rec.TOT_CL_FUNDING_AMT := NULL;
4613
4614 okl_contract_pub.update_contract_header(
4615 p_api_version => p_api_version,
4616 p_init_msg_list => p_init_msg_list,
4617 x_return_status => x_return_status,
4618 x_msg_count => x_msg_count,
4619 x_msg_data => x_msg_data,
4620 p_chrv_rec => l_chrv_rec,
4621 p_khrv_rec => l_khrv_rec,
4622 x_chrv_rec => lx_chrv_rec,
4623 x_khrv_rec => lx_khrv_rec);
4624
4625 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4626 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4627 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4628 RAISE OKL_API.G_EXCEPTION_ERROR;
4629 END IF;
4630
4631 END IF;
4632
4633 FOR l_kle_rec IN kle_csr LOOP
4634
4635 IF (l_kle_rec.pre_tax_yield IS NOT NULL OR
4636 l_kle_rec.after_tax_yield IS NOT NULL OR
4637 l_kle_rec.implicit_interest_rate IS NOT NULL OR
4638 l_kle_rec.implicit_non_idc_interest_rate IS NOT NULL OR
4639 l_kle_rec.pre_tax_irr IS NOT NULL OR
4640 l_kle_rec.after_tax_irr IS NOT NULL OR
4641 l_kle_rec.sub_pre_tax_yield IS NOT NULL OR
4642 l_kle_rec.sub_after_tax_yield IS NOT NULL OR
4643 l_kle_rec.sub_impl_interest_rate IS NOT NULL OR
4644 l_kle_rec.sub_impl_non_idc_int_rate IS NOT NULL OR
4645 l_kle_rec.sub_pre_tax_irr IS NOT NULL OR
4646 l_kle_rec.sub_after_tax_irr IS NOT NULL OR
4647 l_kle_rec.capitalized_interest IS NOT NULL OR
4648 --Bug# 3973640:
4649 l_kle_rec.qte_id IS NOT NULL OR
4650 l_kle_rec.funding_date IS NOT NULL) THEN
4651
4652 l_clev_rec.id := l_kle_rec.id;
4653 l_klev_rec.id := l_kle_rec.id;
4654
4655 l_klev_rec.pre_tax_yield := NULL;
4656 l_klev_rec.after_tax_yield := NULL;
4657 l_klev_rec.implicit_interest_rate := NULL;
4658 l_klev_rec.implicit_non_idc_interest_rate := NULL;
4659 l_klev_rec.pre_tax_irr := NULL;
4660 l_klev_rec.after_tax_irr := NULL;
4661 l_klev_rec.sub_pre_tax_yield := NULL;
4662 l_klev_rec.sub_after_tax_yield := NULL;
4663 l_klev_rec.sub_impl_interest_rate := NULL;
4664 l_klev_rec.sub_impl_non_idc_int_rate := NULL;
4665 l_klev_rec.sub_pre_tax_irr := NULL;
4666 l_klev_rec.sub_after_tax_irr := NULL;
4667
4668 -- Bug# 3541098
4669 l_klev_rec.capitalized_interest := NULL;
4670 --Bug# 3973640
4671 l_klev_rec.funding_date := NULL;
4672 If nvl(p_trans_type,'CFA') = 'CFA' then
4673 l_klev_rec.qte_id := NULL;
4674 End If;
4675
4676 okl_contract_pub.update_contract_line(
4677 p_api_version => p_api_version,
4678 p_init_msg_list => p_init_msg_list,
4679 x_return_status => x_return_status,
4680 x_msg_count => x_msg_count,
4681 x_msg_data => x_msg_data,
4682 p_clev_rec => l_clev_rec,
4683 p_klev_rec => l_klev_rec,
4684 x_clev_rec => lx_clev_rec,
4685 x_klev_rec => lx_klev_rec);
4686
4687 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4688 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4689 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4690 RAISE OKL_API.G_EXCEPTION_ERROR;
4691 END IF;
4692
4693 END IF;
4694 END LOOP;
4695
4696 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4697
4698 EXCEPTION
4699 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4700 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4701 (substr(l_api_name,1,26),
4702 G_PKG_NAME,
4703 'OKL_API.G_RET_STS_ERROR',
4704 x_msg_count,
4705 x_msg_data,
4706 G_SCOPE);
4707 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4708 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4709 (substr(l_api_name,1,26),
4710 G_PKG_NAME,
4711 'OKL_API.G_RET_STS_UNEXP_ERROR',
4712 x_msg_count,
4713 x_msg_data,
4714 G_SCOPE);
4715 WHEN OTHERS THEN
4716 -- store SQL error message on message stack for caller
4717 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4718 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4719 (substr(l_api_name,1,26),
4720 G_PKG_NAME,
4721 'OTHERS',
4722 x_msg_count,
4723 x_msg_data,
4724 G_SCOPE);
4725
4726 END delete_yields;
4727 --End Bug# 3159691
4728
4729 Procedure copy_var_int_rate_params(p_old_id IN NUMBER,
4730 p_new_id IN NUMBER,
4731 p_start_date IN DATE,
4732 p_trans_type IN VARCHAR2,
4733 p_rbk_date IN DATE) IS
4734 TYPE l_kkhr_id_type is table of okl_k_rate_params.khr_id%TYPE index by binary_integer;
4735 TYPE l_kparameter_type_code_type is table of okl_k_rate_params.parameter_type_code%TYPE index by binary_integer;
4736 TYPE l_keffective_from_date_type is table of okl_k_rate_params.effective_from_date%TYPE index by binary_integer;
4737 TYPE l_keffective_to_date_type is table of okl_k_rate_params.effective_to_date%TYPE index by binary_integer;
4738 TYPE l_kinterest_index_id_type is table of okl_k_rate_params.interest_index_id%TYPE index by binary_integer;
4739 TYPE l_kbase_rate_type is table of okl_k_rate_params.base_rate%TYPE index by binary_integer;
4740 TYPE l_kinterest_start_date_type is table of okl_k_rate_params.interest_start_date%TYPE index by binary_integer;
4741 TYPE l_kadder_rate_type is table of okl_k_rate_params.adder_rate%TYPE index by binary_integer;
4742 TYPE l_kmaximum_rate_type is table of okl_k_rate_params.maximum_rate%TYPE index by binary_integer;
4743 TYPE l_kminimum_rate_type is table of okl_k_rate_params.minimum_rate%TYPE index by binary_integer;
4744 TYPE l_kprincipal_basis_code_type is table of okl_k_rate_params.principal_basis_code%TYPE index by binary_integer;
4745 TYPE l_kdays_in_a_month_code_type is table of okl_k_rate_params.days_in_a_month_code%TYPE index by binary_integer;
4746 TYPE l_kdays_in_a_year_code_type is table of okl_k_rate_params.days_in_a_year_code%TYPE index by binary_integer;
4747 TYPE l_kinterest_basis_code_type is table of okl_k_rate_params.interest_basis_code%TYPE index by binary_integer;
4748 TYPE l_krate_delay_code_type is table of okl_k_rate_params.rate_delay_code%TYPE index by binary_integer;
4749 TYPE l_krate_delay_frequency_type is table of okl_k_rate_params.rate_delay_frequency%TYPE index by binary_integer;
4750 TYPE l_kcompounding_frequ_code_type is table of okl_k_rate_params.compounding_frequency_code%TYPE index by binary_integer;
4751 TYPE l_kcalculation_formula_id_type is table of okl_k_rate_params.calculation_formula_id%TYPE index by binary_integer;
4752 TYPE l_kcatchup_basis_code_type is table of okl_k_rate_params.catchup_basis_code%TYPE index by binary_integer;
4753 TYPE l_kcatchup_start_date_type is table of okl_k_rate_params.catchup_start_date%TYPE index by binary_integer;
4754 TYPE l_kcatchup_settlemen_code_type is table of okl_k_rate_params.catchup_settlement_code%TYPE index by binary_integer;
4755 TYPE l_krate_change_start_date_type is table of okl_k_rate_params.rate_change_start_date%TYPE index by binary_integer;
4756 TYPE l_krate_change_frequ_code_type is table of okl_k_rate_params.rate_change_frequency_code%TYPE index by binary_integer;
4757 TYPE l_krate_change_value_type is table of okl_k_rate_params.rate_change_value%TYPE index by binary_integer;
4758 TYPE l_kconversion_option_code_type is table of okl_k_rate_params.conversion_option_code%TYPE index by binary_integer;
4759 TYPE l_knext_conversion_date_type is table of okl_k_rate_params.next_conversion_date%TYPE index by binary_integer;
4760 TYPE l_kconversion_type_code_type is table of okl_k_rate_params.conversion_type_code%TYPE index by binary_integer;
4761 TYPE l_kattribute_category_type is table of okl_k_rate_params.attribute_category%TYPE index by binary_integer;
4762 TYPE l_kattribute1_type is table of okl_k_rate_params.attribute1%TYPE index by binary_integer;
4763 TYPE l_kattribute2_type is table of okl_k_rate_params.attribute2%TYPE index by binary_integer;
4764 TYPE l_kattribute3_type is table of okl_k_rate_params.attribute3%TYPE index by binary_integer;
4765 TYPE l_kattribute4_type is table of okl_k_rate_params.attribute4%TYPE index by binary_integer;
4766 TYPE l_kattribute5_type is table of okl_k_rate_params.attribute5%TYPE index by binary_integer;
4767 TYPE l_kattribute6_type is table of okl_k_rate_params.attribute6%TYPE index by binary_integer;
4768 TYPE l_kattribute7_type is table of okl_k_rate_params.attribute7%TYPE index by binary_integer;
4769 TYPE l_kattribute8_type is table of okl_k_rate_params.attribute8%TYPE index by binary_integer;
4770 TYPE l_kattribute9_type is table of okl_k_rate_params.attribute9%TYPE index by binary_integer;
4771 TYPE l_kattribute10_type is table of okl_k_rate_params.attribute10%TYPE index by binary_integer;
4772 TYPE l_kattribute11_type is table of okl_k_rate_params.attribute11%TYPE index by binary_integer;
4773 TYPE l_kattribute12_type is table of okl_k_rate_params.attribute12%TYPE index by binary_integer;
4774 TYPE l_kattribute13_type is table of okl_k_rate_params.attribute13%TYPE index by binary_integer;
4775 TYPE l_kattribute14_type is table of okl_k_rate_params.attribute14%TYPE index by binary_integer;
4776 TYPE l_kattribute15_type is table of okl_k_rate_params.attribute15%TYPE index by binary_integer;
4777 TYPE l_kcatchup_frequency_code_type is table of okl_k_rate_params.catchup_frequency_code%TYPE index by binary_integer;
4778
4779 l_kkhr_id_tab l_kkhr_id_type;
4780 l_kparameter_type_code_tab l_kparameter_type_code_type;
4781 l_keffective_from_date_tab l_keffective_from_date_type;
4782 l_keffective_to_date_tab l_keffective_to_date_type;
4783 l_kinterest_index_id_tab l_kinterest_index_id_type;
4784 l_kbase_rate_tab l_kbase_rate_type;
4785 l_kinterest_start_date_tab l_kinterest_start_date_type;
4786 l_kadder_rate_tab l_kadder_rate_type;
4787 l_kmaximum_rate_tab l_kmaximum_rate_type;
4788 l_kminimum_rate_tab l_kminimum_rate_type;
4789 l_kprincipal_basis_code_tab l_kprincipal_basis_code_type;
4790 l_kdays_in_a_month_code_tab l_kdays_in_a_month_code_type;
4791 l_kdays_in_a_year_code_tab l_kdays_in_a_year_code_type;
4792 l_kinterest_basis_code_tab l_kinterest_basis_code_type;
4793 l_krate_delay_code_tab l_krate_delay_code_type;
4794 l_krate_delay_frequency_tab l_krate_delay_frequency_type;
4795 l_kcompounding_frequ_code_tab l_kcompounding_frequ_code_type;
4796 l_kcalculation_formula_id_tab l_kcalculation_formula_id_type;
4797 l_kcatchup_basis_code_tab l_kcatchup_basis_code_type;
4798 l_kcatchup_start_date_tab l_kcatchup_start_date_type;
4799 l_kcatchup_settlemen_code_tab l_kcatchup_settlemen_code_type;
4800 l_krate_change_start_date_tab l_krate_change_start_date_type;
4801 l_krate_change_frequ_code_tab l_krate_change_frequ_code_type;
4802 l_krate_change_value_tab l_krate_change_value_type;
4803 l_kconversion_option_code_tab l_kconversion_option_code_type;
4804 l_knext_conversion_date_tab l_knext_conversion_date_type;
4805 l_kconversion_type_code_tab l_kconversion_type_code_type;
4806 l_kattribute_category_tab l_kattribute_category_type;
4807 l_kattribute1_tab l_kattribute1_type;
4808 l_kattribute2_tab l_kattribute2_type;
4809 l_kattribute3_tab l_kattribute3_type;
4810 l_kattribute4_tab l_kattribute4_type;
4811 l_kattribute5_tab l_kattribute5_type;
4812 l_kattribute6_tab l_kattribute6_type;
4813 l_kattribute7_tab l_kattribute7_type;
4814 l_kattribute8_tab l_kattribute8_type;
4815 l_kattribute9_tab l_kattribute9_type;
4816 l_kattribute10_tab l_kattribute10_type;
4817 l_kattribute11_tab l_kattribute11_type;
4818 l_kattribute12_tab l_kattribute12_type;
4819 l_kattribute13_tab l_kattribute13_type;
4820 l_kattribute14_tab l_kattribute14_type;
4821 l_kattribute15_tab l_kattribute15_type;
4822 l_kcatchup_frequency_code_tab l_kcatchup_frequency_code_type;
4823
4824 l_kkhr_id_tab2 l_kkhr_id_type;
4825 l_kparameter_type_code_tab2 l_kparameter_type_code_type;
4826 l_keffective_from_date_tab2 l_keffective_from_date_type;
4827 l_keffective_to_date_tab2 l_keffective_to_date_type;
4828 l_kinterest_index_id_tab2 l_kinterest_index_id_type;
4829 l_kbase_rate_tab2 l_kbase_rate_type;
4830 l_kinterest_start_date_tab2 l_kinterest_start_date_type;
4831 l_kadder_rate_tab2 l_kadder_rate_type;
4832 l_kmaximum_rate_tab2 l_kmaximum_rate_type;
4833 l_kminimum_rate_tab2 l_kminimum_rate_type;
4834 l_kprincipal_basis_code_tab2 l_kprincipal_basis_code_type;
4835 l_kdays_in_a_month_code_tab2 l_kdays_in_a_month_code_type;
4836 l_kdays_in_a_year_code_tab2 l_kdays_in_a_year_code_type;
4837 l_kinterest_basis_code_tab2 l_kinterest_basis_code_type;
4838 l_krate_delay_code_tab2 l_krate_delay_code_type;
4839 l_krate_delay_frequency_tab2 l_krate_delay_frequency_type;
4840 l_kcompounding_frequ_code_tab2 l_kcompounding_frequ_code_type;
4841 l_kcalculation_formula_id_tab2 l_kcalculation_formula_id_type;
4842 l_kcatchup_basis_code_tab2 l_kcatchup_basis_code_type;
4843 l_kcatchup_start_date_tab2 l_kcatchup_start_date_type;
4844 l_kcatchup_settlemen_code_tab2 l_kcatchup_settlemen_code_type;
4845 l_krate_change_start_date_tab2 l_krate_change_start_date_type;
4846 l_krate_change_frequ_code_tab2 l_krate_change_frequ_code_type;
4847 l_krate_change_value_tab2 l_krate_change_value_type;
4848 l_kconversion_option_code_tab2 l_kconversion_option_code_type;
4849 l_knext_conversion_date_tab2 l_knext_conversion_date_type;
4850 l_kconversion_type_code_tab2 l_kconversion_type_code_type;
4851 l_kattribute_category_tab2 l_kattribute_category_type;
4852 l_kattribute1_tab2 l_kattribute1_type;
4853 l_kattribute2_tab2 l_kattribute2_type;
4854 l_kattribute3_tab2 l_kattribute3_type;
4855 l_kattribute4_tab2 l_kattribute4_type;
4856 l_kattribute5_tab2 l_kattribute5_type;
4857 l_kattribute6_tab2 l_kattribute6_type;
4858 l_kattribute7_tab2 l_kattribute7_type;
4859 l_kattribute8_tab2 l_kattribute8_type;
4860 l_kattribute9_tab2 l_kattribute9_type;
4861 l_kattribute10_tab2 l_kattribute10_type;
4862 l_kattribute11_tab2 l_kattribute11_type;
4863 l_kattribute12_tab2 l_kattribute12_type;
4864 l_kattribute13_tab2 l_kattribute13_type;
4865 l_kattribute14_tab2 l_kattribute14_type;
4866 l_kattribute15_tab2 l_kattribute15_type;
4867 l_kcatchup_frequency_code_tab2 l_kcatchup_frequency_code_type;
4868
4869 l_k_rate_params_counter number := 1;
4870
4871 /*CURSOR get_rebook_date_csr(p_id NUMBER) IS
4872 SELECT DATE_TRANSACTION_OCCURRED
4873 FROM OKL_TRX_CONTRACTS
4874 WHERE KHR_ID = p_id
4875 AND TCN_TYPE = 'TRBK'
4876 and TSU_CODE = 'ENTERED';
4877
4878 l_rebook_date DATE; */
4879 l_prev_counter NUMBER;
4880
4881 --Bug# 16425139: Changing the global variables to local variables
4882 l_created_by NUMBER := fnd_global.user_id;
4883 l_last_updated_by NUMBER := fnd_global.user_id;
4884 l_last_update_login NUMBER := fnd_global.login_id;
4885
4886 CURSOR C30(p_id NUMBER) IS
4887 SELECT
4888 a.khr_id, a.parameter_type_code, a.effective_from_date,
4889 a.effective_to_date, a.interest_index_id, a.base_rate,
4890 a.interest_start_date, a.adder_rate, a.maximum_rate,
4891 a.minimum_rate, a.principal_basis_code, a.days_in_a_month_code,
4892 a.days_in_a_year_code, a.interest_basis_code, a.rate_delay_code,
4893 a.rate_delay_frequency, a.compounding_frequency_code, a.calculation_formula_id,
4894 a.catchup_basis_code, a.catchup_start_date, a.catchup_settlement_code,
4895 a.rate_change_start_date, a.rate_change_frequency_code, a.rate_change_value,
4896 a.conversion_option_code, a.next_conversion_date, a.conversion_type_code,
4897 a.attribute_category, a.attribute1, a.attribute2,
4898 a.attribute3, a.attribute4, a.attribute5,
4899 a.attribute6, a.attribute7, a.attribute8,
4900 a.attribute9, a.attribute10, a.attribute11,
4901 a.attribute12, a.attribute13, a.attribute14,
4902 a.attribute15, a.catchup_frequency_code
4903 FROM OKL_K_RATE_PARAMS a
4904 WHERE a.khr_id = p_id;
4905 -- Bug 4730726
4906 /*AND (
4907 (a.effective_to_date is NULL AND p_trans_type not in ('CRB', 'CRL'))
4908 OR
4909 ((a.effective_to_date is NULL OR a.effective_to_date IS NOT NULL) AND
4910 p_trans_type in ('CRB', 'CRL'))
4911 ); */
4912 BEGIN
4913 IF (G_DEBUG_ENABLED = 'Y') THEN
4914 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
4915 END IF;
4916 /*
4917 l_rebook_date := NULL;
4918 IF (p_trans_type = 'CRB') THEN
4919 FOR r IN get_rebook_date_csr(p_old_id)
4920 LOOP
4921 l_rebook_date := r.date_transaction_occurred;
4922 END LOOP;
4923 print('In copy_var_int_rate_params: l_rebook_date=' || l_rebook_date);
4924 IF (l_rebook_date is NULL) THEN
4925 RAISE OKL_API.G_EXCEPTION_ERROR;
4926 END IF;
4927 END IF;
4928 */
4929 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4930 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_rbk_date=' || p_rbk_date);
4931 END IF;
4932
4933 OPEN C30(p_old_id);
4934 LOOP
4935 FETCH C30 BULK COLLECT INTO
4936 l_kkhr_id_tab2, l_kparameter_type_code_tab2, l_keffective_from_date_tab2,
4937 l_keffective_to_date_tab2, l_kinterest_index_id_tab2, l_kbase_rate_tab2,
4938 l_kinterest_start_date_tab2, l_kadder_rate_tab2, l_kmaximum_rate_tab2,
4939 l_kminimum_rate_tab2, l_kprincipal_basis_code_tab2, l_kdays_in_a_month_code_tab2,
4940 l_kdays_in_a_year_code_tab2, l_kinterest_basis_code_tab2, l_krate_delay_code_tab2,
4941 l_krate_delay_frequency_tab2, l_kcompounding_frequ_code_tab2, l_kcalculation_formula_id_tab2,
4942 l_kcatchup_basis_code_tab2, l_kcatchup_start_date_tab2, l_kcatchup_settlemen_code_tab2,
4943 l_krate_change_start_date_tab2, l_krate_change_frequ_code_tab2, l_krate_change_value_tab2,
4944 l_kconversion_option_code_tab2, l_knext_conversion_date_tab2, l_kconversion_type_code_tab2,
4945 l_kattribute_category_tab2, l_kattribute1_tab2, l_kattribute2_tab2,
4946 l_kattribute3_tab2, l_kattribute4_tab2, l_kattribute5_tab2,
4947 l_kattribute6_tab2, l_kattribute7_tab2, l_kattribute8_tab2,
4948 l_kattribute9_tab2, l_kattribute10_tab2, l_kattribute11_tab2,
4949 l_kattribute12_tab2, l_kattribute13_tab2, l_kattribute14_tab2,
4950 l_kattribute15_tab2, l_kcatchup_frequency_code_tab2
4951 LIMIT G_BULK_SIZE;
4952 EXIT WHEN l_kkhr_id_tab2.COUNT = 0;
4953
4954 FOR i IN l_kkhr_id_tab2.FIRST..l_kkhr_id_tab2.LAST
4955 LOOP
4956 l_kkhr_id_tab(l_k_rate_params_counter) := l_kkhr_id_tab2(i);
4957 l_kkhr_id_tab(l_k_rate_params_counter) := p_new_id;
4958
4959 l_kparameter_type_code_tab(l_k_rate_params_counter) := l_kparameter_type_code_tab2(i);
4960 l_keffective_from_date_tab(l_k_rate_params_counter) := l_keffective_from_date_tab2(i);
4961 l_keffective_to_date_tab(l_k_rate_params_counter) := l_keffective_to_date_tab2(i);
4962 l_kinterest_index_id_tab(l_k_rate_params_counter) := l_kinterest_index_id_tab2(i);
4963 l_kbase_rate_tab(l_k_rate_params_counter) := l_kbase_rate_tab2(i);
4964 l_kinterest_start_date_tab(l_k_rate_params_counter) := l_kinterest_start_date_tab2(i);
4965 /*Commented for bug 12981340
4966 IF ( l_kinterest_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4967 l_kinterest_start_date_tab(l_k_rate_params_counter) := p_start_date;
4968 END IF;*/
4969
4970
4971 l_kadder_rate_tab(l_k_rate_params_counter) := l_kadder_rate_tab2(i);
4972 l_kmaximum_rate_tab(l_k_rate_params_counter) := l_kmaximum_rate_tab2(i);
4973 l_kminimum_rate_tab(l_k_rate_params_counter) := l_kminimum_rate_tab2(i);
4974 l_kprincipal_basis_code_tab(l_k_rate_params_counter) := l_kprincipal_basis_code_tab2(i);
4975 l_kdays_in_a_month_code_tab(l_k_rate_params_counter) := l_kdays_in_a_month_code_tab2(i);
4976 l_kdays_in_a_year_code_tab(l_k_rate_params_counter) := l_kdays_in_a_year_code_tab2(i);
4977 l_kinterest_basis_code_tab(l_k_rate_params_counter) := l_kinterest_basis_code_tab2(i);
4978 l_krate_delay_code_tab(l_k_rate_params_counter) := l_krate_delay_code_tab2(i);
4979 l_krate_delay_frequency_tab(l_k_rate_params_counter) := l_krate_delay_frequency_tab2(i);
4980 l_kcompounding_frequ_code_tab(l_k_rate_params_counter) := l_kcompounding_frequ_code_tab2(i);
4981 l_kcalculation_formula_id_tab(l_k_rate_params_counter) := l_kcalculation_formula_id_tab2(i);
4982 l_kcatchup_basis_code_tab(l_k_rate_params_counter) := l_kcatchup_basis_code_tab2(i);
4983 l_kcatchup_start_date_tab(l_k_rate_params_counter) := l_kcatchup_start_date_tab2(i);
4984 /*Commented for bug 12981340
4985 IF (l_kcatchup_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4986 l_kcatchup_start_date_tab(l_k_rate_params_counter) := p_start_date;
4987 END IF;*/
4988
4989 l_kcatchup_settlemen_code_tab(l_k_rate_params_counter) := l_kcatchup_settlemen_code_tab2(i);
4990 l_krate_change_start_date_tab(l_k_rate_params_counter) := l_krate_change_start_date_tab2(i);
4991 /*Commented for bug 12981340
4992 IF (l_krate_change_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4993 l_krate_change_start_date_tab(l_k_rate_params_counter) := p_start_date;
4994 END IF;*/
4995
4996
4997 l_krate_change_frequ_code_tab(l_k_rate_params_counter) := l_krate_change_frequ_code_tab2(i);
4998 l_krate_change_value_tab(l_k_rate_params_counter) := l_krate_change_value_tab2(i);
4999 l_kconversion_option_code_tab(l_k_rate_params_counter) := l_kconversion_option_code_tab2(i);
5000 l_knext_conversion_date_tab(l_k_rate_params_counter) := l_knext_conversion_date_tab2(i);
5001 l_kconversion_type_code_tab(l_k_rate_params_counter) := l_kconversion_type_code_tab2(i);
5002 l_kattribute_category_tab(l_k_rate_params_counter) := l_kattribute_category_tab2(i);
5003 l_kattribute1_tab(l_k_rate_params_counter) := l_kattribute1_tab2(i);
5004 l_kattribute2_tab(l_k_rate_params_counter) := l_kattribute2_tab2(i);
5005 l_kattribute3_tab(l_k_rate_params_counter) := l_kattribute3_tab2(i);
5006 l_kattribute4_tab(l_k_rate_params_counter) := l_kattribute4_tab2(i);
5007 l_kattribute5_tab(l_k_rate_params_counter) := l_kattribute5_tab2(i);
5008 l_kattribute6_tab(l_k_rate_params_counter) := l_kattribute6_tab2(i);
5009 l_kattribute7_tab(l_k_rate_params_counter) := l_kattribute7_tab2(i);
5010 l_kattribute8_tab(l_k_rate_params_counter) := l_kattribute8_tab2(i);
5011 l_kattribute9_tab(l_k_rate_params_counter) := l_kattribute9_tab2(i);
5012 l_kattribute10_tab(l_k_rate_params_counter) := l_kattribute10_tab2(i);
5013 l_kattribute11_tab(l_k_rate_params_counter) := l_kattribute11_tab2(i);
5014 l_kattribute12_tab(l_k_rate_params_counter) := l_kattribute12_tab2(i);
5015 l_kattribute13_tab(l_k_rate_params_counter) := l_kattribute13_tab2(i);
5016 l_kattribute14_tab(l_k_rate_params_counter) := l_kattribute14_tab2(i);
5017 l_kattribute15_tab(l_k_rate_params_counter) := l_kattribute15_tab2(i);
5018 l_kcatchup_frequency_code_tab(l_k_rate_params_counter) := l_kcatchup_frequency_code_tab2(i);
5019
5020 l_k_rate_params_counter := l_k_rate_params_counter + 1;
5021
5022 -- No special processing for rebook copy (Bug 4730726)
5023 /*IF (p_trans_type = 'CRB') THEN
5024 l_prev_counter := l_k_rate_params_counter - 1;
5025 IF (l_kparameter_type_code_tab(l_prev_counter) = 'ACTUAL' AND
5026 l_keffective_to_date_tab(l_prev_counter) IS NULL) THEN
5027 l_keffective_to_date_tab(l_prev_counter) := p_rbk_date - 1;
5028
5029 -- Make a copy of the current set for rebook copy
5030 l_kkhr_id_tab(l_k_rate_params_counter) := p_new_id;
5031
5032 l_kparameter_type_code_tab(l_k_rate_params_counter) := l_kparameter_type_code_tab(l_prev_counter);
5033
5034 l_keffective_from_date_tab(l_k_rate_params_counter) := p_rbk_date;
5035 l_keffective_to_date_tab(l_k_rate_params_counter) := NULL;
5036
5037 l_kinterest_index_id_tab(l_k_rate_params_counter) := l_kinterest_index_id_tab(l_prev_counter);
5038 l_kbase_rate_tab(l_k_rate_params_counter) := l_kbase_rate_tab(l_prev_counter);
5039 l_kinterest_start_date_tab(l_k_rate_params_counter) := l_kinterest_start_date_tab(l_prev_counter);
5040 IF ( l_kinterest_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
5041 l_kinterest_start_date_tab(l_k_rate_params_counter) := p_start_date;
5042 END IF;
5043
5044 l_kadder_rate_tab(l_k_rate_params_counter) := l_kadder_rate_tab(l_prev_counter);
5045 l_kmaximum_rate_tab(l_k_rate_params_counter) := l_kmaximum_rate_tab(l_prev_counter);
5046 l_kminimum_rate_tab(l_k_rate_params_counter) := l_kminimum_rate_tab(l_prev_counter);
5047 l_kprincipal_basis_code_tab(l_k_rate_params_counter) := l_kprincipal_basis_code_tab(l_prev_counter);
5048 l_kdays_in_a_month_code_tab(l_k_rate_params_counter) := l_kdays_in_a_month_code_tab(l_prev_counter);
5049 l_kdays_in_a_year_code_tab(l_k_rate_params_counter) := l_kdays_in_a_year_code_tab(l_prev_counter);
5050 l_kinterest_basis_code_tab(l_k_rate_params_counter) := l_kinterest_basis_code_tab(l_prev_counter);
5051 l_krate_delay_code_tab(l_k_rate_params_counter) := l_krate_delay_code_tab(l_prev_counter);
5052 l_krate_delay_frequency_tab(l_k_rate_params_counter) := l_krate_delay_frequency_tab(l_prev_counter);
5053 l_kcompounding_frequ_code_tab(l_k_rate_params_counter) := l_kcompounding_frequ_code_tab(l_prev_counter);
5054 l_kcalculation_formula_id_tab(l_k_rate_params_counter) := l_kcalculation_formula_id_tab(l_prev_counter);
5055 l_kcatchup_basis_code_tab(l_k_rate_params_counter) := l_kcatchup_basis_code_tab(l_prev_counter);
5056 l_kcatchup_start_date_tab(l_k_rate_params_counter) := l_kcatchup_start_date_tab(l_prev_counter);
5057 IF (l_kcatchup_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
5058 l_kcatchup_start_date_tab(l_k_rate_params_counter) := p_start_date;
5059 END IF;
5060
5061 l_kcatchup_settlemen_code_tab(l_k_rate_params_counter) := l_kcatchup_settlemen_code_tab(l_prev_counter);
5062 l_krate_change_start_date_tab(l_k_rate_params_counter) := l_krate_change_start_date_tab(l_prev_counter);
5063 IF (l_krate_change_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
5064 l_krate_change_start_date_tab(l_k_rate_params_counter) := p_start_date;
5065 END IF;
5066
5067 l_krate_change_frequ_code_tab(l_k_rate_params_counter) := l_krate_change_frequ_code_tab(l_prev_counter);
5068 l_krate_change_value_tab(l_k_rate_params_counter) := l_krate_change_value_tab(l_prev_counter);
5069 l_kconversion_option_code_tab(l_k_rate_params_counter) := l_kconversion_option_code_tab(l_prev_counter);
5070 l_knext_conversion_date_tab(l_k_rate_params_counter) := l_knext_conversion_date_tab(l_prev_counter);
5071 l_kconversion_type_code_tab(l_k_rate_params_counter) := l_kconversion_type_code_tab(l_prev_counter);
5072 l_kattribute_category_tab(l_k_rate_params_counter) := l_kattribute_category_tab(l_prev_counter);
5073 l_kattribute1_tab(l_k_rate_params_counter) := l_kattribute1_tab(l_prev_counter);
5074 l_kattribute2_tab(l_k_rate_params_counter) := l_kattribute2_tab(l_prev_counter);
5075 l_kattribute3_tab(l_k_rate_params_counter) := l_kattribute3_tab(l_prev_counter);
5076 l_kattribute4_tab(l_k_rate_params_counter) := l_kattribute4_tab(l_prev_counter);
5077 l_kattribute5_tab(l_k_rate_params_counter) := l_kattribute5_tab(l_prev_counter);
5078 l_kattribute6_tab(l_k_rate_params_counter) := l_kattribute6_tab(l_prev_counter);
5079 l_kattribute7_tab(l_k_rate_params_counter) := l_kattribute7_tab(l_prev_counter);
5080 l_kattribute8_tab(l_k_rate_params_counter) := l_kattribute8_tab(l_prev_counter);
5081 l_kattribute9_tab(l_k_rate_params_counter) := l_kattribute9_tab(l_prev_counter);
5082 l_kattribute10_tab(l_k_rate_params_counter) := l_kattribute10_tab(l_prev_counter);
5083 l_kattribute11_tab(l_k_rate_params_counter) := l_kattribute11_tab(l_prev_counter);
5084 l_kattribute12_tab(l_k_rate_params_counter) := l_kattribute12_tab(l_prev_counter);
5085 l_kattribute13_tab(l_k_rate_params_counter) := l_kattribute13_tab(l_prev_counter);
5086 l_kattribute14_tab(l_k_rate_params_counter) := l_kattribute14_tab(l_prev_counter);
5087 l_kattribute15_tab(l_k_rate_params_counter) := l_kattribute15_tab(l_prev_counter);
5088 l_kcatchup_frequency_code_tab(l_k_rate_params_counter) := l_kcatchup_frequency_code_tab(l_prev_counter);
5089
5090 l_k_rate_params_counter := l_k_rate_params_counter + 1;
5091 END IF;
5092 END IF;*/ -- if rebook copy
5093
5094 END LOOP;
5095 END LOOP;
5096 CLOSE C30;
5097
5098 IF l_k_rate_params_counter > 1 THEN
5099 FORALL i IN l_kkhr_id_tab.FIRST..l_kkhr_id_tab.LAST
5100 INSERT INTO okl_k_rate_params (
5101 khr_id, parameter_type_code, effective_from_date,
5102 effective_to_date, interest_index_id, base_rate,
5103 interest_start_date, adder_rate, maximum_rate,
5104 minimum_rate, principal_basis_code, days_in_a_month_code,
5105 days_in_a_year_code, interest_basis_code, rate_delay_code,
5106 rate_delay_frequency,compounding_frequency_code, calculation_formula_id,
5107 catchup_basis_code, catchup_start_date, catchup_settlement_code,
5108 rate_change_start_date, rate_change_frequency_code, rate_change_value,
5109 conversion_option_code, next_conversion_date, conversion_type_code,
5110 attribute_category, attribute1, attribute2,
5111 attribute3, attribute4, attribute5,
5112 attribute6, attribute7, attribute8,
5113 attribute9, attribute10, attribute11,
5114 attribute12, attribute13, attribute14,
5115 attribute15, created_by, creation_date,
5116 last_updated_by, last_update_date, last_update_login,
5117 catchup_frequency_code
5118 ) VALUES (
5119 l_kkhr_id_tab(i), l_kparameter_type_code_tab(i), l_keffective_from_date_tab(i),
5120 l_keffective_to_date_tab(i), l_kinterest_index_id_tab(i), l_kbase_rate_tab(i),
5121 l_kinterest_start_date_tab(i), l_kadder_rate_tab(i), l_kmaximum_rate_tab(i),
5122 l_kminimum_rate_tab(i), l_kprincipal_basis_code_tab(i), l_kdays_in_a_month_code_tab(i),
5123 l_kdays_in_a_year_code_tab(i), l_kinterest_basis_code_tab(i), l_krate_delay_code_tab(i),
5124 l_krate_delay_frequency_tab(i), l_kcompounding_frequ_code_tab(i), l_kcalculation_formula_id_tab(i),
5125 l_kcatchup_basis_code_tab(i), l_kcatchup_start_date_tab(i), l_kcatchup_settlemen_code_tab(i),
5126 l_krate_change_start_date_tab(i), l_krate_change_frequ_code_tab(i), l_krate_change_value_tab(i),
5127 l_kconversion_option_code_tab(i), l_knext_conversion_date_tab(i), l_kconversion_type_code_tab(i),
5128 l_kattribute_category_tab(i),l_kattribute1_tab(i), l_kattribute2_tab(i),
5129 l_kattribute3_tab(i), l_kattribute4_tab(i), l_kattribute5_tab(i),
5130 l_kattribute6_tab(i), l_kattribute7_tab(i), l_kattribute8_tab(i),
5131 l_kattribute9_tab(i), l_kattribute10_tab(i), l_kattribute11_tab(i),
5132 l_kattribute12_tab(i), l_kattribute13_tab(i), l_kattribute14_tab(i),
5133 l_kattribute15_tab(i), l_created_by, SYSDATE,
5134 l_last_updated_by, SYSDATE, l_last_update_login,
5135 l_kcatchup_frequency_code_tab(i)
5136 );
5137 END IF;
5138
5139 EXCEPTION WHEN OTHERS THEN
5140
5141 --x_return_status := OKL_API.G_RET_STS_ERROR;
5142 /* DEBUG */
5143 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
5144 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
5145 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing copy_var_int_rate_params:l_kkhr_id_tab.count=' || l_kkhr_id_tab.COUNT || ' ...');
5146 END IF;
5147 IF (l_kkhr_id_tab.COUNT > 0) THEN
5148 FOR i IN l_kkhr_id_tab.first..l_kkhr_id_tab.last
5149 LOOP
5150 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
5151 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'KHR_ID('||i||')=' || l_kKHR_ID_tab(i));
5152 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PARAMETER_TYPE_CODE('||i||')=' || l_kPARAMETER_TYPE_CODE_tab(i));
5153 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'EFFECTIVE_FROM_DATE('||i||')=' || l_kEFFECTIVE_FROM_DATE_tab(i));
5154 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'EFFECTIVE_TO_DATE('||i||')=' || l_kEFFECTIVE_TO_DATE_tab(i));
5155 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'INTEREST_INDEX_ID('||i||')=' || l_kINTEREST_INDEX_ID_tab(i));
5156 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'BASE_RATE('||i||')=' || l_kBASE_RATE_tab(i));
5157 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'INTEREST_START_DATE('||i||')=' || l_kINTEREST_START_DATE_tab(i));
5158 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ADDER_RATE('||i||')=' || l_kADDER_RATE_tab(i));
5159 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'MAXIMUM_RATE('||i||')=' || l_kMAXIMUM_RATE_tab(i));
5160 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'MINIMUM_RATE('||i||')=' || l_kMINIMUM_RATE_tab(i));
5161 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PRINCIPAL_BASIS_CODE('||i||')=' || l_kPRINCIPAL_BASIS_CODE_tab(i));
5162 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'DAYS_IN_A_MONTH_CODE('||i||')=' || l_kDAYS_IN_A_MONTH_CODE_tab(i));
5163 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'DAYS_IN_A_YEAR_CODE('||i||')=' || l_kDAYS_IN_A_YEAR_CODE_tab(i));
5164 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'INTEREST_BASIS_CODE('||i||')=' || l_kINTEREST_BASIS_CODE_tab(i));
5165 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_DELAY_CODE('||i||')=' || l_kRATE_DELAY_CODE_tab(i));
5166 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_DELAY_FREQUENCY('||i||')=' || l_kRATE_DELAY_FREQUENCY_tab(i));
5167 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'COMPOUNDING_FREQUENCY_CODE('||i||')=' || l_kCOMPOUNDING_FREQU_CODE_tab(i));
5168 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CALCULATION_FORMULA_ID('||i||')=' || l_kCALCULATION_FORMULA_ID_tab(i));
5169 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CATCHUP_BASIS_CODE('||i||')=' || l_kCATCHUP_BASIS_CODE_tab(i));
5170 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CATCHUP_START_DATE('||i||')=' || l_kCATCHUP_START_DATE_tab(i));
5171 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CATCHUP_SETTLEMENT_CODE('||i||')=' || l_kCATCHUP_SETTLEMEN_CODE_tab(i));
5172 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_CHANGE_START_DATE('||i||')=' || l_kRATE_CHANGE_START_DATE_tab(i));
5173 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_CHANGE_FREQUENCY_CODE('||i||')=' || l_kRATE_CHANGE_FREQU_CODE_tab(i));
5174 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_CHANGE_VALUE('||i||')=' || l_kRATE_CHANGE_VALUE_tab(i));
5175 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CONVERSION_OPTION_CODE('||i||')=' || l_kCONVERSION_OPTION_CODE_tab(i));
5176 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'NEXT_CONVERSION_DATE('||i||')=' || l_kNEXT_CONVERSION_DATE_tab(i));
5177 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CONVERSION_TYPE_CODE('||i||')=' || l_kCONVERSION_TYPE_CODE_tab(i));
5178 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE_CATEGORY('||i||')=' || l_kATTRIBUTE_CATEGORY_tab(i));
5179 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE1('||i||')=' || l_kATTRIBUTE1_tab(i));
5180 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE2('||i||')=' || l_kATTRIBUTE2_tab(i));
5181 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE3('||i||')=' || l_kATTRIBUTE3_tab(i));
5182 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE4('||i||')=' || l_kATTRIBUTE4_tab(i));
5183 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE5('||i||')=' || l_kATTRIBUTE5_tab(i));
5184 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE6('||i||')=' || l_kATTRIBUTE6_tab(i));
5185 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE7('||i||')=' || l_kATTRIBUTE7_tab(i));
5186 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE8('||i||')=' || l_kATTRIBUTE8_tab(i));
5187 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE9('||i||')=' || l_kATTRIBUTE9_tab(i));
5188 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE10('||i||')=' || l_kATTRIBUTE10_tab(i));
5189 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE11('||i||')=' || l_kATTRIBUTE11_tab(i));
5190 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE12('||i||')=' || l_kATTRIBUTE12_tab(i));
5191 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE13('||i||')=' || l_kATTRIBUTE13_tab(i));
5192 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE14('||i||')=' || l_kATTRIBUTE14_tab(i));
5193 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE15('||i||')=' || l_kATTRIBUTE15_tab(i));
5194 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CATCHUP_FREQUENCY_CODE('||i||')=' || l_kCATCHUP_FREQUENCY_CODE_tab(i));
5195 END IF;
5196 END LOOP;
5197 END IF;
5198
5199 RAISE OKC_API.G_EXCEPTION_ERROR;
5200 END copy_var_int_rate_params;
5201
5202 --------------------------------------------------------------------------------
5203 -- Start of comments
5204 --
5205 -- Procedure Name : copy_lease_contract_new
5206 -- Description : Copies the contract and all the lines attached to the contract
5207 -- Business Rules :
5208 -- Parameters :
5209 -- Version : 1.0
5210 -- Notes :
5211 -- End of comments
5212 --------------------------------------------------------------------------------
5213 PROCEDURE copy_lease_contract_new(
5214 p_api_version IN NUMBER,
5215 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
5216 x_return_status OUT NOCOPY VARCHAR2,
5217 x_msg_count OUT NOCOPY NUMBER,
5218 x_msg_data OUT NOCOPY VARCHAR2,
5219 p_commit IN VARCHAR2 DEFAULT 'F',
5220 p_chr_id IN NUMBER,
5221 p_contract_number IN VARCHAR2,
5222 p_contract_number_modifier IN VARCHAR2,
5223 p_to_template_yn IN VARCHAR2 DEFAULT 'N',
5224 p_renew_ref_yn IN VARCHAR2,
5225 p_copy_lines_yn IN VARCHAR2,
5226 p_override_org IN VARCHAR2 DEFAULT 'N',
5227 p_trans_type IN VARCHAR2,
5228 x_chr_id OUT NOCOPY NUMBER,
5229 p_rbk_date IN DATE DEFAULT NULL) IS
5230
5231 l_api_name CONSTANT VARCHAR2(30) := 'COPY_LEASE_CONTRACT_NEW';
5232 G_APP_NAME CONSTANT VARCHAR2(200) := 'OKL_COPY_CONTRACT';
5233 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKL_COPY_CONTRACT_PVT';
5234 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXP_ERROR';
5235 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
5236 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
5237 --G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(11) := 'CONTRACT_ID';
5238 G_WF_EVT_KHR_CREATED CONSTANT VARCHAR2(41) := 'oracle.apps.okl.la.lease_contract.created';
5239
5240 G_WF_EVT_SERV_FEXP_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.service_fee_expense_updated';
5241 G_WF_EVT_FEE_EXP_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.fee_expense_updated';
5242 G_WF_EVT_FEE_PASS_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.fee_passthrough_updated';
5243 G_WF_ITM_FEE_LINE_ID CONSTANT VARCHAR2(30) := 'FEE_LINE_ID';
5244 G_WF_ITM_SERV_CHR_ID CONSTANT VARCHAR2(30) := 'SERVICE_CONTRACT_ID';
5245 G_WF_ITM_SERV_CLE_ID CONSTANT VARCHAR2(30) := 'SERVICE_CONTRACT_LINE_ID';
5246
5247 G_WF_EVT_SERV_PASS_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.service_fee_passthrough_updated';
5248 G_WF_EVT_ASSET_PROPTAX_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.asset_property_tax_updated';
5249 G_WF_EVT_ASSET_FILING_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.asset_filing_updated';
5250 G_WF_EVT_CONTRACT_TERM_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.asset_filing_terms_updated';
5251 G_WF_ITM_TERMS_ID CONSTANT VARCHAR2(30) := 'TERMS_ID';
5252
5253 G_WF_EVT_ASSET_SUP_INV_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_supplier_invoice_created';
5254 G_WF_EVT_ASSETTAX_DPRN_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_tax_depreciation_created';
5255 G_WF_EVT_ASSETBOOK_DPRN_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_book_depreciation_created';
5256 G_WF_EVT_CR_LMT_CREATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.credit_limit.created';
5257 --G_WF_EVT_CR_LMT_UPDATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.credit_limit.updated';
5258 --G_WF_EVT_CR_LMT_REMOVED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.credit_limit.remove';
5259 G_WF_EVT_ASSET_CREATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.asset_created';
5260 --G_WF_EVT_ASSET_UPDATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.asset_updated';
5261 --G_WF_EVT_ASSET_REMOVED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.remove_asset';
5262 G_WF_EVT_SERVICE_CREATED CONSTANT VARCHAR2(60) := 'oracle.apps.okl.la.lease_contract.service_fee_created';
5263 --G_WF_EVT_SERVICE_UPDATED CONSTANT VARCHAR2(60) := 'oracle.apps.okl.la.lease_contract.service_fee_updated';
5264 G_WF_EVT_ASSET_SUBSIDY_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_subsidy_created';
5265
5266 G_WF_EVT_ASSET_SERIAL_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_serial_numbers_created';
5267 G_WF_ITM_SERIAL_NUM CONSTANT VARCHAR2(30) := 'SERIAL_NUMBER';
5268 G_WF_ITM_CR_LINE_ID CONSTANT VARCHAR2(30) := 'CREDIT_LINE_ID';
5269 G_WF_ITM_CR_LMT_ID CONSTANT VARCHAR2(30) := 'CREDIT_LIMIT_ID';
5270 G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(30) := 'CONTRACT_ID';
5271 G_WF_ITM_ASSET_ID CONSTANT VARCHAR2(30) := 'ASSET_ID';
5272 G_WF_ITM_CONTRACT_PROCESS CONSTANT VARCHAR2(20) := 'CONTRACT_PROCESS';
5273 G_WF_ITM_SRV_LINE_ID CONSTANT VARCHAR2(30) := 'SERVICE_LINE_ID';
5274 G_WF_ITM_SERVICE_KHR_ID CONSTANT VARCHAR2(30) := 'SERVICE_CONTRACT_ID';
5275 G_WF_ITM_SERVICE_CLE_ID CONSTANT VARCHAR2(30) := 'SERVICE_CONTRACT_LINE_ID';
5276 G_WF_ITM_SUBSIDY_ID CONSTANT VARCHAR2(30) := 'SUBSIDY_ID';
5277 G_WF_ITM_SERV_LINE_ID CONSTANT VARCHAR2(30) := 'SERVICE_LINE_ID';
5278
5279 G_WF_ITM_PARTY_ID CONSTANT VARCHAR2(15) := 'PARTY_ID';
5280 G_WF_ITM_PARTY_ROLE_ID CONSTANT VARCHAR2(15) := 'PARTY_ROLE_ID';
5281
5282 G_WF_EVT_KHR_PARTY_CREATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.party_created';
5283 G_WF_EVT_ASSET_FEE_CREATED CONSTANT VARCHAR2(60) := 'oracle.apps.okl.la.lease_contract.asset_fee_created';
5284 G_WF_EVT_ASSET_SERV_FEE_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_service_fee_created';
5285
5286 G_WF_EVT_FEE_CREATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.fee_created';
5287 --G_WF_EVT_FEE_UPDATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.fee_updated';
5288 --G_WF_ITM_FEE_LINE_ID CONSTANT VARCHAR2(30) := 'FEE_LINE_ID';
5289
5290 --G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(30) := 'CONTRACT_ID';
5291 --G_WF_ITM_ASSET_ID CONSTANT VARCHAR2(30) := 'ASSET_ID';
5292 G_WF_ITM_BOOK_CODE CONSTANT VARCHAR2(30) := 'BOOK_CODE';
5293 --G_WF_ITM_CONTRACT_PROCESS CONSTANT VARCHAR2(30) := 'CONTRACT_PROCESS';
5294
5295 l_inventory_org_id NUMBER;
5296 l_curr_pos VARCHAR2(80);
5297 l_message VARCHAR2(30) ;
5298 l_new_mapping_id NUMBER;
5299 l_hstv_rec okc_k_history_pvt.hstv_rec_type;
5300 x_hstv_rec okc_k_history_pvt.hstv_rec_type;
5301 l_serv_contract_id okc_k_headers_b.id%TYPE;
5302 l_service_top_line_id okc_k_lines_b.id%TYPE;
5303 l_deal_type okl_k_headers.deal_type%TYPE;
5304 l_queried BOOLEAN := FALSE;
5305 l_line_style okc_k_lines_b.lse_id%TYPE;
5306 l_terms_id NUMBER;
5307 l_vendor_id VARCHAR2(40);
5308 l_tal_kle_cle_id NUMBER;
5309 l_new_object1_id1 VARCHAR2(40);
5310 l_contract_process VARCHAR2(30);
5311 l_parameter_list wf_parameter_list_t;
5312 l_event_name wf_events.name%TYPE := NULL;
5313 l_raise_business_event VARCHAR2(1) := OKL_API.G_FALSE;
5314 l_business_event_name wf_events.name%TYPE := NULL;
5315
5316 l_contract_number okc_k_headers_b.contract_number%TYPE;
5317 l_copied_id NUMBER;
5318 l_gov_id NUMBER;
5319 l_capital_amount NUMBER;
5320 l_contract_currency okc_k_headers_b.currency_code%TYPE;
5321 l_contract_start_date okc_k_headers_b.start_date%TYPE;
5322 l_conversion_type okc_k_headers_b.CONVERSION_TYPE%TYPE;
5323 l_conversion_rate okc_k_headers_b.CONVERSION_RATE%TYPE;
5324 l_conversion_rate_date okc_k_headers_b.CONVERSION_RATE_DATE%TYPE;
5325 l_template_yn okc_k_headers_b.TEMPLATE_YN%TYPE;
5326 l_trx_assets_counter4 NUMBER := 1;
5327 l_tal_to_kle_counter NUMBER := 1;
5328 l_trx_assets_counter6 NUMBER := 1;
5329 l_okl_k_lines_counter NUMBER := 1;
5330 l_try_id NUMBER;
5331 CURSOR c1(p_chr_id NUMBER) IS
5332 SELECT * FROM okc_k_headers_b
5333 WHERE id=p_chr_id;
5334
5335 CURSOR c2(p_chr_id NUMBER) IS
5336 SELECT * FROM okc_governances
5337 WHERE dnz_chr_id = p_chr_id;
5338
5339 -- okc_governances_h is not needed
5340 /*
5341 cursor c3(p_chr_id number) is
5342 select * from okc_governances_h
5343 where dnz_chr_id = p_chr_id; */
5344
5345 CURSOR c4(p_chr_id NUMBER) IS
5346 SELECT
5347 a.id, a.line_number, a.chr_id,
5348 a.cle_id, a.cle_id_renewed, a.dnz_chr_id,
5349 a.display_sequence, a.sts_code, a.trn_code,
5350 a.lse_id, a.exception_yn, a.object_version_number,
5351 a.created_by, a.creation_date, a.last_updated_by,
5352 a.last_update_date, a.hidden_ind, a.price_negotiated,
5353 a.price_level_ind, a.price_unit, a.price_unit_percent,
5354 a.invoice_line_level_ind, a.dpas_rating, a.template_used,
5355 a.price_type, a.currency_code, a.last_update_login,
5356 a.date_terminated, a.start_date, a.end_date,
5357 a.attribute_category, a.attribute1, a.attribute2,
5358 a.attribute3, a.attribute4, a.attribute5,
5359 a.attribute6, a.attribute7, a.attribute8,
5360 a.attribute9, a.attribute10, a.attribute11,
5361 a.attribute12, a.attribute13, a.attribute14,
5362 a.attribute15, a.security_group_id, a.cle_id_renewed_to,
5363 a.price_negotiated_renewed, a.currency_code_renewed, a.upg_orig_system_ref,
5364 a.upg_orig_system_ref_id, a.date_renewed, a.orig_system_source_code,
5365 a.orig_system_id1, a.orig_system_reference1, a.program_application_id,
5366 a.program_id, a.program_update_date, a.request_id,
5367 a.price_list_id, a.price_list_line_id, a.line_list_price,
5368 a.item_to_price_yn, a.pricing_date, a.price_basis_yn,
5369 a.config_header_id, a.config_revision_number, a.config_complete_yn,
5370 a.config_valid_yn, a.config_top_model_line_id, a.config_item_type,
5371 a.config_item_id, a.service_item_yn, a.ph_pricing_type,
5372 a.ph_price_break_basis, a.ph_min_qty, a.ph_min_amt,
5373 a.ph_qp_reference_id, a.ph_value, a.ph_enforce_price_list_yn,
5374 a.ph_adjustment, a.ph_integrated_with_qp, a.cust_acct_id,
5375 a.bill_to_site_use_id, a.inv_rule_id, a.line_renewal_type_code,
5376 a.ship_to_site_use_id, a.payment_term_id, b.fee_type,
5377 c.name
5378 FROM okc_k_lines_b a,
5379 okl_k_lines b,
5380 okc_k_lines_tl c
5381 WHERE a.dnz_chr_id = p_chr_id
5382 AND a.id = b.id
5383 AND a.id = c.id
5384 AND c.LANGUAGE = USERENV('LANG');
5385
5386 CURSOR c29(p_id NUMBER) IS
5387 SELECT rlobj.cle_id, rlobj.object1_id1
5388 FROM okc_k_rel_objs_v rlobj
5389 WHERE rlobj.chr_id = p_id
5390 --AND rlobj.cle_id = p_line_id
5391 AND rlobj.rty_code = 'OKLSRV'
5392 AND rlobj.jtot_object1_code = 'OKL_SERVICE_LINE';
5393
5394 -- Bug 4738057
5395 CURSOR contract_exists_csr(p_contract_number IN VARCHAR2) IS
5396 SELECT ID
5397 FROM OKC_K_HEADERS_B
5398 WHERE CONTRACT_NUMBER = p_contract_number;
5399
5400 TYPE l_subsidy_id_type IS TABLE OF okl_k_lines.subsidy_id%TYPE INDEX BY BINARY_INTEGER;
5401
5402 TYPE l_id_type IS TABLE OF okc_k_lines_b.id%TYPE INDEX BY BINARY_INTEGER;
5403 TYPE l_line_number_type IS TABLE OF okc_k_lines_b.line_number%TYPE INDEX BY BINARY_INTEGER;
5404 TYPE l_chr_id_type IS TABLE OF okc_k_lines_b.chr_id%TYPE INDEX BY BINARY_INTEGER;
5405 TYPE l_cle_id_type IS TABLE OF okc_k_lines_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
5406 TYPE l_cle_id_renewed_type IS TABLE OF okc_k_lines_b.cle_id_renewed%TYPE INDEX BY BINARY_INTEGER;
5407 TYPE l_dnz_chr_id_type IS TABLE OF okc_k_lines_b.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5408 TYPE l_display_sequence_type IS TABLE OF okc_k_lines_b.display_sequence%TYPE INDEX BY BINARY_INTEGER;
5409 TYPE l_sts_code_type IS TABLE OF okc_k_lines_b.sts_code%TYPE INDEX BY BINARY_INTEGER;
5410 TYPE l_trn_code_type IS TABLE OF okc_k_lines_b.trn_code%TYPE INDEX BY BINARY_INTEGER;
5411 TYPE l_lse_id_type IS TABLE OF okc_k_lines_b.lse_id%TYPE INDEX BY BINARY_INTEGER;
5412 --avsingh: Bug 5710213: start
5413 TYPE l_lty_code_type IS TABLE OF okc_line_styles_b.lty_code%TYPE INDEX BY BINARY_INTEGER;
5414 --avsingh: Bug 5710213: end
5415 TYPE l_exception_yn_type IS TABLE OF okc_k_lines_b.exception_yn%TYPE INDEX BY BINARY_INTEGER;
5416 TYPE l_object_version_number_type IS TABLE OF okc_k_lines_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5417 TYPE l_created_by_type IS TABLE OF okc_k_lines_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5418 TYPE l_creation_date_type IS TABLE OF okc_k_lines_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5419 TYPE l_last_updated_by_type IS TABLE OF okc_k_lines_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5420 TYPE l_last_update_date_type IS TABLE OF okc_k_lines_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5421 TYPE l_hidden_ind_type IS TABLE OF okc_k_lines_b.hidden_ind%TYPE INDEX BY BINARY_INTEGER;
5422 TYPE l_price_negotiated_type IS TABLE OF okc_k_lines_b.price_negotiated%TYPE INDEX BY BINARY_INTEGER;
5423 TYPE l_price_level_ind_type IS TABLE OF okc_k_lines_b.price_level_ind%TYPE INDEX BY BINARY_INTEGER;
5424 TYPE l_price_unit_type IS TABLE OF okc_k_lines_b.price_unit%TYPE INDEX BY BINARY_INTEGER;
5425 TYPE l_price_unit_percent_type IS TABLE OF okc_k_lines_b.price_unit_percent%TYPE INDEX BY BINARY_INTEGER;
5426 TYPE l_invoice_line_level_ind_type IS TABLE OF okc_k_lines_b.invoice_line_level_ind%TYPE INDEX BY BINARY_INTEGER;
5427 TYPE l_dpas_rating_type IS TABLE OF okc_k_lines_b.dpas_rating%TYPE INDEX BY BINARY_INTEGER;
5428 TYPE l_template_used_type IS TABLE OF okc_k_lines_b.template_used%TYPE INDEX BY BINARY_INTEGER;
5429 TYPE l_price_type_type IS TABLE OF okc_k_lines_b.price_type%TYPE INDEX BY BINARY_INTEGER;
5430 TYPE l_currency_code_type IS TABLE OF okc_k_lines_b.currency_code%TYPE INDEX BY BINARY_INTEGER;
5431 TYPE l_last_update_login_type IS TABLE OF okc_k_lines_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5432 TYPE l_date_terminated_type IS TABLE OF okc_k_lines_b.date_terminated%TYPE INDEX BY BINARY_INTEGER;
5433 TYPE l_start_date_type IS TABLE OF okc_k_lines_b.start_date%TYPE INDEX BY BINARY_INTEGER;
5434 TYPE l_end_date_type IS TABLE OF okc_k_lines_b.end_date%TYPE INDEX BY BINARY_INTEGER;
5435 TYPE l_attribute_category_type IS TABLE OF okc_k_lines_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5436 TYPE l_attribute1_type IS TABLE OF okc_k_lines_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5437 TYPE l_attribute2_type IS TABLE OF okc_k_lines_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5438 TYPE l_attribute3_type IS TABLE OF okc_k_lines_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5439 TYPE l_attribute4_type IS TABLE OF okc_k_lines_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5440 TYPE l_attribute5_type IS TABLE OF okc_k_lines_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5441 TYPE l_attribute6_type IS TABLE OF okc_k_lines_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5442 TYPE l_attribute7_type IS TABLE OF okc_k_lines_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5443 TYPE l_attribute8_type IS TABLE OF okc_k_lines_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5444 TYPE l_attribute9_type IS TABLE OF okc_k_lines_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5445 TYPE l_attribute10_type IS TABLE OF okc_k_lines_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5446 TYPE l_attribute11_type IS TABLE OF okc_k_lines_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5447 TYPE l_attribute12_type IS TABLE OF okc_k_lines_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5448 TYPE l_attribute13_type IS TABLE OF okc_k_lines_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5449 TYPE l_attribute14_type IS TABLE OF okc_k_lines_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5450 TYPE l_attribute15_type IS TABLE OF okc_k_lines_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5451 TYPE l_security_group_id_type IS TABLE OF okc_k_lines_b.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5452 TYPE l_cle_id_renewed_to_type IS TABLE OF okc_k_lines_b.cle_id_renewed_to%TYPE INDEX BY BINARY_INTEGER;
5453 TYPE l_price_negotiated_renewed_typ IS TABLE OF okc_k_lines_b.price_negotiated_renewed%TYPE INDEX BY BINARY_INTEGER;
5454 TYPE l_currency_code_renewed_type IS TABLE OF okc_k_lines_b.currency_code_renewed%TYPE INDEX BY BINARY_INTEGER;
5455 TYPE l_upg_orig_system_ref_type IS TABLE OF okc_k_lines_b.upg_orig_system_ref%TYPE INDEX BY BINARY_INTEGER;
5456 TYPE l_upg_orig_system_ref_id_type IS TABLE OF okc_k_lines_b.upg_orig_system_ref_id%TYPE INDEX BY BINARY_INTEGER;
5457 TYPE l_date_renewed_type IS TABLE OF okc_k_lines_b.date_renewed%TYPE INDEX BY BINARY_INTEGER;
5458 TYPE l_orig_system_source_code_type IS TABLE OF okc_k_lines_b.orig_system_source_code%TYPE INDEX BY BINARY_INTEGER;
5459 TYPE l_orig_system_id1_type IS TABLE OF okc_k_lines_b.orig_system_id1%TYPE INDEX BY BINARY_INTEGER;
5460 TYPE l_orig_system_reference1_type IS TABLE OF okc_k_lines_b.orig_system_reference1%TYPE INDEX BY BINARY_INTEGER;
5461 TYPE l_program_application_id_type IS TABLE OF okc_k_lines_b.program_application_id%TYPE INDEX BY BINARY_INTEGER;
5462 TYPE l_program_id_type IS TABLE OF okc_k_lines_b.program_id%TYPE INDEX BY BINARY_INTEGER;
5463 TYPE l_program_update_date_type IS TABLE OF okc_k_lines_b.program_update_date%TYPE INDEX BY BINARY_INTEGER;
5464 TYPE l_request_id_type IS TABLE OF okc_k_lines_b.request_id%TYPE INDEX BY BINARY_INTEGER;
5465 TYPE l_price_list_id_type IS TABLE OF okc_k_lines_b.price_list_id%TYPE INDEX BY BINARY_INTEGER;
5466 TYPE l_price_list_line_id_type IS TABLE OF okc_k_lines_b.price_list_line_id%TYPE INDEX BY BINARY_INTEGER;
5467 TYPE l_line_list_price_type IS TABLE OF okc_k_lines_b.line_list_price%TYPE INDEX BY BINARY_INTEGER;
5468 TYPE l_item_to_price_yn_type IS TABLE OF okc_k_lines_b.item_to_price_yn%TYPE INDEX BY BINARY_INTEGER;
5469 TYPE l_pricing_date_type IS TABLE OF okc_k_lines_b.pricing_date%TYPE INDEX BY BINARY_INTEGER;
5470 TYPE l_price_basis_yn_type IS TABLE OF okc_k_lines_b.price_basis_yn%TYPE INDEX BY BINARY_INTEGER;
5471 TYPE l_config_header_id_type IS TABLE OF okc_k_lines_b.config_header_id%TYPE INDEX BY BINARY_INTEGER;
5472 TYPE l_config_revision_number_type IS TABLE OF okc_k_lines_b.config_revision_number%TYPE INDEX BY BINARY_INTEGER;
5473 TYPE l_config_complete_yn_type IS TABLE OF okc_k_lines_b.config_complete_yn%TYPE INDEX BY BINARY_INTEGER;
5474 TYPE l_config_valid_yn_type IS TABLE OF okc_k_lines_b.config_valid_yn%TYPE INDEX BY BINARY_INTEGER;
5475 TYPE l_config_top_model_line_id_typ IS TABLE OF okc_k_lines_b.config_top_model_line_id%TYPE INDEX BY BINARY_INTEGER;
5476 TYPE l_config_item_type_type IS TABLE OF okc_k_lines_b.config_item_type%TYPE INDEX BY BINARY_INTEGER;
5477 TYPE l_config_item_id_type IS TABLE OF okc_k_lines_b.config_item_id%TYPE INDEX BY BINARY_INTEGER;
5478 TYPE l_service_item_yn_type IS TABLE OF okc_k_lines_b.service_item_yn%TYPE INDEX BY BINARY_INTEGER;
5479 TYPE l_ph_pricing_type_type IS TABLE OF okc_k_lines_b.ph_pricing_type%TYPE INDEX BY BINARY_INTEGER;
5480 TYPE l_ph_price_break_basis_type IS TABLE OF okc_k_lines_b.ph_price_break_basis%TYPE INDEX BY BINARY_INTEGER;
5481 TYPE l_ph_min_qty_type IS TABLE OF okc_k_lines_b.ph_min_qty%TYPE INDEX BY BINARY_INTEGER;
5482 TYPE l_ph_min_amt_type IS TABLE OF okc_k_lines_b.ph_min_amt%TYPE INDEX BY BINARY_INTEGER;
5483 TYPE l_ph_qp_reference_id_type IS TABLE OF okc_k_lines_b.ph_qp_reference_id%TYPE INDEX BY BINARY_INTEGER;
5484 TYPE l_ph_value_type IS TABLE OF okc_k_lines_b.ph_value%TYPE INDEX BY BINARY_INTEGER;
5485 TYPE l_ph_enforce_price_list_yn_typ IS TABLE OF okc_k_lines_b.ph_enforce_price_list_yn%TYPE INDEX BY BINARY_INTEGER;
5486 TYPE l_ph_adjustment_type IS TABLE OF okc_k_lines_b.ph_adjustment%TYPE INDEX BY BINARY_INTEGER;
5487 TYPE l_ph_integrated_with_qp_type IS TABLE OF okc_k_lines_b.ph_integrated_with_qp%TYPE INDEX BY BINARY_INTEGER;
5488 TYPE l_cust_acct_id_type IS TABLE OF okc_k_lines_b.cust_acct_id%TYPE INDEX BY BINARY_INTEGER;
5489 TYPE l_bill_to_site_use_id_type IS TABLE OF okc_k_lines_b.bill_to_site_use_id%TYPE INDEX BY BINARY_INTEGER;
5490 TYPE l_inv_rule_id_type IS TABLE OF okc_k_lines_b.inv_rule_id%TYPE INDEX BY BINARY_INTEGER;
5491 TYPE l_line_renewal_type_code_type IS TABLE OF okc_k_lines_b.line_renewal_type_code%TYPE INDEX BY BINARY_INTEGER;
5492 TYPE l_ship_to_site_use_id_type IS TABLE OF okc_k_lines_b.ship_to_site_use_id%TYPE INDEX BY BINARY_INTEGER;
5493 TYPE l_payment_term_id_type IS TABLE OF okc_k_lines_b.payment_term_id%TYPE INDEX BY BINARY_INTEGER;
5494 TYPE l_fee_type_type IS TABLE OF okl_k_lines.fee_type%TYPE INDEX BY BINARY_INTEGER;
5495 TYPE l_name_type IS TABLE OF okc_k_lines_tl.name%TYPE INDEX BY BINARY_INTEGER;
5496
5497 -- For okl_k_lines whole record
5498 TYPE l_okl_k_lines_rec_type IS RECORD (
5499 --id okl_k_lines.id%type := OKC_API.G_MISS_NUM,
5500 id NUMBER := OKC_API.G_MISS_NUM,
5501 oec okl_k_lines.oec%TYPE,
5502 year_built okl_k_lines.year_built%TYPE,
5503 item_description okc_k_lines_tl.item_description%TYPE := OKC_API.G_MISS_CHAR
5504 );
5505 /*
5506 TYPE lines_rec_type is record (
5507 id okl_k_lines.id%type := OKC_API.G_MISS_NUM,
5508 oec okl_k_lines.oec%type
5509 );
5510 TYPE lines_tbl_type is TABLE OF lines_rec_type
5511 index by binary_integer; */
5512
5513 TYPE l_okl_k_lines_rec_tab IS TABLE OF l_okl_k_lines_rec_type
5514 INDEX BY BINARY_INTEGER;
5515 -- For okl_k_lines whole record
5516
5517 -- For okc_k_items whole record
5518 TYPE l_okc_k_items_rec_type IS RECORD (
5519 id okc_k_items.cle_id%TYPE := OKC_API.G_MISS_NUM,
5520 number_of_items okc_k_items.number_of_items%TYPE := OKC_API.G_MISS_NUM,
5521 object1_id1 okc_k_items.object1_id1%TYPE := OKC_API.G_MISS_CHAR,
5522 object1_id2 okc_k_items.object1_id2%TYPE := OKC_API.G_MISS_CHAR
5523 );
5524 TYPE l_okc_k_items_rec_tab IS TABLE OF l_okc_k_items_rec_type INDEX BY BINARY_INTEGER;
5525 -- For okc_k_items whole record
5526
5527
5528 TYPE l_bid_mapping_type IS RECORD (old_id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okc_k_lines_tl.name%TYPE := OKC_API.G_MISS_CHAR);
5529 TYPE l_cle_lse_mapping_type IS RECORD (cle_id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM, lse_id NUMBER := OKC_API.G_MISS_NUM, id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM);
5530 TYPE l_ssid_mapping_type IS RECORD (cle_id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM, object1_id1 okc_k_rel_objs_v.object1_id1%TYPE := OKC_API.G_MISS_CHAR);
5531 TYPE l_sid_mapping_type IS RECORD (id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM, lse_id okc_k_lines_b.lse_id%TYPE := OKC_API.G_MISS_NUM);
5532 TYPE l_tid_mapping_type IS RECORD (rgd_code okc_rule_groups_b.rgd_code%TYPE := OKC_API.G_MISS_CHAR, id okc_rule_groups_b.id%TYPE := OKC_API.G_MISS_NUM);
5533 TYPE l_vid_mapping_type IS RECORD (cle_id okc_k_party_roles_b.cle_id%TYPE := OKC_API.G_MISS_NUM, object1_id1 okc_k_party_roles_b.object1_id1%TYPE := OKC_API.G_MISS_CHAR);
5534 TYPE l_dbid_mapping_type IS RECORD (tal_id okl_txl_assets_b.id%TYPE := OKC_API.G_MISS_NUM, kle_id okl_txl_assets_b.kle_id%TYPE := OKC_API.G_MISS_NUM);
5535 TYPE l_osid_mapping_type IS RECORD (id okl_k_lines.id%TYPE := OKC_API.G_MISS_NUM, subsidy_id okl_k_lines.subsidy_id%TYPE := OKC_API.G_MISS_NUM);
5536 TYPE l_cid_mapping_type IS RECORD (old_id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okc_k_lines_b.cle_id%TYPE := OKC_API.G_MISS_NUM);
5537 TYPE l_rid_mapping_type IS RECORD (old_id okc_rule_groups_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okc_rule_groups_b.id%TYPE := OKC_API.G_MISS_NUM);
5538 TYPE l_id_mapping_type IS RECORD (old_id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM);
5539 TYPE l_orig_system_rec_type IS RECORD (orig_system_id1 okc_k_lines_b.orig_system_id1%TYPE := OKC_API.G_MISS_NUM, id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM);
5540 TYPE l_rrid_mapping_type IS RECORD (old_id okc_rules_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okc_rules_b.id%TYPE := OKC_API.G_MISS_NUM);
5541 TYPE l_aid_mapping_type IS RECORD (old_id okc_k_lines_tl.name%TYPE := OKC_API.G_MISS_CHAR, new_id okc_k_lines_tl.name%TYPE := OKC_API.G_MISS_CHAR);
5542 TYPE l_oid_mapping_type IS RECORD (cle_id okc_k_items.cle_id%TYPE := OKC_API.G_MISS_NUM, object1_id1 okc_k_items.object1_id1%TYPE := OKC_API.G_MISS_CHAR);
5543 TYPE l_cle_mapping_type IS RECORD (old_id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okl_trx_assets.id%TYPE := OKC_API.G_MISS_NUM, line_number NUMBER := OKC_API.G_MISS_NUM);
5544 TYPE l_cle_mapping_type2 IS RECORD (old_id okc_k_lines_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okl_trx_assets.id%TYPE := OKC_API.G_MISS_NUM);
5545
5546 TYPE l_bid_mapping_tab_type IS TABLE OF l_bid_mapping_type INDEX BY BINARY_INTEGER;
5547 TYPE l_cle_lse_mapping_tab_type IS TABLE OF l_cle_lse_mapping_type INDEX BY BINARY_INTEGER;
5548 TYPE l_ssid_mapping_tab_type IS TABLE OF l_ssid_mapping_type INDEX BY BINARY_INTEGER;
5549 TYPE l_sid_mapping_tab_type IS TABLE OF l_sid_mapping_type INDEX BY BINARY_INTEGER;
5550 TYPE l_tid_mapping_tab_type IS TABLE OF l_tid_mapping_type INDEX BY BINARY_INTEGER;
5551 TYPE l_vid_mapping_tab_type IS TABLE OF l_vid_mapping_type INDEX BY BINARY_INTEGER;
5552 TYPE l_dbid_mapping_tab_type IS TABLE OF l_dbid_mapping_type INDEX BY BINARY_INTEGER;
5553 TYPE l_osid_mapping_tab_type IS TABLE OF l_osid_mapping_type INDEX BY BINARY_INTEGER;
5554 TYPE l_cid_mapping_tab_type IS TABLE OF l_cid_mapping_type INDEX BY BINARY_INTEGER;
5555 TYPE l_rid_mapping_tab_type IS TABLE OF l_rid_mapping_type INDEX BY BINARY_INTEGER;
5556 TYPE l_id_mapping_tab_type IS TABLE OF l_id_mapping_type INDEX BY BINARY_INTEGER;
5557 TYPE l_orig_system_tab_type IS TABLE OF l_orig_system_rec_type INDEX BY BINARY_INTEGER;
5558 TYPE l_rrid_mapping_tab_type IS TABLE OF l_rrid_mapping_type INDEX BY BINARY_INTEGER;
5559 TYPE l_aid_mapping_tab_type IS TABLE OF l_aid_mapping_type INDEX BY BINARY_INTEGER;
5560 TYPE l_oid_mapping_tab_type IS TABLE OF l_oid_mapping_type INDEX BY BINARY_INTEGER;
5561 TYPE l_cle_mapping_tab_type IS TABLE OF l_cle_mapping_type INDEX BY BINARY_INTEGER;
5562 TYPE l_cle_mapping_tab_type2 IS TABLE OF l_cle_mapping_type2 INDEX BY BINARY_INTEGER;
5563
5564 TYPE l_party_id_mapping_type IS RECORD (old_id okc_k_party_roles_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okc_k_party_roles_b.id%TYPE := OKC_API.G_MISS_NUM);
5565 TYPE l_party_id_mapping_tab_type IS TABLE OF l_party_id_mapping_type INDEX BY BINARY_INTEGER;
5566
5567 TYPE l_trx_id_mapping_type IS RECORD (old_id okl_trx_assets.id%TYPE := OKC_API.G_MISS_NUM, new_id okl_trx_assets.id%TYPE := OKC_API.G_MISS_NUM);
5568 TYPE l_trx_id_mapping_tab_type IS TABLE OF l_trx_id_mapping_type INDEX BY BINARY_INTEGER;
5569
5570 TYPE l_txl_id_mapping_type IS RECORD (old_id okl_txl_assets_b.id%TYPE := OKC_API.G_MISS_NUM, new_id okl_txl_assets_b.id%TYPE := OKC_API.G_MISS_NUM);
5571 TYPE l_txl_id_mapping_tab_type IS TABLE OF l_txl_id_mapping_type INDEX BY BINARY_INTEGER;
5572
5573 -- For okl_k_party_roles begin
5574 TYPE l_plid_type is table of okl_k_party_roles.id%TYPE index by binary_integer;
5575 TYPE l_plobject_version_number_type is table of okl_k_party_roles.object_version_number%TYPE index by binary_integer;
5576 TYPE l_plattribute_category_type is table of okl_k_party_roles.attribute_category%TYPE index by binary_integer;
5577 TYPE l_plattribute1_type is table of okl_k_party_roles.attribute1%TYPE index by binary_integer;
5578 TYPE l_plattribute2_type is table of okl_k_party_roles.attribute2%TYPE index by binary_integer;
5579 TYPE l_plattribute3_type is table of okl_k_party_roles.attribute3%TYPE index by binary_integer;
5580 TYPE l_plattribute4_type is table of okl_k_party_roles.attribute4%TYPE index by binary_integer;
5581 TYPE l_plattribute5_type is table of okl_k_party_roles.attribute5%TYPE index by binary_integer;
5582 TYPE l_plattribute6_type is table of okl_k_party_roles.attribute6%TYPE index by binary_integer;
5583 TYPE l_plattribute7_type is table of okl_k_party_roles.attribute7%TYPE index by binary_integer;
5584 TYPE l_plattribute8_type is table of okl_k_party_roles.attribute8%TYPE index by binary_integer;
5585 TYPE l_plattribute9_type is table of okl_k_party_roles.attribute9%TYPE index by binary_integer;
5586 TYPE l_plattribute10_type is table of okl_k_party_roles.attribute10%TYPE index by binary_integer;
5587 TYPE l_plattribute11_type is table of okl_k_party_roles.attribute11%TYPE index by binary_integer;
5588 TYPE l_plattribute12_type is table of okl_k_party_roles.attribute12%TYPE index by binary_integer;
5589 TYPE l_plattribute13_type is table of okl_k_party_roles.attribute13%TYPE index by binary_integer;
5590 TYPE l_plattribute14_type is table of okl_k_party_roles.attribute14%TYPE index by binary_integer;
5591 TYPE l_plattribute15_type is table of okl_k_party_roles.attribute15%TYPE index by binary_integer;
5592 -- For okl_k_party_roles end
5593
5594 -- For party_roles_tl Begin
5595 TYPE l_pid_type IS TABLE OF okc_k_party_roles_tl.id%TYPE INDEX BY BINARY_INTEGER;
5596 TYPE l_planguage_type IS TABLE OF okc_k_party_roles_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
5597 TYPE l_psource_lang_type IS TABLE OF okc_k_party_roles_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
5598 TYPE l_psfwt_flag_type IS TABLE OF okc_k_party_roles_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
5599 TYPE l_pcreated_by_type IS TABLE OF okc_k_party_roles_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
5600 TYPE l_pcreation_date_type IS TABLE OF okc_k_party_roles_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
5601 TYPE l_plast_updated_by_type IS TABLE OF okc_k_party_roles_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5602 TYPE l_plast_update_date_type IS TABLE OF okc_k_party_roles_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5603 TYPE l_pcognomen_type IS TABLE OF okc_k_party_roles_tl.cognomen%TYPE INDEX BY BINARY_INTEGER;
5604 TYPE l_palias_type IS TABLE OF okc_k_party_roles_tl.alias%TYPE INDEX BY BINARY_INTEGER;
5605 TYPE l_plast_update_login_type IS TABLE OF okc_k_party_roles_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5606 TYPE l_psecurity_group_id_type IS TABLE OF okc_k_party_roles_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5607 -- For party_roles_tl End
5608
5609 -- For okl_supp_invoice_dtls Begin
5610 TYPE l_osid_type IS TABLE OF okl_supp_invoice_dtls.id%TYPE INDEX BY BINARY_INTEGER;
5611 TYPE l_osobject_version_number_type IS TABLE OF okl_supp_invoice_dtls.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5612 TYPE l_oscle_id_type IS TABLE OF okl_supp_invoice_dtls.cle_id%TYPE INDEX BY BINARY_INTEGER;
5613 TYPE l_osfa_cle_id_type IS TABLE OF okl_supp_invoice_dtls.fa_cle_id%TYPE INDEX BY BINARY_INTEGER;
5614 TYPE l_osinvoice_number_type IS TABLE OF okl_supp_invoice_dtls.invoice_number%TYPE INDEX BY BINARY_INTEGER;
5615 TYPE l_osdate_invoiced_type IS TABLE OF okl_supp_invoice_dtls.date_invoiced%TYPE INDEX BY BINARY_INTEGER;
5616 TYPE l_osdate_due_type IS TABLE OF okl_supp_invoice_dtls.date_due%TYPE INDEX BY BINARY_INTEGER;
5617 TYPE l_osshipping_address_id1_type IS TABLE OF okl_supp_invoice_dtls.shipping_address_id1%TYPE INDEX BY BINARY_INTEGER;
5618 TYPE l_osshipping_address_id2_type IS TABLE OF okl_supp_invoice_dtls.shipping_address_id2%TYPE INDEX BY BINARY_INTEGER;
5619 TYPE l_osshipping_address_code_type IS TABLE OF okl_supp_invoice_dtls.shipping_address_code%TYPE INDEX BY BINARY_INTEGER;
5620 TYPE l_osattribute_category_type IS TABLE OF okl_supp_invoice_dtls.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5621 TYPE l_osattribute1_type IS TABLE OF okl_supp_invoice_dtls.attribute1%TYPE INDEX BY BINARY_INTEGER;
5622 TYPE l_osattribute2_type IS TABLE OF okl_supp_invoice_dtls.attribute2%TYPE INDEX BY BINARY_INTEGER;
5623 TYPE l_osattribute3_type IS TABLE OF okl_supp_invoice_dtls.attribute3%TYPE INDEX BY BINARY_INTEGER;
5624 TYPE l_osattribute4_type IS TABLE OF okl_supp_invoice_dtls.attribute4%TYPE INDEX BY BINARY_INTEGER;
5625 TYPE l_osattribute5_type IS TABLE OF okl_supp_invoice_dtls.attribute5%TYPE INDEX BY BINARY_INTEGER;
5626 TYPE l_osattribute6_type IS TABLE OF okl_supp_invoice_dtls.attribute6%TYPE INDEX BY BINARY_INTEGER;
5627 TYPE l_osattribute7_type IS TABLE OF okl_supp_invoice_dtls.attribute7%TYPE INDEX BY BINARY_INTEGER;
5628 TYPE l_osattribute8_type IS TABLE OF okl_supp_invoice_dtls.attribute8%TYPE INDEX BY BINARY_INTEGER;
5629 TYPE l_osattribute9_type IS TABLE OF okl_supp_invoice_dtls.attribute9%TYPE INDEX BY BINARY_INTEGER;
5630 TYPE l_osattribute10_type IS TABLE OF okl_supp_invoice_dtls.attribute10%TYPE INDEX BY BINARY_INTEGER;
5631 TYPE l_osattribute11_type IS TABLE OF okl_supp_invoice_dtls.attribute11%TYPE INDEX BY BINARY_INTEGER;
5632 TYPE l_osattribute12_type IS TABLE OF okl_supp_invoice_dtls.attribute12%TYPE INDEX BY BINARY_INTEGER;
5633 TYPE l_osattribute13_type IS TABLE OF okl_supp_invoice_dtls.attribute13%TYPE INDEX BY BINARY_INTEGER;
5634 TYPE l_osattribute14_type IS TABLE OF okl_supp_invoice_dtls.attribute14%TYPE INDEX BY BINARY_INTEGER;
5635 TYPE l_osattribute15_type IS TABLE OF okl_supp_invoice_dtls.attribute15%TYPE INDEX BY BINARY_INTEGER;
5636 TYPE l_oscreated_by_type IS TABLE OF okl_supp_invoice_dtls.created_by%TYPE INDEX BY BINARY_INTEGER;
5637 TYPE l_oscreation_date_type IS TABLE OF okl_supp_invoice_dtls.creation_date%TYPE INDEX BY BINARY_INTEGER;
5638 TYPE l_oslast_updated_by_type IS TABLE OF okl_supp_invoice_dtls.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5639 TYPE l_oslast_update_date_type IS TABLE OF okl_supp_invoice_dtls.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5640 TYPE l_oslast_update_login_type IS TABLE OF okl_supp_invoice_dtls.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5641 -- For okl_supp_invoice_dtls End
5642
5643 TYPE l_misc_object1_id1 IS TABLE OF VARCHAR2(40) INDEX BY BINARY_INTEGER;
5644 -- For okc_contacts Begin
5645
5646 TYPE l_cid_type IS TABLE OF okc_contacts.id%TYPE INDEX BY BINARY_INTEGER;
5647 TYPE l_ccpl_id_type IS TABLE OF okc_contacts.cpl_id%TYPE INDEX BY BINARY_INTEGER;
5648 TYPE l_ccro_code_type IS TABLE OF okc_contacts.cro_code%TYPE INDEX BY BINARY_INTEGER;
5649 TYPE l_cdnz_chr_id_type IS TABLE OF okc_contacts.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5650 TYPE l_cobject1_id1_type IS TABLE OF okc_contacts.object1_id1%TYPE INDEX BY BINARY_INTEGER;
5651 TYPE l_cobject1_id2_type IS TABLE OF okc_contacts.object1_id2%TYPE INDEX BY BINARY_INTEGER;
5652 TYPE l_cjtot_object1_code_type IS TABLE OF okc_contacts.jtot_object1_code%TYPE INDEX BY BINARY_INTEGER;
5653 TYPE l_cobject_version_number_type IS TABLE OF okc_contacts.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5654 TYPE l_ccreated_by_type IS TABLE OF okc_contacts.created_by%TYPE INDEX BY BINARY_INTEGER;
5655 TYPE l_ccreation_date_type IS TABLE OF okc_contacts.creation_date%TYPE INDEX BY BINARY_INTEGER;
5656 TYPE l_clast_updated_by_type IS TABLE OF okc_contacts.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5657 TYPE l_clast_update_date_type IS TABLE OF okc_contacts.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5658 TYPE l_ccontact_sequence_type IS TABLE OF okc_contacts.contact_sequence%TYPE INDEX BY BINARY_INTEGER;
5659 TYPE l_clast_update_login_type IS TABLE OF okc_contacts.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5660 TYPE l_cattribute_category_type IS TABLE OF okc_contacts.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5661 TYPE l_cattribute1_type IS TABLE OF okc_contacts.attribute1%TYPE INDEX BY BINARY_INTEGER;
5662 TYPE l_cattribute2_type IS TABLE OF okc_contacts.attribute2%TYPE INDEX BY BINARY_INTEGER;
5663 TYPE l_cattribute3_type IS TABLE OF okc_contacts.attribute3%TYPE INDEX BY BINARY_INTEGER;
5664 TYPE l_cattribute4_type IS TABLE OF okc_contacts.attribute4%TYPE INDEX BY BINARY_INTEGER;
5665 TYPE l_cattribute5_type IS TABLE OF okc_contacts.attribute5%TYPE INDEX BY BINARY_INTEGER;
5666 TYPE l_cattribute6_type IS TABLE OF okc_contacts.attribute6%TYPE INDEX BY BINARY_INTEGER;
5667 TYPE l_cattribute7_type IS TABLE OF okc_contacts.attribute7%TYPE INDEX BY BINARY_INTEGER;
5668 TYPE l_cattribute8_type IS TABLE OF okc_contacts.attribute8%TYPE INDEX BY BINARY_INTEGER;
5669 TYPE l_cattribute9_type IS TABLE OF okc_contacts.attribute9%TYPE INDEX BY BINARY_INTEGER;
5670 TYPE l_cattribute10_type IS TABLE OF okc_contacts.attribute10%TYPE INDEX BY BINARY_INTEGER;
5671 TYPE l_cattribute11_type IS TABLE OF okc_contacts.attribute11%TYPE INDEX BY BINARY_INTEGER;
5672 TYPE l_cattribute12_type IS TABLE OF okc_contacts.attribute12%TYPE INDEX BY BINARY_INTEGER;
5673 TYPE l_cattribute13_type IS TABLE OF okc_contacts.attribute13%TYPE INDEX BY BINARY_INTEGER;
5674 TYPE l_cattribute14_type IS TABLE OF okc_contacts.attribute14%TYPE INDEX BY BINARY_INTEGER;
5675 TYPE l_cattribute15_type IS TABLE OF okc_contacts.attribute15%TYPE INDEX BY BINARY_INTEGER;
5676 TYPE l_csecurity_group_id_type IS TABLE OF okc_contacts.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5677 TYPE l_cstart_date_type IS TABLE OF okc_contacts.start_date%TYPE INDEX BY BINARY_INTEGER;
5678 TYPE l_cend_date_type IS TABLE OF okc_contacts.end_date%TYPE INDEX BY BINARY_INTEGER;
5679 TYPE l_cprimary_yn_type IS TABLE OF okc_contacts.primary_yn%TYPE INDEX BY BINARY_INTEGER;
5680 TYPE l_cresource_class_type IS TABLE OF okc_contacts.resource_class%TYPE INDEX BY BINARY_INTEGER;
5681
5682 -- For okc_contacts End
5683
5684 -- For okc_rule_groups_b Begin
5685
5686 TYPE l_rid_type IS TABLE OF okc_rule_groups_b.id%TYPE INDEX BY BINARY_INTEGER;
5687 TYPE l_rrgd_code_type IS TABLE OF okc_rule_groups_b.rgd_code%TYPE INDEX BY BINARY_INTEGER;
5688 TYPE l_rchr_id_type IS TABLE OF okc_rule_groups_b.chr_id%TYPE INDEX BY BINARY_INTEGER;
5689 TYPE l_rcle_id_type IS TABLE OF okc_rule_groups_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
5690 TYPE l_rdnz_chr_id_type IS TABLE OF okc_rule_groups_b.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5691 TYPE l_rparent_rgp_id_type IS TABLE OF okc_rule_groups_b.parent_rgp_id%TYPE INDEX BY BINARY_INTEGER;
5692 TYPE l_rsat_code_type IS TABLE OF okc_rule_groups_b.sat_code%TYPE INDEX BY BINARY_INTEGER;
5693 TYPE l_robject_version_number_type IS TABLE OF okc_rule_groups_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5694 TYPE l_rrgp_type_type IS TABLE OF okc_rule_groups_b.rgp_type%TYPE INDEX BY BINARY_INTEGER;
5695 TYPE l_rcreated_by_type IS TABLE OF okc_rule_groups_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5696 TYPE l_rcreation_date_type IS TABLE OF okc_rule_groups_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5697 TYPE l_rlast_updated_by_type IS TABLE OF okc_rule_groups_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5698 TYPE l_rlast_update_date_type IS TABLE OF okc_rule_groups_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5699 TYPE l_rlast_update_login_type IS TABLE OF okc_rule_groups_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5700 TYPE l_rattribute_category_type IS TABLE OF okc_rule_groups_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5701 TYPE l_rattribute1_type IS TABLE OF okc_rule_groups_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5702 TYPE l_rattribute2_type IS TABLE OF okc_rule_groups_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5703 TYPE l_rattribute3_type IS TABLE OF okc_rule_groups_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5704 TYPE l_rattribute4_type IS TABLE OF okc_rule_groups_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5705 TYPE l_rattribute5_type IS TABLE OF okc_rule_groups_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5706 TYPE l_rattribute6_type IS TABLE OF okc_rule_groups_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5707 TYPE l_rattribute7_type IS TABLE OF okc_rule_groups_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5708 TYPE l_rattribute8_type IS TABLE OF okc_rule_groups_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5709 TYPE l_rattribute9_type IS TABLE OF okc_rule_groups_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5710 TYPE l_rattribute10_type IS TABLE OF okc_rule_groups_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5711 TYPE l_rattribute11_type IS TABLE OF okc_rule_groups_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5712 TYPE l_rattribute12_type IS TABLE OF okc_rule_groups_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5713 TYPE l_rattribute13_type IS TABLE OF okc_rule_groups_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5714 TYPE l_rattribute14_type IS TABLE OF okc_rule_groups_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5715 TYPE l_rattribute15_type IS TABLE OF okc_rule_groups_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5716 TYPE l_rsecurity_group_id_type IS TABLE OF okc_rule_groups_b.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5717
5718 -- For okc_rule_groups_b End
5719
5720 -- For okc_rule_groups_tl Begin
5721 TYPE l_rtid_type IS TABLE OF okc_rule_groups_tl.id%TYPE INDEX BY BINARY_INTEGER;
5722 TYPE l_rtlanguage_type IS TABLE OF okc_rule_groups_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
5723 TYPE l_rtsource_lang_type IS TABLE OF okc_rule_groups_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
5724 TYPE l_rtsfwt_flag_type IS TABLE OF okc_rule_groups_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
5725 TYPE l_rtcomments_type IS TABLE OF okc_rule_groups_tl.comments%TYPE INDEX BY BINARY_INTEGER;
5726 TYPE l_rtcreated_by_type IS TABLE OF okc_rule_groups_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
5727 TYPE l_rtcreation_date_type IS TABLE OF okc_rule_groups_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
5728 TYPE l_rtlast_updated_by_type IS TABLE OF okc_rule_groups_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5729 TYPE l_rtlast_update_date_type IS TABLE OF okc_rule_groups_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5730 TYPE l_rtlast_update_login_type IS TABLE OF okc_rule_groups_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5731 TYPE l_rtsecurity_group_id_type IS TABLE OF okc_rule_groups_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5732
5733 -- For okc_rule_groups_tl End
5734
5735 -- For okc_rules_b Begin
5736 TYPE l_rrid_type IS TABLE OF okc_rules_b.id%TYPE INDEX BY BINARY_INTEGER;
5737 TYPE l_rrrgp_id_type IS TABLE OF okc_rules_b.rgp_id%TYPE INDEX BY BINARY_INTEGER;
5738 TYPE l_rrobject1_id1_type IS TABLE OF okc_rules_b.object1_id1%TYPE INDEX BY BINARY_INTEGER;
5739 TYPE l_rrobject2_id1_type IS TABLE OF okc_rules_b.object2_id1%TYPE INDEX BY BINARY_INTEGER;
5740 TYPE l_rrobject3_id1_type IS TABLE OF okc_rules_b.object3_id1%TYPE INDEX BY BINARY_INTEGER;
5741 TYPE l_rrobject1_id2_type IS TABLE OF okc_rules_b.object1_id2%TYPE INDEX BY BINARY_INTEGER;
5742 TYPE l_rrobject2_id2_type IS TABLE OF okc_rules_b.object2_id2%TYPE INDEX BY BINARY_INTEGER;
5743 TYPE l_rrobject3_id2_type IS TABLE OF okc_rules_b.object3_id2%TYPE INDEX BY BINARY_INTEGER;
5744 TYPE l_rrjtot_object1_code_type IS TABLE OF okc_rules_b.jtot_object1_code%TYPE INDEX BY BINARY_INTEGER;
5745 TYPE l_rrjtot_object2_code_type IS TABLE OF okc_rules_b.jtot_object2_code%TYPE INDEX BY BINARY_INTEGER;
5746 TYPE l_rrjtot_object3_code_type IS TABLE OF okc_rules_b.jtot_object3_code%TYPE INDEX BY BINARY_INTEGER;
5747 TYPE l_rrdnz_chr_id_type IS TABLE OF okc_rules_b.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5748 TYPE l_rrstd_template_yn_type IS TABLE OF okc_rules_b.std_template_yn%TYPE INDEX BY BINARY_INTEGER;
5749 TYPE l_rrwarn_yn_type IS TABLE OF okc_rules_b.warn_yn%TYPE INDEX BY BINARY_INTEGER;
5750 TYPE l_rrpriority_type IS TABLE OF okc_rules_b.priority%TYPE INDEX BY BINARY_INTEGER;
5751 TYPE l_rrobject_version_number_type IS TABLE OF okc_rules_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5752 TYPE l_rrcreated_by_type IS TABLE OF okc_rules_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5753 TYPE l_rrcreation_date_type IS TABLE OF okc_rules_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5754 TYPE l_rrlast_updated_by_type IS TABLE OF okc_rules_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5755 TYPE l_rrlast_update_date_type IS TABLE OF okc_rules_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5756 TYPE l_rrlast_update_login_type IS TABLE OF okc_rules_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5757 TYPE l_rrattribute_category_type IS TABLE OF okc_rules_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5758 TYPE l_rrattribute1_type IS TABLE OF okc_rules_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5759 TYPE l_rrattribute2_type IS TABLE OF okc_rules_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5760 TYPE l_rrattribute3_type IS TABLE OF okc_rules_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5761 TYPE l_rrattribute4_type IS TABLE OF okc_rules_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5762 TYPE l_rrattribute5_type IS TABLE OF okc_rules_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5763 TYPE l_rrattribute6_type IS TABLE OF okc_rules_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5764 TYPE l_rrattribute7_type IS TABLE OF okc_rules_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5765 TYPE l_rrattribute8_type IS TABLE OF okc_rules_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5766 TYPE l_rrattribute9_type IS TABLE OF okc_rules_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5767 TYPE l_rrattribute10_type IS TABLE OF okc_rules_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5768 TYPE l_rrattribute11_type IS TABLE OF okc_rules_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5769 TYPE l_rrattribute12_type IS TABLE OF okc_rules_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5770 TYPE l_rrattribute13_type IS TABLE OF okc_rules_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5771 TYPE l_rrattribute14_type IS TABLE OF okc_rules_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5772 TYPE l_rrattribute15_type IS TABLE OF okc_rules_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5773 TYPE l_rrrule_information_cate_type IS TABLE OF okc_rules_b.rule_information_category%TYPE INDEX BY BINARY_INTEGER;
5774 TYPE l_rrrule_information1_type IS TABLE OF okc_rules_b.rule_information1%TYPE INDEX BY BINARY_INTEGER;
5775 TYPE l_rrrule_information2_type IS TABLE OF okc_rules_b.rule_information2%TYPE INDEX BY BINARY_INTEGER;
5776 TYPE l_rrrule_information3_type IS TABLE OF okc_rules_b.rule_information3%TYPE INDEX BY BINARY_INTEGER;
5777 TYPE l_rrrule_information4_type IS TABLE OF okc_rules_b.rule_information4%TYPE INDEX BY BINARY_INTEGER;
5778 TYPE l_rrrule_information5_type IS TABLE OF okc_rules_b.rule_information5%TYPE INDEX BY BINARY_INTEGER;
5779 TYPE l_rrrule_information6_type IS TABLE OF okc_rules_b.rule_information6%TYPE INDEX BY BINARY_INTEGER;
5780 TYPE l_rrrule_information7_type IS TABLE OF okc_rules_b.rule_information7%TYPE INDEX BY BINARY_INTEGER;
5781 TYPE l_rrrule_information8_type IS TABLE OF okc_rules_b.rule_information8%TYPE INDEX BY BINARY_INTEGER;
5782 TYPE l_rrrule_information9_type IS TABLE OF okc_rules_b.rule_information9%TYPE INDEX BY BINARY_INTEGER;
5783 TYPE l_rrrule_information10_type IS TABLE OF okc_rules_b.rule_information10%TYPE INDEX BY BINARY_INTEGER;
5784 TYPE l_rrrule_information11_type IS TABLE OF okc_rules_b.rule_information11%TYPE INDEX BY BINARY_INTEGER;
5785 TYPE l_rrrule_information12_type IS TABLE OF okc_rules_b.rule_information12%TYPE INDEX BY BINARY_INTEGER;
5786 TYPE l_rrrule_information13_type IS TABLE OF okc_rules_b.rule_information13%TYPE INDEX BY BINARY_INTEGER;
5787 TYPE l_rrrule_information14_type IS TABLE OF okc_rules_b.rule_information14%TYPE INDEX BY BINARY_INTEGER;
5788 TYPE l_rrrule_information15_type IS TABLE OF okc_rules_b.rule_information15%TYPE INDEX BY BINARY_INTEGER;
5789 TYPE l_rrsecurity_group_id_type IS TABLE OF okc_rules_b.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5790 TYPE l_rrtemplate_yn_type IS TABLE OF okc_rules_b.template_yn%TYPE INDEX BY BINARY_INTEGER;
5791 TYPE l_rrans_set_jtot_object_c_type IS TABLE OF okc_rules_b.ans_set_jtot_object_code%TYPE INDEX BY BINARY_INTEGER;
5792 TYPE l_rrans_set_jtot_object_1_type IS TABLE OF okc_rules_b.ans_set_jtot_object_id1%TYPE INDEX BY BINARY_INTEGER;
5793 TYPE l_rrans_set_jtot_object_2_type IS TABLE OF okc_rules_b.ans_set_jtot_object_id2%TYPE INDEX BY BINARY_INTEGER;
5794 TYPE l_rrdisplay_sequence_type IS TABLE OF okc_rules_b.display_sequence%TYPE INDEX BY BINARY_INTEGER;
5795 TYPE l_rrcomments_type IS TABLE OF okc_rules_b.comments%TYPE INDEX BY BINARY_INTEGER;
5796
5797 -- For okc_rules_b End
5798
5799 -- For okc_rules_tl Begin
5800
5801 TYPE l_trid_type IS TABLE OF okc_rules_tl.id%TYPE INDEX BY BINARY_INTEGER;
5802 TYPE l_trlanguage_type IS TABLE OF okc_rules_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
5803 TYPE l_trsource_lang_type IS TABLE OF okc_rules_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
5804 TYPE l_trsfwt_flag_type IS TABLE OF okc_rules_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
5805 TYPE l_trcomments_type IS TABLE OF okc_rules_tl.comments%TYPE INDEX BY BINARY_INTEGER;
5806 TYPE l_trtext_type IS TABLE OF okc_rules_tl.text%TYPE INDEX BY BINARY_INTEGER;
5807 TYPE l_trcreated_by_type IS TABLE OF okc_rules_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
5808 TYPE l_trcreation_date_type IS TABLE OF okc_rules_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
5809 TYPE l_trlast_updated_by_type IS TABLE OF okc_rules_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5810 TYPE l_trlast_update_date_type IS TABLE OF okc_rules_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5811 TYPE l_trlast_update_login_type IS TABLE OF okc_rules_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5812 TYPE l_trsecurity_group_id_type IS TABLE OF okc_rules_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5813
5814 -- For okc_rules_tl End
5815
5816 -- For okc_k_items Begin
5817
5818 TYPE l_iid_type IS TABLE OF okc_k_items.id%TYPE INDEX BY BINARY_INTEGER;
5819 TYPE l_icle_id_type IS TABLE OF okc_k_items.cle_id%TYPE INDEX BY BINARY_INTEGER;
5820 TYPE l_ichr_id_type IS TABLE OF okc_k_items.chr_id%TYPE INDEX BY BINARY_INTEGER;
5821 TYPE l_icle_id_for_type IS TABLE OF okc_k_items.cle_id_for%TYPE INDEX BY BINARY_INTEGER;
5822 TYPE l_idnz_chr_id_type IS TABLE OF okc_k_items.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5823 TYPE l_iobject1_id1_type IS TABLE OF okc_k_items.object1_id1%TYPE INDEX BY BINARY_INTEGER;
5824 TYPE l_iobject1_id2_type IS TABLE OF okc_k_items.object1_id2%TYPE INDEX BY BINARY_INTEGER;
5825 TYPE l_ijtot_object1_code_type IS TABLE OF okc_k_items.jtot_object1_code%TYPE INDEX BY BINARY_INTEGER;
5826 TYPE l_iuom_code_type IS TABLE OF okc_k_items.uom_code%TYPE INDEX BY BINARY_INTEGER;
5827 TYPE l_iexception_yn_type IS TABLE OF okc_k_items.exception_yn%TYPE INDEX BY BINARY_INTEGER;
5828 TYPE l_inumber_of_items_type IS TABLE OF okc_k_items.number_of_items%TYPE INDEX BY BINARY_INTEGER;
5829 TYPE l_ipriced_item_yn_type IS TABLE OF okc_k_items.priced_item_yn%TYPE INDEX BY BINARY_INTEGER;
5830 TYPE l_iobject_version_number_type IS TABLE OF okc_k_items.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5831 TYPE l_icreated_by_type IS TABLE OF okc_k_items.created_by%TYPE INDEX BY BINARY_INTEGER;
5832 TYPE l_icreation_date_type IS TABLE OF okc_k_items.creation_date%TYPE INDEX BY BINARY_INTEGER;
5833 TYPE l_ilast_updated_by_type IS TABLE OF okc_k_items.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5834 TYPE l_ilast_update_date_type IS TABLE OF okc_k_items.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5835 TYPE l_ilast_update_login_type IS TABLE OF okc_k_items.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5836 TYPE l_isecurity_group_id_type IS TABLE OF okc_k_items.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5837 TYPE l_iupg_orig_system_ref_type IS TABLE OF okc_k_items.upg_orig_system_ref%TYPE INDEX BY BINARY_INTEGER;
5838 TYPE l_iupg_orig_system_ref_id_type IS TABLE OF okc_k_items.upg_orig_system_ref_id%TYPE INDEX BY BINARY_INTEGER;
5839 TYPE l_iprogram_application_id_type IS TABLE OF okc_k_items.program_application_id%TYPE INDEX BY BINARY_INTEGER;
5840 TYPE l_iprogram_id_type IS TABLE OF okc_k_items.program_id%TYPE INDEX BY BINARY_INTEGER;
5841 TYPE l_iprogram_update_date_type IS TABLE OF okc_k_items.program_update_date%TYPE INDEX BY BINARY_INTEGER;
5842 TYPE l_irequest_id_type IS TABLE OF okc_k_items.request_id%TYPE INDEX BY BINARY_INTEGER;
5843
5844 -- For okc_k_items End
5845
5846 -- For okl_trx_assets Begin (42)
5847
5848 TYPE l_tid_type IS TABLE OF okl_trx_assets.id%TYPE INDEX BY BINARY_INTEGER;
5849 TYPE l_tica_id_type IS TABLE OF okl_trx_assets.ica_id%TYPE INDEX BY BINARY_INTEGER;
5850 TYPE l_ttas_type_type IS TABLE OF okl_trx_assets.tas_type%TYPE INDEX BY BINARY_INTEGER;
5851 TYPE l_tobject_version_number_type IS TABLE OF okl_trx_assets.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5852 TYPE l_tattribute_category_type IS TABLE OF okl_trx_assets.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5853 TYPE l_tattribute1_type IS TABLE OF okl_trx_assets.attribute1%TYPE INDEX BY BINARY_INTEGER;
5854 TYPE l_tattribute2_type IS TABLE OF okl_trx_assets.attribute2%TYPE INDEX BY BINARY_INTEGER;
5855 TYPE l_tattribute3_type IS TABLE OF okl_trx_assets.attribute3%TYPE INDEX BY BINARY_INTEGER;
5856 TYPE l_tattribute4_type IS TABLE OF okl_trx_assets.attribute4%TYPE INDEX BY BINARY_INTEGER;
5857 TYPE l_tattribute5_type IS TABLE OF okl_trx_assets.attribute5%TYPE INDEX BY BINARY_INTEGER;
5858 TYPE l_tattribute6_type IS TABLE OF okl_trx_assets.attribute6%TYPE INDEX BY BINARY_INTEGER;
5859 TYPE l_tattribute7_type IS TABLE OF okl_trx_assets.attribute7%TYPE INDEX BY BINARY_INTEGER;
5860 TYPE l_tattribute8_type IS TABLE OF okl_trx_assets.attribute8%TYPE INDEX BY BINARY_INTEGER;
5861 TYPE l_tattribute9_type IS TABLE OF okl_trx_assets.attribute9%TYPE INDEX BY BINARY_INTEGER;
5862 TYPE l_tattribute10_type IS TABLE OF okl_trx_assets.attribute10%TYPE INDEX BY BINARY_INTEGER;
5863 TYPE l_tattribute11_type IS TABLE OF okl_trx_assets.attribute11%TYPE INDEX BY BINARY_INTEGER;
5864 TYPE l_tattribute12_type IS TABLE OF okl_trx_assets.attribute12%TYPE INDEX BY BINARY_INTEGER;
5865 TYPE l_tattribute13_type IS TABLE OF okl_trx_assets.attribute13%TYPE INDEX BY BINARY_INTEGER;
5866 TYPE l_tattribute14_type IS TABLE OF okl_trx_assets.attribute14%TYPE INDEX BY BINARY_INTEGER;
5867 TYPE l_tattribute15_type IS TABLE OF okl_trx_assets.attribute15%TYPE INDEX BY BINARY_INTEGER;
5868 TYPE l_tcreated_by_type IS TABLE OF okl_trx_assets.created_by%TYPE INDEX BY BINARY_INTEGER;
5869 TYPE l_tcreation_date_type IS TABLE OF okl_trx_assets.creation_date%TYPE INDEX BY BINARY_INTEGER;
5870 TYPE l_tlast_updated_by_type IS TABLE OF okl_trx_assets.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5871 TYPE l_tlast_update_date_type IS TABLE OF okl_trx_assets.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5872 TYPE l_tlast_update_login_type IS TABLE OF okl_trx_assets.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5873 TYPE l_ttsu_code_type IS TABLE OF okl_trx_assets.tsu_code%TYPE INDEX BY BINARY_INTEGER;
5874 TYPE l_ttry_id_type IS TABLE OF okl_trx_assets.try_id%TYPE INDEX BY BINARY_INTEGER;
5875 TYPE l_tdate_trans_occurred_type IS TABLE OF okl_trx_assets.date_trans_occurred%TYPE INDEX BY BINARY_INTEGER;
5876 TYPE l_ttrans_number_type IS TABLE OF okl_trx_assets.trans_number%TYPE INDEX BY BINARY_INTEGER;
5877 TYPE l_tcomments_type IS TABLE OF okl_trx_assets.comments%TYPE INDEX BY BINARY_INTEGER;
5878 TYPE l_treq_asset_id_type IS TABLE OF okl_trx_assets.req_asset_id%TYPE INDEX BY BINARY_INTEGER;
5879 TYPE l_ttotal_match_amount_type IS TABLE OF okl_trx_assets.total_match_amount%TYPE INDEX BY BINARY_INTEGER;
5880 TYPE l_torg_id_type IS TABLE OF okl_trx_assets.org_id%TYPE INDEX BY BINARY_INTEGER;
5881 TYPE l_tlegal_entity_id_type IS TABLE OF okl_trx_assets.legal_entity_id%TYPE INDEX BY BINARY_INTEGER;
5882
5883 -- For okl_trx_assets End (42)
5884
5885 -- For okl_trx_assets Begin (45)
5886 TYPE l_t2id_type IS TABLE OF okl_trx_assets.id%TYPE INDEX BY BINARY_INTEGER;
5887 TYPE l_t2ica_id_type IS TABLE OF okl_trx_assets.ica_id%TYPE INDEX BY BINARY_INTEGER;
5888 TYPE l_t2tas_type_type IS TABLE OF okl_trx_assets.tas_type%TYPE INDEX BY BINARY_INTEGER;
5889 TYPE l_t2object_version_number_type IS TABLE OF okl_trx_assets.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5890 TYPE l_t2attribute_category_type IS TABLE OF okl_trx_assets.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5891 TYPE l_t2attribute1_type IS TABLE OF okl_trx_assets.attribute1%TYPE INDEX BY BINARY_INTEGER;
5892 TYPE l_t2attribute2_type IS TABLE OF okl_trx_assets.attribute2%TYPE INDEX BY BINARY_INTEGER;
5893 TYPE l_t2attribute3_type IS TABLE OF okl_trx_assets.attribute3%TYPE INDEX BY BINARY_INTEGER;
5894 TYPE l_t2attribute4_type IS TABLE OF okl_trx_assets.attribute4%TYPE INDEX BY BINARY_INTEGER;
5895 TYPE l_t2attribute5_type IS TABLE OF okl_trx_assets.attribute5%TYPE INDEX BY BINARY_INTEGER;
5896 TYPE l_t2attribute6_type IS TABLE OF okl_trx_assets.attribute6%TYPE INDEX BY BINARY_INTEGER;
5897 TYPE l_t2attribute7_type IS TABLE OF okl_trx_assets.attribute7%TYPE INDEX BY BINARY_INTEGER;
5898 TYPE l_t2attribute8_type IS TABLE OF okl_trx_assets.attribute8%TYPE INDEX BY BINARY_INTEGER;
5899 TYPE l_t2attribute9_type IS TABLE OF okl_trx_assets.attribute9%TYPE INDEX BY BINARY_INTEGER;
5900 TYPE l_t2attribute10_type IS TABLE OF okl_trx_assets.attribute10%TYPE INDEX BY BINARY_INTEGER;
5901 TYPE l_t2attribute11_type IS TABLE OF okl_trx_assets.attribute11%TYPE INDEX BY BINARY_INTEGER;
5902 TYPE l_t2attribute12_type IS TABLE OF okl_trx_assets.attribute12%TYPE INDEX BY BINARY_INTEGER;
5903 TYPE l_t2attribute13_type IS TABLE OF okl_trx_assets.attribute13%TYPE INDEX BY BINARY_INTEGER;
5904 TYPE l_t2attribute14_type IS TABLE OF okl_trx_assets.attribute14%TYPE INDEX BY BINARY_INTEGER;
5905 TYPE l_t2attribute15_type IS TABLE OF okl_trx_assets.attribute15%TYPE INDEX BY BINARY_INTEGER;
5906 TYPE l_t2created_by_type IS TABLE OF okl_trx_assets.created_by%TYPE INDEX BY BINARY_INTEGER;
5907 TYPE l_t2creation_date_type IS TABLE OF okl_trx_assets.creation_date%TYPE INDEX BY BINARY_INTEGER;
5908 TYPE l_t2last_updated_by_type IS TABLE OF okl_trx_assets.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5909 TYPE l_t2last_update_date_type IS TABLE OF okl_trx_assets.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5910 TYPE l_t2last_update_login_type IS TABLE OF okl_trx_assets.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5911 TYPE l_t2tsu_code_type IS TABLE OF okl_trx_assets.tsu_code%TYPE INDEX BY BINARY_INTEGER;
5912 TYPE l_t2try_id_type IS TABLE OF okl_trx_assets.try_id%TYPE INDEX BY BINARY_INTEGER;
5913 TYPE l_t2date_trans_occurred_type IS TABLE OF okl_trx_assets.date_trans_occurred%TYPE INDEX BY BINARY_INTEGER;
5914 TYPE l_t2trans_number_type IS TABLE OF okl_trx_assets.trans_number%TYPE INDEX BY BINARY_INTEGER;
5915 TYPE l_t2comments_type IS TABLE OF okl_trx_assets.comments%TYPE INDEX BY BINARY_INTEGER;
5916 TYPE l_t2req_asset_id_type IS TABLE OF okl_trx_assets.req_asset_id%TYPE INDEX BY BINARY_INTEGER;
5917 TYPE l_t2total_match_amount_type IS TABLE OF okl_trx_assets.total_match_amount%TYPE INDEX BY BINARY_INTEGER;
5918 TYPE l_t2org_id_type IS TABLE OF okl_trx_assets.org_id%TYPE INDEX BY BINARY_INTEGER;
5919 TYPE l_t2legal_entity_id_type IS TABLE OF okl_trx_assets.legal_entity_id%TYPE INDEX BY BINARY_INTEGER;
5920
5921 -- For okl_trx_assets End (45)
5922
5923 -- For okl_txl_assets_b Begin
5924
5925 TYPE l_tbid_type IS TABLE OF okl_txl_assets_b.id%TYPE INDEX BY BINARY_INTEGER;
5926 TYPE l_tbobject_version_number_type IS TABLE OF okl_txl_assets_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5927 TYPE l_tbtas_id_type IS TABLE OF okl_txl_assets_b.tas_id%TYPE INDEX BY BINARY_INTEGER;
5928 TYPE l_tbilo_id_type IS TABLE OF okl_txl_assets_b.ilo_id%TYPE INDEX BY BINARY_INTEGER;
5929 TYPE l_tbilo_id_old_type IS TABLE OF okl_txl_assets_b.ilo_id_old%TYPE INDEX BY BINARY_INTEGER;
5930 TYPE l_tbiay_id_type IS TABLE OF okl_txl_assets_b.iay_id%TYPE INDEX BY BINARY_INTEGER;
5931 TYPE l_tbiay_id_new_type IS TABLE OF okl_txl_assets_b.iay_id_new%TYPE INDEX BY BINARY_INTEGER;
5932 TYPE l_tbkle_id_type IS TABLE OF okl_txl_assets_b.kle_id%TYPE INDEX BY BINARY_INTEGER;
5933 TYPE l_tbdnz_khr_id_type IS TABLE OF okl_txl_assets_b.dnz_khr_id%TYPE INDEX BY BINARY_INTEGER;
5934 TYPE l_tbline_number_type IS TABLE OF okl_txl_assets_b.line_number%TYPE INDEX BY BINARY_INTEGER;
5935 TYPE l_tborg_id_type IS TABLE OF okl_txl_assets_b.org_id%TYPE INDEX BY BINARY_INTEGER;
5936 TYPE l_tbtal_type_type IS TABLE OF okl_txl_assets_b.tal_type%TYPE INDEX BY BINARY_INTEGER;
5937 TYPE l_tbasset_number_type IS TABLE OF okl_txl_assets_b.asset_number%TYPE INDEX BY BINARY_INTEGER;
5938 TYPE l_tbfa_location_id_type IS TABLE OF okl_txl_assets_b.fa_location_id%TYPE INDEX BY BINARY_INTEGER;
5939 TYPE l_tboriginal_cost_type IS TABLE OF okl_txl_assets_b.original_cost%TYPE INDEX BY BINARY_INTEGER;
5940 TYPE l_tbcurrent_units_type IS TABLE OF okl_txl_assets_b.current_units%TYPE INDEX BY BINARY_INTEGER;
5941 TYPE l_tbmanufacturer_name_type IS TABLE OF okl_txl_assets_b.manufacturer_name%TYPE INDEX BY BINARY_INTEGER;
5942 TYPE l_tbyear_manufactured_type IS TABLE OF okl_txl_assets_b.year_manufactured%TYPE INDEX BY BINARY_INTEGER;
5943 TYPE l_tbsupplier_id_type IS TABLE OF okl_txl_assets_b.supplier_id%TYPE INDEX BY BINARY_INTEGER;
5944 TYPE l_tbused_asset_yn_type IS TABLE OF okl_txl_assets_b.used_asset_yn%TYPE INDEX BY BINARY_INTEGER;
5945 TYPE l_tbtag_number_type IS TABLE OF okl_txl_assets_b.tag_number%TYPE INDEX BY BINARY_INTEGER;
5946 TYPE l_tbmodel_number_type IS TABLE OF okl_txl_assets_b.model_number%TYPE INDEX BY BINARY_INTEGER;
5947 TYPE l_tbcorporate_book_type IS TABLE OF okl_txl_assets_b.corporate_book%TYPE INDEX BY BINARY_INTEGER;
5948 TYPE l_tbdate_purchased_type IS TABLE OF okl_txl_assets_b.date_purchased%TYPE INDEX BY BINARY_INTEGER;
5949 TYPE l_tbdate_delivery_type IS TABLE OF okl_txl_assets_b.date_delivery%TYPE INDEX BY BINARY_INTEGER;
5950 TYPE l_tbin_service_date_type IS TABLE OF okl_txl_assets_b.in_service_date%TYPE INDEX BY BINARY_INTEGER;
5951 TYPE l_tblife_in_months_type IS TABLE OF okl_txl_assets_b.life_in_months%TYPE INDEX BY BINARY_INTEGER;
5952 TYPE l_tbdepreciation_id_type IS TABLE OF okl_txl_assets_b.depreciation_id%TYPE INDEX BY BINARY_INTEGER;
5953 TYPE l_tbdepreciation_cost_type IS TABLE OF okl_txl_assets_b.depreciation_cost%TYPE INDEX BY BINARY_INTEGER;
5954 TYPE l_tbdeprn_method_type IS TABLE OF okl_txl_assets_b.deprn_method%TYPE INDEX BY BINARY_INTEGER;
5955 TYPE l_tbdeprn_rate_type IS TABLE OF okl_txl_assets_b.deprn_rate%TYPE INDEX BY BINARY_INTEGER;
5956 TYPE l_tbsalvage_value_type IS TABLE OF okl_txl_assets_b.salvage_value%TYPE INDEX BY BINARY_INTEGER;
5957 TYPE l_tbpercent_salvage_value_type IS TABLE OF okl_txl_assets_b.percent_salvage_value%TYPE INDEX BY BINARY_INTEGER;
5958 TYPE l_tbattribute_category_type IS TABLE OF okl_txl_assets_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5959 TYPE l_tbattribute1_type IS TABLE OF okl_txl_assets_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5960 TYPE l_tbattribute2_type IS TABLE OF okl_txl_assets_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5961 TYPE l_tbattribute3_type IS TABLE OF okl_txl_assets_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5962 TYPE l_tbattribute4_type IS TABLE OF okl_txl_assets_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5963 TYPE l_tbattribute5_type IS TABLE OF okl_txl_assets_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5964 TYPE l_tbattribute6_type IS TABLE OF okl_txl_assets_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5965 TYPE l_tbattribute7_type IS TABLE OF okl_txl_assets_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5966 TYPE l_tbattribute8_type IS TABLE OF okl_txl_assets_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5967 TYPE l_tbattribute9_type IS TABLE OF okl_txl_assets_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5968 TYPE l_tbattribute10_type IS TABLE OF okl_txl_assets_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5969 TYPE l_tbattribute11_type IS TABLE OF okl_txl_assets_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5970 TYPE l_tbattribute12_type IS TABLE OF okl_txl_assets_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5971 TYPE l_tbattribute13_type IS TABLE OF okl_txl_assets_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5972 TYPE l_tbattribute14_type IS TABLE OF okl_txl_assets_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5973 TYPE l_tbattribute15_type IS TABLE OF okl_txl_assets_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5974 TYPE l_tbcreated_by_type IS TABLE OF okl_txl_assets_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5975 TYPE l_tbcreation_date_type IS TABLE OF okl_txl_assets_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5976 TYPE l_tblast_updated_by_type IS TABLE OF okl_txl_assets_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5977 TYPE l_tblast_update_date_type IS TABLE OF okl_txl_assets_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5978 TYPE l_tblast_update_login_type IS TABLE OF okl_txl_assets_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5979 TYPE l_tbdepreciate_yn_type IS TABLE OF okl_txl_assets_b.depreciate_yn%TYPE INDEX BY BINARY_INTEGER;
5980 TYPE l_tbhold_period_days_type IS TABLE OF okl_txl_assets_b.hold_period_days%TYPE INDEX BY BINARY_INTEGER;
5981 TYPE l_tbold_salvage_value_type IS TABLE OF okl_txl_assets_b.old_salvage_value%TYPE INDEX BY BINARY_INTEGER;
5982 TYPE l_tbnew_residual_value_type IS TABLE OF okl_txl_assets_b.new_residual_value%TYPE INDEX BY BINARY_INTEGER;
5983 TYPE l_tbold_residual_value_type IS TABLE OF okl_txl_assets_b.old_residual_value%TYPE INDEX BY BINARY_INTEGER;
5984 TYPE l_tbunits_retired_type IS TABLE OF okl_txl_assets_b.units_retired%TYPE INDEX BY BINARY_INTEGER;
5985 TYPE l_tbcost_retired_type IS TABLE OF okl_txl_assets_b.cost_retired%TYPE INDEX BY BINARY_INTEGER;
5986 TYPE l_tbsale_proceeds_type IS TABLE OF okl_txl_assets_b.sale_proceeds%TYPE INDEX BY BINARY_INTEGER;
5987 TYPE l_tbremoval_cost_type IS TABLE OF okl_txl_assets_b.removal_cost%TYPE INDEX BY BINARY_INTEGER;
5988 TYPE l_tbdnz_asset_id_type IS TABLE OF okl_txl_assets_b.dnz_asset_id%TYPE INDEX BY BINARY_INTEGER;
5989 TYPE l_tbdate_due_type IS TABLE OF okl_txl_assets_b.date_due%TYPE INDEX BY BINARY_INTEGER;
5990 TYPE l_tbrep_asset_id_type IS TABLE OF okl_txl_assets_b.rep_asset_id%TYPE INDEX BY BINARY_INTEGER;
5991 TYPE l_tblke_asset_id_type IS TABLE OF okl_txl_assets_b.lke_asset_id%TYPE INDEX BY BINARY_INTEGER;
5992 TYPE l_tbmatch_amount_type IS TABLE OF okl_txl_assets_b.match_amount%TYPE INDEX BY BINARY_INTEGER;
5993 TYPE l_tbsplit_into_singles_fl_type IS TABLE OF okl_txl_assets_b.split_into_singles_flag%TYPE INDEX BY BINARY_INTEGER;
5994 TYPE l_tbsplit_into_units_type IS TABLE OF okl_txl_assets_b.split_into_units%TYPE INDEX BY BINARY_INTEGER;
5995 TYPE l_tbcurrency_code_type IS TABLE OF okl_txl_assets_b.currency_code%TYPE INDEX BY BINARY_INTEGER;
5996 TYPE l_tbcurrency_convers_type_type IS TABLE OF okl_txl_assets_b.currency_conversion_type%TYPE INDEX BY BINARY_INTEGER;
5997 TYPE l_tbcurrency_convers_rate_type IS TABLE OF okl_txl_assets_b.currency_conversion_rate%TYPE INDEX BY BINARY_INTEGER;
5998 TYPE l_tbcurrency_convers_date_type IS TABLE OF okl_txl_assets_b.currency_conversion_date%TYPE INDEX BY BINARY_INTEGER;
5999 TYPE l_tbasset_key_id_type IS TABLE OF okl_txl_assets_b.asset_key_id%TYPE INDEX BY BINARY_INTEGER;
6000 TYPE l_tbfa_trx_date_type IS TABLE OF okl_txl_assets_b.fa_trx_date%TYPE INDEX BY BINARY_INTEGER;
6001 TYPE l_tbfa_cost_type IS TABLE OF okl_txl_assets_b.fa_cost%TYPE INDEX BY BINARY_INTEGER;
6002
6003 -- For okl_txl_assets_b End
6004
6005
6006 -- For okl_txl_assets_tl Begin
6007
6008 TYPE l_tlid_type IS TABLE OF okl_txl_assets_tl.id%TYPE INDEX BY BINARY_INTEGER;
6009 TYPE l_tllanguage_type IS TABLE OF okl_txl_assets_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
6010 TYPE l_tlsource_lang_type IS TABLE OF okl_txl_assets_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
6011 TYPE l_tlsfwt_flag_type IS TABLE OF okl_txl_assets_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
6012 TYPE l_tldescription_type IS TABLE OF okl_txl_assets_tl.description%TYPE INDEX BY BINARY_INTEGER;
6013 TYPE l_tlcreated_by_type IS TABLE OF okl_txl_assets_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
6014 TYPE l_tlcreation_date_type IS TABLE OF okl_txl_assets_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
6015 TYPE l_tllast_updated_by_type IS TABLE OF okl_txl_assets_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6016 TYPE l_tllast_update_date_type IS TABLE OF okl_txl_assets_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6017 TYPE l_tllast_update_login_type IS TABLE OF okl_txl_assets_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6018
6019 -- For okl_txl_assets_tl End
6020
6021 -- For okl_txd_assets_b Begin
6022
6023 TYPE l_dbid_type IS TABLE OF okl_txd_assets_b.id%TYPE INDEX BY BINARY_INTEGER;
6024 TYPE l_dbobject_version_number_type IS TABLE OF okl_txd_assets_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6025 TYPE l_dbtal_id_type IS TABLE OF okl_txd_assets_b.tal_id%TYPE INDEX BY BINARY_INTEGER;
6026 TYPE l_dbtarget_kle_id_type IS TABLE OF okl_txd_assets_b.target_kle_id%TYPE INDEX BY BINARY_INTEGER;
6027 TYPE l_dbline_detail_number_type IS TABLE OF okl_txd_assets_b.line_detail_number%TYPE INDEX BY BINARY_INTEGER;
6028 TYPE l_dbasset_number_type IS TABLE OF okl_txd_assets_b.asset_number%TYPE INDEX BY BINARY_INTEGER;
6029 TYPE l_dbquantity_type IS TABLE OF okl_txd_assets_b.quantity%TYPE INDEX BY BINARY_INTEGER;
6030 TYPE l_dbcost_type IS TABLE OF okl_txd_assets_b.cost%TYPE INDEX BY BINARY_INTEGER;
6031 TYPE l_dbtax_book_type IS TABLE OF okl_txd_assets_b.tax_book%TYPE INDEX BY BINARY_INTEGER;
6032 TYPE l_dblife_in_months_tax_type IS TABLE OF okl_txd_assets_b.life_in_months_tax%TYPE INDEX BY BINARY_INTEGER;
6033 TYPE l_dbdeprn_method_tax_type IS TABLE OF okl_txd_assets_b.deprn_method_tax%TYPE INDEX BY BINARY_INTEGER;
6034 TYPE l_dbdeprn_rate_tax_type IS TABLE OF okl_txd_assets_b.deprn_rate_tax%TYPE INDEX BY BINARY_INTEGER;
6035 TYPE l_dbsalvage_value_type IS TABLE OF okl_txd_assets_b.salvage_value%TYPE INDEX BY BINARY_INTEGER;
6036 TYPE l_dbsplit_percent_type IS TABLE OF okl_txd_assets_b.split_percent%TYPE INDEX BY BINARY_INTEGER;
6037 TYPE l_dbinventory_item_id_type IS TABLE OF okl_txd_assets_b.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
6038 TYPE l_dbattribute_category_type IS TABLE OF okl_txd_assets_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
6039 TYPE l_dbattribute1_type IS TABLE OF okl_txd_assets_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
6040 TYPE l_dbattribute2_type IS TABLE OF okl_txd_assets_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
6041 TYPE l_dbattribute3_type IS TABLE OF okl_txd_assets_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
6042 TYPE l_dbattribute4_type IS TABLE OF okl_txd_assets_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
6043 TYPE l_dbattribute5_type IS TABLE OF okl_txd_assets_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
6044 TYPE l_dbattribute6_type IS TABLE OF okl_txd_assets_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
6045 TYPE l_dbattribute7_type IS TABLE OF okl_txd_assets_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
6046 TYPE l_dbattribute8_type IS TABLE OF okl_txd_assets_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
6047 TYPE l_dbattribute9_type IS TABLE OF okl_txd_assets_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
6048 TYPE l_dbattribute10_type IS TABLE OF okl_txd_assets_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
6049 TYPE l_dbattribute11_type IS TABLE OF okl_txd_assets_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
6050 TYPE l_dbattribute12_type IS TABLE OF okl_txd_assets_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
6051 TYPE l_dbattribute13_type IS TABLE OF okl_txd_assets_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
6052 TYPE l_dbattribute14_type IS TABLE OF okl_txd_assets_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
6053 TYPE l_dbattribute15_type IS TABLE OF okl_txd_assets_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
6054 TYPE l_dbcreated_by_type IS TABLE OF okl_txd_assets_b.created_by%TYPE INDEX BY BINARY_INTEGER;
6055 TYPE l_dbcreation_date_type IS TABLE OF okl_txd_assets_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
6056 TYPE l_dblast_updated_by_type IS TABLE OF okl_txd_assets_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6057 TYPE l_dblast_update_date_type IS TABLE OF okl_txd_assets_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6058 TYPE l_dblast_update_login_type IS TABLE OF okl_txd_assets_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6059 TYPE l_dbcurrency_code_type IS TABLE OF okl_txd_assets_b.currency_code%TYPE INDEX BY BINARY_INTEGER;
6060 TYPE l_dbcurrency_convers_type_type IS TABLE OF okl_txd_assets_b.currency_conversion_type%TYPE INDEX BY BINARY_INTEGER;
6061 TYPE l_dbcurrency_convers_rate_type IS TABLE OF okl_txd_assets_b.currency_conversion_rate%TYPE INDEX BY BINARY_INTEGER;
6062 TYPE l_dbcurrency_convers_date_type IS TABLE OF okl_txd_assets_b.currency_conversion_date%TYPE INDEX BY BINARY_INTEGER;
6063
6064 -- For okl_txd_assets_b End
6065
6066 -- For okl_txd_assets_tl Begin
6067
6068 TYPE l_dlid_type IS TABLE OF okl_txd_assets_tl.id%TYPE INDEX BY BINARY_INTEGER;
6069 TYPE l_dllanguage_type IS TABLE OF okl_txd_assets_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
6070 TYPE l_dlsource_lang_type IS TABLE OF okl_txd_assets_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
6071 TYPE l_dlsfwt_flag_type IS TABLE OF okl_txd_assets_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
6072 TYPE l_dldescription_type IS TABLE OF okl_txd_assets_tl.description%TYPE INDEX BY BINARY_INTEGER;
6073 TYPE l_dlcreated_by_type IS TABLE OF okl_txd_assets_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
6074 TYPE l_dlcreation_date_type IS TABLE OF okl_txd_assets_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
6075 TYPE l_dllast_updated_by_type IS TABLE OF okl_txd_assets_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6076 TYPE l_dllast_update_date_type IS TABLE OF okl_txd_assets_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6077 TYPE l_dllast_update_login_type IS TABLE OF okl_txd_assets_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6078
6079 -- For okl_txd_assets_tl End
6080
6081 -- For okl_txl_itm_insts Begin
6082
6083 TYPE l_tiid_type IS TABLE OF okl_txl_itm_insts.id%TYPE INDEX BY BINARY_INTEGER;
6084 TYPE l_tiobject_version_number_type IS TABLE OF okl_txl_itm_insts.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6085 TYPE l_titas_id_type IS TABLE OF okl_txl_itm_insts.tas_id%TYPE INDEX BY BINARY_INTEGER;
6086 TYPE l_tital_id_type IS TABLE OF okl_txl_itm_insts.tal_id%TYPE INDEX BY BINARY_INTEGER;
6087 TYPE l_tikle_id_type IS TABLE OF okl_txl_itm_insts.kle_id%TYPE INDEX BY BINARY_INTEGER;
6088 TYPE l_tital_type_type IS TABLE OF okl_txl_itm_insts.tal_type%TYPE INDEX BY BINARY_INTEGER;
6089 TYPE l_tiline_number_type IS TABLE OF okl_txl_itm_insts.line_number%TYPE INDEX BY BINARY_INTEGER;
6090 TYPE l_tiinstance_number_ib_type IS TABLE OF okl_txl_itm_insts.instance_number_ib%TYPE INDEX BY BINARY_INTEGER;
6091 TYPE l_tiobject_id1_new_type IS TABLE OF okl_txl_itm_insts.object_id1_new%TYPE INDEX BY BINARY_INTEGER;
6092 TYPE l_tiobject_id2_new_type IS TABLE OF okl_txl_itm_insts.object_id2_new%TYPE INDEX BY BINARY_INTEGER;
6093 TYPE l_tijtot_object_code_new_type IS TABLE OF okl_txl_itm_insts.jtot_object_code_new%TYPE INDEX BY BINARY_INTEGER;
6094 TYPE l_tiobject_id1_old_type IS TABLE OF okl_txl_itm_insts.object_id1_old%TYPE INDEX BY BINARY_INTEGER;
6095 TYPE l_tiobject_id2_old_type IS TABLE OF okl_txl_itm_insts.object_id2_old%TYPE INDEX BY BINARY_INTEGER;
6096 TYPE l_tijtot_object_code_old_type IS TABLE OF okl_txl_itm_insts.jtot_object_code_old%TYPE INDEX BY BINARY_INTEGER;
6097 TYPE l_tiinventory_org_id_type IS TABLE OF okl_txl_itm_insts.inventory_org_id%TYPE INDEX BY BINARY_INTEGER;
6098 TYPE l_tiserial_number_type IS TABLE OF okl_txl_itm_insts.serial_number%TYPE INDEX BY BINARY_INTEGER;
6099 TYPE l_timfg_serial_number_yn_type IS TABLE OF okl_txl_itm_insts.mfg_serial_number_yn%TYPE INDEX BY BINARY_INTEGER;
6100 TYPE l_tiinventory_item_id_type IS TABLE OF okl_txl_itm_insts.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
6101 TYPE l_tiinv_master_org_id_type IS TABLE OF okl_txl_itm_insts.inv_master_org_id%TYPE INDEX BY BINARY_INTEGER;
6102 TYPE l_tiattribute_category_type IS TABLE OF okl_txl_itm_insts.attribute_category%TYPE INDEX BY BINARY_INTEGER;
6103 TYPE l_tiattribute1_type IS TABLE OF okl_txl_itm_insts.attribute1%TYPE INDEX BY BINARY_INTEGER;
6104 TYPE l_tiattribute2_type IS TABLE OF okl_txl_itm_insts.attribute2%TYPE INDEX BY BINARY_INTEGER;
6105 TYPE l_tiattribute3_type IS TABLE OF okl_txl_itm_insts.attribute3%TYPE INDEX BY BINARY_INTEGER;
6106 TYPE l_tiattribute4_type IS TABLE OF okl_txl_itm_insts.attribute4%TYPE INDEX BY BINARY_INTEGER;
6107 TYPE l_tiattribute5_type IS TABLE OF okl_txl_itm_insts.attribute5%TYPE INDEX BY BINARY_INTEGER;
6108 TYPE l_tiattribute6_type IS TABLE OF okl_txl_itm_insts.attribute6%TYPE INDEX BY BINARY_INTEGER;
6109 TYPE l_tiattribute7_type IS TABLE OF okl_txl_itm_insts.attribute7%TYPE INDEX BY BINARY_INTEGER;
6110 TYPE l_tiattribute8_type IS TABLE OF okl_txl_itm_insts.attribute8%TYPE INDEX BY BINARY_INTEGER;
6111 TYPE l_tiattribute9_type IS TABLE OF okl_txl_itm_insts.attribute9%TYPE INDEX BY BINARY_INTEGER;
6112 TYPE l_tiattribute10_type IS TABLE OF okl_txl_itm_insts.attribute10%TYPE INDEX BY BINARY_INTEGER;
6113 TYPE l_tiattribute11_type IS TABLE OF okl_txl_itm_insts.attribute11%TYPE INDEX BY BINARY_INTEGER;
6114 TYPE l_tiattribute12_type IS TABLE OF okl_txl_itm_insts.attribute12%TYPE INDEX BY BINARY_INTEGER;
6115 TYPE l_tiattribute13_type IS TABLE OF okl_txl_itm_insts.attribute13%TYPE INDEX BY BINARY_INTEGER;
6116 TYPE l_tiattribute14_type IS TABLE OF okl_txl_itm_insts.attribute14%TYPE INDEX BY BINARY_INTEGER;
6117 TYPE l_tiattribute15_type IS TABLE OF okl_txl_itm_insts.attribute15%TYPE INDEX BY BINARY_INTEGER;
6118 TYPE l_ticreated_by_type IS TABLE OF okl_txl_itm_insts.created_by%TYPE INDEX BY BINARY_INTEGER;
6119 TYPE l_ticreation_date_type IS TABLE OF okl_txl_itm_insts.creation_date%TYPE INDEX BY BINARY_INTEGER;
6120 TYPE l_tilast_updated_by_type IS TABLE OF okl_txl_itm_insts.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6121 TYPE l_tilast_update_date_type IS TABLE OF okl_txl_itm_insts.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6122 TYPE l_tilast_update_login_type IS TABLE OF okl_txl_itm_insts.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6123 TYPE l_tidnz_cle_id_type IS TABLE OF okl_txl_itm_insts.dnz_cle_id%TYPE INDEX BY BINARY_INTEGER;
6124 TYPE l_tiinstance_id_type IS TABLE OF okl_txl_itm_insts.instance_id%TYPE INDEX BY BINARY_INTEGER;
6125 TYPE l_tiselected_for_split_fl_type IS TABLE OF okl_txl_itm_insts.selected_for_split_flag%TYPE INDEX BY BINARY_INTEGER;
6126 TYPE l_tiasd_id_type IS TABLE OF okl_txl_itm_insts.asd_id%TYPE INDEX BY BINARY_INTEGER;
6127
6128 -- For okl_txl_itm_insts End
6129
6130 -- For okl_party_payment_dtls Begin
6131
6132 TYPE l_ppid_type IS TABLE OF okl_party_payment_dtls.id%TYPE INDEX BY BINARY_INTEGER;
6133 TYPE l_ppobject_version_number_type IS TABLE OF okl_party_payment_dtls.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6134 TYPE l_ppcpl_id_type IS TABLE OF okl_party_payment_dtls.cpl_id%TYPE INDEX BY BINARY_INTEGER;
6135 TYPE l_ppvendor_id_type IS TABLE OF okl_party_payment_dtls.vendor_id%TYPE INDEX BY BINARY_INTEGER;
6136 TYPE l_pppay_site_id_type IS TABLE OF okl_party_payment_dtls.pay_site_id%TYPE INDEX BY BINARY_INTEGER;
6137 TYPE l_pppayment_term_id_type IS TABLE OF okl_party_payment_dtls.payment_term_id%TYPE INDEX BY BINARY_INTEGER;
6138 TYPE l_pppayment_method_code_type IS TABLE OF okl_party_payment_dtls.payment_method_code%TYPE INDEX BY BINARY_INTEGER;
6139 TYPE l_pppay_group_code_type IS TABLE OF okl_party_payment_dtls.pay_group_code%TYPE INDEX BY BINARY_INTEGER;
6140 TYPE l_ppattribute_category_type IS TABLE OF okl_party_payment_dtls.attribute_category%TYPE INDEX BY BINARY_INTEGER;
6141 TYPE l_ppattribute1_type IS TABLE OF okl_party_payment_dtls.attribute1%TYPE INDEX BY BINARY_INTEGER;
6142 TYPE l_ppattribute2_type IS TABLE OF okl_party_payment_dtls.attribute2%TYPE INDEX BY BINARY_INTEGER;
6143 TYPE l_ppattribute3_type IS TABLE OF okl_party_payment_dtls.attribute3%TYPE INDEX BY BINARY_INTEGER;
6144 TYPE l_ppattribute4_type IS TABLE OF okl_party_payment_dtls.attribute4%TYPE INDEX BY BINARY_INTEGER;
6145 TYPE l_ppattribute5_type IS TABLE OF okl_party_payment_dtls.attribute5%TYPE INDEX BY BINARY_INTEGER;
6146 TYPE l_ppattribute6_type IS TABLE OF okl_party_payment_dtls.attribute6%TYPE INDEX BY BINARY_INTEGER;
6147 TYPE l_ppattribute7_type IS TABLE OF okl_party_payment_dtls.attribute7%TYPE INDEX BY BINARY_INTEGER;
6148 TYPE l_ppattribute8_type IS TABLE OF okl_party_payment_dtls.attribute8%TYPE INDEX BY BINARY_INTEGER;
6149 TYPE l_ppattribute9_type IS TABLE OF okl_party_payment_dtls.attribute9%TYPE INDEX BY BINARY_INTEGER;
6150 TYPE l_ppattribute10_type IS TABLE OF okl_party_payment_dtls.attribute10%TYPE INDEX BY BINARY_INTEGER;
6151 TYPE l_ppattribute11_type IS TABLE OF okl_party_payment_dtls.attribute11%TYPE INDEX BY BINARY_INTEGER;
6152 TYPE l_ppattribute12_type IS TABLE OF okl_party_payment_dtls.attribute12%TYPE INDEX BY BINARY_INTEGER;
6153 TYPE l_ppattribute13_type IS TABLE OF okl_party_payment_dtls.attribute13%TYPE INDEX BY BINARY_INTEGER;
6154 TYPE l_ppattribute14_type IS TABLE OF okl_party_payment_dtls.attribute14%TYPE INDEX BY BINARY_INTEGER;
6155 TYPE l_ppattribute15_type IS TABLE OF okl_party_payment_dtls.attribute15%TYPE INDEX BY BINARY_INTEGER;
6156 TYPE l_ppcreated_by_type IS TABLE OF okl_party_payment_dtls.created_by%TYPE INDEX BY BINARY_INTEGER;
6157 TYPE l_ppcreation_date_type IS TABLE OF okl_party_payment_dtls.creation_date%TYPE INDEX BY BINARY_INTEGER;
6158 TYPE l_pplast_updated_by_type IS TABLE OF okl_party_payment_dtls.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6159 TYPE l_pplast_update_date_type IS TABLE OF okl_party_payment_dtls.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6160 TYPE l_pplast_update_login_type IS TABLE OF okl_party_payment_dtls.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6161 TYPE l_pppayment_hdr_id_type is table of okl_party_payment_dtls.payment_hdr_id%TYPE index by binary_integer;
6162 TYPE l_pppayment_start_date_type is table of okl_party_payment_dtls.payment_start_date%TYPE index by binary_integer;
6163 TYPE l_pppayment_frequency_type is table of okl_party_payment_dtls.payment_frequency%TYPE index by binary_integer;
6164 TYPE l_ppremit_days_type is table of okl_party_payment_dtls.remit_days%TYPE index by binary_integer;
6165 TYPE l_ppdisbursement_basis_type is table of okl_party_payment_dtls.disbursement_basis%TYPE index by binary_integer;
6166 TYPE l_ppdisbursement_fixed_am_type is table of okl_party_payment_dtls.disbursement_fixed_amount%TYPE index by binary_integer;
6167 TYPE l_ppdisbursement_percent_type is table of okl_party_payment_dtls.disbursement_percent%TYPE index by binary_integer;
6168 TYPE l_ppprocessing_fee_basis_type is table of okl_party_payment_dtls.processing_fee_basis%TYPE index by binary_integer;
6169 TYPE l_ppprocessing_fee_fixedt_type is table of okl_party_payment_dtls.processing_fee_fixed_amount%TYPE index by binary_integer;
6170 TYPE l_ppprocessing_fee_percen_type is table of okl_party_payment_dtls.processing_fee_percent%TYPE index by binary_integer;
6171 TYPE l_pppayment_basis_type is table of okl_party_payment_dtls.payment_basis%TYPE index by binary_integer;
6172
6173 --sechawla 8677460 21-Jul-09 : ESG PRB Enhancements
6174 TYPE l_ppORIG_CONTRACT_LINE_ID_type is table of okl_party_payment_dtls.ORIG_CONTRACT_LINE_ID%TYPE index by binary_integer;
6175
6176
6177 -- For okl_party_payment_dtls End
6178
6179 -- For okl_slctd_optns Begin
6180
6181 TYPE l_sid_type IS TABLE OF okl_slctd_optns.id%TYPE INDEX BY BINARY_INTEGER;
6182 TYPE l_spov_id_type IS TABLE OF okl_slctd_optns.pov_id%TYPE INDEX BY BINARY_INTEGER;
6183 TYPE l_skhr_id_type IS TABLE OF okl_slctd_optns.khr_id%TYPE INDEX BY BINARY_INTEGER;
6184 TYPE l_sobject_version_number_type IS TABLE OF okl_slctd_optns.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6185 TYPE l_sattribute_category_type IS TABLE OF okl_slctd_optns.attribute_category%TYPE INDEX BY BINARY_INTEGER;
6186 TYPE l_sattribute1_type IS TABLE OF okl_slctd_optns.attribute1%TYPE INDEX BY BINARY_INTEGER;
6187 TYPE l_sattribute2_type IS TABLE OF okl_slctd_optns.attribute2%TYPE INDEX BY BINARY_INTEGER;
6188 TYPE l_sattribute3_type IS TABLE OF okl_slctd_optns.attribute3%TYPE INDEX BY BINARY_INTEGER;
6189 TYPE l_sattribute4_type IS TABLE OF okl_slctd_optns.attribute4%TYPE INDEX BY BINARY_INTEGER;
6190 TYPE l_sattribute5_type IS TABLE OF okl_slctd_optns.attribute5%TYPE INDEX BY BINARY_INTEGER;
6191 TYPE l_sattribute6_type IS TABLE OF okl_slctd_optns.attribute6%TYPE INDEX BY BINARY_INTEGER;
6192 TYPE l_sattribute7_type IS TABLE OF okl_slctd_optns.attribute7%TYPE INDEX BY BINARY_INTEGER;
6193 TYPE l_sattribute8_type IS TABLE OF okl_slctd_optns.attribute8%TYPE INDEX BY BINARY_INTEGER;
6194 TYPE l_sattribute9_type IS TABLE OF okl_slctd_optns.attribute9%TYPE INDEX BY BINARY_INTEGER;
6195 TYPE l_sattribute10_type IS TABLE OF okl_slctd_optns.attribute10%TYPE INDEX BY BINARY_INTEGER;
6196 TYPE l_sattribute11_type IS TABLE OF okl_slctd_optns.attribute11%TYPE INDEX BY BINARY_INTEGER;
6197 TYPE l_sattribute12_type IS TABLE OF okl_slctd_optns.attribute12%TYPE INDEX BY BINARY_INTEGER;
6198 TYPE l_sattribute13_type IS TABLE OF okl_slctd_optns.attribute13%TYPE INDEX BY BINARY_INTEGER;
6199 TYPE l_sattribute14_type IS TABLE OF okl_slctd_optns.attribute14%TYPE INDEX BY BINARY_INTEGER;
6200 TYPE l_sattribute15_type IS TABLE OF okl_slctd_optns.attribute15%TYPE INDEX BY BINARY_INTEGER;
6201 TYPE l_screated_by_type IS TABLE OF okl_slctd_optns.created_by%TYPE INDEX BY BINARY_INTEGER;
6202 TYPE l_screation_date_type IS TABLE OF okl_slctd_optns.creation_date%TYPE INDEX BY BINARY_INTEGER;
6203 TYPE l_slast_updated_by_type IS TABLE OF okl_slctd_optns.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6204 TYPE l_slast_update_date_type IS TABLE OF okl_slctd_optns.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6205 TYPE l_slast_update_login_type IS TABLE OF okl_slctd_optns.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6206
6207 -- For okl_slctd_optns End
6208
6209 -- For okc_rg_party_roles Begin
6210
6211 TYPE l_gid_type IS TABLE OF okc_rg_party_roles.id%TYPE INDEX BY BINARY_INTEGER;
6212 TYPE l_grgp_id_type IS TABLE OF okc_rg_party_roles.rgp_id%TYPE INDEX BY BINARY_INTEGER;
6213 TYPE l_grrd_id_type IS TABLE OF okc_rg_party_roles.rrd_id%TYPE INDEX BY BINARY_INTEGER;
6214 TYPE l_gcpl_id_type IS TABLE OF okc_rg_party_roles.cpl_id%TYPE INDEX BY BINARY_INTEGER;
6215 TYPE l_gdnz_chr_id_type IS TABLE OF okc_rg_party_roles.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
6216 TYPE l_gobject_version_number_type IS TABLE OF okc_rg_party_roles.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6217 TYPE l_gcreated_by_type IS TABLE OF okc_rg_party_roles.created_by%TYPE INDEX BY BINARY_INTEGER;
6218 TYPE l_gcreation_date_type IS TABLE OF okc_rg_party_roles.creation_date%TYPE INDEX BY BINARY_INTEGER;
6219 TYPE l_glast_updated_by_type IS TABLE OF okc_rg_party_roles.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6220 TYPE l_glast_update_date_type IS TABLE OF okc_rg_party_roles.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6221 TYPE l_glast_update_login_type IS TABLE OF okc_rg_party_roles.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6222 TYPE l_gsecurity_group_id_type IS TABLE OF okc_rg_party_roles.security_group_id%TYPE INDEX BY BINARY_INTEGER;
6223
6224 -- For okc_rg_party_roles End
6225
6226 -- For okc_k_lines_tl begin
6227
6228 TYPE l_olid_type IS TABLE OF okc_k_lines_tl.id%TYPE INDEX BY BINARY_INTEGER;
6229 TYPE l_ollanguage_type IS TABLE OF okc_k_lines_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
6230 TYPE l_olsource_lang_type IS TABLE OF okc_k_lines_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
6231 TYPE l_olsfwt_flag_type IS TABLE OF okc_k_lines_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
6232 TYPE l_olname_type IS TABLE OF okc_k_lines_tl.name%TYPE INDEX BY BINARY_INTEGER;
6233 TYPE l_olcomments_type IS TABLE OF okc_k_lines_tl.comments%TYPE INDEX BY BINARY_INTEGER;
6234 TYPE l_olitem_description_type IS TABLE OF okc_k_lines_tl.item_description%TYPE INDEX BY BINARY_INTEGER;
6235 TYPE l_olblock23text_type IS TABLE OF okc_k_lines_tl.block23text%TYPE INDEX BY BINARY_INTEGER;
6236 TYPE l_olcreated_by_type IS TABLE OF okc_k_lines_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
6237 TYPE l_olcreation_date_type IS TABLE OF okc_k_lines_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
6238 TYPE l_ollast_updated_by_type IS TABLE OF okc_k_lines_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6239 TYPE l_ollast_update_date_type IS TABLE OF okc_k_lines_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6240 TYPE l_ollast_update_login_type IS TABLE OF okc_k_lines_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6241 TYPE l_olsecurity_group_id_type IS TABLE OF okc_k_lines_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
6242 TYPE l_oloke_boe_description_type IS TABLE OF okc_k_lines_tl.oke_boe_description%TYPE INDEX BY BINARY_INTEGER;
6243 TYPE l_olcognomen_type IS TABLE OF okc_k_lines_tl.cognomen%TYPE INDEX BY BINARY_INTEGER;
6244 -- For okc_k_lines_tl End
6245
6246 -- okc_k_party_roles_b Begin
6247 TYPE l_prid_type IS TABLE OF okc_k_party_roles_b.id%TYPE INDEX BY BINARY_INTEGER;
6248 TYPE l_probject1_id1_type IS TABLE OF okc_k_party_roles_b.object1_id1%TYPE INDEX BY BINARY_INTEGER;
6249 -- okc_k_party_roles_b End
6250
6251 -- For okl_supp_invlice_dtls Begin
6252 l_osid_tab l_osid_type;
6253 l_osobject_version_number_tab l_osobject_version_number_type;
6254 l_oscle_id_tab l_oscle_id_type;
6255 l_osfa_cle_id_tab l_osfa_cle_id_type;
6256 l_osinvoice_number_tab l_osinvoice_number_type;
6257 l_osdate_invoiced_tab l_osdate_invoiced_type;
6258 l_osdate_due_tab l_osdate_due_type;
6259 l_osshipping_address_id1_tab l_osshipping_address_id1_type;
6260 l_osshipping_address_id2_tab l_osshipping_address_id2_type;
6261 l_osshipping_address_code_tab l_osshipping_address_code_type;
6262 l_osattribute_category_tab l_osattribute_category_type;
6263 l_osattribute1_tab l_osattribute1_type;
6264 l_osattribute2_tab l_osattribute2_type;
6265 l_osattribute3_tab l_osattribute3_type;
6266 l_osattribute4_tab l_osattribute4_type;
6267 l_osattribute5_tab l_osattribute5_type;
6268 l_osattribute6_tab l_osattribute6_type;
6269 l_osattribute7_tab l_osattribute7_type;
6270 l_osattribute8_tab l_osattribute8_type;
6271 l_osattribute9_tab l_osattribute9_type;
6272 l_osattribute10_tab l_osattribute10_type;
6273 l_osattribute11_tab l_osattribute11_type;
6274 l_osattribute12_tab l_osattribute12_type;
6275 l_osattribute13_tab l_osattribute13_type;
6276 l_osattribute14_tab l_osattribute14_type;
6277 l_osattribute15_tab l_osattribute15_type;
6278 l_oscreated_by_tab l_oscreated_by_type;
6279 l_oscreation_date_tab l_oscreation_date_type;
6280 l_oslast_updated_by_tab l_oslast_updated_by_type;
6281 l_oslast_update_date_tab l_oslast_update_date_type;
6282 l_oslast_update_login_tab l_oslast_update_login_type;
6283
6284 l_supp_invoice_dtls_counter NUMBER := 1;
6285
6286 -- For okl_supp_invlice_dtls End
6287
6288 -- For okl_k_party_roles Begin
6289 l_plid_tab l_plid_type;
6290 l_plobject_version_number_tab l_plobject_version_number_type;
6291 l_plattribute_category_tab l_plattribute_category_type;
6292 l_plattribute1_tab l_plattribute1_type;
6293 l_plattribute2_tab l_plattribute2_type;
6294 l_plattribute3_tab l_plattribute3_type;
6295 l_plattribute4_tab l_plattribute4_type;
6296 l_plattribute5_tab l_plattribute5_type;
6297 l_plattribute6_tab l_plattribute6_type;
6298 l_plattribute7_tab l_plattribute7_type;
6299 l_plattribute8_tab l_plattribute8_type;
6300 l_plattribute9_tab l_plattribute9_type;
6301 l_plattribute10_tab l_plattribute10_type;
6302 l_plattribute11_tab l_plattribute11_type;
6303 l_plattribute12_tab l_plattribute12_type;
6304 l_plattribute13_tab l_plattribute13_type;
6305 l_plattribute14_tab l_plattribute14_type;
6306 l_plattribute15_tab l_plattribute15_type;
6307
6308 l_okl_k_party_roles_counter number := 1;
6309
6310 -- For okl_k_party_roles End
6311
6312 -- For party_roles_tl Begin
6313 l_pid_tab l_pid_type;
6314 l_planguage_tab l_planguage_type;
6315 l_psource_lang_tab l_psource_lang_type;
6316 l_psfwt_flag_tab l_psfwt_flag_type;
6317 l_pcreated_by_tab l_pcreated_by_type;
6318 l_pcreation_date_tab l_pcreation_date_type;
6319 l_plast_updated_by_tab l_plast_updated_by_type;
6320 l_plast_update_date_tab l_plast_update_date_type;
6321 l_pcognomen_tab l_pcognomen_type;
6322 l_palias_tab l_palias_type;
6323 l_plast_update_login_tab l_plast_update_login_type;
6324 l_psecurity_group_id_tab l_psecurity_group_id_type;
6325
6326 l_party_roles_tl_counter NUMBER := 1;
6327 -- For party_roles_tl End
6328
6329 -- For okc_contacts Begin
6330
6331 l_cid_tab l_cid_type;
6332 l_ccpl_id_tab l_ccpl_id_type;
6333 l_ccro_code_tab l_ccro_code_type;
6334 l_cdnz_chr_id_tab l_cdnz_chr_id_type;
6335 l_cobject1_id1_tab l_cobject1_id1_type;
6336 l_cobject1_id2_tab l_cobject1_id2_type;
6337 l_cjtot_object1_code_tab l_cjtot_object1_code_type;
6338 l_cobject_version_number_tab l_cobject_version_number_type;
6339 l_ccreated_by_tab l_ccreated_by_type;
6340 l_ccreation_date_tab l_ccreation_date_type;
6341 l_clast_updated_by_tab l_clast_updated_by_type;
6342 l_clast_update_date_tab l_clast_update_date_type;
6343 l_ccontact_sequence_tab l_ccontact_sequence_type;
6344 l_clast_update_login_tab l_clast_update_login_type;
6345 l_cattribute_category_tab l_cattribute_category_type;
6346 l_cattribute1_tab l_cattribute1_type;
6347 l_cattribute2_tab l_cattribute2_type;
6348 l_cattribute3_tab l_cattribute3_type;
6349 l_cattribute4_tab l_cattribute4_type;
6350 l_cattribute5_tab l_cattribute5_type;
6351 l_cattribute6_tab l_cattribute6_type;
6352 l_cattribute7_tab l_cattribute7_type;
6353 l_cattribute8_tab l_cattribute8_type;
6354 l_cattribute9_tab l_cattribute9_type;
6355 l_cattribute10_tab l_cattribute10_type;
6356 l_cattribute11_tab l_cattribute11_type;
6357 l_cattribute12_tab l_cattribute12_type;
6358 l_cattribute13_tab l_cattribute13_type;
6359 l_cattribute14_tab l_cattribute14_type;
6360 l_cattribute15_tab l_cattribute15_type;
6361 l_csecurity_group_id_tab l_csecurity_group_id_type;
6362 l_cstart_date_tab l_cstart_date_type;
6363 l_cend_date_tab l_cend_date_type;
6364 l_cprimary_yn_tab l_cprimary_yn_type;
6365 l_cresource_class_tab l_cresource_class_type;
6366
6367 l_contacts_counter NUMBER := 1;
6368 -- For okc_contacts End
6369
6370 -- For okc_rule_groups_b Begin
6371 l_rid_tab3 l_rid_type;
6372
6373 l_rid_tab l_rid_type;
6374 l_rrgd_code_tab l_rrgd_code_type;
6375 l_rchr_id_tab l_rchr_id_type;
6376 l_rcle_id_tab l_rcle_id_type;
6377 l_rdnz_chr_id_tab l_rdnz_chr_id_type;
6378 l_rparent_rgp_id_tab l_rparent_rgp_id_type;
6379 l_rsat_code_tab l_rsat_code_type;
6380 l_robject_version_number_tab l_robject_version_number_type;
6381 l_rrgp_type_tab l_rrgp_type_type;
6382 l_rcreated_by_tab l_rcreated_by_type;
6383 l_rcreation_date_tab l_rcreation_date_type;
6384 l_rlast_updated_by_tab l_rlast_updated_by_type;
6385 l_rlast_update_date_tab l_rlast_update_date_type;
6386 l_rlast_update_login_tab l_rlast_update_login_type;
6387 l_rattribute_category_tab l_rattribute_category_type;
6388 l_rattribute1_tab l_rattribute1_type;
6389 l_rattribute2_tab l_rattribute2_type;
6390 l_rattribute3_tab l_rattribute3_type;
6391 l_rattribute4_tab l_rattribute4_type;
6392 l_rattribute5_tab l_rattribute5_type;
6393 l_rattribute6_tab l_rattribute6_type;
6394 l_rattribute7_tab l_rattribute7_type;
6395 l_rattribute8_tab l_rattribute8_type;
6396 l_rattribute9_tab l_rattribute9_type;
6397 l_rattribute10_tab l_rattribute10_type;
6398 l_rattribute11_tab l_rattribute11_type;
6399 l_rattribute12_tab l_rattribute12_type;
6400 l_rattribute13_tab l_rattribute13_type;
6401 l_rattribute14_tab l_rattribute14_type;
6402 l_rattribute15_tab l_rattribute15_type;
6403 l_rsecurity_group_id_tab l_rsecurity_group_id_type;
6404
6405 l_rule_groups_b_counter NUMBER := 1;
6406 -- For okc_rule_groups_b End
6407
6408 -- For okc_rule_groups_tl Begin
6409
6410 l_rtid_tab l_rtid_type;
6411 l_rtlanguage_tab l_rtlanguage_type;
6412 l_rtsource_lang_tab l_rtsource_lang_type;
6413 l_rtsfwt_flag_tab l_rtsfwt_flag_type;
6414 l_rtcomments_tab l_rtcomments_type;
6415 l_rtcreated_by_tab l_rtcreated_by_type;
6416 l_rtcreation_date_tab l_rtcreation_date_type;
6417 l_rtlast_updated_by_tab l_rtlast_updated_by_type;
6418 l_rtlast_update_date_tab l_rtlast_update_date_type;
6419 l_rtlast_update_login_tab l_rtlast_update_login_type;
6420 l_rtsecurity_group_id_tab l_rtsecurity_group_id_type;
6421
6422 l_rule_groups_tl_counter NUMBER := 1;
6423 -- For okc_rule_groups_tl End
6424
6425 -- For okc_rules_b Begin
6426
6427 l_rrid_tab3 l_rrid_type;
6428
6429 l_rrid_tab l_rrid_type;
6430 l_rrrgp_id_tab l_rrrgp_id_type;
6431 l_rrobject1_id1_tab l_rrobject1_id1_type;
6432 l_rrobject2_id1_tab l_rrobject2_id1_type;
6433 l_rrobject3_id1_tab l_rrobject3_id1_type;
6434 l_rrobject1_id2_tab l_rrobject1_id2_type;
6435 l_rrobject2_id2_tab l_rrobject2_id2_type;
6436 l_rrobject3_id2_tab l_rrobject3_id2_type;
6437 l_rrjtot_object1_code_tab l_rrjtot_object1_code_type;
6438 l_rrjtot_object2_code_tab l_rrjtot_object2_code_type;
6439 l_rrjtot_object3_code_tab l_rrjtot_object3_code_type;
6440 l_rrdnz_chr_id_tab l_rrdnz_chr_id_type;
6441 l_rrstd_template_yn_tab l_rrstd_template_yn_type;
6442 l_rrwarn_yn_tab l_rrwarn_yn_type;
6443 l_rrpriority_tab l_rrpriority_type;
6444 l_rrobject_version_number_tab l_rrobject_version_number_type;
6445 l_rrcreated_by_tab l_rrcreated_by_type;
6446 l_rrcreation_date_tab l_rrcreation_date_type;
6447 l_rrlast_updated_by_tab l_rrlast_updated_by_type;
6448 l_rrlast_update_date_tab l_rrlast_update_date_type;
6449 l_rrlast_update_login_tab l_rrlast_update_login_type;
6450 l_rrattribute_category_tab l_rrattribute_category_type;
6451 l_rrattribute1_tab l_rrattribute1_type;
6452 l_rrattribute2_tab l_rrattribute2_type;
6453 l_rrattribute3_tab l_rrattribute3_type;
6454 l_rrattribute4_tab l_rrattribute4_type;
6455 l_rrattribute5_tab l_rrattribute5_type;
6456 l_rrattribute6_tab l_rrattribute6_type;
6457 l_rrattribute7_tab l_rrattribute7_type;
6458 l_rrattribute8_tab l_rrattribute8_type;
6459 l_rrattribute9_tab l_rrattribute9_type;
6460 l_rrattribute10_tab l_rrattribute10_type;
6461 l_rrattribute11_tab l_rrattribute11_type;
6462 l_rrattribute12_tab l_rrattribute12_type;
6463 l_rrattribute13_tab l_rrattribute13_type;
6464 l_rrattribute14_tab l_rrattribute14_type;
6465 l_rrattribute15_tab l_rrattribute15_type;
6466 l_rrrule_information_cate_tab l_rrrule_information_cate_type;
6467 l_rrrule_information1_tab l_rrrule_information1_type;
6468 l_rrrule_information2_tab l_rrrule_information2_type;
6469 l_rrrule_information3_tab l_rrrule_information3_type;
6470 l_rrrule_information4_tab l_rrrule_information4_type;
6471 l_rrrule_information5_tab l_rrrule_information5_type;
6472 l_rrrule_information6_tab l_rrrule_information6_type;
6473 l_rrrule_information7_tab l_rrrule_information7_type;
6474 l_rrrule_information8_tab l_rrrule_information8_type;
6475 l_rrrule_information9_tab l_rrrule_information9_type;
6476 l_rrrule_information10_tab l_rrrule_information10_type;
6477 l_rrrule_information11_tab l_rrrule_information11_type;
6478 l_rrrule_information12_tab l_rrrule_information12_type;
6479 l_rrrule_information13_tab l_rrrule_information13_type;
6480 l_rrrule_information14_tab l_rrrule_information14_type;
6481 l_rrrule_information15_tab l_rrrule_information15_type;
6482 l_rrsecurity_group_id_tab l_rrsecurity_group_id_type;
6483 l_rrtemplate_yn_tab l_rrtemplate_yn_type;
6484 l_rrans_set_jtot_object_c_tab l_rrans_set_jtot_object_c_type;
6485 l_rrans_set_jtot_object_1_tab l_rrans_set_jtot_object_1_type;
6486 l_rrans_set_jtot_object_2_tab l_rrans_set_jtot_object_2_type;
6487 l_rrdisplay_sequence_tab l_rrdisplay_sequence_type;
6488 l_rrcomments_tab l_rrcomments_type;
6489
6490 l_rules_b_counter NUMBER := 1;
6491 -- For okc_rules_b End
6492
6493 -- For okc_rules_tl Begin
6494
6495 l_trid_tab l_trid_type;
6496 l_trlanguage_tab l_trlanguage_type;
6497 l_trsource_lang_tab l_trsource_lang_type;
6498 l_trsfwt_flag_tab l_trsfwt_flag_type;
6499 l_trcomments_tab l_trcomments_type;
6500 l_trtext_tab l_trtext_type;
6501 l_trcreated_by_tab l_trcreated_by_type;
6502 l_trcreation_date_tab l_trcreation_date_type;
6503 l_trlast_updated_by_tab l_trlast_updated_by_type;
6504 l_trlast_update_date_tab l_trlast_update_date_type;
6505 l_trlast_update_login_tab l_trlast_update_login_type;
6506 l_trsecurity_group_id_tab l_trsecurity_group_id_type;
6507
6508 l_rules_tl_counter NUMBER := 1;
6509 -- For okc_rules_tl End
6510
6511 -- For okc_k_items Begin
6512
6513 l_iid_tab l_iid_type;
6514 l_icle_id_tab l_icle_id_type;
6515 l_ichr_id_tab l_ichr_id_type;
6516 l_icle_id_for_tab l_icle_id_for_type;
6517 l_idnz_chr_id_tab l_idnz_chr_id_type;
6518 l_iobject1_id1_tab l_iobject1_id1_type;
6519 l_iobject1_id2_tab l_iobject1_id2_type;
6520 l_ijtot_object1_code_tab l_ijtot_object1_code_type;
6521 l_iuom_code_tab l_iuom_code_type;
6522 l_iexception_yn_tab l_iexception_yn_type;
6523 l_inumber_of_items_tab l_inumber_of_items_type;
6524 l_ipriced_item_yn_tab l_ipriced_item_yn_type;
6525 l_iobject_version_number_tab l_iobject_version_number_type;
6526 l_icreated_by_tab l_icreated_by_type;
6527 l_icreation_date_tab l_icreation_date_type;
6528 l_ilast_updated_by_tab l_ilast_updated_by_type;
6529 l_ilast_update_date_tab l_ilast_update_date_type;
6530 l_ilast_update_login_tab l_ilast_update_login_type;
6531 l_isecurity_group_id_tab l_isecurity_group_id_type;
6532 l_iupg_orig_system_ref_tab l_iupg_orig_system_ref_type;
6533 l_iupg_orig_system_ref_id_tab l_iupg_orig_system_ref_id_type;
6534 l_iprogram_application_id_tab l_iprogram_application_id_type;
6535 l_iprogram_id_tab l_iprogram_id_type;
6536 l_iprogram_update_date_tab l_iprogram_update_date_type;
6537 l_irequest_id_tab l_irequest_id_type;
6538
6539 l_items_counter NUMBER := 1;
6540 -- For okc_k_items End
6541
6542 -- For okl_trx_assets Begin (42)
6543
6544 l_tid_tab l_tid_type;
6545 l_tica_id_tab l_tica_id_type;
6546 l_ttas_type_tab l_ttas_type_type;
6547 l_tobject_version_number_tab l_tobject_version_number_type;
6548 l_tattribute_category_tab l_tattribute_category_type;
6549 l_tattribute1_tab l_tattribute1_type;
6550 l_tattribute2_tab l_tattribute2_type;
6551 l_tattribute3_tab l_tattribute3_type;
6552 l_tattribute4_tab l_tattribute4_type;
6553 l_tattribute5_tab l_tattribute5_type;
6554 l_tattribute6_tab l_tattribute6_type;
6555 l_tattribute7_tab l_tattribute7_type;
6556 l_tattribute8_tab l_tattribute8_type;
6557 l_tattribute9_tab l_tattribute9_type;
6558 l_tattribute10_tab l_tattribute10_type;
6559 l_tattribute11_tab l_tattribute11_type;
6560 l_tattribute12_tab l_tattribute12_type;
6561 l_tattribute13_tab l_tattribute13_type;
6562 l_tattribute14_tab l_tattribute14_type;
6563 l_tattribute15_tab l_tattribute15_type;
6564 l_tcreated_by_tab l_tcreated_by_type;
6565 l_tcreation_date_tab l_tcreation_date_type;
6566 l_tlast_updated_by_tab l_tlast_updated_by_type;
6567 l_tlast_update_date_tab l_tlast_update_date_type;
6568 l_tlast_update_login_tab l_tlast_update_login_type;
6569 l_ttsu_code_tab l_ttsu_code_type;
6570 l_ttry_id_tab l_ttry_id_type;
6571 l_tdate_trans_occurred_tab l_tdate_trans_occurred_type;
6572 l_ttrans_number_tab l_ttrans_number_type;
6573 l_tcomments_tab l_tcomments_type;
6574 l_treq_asset_id_tab l_treq_asset_id_type;
6575 l_ttotal_match_amount_tab l_ttotal_match_amount_type;
6576 l_torg_id_tab l_torg_id_type;
6577 l_tlegal_entity_id_tab l_tlegal_entity_id_type;
6578
6579 l_trx_assets_counter NUMBER := 1;
6580 -- For okl_trx_assets End (42)
6581
6582 -- For okl_trx_assets Begin (45)
6583
6584 l_t2id_tab l_t2id_type;
6585 l_t2ica_id_tab l_t2ica_id_type;
6586 l_t2tas_type_tab l_t2tas_type_type;
6587 l_t2object_version_number_tab l_t2object_version_number_type;
6588 l_t2attribute_category_tab l_t2attribute_category_type;
6589 l_t2attribute1_tab l_t2attribute1_type;
6590 l_t2attribute2_tab l_t2attribute2_type;
6591 l_t2attribute3_tab l_t2attribute3_type;
6592 l_t2attribute4_tab l_t2attribute4_type;
6593 l_t2attribute5_tab l_t2attribute5_type;
6594 l_t2attribute6_tab l_t2attribute6_type;
6595 l_t2attribute7_tab l_t2attribute7_type;
6596 l_t2attribute8_tab l_t2attribute8_type;
6597 l_t2attribute9_tab l_t2attribute9_type;
6598 l_t2attribute10_tab l_t2attribute10_type;
6599 l_t2attribute11_tab l_t2attribute11_type;
6600 l_t2attribute12_tab l_t2attribute12_type;
6601 l_t2attribute13_tab l_t2attribute13_type;
6602 l_t2attribute14_tab l_t2attribute14_type;
6603 l_t2attribute15_tab l_t2attribute15_type;
6604 l_t2created_by_tab l_t2created_by_type;
6605 l_t2creation_date_tab l_t2creation_date_type;
6606 l_t2last_updated_by_tab l_t2last_updated_by_type;
6607 l_t2last_update_date_tab l_t2last_update_date_type;
6608 l_t2last_update_login_tab l_t2last_update_login_type;
6609 l_t2tsu_code_tab l_t2tsu_code_type;
6610 l_t2try_id_tab l_t2try_id_type;
6611 l_t2date_trans_occurred_tab l_t2date_trans_occurred_type;
6612 l_t2trans_number_tab l_t2trans_number_type;
6613 l_t2comments_tab l_t2comments_type;
6614 l_t2req_asset_id_tab l_t2req_asset_id_type;
6615 l_t2total_match_amount_tab l_t2total_match_amount_type;
6616 l_t2org_id_tab l_t2org_id_type;
6617 l_t2legal_entity_id_tab l_t2legal_entity_id_type;
6618
6619 l_trx_assets_counter2 NUMBER := 1;
6620
6621 -- For okl_trx_assets End (45)
6622
6623 -- For okl_txl_assets_b Begin
6624
6625 l_tbid_tab3 l_tbid_type;
6626
6627 l_tbid_tab l_tbid_type;
6628 l_tbobject_version_number_tab l_tbobject_version_number_type;
6629 l_tbtas_id_tab l_tbtas_id_type;
6630 l_tbilo_id_tab l_tbilo_id_type;
6631 l_tbilo_id_old_tab l_tbilo_id_old_type;
6632 l_tbiay_id_tab l_tbiay_id_type;
6633 l_tbiay_id_new_tab l_tbiay_id_new_type;
6634 l_tbkle_id_tab l_tbkle_id_type;
6635 l_tbdnz_khr_id_tab l_tbdnz_khr_id_type;
6636 l_tbline_number_tab l_tbline_number_type;
6637 l_tborg_id_tab l_tborg_id_type;
6638 l_tbtal_type_tab l_tbtal_type_type;
6639 l_tbasset_number_tab l_tbasset_number_type;
6640 l_tbfa_location_id_tab l_tbfa_location_id_type;
6641 l_tboriginal_cost_tab l_tboriginal_cost_type;
6642 l_tbcurrent_units_tab l_tbcurrent_units_type;
6643 l_tbmanufacturer_name_tab l_tbmanufacturer_name_type;
6644 l_tbyear_manufactured_tab l_tbyear_manufactured_type;
6645 l_tbsupplier_id_tab l_tbsupplier_id_type;
6646 l_tbused_asset_yn_tab l_tbused_asset_yn_type;
6647 l_tbtag_number_tab l_tbtag_number_type;
6648 l_tbmodel_number_tab l_tbmodel_number_type;
6649 l_tbcorporate_book_tab l_tbcorporate_book_type;
6650 l_tbdate_purchased_tab l_tbdate_purchased_type;
6651 l_tbdate_delivery_tab l_tbdate_delivery_type;
6652 l_tbin_service_date_tab l_tbin_service_date_type;
6653 l_tblife_in_months_tab l_tblife_in_months_type;
6654 l_tbdepreciation_id_tab l_tbdepreciation_id_type;
6655 l_tbdepreciation_cost_tab l_tbdepreciation_cost_type;
6656 l_tbdeprn_method_tab l_tbdeprn_method_type;
6657 l_tbdeprn_rate_tab l_tbdeprn_rate_type;
6658 l_tbsalvage_value_tab l_tbsalvage_value_type;
6659 l_tbpercent_salvage_value_tab l_tbpercent_salvage_value_type;
6660 l_tbattribute_category_tab l_tbattribute_category_type;
6661 l_tbattribute1_tab l_tbattribute1_type;
6662 l_tbattribute2_tab l_tbattribute2_type;
6663 l_tbattribute3_tab l_tbattribute3_type;
6664 l_tbattribute4_tab l_tbattribute4_type;
6665 l_tbattribute5_tab l_tbattribute5_type;
6666 l_tbattribute6_tab l_tbattribute6_type;
6667 l_tbattribute7_tab l_tbattribute7_type;
6668 l_tbattribute8_tab l_tbattribute8_type;
6669 l_tbattribute9_tab l_tbattribute9_type;
6670 l_tbattribute10_tab l_tbattribute10_type;
6671 l_tbattribute11_tab l_tbattribute11_type;
6672 l_tbattribute12_tab l_tbattribute12_type;
6673 l_tbattribute13_tab l_tbattribute13_type;
6674 l_tbattribute14_tab l_tbattribute14_type;
6675 l_tbattribute15_tab l_tbattribute15_type;
6676 l_tbcreated_by_tab l_tbcreated_by_type;
6677 l_tbcreation_date_tab l_tbcreation_date_type;
6678 l_tblast_updated_by_tab l_tblast_updated_by_type;
6679 l_tblast_update_date_tab l_tblast_update_date_type;
6680 l_tblast_update_login_tab l_tblast_update_login_type;
6681 l_tbdepreciate_yn_tab l_tbdepreciate_yn_type;
6682 l_tbhold_period_days_tab l_tbhold_period_days_type;
6683 l_tbold_salvage_value_tab l_tbold_salvage_value_type;
6684 l_tbnew_residual_value_tab l_tbnew_residual_value_type;
6685 l_tbold_residual_value_tab l_tbold_residual_value_type;
6686 l_tbunits_retired_tab l_tbunits_retired_type;
6687 l_tbcost_retired_tab l_tbcost_retired_type;
6688 l_tbsale_proceeds_tab l_tbsale_proceeds_type;
6689 l_tbremoval_cost_tab l_tbremoval_cost_type;
6690 l_tbdnz_asset_id_tab l_tbdnz_asset_id_type;
6691 l_tbdate_due_tab l_tbdate_due_type;
6692 l_tbrep_asset_id_tab l_tbrep_asset_id_type;
6693 l_tblke_asset_id_tab l_tblke_asset_id_type;
6694 l_tbmatch_amount_tab l_tbmatch_amount_type;
6695 l_tbsplit_into_singles_fl_tab l_tbsplit_into_singles_fl_type;
6696 l_tbsplit_into_units_tab l_tbsplit_into_units_type;
6697 l_tbcurrency_code_tab l_tbcurrency_code_type;
6698 l_tbcurrency_convers_type_tab l_tbcurrency_convers_type_type;
6699 l_tbcurrency_convers_rate_tab l_tbcurrency_convers_rate_type;
6700 l_tbcurrency_convers_date_tab l_tbcurrency_convers_date_type;
6701 l_tbasset_key_id_tab l_tbasset_key_id_type;
6702 l_tbfa_trx_date_tab l_tbfa_trx_date_type;
6703
6704 l_txl_assets_b_counter NUMBER := 1;
6705
6706 l_tb2id_tab l_tbid_type;
6707 l_tb2object_version_number_tab l_tbobject_version_number_type;
6708 l_tb2tas_id_tab l_tbtas_id_type;
6709 l_tb2ilo_id_tab l_tbilo_id_type;
6710 l_tb2ilo_id_old_tab l_tbilo_id_old_type;
6711 l_tb2iay_id_tab l_tbiay_id_type;
6712 l_tb2iay_id_new_tab l_tbiay_id_new_type;
6713 l_tb2kle_id_tab l_tbkle_id_type;
6714 l_tb2dnz_khr_id_tab l_tbdnz_khr_id_type;
6715 l_tb2line_number_tab l_tbline_number_type;
6716 l_tb2org_id_tab l_tborg_id_type;
6717 l_tb2tal_type_tab l_tbtal_type_type;
6718 l_tb2asset_number_tab l_tbasset_number_type;
6719 l_tb2fa_location_id_tab l_tbfa_location_id_type;
6720 l_tb2original_cost_tab l_tboriginal_cost_type;
6721 l_tb2current_units_tab l_tbcurrent_units_type;
6722 l_tb2manufacturer_name_tab l_tbmanufacturer_name_type;
6723 l_tb2year_manufactured_tab l_tbyear_manufactured_type;
6724 l_tb2supplier_id_tab l_tbsupplier_id_type;
6725 l_tb2used_asset_yn_tab l_tbused_asset_yn_type;
6726 l_tb2tag_number_tab l_tbtag_number_type;
6727 l_tb2model_number_tab l_tbmodel_number_type;
6728 l_tb2corporate_book_tab l_tbcorporate_book_type;
6729 l_tb2date_purchased_tab l_tbdate_purchased_type;
6730 l_tb2date_delivery_tab l_tbdate_delivery_type;
6731 l_tb2in_service_date_tab l_tbin_service_date_type;
6732 l_tb2life_in_months_tab l_tblife_in_months_type;
6733 l_tb2depreciation_id_tab l_tbdepreciation_id_type;
6734 l_tb2depreciation_cost_tab l_tbdepreciation_cost_type;
6735 l_tb2deprn_method_tab l_tbdeprn_method_type;
6736 l_tb2deprn_rate_tab l_tbdeprn_rate_type;
6737 l_tb2salvage_value_tab l_tbsalvage_value_type;
6738 l_tb2percent_salvage_value_tab l_tbpercent_salvage_value_type;
6739 l_tb2attribute_category_tab l_tbattribute_category_type;
6740 l_tb2attribute1_tab l_tbattribute1_type;
6741 l_tb2attribute2_tab l_tbattribute2_type;
6742 l_tb2attribute3_tab l_tbattribute3_type;
6743 l_tb2attribute4_tab l_tbattribute4_type;
6744 l_tb2attribute5_tab l_tbattribute5_type;
6745 l_tb2attribute6_tab l_tbattribute6_type;
6746 l_tb2attribute7_tab l_tbattribute7_type;
6747 l_tb2attribute8_tab l_tbattribute8_type;
6748 l_tb2attribute9_tab l_tbattribute9_type;
6749 l_tb2attribute10_tab l_tbattribute10_type;
6750 l_tb2attribute11_tab l_tbattribute11_type;
6751 l_tb2attribute12_tab l_tbattribute12_type;
6752 l_tb2attribute13_tab l_tbattribute13_type;
6753 l_tb2attribute14_tab l_tbattribute14_type;
6754 l_tb2attribute15_tab l_tbattribute15_type;
6755 l_tb2created_by_tab l_tbcreated_by_type;
6756 l_tb2creation_date_tab l_tbcreation_date_type;
6757 l_tb2last_updated_by_tab l_tblast_updated_by_type;
6758 l_tb2last_update_date_tab l_tblast_update_date_type;
6759 l_tb2last_update_login_tab l_tblast_update_login_type;
6760 l_tb2depreciate_yn_tab l_tbdepreciate_yn_type;
6761 l_tb2hold_period_days_tab l_tbhold_period_days_type;
6762 l_tb2old_salvage_value_tab l_tbold_salvage_value_type;
6763 l_tb2new_residual_value_tab l_tbnew_residual_value_type;
6764 l_tb2old_residual_value_tab l_tbold_residual_value_type;
6765 l_tb2units_retired_tab l_tbunits_retired_type;
6766 l_tb2cost_retired_tab l_tbcost_retired_type;
6767 l_tb2sale_proceeds_tab l_tbsale_proceeds_type;
6768 l_tb2removal_cost_tab l_tbremoval_cost_type;
6769 l_tb2dnz_asset_id_tab l_tbdnz_asset_id_type;
6770 l_tb2date_due_tab l_tbdate_due_type;
6771 l_tb2rep_asset_id_tab l_tbrep_asset_id_type;
6772 l_tb2lke_asset_id_tab l_tblke_asset_id_type;
6773 l_tb2match_amount_tab l_tbmatch_amount_type;
6774 l_tb2split_into_units_tab l_tbsplit_into_units_type;
6775 l_tb2currency_code_tab l_tbcurrency_code_type;
6776 l_tb2asset_key_id_tab l_tbasset_key_id_type;
6777 l_tb2fa_trx_date_tab l_tbfa_trx_date_type;
6778 l_tb2fa_cost_tab l_tbfa_cost_type;
6779
6780 -- For okl_txl_assets_b End
6781
6782 -- For okl_txl_assets_tl Begin
6783
6784 l_tlid_tab l_tlid_type;
6785 l_tllanguage_tab l_tllanguage_type;
6786 l_tlsource_lang_tab l_tlsource_lang_type;
6787 l_tlsfwt_flag_tab l_tlsfwt_flag_type;
6788 l_tldescription_tab l_tldescription_type;
6789 l_tlcreated_by_tab l_tlcreated_by_type;
6790 l_tlcreation_date_tab l_tlcreation_date_type;
6791 l_tllast_updated_by_tab l_tllast_updated_by_type;
6792 l_tllast_update_date_tab l_tllast_update_date_type;
6793 l_tllast_update_login_tab l_tllast_update_login_type;
6794
6795 l_txl_assets_tl_counter NUMBER := 1;
6796
6797 -- For okl_txl_assets_tl End
6798
6799 -- For okl_txd_assets_b Begin
6800
6801 l_dbid_tab3 l_dbid_type;
6802 l_dbid_tab l_dbid_type;
6803 l_dbobject_version_number_tab l_dbobject_version_number_type;
6804 l_dbtal_id_tab l_dbtal_id_type;
6805 l_dbtarget_kle_id_tab l_dbtarget_kle_id_type;
6806 l_dbline_detail_number_tab l_dbline_detail_number_type;
6807 l_dbasset_number_tab l_dbasset_number_type;
6808 l_dbquantity_tab l_dbquantity_type;
6809 l_dbcost_tab l_dbcost_type;
6810 l_dbtax_book_tab l_dbtax_book_type;
6811 l_dblife_in_months_tax_tab l_dblife_in_months_tax_type;
6812 l_dbdeprn_method_tax_tab l_dbdeprn_method_tax_type;
6813 l_dbdeprn_rate_tax_tab l_dbdeprn_rate_tax_type;
6814 l_dbsalvage_value_tab l_dbsalvage_value_type;
6815 l_dbsplit_percent_tab l_dbsplit_percent_type;
6816 l_dbinventory_item_id_tab l_dbinventory_item_id_type;
6817 l_dbattribute_category_tab l_dbattribute_category_type;
6818 l_dbattribute1_tab l_dbattribute1_type;
6819 l_dbattribute2_tab l_dbattribute2_type;
6820 l_dbattribute3_tab l_dbattribute3_type;
6821 l_dbattribute4_tab l_dbattribute4_type;
6822 l_dbattribute5_tab l_dbattribute5_type;
6823 l_dbattribute6_tab l_dbattribute6_type;
6824 l_dbattribute7_tab l_dbattribute7_type;
6825 l_dbattribute8_tab l_dbattribute8_type;
6826 l_dbattribute9_tab l_dbattribute9_type;
6827 l_dbattribute10_tab l_dbattribute10_type;
6828 l_dbattribute11_tab l_dbattribute11_type;
6829 l_dbattribute12_tab l_dbattribute12_type;
6830 l_dbattribute13_tab l_dbattribute13_type;
6831 l_dbattribute14_tab l_dbattribute14_type;
6832 l_dbattribute15_tab l_dbattribute15_type;
6833 l_dbcreated_by_tab l_dbcreated_by_type;
6834 l_dbcreation_date_tab l_dbcreation_date_type;
6835 l_dblast_updated_by_tab l_dblast_updated_by_type;
6836 l_dblast_update_date_tab l_dblast_update_date_type;
6837 l_dblast_update_login_tab l_dblast_update_login_type;
6838 l_dbcurrency_code_tab l_dbcurrency_code_type;
6839 l_dbcurrency_convers_type_tab l_dbcurrency_convers_type_type;
6840 l_dbcurrency_convers_rate_tab l_dbcurrency_convers_rate_type;
6841 l_dbcurrency_convers_date_tab l_dbcurrency_convers_date_type;
6842
6843 l_txd_assets_b_counter NUMBER := 1;
6844
6845 -- For okl_txd_assets_b End
6846
6847 -- For okl_txd_assets_tl Begin
6848
6849 l_dlid_tab l_dlid_type;
6850 l_dllanguage_tab l_dllanguage_type;
6851 l_dlsource_lang_tab l_dlsource_lang_type;
6852 l_dlsfwt_flag_tab l_dlsfwt_flag_type;
6853 l_dldescription_tab l_dldescription_type;
6854 l_dlcreated_by_tab l_dlcreated_by_type;
6855 l_dlcreation_date_tab l_dlcreation_date_type;
6856 l_dllast_updated_by_tab l_dllast_updated_by_type;
6857 l_dllast_update_date_tab l_dllast_update_date_type;
6858 l_dllast_update_login_tab l_dllast_update_login_type;
6859
6860 l_txd_assets_tl_counter NUMBER := 1;
6861
6862 -- For okl_txd_assets_tl End
6863
6864 -- For okl_txl_itm_insts Begin
6865
6866 l_tiid_tab l_tiid_type;
6867 l_tiobject_version_number_tab l_tiobject_version_number_type;
6868 l_titas_id_tab l_titas_id_type;
6869 l_tital_id_tab l_tital_id_type;
6870 l_tikle_id_tab l_tikle_id_type;
6871 l_tital_type_tab l_tital_type_type;
6872 l_tiline_number_tab l_tiline_number_type;
6873 l_tiinstance_number_ib_tab l_tiinstance_number_ib_type;
6874 l_tiobject_id1_new_tab l_tiobject_id1_new_type;
6875 l_tiobject_id2_new_tab l_tiobject_id2_new_type;
6876 l_tijtot_object_code_new_tab l_tijtot_object_code_new_type;
6877 l_tiobject_id1_old_tab l_tiobject_id1_old_type;
6878 l_tiobject_id2_old_tab l_tiobject_id2_old_type;
6879 l_tijtot_object_code_old_tab l_tijtot_object_code_old_type;
6880 l_tiinventory_org_id_tab l_tiinventory_org_id_type;
6881 l_tiserial_number_tab l_tiserial_number_type;
6882 l_timfg_serial_number_yn_tab l_timfg_serial_number_yn_type;
6883 l_tiinventory_item_id_tab l_tiinventory_item_id_type;
6884 l_tiinv_master_org_id_tab l_tiinv_master_org_id_type;
6885 l_tiattribute_category_tab l_tiattribute_category_type;
6886 l_tiattribute1_tab l_tiattribute1_type;
6887 l_tiattribute2_tab l_tiattribute2_type;
6888 l_tiattribute3_tab l_tiattribute3_type;
6889 l_tiattribute4_tab l_tiattribute4_type;
6890 l_tiattribute5_tab l_tiattribute5_type;
6891 l_tiattribute6_tab l_tiattribute6_type;
6892 l_tiattribute7_tab l_tiattribute7_type;
6893 l_tiattribute8_tab l_tiattribute8_type;
6894 l_tiattribute9_tab l_tiattribute9_type;
6895 l_tiattribute10_tab l_tiattribute10_type;
6896 l_tiattribute11_tab l_tiattribute11_type;
6897 l_tiattribute12_tab l_tiattribute12_type;
6898 l_tiattribute13_tab l_tiattribute13_type;
6899 l_tiattribute14_tab l_tiattribute14_type;
6900 l_tiattribute15_tab l_tiattribute15_type;
6901 l_ticreated_by_tab l_ticreated_by_type;
6902 l_ticreation_date_tab l_ticreation_date_type;
6903 l_tilast_updated_by_tab l_tilast_updated_by_type;
6904 l_tilast_update_date_tab l_tilast_update_date_type;
6905 l_tilast_update_login_tab l_tilast_update_login_type;
6906 l_tidnz_cle_id_tab l_tidnz_cle_id_type;
6907 l_tiinstance_id_tab l_tiinstance_id_type;
6908 l_tiselected_for_split_fl_tab l_tiselected_for_split_fl_type;
6909 l_tiasd_id_tab l_tiasd_id_type;
6910
6911 l_txl_itm_insts_counter NUMBER := 1;
6912
6913 -- okl_txl_itm_insts
6914 l_ti2id_tab l_tiid_type;
6915 l_ti2tas_id_tab l_titas_id_type;
6916 l_ti2kle_id_tab l_tikle_id_type;
6917 l_ti2line_number_tab l_tiline_number_type;
6918 l_ti2instance_number_ib_tab l_tiinstance_number_ib_type;
6919 l_ti2object_id1_new_tab l_tiobject_id1_new_type;
6920 l_ti2object_id2_new_tab l_tiobject_id2_new_type;
6921 l_ti2jtot_object_code_new_tab l_tijtot_object_code_new_type;
6922 l_ti2dnz_cle_id_tab l_tidnz_cle_id_type;
6923 l_ti2inventory_item_id_tab l_tiinventory_item_id_type;
6924 l_ti2inv_master_org_id_tab l_tiinv_master_org_id_type;
6925 l_ti2inventory_org_id_tab l_tiinventory_org_id_type;
6926 l_ti2serial_number_tab l_tiserial_number_type;
6927 l_ti2mfg_serial_number_yn_tab l_timfg_serial_number_yn_type;
6928
6929 l_txl_itm_insts_counter2 NUMBER := 1;
6930
6931 -- For okl_txl_itm_insts End
6932
6933 -- For okc_k_lines_tl Begin
6934
6935 l_olid_tab l_olid_type;
6936 l_ollanguage_tab l_ollanguage_type;
6937 l_olsource_lang_tab l_olsource_lang_type;
6938 l_olsfwt_flag_tab l_olsfwt_flag_type;
6939 l_olname_tab l_olname_type;
6940 l_olcomments_tab l_olcomments_type;
6941 l_olitem_description_tab l_olitem_description_type;
6942 l_olblock23text_tab l_olblock23text_type;
6943 l_olcreated_by_tab l_olcreated_by_type;
6944 l_olcreation_date_tab l_olcreation_date_type;
6945 l_ollast_updated_by_tab l_ollast_updated_by_type;
6946 l_ollast_update_date_tab l_ollast_update_date_type;
6947 l_ollast_update_login_tab l_ollast_update_login_type;
6948 l_olsecurity_group_id_tab l_olsecurity_group_id_type;
6949 l_oloke_boe_description_tab l_oloke_boe_description_type;
6950 l_olcognomen_tab l_olcognomen_type;
6951
6952 l_ollse_id_tab l_lse_id_type;
6953 --avsingh: Bug 5710213: start
6954 l_ollty_code_tab l_lty_code_type;
6955 --avsingh: Bug 5710213: end
6956 l_olsts_code_tab l_sts_code_type;
6957 l_olfee_type_tab l_fee_type_type;
6958
6959 l_okc_k_lines_tl_counter NUMBER := 1;
6960 -- For okc_k_lines_tl End
6961
6962 -- For okl_party_payment_dtls Begin
6963
6964 l_ppid_tab l_ppid_type;
6965 l_ppobject_version_number_tab l_ppobject_version_number_type;
6966 l_ppcpl_id_tab l_ppcpl_id_type;
6967 l_ppvendor_id_tab l_ppvendor_id_type;
6968 l_pppay_site_id_tab l_pppay_site_id_type;
6969 l_pppayment_term_id_tab l_pppayment_term_id_type;
6970 l_pppayment_method_code_tab l_pppayment_method_code_type;
6971 l_pppay_group_code_tab l_pppay_group_code_type;
6972 l_ppattribute_category_tab l_ppattribute_category_type;
6973 l_ppattribute1_tab l_ppattribute1_type;
6974 l_ppattribute2_tab l_ppattribute2_type;
6975 l_ppattribute3_tab l_ppattribute3_type;
6976 l_ppattribute4_tab l_ppattribute4_type;
6977 l_ppattribute5_tab l_ppattribute5_type;
6978 l_ppattribute6_tab l_ppattribute6_type;
6979 l_ppattribute7_tab l_ppattribute7_type;
6980 l_ppattribute8_tab l_ppattribute8_type;
6981 l_ppattribute9_tab l_ppattribute9_type;
6982 l_ppattribute10_tab l_ppattribute10_type;
6983 l_ppattribute11_tab l_ppattribute11_type;
6984 l_ppattribute12_tab l_ppattribute12_type;
6985 l_ppattribute13_tab l_ppattribute13_type;
6986 l_ppattribute14_tab l_ppattribute14_type;
6987 l_ppattribute15_tab l_ppattribute15_type;
6988 l_ppcreated_by_tab l_ppcreated_by_type;
6989 l_ppcreation_date_tab l_ppcreation_date_type;
6990 l_pplast_updated_by_tab l_pplast_updated_by_type;
6991 l_pplast_update_date_tab l_pplast_update_date_type;
6992 l_pplast_update_login_tab l_pplast_update_login_type;
6993 l_pppayment_hdr_id_tab l_pppayment_hdr_id_type;
6994 l_pppayment_start_date_tab l_pppayment_start_date_type;
6995 l_pppayment_frequency_tab l_pppayment_frequency_type;
6996 l_ppremit_days_tab l_ppremit_days_type;
6997 l_ppdisbursement_basis_tab l_ppdisbursement_basis_type;
6998 l_ppdisbursement_fixed_am_tab l_ppdisbursement_fixed_am_type;
6999 l_ppdisbursement_percent_tab l_ppdisbursement_percent_type;
7000 l_ppprocessing_fee_basis_tab l_ppprocessing_fee_basis_type;
7001 l_ppprocessing_fee_fixedt_tab l_ppprocessing_fee_fixedt_type;
7002 l_ppprocessing_fee_percen_tab l_ppprocessing_fee_percen_type;
7003 l_pppayment_basis_tab l_pppayment_basis_type;
7004
7005 l_ppORIG_CONTRACT_LINE_ID_tab l_ppORIG_CONTRACT_LINE_ID_type; --sechawla 21-jul-09 8677460 : PRB ESG enhancements
7006
7007 l_party_payment_dtls_counter NUMBER := 1;
7008
7009 -- For okl_party_payment_dtls End
7010
7011 -- For okl_slctd_optns Begin
7012
7013 l_sid_tab l_sid_type;
7014 l_spov_id_tab l_spov_id_type;
7015 l_skhr_id_tab l_skhr_id_type;
7016 l_sobject_version_number_tab l_sobject_version_number_type;
7017 l_sattribute_category_tab l_sattribute_category_type;
7018 l_sattribute1_tab l_sattribute1_type;
7019 l_sattribute2_tab l_sattribute2_type;
7020 l_sattribute3_tab l_sattribute3_type;
7021 l_sattribute4_tab l_sattribute4_type;
7022 l_sattribute5_tab l_sattribute5_type;
7023 l_sattribute6_tab l_sattribute6_type;
7024 l_sattribute7_tab l_sattribute7_type;
7025 l_sattribute8_tab l_sattribute8_type;
7026 l_sattribute9_tab l_sattribute9_type;
7027 l_sattribute10_tab l_sattribute10_type;
7028 l_sattribute11_tab l_sattribute11_type;
7029 l_sattribute12_tab l_sattribute12_type;
7030 l_sattribute13_tab l_sattribute13_type;
7031 l_sattribute14_tab l_sattribute14_type;
7032 l_sattribute15_tab l_sattribute15_type;
7033 l_screated_by_tab l_screated_by_type;
7034 l_screation_date_tab l_screation_date_type;
7035 l_slast_updated_by_tab l_slast_updated_by_type;
7036 l_slast_update_date_tab l_slast_update_date_type;
7037 l_slast_update_login_tab l_slast_update_login_type;
7038
7039 l_slctd_optns_counter NUMBER := 1;
7040
7041 -- For okl_slctd_optns End
7042
7043 -- For okc_rg_party_roles Begin
7044
7045 l_gid_tab l_gid_type;
7046 l_grgp_id_tab l_grgp_id_type;
7047 l_grrd_id_tab l_grrd_id_type;
7048 l_gcpl_id_tab l_gcpl_id_type;
7049 l_gdnz_chr_id_tab l_gdnz_chr_id_type;
7050 l_gobject_version_number_tab l_gobject_version_number_type;
7051 l_gcreated_by_tab l_gcreated_by_type;
7052 l_gcreation_date_tab l_gcreation_date_type;
7053 l_glast_updated_by_tab l_glast_updated_by_type;
7054 l_glast_update_date_tab l_glast_update_date_type;
7055 l_glast_update_login_tab l_glast_update_login_type;
7056 l_gsecurity_group_id_tab l_gsecurity_group_id_type;
7057
7058 l_rg_party_roles_counter NUMBER := 1;
7059
7060 -- For okc_rg_party_roles End
7061
7062 --l_okl_k_lines_rec2 lines_tbl_type;
7063 l_okl_k_lines_rec l_okl_k_lines_rec_tab;
7064 l_okl_k_lines_rec_counter NUMBER := 1;
7065 l_okc_k_items_rec l_okc_k_items_rec_tab;
7066 l_okc_k_items_rec_counter NUMBER := 1;
7067
7068 l_bid_mapping_tab l_bid_mapping_tab_type;
7069 l_cle_lse_mapping_tab l_cle_lse_mapping_tab_type;
7070 l_orig_system_tab l_orig_system_tab_type;
7071 l_id_mapping_tab l_id_mapping_tab_type;
7072 l_party_id_mapping_tab l_party_id_mapping_tab_type;
7073 l_ssid_mapping_tab l_ssid_mapping_tab_type;
7074 l_sid_mapping_tab l_sid_mapping_tab_type;
7075 l_tid_mapping_tab l_tid_mapping_tab_type;
7076 l_vid_mapping_tab l_vid_mapping_tab_type;
7077 l_dbid_mapping_tab l_dbid_mapping_tab_type;
7078 l_osid_mapping_tab l_osid_mapping_tab_type;
7079 l_cid_mapping_tab l_cid_mapping_tab_type;
7080 l_rid_mapping_tab l_rid_mapping_tab_type;
7081 l_rrid_mapping_tab l_rrid_mapping_tab_type;
7082 l_trx_id_mapping_tab l_trx_id_mapping_tab_type;
7083 l_trx_id_mapping_tab2 l_trx_id_mapping_tab_type;
7084 l_txl_id_mapping_tab l_txl_id_mapping_tab_type;
7085 l_aid_mapping_tab l_aid_mapping_tab_type;
7086 l_oid_mapping_tab l_oid_mapping_tab_type;
7087 l_cle_mapping_tab l_cle_mapping_tab_type;
7088 l_cle_mapping_tab2 l_cle_mapping_tab_type2;
7089 l_asset_counter NUMBER := 1;
7090 l_vid_counter NUMBER := 1;
7091 l_tid_counter NUMBER := 1;
7092 l_ssid_counter NUMBER := 1;
7093 l_s2cle_id_tab l_id_type;
7094 l_s2object1_id1_tab l_misc_object1_id1;
7095
7096 l_entered_id_tab l_id_type;
7097 l_entered_sts_code_tab l_sts_code_type; -- Bug 4872258
7098 l_entered_counter NUMBER := 1;
7099 l_delete_id_tab l_id_type;
7100 l_delete_counter NUMBER := 1;
7101 l_line_count NUMBER := 0; --5207066
7102
7103 l_id2_tab_counter NUMBER := 1;
7104 l_id2_tab l_id_type;
7105 l_id_tab l_id_type;
7106 l_line_number_tab l_line_number_type;
7107 l_chr_id_tab l_chr_id_type;
7108 l_cle_id_tab l_cle_id_type;
7109 l_cle_id_renewed_tab l_cle_id_renewed_type;
7110 l_dnz_chr_id_tab l_dnz_chr_id_type;
7111 l_display_sequence_tab l_display_sequence_type;
7112 l_sts_code_tab l_sts_code_type;
7113 l_trn_code_tab l_trn_code_type;
7114 l_lse_id2_tab l_lse_id_type;
7115 l_lse_id_tab l_lse_id_type;
7116 --avsingh: Bug 5710213: start
7117 l_lty_code_tab l_lty_code_type;
7118 --avsingh: Bug 5710213: end
7119 l_exception_yn_tab l_exception_yn_type;
7120 l_object_version_number_tab l_object_version_number_type;
7121 l_created_by_tab l_created_by_type;
7122 l_creation_date_tab l_creation_date_type;
7123 l_last_updated_by_tab l_last_updated_by_type;
7124 l_last_update_date_tab l_last_update_date_type;
7125 l_hidden_ind_tab l_hidden_ind_type;
7126 l_price_negotiated_tab l_price_negotiated_type;
7127 l_price_level_ind_tab l_price_level_ind_type;
7128 l_price_unit_tab l_price_unit_type;
7129 l_price_unit_percent_tab l_price_unit_percent_type;
7130 l_invoice_line_level_ind_tab l_invoice_line_level_ind_type;
7131 l_dpas_rating_tab l_dpas_rating_type;
7132 l_template_used_tab l_template_used_type;
7133 l_price_type_tab l_price_type_type;
7134 l_currency_code_tab l_currency_code_type;
7135 l_last_update_login_tab l_last_update_login_type;
7136 l_date_terminated_tab l_date_terminated_type;
7137 l_start_date_tab l_start_date_type;
7138 l_end_date_tab l_end_date_type;
7139 l_attribute_category_tab l_attribute_category_type;
7140 l_attribute1_tab l_attribute1_type;
7141 l_attribute2_tab l_attribute2_type;
7142 l_attribute3_tab l_attribute3_type;
7143 l_attribute4_tab l_attribute4_type;
7144 l_attribute5_tab l_attribute5_type;
7145 l_attribute6_tab l_attribute6_type;
7146 l_attribute7_tab l_attribute7_type;
7147 l_attribute8_tab l_attribute8_type;
7148 l_attribute9_tab l_attribute9_type;
7149 l_attribute10_tab l_attribute10_type;
7150 l_attribute11_tab l_attribute11_type;
7151 l_attribute12_tab l_attribute12_type;
7152 l_attribute13_tab l_attribute13_type;
7153 l_attribute14_tab l_attribute14_type;
7154 l_attribute15_tab l_attribute15_type;
7155 l_security_group_id_tab l_security_group_id_type;
7156 l_cle_id_renewed_to_tab l_cle_id_renewed_to_type;
7157 l_price_negotiated_renewed_tab l_price_negotiated_renewed_typ;
7158 l_currency_code_renewed_tab l_currency_code_renewed_type;
7159 l_upg_orig_system_ref_tab l_upg_orig_system_ref_type;
7160 l_upg_orig_system_ref_id_tab l_upg_orig_system_ref_id_type;
7161 l_date_renewed_tab l_date_renewed_type;
7162 l_orig_system_source_code_tab l_orig_system_source_code_type;
7163 l_orig_system_id1_tab l_orig_system_id1_type;
7164 l_orig_system_reference1_tab l_orig_system_reference1_type;
7165 l_program_application_id_tab l_program_application_id_type;
7166 l_program_id_tab l_program_id_type;
7167 l_program_update_date_tab l_program_update_date_type;
7168 l_request_id_tab l_request_id_type;
7169 l_price_list_id_tab l_price_list_id_type;
7170 l_price_list_line_id_tab l_price_list_line_id_type;
7171 l_line_list_price_tab l_line_list_price_type;
7172 l_item_to_price_yn_tab l_item_to_price_yn_type;
7173 l_pricing_date_tab l_pricing_date_type;
7174 l_price_basis_yn_tab l_price_basis_yn_type;
7175 l_config_header_id_tab l_config_header_id_type;
7176 l_config_revision_number_tab l_config_revision_number_type;
7177 l_config_complete_yn_tab l_config_complete_yn_type;
7178 l_config_valid_yn_tab l_config_valid_yn_type;
7179 l_config_top_model_line_id_tab l_config_top_model_line_id_typ;
7180 l_config_item_type_tab l_config_item_type_type;
7181 l_config_item_id_tab l_config_item_id_type;
7182 l_service_item_yn_tab l_service_item_yn_type;
7183 l_ph_pricing_type_tab l_ph_pricing_type_type;
7184 l_ph_price_break_basis_tab l_ph_price_break_basis_type;
7185 l_ph_min_qty_tab l_ph_min_qty_type;
7186 l_ph_min_amt_tab l_ph_min_amt_type;
7187 l_ph_qp_reference_id_tab l_ph_qp_reference_id_type;
7188 l_ph_value_tab l_ph_value_type;
7189 l_ph_enforce_price_list_yn_tab l_ph_enforce_price_list_yn_typ;
7190 l_ph_adjustment_tab l_ph_adjustment_type;
7191 l_ph_integrated_with_qp_tab l_ph_integrated_with_qp_type;
7192 l_cust_acct_id_tab l_cust_acct_id_type;
7193 l_bill_to_site_use_id_tab l_bill_to_site_use_id_type;
7194 l_inv_rule_id_tab l_inv_rule_id_type;
7195 l_line_renewal_type_code_tab l_line_renewal_type_code_type;
7196 l_ship_to_site_use_id_tab l_ship_to_site_use_id_type;
7197 l_payment_term_id_tab l_payment_term_id_type;
7198 l_fee_type_tab l_fee_type_type;
7199 l_name_tab l_name_type;
7200
7201 l_id_tab3 l_id_type;
7202 l_id_tab2 l_id_type;
7203 l_line_number_tab2 l_line_number_type;
7204 l_chr_id_tab2 l_chr_id_type;
7205 l_cle_id_tab2 l_cle_id_type;
7206 l_cle_id_renewed_tab2 l_cle_id_renewed_type;
7207 l_dnz_chr_id_tab2 l_dnz_chr_id_type;
7208 l_display_sequence_tab2 l_display_sequence_type;
7209 l_sts_code_tab2 l_sts_code_type;
7210 l_trn_code_tab2 l_trn_code_type;
7211 l_lse_id_tab2 l_lse_id_type;
7212 --avsingh: Bug 5710213: start
7213 l_lty_code_tab2 l_lty_code_type;
7214 --avsingh: Bug 5710213: end
7215 l_exception_yn_tab2 l_exception_yn_type;
7216 l_object_version_number_tab2 l_object_version_number_type;
7217 l_created_by_tab2 l_created_by_type;
7218 l_creation_date_tab2 l_creation_date_type;
7219 l_last_updated_by_tab2 l_last_updated_by_type;
7220 l_last_update_date_tab2 l_last_update_date_type;
7221 l_hidden_ind_tab2 l_hidden_ind_type;
7222 l_price_negotiated_tab2 l_price_negotiated_type;
7223 l_price_level_ind_tab2 l_price_level_ind_type;
7224 l_price_unit_tab2 l_price_unit_type;
7225 l_price_unit_percent_tab2 l_price_unit_percent_type;
7226 l_invoice_line_level_ind_tab2 l_invoice_line_level_ind_type;
7227 l_dpas_rating_tab2 l_dpas_rating_type;
7228 l_template_used_tab2 l_template_used_type;
7229 l_price_type_tab2 l_price_type_type;
7230 l_currency_code_tab2 l_currency_code_type;
7231 l_last_update_login_tab2 l_last_update_login_type;
7232 l_date_terminated_tab2 l_date_terminated_type;
7233 l_start_date_tab2 l_start_date_type;
7234 l_end_date_tab2 l_end_date_type;
7235 l_attribute_category_tab2 l_attribute_category_type;
7236 l_attribute1_tab2 l_attribute1_type;
7237 l_attribute2_tab2 l_attribute2_type;
7238 l_attribute3_tab2 l_attribute3_type;
7239 l_attribute4_tab2 l_attribute4_type;
7240 l_attribute5_tab2 l_attribute5_type;
7241 l_attribute6_tab2 l_attribute6_type;
7242 l_attribute7_tab2 l_attribute7_type;
7243 l_attribute8_tab2 l_attribute8_type;
7244 l_attribute9_tab2 l_attribute9_type;
7245 l_attribute10_tab2 l_attribute10_type;
7246 l_attribute11_tab2 l_attribute11_type;
7247 l_attribute12_tab2 l_attribute12_type;
7248 l_attribute13_tab2 l_attribute13_type;
7249 l_attribute14_tab2 l_attribute14_type;
7250 l_attribute15_tab2 l_attribute15_type;
7251 l_security_group_id_tab2 l_security_group_id_type;
7252 l_cle_id_renewed_to_tab2 l_cle_id_renewed_to_type;
7253 l_price_negotiated_renewed_tb2 l_price_negotiated_renewed_typ;
7254 l_currency_code_renewed_tab2 l_currency_code_renewed_type;
7255 l_upg_orig_system_ref_tab2 l_upg_orig_system_ref_type;
7256 l_upg_orig_system_ref_id_tab2 l_upg_orig_system_ref_id_type;
7257 l_date_renewed_tab2 l_date_renewed_type;
7258 l_orig_system_source_code_tab2 l_orig_system_source_code_type;
7259 l_orig_system_id1_tab2 l_orig_system_id1_type;
7260 l_orig_system_reference1_tab2 l_orig_system_reference1_type;
7261 l_program_application_id_tab2 l_program_application_id_type;
7262 l_program_id_tab2 l_program_id_type;
7263 l_program_update_date_tab2 l_program_update_date_type;
7264 l_request_id_tab2 l_request_id_type;
7265 l_price_list_id_tab2 l_price_list_id_type;
7266 l_price_list_line_id_tab2 l_price_list_line_id_type;
7267 l_line_list_price_tab2 l_line_list_price_type;
7268 l_item_to_price_yn_tab2 l_item_to_price_yn_type;
7269 l_pricing_date_tab2 l_pricing_date_type;
7270 l_price_basis_yn_tab2 l_price_basis_yn_type;
7271 l_config_header_id_tab2 l_config_header_id_type;
7272 l_config_revision_number_tab2 l_config_revision_number_type;
7273 l_config_complete_yn_tab2 l_config_complete_yn_type;
7274 l_config_valid_yn_tab2 l_config_valid_yn_type;
7275 l_config_top_model_line_id_tb2 l_config_top_model_line_id_typ;
7276 l_config_item_type_tab2 l_config_item_type_type;
7277 l_config_item_id_tab2 l_config_item_id_type;
7278 l_service_item_yn_tab2 l_service_item_yn_type;
7279 l_ph_pricing_type_tab2 l_ph_pricing_type_type;
7280 l_ph_price_break_basis_tab2 l_ph_price_break_basis_type;
7281 l_ph_min_qty_tab2 l_ph_min_qty_type;
7282 l_ph_min_amt_tab2 l_ph_min_amt_type;
7283 l_ph_qp_reference_id_tab2 l_ph_qp_reference_id_type;
7284 l_ph_value_tab2 l_ph_value_type;
7285 l_ph_enforce_price_list_yn_tb2 l_ph_enforce_price_list_yn_typ;
7286 l_ph_adjustment_tab2 l_ph_adjustment_type;
7287 l_ph_integrated_with_qp_tab2 l_ph_integrated_with_qp_type;
7288 l_cust_acct_id_tab2 l_cust_acct_id_type;
7289 l_bill_to_site_use_id_tab2 l_bill_to_site_use_id_type;
7290 l_inv_rule_id_tab2 l_inv_rule_id_type;
7291 l_line_renewal_type_code_tab2 l_line_renewal_type_code_type;
7292 l_ship_to_site_use_id_tab2 l_ship_to_site_use_id_type;
7293 l_payment_term_id_tab2 l_payment_term_id_type;
7294 l_fee_type_tab2 l_fee_type_type;
7295 l_name_tab2 l_name_type;
7296
7297 l_counter NUMBER;
7298 l_cid_counter NUMBER := 1;
7299 l_cle_lse_counter NUMBER := 1;
7300 l_new_id NUMBER;
7301 l_party_counter NUMBER := 1;
7302 l_prid_tab l_prid_type;
7303 l_probject1_id1_tab l_probject1_id1_type;
7304
7305 l_orig_system_source_code okc_k_headers_b.orig_system_source_code%TYPE;
7306 l_sts_code okc_k_headers_b.sts_code%TYPE;
7307 l_sts_code_orig okc_k_headers_b.sts_code%TYPE;
7308
7309 --Bug# 16425139: Changing the global variables to local variables
7310 l_created_by NUMBER := fnd_global.user_id;
7311 l_last_updated_by NUMBER := fnd_global.user_id;
7312 l_last_update_login NUMBER := fnd_global.login_id;
7313
7314 PROCEDURE validate_currency_code(
7315 x_return_status OUT NOCOPY VARCHAR2,
7316 p_ccy_code IN okc_k_headers_b.currency_code%TYPE) IS
7317
7318 l_dummy_var VARCHAR2(1) := '?';
7319 CURSOR l_fndv_csr IS
7320 SELECT 'x'
7321 FROM FND_CURRENCIES_VL
7322 WHERE currency_code = p_ccy_code
7323 AND SYSDATE BETWEEN NVL(start_date_active,SYSDATE)
7324 AND NVL(end_date_active,SYSDATE);
7325 BEGIN
7326
7327 -- initialize return status
7328 x_return_status := OKC_API.G_RET_STS_SUCCESS;
7329
7330 -- check that data exists
7331 IF (p_ccy_code = OKC_API.G_MISS_CHAR OR
7332 p_ccy_code IS NULL)
7333 THEN
7334 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7335 p_msg_name => g_required_value,
7336 p_token1 => g_col_name_token,
7337 p_token1_value => 'Currency Code');
7338 -- notify caller of an error
7339 x_return_status := OKC_API.G_RET_STS_ERROR;
7340
7341 -- halt validation
7342 RAISE G_EXCEPTION_HALT_VALIDATION;
7343 END IF;
7344
7345 -- check data is in lookup table
7346 OPEN l_fndv_csr;
7347 FETCH l_fndv_csr INTO l_dummy_var;
7348 CLOSE l_fndv_csr;
7349
7350 -- if l_dummy_var still set to default, data was not found
7351 IF (l_dummy_var = '?') THEN
7352 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7353 p_msg_name => 'OKL_NO_PARENT_RECORD',
7354 p_token1 => g_col_name_token,
7355 p_token1_value => 'currency_code',
7356 p_token2 => g_child_table_token,
7357 p_token2_value => 'OKL_TRX_AP_INVOICES_V',
7358 p_token3 => g_parent_table_token,
7359 p_token3_value => 'FND_CURRENCIES');
7360 -- notify caller of an error
7361 x_return_status := OKC_API.G_RET_STS_ERROR;
7362 END IF;
7363
7364
7365 EXCEPTION
7366 WHEN G_EXCEPTION_HALT_VALIDATION THEN
7367
7368
7369 -- no processing necessary; validation can continue with next column
7370 NULL;
7371
7372 WHEN OTHERS THEN
7373
7374
7375 -- store SQL error message on message stack
7376 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7377 p_msg_name => g_unexpected_error,
7378 p_token1 => g_sqlcode_token,
7379 p_token1_value => SQLCODE,
7380 p_token2 => g_sqlerrm_token,
7381 p_token2_value => SQLERRM);
7382 -- notify caller of an error as UNEXPETED error
7383 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7384
7385 -- verify that cursor was closed
7386 IF l_fndv_csr%ISOPEN THEN
7387 CLOSE l_fndv_csr;
7388 END IF;
7389
7390
7391 END validate_currency_code;
7392
7393 PROCEDURE validate_orig_sys_code
7394 (x_return_status OUT NOCOPY VARCHAR2,
7395 p_orig_system_source_code IN okc_k_headers_b.orig_system_source_code%TYPE
7396 ) IS
7397 BEGIN
7398
7399
7400 -- initialize return status
7401 x_return_status := OKC_API.G_RET_STS_SUCCESS;
7402
7403 -- enforce foreign key if data exists
7404 IF (p_orig_system_source_code <> OKC_API.G_MISS_CHAR AND
7405 p_orig_system_source_code IS NOT NULL)
7406 THEN
7407 -- Check if the value is a valid code from lookup table
7408 x_return_status := OKC_UTIL.check_lookup_code('OKC_CONTRACT_SOURCES',
7409 p_orig_system_source_code);
7410 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7411 --set error message in message stack
7412 OKC_API.SET_MESSAGE(
7413 p_app_name => G_APP_NAME,
7414 p_msg_name => G_INVALID_VALUE,
7415 p_token1 => G_COL_NAME_TOKEN,
7416 p_token1_value => 'ORIG_SYSTEM_SOURCE_CODE');
7417 RAISE G_EXCEPTION_HALT_VALIDATION;
7418 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7419 RAISE G_EXCEPTION_HALT_VALIDATION;
7420 END IF;
7421 END IF;
7422
7423
7424 EXCEPTION
7425 WHEN OTHERS THEN
7426
7427
7428 -- store SQL error message on message stack
7429 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7430 p_msg_name => g_unexpected_error,
7431 p_token1 => g_sqlcode_token,
7432 p_token1_value=> SQLCODE,
7433 p_token2 => g_sqlerrm_token,
7434 p_token2_value=> SQLERRM);
7435 -- notify caller of an error as UNEXPETED error
7436 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7437
7438 END validate_orig_sys_code;
7439
7440 PROCEDURE validate_currency_conv_type
7441 (x_return_status OUT NOCOPY VARCHAR2,
7442 p_currency_conversion_type IN okc_k_headers_b.conversion_type%TYPE) IS
7443
7444 --cursor to chk currency type fk
7445 CURSOR curr_conv_type_csr (p_curr_cotyp IN VARCHAR2) IS
7446 SELECT '!'
7447 FROM gl_daily_conversion_types
7448 WHERE conversion_type = p_curr_cotyp;
7449
7450 l_valid_convert_type VARCHAR2(1) DEFAULT '?';
7451 BEGIN
7452 -- initialize return status
7453 x_return_status := OKC_API.G_RET_STS_SUCCESS;
7454 IF (p_CURRENCY_CONVERSION_TYPE <> OKC_API.G_MISS_CHAR AND
7455 p_CURRENCY_CONVERSION_TYPE IS NOT NULL)
7456 THEN
7457 -- check allowed values
7458 l_valid_convert_type := '?';
7459 OPEN curr_conv_type_csr(p_curr_cotyp => p_CURRENCY_CONVERSION_TYPE);
7460 FETCH curr_conv_type_csr INTO l_valid_convert_type;
7461 IF curr_conv_type_csr%NOTFOUND THEN
7462 NULL;
7463 END IF;
7464 CLOSE curr_conv_type_csr;
7465
7466 IF (l_valid_convert_type = '?') THEN
7467 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7468 p_msg_name => g_invalid_value,
7469 p_token1 => g_col_name_token,
7470 p_token1_value => 'CURRENCY_CONVERSION_TYPE');
7471 -- notify caller of an error
7472 x_return_status := OKC_API.G_RET_STS_ERROR;
7473 END IF;
7474 END IF;
7475 EXCEPTION
7476 WHEN OTHERS THEN
7477 -- store SQL error message on message stack
7478 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7479 p_msg_name => g_unexpected_error,
7480 p_token1 => g_sqlcode_token,
7481 p_token1_value => SQLCODE,
7482 p_token2 => g_sqlerrm_token,
7483 p_token2_value => SQLERRM);
7484 -- notify caller of an error as UNEXPETED error
7485 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7486 END validate_CURRENCY_CONV_TYPE;
7487
7488 PROCEDURE validate_amd_code(x_return_status OUT NOCOPY VARCHAR2,
7489 p_amd_code IN okl_k_headers.amd_code%TYPE) IS
7490 BEGIN
7491 -- initialize return status
7492 x_return_status := OKC_API.G_RET_STS_SUCCESS;
7493
7494 -- enforce foreign key if data exists
7495 IF (p_AMD_CODE <> OKC_API.G_MISS_CHAR AND
7496 p_AMD_CODE IS NOT NULL)
7497 THEN
7498 -- Check if the value is a valid code from lookup table
7499 x_return_status := OKC_UTIL.check_lookup_code('OKL_ACCEPTANCE_METHOD',
7500 p_AMD_CODE);
7501 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7502 --set error message in message stack
7503 OKC_API.SET_MESSAGE(
7504 p_app_name => G_APP_NAME,
7505 p_msg_name => G_INVALID_VALUE,
7506 p_token1 => G_COL_NAME_TOKEN,
7507 p_token1_value => 'ACCEPTANCE_METHOD');
7508 RAISE G_EXCEPTION_HALT_VALIDATION;
7509 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7510 RAISE G_EXCEPTION_HALT_VALIDATION;
7511 END IF;
7512 END IF;
7513 EXCEPTION
7514 WHEN OTHERS THEN
7515 -- store SQL error message on message stack
7516 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7517 p_msg_name => g_unexpected_error,
7518 p_token1 => g_sqlcode_token,
7519 p_token1_value => SQLCODE,
7520 p_token2 => g_sqlerrm_token,
7521 p_token2_value => SQLERRM);
7522 -- notify caller of an error as UNEXPETED error
7523 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7524 END validate_AMD_CODE;
7525 /*
7526 */
7527
7528 FUNCTION find_bid_mapping_id(p_id IN NUMBER, p_lse_id IN NUMBER) RETURN VARCHAR2 IS
7529 hi NUMBER;
7530 lo NUMBER;
7531 m NUMBER;
7532 l_id NUMBER;
7533 BEGIN
7534 --l_id := p_id*100 + p_lse_id ;
7535 l_id := p_id;
7536 lo := 1;
7537 hi := l_counter - 1;
7538 WHILE (lo <= hi) LOOP
7539 m := FLOOR((hi + lo)/2);
7540 IF (l_bid_mapping_tab(m).old_id = l_id) THEN
7541 RETURN l_bid_mapping_tab(m).new_id;
7542 ELSIF (l_bid_mapping_tab(m).old_id > l_id) THEN
7543 hi := m - 1;
7544 ELSE
7545 lo := m + 1;
7546 END IF;
7547 END LOOP;
7548 RETURN '-1';
7549 END; /* find_bid_mapping_id */
7550
7551 PROCEDURE sort_bid_mapping_tab IS
7552 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
7553 --a numtabtype;
7554 l_stack numtabtype;
7555 l_stack_index NUMBER := 0;
7556 N NUMBER;
7557 R NUMBER;
7558 L NUMBER;
7559 P NUMBER;
7560 W NUMBER;
7561 W2 VARCHAR2(150);
7562 X NUMBER;
7563 I NUMBER;
7564 J NUMBER;
7565 BEGIN
7566 IF (G_DEBUG_ENABLED = 'Y') THEN
7567 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
7568 END IF;
7569 NULL;
7570
7571 N := l_counter - 1;
7572 IF (N < 2) THEN
7573 RETURN;
7574 END IF;
7575 l_stack_index := l_stack_index + 1;
7576 l_stack(l_stack_index) := 1;
7577 l_stack_index := l_stack_index + 1;
7578 l_stack(l_stack_index) := N;
7579
7580 --dbms_output.put_line('l_stack_index=' || l_stack_index);
7581 WHILE l_stack_index > 0
7582 LOOP
7583 R := l_stack(l_stack_index);
7584 l_stack_index := l_stack_index - 1;
7585 L := l_stack(l_stack_index);
7586 l_stack_index := l_stack_index - 1;
7587 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
7588 WHILE 1=1
7589 LOOP -- loop until L >= R
7590 I := L;
7591 J := R;
7592 P := FLOOR((L+R)/2);
7593 --if (a(L) > a(P)) then
7594 IF (l_bid_mapping_tab(L).old_id > l_bid_mapping_tab(P).old_id)
7595 THEN
7596 W := l_bid_mapping_tab(L).old_id;
7597 W2 := l_bid_mapping_tab(L).new_id;
7598 l_bid_mapping_tab(L).old_id :=l_bid_mapping_tab(P).old_id;
7599 l_bid_mapping_tab(L).new_id :=l_bid_mapping_tab(P).new_id;
7600 l_bid_mapping_tab(P).old_id := W;
7601 l_bid_mapping_tab(P).new_id := W2;
7602 END IF;
7603 --if (a(L) > a(R)) then
7604 IF (l_bid_mapping_tab(L).old_id > l_bid_mapping_tab(R).old_id)
7605 THEN
7606 W := l_bid_mapping_tab(L).old_id;
7607 W2 := l_bid_mapping_tab(L).new_id;
7608 l_bid_mapping_tab(L).old_id :=l_bid_mapping_tab(R).old_id;
7609 l_bid_mapping_tab(L).new_id :=l_bid_mapping_tab(R).new_id;
7610 l_bid_mapping_tab(R).old_id := W;
7611 l_bid_mapping_tab(R).new_id := W2;
7612 END IF;
7613 --if (a(P) > a(R)) then
7614 IF (l_bid_mapping_tab(P).old_id > l_bid_mapping_tab(R).old_id)
7615 THEN
7616 W := l_bid_mapping_tab(P).old_id;
7617 W2 := l_bid_mapping_tab(P).new_id;
7618 l_bid_mapping_tab(P).old_id :=l_bid_mapping_tab(R).old_id;
7619 l_bid_mapping_tab(P).new_id :=l_bid_mapping_tab(R).new_id;
7620 l_bid_mapping_tab(R).old_id := W;
7621 l_bid_mapping_tab(R).new_id := W2;
7622 END IF;
7623 --X := a(P);
7624 X := l_bid_mapping_tab(P).old_id;
7625 WHILE 1=1
7626 LOOP -- until I > J
7627 --while (a(I) < X) loop
7628 WHILE (l_bid_mapping_tab(I).old_id < X) LOOP
7629 I := I + 1;
7630 END LOOP;
7631 WHILE (X < l_bid_mapping_tab(J).old_id) LOOP
7632 J := J - 1;
7633 END LOOP;
7634 IF (I <= J) THEN
7635 W := l_bid_mapping_tab(I).old_id;
7636 W2 := l_bid_mapping_tab(I).new_id;
7637 l_bid_mapping_tab(I).old_id :=l_bid_mapping_tab(J).old_id;
7638 l_bid_mapping_tab(I).new_id :=l_bid_mapping_tab(J).new_id;
7639 l_bid_mapping_tab(J).old_id := W;
7640 l_bid_mapping_tab(J).new_id := W2;
7641 I := I + 1;
7642 J := J - 1;
7643 END IF;
7644 EXIT WHEN I > J;
7645 END LOOP;
7646 IF (J - L < R - I) THEN
7647 IF (I < R) THEN
7648 --push(I); push(R);
7649 l_stack_index := l_stack_index + 1;
7650 l_stack(l_stack_index) := I;
7651 l_stack_index := l_stack_index + 1;
7652 l_stack(l_stack_index) := R;
7653 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7654 END IF;
7655 R := J;
7656 ELSE
7657 IF (L < J) THEN
7658 --push(L); push(J);
7659 l_stack_index := l_stack_index + 1;
7660 l_stack(l_stack_index) := L;
7661 l_stack_index := l_stack_index + 1;
7662 l_stack(l_stack_index) := J;
7663 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7664 END IF;
7665 L := I;
7666 END IF;
7667
7668 EXIT WHEN (L >= R);
7669 END LOOP;
7670 END LOOP;
7671
7672 EXCEPTION WHEN OTHERS THEN
7673
7674 x_return_status := OKL_API.G_RET_STS_ERROR;
7675 /*OKL_API.set_message(p_app_name => 'OKL',
7676 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
7677 p_token1 => 'ASSET_NUMBER',
7678 p_token1_value => 'sort_bid_mapping_tab');*/
7679 /* DEBUG */
7680 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7681 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
7682 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_bid_mapping_tab:l_bid_mapping_tab N=' || N || ' ...');
7683 END IF;
7684
7685 --print array
7686 FOR i IN 1..N
7687 LOOP
7688 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7689 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_bid_mapping_tab('||i||')=' || l_bid_mapping_tab(i).old_id || ':' || l_bid_mapping_tab(i).new_id);
7690 END IF;
7691 END LOOP;
7692
7693 RAISE OKC_API.G_EXCEPTION_ERROR;
7694
7695 END; /* sort_bid_mapping_tab */
7696
7697 FUNCTION find_cle_lse_mapping_id(p_cle_id IN NUMBER, p_lse_id IN NUMBER) RETURN NUMBER IS
7698 hi NUMBER;
7699 lo NUMBER;
7700 m NUMBER;
7701 l_start NUMBER;
7702 l_found BOOLEAN;
7703 l_orig_cle_id NUMBER;
7704 l_curr_cle_id NUMBER;
7705 BEGIN
7706 lo := 1;
7707 hi := l_cle_lse_counter - 1;
7708 WHILE (lo <= hi) LOOP
7709 m := FLOOR((hi + lo)/2);
7710 --print('Searching at m=' || m);
7711 IF (l_cle_lse_mapping_tab(m).cle_id = p_cle_id) THEN
7712 --print('Found at m=' || m);
7713 IF (l_cle_lse_mapping_tab(m).lse_id = p_lse_id) THEN
7714 --print('Returning value from index m=' || m);
7715 RETURN l_cle_lse_mapping_tab(m).id;
7716 ELSE
7717 -- Loop thru sequentially from m below until lse_id matches
7718 --print('Going down...');
7719 l_found := FALSE;
7720 l_orig_cle_id := l_cle_lse_mapping_tab(m).cle_id;
7721 l_start := m;
7722 l_curr_cle_id := l_cle_lse_mapping_tab(l_start).cle_id;
7723 WHILE (NOT(l_found) AND (l_curr_cle_id = l_orig_cle_id))
7724 LOOP
7725 IF (l_cle_lse_mapping_tab(l_start).lse_id = p_lse_id) THEN
7726 l_found := TRUE;
7727 ELSE
7728 l_start := l_start + 1;
7729 EXIT WHEN l_start > hi;
7730 l_curr_cle_id := l_cle_lse_mapping_tab(l_start).cle_id;
7731 END IF;
7732 END LOOP;
7733 IF (l_found) THEN
7734 --print('Found at down... l_start'||l_start);
7735 RETURN l_cle_lse_mapping_tab(l_start).id;
7736 END IF;
7737
7738 -- Loop thru sequentially from m above until lse_id matches
7739 --print('Going up...');
7740 l_found := FALSE;
7741 l_orig_cle_id := l_cle_lse_mapping_tab(m).cle_id;
7742 l_start := m;
7743 l_curr_cle_id := l_cle_lse_mapping_tab(l_start).cle_id;
7744 WHILE (NOT(l_found) AND (l_curr_cle_id = l_orig_cle_id))
7745 LOOP
7746 IF (l_cle_lse_mapping_tab(l_start).lse_id = p_lse_id) THEN
7747 l_found := TRUE;
7748 ELSE
7749 l_start := l_start - 1;
7750 EXIT WHEN l_start < lo;
7751 l_curr_cle_id := l_cle_lse_mapping_tab(l_start).cle_id;
7752 END IF;
7753 END LOOP;
7754 IF (l_found) THEN
7755 --print('Found at up... l_start='||l_start);
7756 RETURN l_cle_lse_mapping_tab(l_start).id;
7757 END IF;
7758
7759 RETURN -1;
7760 END IF;
7761 ELSIF (l_cle_lse_mapping_tab(m).cle_id > p_cle_id) THEN
7762 hi := m - 1;
7763 ELSE
7764 lo := m + 1;
7765 END IF;
7766 END LOOP;
7767 RETURN -1;
7768 END; /* find_cle_lse_mapping_id */
7769
7770 PROCEDURE sort_cle_lse_mapping_tab IS
7771 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
7772 --a numtabtype;
7773 l_stack numtabtype;
7774 l_stack_index NUMBER := 0;
7775 N NUMBER;
7776 R NUMBER;
7777 L NUMBER;
7778 P NUMBER;
7779 W NUMBER;
7780 W2 NUMBER;
7781 W3 NUMBER;
7782 X NUMBER;
7783 I NUMBER;
7784 J NUMBER;
7785 BEGIN
7786 IF (G_DEBUG_ENABLED = 'Y') THEN
7787 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
7788 END IF;
7789 NULL;
7790
7791 N := l_cle_lse_counter - 1;
7792 IF (N < 2) THEN
7793 RETURN;
7794 END IF;
7795 l_stack_index := l_stack_index + 1;
7796 l_stack(l_stack_index) := 1;
7797 l_stack_index := l_stack_index + 1;
7798 l_stack(l_stack_index) := N;
7799
7800 --dbms_output.put_line('l_stack_index=' || l_stack_index);
7801 WHILE l_stack_index > 0
7802 LOOP
7803 R := l_stack(l_stack_index);
7804 l_stack_index := l_stack_index - 1;
7805 L := l_stack(l_stack_index);
7806 l_stack_index := l_stack_index - 1;
7807 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
7808 WHILE 1=1
7809 LOOP -- loop until L >= R
7810 I := L;
7811 J := R;
7812 P := FLOOR((L+R)/2);
7813 --if (a(L) > a(P)) then
7814 IF (l_cle_lse_mapping_tab(L).cle_id > l_cle_lse_mapping_tab(P).cle_id)
7815 THEN
7816 W := l_cle_lse_mapping_tab(L).cle_id;
7817 W2 := l_cle_lse_mapping_tab(L).id;
7818 W3 := l_cle_lse_mapping_tab(L).lse_id;
7819 l_cle_lse_mapping_tab(L).cle_id :=l_cle_lse_mapping_tab(P).cle_id;
7820 l_cle_lse_mapping_tab(L).id :=l_cle_lse_mapping_tab(P).id;
7821 l_cle_lse_mapping_tab(L).lse_id :=l_cle_lse_mapping_tab(P).lse_id;
7822 l_cle_lse_mapping_tab(P).cle_id := W;
7823 l_cle_lse_mapping_tab(P).id := W2;
7824 l_cle_lse_mapping_tab(P).lse_id := W3;
7825 END IF;
7826 --if (a(L) > a(R)) then
7827 IF (l_cle_lse_mapping_tab(L).cle_id > l_cle_lse_mapping_tab(R).cle_id)
7828 THEN
7829 W := l_cle_lse_mapping_tab(L).cle_id;
7830 W2 := l_cle_lse_mapping_tab(L).id;
7831 W3 := l_cle_lse_mapping_tab(L).lse_id;
7832 l_cle_lse_mapping_tab(L).cle_id :=l_cle_lse_mapping_tab(R).cle_id;
7833 l_cle_lse_mapping_tab(L).id :=l_cle_lse_mapping_tab(R).id;
7834 l_cle_lse_mapping_tab(L).lse_id :=l_cle_lse_mapping_tab(R).lse_id;
7835 l_cle_lse_mapping_tab(R).cle_id := W;
7836 l_cle_lse_mapping_tab(R).id := W2;
7837 l_cle_lse_mapping_tab(R).lse_id := W3;
7838 END IF;
7839 --if (a(P) > a(R)) then
7840 IF (l_cle_lse_mapping_tab(P).cle_id > l_cle_lse_mapping_tab(R).cle_id)
7841 THEN
7842 W := l_cle_lse_mapping_tab(P).cle_id;
7843 W2 := l_cle_lse_mapping_tab(P).id;
7844 W3 := l_cle_lse_mapping_tab(P).lse_id;
7845 l_cle_lse_mapping_tab(P).cle_id :=l_cle_lse_mapping_tab(R).cle_id;
7846 l_cle_lse_mapping_tab(P).id :=l_cle_lse_mapping_tab(R).id;
7847 l_cle_lse_mapping_tab(P).lse_id :=l_cle_lse_mapping_tab(R).lse_id;
7848 l_cle_lse_mapping_tab(R).cle_id := W;
7849 l_cle_lse_mapping_tab(R).id := W2;
7850 l_cle_lse_mapping_tab(R).lse_id := W3;
7851 END IF;
7852 --X := a(P);
7853 X := l_cle_lse_mapping_tab(P).cle_id;
7854 WHILE 1=1
7855 LOOP -- until I > J
7856 --while (a(I) < X) loop
7857 WHILE (l_cle_lse_mapping_tab(I).cle_id < X) LOOP
7858 I := I + 1;
7859 END LOOP;
7860 WHILE (X < l_cle_lse_mapping_tab(J).cle_id) LOOP
7861 J := J - 1;
7862 END LOOP;
7863 IF (I <= J) THEN
7864 W := l_cle_lse_mapping_tab(I).cle_id;
7865 W2 := l_cle_lse_mapping_tab(I).id;
7866 W3 := l_cle_lse_mapping_tab(I).lse_id;
7867 l_cle_lse_mapping_tab(I).cle_id :=l_cle_lse_mapping_tab(J).cle_id;
7868 l_cle_lse_mapping_tab(I).id :=l_cle_lse_mapping_tab(J).id;
7869 l_cle_lse_mapping_tab(I).lse_id :=l_cle_lse_mapping_tab(J).lse_id;
7870 l_cle_lse_mapping_tab(J).cle_id := W;
7871 l_cle_lse_mapping_tab(J).id := W2;
7872 l_cle_lse_mapping_tab(J).lse_id := W3;
7873 I := I + 1;
7874 J := J - 1;
7875 END IF;
7876 EXIT WHEN I > J;
7877 END LOOP;
7878 IF (J - L < R - I) THEN
7879 IF (I < R) THEN
7880 --push(I); push(R);
7881 l_stack_index := l_stack_index + 1;
7882 l_stack(l_stack_index) := I;
7883 l_stack_index := l_stack_index + 1;
7884 l_stack(l_stack_index) := R;
7885 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7886 END IF;
7887 R := J;
7888 ELSE
7889 IF (L < J) THEN
7890 --push(L); push(J);
7891 l_stack_index := l_stack_index + 1;
7892 l_stack(l_stack_index) := L;
7893 l_stack_index := l_stack_index + 1;
7894 l_stack(l_stack_index) := J;
7895 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7896 END IF;
7897 L := I;
7898 END IF;
7899
7900 EXIT WHEN (L >= R);
7901 END LOOP;
7902 END LOOP;
7903
7904 /*print('Now printing cle_lse_mapping_tab...');
7905 for i in 1..N
7906 loop
7907 print('l_cle_lse_mapping_tab('||i||')=' || l_cle_lse_mapping_tab(i).cle_id || ':' || l_cle_lse_mapping_tab(i).lse_id || ':' ||l_cle_lse_mapping_tab(i).id);
7908 end loop;*/
7909
7910 EXCEPTION WHEN OTHERS THEN
7911
7912 x_return_status := OKL_API.G_RET_STS_ERROR;
7913 /*OKL_API.set_message(p_app_name => 'OKL',
7914 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
7915 p_token1 => 'ASSET_NUMBER',
7916 p_token1_value => 'sort_cle_lse_mapping_tab');*/
7917 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7918 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
7919 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_cle_lse_mapping_tab:l_cle_lse_mapping_tab N=' || N || ' ...');
7920 END IF;
7921
7922 --print array
7923 FOR i IN 1..N
7924 LOOP
7925 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7926 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cle_lse_mapping_tab('||i||')=' || l_cle_lse_mapping_tab(i).cle_id || ':' || l_cle_lse_mapping_tab(i).id);
7927 END IF;
7928 END LOOP;
7929
7930 RAISE OKC_API.G_EXCEPTION_ERROR;
7931
7932 END; /* sort_cle_lse_mapping_tab */
7933
7934
7935 FUNCTION find_cid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
7936 hi NUMBER;
7937 lo NUMBER;
7938 m NUMBER;
7939 BEGIN
7940 lo := 1;
7941 hi := l_cid_counter - 1;
7942 WHILE (lo <= hi) LOOP
7943 m := FLOOR((hi + lo)/2);
7944 IF (l_cid_mapping_tab(m).old_id = p_id) THEN
7945 RETURN l_cid_mapping_tab(m).new_id;
7946 ELSIF (l_cid_mapping_tab(m).old_id > p_id) THEN
7947 hi := m - 1;
7948 ELSE
7949 lo := m + 1;
7950 END IF;
7951 END LOOP;
7952 RETURN -1;
7953 END; /* find_cid_mapping_id */
7954
7955 PROCEDURE sort_cid_mapping_tab IS
7956 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
7957 --a numtabtype;
7958 l_stack numtabtype;
7959 l_stack_index NUMBER := 0;
7960 N NUMBER;
7961 R NUMBER;
7962 L NUMBER;
7963 P NUMBER;
7964 W NUMBER;
7965 W2 NUMBER;
7966 X NUMBER;
7967 I NUMBER;
7968 J NUMBER;
7969 BEGIN
7970 IF (G_DEBUG_ENABLED = 'Y') THEN
7971 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
7972 END IF;
7973 NULL;
7974
7975 N := l_cid_counter - 1;
7976 IF (N < 2) THEN
7977 RETURN;
7978 END IF;
7979 l_stack_index := l_stack_index + 1;
7980 l_stack(l_stack_index) := 1;
7981 l_stack_index := l_stack_index + 1;
7982 l_stack(l_stack_index) := N;
7983
7984 --dbms_output.put_line('l_stack_index=' || l_stack_index);
7985 WHILE l_stack_index > 0
7986 LOOP
7987 R := l_stack(l_stack_index);
7988 l_stack_index := l_stack_index - 1;
7989 L := l_stack(l_stack_index);
7990 l_stack_index := l_stack_index - 1;
7991 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
7992 WHILE 1=1
7993 LOOP -- loop until L >= R
7994 I := L;
7995 J := R;
7996 P := FLOOR((L+R)/2);
7997 --if (a(L) > a(P)) then
7998 IF (l_cid_mapping_tab(L).old_id > l_cid_mapping_tab(P).old_id)
7999 THEN
8000 W := l_cid_mapping_tab(L).old_id;
8001 W2 := l_cid_mapping_tab(L).new_id;
8002 l_cid_mapping_tab(L).old_id :=l_cid_mapping_tab(P).old_id;
8003 l_cid_mapping_tab(L).new_id :=l_cid_mapping_tab(P).new_id;
8004 l_cid_mapping_tab(P).old_id := W;
8005 l_cid_mapping_tab(P).new_id := W2;
8006 END IF;
8007 --if (a(L) > a(R)) then
8008 IF (l_cid_mapping_tab(L).old_id > l_cid_mapping_tab(R).old_id)
8009 THEN
8010 W := l_cid_mapping_tab(L).old_id;
8011 W2 := l_cid_mapping_tab(L).new_id;
8012 l_cid_mapping_tab(L).old_id :=l_cid_mapping_tab(R).old_id;
8013 l_cid_mapping_tab(L).new_id :=l_cid_mapping_tab(R).new_id;
8014 l_cid_mapping_tab(R).old_id := W;
8015 l_cid_mapping_tab(R).new_id := W2;
8016 END IF;
8017 --if (a(P) > a(R)) then
8018 IF (l_cid_mapping_tab(P).old_id > l_cid_mapping_tab(R).old_id)
8019 THEN
8020 W := l_cid_mapping_tab(P).old_id;
8021 W2 := l_cid_mapping_tab(P).new_id;
8022 l_cid_mapping_tab(P).old_id :=l_cid_mapping_tab(R).old_id;
8023 l_cid_mapping_tab(P).new_id :=l_cid_mapping_tab(R).new_id;
8024 l_cid_mapping_tab(R).old_id := W;
8025 l_cid_mapping_tab(R).new_id := W2;
8026 END IF;
8027 --X := a(P);
8028 X := l_cid_mapping_tab(P).old_id;
8029 WHILE 1=1
8030 LOOP -- until I > J
8031 --while (a(I) < X) loop
8032 WHILE (l_cid_mapping_tab(I).old_id < X) LOOP
8033 I := I + 1;
8034 END LOOP;
8035 WHILE (X < l_cid_mapping_tab(J).old_id) LOOP
8036 J := J - 1;
8037 END LOOP;
8038 IF (I <= J) THEN
8039 W := l_cid_mapping_tab(I).old_id;
8040 W2 := l_cid_mapping_tab(I).new_id;
8041 l_cid_mapping_tab(I).old_id :=l_cid_mapping_tab(J).old_id;
8042 l_cid_mapping_tab(I).new_id :=l_cid_mapping_tab(J).new_id;
8043 l_cid_mapping_tab(J).old_id := W;
8044 l_cid_mapping_tab(J).new_id := W2;
8045 I := I + 1;
8046 J := J - 1;
8047 END IF;
8048 EXIT WHEN I > J;
8049 END LOOP;
8050 IF (J - L < R - I) THEN
8051 IF (I < R) THEN
8052 --push(I); push(R);
8053 l_stack_index := l_stack_index + 1;
8054 l_stack(l_stack_index) := I;
8055 l_stack_index := l_stack_index + 1;
8056 l_stack(l_stack_index) := R;
8057 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8058 END IF;
8059 R := J;
8060 ELSE
8061 IF (L < J) THEN
8062 --push(L); push(J);
8063 l_stack_index := l_stack_index + 1;
8064 l_stack(l_stack_index) := L;
8065 l_stack_index := l_stack_index + 1;
8066 l_stack(l_stack_index) := J;
8067 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8068 END IF;
8069 L := I;
8070 END IF;
8071
8072 EXIT WHEN (L >= R);
8073 END LOOP;
8074 END LOOP;
8075
8076 EXCEPTION WHEN OTHERS THEN
8077
8078 x_return_status := OKL_API.G_RET_STS_ERROR;
8079 /*OKL_API.set_message(p_app_name => 'OKL',
8080 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8081 p_token1 => 'ASSET_NUMBER',
8082 p_token1_value => 'sort_cid_mapping_tab');*/
8083 /* DEBUG */
8084 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8085 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8086 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_cid_mapping_tab:l_cid_mapping_tab N=' || N || ' ...');
8087 END IF;
8088
8089 --print array
8090 FOR i IN 1..N
8091 LOOP
8092 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8093 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cid_mapping_tab('||i||')=' || l_cid_mapping_tab(i).old_id || ':' || l_cid_mapping_tab(i).new_id);
8094 END IF;
8095 END LOOP;
8096
8097 RAISE OKC_API.G_EXCEPTION_ERROR;
8098
8099 END; /* sort_cid_mapping_tab */
8100
8101 PROCEDURE do_sort IS
8102 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8103 --a numtabtype;
8104 l_stack numtabtype;
8105 l_stack_index NUMBER := 0;
8106 N NUMBER;
8107 R NUMBER;
8108 L NUMBER;
8109 P NUMBER;
8110 W NUMBER;
8111 W2 NUMBER;
8112 X NUMBER;
8113 I NUMBER;
8114 J NUMBER;
8115 BEGIN
8116 IF (G_DEBUG_ENABLED = 'Y') THEN
8117 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
8118 END IF;
8119 NULL;
8120 /*a(1) := 10;
8121 a(2) := 50;
8122 a(3) := 27;
8123 a(4) := 5;
8124 a(5) := 100;
8125 a(6) := 50;
8126 a(7) := 35;
8127 a(8) := 41;
8128 a(9) := 75;
8129 a(10) := 20;
8130
8131 N := 10;
8132 */
8133
8134 N := l_counter - 1;
8135 IF (N < 2) THEN
8136 RETURN;
8137 END IF;
8138 l_stack_index := l_stack_index + 1;
8139 l_stack(l_stack_index) := 1;
8140 l_stack_index := l_stack_index + 1;
8141 l_stack(l_stack_index) := N;
8142
8143 --dbms_output.put_line('l_stack_index=' || l_stack_index);
8144 WHILE l_stack_index > 0
8145 LOOP
8146 R := l_stack(l_stack_index);
8147 l_stack_index := l_stack_index - 1;
8148 L := l_stack(l_stack_index);
8149 l_stack_index := l_stack_index - 1;
8150 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
8151 WHILE 1=1
8152 LOOP -- loop until L >= R
8153 I := L;
8154 J := R;
8155 P := FLOOR((L+R)/2);
8156 --if (a(L) > a(P)) then
8157 IF (l_orig_system_tab(L).orig_system_id1 > l_orig_system_tab(P).orig_system_id1)
8158 THEN
8159 /*W := a(L);
8160 a(L) := a(P);
8161 a(P) := W;*/
8162
8163 W := l_orig_system_tab(L).orig_system_id1;
8164 W2 := l_orig_system_tab(L).id;
8165 l_orig_system_tab(L).orig_system_id1 :=l_orig_system_tab(P).orig_system_id1;
8166 l_orig_system_tab(L).id :=l_orig_system_tab(P).id;
8167 l_orig_system_tab(P).orig_system_id1 := W;
8168 l_orig_system_tab(P).id := W2;
8169 END IF;
8170 --if (a(L) > a(R)) then
8171 IF (l_orig_system_tab(L).orig_system_id1 > l_orig_system_tab(R).orig_system_id1)
8172 THEN
8173 /*W := a(L);
8174 a(L) := a(R);
8175 a(R) := W;*/
8176 W := l_orig_system_tab(L).orig_system_id1;
8177 W2 := l_orig_system_tab(L).id;
8178 l_orig_system_tab(L).orig_system_id1 :=l_orig_system_tab(R).orig_system_id1;
8179 l_orig_system_tab(L).id :=l_orig_system_tab(R).id;
8180 l_orig_system_tab(R).orig_system_id1 := W;
8181 l_orig_system_tab(R).id := W2;
8182 END IF;
8183 --if (a(P) > a(R)) then
8184 IF (l_orig_system_tab(P).orig_system_id1 > l_orig_system_tab(R).orig_system_id1)
8185 THEN
8186 /*W := a(P);
8187 a(P) := a(R);
8188 a(R) := W; */
8189 W := l_orig_system_tab(P).orig_system_id1;
8190 W2 := l_orig_system_tab(P).id;
8191 l_orig_system_tab(P).orig_system_id1 :=l_orig_system_tab(R).orig_system_id1;
8192 l_orig_system_tab(P).id :=l_orig_system_tab(R).id;
8193 l_orig_system_tab(R).orig_system_id1 := W;
8194 l_orig_system_tab(R).id := W2;
8195 END IF;
8196 --X := a(P);
8197 X := l_orig_system_tab(P).orig_system_id1;
8198 WHILE 1=1
8199 LOOP -- until I > J
8200 --while (a(I) < X) loop
8201 WHILE (l_orig_system_tab(I).orig_system_id1 < X) LOOP
8202 I := I + 1;
8203 END LOOP;
8204 WHILE (X < l_orig_system_tab(J).orig_system_id1) LOOP
8205 J := J - 1;
8206 END LOOP;
8207 IF (I <= J) THEN
8208 /*W := a(I);
8209 a(I) := a(J);
8210 a(J) := W;*/
8211 W := l_orig_system_tab(I).orig_system_id1;
8212 W2 := l_orig_system_tab(I).id;
8213 l_orig_system_tab(I).orig_system_id1 :=l_orig_system_tab(J).orig_system_id1;
8214 l_orig_system_tab(I).id :=l_orig_system_tab(J).id;
8215 l_orig_system_tab(J).orig_system_id1 := W;
8216 l_orig_system_tab(J).id := W2;
8217 I := I + 1;
8218 J := J - 1;
8219 END IF;
8220 EXIT WHEN I > J;
8221 END LOOP;
8222 IF (J - L < R - I) THEN
8223 IF (I < R) THEN
8224 --push(I); push(R);
8225 l_stack_index := l_stack_index + 1;
8226 l_stack(l_stack_index) := I;
8227 l_stack_index := l_stack_index + 1;
8228 l_stack(l_stack_index) := R;
8229 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8230 END IF;
8231 R := J;
8232 ELSE
8233 IF (L < J) THEN
8234 --push(L); push(J);
8235 l_stack_index := l_stack_index + 1;
8236 l_stack(l_stack_index) := L;
8237 l_stack_index := l_stack_index + 1;
8238 l_stack(l_stack_index) := J;
8239 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8240 END IF;
8241 L := I;
8242 END IF;
8243
8244 EXIT WHEN (L >= R);
8245 END LOOP;
8246 END LOOP;
8247
8248
8249 EXCEPTION WHEN OTHERS THEN
8250
8251 x_return_status := OKL_API.G_RET_STS_ERROR;
8252 /*OKL_API.set_message(p_app_name => 'OKL',
8253 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8254 p_token1 => 'ASSET_NUMBER',
8255 p_token1_value => 'do_sort');*/
8256 /* DEBUG */
8257 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8258 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8259 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing do_sort:l_orig_system_tab N=' || N || ' ...');
8260 END IF;
8261
8262 --print array
8263 FOR i IN 1..N
8264 LOOP
8265 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8266 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_orig_system_tab('||i||')=' || l_orig_system_tab(i).orig_system_id1 || ':' || l_orig_system_tab(i).id);
8267 END IF;
8268 END LOOP;
8269
8270 RAISE OKC_API.G_EXCEPTION_ERROR;
8271
8272 END; /* do_sort */
8273
8274 FUNCTION find_id(p_id IN NUMBER) RETURN NUMBER IS
8275 hi NUMBER;
8276 lo NUMBER;
8277 m NUMBER;
8278 BEGIN
8279 lo := 1;
8280 hi := l_counter - 1;
8281 WHILE (lo <= hi) LOOP
8282 m := FLOOR((hi + lo)/2);
8283 IF (l_orig_system_tab(m).orig_system_id1 = p_id) THEN
8284 RETURN l_orig_system_tab(m).id;
8285 ELSIF (l_orig_system_tab(m).orig_system_id1 > p_id) THEN
8286 hi := m - 1;
8287 ELSE
8288 lo := m + 1;
8289 END IF;
8290 END LOOP;
8291 RETURN -1;
8292 END; /* find_id */
8293
8294 /* AKP To do: Delete this procedure from here.
8295 After the spec in okl_copy_asset_pvt spec has been changed to
8296 expose this function */
8297 FUNCTION generate_asset_number(x_asset_number OUT NOCOPY OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE)
8298 RETURN VARCHAR2 IS
8299 x_return_status VARCHAR2(3) := OKL_API.G_RET_STS_SUCCESS;
8300 ln_dummy1 NUMBER := 0;
8301 ln_dummy2 NUMBER := 0;
8302 ln_dummy3 NUMBER := 0;
8303 lv_asset_number OKX_ASSETS_V.ASSET_NUMBER%TYPE;
8304 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
8305 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXP_ERROR';
8306 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
8307 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
8308
8309 -- cursor to get sequence number for asset number
8310 CURSOR c_asset_no IS
8311 SELECT 'OKL'||OKL_FAN_SEQ.NEXTVAL
8312 FROM dual;
8313
8314 -- cursor to get check the existence of asset number
8315 CURSOR c_txl_asset_number(p_asset_number OKX_ASSETS_V.ASSET_NUMBER%TYPE)
8316 IS
8317 SELECT 1
8318 FROM DUAL
8319 WHERE EXISTS (SELECT '1'
8320 FROM OKL_TXL_ASSETS_B
8321 WHERE asset_number = p_asset_number);
8322
8323 CURSOR c_okx_asset_lines_v(p_asset_number OKX_ASSETS_V.ASSET_NUMBER%TYPE) IS
8324 SELECT 1
8325 FROM DUAL
8326 WHERE EXISTS (SELECT '1'
8327 FROM OKX_ASSET_LINES_V
8328 WHERE asset_number = p_asset_number);
8329
8330 CURSOR c_okx_assets_v(p_asset_number OKX_ASSETS_V.ASSET_NUMBER%TYPE) IS
8331 SELECT 1
8332 FROM DUAL
8333 WHERE EXISTS (SELECT '1'
8334 FROM OKX_ASSETS_V
8335 WHERE asset_number = p_asset_number);
8336
8337 BEGIN
8338 OPEN c_asset_no;
8339 FETCH c_asset_no INTO x_asset_number;
8340 IF (c_asset_no%NOTFOUND) THEN
8341 x_return_status := OKC_API.G_RET_STS_ERROR;
8342 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
8343 p_msg_name => g_unexpected_error,
8344 p_token1 => g_sqlcode_token,
8345 p_token1_value => SQLCODE,
8346 p_token2 => g_sqlerrm_token,
8347 p_token2_value => SQLERRM);
8348 END IF;
8349 CLOSE c_asset_no;
8350
8351 LOOP
8352 lv_asset_number := x_asset_number;
8353
8354 OPEN c_txl_asset_number(lv_asset_number);
8355 FETCH c_txl_asset_number INTO ln_dummy1;
8356 IF c_txl_asset_number%NOTFOUND THEN
8357 ln_dummy1 := 0;
8358 END IF;
8359 CLOSE c_txl_asset_number;
8360
8361 OPEN c_okx_asset_lines_v(lv_asset_number);
8362 FETCH c_okx_asset_lines_v INTO ln_dummy2;
8363 IF c_okx_asset_lines_v%NOTFOUND THEN
8364 ln_dummy2 := 0;
8365 END IF;
8366 CLOSE c_okx_asset_lines_v;
8367
8368 OPEN c_okx_assets_v(lv_asset_number);
8369 FETCH c_okx_assets_v INTO ln_dummy3;
8370 IF c_okx_assets_v%NOTFOUND THEN
8371 ln_dummy3 := 0;
8372 END IF;
8373 CLOSE c_okx_assets_v;
8374
8375 IF ln_dummy1 = 1 OR
8376 ln_dummy2 = 1 OR
8377 ln_dummy3 = 1 THEN
8378 OPEN c_asset_no;
8379 FETCH c_asset_no INTO x_asset_number;
8380 IF (c_asset_no%NOTFOUND) THEN
8381 x_return_status := OKC_API.G_RET_STS_ERROR;
8382 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
8383 p_msg_name => g_unexpected_error,
8384 p_token1 => g_sqlcode_token,
8385 p_token1_value => SQLCODE,
8386 p_token2 => g_sqlerrm_token,
8387 p_token2_value => SQLERRM);
8388 END IF;
8389 CLOSE c_asset_no;
8390 ELSE
8391 EXIT;
8392 END IF;
8393 END LOOP;
8394
8395 RETURN x_return_status;
8396 EXCEPTION
8397 WHEN OTHERS THEN
8398 IF c_asset_no%ISOPEN THEN
8399 CLOSE c_asset_no;
8400 END IF;
8401 IF c_txl_asset_number%ISOPEN THEN
8402 CLOSE c_txl_asset_number;
8403 END IF;
8404 IF c_okx_asset_lines_v%ISOPEN THEN
8405 CLOSE c_okx_asset_lines_v;
8406 END IF;
8407 IF c_okx_assets_v%ISOPEN THEN
8408 CLOSE c_okx_assets_v;
8409 END IF;
8410 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
8411 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
8412 p_msg_name => g_unexpected_error,
8413 p_token1 => g_sqlcode_token,
8414 p_token1_value => SQLCODE,
8415 p_token2 => g_sqlerrm_token,
8416 p_token2_value => SQLERRM);
8417 RETURN x_return_status;
8418 END generate_asset_number;
8419
8420 FUNCTION find_cle_line_number2(p_id IN NUMBER) RETURN NUMBER IS
8421 hi NUMBER;
8422 lo NUMBER;
8423 m NUMBER;
8424 l_curr_val NUMBER;
8425 BEGIN
8426 lo := 1;
8427 hi := l_trx_assets_counter6 - 1;
8428 WHILE (lo <= hi) LOOP
8429 m := FLOOR((hi + lo)/2);
8430 IF (l_cle_mapping_tab2(m).old_id = p_id) THEN
8431 l_curr_val := l_cle_mapping_tab2(m).new_id;
8432 l_cle_mapping_tab2(m).new_id := l_curr_val + 1;
8433 RETURN (l_curr_val + 1);
8434 ELSIF (l_cle_mapping_tab2(m).old_id > p_id) THEN
8435 hi := m - 1;
8436 ELSE
8437 lo := m + 1;
8438 END IF;
8439 END LOOP;
8440 RETURN -1;
8441 END; /* find_cle_line_number2 */
8442
8443 FUNCTION find_cle_line_number(p_id IN NUMBER) RETURN NUMBER IS
8444 hi NUMBER;
8445 lo NUMBER;
8446 m NUMBER;
8447 l_curr_val NUMBER;
8448 BEGIN
8449 lo := 1;
8450 hi := l_trx_assets_counter4 - 1;
8451 WHILE (lo <= hi) LOOP
8452 m := FLOOR((hi + lo)/2);
8453 IF (l_cle_mapping_tab(m).old_id = p_id) THEN
8454 l_curr_val := l_cle_mapping_tab(m).line_number;
8455 l_cle_mapping_tab(m).line_number := l_curr_val + 1;
8456 RETURN l_curr_val;
8457 ELSIF (l_cle_mapping_tab(m).old_id > p_id) THEN
8458 hi := m - 1;
8459 ELSE
8460 lo := m + 1;
8461 END IF;
8462 END LOOP;
8463 RETURN -1;
8464 END; /* find_cle_line_number */
8465
8466 FUNCTION find_cle_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
8467 hi NUMBER;
8468 lo NUMBER;
8469 m NUMBER;
8470 BEGIN
8471 lo := 1;
8472 hi := l_trx_assets_counter4 - 1;
8473 WHILE (lo <= hi) LOOP
8474 m := FLOOR((hi + lo)/2);
8475 IF (l_cle_mapping_tab(m).old_id = p_id) THEN
8476 RETURN l_cle_mapping_tab(m).new_id;
8477 ELSIF (l_cle_mapping_tab(m).old_id > p_id) THEN
8478 hi := m - 1;
8479 ELSE
8480 lo := m + 1;
8481 END IF;
8482 END LOOP;
8483 RETURN -1;
8484 END; /* find_cle_mapping_id */
8485
8486 PROCEDURE sort_cle_mapping_tab IS
8487 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8488 --a numtabtype;
8489 l_stack numtabtype;
8490 l_stack_index NUMBER := 0;
8491 N NUMBER;
8492 R NUMBER;
8493 L NUMBER;
8494 P NUMBER;
8495 W NUMBER;
8496 W2 NUMBER;
8497 X NUMBER;
8498 I NUMBER;
8499 J NUMBER;
8500 BEGIN
8501 IF (G_DEBUG_ENABLED = 'Y') THEN
8502 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
8503 END IF;
8504 NULL;
8505
8506 N := l_trx_assets_counter4 - 1;
8507 IF (N < 2) THEN
8508 RETURN;
8509 END IF;
8510 l_stack_index := l_stack_index + 1;
8511 l_stack(l_stack_index) := 1;
8512 l_stack_index := l_stack_index + 1;
8513 l_stack(l_stack_index) := N;
8514
8515 --dbms_output.put_line('l_stack_index=' || l_stack_index);
8516 WHILE l_stack_index > 0
8517 LOOP
8518 R := l_stack(l_stack_index);
8519 l_stack_index := l_stack_index - 1;
8520 L := l_stack(l_stack_index);
8521 l_stack_index := l_stack_index - 1;
8522 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
8523 WHILE 1=1
8524 LOOP -- loop until L >= R
8525 I := L;
8526 J := R;
8527 P := FLOOR((L+R)/2);
8528 --if (a(L) > a(P)) then
8529 IF (l_cle_mapping_tab(L).old_id > l_cle_mapping_tab(P).old_id)
8530 THEN
8531 W := l_cle_mapping_tab(L).old_id;
8532 W2 := l_cle_mapping_tab(L).new_id;
8533 l_cle_mapping_tab(L).old_id :=l_cle_mapping_tab(P).old_id;
8534 l_cle_mapping_tab(L).new_id :=l_cle_mapping_tab(P).new_id;
8535 l_cle_mapping_tab(P).old_id := W;
8536 l_cle_mapping_tab(P).new_id := W2;
8537 END IF;
8538 --if (a(L) > a(R)) then
8539 IF (l_cle_mapping_tab(L).old_id > l_cle_mapping_tab(R).old_id)
8540 THEN
8541 W := l_cle_mapping_tab(L).old_id;
8542 W2 := l_cle_mapping_tab(L).new_id;
8543 l_cle_mapping_tab(L).old_id :=l_cle_mapping_tab(R).old_id;
8544 l_cle_mapping_tab(L).new_id :=l_cle_mapping_tab(R).new_id;
8545 l_cle_mapping_tab(R).old_id := W;
8546 l_cle_mapping_tab(R).new_id := W2;
8547 END IF;
8548 --if (a(P) > a(R)) then
8549 IF (l_cle_mapping_tab(P).old_id > l_cle_mapping_tab(R).old_id)
8550 THEN
8551 W := l_cle_mapping_tab(P).old_id;
8552 W2 := l_cle_mapping_tab(P).new_id;
8553 l_cle_mapping_tab(P).old_id :=l_cle_mapping_tab(R).old_id;
8554 l_cle_mapping_tab(P).new_id :=l_cle_mapping_tab(R).new_id;
8555 l_cle_mapping_tab(R).old_id := W;
8556 l_cle_mapping_tab(R).new_id := W2;
8557 END IF;
8558 --X := a(P);
8559 X := l_cle_mapping_tab(P).old_id;
8560 WHILE 1=1
8561 LOOP -- until I > J
8562 --while (a(I) < X) loop
8563 WHILE (l_cle_mapping_tab(I).old_id < X) LOOP
8564 I := I + 1;
8565 END LOOP;
8566 WHILE (X < l_cle_mapping_tab(J).old_id) LOOP
8567 J := J - 1;
8568 END LOOP;
8569 IF (I <= J) THEN
8570 W := l_cle_mapping_tab(I).old_id;
8571 W2 := l_cle_mapping_tab(I).new_id;
8572 l_cle_mapping_tab(I).old_id :=l_cle_mapping_tab(J).old_id;
8573 l_cle_mapping_tab(I).new_id :=l_cle_mapping_tab(J).new_id;
8574 l_cle_mapping_tab(J).old_id := W;
8575 l_cle_mapping_tab(J).new_id := W2;
8576 I := I + 1;
8577 J := J - 1;
8578 END IF;
8579 EXIT WHEN I > J;
8580 END LOOP;
8581 IF (J - L < R - I) THEN
8582 IF (I < R) THEN
8583 --push(I); push(R);
8584 l_stack_index := l_stack_index + 1;
8585 l_stack(l_stack_index) := I;
8586 l_stack_index := l_stack_index + 1;
8587 l_stack(l_stack_index) := R;
8588 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8589 END IF;
8590 R := J;
8591 ELSE
8592 IF (L < J) THEN
8593 --push(L); push(J);
8594 l_stack_index := l_stack_index + 1;
8595 l_stack(l_stack_index) := L;
8596 l_stack_index := l_stack_index + 1;
8597 l_stack(l_stack_index) := J;
8598 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8599 END IF;
8600 L := I;
8601 END IF;
8602
8603 EXIT WHEN (L >= R);
8604 END LOOP;
8605 END LOOP;
8606
8607 /*for i in 1..N
8608 loop
8609 print('l_cle_mapping_tab('||i||')=' || l_cle_mapping_tab(i).old_id || ':' || l_cle_mapping_tab(i).new_id);
8610 end loop; */
8611
8612 EXCEPTION WHEN OTHERS THEN
8613
8614 x_return_status := OKL_API.G_RET_STS_ERROR;
8615 /*OKL_API.set_message(p_app_name => 'OKL',
8616 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8617 p_token1 => 'ASSET_NUMBER',
8618 p_token1_value => 'sort_cle_mapping_tab');*/
8619 /* DEBUG */
8620 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8621 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8622 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_cle_mapping_tab:l_cle_mapping_tab N=' || N || ' ...');
8623 END IF;
8624 --print array
8625 FOR i IN 1..N
8626 LOOP
8627 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8628 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cle_mapping_tab('||i||')=' || l_cle_mapping_tab(i).old_id || ':' || l_cle_mapping_tab(i).new_id);
8629 END IF;
8630 END LOOP;
8631
8632 RAISE OKC_API.G_EXCEPTION_ERROR;
8633
8634 END; /* sort_cle_mapping_tab */
8635
8636
8637 FUNCTION find_aid_mapping_id(p_id IN VARCHAR2) RETURN VARCHAR2 IS
8638 hi NUMBER;
8639 lo NUMBER;
8640 m NUMBER;
8641 p VARCHAR2(2) := '-1';
8642 BEGIN
8643 lo := 1;
8644 hi := l_asset_counter - 1;
8645 WHILE (lo <= hi) LOOP
8646 m := FLOOR((hi + lo)/2);
8647 IF (l_aid_mapping_tab(m).old_id = p_id) THEN
8648 RETURN l_aid_mapping_tab(m).new_id;
8649 ELSIF (l_aid_mapping_tab(m).old_id > p_id) THEN
8650 hi := m - 1;
8651 ELSE
8652 lo := m + 1;
8653 END IF;
8654 END LOOP;
8655 RETURN p;
8656 END; /* find_aid_mapping_id */
8657
8658 PROCEDURE sort_aid_mapping_tab IS
8659 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8660 --a numtabtype;
8661 l_stack numtabtype;
8662 l_stack_index NUMBER := 0;
8663 N NUMBER;
8664 R NUMBER;
8665 L NUMBER;
8666 P NUMBER;
8667
8668 W VARCHAR2(150);
8669 W2 VARCHAR2(150);
8670 X VARCHAR2(150);
8671 I NUMBER;
8672 J NUMBER;
8673 BEGIN
8674 IF (G_DEBUG_ENABLED = 'Y') THEN
8675 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
8676 END IF;
8677 NULL;
8678
8679 N := l_asset_counter - 1;
8680 IF (N < 2) THEN
8681 RETURN;
8682 END IF;
8683 l_stack_index := l_stack_index + 1;
8684 l_stack(l_stack_index) := 1;
8685 l_stack_index := l_stack_index + 1;
8686 l_stack(l_stack_index) := N;
8687
8688 --dbms_output.put_line('l_stack_index=' || l_stack_index);
8689 WHILE l_stack_index > 0
8690 LOOP
8691 R := l_stack(l_stack_index);
8692 l_stack_index := l_stack_index - 1;
8693 L := l_stack(l_stack_index);
8694 l_stack_index := l_stack_index - 1;
8695 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
8696 WHILE 1=1
8697 LOOP -- loop until L >= R
8698 I := L;
8699 J := R;
8700 P := FLOOR((L+R)/2);
8701 --if (a(L) > a(P)) then
8702 IF (l_aid_mapping_tab(L).old_id > l_aid_mapping_tab(P).old_id)
8703 THEN
8704 W := l_aid_mapping_tab(L).old_id;
8705 W2 := l_aid_mapping_tab(L).new_id;
8706 l_aid_mapping_tab(L).old_id :=l_aid_mapping_tab(P).old_id;
8707 l_aid_mapping_tab(L).new_id :=l_aid_mapping_tab(P).new_id;
8708 l_aid_mapping_tab(P).old_id := W;
8709 l_aid_mapping_tab(P).new_id := W2;
8710 END IF;
8711 --if (a(L) > a(R)) then
8712 IF (l_aid_mapping_tab(L).old_id > l_aid_mapping_tab(R).old_id)
8713 THEN
8714 W := l_aid_mapping_tab(L).old_id;
8715 W2 := l_aid_mapping_tab(L).new_id;
8716 l_aid_mapping_tab(L).old_id :=l_aid_mapping_tab(R).old_id;
8717 l_aid_mapping_tab(L).new_id :=l_aid_mapping_tab(R).new_id;
8718 l_aid_mapping_tab(R).old_id := W;
8719 l_aid_mapping_tab(R).new_id := W2;
8720 END IF;
8721 --if (a(P) > a(R)) then
8722 IF (l_aid_mapping_tab(P).old_id > l_aid_mapping_tab(R).old_id)
8723 THEN
8724 W := l_aid_mapping_tab(P).old_id;
8725 W2 := l_aid_mapping_tab(P).new_id;
8726 l_aid_mapping_tab(P).old_id :=l_aid_mapping_tab(R).old_id;
8727 l_aid_mapping_tab(P).new_id :=l_aid_mapping_tab(R).new_id;
8728 l_aid_mapping_tab(R).old_id := W;
8729 l_aid_mapping_tab(R).new_id := W2;
8730 END IF;
8731 --X := a(P);
8732 X := l_aid_mapping_tab(P).old_id;
8733 WHILE 1=1
8734 LOOP -- until I > J
8735 --while (a(I) < X) loop
8736 WHILE (l_aid_mapping_tab(I).old_id < X) LOOP
8737 I := I + 1;
8738 END LOOP;
8739 WHILE (X < l_aid_mapping_tab(J).old_id) LOOP
8740 J := J - 1;
8741 END LOOP;
8742 IF (I <= J) THEN
8743 W := l_aid_mapping_tab(I).old_id;
8744 W2 := l_aid_mapping_tab(I).new_id;
8745 l_aid_mapping_tab(I).old_id :=l_aid_mapping_tab(J).old_id;
8746 l_aid_mapping_tab(I).new_id :=l_aid_mapping_tab(J).new_id;
8747 l_aid_mapping_tab(J).old_id := W;
8748 l_aid_mapping_tab(J).new_id := W2;
8749 I := I + 1;
8750 J := J - 1;
8751 END IF;
8752 EXIT WHEN I > J;
8753 END LOOP;
8754 IF (J - L < R - I) THEN
8755 IF (I < R) THEN
8756 --push(I); push(R);
8757 l_stack_index := l_stack_index + 1;
8758 l_stack(l_stack_index) := I;
8759 l_stack_index := l_stack_index + 1;
8760 l_stack(l_stack_index) := R;
8761 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8762 END IF;
8763 R := J;
8764 ELSE
8765 IF (L < J) THEN
8766 --push(L); push(J);
8767 l_stack_index := l_stack_index + 1;
8768 l_stack(l_stack_index) := L;
8769 l_stack_index := l_stack_index + 1;
8770 l_stack(l_stack_index) := J;
8771 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8772 END IF;
8773 L := I;
8774 END IF;
8775
8776 EXIT WHEN (L >= R);
8777 END LOOP;
8778 END LOOP;
8779
8780 EXCEPTION WHEN OTHERS THEN
8781
8782 x_return_status := OKL_API.G_RET_STS_ERROR;
8783 /*OKL_API.set_message(p_app_name => 'OKL',
8784 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8785 p_token1 => 'ASSET_NUMBER',
8786 p_token1_value => 'sort_aid_mapping_tab');*/
8787 /* DEBUG */
8788 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8789 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8790 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_aid_mapping_tab:l_aid_mapping_tab N=' || N || ' ...');
8791 END IF;
8792
8793 --print array
8794 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8795 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'In sort_aid_mapping_tab:N='|| N);
8796 END IF;
8797 FOR i IN 1..N
8798 LOOP
8799 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8800 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_aid_mapping_tab('||i||')=' || l_aid_mapping_tab(i).old_id || ':' || l_aid_mapping_tab(i).new_id);
8801 END IF;
8802 END LOOP;
8803
8804 RAISE OKC_API.G_EXCEPTION_ERROR;
8805
8806 END; /* sort_aid_mapping_tab */
8807
8808 PROCEDURE do_id_mapping_sort IS
8809 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8810 --a numtabtype;
8811 l_stack numtabtype;
8812 l_stack_index NUMBER := 0;
8813 N NUMBER;
8814 R NUMBER;
8815 L NUMBER;
8816 P NUMBER;
8817 W NUMBER;
8818 W2 NUMBER;
8819 X NUMBER;
8820 I NUMBER;
8821 J NUMBER;
8822 BEGIN
8823 IF (G_DEBUG_ENABLED = 'Y') THEN
8824 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
8825 END IF;
8826 NULL;
8827 /*a(1) := 10;
8828 a(2) := 50;
8829 a(3) := 27;
8830 a(4) := 5;
8831 a(5) := 100;
8832 a(6) := 50;
8833 a(7) := 35;
8834 a(8) := 41;
8835 a(9) := 75;
8836 a(10) := 20;
8837
8838 N := 10;
8839 */
8840
8841 N := l_counter - 1;
8842 IF (N < 2) THEN
8843 RETURN;
8844 END IF;
8845 l_stack_index := l_stack_index + 1;
8846 l_stack(l_stack_index) := 1;
8847 l_stack_index := l_stack_index + 1;
8848 l_stack(l_stack_index) := N;
8849
8850 --dbms_output.put_line('l_stack_index=' || l_stack_index);
8851 WHILE l_stack_index > 0
8852 LOOP
8853 R := l_stack(l_stack_index);
8854 l_stack_index := l_stack_index - 1;
8855 L := l_stack(l_stack_index);
8856 l_stack_index := l_stack_index - 1;
8857 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
8858 WHILE 1=1
8859 LOOP -- loop until L >= R
8860 I := L;
8861 J := R;
8862 P := FLOOR((L+R)/2);
8863 --if (a(L) > a(P)) then
8864 IF (l_id_mapping_tab(L).old_id > l_id_mapping_tab(P).old_id)
8865 THEN
8866 /*W := a(L);
8867 a(L) := a(P);
8868 a(P) := W;*/
8869
8870 W := l_id_mapping_tab(L).old_id;
8871 W2 := l_id_mapping_tab(L).new_id;
8872 l_id_mapping_tab(L).old_id :=l_id_mapping_tab(P).old_id;
8873 l_id_mapping_tab(L).new_id :=l_id_mapping_tab(P).new_id;
8874 l_id_mapping_tab(P).old_id := W;
8875 l_id_mapping_tab(P).new_id := W2;
8876 END IF;
8877 --if (a(L) > a(R)) then
8878 IF (l_id_mapping_tab(L).old_id > l_id_mapping_tab(R).old_id)
8879 THEN
8880 /*W := a(L);
8881 a(L) := a(R);
8882 a(R) := W;*/
8883 W := l_id_mapping_tab(L).old_id;
8884 W2 := l_id_mapping_tab(L).new_id;
8885 l_id_mapping_tab(L).old_id :=l_id_mapping_tab(R).old_id;
8886 l_id_mapping_tab(L).new_id :=l_id_mapping_tab(R).new_id;
8887 l_id_mapping_tab(R).old_id := W;
8888 l_id_mapping_tab(R).new_id := W2;
8889 END IF;
8890 --if (a(P) > a(R)) then
8891 IF (l_id_mapping_tab(P).old_id > l_id_mapping_tab(R).old_id)
8892 THEN
8893 /*W := a(P);
8894 a(P) := a(R);
8895 a(R) := W; */
8896 W := l_id_mapping_tab(P).old_id;
8897 W2 := l_id_mapping_tab(P).new_id;
8898 l_id_mapping_tab(P).old_id :=l_id_mapping_tab(R).old_id;
8899 l_id_mapping_tab(P).new_id :=l_id_mapping_tab(R).new_id;
8900 l_id_mapping_tab(R).old_id := W;
8901 l_id_mapping_tab(R).new_id := W2;
8902 END IF;
8903 --X := a(P);
8904 X := l_id_mapping_tab(P).old_id;
8905 WHILE 1=1
8906 LOOP -- until I > J
8907 --while (a(I) < X) loop
8908 WHILE (l_id_mapping_tab(I).old_id < X) LOOP
8909 I := I + 1;
8910 END LOOP;
8911 WHILE (X < l_id_mapping_tab(J).old_id) LOOP
8912 J := J - 1;
8913 END LOOP;
8914 IF (I <= J) THEN
8915 /*W := a(I);
8916 a(I) := a(J);
8917 a(J) := W;*/
8918 W := l_id_mapping_tab(I).old_id;
8919 W2 := l_id_mapping_tab(I).new_id;
8920 l_id_mapping_tab(I).old_id :=l_id_mapping_tab(J).old_id;
8921 l_id_mapping_tab(I).new_id :=l_id_mapping_tab(J).new_id;
8922 l_id_mapping_tab(J).old_id := W;
8923 l_id_mapping_tab(J).new_id := W2;
8924 I := I + 1;
8925 J := J - 1;
8926 END IF;
8927 EXIT WHEN I > J;
8928 END LOOP;
8929 IF (J - L < R - I) THEN
8930 IF (I < R) THEN
8931 --push(I); push(R);
8932 l_stack_index := l_stack_index + 1;
8933 l_stack(l_stack_index) := I;
8934 l_stack_index := l_stack_index + 1;
8935 l_stack(l_stack_index) := R;
8936 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8937 END IF;
8938 R := J;
8939 ELSE
8940 IF (L < J) THEN
8941 --push(L); push(J);
8942 l_stack_index := l_stack_index + 1;
8943 l_stack(l_stack_index) := L;
8944 l_stack_index := l_stack_index + 1;
8945 l_stack(l_stack_index) := J;
8946 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8947 END IF;
8948 L := I;
8949 END IF;
8950
8951 EXIT WHEN (L >= R);
8952 END LOOP;
8953 END LOOP;
8954
8955 EXCEPTION WHEN OTHERS THEN
8956
8957 x_return_status := OKL_API.G_RET_STS_ERROR;
8958 /*OKL_API.set_message(p_app_name => 'OKL',
8959 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8960 p_token1 => 'ASSET_NUMBER',
8961 p_token1_value => 'do_id_mapping_sort');*/
8962 /* DEBUG */
8963 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8964 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8965 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing do_id_mapping_sort:l_id_mapping_tab N=' || N || ' ...');
8966 END IF;
8967
8968 --print array
8969 FOR i IN 1..N
8970 LOOP
8971 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8972 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_mapping_tab('||i||')=' || l_id_mapping_tab(i).old_id || ':' || l_id_mapping_tab(i).new_id);
8973 END IF;
8974 END LOOP;
8975
8976 RAISE OKC_API.G_EXCEPTION_ERROR;
8977
8978 END; /* do_id_mapping_sort */
8979
8980 FUNCTION find_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
8981 hi NUMBER;
8982 lo NUMBER;
8983 m NUMBER;
8984 BEGIN
8985 lo := 1;
8986 hi := l_counter - 1;
8987 WHILE (lo <= hi) LOOP
8988 m := FLOOR((hi + lo)/2);
8989 IF (l_id_mapping_tab(m).old_id = p_id) THEN
8990 RETURN l_id_mapping_tab(m).new_id;
8991 ELSIF (l_id_mapping_tab(m).old_id > p_id) THEN
8992 hi := m - 1;
8993 ELSE
8994 lo := m + 1;
8995 END IF;
8996 END LOOP;
8997 RETURN -1;
8998 END; /* find_mapping_id */
8999
9000 PROCEDURE insert_okc_k_lines_tl(p_old_id IN okc_k_lines_b.id%TYPE) IS
9001 CURSOR c5(p_id NUMBER) IS
9002 SELECT
9003 a.id, a.LANGUAGE, a.source_lang,
9004 a.sfwt_flag, a.name, a.comments,
9005 a.item_description, a.block23text, a.created_by,
9006 a.creation_date, a.last_updated_by, a.last_update_date,
9007 a.last_update_login, a.security_group_id, a.oke_boe_description,
9008 a.cognomen, b.lse_id, b.sts_code, c.fee_type
9009 --avsingh: Bug 5710213: start
9010 , lsb.lty_code
9011 --avsingh: Bug 5710213: end
9012 FROM okc_k_lines_tl a,
9013 okc_k_lines_b b,
9014 okl_k_lines c,
9015 fnd_languages d
9016 --avsingh: Bug 5710213: start
9017 , okc_line_styles_b lsb
9018 --avsingh: Bug 5710213: end
9019 WHERE a.id = b.id
9020 AND b.id = c.id
9021 AND a.id = c.id
9022 AND b.dnz_chr_id = p_id
9023 AND a.LANGUAGE = d.language_code
9024 AND d.installed_flag = 'B'
9025 --avsingh: Bug 5710213: start
9026 AND b.lse_id = lsb.id
9027 --avsingh: Bug 5710213: end
9028 ;
9029
9030
9031 CURSOR c6 IS
9032 SELECT language_code
9033 FROM fnd_languages
9034 WHERE installed_flag IN ('B', 'I');
9035
9036 CURSOR c7(p_id NUMBER) IS
9037 SELECT DISTINCT a.name
9038 FROM okc_k_lines_tl a,
9039 okc_k_lines_b b
9040 WHERE a.id = b.id
9041 AND b.dnz_chr_id = p_id
9042 -- gboomina Bug 6353660 - Start
9043 -- excluding NULL values to get valid asset numbers
9044 -- which is used down the line to replace asset numbers.
9045 AND a.name IS NOT NULL
9046 -- gboomina Bug 6353660 - End
9047 AND a.LANGUAGE = USERENV('LANG');
9048 --and b.lse_id in (33, 42)
9049 --and p_trans_type not in ('CRB', 'CRL', 'CSP', 'CRV', 'ALI');
9050
9051
9052 l_olid_tab2 l_olid_type;
9053 l_ollanguage_tab2 l_ollanguage_type;
9054 l_olsource_lang_tab2 l_olsource_lang_type;
9055 l_olsfwt_flag_tab2 l_olsfwt_flag_type;
9056 l_olname_tab2 l_olname_type;
9057 l_olcomments_tab2 l_olcomments_type;
9058 l_olitem_description_tab2 l_olitem_description_type;
9059 l_olblock23text_tab2 l_olblock23text_type;
9060 l_olcreated_by_tab2 l_olcreated_by_type;
9061 l_olcreation_date_tab2 l_olcreation_date_type;
9062 l_ollast_updated_by_tab2 l_ollast_updated_by_type;
9063 l_ollast_update_date_tab2 l_ollast_update_date_type;
9064 l_ollast_update_login_tab2 l_ollast_update_login_type;
9065 l_olsecurity_group_id_tab2 l_olsecurity_group_id_type;
9066 l_oloke_boe_description_tab2 l_oloke_boe_description_type;
9067 l_olcognomen_tab2 l_olcognomen_type;
9068
9069 l_ollse_id_tab2 l_lse_id_type;
9070 --avsingh: Bug 5710213: start
9071 l_ollty_code_tab2 l_lty_code_type;
9072 --avsingh: Bug 5710213: end
9073 l_olsts_code_tab2 l_sts_code_type;
9074 l_olfee_type_tab2 l_fee_type_type;
9075
9076 l_olname_tab3 l_olname_type;
9077 l_ret_status VARCHAR2(30);
9078 l_new_asset_name VARCHAR2(150);
9079 l_new_id NUMBER;
9080
9081 BEGIN
9082 OPEN c5(p_old_id);
9083 LOOP
9084 FETCH c5 bulk collect INTO
9085 l_olid_tab2, l_ollanguage_tab2, l_olsource_lang_tab2,
9086 l_olsfwt_flag_tab2, l_olname_tab2, l_olcomments_tab2,
9087 l_olitem_description_tab2, l_olblock23text_tab2, l_olcreated_by_tab2,
9088 l_olcreation_date_tab2, l_ollast_updated_by_tab2, l_ollast_update_date_tab2,
9089 l_ollast_update_login_tab2, l_olsecurity_group_id_tab2, l_oloke_boe_description_tab2,
9090 l_olcognomen_tab2, l_ollse_id_tab2, l_olsts_code_tab2, l_olfee_type_tab2
9091 --avsingh: Bug 5710213: start
9092 , l_ollty_code_tab2
9093 --avsingh: Bug 5710213: end
9094 limit G_BULK_SIZE;
9095 EXIT WHEN l_olid_tab2.COUNT = 0;
9096 FOR i IN l_olid_tab2.first..l_olid_tab2.last
9097 LOOP
9098 --if ( (l_olfee_type_tab2(i) = 'ROLLOVER' and
9099 --l_ollse_id_tab2(i) = 52 and
9100 --p_trans_type = 'CFA') or
9101 --(l_olsts_code_tab2(i) = 'ABANDONED') or
9102 --(l_ollse_id_tab2(i) = 47) ) then
9103 --null;
9104 --else
9105 l_olid_tab(l_okc_k_lines_tl_counter) := l_olid_tab2(i);
9106 -- Change id
9107 l_new_id := find_mapping_id(l_olid_tab(l_okc_k_lines_tl_counter));
9108 --print('okc_k_lines_tl:l_new_id=' || l_new_id);
9109 l_olid_tab(l_okc_k_lines_tl_counter) := l_new_id;
9110
9111 l_ollanguage_tab(l_okc_k_lines_tl_counter) := l_ollanguage_tab2(i);
9112 l_olsource_lang_tab(l_okc_k_lines_tl_counter) := l_olsource_lang_tab2(i);
9113 l_olsfwt_flag_tab(l_okc_k_lines_tl_counter) := l_olsfwt_flag_tab2(i);
9114 l_olname_tab(l_okc_k_lines_tl_counter) := l_olname_tab2(i);
9115 l_olcomments_tab(l_okc_k_lines_tl_counter) := l_olcomments_tab2(i);
9116 l_olitem_description_tab(l_okc_k_lines_tl_counter) := l_olitem_description_tab2(i);
9117 l_olblock23text_tab(l_okc_k_lines_tl_counter) := l_olblock23text_tab2(i);
9118 l_olcreated_by_tab(l_okc_k_lines_tl_counter) := l_olcreated_by_tab2(i);
9119 l_olcreation_date_tab(l_okc_k_lines_tl_counter) := l_olcreation_date_tab2(i);
9120 l_ollast_updated_by_tab(l_okc_k_lines_tl_counter) := l_ollast_updated_by_tab2(i);
9121 l_ollast_update_date_tab(l_okc_k_lines_tl_counter) := l_ollast_update_date_tab2(i);
9122 l_ollast_update_login_tab(l_okc_k_lines_tl_counter) := l_ollast_update_login_tab2(i);
9123 l_olsecurity_group_id_tab(l_okc_k_lines_tl_counter) := l_olsecurity_group_id_tab2(i);
9124 l_oloke_boe_description_tab(l_okc_k_lines_tl_counter) := l_oloke_boe_description_tab2(i);
9125 l_olcognomen_tab(l_okc_k_lines_tl_counter) := l_olcognomen_tab2(i);
9126
9127 l_ollse_id_tab(l_okc_k_lines_tl_counter) := l_ollse_id_tab2(i);
9128 --avsingh: Bug 5710213: start
9129 l_ollty_code_tab(l_okc_k_lines_tl_counter) := l_ollty_code_tab2(i);
9130 --avsingh: Bug 5710213: end
9131 l_olsts_code_tab(l_okc_k_lines_tl_counter) := l_olsts_code_tab2(i);
9132 l_olfee_type_tab(l_okc_k_lines_tl_counter) := l_olfee_type_tab2(i);
9133
9134 l_okc_k_lines_tl_counter := l_okc_k_lines_tl_counter + 1;
9135
9136 --end if;
9137 END LOOP;
9138 END LOOP;
9139 CLOSE c5;
9140
9141 IF (l_okc_k_lines_tl_counter < 2) THEN
9142 RETURN;
9143 END IF;
9144
9145 --print('Opening c7 with p_old_id=' || p_old_id);
9146 OPEN c7(p_old_id);
9147 LOOP
9148 FETCH c7 bulk collect INTO
9149 l_olname_tab3
9150 limit G_BULK_SIZE;
9151 --print('l_olname_tab3.count=' || l_olname_tab3.count);
9152 EXIT WHEN l_olname_tab3.COUNT = 0;
9153 FOR i IN l_olname_tab3.first..l_olname_tab3.last
9154 LOOP
9155 -- Populate l_aid_mapping_tab
9156 l_aid_mapping_tab(l_asset_counter).old_id := l_olname_tab3(i);
9157 l_ret_status := generate_asset_number(l_new_asset_name);
9158 IF l_ret_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
9159 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9160 ELSIF l_ret_status = OKL_API.G_RET_STS_ERROR THEN
9161 RAISE OKL_API.G_EXCEPTION_ERROR;
9162 END IF;
9163
9164 l_aid_mapping_tab(l_asset_counter).new_id := l_new_asset_name;
9165
9166 l_asset_counter := l_asset_counter + 1;
9167 END LOOP;
9168 END LOOP;
9169 CLOSE c7;
9170 sort_aid_mapping_tab;
9171 /* Debug only */
9172 /*
9173 print('Printing insert_okc_k_lines_tl:l_olid_tab ...');
9174 for i in l_olid_tab.first..l_olid_tab.last
9175 loop
9176 print('l_olid_tab('||i||')=' || l_olid_tab(i));
9177 print('l_olfee_type_tab('||i||')=' || l_olfee_type_tab(i));
9178 print('l_ollse_id_tab('||i||')=' || l_ollse_id_tab(i));
9179 print('l_olsts_code_tab('||i||')=' || l_olsts_code_tab(i));
9180 print('l_olsource_lang_tab('||i||')=' || l_olsource_lang_tab(i));
9181 print('l_olname_tab('||i||')=' || l_olname_tab(i));
9182 print('l_olcomments_tab('||i||')=' || l_olcomments_tab(i));
9183 print('l_olitem_description_tab('||i||')=' || l_olitem_description_tab(i));
9184 print('l_olblock23text_tab('||i||')=' || l_olblock23text_tab(i));
9185 print('l_olsecurity_group_id_tab('||i||')=' || l_olsecurity_group_id_tab(i));
9186 print('l_oloke_boe_description_tab('||i||')=' || l_oloke_boe_description_tab(i));
9187 print('l_olcognomen_tab('||i||')=' || l_olcognomen_tab(i));
9188 end loop;
9189 */
9190
9191 -- Now replace name
9192 IF (l_olid_tab.COUNT > 0) THEN
9193 FOR i IN l_olid_tab.first..l_olid_tab.last
9194 LOOP
9195 --avsingh: Bug 5710213: start
9196 IF ( l_ollty_code_tab(i) IN ('FREE_FORM1', 'FIXED_ASSET', 'LINK_FEE_ASSET', 'LINK_SERV_ASSET' ) AND -- added by zrehman for Bug#5920670
9197 --IF ( l_ollse_id_tab(i) IN (33, 42) AND
9198 --avsingh: Bug 5710213: end
9199 p_trans_type NOT IN ('CRB', 'CRL', 'CSP', 'CRV', 'ALI')
9200 ) THEN
9201 l_new_asset_name := find_aid_mapping_id(l_olname_tab(i));
9202 IF (l_new_asset_name <> '-1') THEN
9203 l_olname_tab(i) := l_new_asset_name;
9204 END IF;
9205 END IF;
9206 END LOOP;
9207 END IF;
9208
9209 IF (l_okc_k_lines_tl_counter > 1) THEN
9210 FOR r IN c6
9211 LOOP
9212 --print('r.language_code=' || r.language_code);
9213 forall i IN l_olid_tab.first..l_olid_tab.last
9214 INSERT INTO okc_k_lines_tl (
9215 id, LANGUAGE, source_lang,
9216 sfwt_flag, name, comments,
9217 item_description, block23text, created_by,
9218 creation_date, last_updated_by, last_update_date,
9219 last_update_login, security_group_id, oke_boe_description,
9220 cognomen
9221 ) VALUES (
9222 l_olid_tab(i), r.language_code, l_olsource_lang_tab(i),
9223 'N', l_olname_tab(i), l_olcomments_tab(i),
9224 l_olitem_description_tab(i), l_olblock23text_tab(i), l_created_by,
9225 SYSDATE,l_last_updated_by,SYSDATE,
9226 l_last_update_login,l_olsecurity_group_id_tab(i),l_oloke_boe_description_tab(i),
9227 l_olcognomen_tab(i)
9228 );
9229 END LOOP;
9230 END IF;
9231
9232 EXCEPTION WHEN OTHERS THEN
9233
9234 x_return_status := OKL_API.G_RET_STS_ERROR;
9235 /*OKL_API.set_message(p_app_name => 'OKL',
9236 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
9237 p_token1 => 'ASSET_NUMBER',
9238 p_token1_value => 'insert_okc_k_lines_tl');*/
9239 /* DEBUG */
9240 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9241 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
9242 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_k_lines_tl:l_olid_tab.count=' || l_olid_tab.COUNT || ' ...');
9243 END IF;
9244 IF (l_olid_tab.COUNT > 0) THEN
9245 FOR i IN l_olid_tab.first..l_olid_tab.last
9246 LOOP
9247 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9248 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olid_tab('||i||')=' || l_olid_tab(i));
9249 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olsource_lang_tab('||i||')=' || l_olsource_lang_tab(i));
9250 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olname_tab('||i||')=' || l_olname_tab(i));
9251 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olcomments_tab('||i||')=' || l_olcomments_tab(i));
9252 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olitem_description_tab('||i||')=' || l_olitem_description_tab(i));
9253 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olblock23text_tab('||i||')=' || l_olblock23text_tab(i));
9254 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olsecurity_group_id_tab('||i||')=' || l_olsecurity_group_id_tab(i));
9255 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_oloke_boe_description_tab('||i||')=' || l_oloke_boe_description_tab(i));
9256 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olcognomen_tab('||i||')=' || l_olcognomen_tab(i));
9257 END IF;
9258 END LOOP;
9259 END IF;
9260
9261
9262 RAISE OKC_API.G_EXCEPTION_ERROR;
9263
9264 END; /* insert okc_k_lines_tl */
9265
9266 PROCEDURE insert_okc_k_lines_tl_old(p_old_id IN okc_k_lines_b.id%TYPE,
9267 p_new_id IN okc_k_lines_b.id%TYPE,
9268 p_flush IN VARCHAR2 ) IS
9269 CURSOR c5(p_id okc_k_lines_b.id%TYPE) IS
9270 SELECT
9271 a.id, a.LANGUAGE, a.source_lang,
9272 a.sfwt_flag, a.name, a.comments,
9273 a.item_description, a.block23text, a.created_by,
9274 a.creation_date, a.last_updated_by, a.last_update_date,
9275 a.last_update_login, a.security_group_id, a.oke_boe_description,
9276 a.cognomen, b.lse_id
9277 FROM okc_k_lines_tl a,
9278 okc_k_lines_b b
9279 WHERE a.id = p_id
9280 AND a.id = b.id;
9281
9282 TYPE l_ollse_id_type IS TABLE OF okc_k_lines_b.lse_id%TYPE INDEX BY BINARY_INTEGER;
9283 l_olid_tab2 l_olid_type;
9284 l_ollanguage_tab2 l_ollanguage_type;
9285 l_olsource_lang_tab2 l_olsource_lang_type;
9286 l_olsfwt_flag_tab2 l_olsfwt_flag_type;
9287 l_olname_tab2 l_olname_type;
9288 l_olcomments_tab2 l_olcomments_type;
9289 l_olitem_description_tab2 l_olitem_description_type;
9290 l_olblock23text_tab2 l_olblock23text_type;
9291 l_olcreated_by_tab2 l_olcreated_by_type;
9292 l_olcreation_date_tab2 l_olcreation_date_type;
9293 l_ollast_updated_by_tab2 l_ollast_updated_by_type;
9294 l_ollast_update_date_tab2 l_ollast_update_date_type;
9295 l_ollast_update_login_tab2 l_ollast_update_login_type;
9296 l_olsecurity_group_id_tab2 l_olsecurity_group_id_type;
9297 l_oloke_boe_description_tab2 l_oloke_boe_description_type;
9298 l_olcognomen_tab2 l_olcognomen_type;
9299 l_ollse_id_tab2 l_ollse_id_type;
9300
9301 l_ret_status VARCHAR2(30);
9302 l_new_asset_name VARCHAR2(150);
9303 l_done_generating BOOLEAN := FALSE;
9304 l_old_asset_name VARCHAR2(150);
9305 BEGIN
9306 IF (G_DEBUG_ENABLED = 'Y') THEN
9307 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
9308 END IF;
9309 NULL;
9310 OPEN c5(p_old_id);
9311 FETCH c5 bulk collect INTO
9312 l_olid_tab2, l_ollanguage_tab2, l_olsource_lang_tab2,
9313 l_olsfwt_flag_tab2, l_olname_tab2, l_olcomments_tab2,
9314 l_olitem_description_tab2, l_olblock23text_tab2, l_olcreated_by_tab2,
9315 l_olcreation_date_tab2, l_ollast_updated_by_tab2, l_ollast_update_date_tab2,
9316 l_ollast_update_login_tab2,l_olsecurity_group_id_tab2, l_oloke_boe_description_tab2,
9317 l_olcognomen_tab2, l_ollse_id_tab2
9318 limit G_BULK_SIZE;
9319 CLOSE c5;
9320 --print('okc_k_lines_tab:l_id_tab.count='||l_id_tab.count);
9321 FOR i IN l_olid_tab2.first..l_olid_tab2.last LOOP
9322 -- Change id
9323 l_olid_tab2(i) := p_new_id;
9324 l_olid_tab(l_okc_k_lines_tl_counter) := l_olid_tab2(i);
9325
9326 l_ollanguage_tab(l_okc_k_lines_tl_counter) := l_ollanguage_tab2(i);
9327 l_olsource_lang_tab(l_okc_k_lines_tl_counter) := l_olsource_lang_tab2(i);
9328 l_olsfwt_flag_tab(l_okc_k_lines_tl_counter) := l_olsfwt_flag_tab2(i);
9329 l_olname_tab(l_okc_k_lines_tl_counter) := l_olname_tab2(i);
9330
9331 /* AKP - to do: Put okl_copy_asset_pvt.generate_asset_number as public api
9332 Call okl_copy_asset_pvt.generate_asset_number instead of local procedure */
9333 IF (p_trans_type NOT IN ('CRB','CRL','CSP','CRV','ALI') AND
9334 l_ollse_id_tab2(i) IN (33, 42) ) THEN
9335 -- Generate asset_number
9336 --l_ret_status := okl_copy_asset_pvt.generate_asset_number(
9337 IF (NOT(l_done_generating)) THEN
9338 IF (l_asset_counter > 1) THEN
9339 l_new_asset_name := find_aid_mapping_id(l_olname_tab(l_okc_k_lines_tl_counter));
9340 IF (l_new_asset_name = '-1') THEN
9341 l_ret_status := generate_asset_number(
9342 l_new_asset_name
9343 );
9344 IF l_ret_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
9345 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9346 ELSIF l_ret_status = OKL_API.G_RET_STS_ERROR THEN
9347 RAISE OKL_API.G_EXCEPTION_ERROR;
9348 END IF;
9349 END IF;
9350 ELSE
9351 l_ret_status := generate_asset_number(
9352 l_new_asset_name
9353 );
9354 IF l_ret_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
9355 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9356 ELSIF l_ret_status = OKL_API.G_RET_STS_ERROR THEN
9357 RAISE OKL_API.G_EXCEPTION_ERROR;
9358 END IF;
9359 END IF;
9360 l_done_generating := TRUE;
9361 END IF;
9362 l_old_asset_name := l_olname_tab(l_okc_k_lines_tl_counter);
9363 l_olname_tab(l_okc_k_lines_tl_counter) := l_new_asset_name;
9364 --print('Old Asset=' || l_old_asset_name);
9365 --print('New Asset=' || l_new_asset_name);
9366
9367 -- Store line id to asset_number mapping
9368 l_aid_mapping_tab(l_asset_counter).old_id := l_old_asset_name;
9369 l_aid_mapping_tab(l_asset_counter).new_id := l_new_asset_name;
9370
9371 l_asset_counter := l_asset_counter + 1;
9372
9373 END IF;
9374
9375 IF (l_asset_counter > 1) THEN
9376 sort_aid_mapping_tab;
9377 END IF;
9378 l_olcomments_tab(l_okc_k_lines_tl_counter) := l_olcomments_tab2(i);
9379 l_olitem_description_tab(l_okc_k_lines_tl_counter) := l_olitem_description_tab2(i);
9380 l_olblock23text_tab(l_okc_k_lines_tl_counter) := l_olblock23text_tab2(i);
9381 l_olcreated_by_tab(l_okc_k_lines_tl_counter) := l_olcreated_by_tab2(i);
9382 l_olcreation_date_tab(l_okc_k_lines_tl_counter) := l_olcreation_date_tab2(i);
9383 l_ollast_updated_by_tab(l_okc_k_lines_tl_counter) := l_ollast_updated_by_tab2(i);
9384 l_ollast_update_date_tab(l_okc_k_lines_tl_counter) := l_ollast_update_date_tab2(i);
9385 l_ollast_update_login_tab(l_okc_k_lines_tl_counter) := l_ollast_update_login_tab2(i);
9386 l_olsecurity_group_id_tab(l_okc_k_lines_tl_counter) := l_olsecurity_group_id_tab2(i);
9387 l_oloke_boe_description_tab(l_okc_k_lines_tl_counter) := l_oloke_boe_description_tab2(i);
9388 l_olcognomen_tab(l_okc_k_lines_tl_counter) := l_olcognomen_tab2(i);
9389
9390 l_okc_k_lines_tl_counter := l_okc_k_lines_tl_counter + 1;
9391
9392 END LOOP;
9393
9394 IF (p_flush = 'Y') THEN
9395 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9396 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_okc_k_lines_tl_counter='|| l_okc_k_lines_tl_counter || ' l_olid_tab.count=' || l_olid_tab.COUNT);
9397 END IF;
9398 IF (l_okc_k_lines_tl_counter > 1) THEN
9399 forall i IN l_olid_tab.first..l_olid_tab.last
9400 INSERT INTO okc_k_lines_tl (
9401 id, LANGUAGE, source_lang,
9402 sfwt_flag, name, comments,
9403 item_description, block23text, created_by,
9404 creation_date, last_updated_by, last_update_date,
9405 last_update_login, security_group_id, oke_boe_description,
9406 cognomen
9407 ) VALUES (
9408 l_olid_tab(i), l_ollanguage_tab(i), l_olsource_lang_tab(i),
9409 'N', l_olname_tab(i), l_olcomments_tab(i),
9410 l_olitem_description_tab(i), l_olblock23text_tab(i), l_created_by,
9411 SYSDATE,l_last_updated_by,SYSDATE,
9412 l_last_update_login,l_olsecurity_group_id_tab(i),l_oloke_boe_description_tab(i),
9413 l_olcognomen_tab(i)
9414 );
9415 END IF;
9416 END IF;
9417
9418
9419 END; /* insert_okc_k_lines_tl_old */
9420
9421
9422 PROCEDURE insert_okc_k_headers_tl(p_old_id IN okc_k_headers_tl.id%TYPE,
9423 p_new_id IN okc_k_headers_tl.id%TYPE) IS
9424 CURSOR c6(p_id okc_k_headers_tl.id%TYPE) IS
9425 SELECT
9426 id, LANGUAGE, source_lang,
9427 sfwt_flag, short_description, comments,
9428 description, cognomen, non_response_reason,
9429 non_response_explain, set_aside_reason, created_by,
9430 creation_date, last_updated_by, last_update_date,
9431 last_update_login, security_group_id
9432 FROM okc_k_headers_tl
9433 WHERE id = p_id;
9434
9435 TYPE l_id_type IS TABLE OF okc_k_headers_tl.id%TYPE INDEX BY BINARY_INTEGER;
9436 TYPE l_language_type IS TABLE OF okc_k_headers_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
9437 TYPE l_source_lang_type IS TABLE OF okc_k_headers_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
9438 TYPE l_sfwt_flag_type IS TABLE OF okc_k_headers_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
9439 TYPE l_short_description_type IS TABLE OF okc_k_headers_tl.short_description%TYPE INDEX BY BINARY_INTEGER;
9440 TYPE l_comments_type IS TABLE OF okc_k_headers_tl.comments%TYPE INDEX BY BINARY_INTEGER;
9441 TYPE l_description_type IS TABLE OF okc_k_headers_tl.description%TYPE INDEX BY BINARY_INTEGER;
9442 TYPE l_cognomen_type IS TABLE OF okc_k_headers_tl.cognomen%TYPE INDEX BY BINARY_INTEGER;
9443 TYPE l_non_response_reason_type IS TABLE OF okc_k_headers_tl.non_response_reason%TYPE INDEX BY BINARY_INTEGER;
9444 TYPE l_non_response_explain_type IS TABLE OF okc_k_headers_tl.non_response_explain%TYPE INDEX BY BINARY_INTEGER;
9445 TYPE l_set_aside_reason_type IS TABLE OF okc_k_headers_tl.set_aside_reason%TYPE INDEX BY BINARY_INTEGER;
9446 TYPE l_created_by_type IS TABLE OF okc_k_headers_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
9447 TYPE l_creation_date_type IS TABLE OF okc_k_headers_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
9448 TYPE l_last_updated_by_type IS TABLE OF okc_k_headers_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
9449 TYPE l_last_update_date_type IS TABLE OF okc_k_headers_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
9450 TYPE l_last_update_login_type IS TABLE OF okc_k_headers_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
9451 TYPE l_security_group_id_type IS TABLE OF okc_k_headers_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
9452
9453 l_id_tab l_id_type;
9454 l_language_tab l_language_type;
9455 l_source_lang_tab l_source_lang_type;
9456 l_sfwt_flag_tab l_sfwt_flag_type;
9457 l_short_description_tab l_short_description_type;
9458 l_comments_tab l_comments_type;
9459 l_description_tab l_description_type;
9460 l_cognomen_tab l_cognomen_type;
9461 l_non_response_reason_tab l_non_response_reason_type;
9462 l_non_response_explain_tab l_non_response_explain_type;
9463 l_set_aside_reason_tab l_set_aside_reason_type;
9464 l_created_by_tab l_created_by_type;
9465 l_creation_date_tab l_creation_date_type;
9466 l_last_updated_by_tab l_last_updated_by_type;
9467 l_last_update_date_tab l_last_update_date_type;
9468 l_last_update_login_tab l_last_update_login_type;
9469 l_security_group_id_tab l_security_group_id_type;
9470
9471
9472 BEGIN
9473 IF (G_DEBUG_ENABLED = 'Y') THEN
9474 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
9475 END IF;
9476 NULL;
9477 OPEN c6(p_old_id);
9478 FETCH c6 bulk collect INTO
9479 l_id_tab, l_language_tab, l_source_lang_tab,
9480 l_sfwt_flag_tab, l_short_description_tab, l_comments_tab,
9481 l_description_tab, l_cognomen_tab, l_non_response_reason_tab,
9482 l_non_response_explain_tab, l_set_aside_reason_tab, l_created_by_tab,
9483 l_creation_date_tab, l_last_updated_by_tab, l_last_update_date_tab,
9484 l_last_update_login_tab, l_security_group_id_tab
9485 limit G_BULK_SIZE;
9486 CLOSE c6;
9487
9488 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9489 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'okc_k_headers_tl_tab:l_id_tab.count='||l_id_tab.COUNT);
9490 END IF;
9491 IF (l_id_tab.COUNT > 0) THEN
9492 FOR i IN l_id_tab.first..l_id_tab.last LOOP
9493 l_id_tab(i) := p_new_id;
9494 END LOOP;
9495
9496 forall i IN l_id_tab.first..l_id_tab.last
9497 INSERT INTO okc_k_headers_tl (
9498 id, LANGUAGE, source_lang,
9499 sfwt_flag, short_description, comments,
9500 description, cognomen, non_response_reason,
9501 non_response_explain, set_aside_reason, created_by,
9502 creation_date, last_updated_by, last_update_date,
9503 last_update_login, security_group_id
9504 ) VALUES (
9505 l_id_tab(i), l_language_tab(i), l_source_lang_tab(i),
9506 'N', l_short_description_tab(i), l_comments_tab(i),
9507 l_description_tab(i), l_cognomen_tab(i), NULL,
9508 NULL, NULL, l_created_by,
9509 SYSDATE, l_last_updated_by, SYSDATE,
9510 l_last_update_login, l_security_group_id_tab(i)
9511 );
9512 END IF;
9513
9514 EXCEPTION WHEN OTHERS THEN
9515
9516 x_return_status := OKL_API.G_RET_STS_ERROR;
9517 /*OKL_API.set_message(p_app_name => 'OKL',
9518 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
9519 p_token1 => 'ASSET_NUMBER',
9520 p_token1_value => 'insert_okc_k_headers_tl');*/
9521 /* DEBUG */
9522 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9523 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
9524 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okc_k_headers_tl:l_id_tab.coun=' || l_id_tab.COUNT || ' ...');
9525 END IF;
9526 IF (l_id_tab.COUNT > 0) THEN
9527 FOR i IN l_id_tab.first..l_id_tab.last
9528 LOOP
9529 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9530 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab('||i||')=' || l_id_tab(i));
9531 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_language_tab('||i||')=' || l_language_tab(i));
9532 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_source_lang_tab('||i||')=' || l_source_lang_tab(i));
9533 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_short_description_tab('||i||')=' || l_short_description_tab(i));
9534 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_comments_tab('||i||')=' || l_comments_tab(i));
9535 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_description_tab('||i||')=' || l_description_tab(i));
9536 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cognomen_tab('||i||')=' || l_cognomen_tab(i));
9537 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_security_group_id_tab('||i||')=' || l_security_group_id_tab(i));
9538 END IF;
9539 END LOOP;
9540 END IF;
9541
9542 RAISE OKC_API.G_EXCEPTION_ERROR;
9543
9544 END; /* insert_okc_k_headers_tl */
9545
9546 PROCEDURE insert_okl_k_headers(p_old_id IN okc_k_headers_tl.id%TYPE,
9547 p_new_id IN okc_k_headers_tl.id%TYPE) IS
9548 CURSOR c7(p_id okl_k_headers.id%TYPE) IS
9549 SELECT
9550 id, isg_id, khr_id,
9551 pdt_id, object_version_number, date_first_activity,
9552 syndicatable_yn, salestype_yn, date_refinanced,
9553 date_conversion_effective, date_deal_transferred, term_duration,
9554 datetime_proposal_effective, datetime_proposal_ineffective, date_proposal_accepted,
9555 attribute_category, attribute1, attribute2,
9556 attribute3, attribute4, attribute5,
9557 attribute6, attribute7, attribute8,
9558 attribute9, attribute10, attribute11,
9559 attribute12, attribute13, attribute14,
9560 attribute15, created_by, creation_date,
9561 last_updated_by, last_update_date, last_update_login,
9562 amd_code, generate_accrual_yn, generate_accrual_override_yn,
9563 credit_act_yn, converted_account_yn, pre_tax_yield,
9564 after_tax_yield, implicit_interest_rate, implicit_non_idc_interest_rate,
9565 target_pre_tax_yield, target_after_tax_yield, target_implicit_interest_rate,
9566 target_implicit_nonidc_intrate, date_last_interim_interest_cal, deal_type,
9567 pre_tax_irr, after_tax_irr, expected_delivery_date,
9568 accepted_date, prefunding_eligible_yn, revolving_credit_yn,
9569 currency_conversion_type, currency_conversion_rate, currency_conversion_date,
9570 multi_gaap_yn, recourse_code, lessor_serv_org_code,
9571 assignable_yn, securitized_code, securitization_type,
9572 sub_pre_tax_yield, sub_after_tax_yield, sub_impl_interest_rate,
9573 sub_impl_non_idc_int_rate, sub_pre_tax_irr, sub_after_tax_irr,
9574 tot_cl_transfer_amt, tot_cl_net_transfer_amt, tot_cl_limit,
9575 tot_cl_funding_amt, crs_id, template_type_code,
9576 tradein_description, date_funding_expected, tradein_amount,
9577 date_tradein,
9578 legal_entity_id
9579 FROM okl_k_headers
9580 WHERE id = p_id;
9581
9582 TYPE l_id_type IS TABLE OF okl_k_headers.id%TYPE INDEX BY BINARY_INTEGER;
9583 TYPE l_isg_id_type IS TABLE OF okl_k_headers.isg_id%TYPE INDEX BY BINARY_INTEGER;
9584 TYPE l_khr_id_type IS TABLE OF okl_k_headers.khr_id%TYPE INDEX BY BINARY_INTEGER;
9585 TYPE l_pdt_id_type IS TABLE OF okl_k_headers.pdt_id%TYPE INDEX BY BINARY_INTEGER;
9586 TYPE l_object_version_number_type IS TABLE OF okl_k_headers.object_version_number%TYPE INDEX BY BINARY_INTEGER;
9587 TYPE l_date_first_activity_type IS TABLE OF okl_k_headers.date_first_activity%TYPE INDEX BY BINARY_INTEGER;
9588 TYPE l_syndicatable_yn_type IS TABLE OF okl_k_headers.syndicatable_yn%TYPE INDEX BY BINARY_INTEGER;
9589 TYPE l_salestype_yn_type IS TABLE OF okl_k_headers.salestype_yn%TYPE INDEX BY BINARY_INTEGER;
9590 TYPE l_date_refinanced_type IS TABLE OF okl_k_headers.date_refinanced%TYPE INDEX BY BINARY_INTEGER;
9591 TYPE l_date_conversion_effective_ty IS TABLE OF okl_k_headers.date_conversion_effective%TYPE INDEX BY BINARY_INTEGER;
9592 TYPE l_date_deal_transferred_type IS TABLE OF okl_k_headers.date_deal_transferred%TYPE INDEX BY BINARY_INTEGER;
9593 TYPE l_term_duration_type IS TABLE OF okl_k_headers.term_duration%TYPE INDEX BY BINARY_INTEGER;
9594 TYPE l_datetime_proposal_effec_type IS TABLE OF okl_k_headers.datetime_proposal_effective%TYPE INDEX BY BINARY_INTEGER;
9595 TYPE l_datetime_proposal_ineff_type IS TABLE OF okl_k_headers.datetime_proposal_ineffective%TYPE INDEX BY BINARY_INTEGER;
9596 TYPE l_date_proposal_accepted_type IS TABLE OF okl_k_headers.date_proposal_accepted%TYPE INDEX BY BINARY_INTEGER;
9597 TYPE l_attribute_category_type IS TABLE OF okl_k_headers.attribute_category%TYPE INDEX BY BINARY_INTEGER;
9598 TYPE l_attribute1_type IS TABLE OF okl_k_headers.attribute1%TYPE INDEX BY BINARY_INTEGER;
9599 TYPE l_attribute2_type IS TABLE OF okl_k_headers.attribute2%TYPE INDEX BY BINARY_INTEGER;
9600 TYPE l_attribute3_type IS TABLE OF okl_k_headers.attribute3%TYPE INDEX BY BINARY_INTEGER;
9601 TYPE l_attribute4_type IS TABLE OF okl_k_headers.attribute4%TYPE INDEX BY BINARY_INTEGER;
9602 TYPE l_attribute5_type IS TABLE OF okl_k_headers.attribute5%TYPE INDEX BY BINARY_INTEGER;
9603 TYPE l_attribute6_type IS TABLE OF okl_k_headers.attribute6%TYPE INDEX BY BINARY_INTEGER;
9604 TYPE l_attribute7_type IS TABLE OF okl_k_headers.attribute7%TYPE INDEX BY BINARY_INTEGER;
9605 TYPE l_attribute8_type IS TABLE OF okl_k_headers.attribute8%TYPE INDEX BY BINARY_INTEGER;
9606 TYPE l_attribute9_type IS TABLE OF okl_k_headers.attribute9%TYPE INDEX BY BINARY_INTEGER;
9607 TYPE l_attribute10_type IS TABLE OF okl_k_headers.attribute10%TYPE INDEX BY BINARY_INTEGER;
9608 TYPE l_attribute11_type IS TABLE OF okl_k_headers.attribute11%TYPE INDEX BY BINARY_INTEGER;
9609 TYPE l_attribute12_type IS TABLE OF okl_k_headers.attribute12%TYPE INDEX BY BINARY_INTEGER;
9610 TYPE l_attribute13_type IS TABLE OF okl_k_headers.attribute13%TYPE INDEX BY BINARY_INTEGER;
9611 TYPE l_attribute14_type IS TABLE OF okl_k_headers.attribute14%TYPE INDEX BY BINARY_INTEGER;
9612 TYPE l_attribute15_type IS TABLE OF okl_k_headers.attribute15%TYPE INDEX BY BINARY_INTEGER;
9613 TYPE l_created_by_type IS TABLE OF okl_k_headers.created_by%TYPE INDEX BY BINARY_INTEGER;
9614 TYPE l_creation_date_type IS TABLE OF okl_k_headers.creation_date%TYPE INDEX BY BINARY_INTEGER;
9615 TYPE l_last_updated_by_type IS TABLE OF okl_k_headers.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
9616 TYPE l_last_update_date_type IS TABLE OF okl_k_headers.last_update_date%TYPE INDEX BY BINARY_INTEGER;
9617 TYPE l_last_update_login_type IS TABLE OF okl_k_headers.last_update_login%TYPE INDEX BY BINARY_INTEGER;
9618 TYPE l_amd_code_type IS TABLE OF okl_k_headers.amd_code%TYPE INDEX BY BINARY_INTEGER;
9619 TYPE l_generate_accrual_yn_type IS TABLE OF okl_k_headers.generate_accrual_yn%TYPE INDEX BY BINARY_INTEGER;
9620 TYPE l_generate_ac_override_yn_type IS TABLE OF okl_k_headers.generate_accrual_override_yn%TYPE INDEX BY BINARY_INTEGER;
9621 TYPE l_credit_act_yn_type IS TABLE OF okl_k_headers.credit_act_yn%TYPE INDEX BY BINARY_INTEGER;
9622 TYPE l_converted_account_yn_type IS TABLE OF okl_k_headers.converted_account_yn%TYPE INDEX BY BINARY_INTEGER;
9623 TYPE l_pre_tax_yield_type IS TABLE OF okl_k_headers.pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9624 TYPE l_after_tax_yield_type IS TABLE OF okl_k_headers.after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9625 TYPE l_implicit_interest_rate_type IS TABLE OF okl_k_headers.implicit_interest_rate%TYPE INDEX BY BINARY_INTEGER;
9626 TYPE l_implicit_non_idc_i_rate_type IS TABLE OF okl_k_headers.implicit_non_idc_interest_rate%TYPE INDEX BY BINARY_INTEGER;
9627 TYPE l_target_pre_tax_yield_type IS TABLE OF okl_k_headers.target_pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9628 TYPE l_target_after_tax_yield_type IS TABLE OF okl_k_headers.target_after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9629 TYPE l_target_implicit_in_rate_type IS TABLE OF okl_k_headers.target_implicit_interest_rate%TYPE INDEX BY BINARY_INTEGER;
9630 TYPE l_target_i_nonidc_intrate_type IS TABLE OF okl_k_headers.target_implicit_nonidc_intrate%TYPE INDEX BY BINARY_INTEGER;
9631 TYPE l_date_last_interim_i_cal_type IS TABLE OF okl_k_headers.date_last_interim_interest_cal%TYPE INDEX BY BINARY_INTEGER;
9632 TYPE l_deal_type_type IS TABLE OF okl_k_headers.deal_type%TYPE INDEX BY BINARY_INTEGER;
9633 TYPE l_pre_tax_irr_type IS TABLE OF okl_k_headers.pre_tax_irr%TYPE INDEX BY BINARY_INTEGER;
9634 TYPE l_after_tax_irr_type IS TABLE OF okl_k_headers.after_tax_irr%TYPE INDEX BY BINARY_INTEGER;
9635 TYPE l_expected_delivery_date_type IS TABLE OF okl_k_headers.expected_delivery_date%TYPE INDEX BY BINARY_INTEGER;
9636 TYPE l_accepted_date_type IS TABLE OF okl_k_headers.accepted_date%TYPE INDEX BY BINARY_INTEGER;
9637 TYPE l_prefunding_eligible_yn_type IS TABLE OF okl_k_headers.prefunding_eligible_yn%TYPE INDEX BY BINARY_INTEGER;
9638 TYPE l_revolving_credit_yn_type IS TABLE OF okl_k_headers.revolving_credit_yn%TYPE INDEX BY BINARY_INTEGER;
9639 TYPE l_currency_conversion_type_typ IS TABLE OF okl_k_headers.currency_conversion_type%TYPE INDEX BY BINARY_INTEGER;
9640 TYPE l_currency_conversion_rate_typ IS TABLE OF okl_k_headers.currency_conversion_rate%TYPE INDEX BY BINARY_INTEGER;
9641 TYPE l_currency_conversion_date_typ IS TABLE OF okl_k_headers.currency_conversion_date%TYPE INDEX BY BINARY_INTEGER;
9642 TYPE l_multi_gaap_yn_type IS TABLE OF okl_k_headers.multi_gaap_yn%TYPE INDEX BY BINARY_INTEGER;
9643 TYPE l_recourse_code_type IS TABLE OF okl_k_headers.recourse_code%TYPE INDEX BY BINARY_INTEGER;
9644 TYPE l_lessor_serv_org_code_type IS TABLE OF okl_k_headers.lessor_serv_org_code%TYPE INDEX BY BINARY_INTEGER;
9645 TYPE l_assignable_yn_type IS TABLE OF okl_k_headers.assignable_yn%TYPE INDEX BY BINARY_INTEGER;
9646 TYPE l_securitized_code_type IS TABLE OF okl_k_headers.securitized_code%TYPE INDEX BY BINARY_INTEGER;
9647 TYPE l_securitization_type_type IS TABLE OF okl_k_headers.securitization_type%TYPE INDEX BY BINARY_INTEGER;
9648 TYPE l_sub_pre_tax_yield_type IS TABLE OF okl_k_headers.sub_pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9649 TYPE l_sub_after_tax_yield_type IS TABLE OF okl_k_headers.sub_after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9650 TYPE l_sub_impl_interest_rate_type IS TABLE OF okl_k_headers.sub_impl_interest_rate%TYPE INDEX BY BINARY_INTEGER;
9651 TYPE l_sub_impl_non_idc_int_ra_type IS TABLE OF okl_k_headers.sub_impl_non_idc_int_rate%TYPE INDEX BY BINARY_INTEGER;
9652 TYPE l_sub_pre_tax_irr_type IS TABLE OF okl_k_headers.sub_pre_tax_irr%TYPE INDEX BY BINARY_INTEGER;
9653 TYPE l_sub_after_tax_irr_type IS TABLE OF okl_k_headers.sub_after_tax_irr%TYPE INDEX BY BINARY_INTEGER;
9654 TYPE l_tot_cl_transfer_amt_type IS TABLE OF okl_k_headers.tot_cl_transfer_amt%TYPE INDEX BY BINARY_INTEGER;
9655 TYPE l_tot_cl_net_transfer_amt_type IS TABLE OF okl_k_headers.tot_cl_net_transfer_amt%TYPE INDEX BY BINARY_INTEGER;
9656 TYPE l_tot_cl_limit_type IS TABLE OF okl_k_headers.tot_cl_limit%TYPE INDEX BY BINARY_INTEGER;
9657 TYPE l_tot_cl_funding_amt_type IS TABLE OF okl_k_headers.tot_cl_funding_amt%TYPE INDEX BY BINARY_INTEGER;
9658 TYPE l_crs_id_type is table of okl_k_headers.crs_id%TYPE index by binary_integer;
9659 TYPE l_template_type_code_type is table of okl_k_headers.template_type_code%TYPE index by binary_integer;
9660 TYPE l_tradein_description_type is table of okl_k_headers.tradein_description%TYPE index by binary_integer;
9661 TYPE l_date_funding_expected_type is table of okl_k_headers.date_funding_expected%TYPE index by binary_integer;
9662 TYPE l_tradein_amount_type is table of okl_k_headers.tradein_amount%TYPE index by binary_integer;
9663 TYPE l_date_tradein_type is table of okl_k_headers.date_tradein%TYPE index by binary_integer;
9664 --Added by dpsingh for LE Uptake
9665 TYPE l_legal_entity_id_type is table of okl_k_headers.legal_entity_id%TYPE index by binary_integer;
9666
9667 l_id_tab l_id_type;
9668 l_isg_id_tab l_isg_id_type;
9669 l_khr_id_tab l_khr_id_type;
9670 l_pdt_id_tab l_pdt_id_type;
9671 l_object_version_number_tab l_object_version_number_type;
9672 l_date_first_activity_tab l_date_first_activity_type;
9673 l_syndicatable_yn_tab l_syndicatable_yn_type;
9674 l_salestype_yn_tab l_salestype_yn_type;
9675 l_date_refinanced_tab l_date_refinanced_type;
9676 l_date_conversion_effectiv_tab l_date_conversion_effective_ty;
9677 l_date_deal_transferred_tab l_date_deal_transferred_type;
9678 l_term_duration_tab l_term_duration_type;
9679 l_datetime_proposal_effec_tab l_datetime_proposal_effec_type;
9680 l_datetime_proposal_ineff_tab l_datetime_proposal_ineff_type;
9681 l_date_proposal_accepted_tab l_date_proposal_accepted_type;
9682 l_attribute_category_tab l_attribute_category_type;
9683 l_attribute1_tab l_attribute1_type;
9684 l_attribute2_tab l_attribute2_type;
9685 l_attribute3_tab l_attribute3_type;
9686 l_attribute4_tab l_attribute4_type;
9687 l_attribute5_tab l_attribute5_type;
9688 l_attribute6_tab l_attribute6_type;
9689 l_attribute7_tab l_attribute7_type;
9690 l_attribute8_tab l_attribute8_type;
9691 l_attribute9_tab l_attribute9_type;
9692 l_attribute10_tab l_attribute10_type;
9693 l_attribute11_tab l_attribute11_type;
9694 l_attribute12_tab l_attribute12_type;
9695 l_attribute13_tab l_attribute13_type;
9696 l_attribute14_tab l_attribute14_type;
9697 l_attribute15_tab l_attribute15_type;
9698 l_created_by_tab l_created_by_type;
9699 l_creation_date_tab l_creation_date_type;
9700 l_last_updated_by_tab l_last_updated_by_type;
9701 l_last_update_date_tab l_last_update_date_type;
9702 l_last_update_login_tab l_last_update_login_type;
9703 l_amd_code_tab l_amd_code_type;
9704 l_generate_accrual_yn_tab l_generate_accrual_yn_type;
9705 l_generate_ac_override_yn_tab l_generate_ac_override_yn_type;
9706 l_credit_act_yn_tab l_credit_act_yn_type;
9707 l_converted_account_yn_tab l_converted_account_yn_type;
9708 l_pre_tax_yield_tab l_pre_tax_yield_type;
9709 l_after_tax_yield_tab l_after_tax_yield_type;
9710 l_implicit_interest_rate_tab l_implicit_interest_rate_type;
9711 l_implicit_non_idc_i_rate_tab l_implicit_non_idc_i_rate_type;
9712 l_target_pre_tax_yield_tab l_target_pre_tax_yield_type;
9713 l_target_after_tax_yield_tab l_target_after_tax_yield_type;
9714 l_target_implicit_in_rate_tab l_target_implicit_in_rate_type;
9715 l_target_i_nonidc_intrate_tab l_target_i_nonidc_intrate_type;
9716 l_date_last_interim_i_cal_tab l_date_last_interim_i_cal_type;
9717 l_deal_type_tab l_deal_type_type;
9718 l_pre_tax_irr_tab l_pre_tax_irr_type;
9719 l_after_tax_irr_tab l_after_tax_irr_type;
9720 l_expected_delivery_date_tab l_expected_delivery_date_type;
9721 l_accepted_date_tab l_accepted_date_type;
9722 l_prefunding_eligible_yn_tab l_prefunding_eligible_yn_type;
9723 l_revolving_credit_yn_tab l_revolving_credit_yn_type;
9724 l_currency_conversion_type_tab l_currency_conversion_type_typ;
9725 l_currency_conversion_rate_tab l_currency_conversion_rate_typ;
9726 l_currency_conversion_date_tab l_currency_conversion_date_typ;
9727 l_multi_gaap_yn_tab l_multi_gaap_yn_type;
9728 l_recourse_code_tab l_recourse_code_type;
9729 l_lessor_serv_org_code_tab l_lessor_serv_org_code_type;
9730 l_assignable_yn_tab l_assignable_yn_type;
9731 l_securitized_code_tab l_securitized_code_type;
9732 l_securitization_type_tab l_securitization_type_type;
9733 l_sub_pre_tax_yield_tab l_sub_pre_tax_yield_type;
9734 l_sub_after_tax_yield_tab l_sub_after_tax_yield_type;
9735 l_sub_impl_interest_rate_tab l_sub_impl_interest_rate_type;
9736 l_sub_impl_non_idc_int_ra_tab l_sub_impl_non_idc_int_ra_type;
9737 l_sub_pre_tax_irr_tab l_sub_pre_tax_irr_type;
9738 l_sub_after_tax_irr_tab l_sub_after_tax_irr_type;
9739 l_tot_cl_transfer_amt_tab l_tot_cl_transfer_amt_type;
9740 l_tot_cl_net_transfer_amt_tab l_tot_cl_net_transfer_amt_type;
9741 l_tot_cl_limit_tab l_tot_cl_limit_type;
9742 l_tot_cl_funding_amt_tab l_tot_cl_funding_amt_type;
9743 l_crs_id_tab l_crs_id_type;
9744 l_template_type_code_tab l_template_type_code_type;
9745 l_tradein_description_tab l_tradein_description_type;
9746 l_date_funding_expected_tab l_date_funding_expected_type;
9747 l_tradein_amount_tab l_tradein_amount_type;
9748 l_date_tradein_tab l_date_tradein_type;
9749 l_legal_entity_id_tab l_legal_entity_id_type;
9750
9751 BEGIN
9752 IF (G_DEBUG_ENABLED = 'Y') THEN
9753 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
9754 END IF;
9755 NULL;
9756 OPEN c7(p_old_id);
9757 FETCH c7 bulk collect INTO
9758 l_id_tab, l_isg_id_tab, l_khr_id_tab,
9759 l_pdt_id_tab, l_object_version_number_tab, l_date_first_activity_tab,
9760 l_syndicatable_yn_tab, l_salestype_yn_tab, l_date_refinanced_tab,
9761 l_date_conversion_effectiv_tab, l_date_deal_transferred_tab, l_term_duration_tab,
9762 l_datetime_proposal_effec_tab, l_datetime_proposal_ineff_tab, l_date_proposal_accepted_tab,
9763 l_attribute_category_tab, l_attribute1_tab, l_attribute2_tab,
9764 l_attribute3_tab, l_attribute4_tab, l_attribute5_tab,
9765 l_attribute6_tab, l_attribute7_tab, l_attribute8_tab,
9766 l_attribute9_tab, l_attribute10_tab, l_attribute11_tab,
9767 l_attribute12_tab, l_attribute13_tab, l_attribute14_tab,
9768 l_attribute15_tab, l_created_by_tab, l_creation_date_tab,
9769 l_last_updated_by_tab, l_last_update_date_tab, l_last_update_login_tab,
9770 l_amd_code_tab, l_generate_accrual_yn_tab, l_generate_ac_override_yn_tab,
9771 l_credit_act_yn_tab, l_converted_account_yn_tab, l_pre_tax_yield_tab,
9772 l_after_tax_yield_tab, l_implicit_interest_rate_tab, l_implicit_non_idc_i_rate_tab,
9773 l_target_pre_tax_yield_tab, l_target_after_tax_yield_tab, l_target_implicit_in_rate_tab,
9774 l_target_i_nonidc_intrate_tab, l_date_last_interim_i_cal_tab, l_deal_type_tab,
9775 l_pre_tax_irr_tab, l_after_tax_irr_tab, l_expected_delivery_date_tab,
9776 l_accepted_date_tab, l_prefunding_eligible_yn_tab, l_revolving_credit_yn_tab,
9777 l_currency_conversion_type_tab, l_currency_conversion_rate_tab, l_currency_conversion_date_tab,
9778 l_multi_gaap_yn_tab, l_recourse_code_tab, l_lessor_serv_org_code_tab,
9779 l_assignable_yn_tab, l_securitized_code_tab, l_securitization_type_tab,
9780 l_sub_pre_tax_yield_tab, l_sub_after_tax_yield_tab, l_sub_impl_interest_rate_tab,
9781 l_sub_impl_non_idc_int_ra_tab, l_sub_pre_tax_irr_tab, l_sub_after_tax_irr_tab,
9782 l_tot_cl_transfer_amt_tab, l_tot_cl_net_transfer_amt_tab, l_tot_cl_limit_tab,
9783 l_tot_cl_funding_amt_tab, l_crs_id_tab, l_template_type_code_tab,
9784 l_tradein_description_tab, l_date_funding_expected_tab, l_tradein_amount_tab,
9785 l_date_tradein_tab,l_legal_entity_id_tab
9786 limit G_BULK_SIZE;
9787 CLOSE c7;
9788
9789 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9790 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'okl_k_headers_tab:l_id_tab.count='||l_id_tab.COUNT);
9791 END IF;
9792 IF (l_id_tab.COUNT > 0) THEN
9793 l_deal_type := l_deal_type_tab(1);
9794 FOR i IN l_id_tab.first..l_id_tab.last LOOP
9795 l_id_tab(i) := p_new_id;
9796
9797 validate_amd_code(x_return_status, l_amd_code_tab(i));
9798 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
9799 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9800 END IF;
9801
9802 END LOOP;
9803
9804 forall i IN l_id_tab.first..l_id_tab.last
9805 INSERT INTO okl_k_headers (
9806 id, isg_id, khr_id,
9807 pdt_id, object_version_number, date_first_activity,
9808 syndicatable_yn, salestype_yn, date_refinanced,
9809 date_conversion_effective, date_deal_transferred, term_duration,
9810 datetime_proposal_effective, datetime_proposal_ineffective, date_proposal_accepted,
9811 attribute_category, attribute1, attribute2,
9812 attribute3, attribute4, attribute5,
9813 attribute6, attribute7, attribute8,
9814 attribute9, attribute10, attribute11,
9815 attribute12, attribute13, attribute14,
9816 attribute15, created_by, creation_date,
9817 last_updated_by, last_update_date, last_update_login,
9818 amd_code, generate_accrual_yn, generate_accrual_override_yn,
9819 credit_act_yn, converted_account_yn, pre_tax_yield,
9820 after_tax_yield, implicit_interest_rate, implicit_non_idc_interest_rate,
9821 target_pre_tax_yield, target_after_tax_yield, target_implicit_interest_rate,
9822 target_implicit_nonidc_intrate, date_last_interim_interest_cal, deal_type,
9823 pre_tax_irr, after_tax_irr, expected_delivery_date,
9824 accepted_date, prefunding_eligible_yn, revolving_credit_yn,
9825 currency_conversion_type, currency_conversion_rate, currency_conversion_date,
9826 multi_gaap_yn, recourse_code, lessor_serv_org_code,
9827 assignable_yn, securitized_code, securitization_type,
9828 sub_pre_tax_yield, sub_after_tax_yield, sub_impl_interest_rate,
9829 sub_impl_non_idc_int_rate, sub_pre_tax_irr, sub_after_tax_irr,
9830 tot_cl_transfer_amt, tot_cl_net_transfer_amt, tot_cl_limit,
9831 tot_cl_funding_amt, crs_id, template_type_code,
9832 tradein_description, date_funding_expected, tradein_amount,
9833 date_tradein,legal_entity_id
9834 ) VALUES (
9835 l_id_tab(i), l_isg_id_tab(i), l_khr_id_tab(i),
9836 l_pdt_id_tab(i), 1, l_date_first_activity_tab(i),
9837 l_syndicatable_yn_tab(i), l_salestype_yn_tab(i), l_date_refinanced_tab(i),
9838 l_date_conversion_effectiv_tab(i), l_date_deal_transferred_tab(i), l_term_duration_tab(i),
9839 l_datetime_proposal_effec_tab(i), l_datetime_proposal_ineff_tab(i), l_date_proposal_accepted_tab(i),
9840 l_attribute_category_tab(i), l_attribute1_tab(i), l_attribute2_tab(i),
9841 l_attribute3_tab(i), l_attribute4_tab(i), l_attribute5_tab(i),
9842 l_attribute6_tab(i), l_attribute7_tab(i), l_attribute8_tab(i),
9843 l_attribute9_tab(i), l_attribute10_tab(i), l_attribute11_tab(i),
9844 l_attribute12_tab(i), l_attribute13_tab(i), l_attribute14_tab(i),
9845 l_attribute15_tab(i), l_created_by, SYSDATE,
9846 l_last_updated_by, SYSDATE, l_last_update_login,
9847 l_amd_code_tab(i), l_generate_accrual_yn_tab(i), l_generate_ac_override_yn_tab(i),
9848 l_credit_act_yn_tab(i), l_converted_account_yn_tab(i), DECODE(p_trans_type, 'CFA', NULL, 'CRL', NULL, l_pre_tax_yield_tab(i)),
9849 DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_after_tax_yield_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_implicit_interest_rate_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_implicit_non_idc_i_rate_tab(i)),
9850 l_target_pre_tax_yield_tab(i), l_target_after_tax_yield_tab(i), l_target_implicit_in_rate_tab(i),
9851 l_target_i_nonidc_intrate_tab(i), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_date_last_interim_i_cal_tab(i)), l_deal_type_tab(i),
9852 DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_pre_tax_irr_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_after_tax_irr_tab(i)), l_expected_delivery_date_tab(i),
9853 l_accepted_date_tab(i), l_prefunding_eligible_yn_tab(i), l_revolving_credit_yn_tab(i),
9854 l_currency_conversion_type_tab(i), l_currency_conversion_rate_tab(i), l_currency_conversion_date_tab(i),
9855 l_multi_gaap_yn_tab(i), l_recourse_code_tab(i), l_lessor_serv_org_code_tab(i),
9856 --l_assignable_yn_tab(i), l_securitized_code_tab(i), l_securitization_type_tab(i),
9857 --Fix bug 4381642 to nullify securitized_code
9858 l_assignable_yn_tab(i), NULL, l_securitization_type_tab(i),
9859 DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_sub_pre_tax_yield_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_sub_after_tax_yield_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL,l_sub_impl_interest_rate_tab(i)),
9860 DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_sub_impl_non_idc_int_ra_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL,l_sub_pre_tax_irr_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_sub_after_tax_irr_tab(i)),
9861 DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_tot_cl_transfer_amt_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_tot_cl_net_transfer_amt_tab(i)), DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_tot_cl_limit_tab(i)),
9862 DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_tot_cl_funding_amt_tab(i)),
9863 l_crs_id_tab(i), l_template_type_code_tab(i),l_tradein_description_tab(i),
9864 l_date_funding_expected_tab(i), l_tradein_amount_tab(i), l_date_tradein_tab(i),l_legal_entity_id_tab(i)
9865 );
9866 END IF;
9867
9868 EXCEPTION WHEN OTHERS THEN
9869
9870 x_return_status := OKL_API.G_RET_STS_ERROR;
9871 /*OKL_API.set_message(p_app_name => 'OKL',
9872 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
9873 p_token1 => 'ASSET_NUMBER',
9874 p_token1_value => 'insert_okl_k_headers');*/
9875 /* DEBUG */
9876 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9877 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
9878 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_k_headers:l_id_tab=' || l_id_tab.COUNT || ' ...');
9879 END IF;
9880 --print('p_trans_type=' || p_trans_type);
9881 IF (l_id_tab.COUNT > 0) THEN
9882 FOR i IN l_id_tab.first..l_id_tab.last
9883 LOOP
9884 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9885 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab('||i||')=' || l_id_tab(i));
9886 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_isg_id_tab('||i||')=' || l_isg_id_tab(i));
9887 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_khr_id_tab('||i||')=' || l_khr_id_tab(i));
9888 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pdt_id_tab('||i||')=' || l_pdt_id_tab(i));
9889 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_first_activity_tab('||i||')=' || l_date_first_activity_tab(i));
9890 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_syndicatable_yn_tab('||i||')=' || l_syndicatable_yn_tab(i));
9891 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_salestype_yn_tab('||i||')=' || l_salestype_yn_tab(i));
9892 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_refinanced_tab('||i||')=' || l_date_refinanced_tab(i));
9893 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_conversion_effectiv_tab('||i||')=' || l_date_conversion_effectiv_tab(i));
9894 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_deal_transferred_tab('||i||')=' || l_date_deal_transferred_tab(i));
9895 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_term_duration_tab('||i||')=' || l_term_duration_tab(i));
9896 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_datetime_proposal_effec_tab('||i||')=' || l_datetime_proposal_effec_tab(i));
9897 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_datetime_proposal_ineff_tab('||i||')=' || l_datetime_proposal_ineff_tab(i));
9898 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_proposal_accepted_tab('||i||')=' || l_date_proposal_accepted_tab(i));
9899 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute_category_tab('||i||')=' || l_attribute_category_tab(i));
9900 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute1_tab('||i||')=' || l_attribute1_tab(i));
9901 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute2_tab('||i||')=' || l_attribute2_tab(i));
9902 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute3_tab('||i||')=' || l_attribute3_tab(i));
9903 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute4_tab('||i||')=' || l_attribute4_tab(i));
9904 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute5_tab('||i||')=' || l_attribute5_tab(i));
9905 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute6_tab('||i||')=' || l_attribute6_tab(i));
9906 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute7_tab('||i||')=' || l_attribute7_tab(i));
9907 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute8_tab('||i||')=' || l_attribute8_tab(i));
9908 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute9_tab('||i||')=' || l_attribute9_tab(i));
9909 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute10_tab('||i||')=' || l_attribute10_tab(i));
9910 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute11_tab('||i||')=' || l_attribute11_tab(i));
9911 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute12_tab('||i||')=' || l_attribute12_tab(i));
9912 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute13_tab('||i||')=' || l_attribute13_tab(i));
9913 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute14_tab('||i||')=' || l_attribute14_tab(i));
9914 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute15_tab('||i||')=' || l_attribute15_tab(i));
9915 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_amd_code_tab('||i||')=' || l_amd_code_tab(i));
9916 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_generate_accrual_yn_tab('||i||')=' || l_generate_accrual_yn_tab(i));
9917 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_generate_ac_override_yn_tab('||i||')=' || l_generate_ac_override_yn_tab(i));
9918 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_credit_act_yn_tab('||i||')=' || l_credit_act_yn_tab(i));
9919 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_converted_account_yn_tab('||i||')=' || l_converted_account_yn_tab(i));
9920 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pre_tax_yield_tab('||i||')=' || l_pre_tax_yield_tab(i));
9921 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_after_tax_yield_tab('||i||')=' || l_after_tax_yield_tab(i));
9922 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_implicit_interest_rate_tab('||i||')=' || l_implicit_interest_rate_tab(i));
9923 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_implicit_non_idc_i_rate_tab('||i||')=' || l_implicit_non_idc_i_rate_tab(i));
9924 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_target_pre_tax_yield_tab('||i||')=' || l_target_pre_tax_yield_tab(i));
9925 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_target_after_tax_yield_tab('||i||')=' || l_target_after_tax_yield_tab(i));
9926 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_target_implicit_in_rate_tab('||i||')=' || l_target_implicit_in_rate_tab(i));
9927 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_target_i_nonidc_intrate_tab('||i||')=' || l_target_i_nonidc_intrate_tab(i));
9928 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_last_interim_i_cal_tab('||i||')=' || l_date_last_interim_i_cal_tab(i));
9929 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_deal_type_tab('||i||')=' || l_deal_type_tab(i));
9930 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pre_tax_irr_tab('||i||')=' || l_pre_tax_irr_tab(i));
9931 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_after_tax_irr_tab('||i||')=' || l_after_tax_irr_tab(i));
9932 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_expected_delivery_date_tab('||i||')=' || l_expected_delivery_date_tab(i));
9933 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_accepted_date_tab('||i||')=' || l_accepted_date_tab(i));
9934 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_prefunding_eligible_yn_tab('||i||')=' || l_prefunding_eligible_yn_tab(i));
9935 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_revolving_credit_yn_tab('||i||')=' || l_revolving_credit_yn_tab(i));
9936 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_currency_conversion_type_tab('||i||')=' || l_currency_conversion_type_tab(i));
9937 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_currency_conversion_rate_tab('||i||')=' || l_currency_conversion_rate_tab(i));
9938 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_currency_conversion_date_tab('||i||')=' || l_currency_conversion_date_tab(i));
9939 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_multi_gaap_yn_tab('||i||')=' || l_multi_gaap_yn_tab(i));
9940 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_recourse_code_tab('||i||')=' || l_recourse_code_tab(i));
9941 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_lessor_serv_org_code_tab('||i||')=' || l_lessor_serv_org_code_tab(i));
9942 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_assignable_yn_tab('||i||')=' || l_assignable_yn_tab(i));
9943 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_securitized_code_tab('||i||')=' || l_securitized_code_tab(i));
9944 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_securitization_type_tab('||i||')=' || l_securitization_type_tab(i));
9945 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_pre_tax_yield_tab('||i||')=' || l_sub_pre_tax_yield_tab(i));
9946 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_after_tax_yield_tab('||i||')=' || l_sub_after_tax_yield_tab(i));
9947 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_impl_interest_rate_tab('||i||')=' || l_sub_impl_interest_rate_tab(i));
9948 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_impl_non_idc_int_ra_tab('||i||')=' || l_sub_impl_non_idc_int_ra_tab(i));
9949 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_pre_tax_irr_tab('||i||')=' || l_sub_pre_tax_irr_tab(i));
9950 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_after_tax_irr_tab('||i||')=' || l_sub_after_tax_irr_tab(i));
9951 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tot_cl_transfer_amt_tab('||i||')=' || l_tot_cl_transfer_amt_tab(i));
9952 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tot_cl_net_transfer_amt_tab('||i||')=' || l_tot_cl_net_transfer_amt_tab(i));
9953 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tot_cl_limit_tab('||i||')=' || l_tot_cl_limit_tab(i));
9954 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tot_cl_funding_amt_tab('||i||')=' || l_tot_cl_funding_amt_tab(i));
9955 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_crs_id_tab('||i||')=' || l_crs_id_tab(i));
9956 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_template_type_code_tab('||i||')=' || l_template_type_code_tab(i));
9957 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tradein_description_tab('||i||')=' || l_tradein_description_tab(i));
9958 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_funding_expected_tab('||i||')=' || l_date_funding_expected_tab(i));
9959 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tradein_amount_tab('||i||')=' || l_tradein_amount_tab(i));
9960 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_tradein_tab('||i||')=' || l_date_tradein_tab(i));
9961 END IF;
9962 END LOOP;
9963 END IF;
9964
9965
9966 RAISE OKC_API.G_EXCEPTION_ERROR;
9967
9968 END; /* insert_okl_k_headers */
9969
9970 PROCEDURE insert_okl_slctd_optns(p_old_id IN okc_k_headers_tl.id%TYPE,
9971 p_new_id IN okc_k_headers_tl.id%TYPE) IS
9972 CURSOR c24(p_id NUMBER) IS
9973 SELECT
9974 id, pov_id, khr_id,
9975 object_version_number, attribute_category, attribute1,
9976 attribute2, attribute3, attribute4,
9977 attribute5, attribute6, attribute7,
9978 attribute8, attribute9, attribute10,
9979 attribute11, attribute12, attribute13,
9980 attribute14, attribute15, created_by,
9981 creation_date, last_updated_by, last_update_date,
9982 last_update_login
9983 FROM okl_slctd_optns
9984 WHERE khr_id = p_id;
9985
9986 l_sid_tab2 l_sid_type;
9987 l_spov_id_tab2 l_spov_id_type;
9988 l_skhr_id_tab2 l_skhr_id_type;
9989 l_sobject_version_number_tab2 l_sobject_version_number_type;
9990 l_sattribute_category_tab2 l_sattribute_category_type;
9991 l_sattribute1_tab2 l_sattribute1_type;
9992 l_sattribute2_tab2 l_sattribute2_type;
9993 l_sattribute3_tab2 l_sattribute3_type;
9994 l_sattribute4_tab2 l_sattribute4_type;
9995 l_sattribute5_tab2 l_sattribute5_type;
9996 l_sattribute6_tab2 l_sattribute6_type;
9997 l_sattribute7_tab2 l_sattribute7_type;
9998 l_sattribute8_tab2 l_sattribute8_type;
9999 l_sattribute9_tab2 l_sattribute9_type;
10000 l_sattribute10_tab2 l_sattribute10_type;
10001 l_sattribute11_tab2 l_sattribute11_type;
10002 l_sattribute12_tab2 l_sattribute12_type;
10003 l_sattribute13_tab2 l_sattribute13_type;
10004 l_sattribute14_tab2 l_sattribute14_type;
10005 l_sattribute15_tab2 l_sattribute15_type;
10006 l_screated_by_tab2 l_screated_by_type;
10007 l_screation_date_tab2 l_screation_date_type;
10008 l_slast_updated_by_tab2 l_slast_updated_by_type;
10009 l_slast_update_date_tab2 l_slast_update_date_type;
10010 l_slast_update_login_tab2 l_slast_update_login_type;
10011
10012 l_quote_chr_id NUMBER;
10013 l_return_status VARCHAR2(30);
10014
10015 BEGIN
10016 IF (G_DEBUG_ENABLED = 'Y') THEN
10017 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
10018 END IF;
10019 OPEN c24(p_old_id);
10020 LOOP
10021 FETCH c24 bulk collect INTO
10022 l_sid_tab2, l_spov_id_tab2, l_skhr_id_tab2,
10023 l_sobject_version_number_tab2, l_sattribute_category_tab2, l_sattribute1_tab2,
10024 l_sattribute2_tab2, l_sattribute3_tab2, l_sattribute4_tab2,
10025 l_sattribute5_tab2, l_sattribute6_tab2, l_sattribute7_tab2,
10026 l_sattribute8_tab2, l_sattribute9_tab2, l_sattribute10_tab2,
10027 l_sattribute11_tab2, l_sattribute12_tab2, l_sattribute13_tab2,
10028 l_sattribute14_tab2, l_sattribute15_tab2, l_screated_by_tab2,
10029 l_screation_date_tab2, l_slast_updated_by_tab2, l_slast_update_date_tab2,
10030 l_slast_update_login_tab2
10031 limit G_BULK_SIZE;
10032 EXIT WHEN l_sid_tab2.COUNT = 0;
10033 FOR i IN l_sid_tab2.first..l_sid_tab2.last
10034 LOOP
10035 l_sid_tab(l_slctd_optns_counter) := l_sid_tab2(i);
10036 -- Change id
10037 l_sid_tab(l_slctd_optns_counter) := okc_p_util.raw_to_number(sys_guid());
10038
10039 l_spov_id_tab(l_slctd_optns_counter) := l_spov_id_tab2(i);
10040 l_skhr_id_tab(l_slctd_optns_counter) := l_skhr_id_tab2(i);
10041 -- Change khr_id
10042 l_skhr_id_tab(l_slctd_optns_counter) := p_new_id;
10043
10044 l_sobject_version_number_tab(l_slctd_optns_counter) := l_sobject_version_number_tab2(i);
10045 l_sattribute_category_tab(l_slctd_optns_counter) := l_sattribute_category_tab2(i);
10046 l_sattribute1_tab(l_slctd_optns_counter) := l_sattribute1_tab2(i);
10047 l_sattribute2_tab(l_slctd_optns_counter) := l_sattribute2_tab2(i);
10048 l_sattribute3_tab(l_slctd_optns_counter) := l_sattribute3_tab2(i);
10049 l_sattribute4_tab(l_slctd_optns_counter) := l_sattribute4_tab2(i);
10050 l_sattribute5_tab(l_slctd_optns_counter) := l_sattribute5_tab2(i);
10051 l_sattribute6_tab(l_slctd_optns_counter) := l_sattribute6_tab2(i);
10052 l_sattribute7_tab(l_slctd_optns_counter) := l_sattribute7_tab2(i);
10053 l_sattribute8_tab(l_slctd_optns_counter) := l_sattribute8_tab2(i);
10054 l_sattribute9_tab(l_slctd_optns_counter) := l_sattribute9_tab2(i);
10055 l_sattribute10_tab(l_slctd_optns_counter) := l_sattribute10_tab2(i);
10056 l_sattribute11_tab(l_slctd_optns_counter) := l_sattribute11_tab2(i);
10057 l_sattribute12_tab(l_slctd_optns_counter) := l_sattribute12_tab2(i);
10058 l_sattribute13_tab(l_slctd_optns_counter) := l_sattribute13_tab2(i);
10059 l_sattribute14_tab(l_slctd_optns_counter) := l_sattribute14_tab2(i);
10060 l_sattribute15_tab(l_slctd_optns_counter) := l_sattribute15_tab2(i);
10061 l_screated_by_tab(l_slctd_optns_counter) := l_screated_by_tab2(i);
10062 l_screation_date_tab(l_slctd_optns_counter) := l_screation_date_tab2(i);
10063 l_slast_updated_by_tab(l_slctd_optns_counter) := l_slast_updated_by_tab2(i);
10064 l_slast_update_date_tab(l_slctd_optns_counter) := l_slast_update_date_tab2(i);
10065 l_slast_update_login_tab(l_slctd_optns_counter) := l_slast_update_login_tab2(i);
10066
10067 l_slctd_optns_counter := l_slctd_optns_counter + 1;
10068
10069 END LOOP;
10070 END LOOP;
10071 CLOSE c24;
10072
10073 IF (l_slctd_optns_counter > 1) THEN
10074 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10075 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_slctd_optns_counter=' || l_slctd_optns_counter || ' l_sid_tab.count=' || l_sid_tab.COUNT);
10076 END IF;
10077 forall i IN l_sid_tab.first..l_sid_tab.last
10078 INSERT INTO okl_slctd_optns (
10079 id, pov_id, khr_id,
10080 object_version_number, attribute_category, attribute1,
10081 attribute2, attribute3, attribute4,
10082 attribute5, attribute6, attribute7,
10083 attribute8, attribute9, attribute10,
10084 attribute11, attribute12, attribute13,
10085 attribute14, attribute15, created_by,
10086 creation_date, last_updated_by, last_update_date,
10087 last_update_login
10088 ) VALUES (
10089 l_sid_tab(i), l_spov_id_tab(i), l_skhr_id_tab(i),
10090 l_sobject_version_number_tab(i), l_sattribute_category_tab(i), l_sattribute1_tab(i),
10091 l_sattribute2_tab(i), l_sattribute3_tab(i), l_sattribute4_tab(i),
10092 l_sattribute5_tab(i), l_sattribute6_tab(i), l_sattribute7_tab(i),
10093 l_sattribute8_tab(i), l_sattribute9_tab(i), l_sattribute10_tab(i),
10094 l_sattribute11_tab(i), l_sattribute12_tab(i), l_sattribute13_tab(i),
10095 l_sattribute14_tab(i), l_sattribute15_tab(i), l_created_by,
10096 SYSDATE, l_last_updated_by, SYSDATE,
10097 l_last_update_login
10098 );
10099 --Bug# 5591688 - commenting as package has been stubbed in R12
10100 /*
10101 okl_quote_plans_pvt.modify_quote_structure(
10102 p_api_version => p_api_version,
10103 p_init_msg_list => p_init_msg_list,
10104 p_transaction_control => OKL_API.G_FALSE,
10105 p_chr_id => p_new_id,
10106 p_modify_reason_code => 'COPY_QUOTE',
10107 x_chr_id => l_quote_chr_id,
10108 x_return_status => l_return_status,
10109 x_msg_count => x_msg_count,
10110 x_msg_data => x_msg_data
10111 );
10112 IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
10113 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10114 ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
10115 RAISE OKL_API.G_EXCEPTION_ERROR;
10116 END IF;
10117 */
10118
10119 END IF;
10120 EXCEPTION WHEN OTHERS THEN
10121
10122 x_return_status := OKL_API.G_RET_STS_ERROR;
10123 /*OKL_API.set_message(p_app_name => 'OKL',
10124 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
10125 p_token1 => 'ASSET_NUMBER',
10126 p_token1_value => 'insert_okl_slctd_optns');*/
10127 /* DEBUG */
10128 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10129 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
10130 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_slctd_optns:l_sid_tab=' || l_sid_tab.COUNT || ' ...');
10131 END IF;
10132 IF (l_sid_tab.COUNT > 0) THEN
10133 FOR i IN l_sid_tab.first..l_sid_tab.last
10134 LOOP
10135 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10136 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sid_tab('||i||')=' || l_sid_tab(i));
10137 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_spov_id_tab('||i||')=' || l_spov_id_tab(i));
10138 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_skhr_id_tab('||i||')=' || l_skhr_id_tab(i));
10139 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sobject_version_number_tab('||i||')=' || l_sobject_version_number_tab(i));
10140 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute_category_tab('||i||')=' || l_sattribute_category_tab(i));
10141 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute1_tab('||i||')=' || l_sattribute1_tab(i));
10142 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute2_tab('||i||')=' || l_sattribute2_tab(i));
10143 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute3_tab('||i||')=' || l_sattribute3_tab(i));
10144 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute4_tab('||i||')=' || l_sattribute4_tab(i));
10145 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute5_tab('||i||')=' || l_sattribute5_tab(i));
10146 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute6_tab('||i||')=' || l_sattribute6_tab(i));
10147 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute7_tab('||i||')=' || l_sattribute7_tab(i));
10148 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute8_tab('||i||')=' || l_sattribute8_tab(i));
10149 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute9_tab('||i||')=' || l_sattribute9_tab(i));
10150 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute10_tab('||i||')=' || l_sattribute10_tab(i));
10151 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute11_tab('||i||')=' || l_sattribute11_tab(i));
10152 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute12_tab('||i||')=' || l_sattribute12_tab(i));
10153 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute13_tab('||i||')=' || l_sattribute13_tab(i));
10154 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute14_tab('||i||')=' || l_sattribute14_tab(i));
10155 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute15_tab('||i||')=' || l_sattribute15_tab(i));
10156 END IF;
10157 END LOOP;
10158 END IF;
10159
10160 RAISE OKC_API.G_EXCEPTION_ERROR;
10161
10162 END; /* insert_okl_slctd_optns */
10163
10164 FUNCTION find_osid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
10165 hi NUMBER;
10166 lo NUMBER;
10167 m NUMBER;
10168 BEGIN
10169 lo := 1;
10170 hi := l_okl_k_lines_counter - 1;
10171 WHILE (lo <= hi) LOOP
10172 m := FLOOR((hi + lo)/2);
10173 IF (l_osid_mapping_tab(m).id = p_id) THEN
10174 RETURN l_osid_mapping_tab(m).subsidy_id;
10175 ELSIF (l_osid_mapping_tab(m).id > p_id) THEN
10176 hi := m - 1;
10177 ELSE
10178 lo := m + 1;
10179 END IF;
10180 END LOOP;
10181 RETURN -1;
10182 END; /* find_osid_mapping_id */
10183
10184 PROCEDURE sort_osid_mapping_tab IS
10185 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
10186 --a numtabtype;
10187 l_stack numtabtype;
10188 l_stack_index NUMBER := 0;
10189 N NUMBER;
10190 R NUMBER;
10191 L NUMBER;
10192 P NUMBER;
10193 W NUMBER;
10194 W2 NUMBER;
10195 X NUMBER;
10196 I NUMBER;
10197 J NUMBER;
10198 BEGIN
10199 IF (G_DEBUG_ENABLED = 'Y') THEN
10200 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
10201 END IF;
10202 NULL;
10203
10204 N := l_okl_k_lines_counter - 1;
10205 IF (N < 2) THEN
10206 RETURN;
10207 END IF;
10208 l_stack_index := l_stack_index + 1;
10209 l_stack(l_stack_index) := 1;
10210 l_stack_index := l_stack_index + 1;
10211 l_stack(l_stack_index) := N;
10212
10213 --dbms_output.put_line('l_stack_index=' || l_stack_index);
10214 WHILE l_stack_index > 0
10215 LOOP
10216 R := l_stack(l_stack_index);
10217 l_stack_index := l_stack_index - 1;
10218 L := l_stack(l_stack_index);
10219 l_stack_index := l_stack_index - 1;
10220 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
10221 WHILE 1=1
10222 LOOP -- loop until L >= R
10223 I := L;
10224 J := R;
10225 P := FLOOR((L+R)/2);
10226 --if (a(L) > a(P)) then
10227 IF (l_osid_mapping_tab(L).id > l_osid_mapping_tab(P).id)
10228 THEN
10229 W := l_osid_mapping_tab(L).id;
10230 W2 := l_osid_mapping_tab(L).subsidy_id;
10231 l_osid_mapping_tab(L).id :=l_osid_mapping_tab(P).id;
10232 l_osid_mapping_tab(L).subsidy_id :=l_osid_mapping_tab(P).subsidy_id;
10233 l_osid_mapping_tab(P).id := W;
10234 l_osid_mapping_tab(P).subsidy_id := W2;
10235 END IF;
10236 --if (a(L) > a(R)) then
10237 IF (l_osid_mapping_tab(L).id > l_osid_mapping_tab(R).id)
10238 THEN
10239 W := l_osid_mapping_tab(L).id;
10240 W2 := l_osid_mapping_tab(L).subsidy_id;
10241 l_osid_mapping_tab(L).id :=l_osid_mapping_tab(R).id;
10242 l_osid_mapping_tab(L).subsidy_id :=l_osid_mapping_tab(R).subsidy_id;
10243 l_osid_mapping_tab(R).id := W;
10244 l_osid_mapping_tab(R).subsidy_id := W2;
10245 END IF;
10246 --if (a(P) > a(R)) then
10247 IF (l_osid_mapping_tab(P).id > l_osid_mapping_tab(R).id)
10248 THEN
10249 W := l_osid_mapping_tab(P).id;
10250 W2 := l_osid_mapping_tab(P).subsidy_id;
10251 l_osid_mapping_tab(P).id :=l_osid_mapping_tab(R).id;
10252 l_osid_mapping_tab(P).subsidy_id :=l_osid_mapping_tab(R).subsidy_id;
10253 l_osid_mapping_tab(R).id := W;
10254 l_osid_mapping_tab(R).subsidy_id := W2;
10255 END IF;
10256 --X := a(P);
10257 X := l_osid_mapping_tab(P).id;
10258 WHILE 1=1
10259 LOOP -- until I > J
10260 --while (a(I) < X) loop
10261 WHILE (l_osid_mapping_tab(I).id < X) LOOP
10262 I := I + 1;
10263 END LOOP;
10264 WHILE (X < l_osid_mapping_tab(J).id) LOOP
10265 J := J - 1;
10266 END LOOP;
10267 IF (I <= J) THEN
10268 W := l_osid_mapping_tab(I).id;
10269 W2 := l_osid_mapping_tab(I).subsidy_id;
10270 l_osid_mapping_tab(I).id :=l_osid_mapping_tab(J).id;
10271 l_osid_mapping_tab(I).subsidy_id :=l_osid_mapping_tab(J).subsidy_id;
10272 l_osid_mapping_tab(J).id := W;
10273 l_osid_mapping_tab(J).subsidy_id := W2;
10274 I := I + 1;
10275 J := J - 1;
10276 END IF;
10277 EXIT WHEN I > J;
10278 END LOOP;
10279 IF (J - L < R - I) THEN
10280 IF (I < R) THEN
10281 --push(I); push(R);
10282 l_stack_index := l_stack_index + 1;
10283 l_stack(l_stack_index) := I;
10284 l_stack_index := l_stack_index + 1;
10285 l_stack(l_stack_index) := R;
10286 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
10287 END IF;
10288 R := J;
10289 ELSE
10290 IF (L < J) THEN
10291 --push(L); push(J);
10292 l_stack_index := l_stack_index + 1;
10293 l_stack(l_stack_index) := L;
10294 l_stack_index := l_stack_index + 1;
10295 l_stack(l_stack_index) := J;
10296 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
10297 END IF;
10298 L := I;
10299 END IF;
10300
10301 EXIT WHEN (L >= R);
10302 END LOOP;
10303 END LOOP;
10304
10305 EXCEPTION WHEN OTHERS THEN
10306
10307 x_return_status := OKL_API.G_RET_STS_ERROR;
10308 /*OKL_API.set_message(p_app_name => 'OKL',
10309 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
10310 p_token1 => 'ASSET_NUMBER',
10311 p_token1_value => 'sort_osid_mapping_tab');*/
10312 /* DEBUG */
10313 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10314 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
10315 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_osid_mapping_tab:l_osid_mapping_tab N=' || N || ' ...');
10316 END IF;
10317
10318 --print array
10319 FOR i IN 1..N
10320 LOOP
10321 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10322 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osid_mapping_tab('||i||')=' || l_osid_mapping_tab(i).id || ':' || l_osid_mapping_tab(i).subsidy_id);
10323 END IF;
10324 END LOOP;
10325
10326 RAISE OKC_API.G_EXCEPTION_ERROR;
10327
10328 END; /* sort_osid_mapping_tab */
10329
10330 FUNCTION find_okl_k_lines_rec(p_id IN NUMBER) RETURN l_okl_k_lines_rec_type IS
10331 hi NUMBER;
10332 lo NUMBER;
10333 m NUMBER;
10334 l_tmp_rec l_okl_k_lines_rec_type;
10335 BEGIN
10336 lo := 1;
10337 hi := l_okl_k_lines_rec_counter - 1;
10338 WHILE (lo <= hi) LOOP
10339 m := FLOOR((hi + lo)/2);
10340 IF (l_okl_k_lines_rec(m).id = p_id) THEN
10341 RETURN l_okl_k_lines_rec(m);
10342 ELSIF (l_okl_k_lines_rec(m).id > p_id) THEN
10343 hi := m - 1;
10344 ELSE
10345 lo := m + 1;
10346 END IF;
10347 END LOOP;
10348 RETURN l_tmp_rec;
10349 END; /* find_okl_k_lines_rec */
10350
10351 PROCEDURE sort_okl_k_lines_rec IS
10352 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
10353 --a numtabtype;
10354 l_stack numtabtype;
10355 l_stack_index NUMBER := 0;
10356 N NUMBER;
10357 R NUMBER;
10358 L NUMBER;
10359 P NUMBER;
10360 W NUMBER;
10361 W2 NUMBER;
10362 W3 NUMBER;
10363 W4 okc_k_lines_tl.item_description%TYPE;
10364 X NUMBER;
10365 I NUMBER;
10366 J NUMBER;
10367 BEGIN
10368 IF (G_DEBUG_ENABLED = 'Y') THEN
10369 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
10370 END IF;
10371 NULL;
10372
10373 N := l_okl_k_lines_rec_counter - 1;
10374 IF (N < 2) THEN
10375 RETURN;
10376 END IF;
10377 l_stack_index := l_stack_index + 1;
10378 l_stack(l_stack_index) := 1;
10379 l_stack_index := l_stack_index + 1;
10380 l_stack(l_stack_index) := N;
10381
10382 --dbms_output.put_line('l_stack_index=' || l_stack_index);
10383 WHILE l_stack_index > 0
10384 LOOP
10385 R := l_stack(l_stack_index);
10386 l_stack_index := l_stack_index - 1;
10387 L := l_stack(l_stack_index);
10388 l_stack_index := l_stack_index - 1;
10389 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
10390 WHILE 1=1
10391 LOOP -- loop until L >= R
10392 I := L;
10393 J := R;
10394 P := FLOOR((L+R)/2);
10395 --if (a(L) > a(P)) then
10396 IF (l_okl_k_lines_rec(L).id > l_okl_k_lines_rec(P).id)
10397 THEN
10398 W := l_okl_k_lines_rec(L).id;
10399 W2 := l_okl_k_lines_rec(L).oec;
10400 W3 := l_okl_k_lines_rec(L).year_built;
10401 W4 := l_okl_k_lines_rec(L).item_description;
10402 l_okl_k_lines_rec(L).id :=l_okl_k_lines_rec(P).id;
10403 l_okl_k_lines_rec(L).oec :=l_okl_k_lines_rec(P).oec;
10404 l_okl_k_lines_rec(L).year_built :=l_okl_k_lines_rec(P).year_built;
10405 l_okl_k_lines_rec(L).item_description :=l_okl_k_lines_rec(P).item_description;
10406 l_okl_k_lines_rec(P).id := W;
10407 l_okl_k_lines_rec(P).oec := W2;
10408 l_okl_k_lines_rec(P).year_built := W3;
10409 l_okl_k_lines_rec(P).item_description := W4;
10410 END IF;
10411 --if (a(L) > a(R)) then
10412 IF (l_okl_k_lines_rec(L).id > l_okl_k_lines_rec(R).id)
10413 THEN
10414 W := l_okl_k_lines_rec(L).id;
10415 W2 := l_okl_k_lines_rec(L).oec;
10416 W3 := l_okl_k_lines_rec(L).year_built;
10417 W4 := l_okl_k_lines_rec(L).item_description;
10418 l_okl_k_lines_rec(L).id :=l_okl_k_lines_rec(R).id;
10419 l_okl_k_lines_rec(L).oec :=l_okl_k_lines_rec(R).oec;
10420 l_okl_k_lines_rec(L).year_built :=l_okl_k_lines_rec(R).year_built;
10421 l_okl_k_lines_rec(L).item_description :=l_okl_k_lines_rec(R).item_description;
10422 l_okl_k_lines_rec(R).id := W;
10423 l_okl_k_lines_rec(R).oec := W2;
10424 l_okl_k_lines_rec(R).year_built := W3;
10425 l_okl_k_lines_rec(R).item_description := W4;
10426 END IF;
10427 --if (a(P) > a(R)) then
10428 IF (l_okl_k_lines_rec(P).id > l_okl_k_lines_rec(R).id)
10429 THEN
10430 W := l_okl_k_lines_rec(P).id;
10431 W2 := l_okl_k_lines_rec(P).oec;
10432 W3 := l_okl_k_lines_rec(P).year_built;
10433 W4 := l_okl_k_lines_rec(P).item_description;
10434 l_okl_k_lines_rec(P).id :=l_okl_k_lines_rec(R).id;
10435 l_okl_k_lines_rec(P).oec :=l_okl_k_lines_rec(R).oec;
10436 l_okl_k_lines_rec(P).year_built :=l_okl_k_lines_rec(R).year_built;
10437 l_okl_k_lines_rec(P).item_description :=l_okl_k_lines_rec(R).item_description;
10438 l_okl_k_lines_rec(R).id := W;
10439 l_okl_k_lines_rec(R).oec := W2;
10440 l_okl_k_lines_rec(R).year_built := W3;
10441 l_okl_k_lines_rec(R).item_description := W4;
10442 END IF;
10443 --X := a(P);
10444 X := l_okl_k_lines_rec(P).id;
10445 WHILE 1=1
10446 LOOP -- until I > J
10447 --while (a(I) < X) loop
10448 WHILE (l_okl_k_lines_rec(I).id < X) LOOP
10449 I := I + 1;
10450 END LOOP;
10451 WHILE (X < l_okl_k_lines_rec(J).id) LOOP
10452 J := J - 1;
10453 END LOOP;
10454 IF (I <= J) THEN
10455 W := l_okl_k_lines_rec(I).id;
10456 W2 := l_okl_k_lines_rec(I).oec;
10457 W3 := l_okl_k_lines_rec(I).year_built;
10458 W4 := l_okl_k_lines_rec(I).item_description;
10459 l_okl_k_lines_rec(I).id :=l_okl_k_lines_rec(J).id;
10460 l_okl_k_lines_rec(I).oec :=l_okl_k_lines_rec(J).oec;
10461 l_okl_k_lines_rec(I).year_built :=l_okl_k_lines_rec(J).year_built;
10462 l_okl_k_lines_rec(I).item_description :=l_okl_k_lines_rec(J).item_description;
10463 l_okl_k_lines_rec(J).id := W;
10464 l_okl_k_lines_rec(J).oec := W2;
10465 l_okl_k_lines_rec(J).year_built := W3;
10466 l_okl_k_lines_rec(J).item_description := W4;
10467 I := I + 1;
10468 J := J - 1;
10469 END IF;
10470 EXIT WHEN I > J;
10471 END LOOP;
10472 IF (J - L < R - I) THEN
10473 IF (I < R) THEN
10474 --push(I); push(R);
10475 l_stack_index := l_stack_index + 1;
10476 l_stack(l_stack_index) := I;
10477 l_stack_index := l_stack_index + 1;
10478 l_stack(l_stack_index) := R;
10479 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
10480 END IF;
10481 R := J;
10482 ELSE
10483 IF (L < J) THEN
10484 --push(L); push(J);
10485 l_stack_index := l_stack_index + 1;
10486 l_stack(l_stack_index) := L;
10487 l_stack_index := l_stack_index + 1;
10488 l_stack(l_stack_index) := J;
10489 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
10490 END IF;
10491 L := I;
10492 END IF;
10493
10494 EXIT WHEN (L >= R);
10495 END LOOP;
10496 END LOOP;
10497
10498 EXCEPTION WHEN OTHERS THEN
10499
10500 x_return_status := OKL_API.G_RET_STS_ERROR;
10501 /*OKL_API.set_message(p_app_name => 'OKL',
10502 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
10503 p_token1 => 'ASSET_NUMBER',
10504 p_token1_value => 'sort_okl_k_lines_rec');*/
10505 /* DEBUG */
10506 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10507 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
10508 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_okl_k_lines_rec:l_okl_k_lines_rec N=' || N || ' ...');
10509 END IF;
10510
10511 --print array
10512 FOR i IN 1..N
10513 LOOP
10514 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10515 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_okl_k_lines_rec('||i||')=' || l_okl_k_lines_rec(i).id || ':' || l_okl_k_lines_rec(i).oec || ':' || l_okl_k_lines_rec(i).year_built || ':' || l_okl_k_lines_rec(i).item_description );
10516 END IF;
10517 END LOOP;
10518
10519 RAISE OKC_API.G_EXCEPTION_ERROR;
10520
10521 END; /* sort_okl_k_lines_rec */
10522
10523
10524 PROCEDURE insert_okl_k_lines IS
10525 CURSOR c8(p_id NUMBER) IS
10526 SELECT
10527 a.id, a.kle_id, a.sty_id,
10528 a.object_version_number, a.lao_amount, a.fee_charge,
10529 a.title_date, a.date_residual_last_review, a.date_last_reamortisation,
10530 a.termination_purchase_amount, a.date_last_cleanup, a.remarketed_amount,
10531 a.date_remarketed, a.remarket_margin, a.repurchased_amount,
10532 a.date_repurchased, a.gain_loss, a.floor_amount,
10533 a.previous_contract, a.tracked_residual, a.date_title_received,
10534 a.estimated_oec, a.residual_percentage, a.capital_reduction,
10535 a.vendor_advance_paid, a.tradein_amount, a.delivered_date,
10536 a.year_of_manufacture, a.initial_direct_cost, a.occupancy,
10537 a.date_last_inspection, a.date_next_inspection_due, a.weighted_average_life,
10538 a.bond_equivalent_yield, a.refinance_amount, a.year_built,
10539 a.coverage_ratio, a.gross_square_footage, a.net_rentable,
10540 a.date_letter_acceptance, a.date_commitment_expiration, a.date_appraisal,
10541 a.appraisal_value, a.residual_value, a.percent,
10542 a.coverage, a.lrv_amount, a.amount,
10543 a.lrs_percent, a.evergreen_percent, a.percent_stake,
10544 a.amount_stake, a.date_sold, a.sty_id_for,
10545 a.attribute_category, a.attribute1, a.attribute2,
10546 a.attribute3, a.attribute4, a.attribute5,
10547 a.attribute6, a.attribute7, a.attribute8,
10548 a.attribute9, a.attribute10, a.attribute11,
10549 a.attribute12, a.attribute13, a.attribute14,
10550 a.attribute15, a.created_by, a.creation_date,
10551 a.last_updated_by, a.last_update_date, a.last_update_login,
10552 a.nty_code, a.fcg_code, a.prc_code,
10553 a.re_lease_yn, a.prescribed_asset_yn, a.credit_tenant_yn,
10554 a.secured_deal_yn, a.clg_id, a.date_funding,
10555 a.date_funding_required, a.date_accepted, a.date_delivery_expected,
10556 a.oec, a.capital_amount, a.residual_grnty_amount,
10557 a.residual_code, a.rvi_premium, a.credit_nature,
10558 a.capitalized_interest, a.capital_reduction_percent, a.date_pay_investor_start,
10559 a.pay_investor_frequency, a.pay_investor_event, a.pay_investor_remittance_days,
10560 a.fee_type, a.subsidy_id, a.subsidy_override_amount,
10561 a.pre_tax_yield, a.after_tax_yield, a.implicit_interest_rate,
10562 a.implicit_non_idc_interest_rate, a.pre_tax_irr, a.after_tax_irr,
10563 a.sub_pre_tax_yield, a.sub_after_tax_yield, a.sub_impl_interest_rate,
10564 a.sub_impl_non_idc_int_rate, a.sub_pre_tax_irr, a.sub_after_tax_irr,
10565 a.item_insurance_category, a.qte_id, a.funding_date,
10566 a.stream_type_subclass, b.lse_id, c.item_description,
10567 a.fee_purpose_code, a.date_funding_expected, a.manufacturer_name,
10568 a.model_number, a.down_payment_receiver_code, a.capitalize_down_payment_yn,
10569 a.ORIG_CONTRACT_LINE_ID --sechawla 17-Jul-09 PRB ESG enhancements : added this column
10570 ,a.origination_income -- Bug 12938353 : RGOOTY: End
10571 FROM okl_k_lines a,
10572 okc_k_lines_b b,
10573 okc_k_lines_tl c
10574 WHERE b.id = a.id
10575 AND b.dnz_chr_id = p_id
10576 AND b.id = c.id
10577 AND c.LANGUAGE = USERENV('LANG');
10578
10579 TYPE l_id_type IS TABLE OF okl_k_lines.id%TYPE INDEX BY BINARY_INTEGER;
10580 TYPE l_kle_id_type IS TABLE OF okl_k_lines.kle_id%TYPE INDEX BY BINARY_INTEGER;
10581 TYPE l_sty_id_type IS TABLE OF okl_k_lines.sty_id%TYPE INDEX BY BINARY_INTEGER;
10582 TYPE l_object_version_number_type IS TABLE OF okl_k_lines.object_version_number%TYPE INDEX BY BINARY_INTEGER;
10583 TYPE l_lao_amount_type IS TABLE OF okl_k_lines.lao_amount%TYPE INDEX BY BINARY_INTEGER;
10584 TYPE l_fee_charge_type IS TABLE OF okl_k_lines.fee_charge%TYPE INDEX BY BINARY_INTEGER;
10585 TYPE l_title_date_type IS TABLE OF okl_k_lines.title_date%TYPE INDEX BY BINARY_INTEGER;
10586 TYPE l_date_residual_last_revi_type IS TABLE OF okl_k_lines.date_residual_last_review%TYPE INDEX BY BINARY_INTEGER;
10587 TYPE l_date_last_reamortisatio_type IS TABLE OF okl_k_lines.date_last_reamortisation%TYPE INDEX BY BINARY_INTEGER;
10588 TYPE l_termination_purchase_am_type IS TABLE OF okl_k_lines.termination_purchase_amount%TYPE INDEX BY BINARY_INTEGER;
10589 TYPE l_date_last_cleanup_type IS TABLE OF okl_k_lines.date_last_cleanup%TYPE INDEX BY BINARY_INTEGER;
10590 TYPE l_remarketed_amount_type IS TABLE OF okl_k_lines.remarketed_amount%TYPE INDEX BY BINARY_INTEGER;
10591 TYPE l_date_remarketed_type IS TABLE OF okl_k_lines.date_remarketed%TYPE INDEX BY BINARY_INTEGER;
10592 TYPE l_remarket_margin_type IS TABLE OF okl_k_lines.remarket_margin%TYPE INDEX BY BINARY_INTEGER;
10593 TYPE l_repurchased_amount_type IS TABLE OF okl_k_lines.repurchased_amount%TYPE INDEX BY BINARY_INTEGER;
10594 TYPE l_date_repurchased_type IS TABLE OF okl_k_lines.date_repurchased%TYPE INDEX BY BINARY_INTEGER;
10595 TYPE l_gain_loss_type IS TABLE OF okl_k_lines.gain_loss%TYPE INDEX BY BINARY_INTEGER;
10596 TYPE l_floor_amount_type IS TABLE OF okl_k_lines.floor_amount%TYPE INDEX BY BINARY_INTEGER;
10597 TYPE l_previous_contract_type IS TABLE OF okl_k_lines.previous_contract%TYPE INDEX BY BINARY_INTEGER;
10598 TYPE l_tracked_residual_type IS TABLE OF okl_k_lines.tracked_residual%TYPE INDEX BY BINARY_INTEGER;
10599 TYPE l_date_title_received_type IS TABLE OF okl_k_lines.date_title_received%TYPE INDEX BY BINARY_INTEGER;
10600 TYPE l_estimated_oec_type IS TABLE OF okl_k_lines.estimated_oec%TYPE INDEX BY BINARY_INTEGER;
10601 TYPE l_residual_percentage_type IS TABLE OF okl_k_lines.residual_percentage%TYPE INDEX BY BINARY_INTEGER;
10602 TYPE l_capital_reduction_type IS TABLE OF okl_k_lines.capital_reduction%TYPE INDEX BY BINARY_INTEGER;
10603 TYPE l_vendor_advance_paid_type IS TABLE OF okl_k_lines.vendor_advance_paid%TYPE INDEX BY BINARY_INTEGER;
10604 TYPE l_tradein_amount_type IS TABLE OF okl_k_lines.tradein_amount%TYPE INDEX BY BINARY_INTEGER;
10605 TYPE l_delivered_date_type IS TABLE OF okl_k_lines.delivered_date%TYPE INDEX BY BINARY_INTEGER;
10606 TYPE l_year_of_manufacture_type IS TABLE OF okl_k_lines.year_of_manufacture%TYPE INDEX BY BINARY_INTEGER;
10607 TYPE l_initial_direct_cost_type IS TABLE OF okl_k_lines.initial_direct_cost%TYPE INDEX BY BINARY_INTEGER;
10608 TYPE l_occupancy_type IS TABLE OF okl_k_lines.occupancy%TYPE INDEX BY BINARY_INTEGER;
10609 TYPE l_date_last_inspection_type IS TABLE OF okl_k_lines.date_last_inspection%TYPE INDEX BY BINARY_INTEGER;
10610 TYPE l_date_next_inspection_du_type IS TABLE OF okl_k_lines.date_next_inspection_due%TYPE INDEX BY BINARY_INTEGER;
10611 TYPE l_weighted_average_life_type IS TABLE OF okl_k_lines.weighted_average_life%TYPE INDEX BY BINARY_INTEGER;
10612 TYPE l_bond_equivalent_yield_type IS TABLE OF okl_k_lines.bond_equivalent_yield%TYPE INDEX BY BINARY_INTEGER;
10613 TYPE l_refinance_amount_type IS TABLE OF okl_k_lines.refinance_amount%TYPE INDEX BY BINARY_INTEGER;
10614 TYPE l_year_built_type IS TABLE OF okl_k_lines.year_built%TYPE INDEX BY BINARY_INTEGER;
10615 TYPE l_coverage_ratio_type IS TABLE OF okl_k_lines.coverage_ratio%TYPE INDEX BY BINARY_INTEGER;
10616 TYPE l_gross_square_footage_type IS TABLE OF okl_k_lines.gross_square_footage%TYPE INDEX BY BINARY_INTEGER;
10617 TYPE l_net_rentable_type IS TABLE OF okl_k_lines.net_rentable%TYPE INDEX BY BINARY_INTEGER;
10618 TYPE l_date_letter_acceptance_type IS TABLE OF okl_k_lines.date_letter_acceptance%TYPE INDEX BY BINARY_INTEGER;
10619 TYPE l_date_commitment_expirat_type IS TABLE OF okl_k_lines.date_commitment_expiration%TYPE INDEX BY BINARY_INTEGER;
10620 TYPE l_date_appraisal_type IS TABLE OF okl_k_lines.date_appraisal%TYPE INDEX BY BINARY_INTEGER;
10621 TYPE l_appraisal_value_type IS TABLE OF okl_k_lines.appraisal_value%TYPE INDEX BY BINARY_INTEGER;
10622 TYPE l_residual_value_type IS TABLE OF okl_k_lines.residual_value%TYPE INDEX BY BINARY_INTEGER;
10623 TYPE l_percent_type IS TABLE OF okl_k_lines.percent%TYPE INDEX BY BINARY_INTEGER;
10624 TYPE l_coverage_type IS TABLE OF okl_k_lines.coverage%TYPE INDEX BY BINARY_INTEGER;
10625 TYPE l_lrv_amount_type IS TABLE OF okl_k_lines.lrv_amount%TYPE INDEX BY BINARY_INTEGER;
10626 TYPE l_amount_type IS TABLE OF okl_k_lines.amount%TYPE INDEX BY BINARY_INTEGER;
10627 -- Bug 12938353: RGOOTY: Start
10628 TYPE l_origination_income_type IS TABLE OF okl_k_lines.origination_income%TYPE INDEX BY BINARY_INTEGER;
10629 -- Bug 12938353: RGOOTY: End
10630 TYPE l_lrs_percent_type IS TABLE OF okl_k_lines.lrs_percent%TYPE INDEX BY BINARY_INTEGER;
10631 TYPE l_evergreen_percent_type IS TABLE OF okl_k_lines.evergreen_percent%TYPE INDEX BY BINARY_INTEGER;
10632 TYPE l_percent_stake_type IS TABLE OF okl_k_lines.percent_stake%TYPE INDEX BY BINARY_INTEGER;
10633 TYPE l_amount_stake_type IS TABLE OF okl_k_lines.amount_stake%TYPE INDEX BY BINARY_INTEGER;
10634 TYPE l_date_sold_type IS TABLE OF okl_k_lines.date_sold%TYPE INDEX BY BINARY_INTEGER;
10635 TYPE l_sty_id_for_type IS TABLE OF okl_k_lines.sty_id_for%TYPE INDEX BY BINARY_INTEGER;
10636 TYPE l_attribute_category_type IS TABLE OF okl_k_lines.attribute_category%TYPE INDEX BY BINARY_INTEGER;
10637 TYPE l_attribute1_type IS TABLE OF okl_k_lines.attribute1%TYPE INDEX BY BINARY_INTEGER;
10638 TYPE l_attribute2_type IS TABLE OF okl_k_lines.attribute2%TYPE INDEX BY BINARY_INTEGER;
10639 TYPE l_attribute3_type IS TABLE OF okl_k_lines.attribute3%TYPE INDEX BY BINARY_INTEGER;
10640 TYPE l_attribute4_type IS TABLE OF okl_k_lines.attribute4%TYPE INDEX BY BINARY_INTEGER;
10641 TYPE l_attribute5_type IS TABLE OF okl_k_lines.attribute5%TYPE INDEX BY BINARY_INTEGER;
10642 TYPE l_attribute6_type IS TABLE OF okl_k_lines.attribute6%TYPE INDEX BY BINARY_INTEGER;
10643 TYPE l_attribute7_type IS TABLE OF okl_k_lines.attribute7%TYPE INDEX BY BINARY_INTEGER;
10644 TYPE l_attribute8_type IS TABLE OF okl_k_lines.attribute8%TYPE INDEX BY BINARY_INTEGER;
10645 TYPE l_attribute9_type IS TABLE OF okl_k_lines.attribute9%TYPE INDEX BY BINARY_INTEGER;
10646 TYPE l_attribute10_type IS TABLE OF okl_k_lines.attribute10%TYPE INDEX BY BINARY_INTEGER;
10647 TYPE l_attribute11_type IS TABLE OF okl_k_lines.attribute11%TYPE INDEX BY BINARY_INTEGER;
10648 TYPE l_attribute12_type IS TABLE OF okl_k_lines.attribute12%TYPE INDEX BY BINARY_INTEGER;
10649 TYPE l_attribute13_type IS TABLE OF okl_k_lines.attribute13%TYPE INDEX BY BINARY_INTEGER;
10650 TYPE l_attribute14_type IS TABLE OF okl_k_lines.attribute14%TYPE INDEX BY BINARY_INTEGER;
10651 TYPE l_attribute15_type IS TABLE OF okl_k_lines.attribute15%TYPE INDEX BY BINARY_INTEGER;
10652 TYPE l_created_by_type IS TABLE OF okl_k_lines.created_by%TYPE INDEX BY BINARY_INTEGER;
10653 TYPE l_creation_date_type IS TABLE OF okl_k_lines.creation_date%TYPE INDEX BY BINARY_INTEGER;
10654 TYPE l_last_updated_by_type IS TABLE OF okl_k_lines.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
10655 TYPE l_last_update_date_type IS TABLE OF okl_k_lines.last_update_date%TYPE INDEX BY BINARY_INTEGER;
10656 TYPE l_last_update_login_type IS TABLE OF okl_k_lines.last_update_login%TYPE INDEX BY BINARY_INTEGER;
10657 TYPE l_nty_code_type IS TABLE OF okl_k_lines.nty_code%TYPE INDEX BY BINARY_INTEGER;
10658 TYPE l_fcg_code_type IS TABLE OF okl_k_lines.fcg_code%TYPE INDEX BY BINARY_INTEGER;
10659 TYPE l_prc_code_type IS TABLE OF okl_k_lines.prc_code%TYPE INDEX BY BINARY_INTEGER;
10660 TYPE l_re_lease_yn_type IS TABLE OF okl_k_lines.re_lease_yn%TYPE INDEX BY BINARY_INTEGER;
10661 TYPE l_prescribed_asset_yn_type IS TABLE OF okl_k_lines.prescribed_asset_yn%TYPE INDEX BY BINARY_INTEGER;
10662 TYPE l_credit_tenant_yn_type IS TABLE OF okl_k_lines.credit_tenant_yn%TYPE INDEX BY BINARY_INTEGER;
10663 TYPE l_secured_deal_yn_type IS TABLE OF okl_k_lines.secured_deal_yn%TYPE INDEX BY BINARY_INTEGER;
10664 TYPE l_clg_id_type IS TABLE OF okl_k_lines.clg_id%TYPE INDEX BY BINARY_INTEGER;
10665 TYPE l_date_funding_type IS TABLE OF okl_k_lines.date_funding%TYPE INDEX BY BINARY_INTEGER;
10666 TYPE l_date_funding_required_type IS TABLE OF okl_k_lines.date_funding_required%TYPE INDEX BY BINARY_INTEGER;
10667 TYPE l_date_accepted_type IS TABLE OF okl_k_lines.date_accepted%TYPE INDEX BY BINARY_INTEGER;
10668 TYPE l_date_delivery_expected_type IS TABLE OF okl_k_lines.date_delivery_expected%TYPE INDEX BY BINARY_INTEGER;
10669 TYPE l_oec_type IS TABLE OF okl_k_lines.oec%TYPE INDEX BY BINARY_INTEGER;
10670 TYPE l_capital_amount_type IS TABLE OF okl_k_lines.capital_amount%TYPE INDEX BY BINARY_INTEGER;
10671 TYPE l_residual_grnty_amount_type IS TABLE OF okl_k_lines.residual_grnty_amount%TYPE INDEX BY BINARY_INTEGER;
10672 TYPE l_residual_code_type IS TABLE OF okl_k_lines.residual_code%TYPE INDEX BY BINARY_INTEGER;
10673 TYPE l_rvi_premium_type IS TABLE OF okl_k_lines.rvi_premium%TYPE INDEX BY BINARY_INTEGER;
10674 TYPE l_credit_nature_type IS TABLE OF okl_k_lines.credit_nature%TYPE INDEX BY BINARY_INTEGER;
10675 TYPE l_capitalized_interest_type IS TABLE OF okl_k_lines.capitalized_interest%TYPE INDEX BY BINARY_INTEGER;
10676 TYPE l_capital_reduction_perce_type IS TABLE OF okl_k_lines.capital_reduction_percent%TYPE INDEX BY BINARY_INTEGER;
10677 TYPE l_date_pay_investor_start_type IS TABLE OF okl_k_lines.date_pay_investor_start%TYPE INDEX BY BINARY_INTEGER;
10678 TYPE l_pay_investor_frequency_type IS TABLE OF okl_k_lines.pay_investor_frequency%TYPE INDEX BY BINARY_INTEGER;
10679 TYPE l_pay_investor_event_type IS TABLE OF okl_k_lines.pay_investor_event%TYPE INDEX BY BINARY_INTEGER;
10680 TYPE l_pay_investor_remit_days_type IS TABLE OF okl_k_lines.pay_investor_remittance_days%TYPE INDEX BY BINARY_INTEGER;
10681 TYPE l_fee_type_type IS TABLE OF okl_k_lines.fee_type%TYPE INDEX BY BINARY_INTEGER;
10682 TYPE l_subsidy_id_type IS TABLE OF okl_k_lines.subsidy_id%TYPE INDEX BY BINARY_INTEGER;
10683 TYPE l_subsidy_override_amount_type IS TABLE OF okl_k_lines.subsidy_override_amount%TYPE INDEX BY BINARY_INTEGER;
10684 TYPE l_pre_tax_yield_type IS TABLE OF okl_k_lines.pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
10685 TYPE l_after_tax_yield_type IS TABLE OF okl_k_lines.after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
10686 TYPE l_implicit_interest_rate_type IS TABLE OF okl_k_lines.implicit_interest_rate%TYPE INDEX BY BINARY_INTEGER;
10687 TYPE l_implicit_non_idc_i_rate_type IS TABLE OF okl_k_lines.implicit_non_idc_interest_rate%TYPE INDEX BY BINARY_INTEGER;
10688 TYPE l_pre_tax_irr_type IS TABLE OF okl_k_lines.pre_tax_irr%TYPE INDEX BY BINARY_INTEGER;
10689 TYPE l_after_tax_irr_type IS TABLE OF okl_k_lines.after_tax_irr%TYPE INDEX BY BINARY_INTEGER;
10690 TYPE l_sub_pre_tax_yield_type IS TABLE OF okl_k_lines.sub_pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
10691 TYPE l_sub_after_tax_yield_type IS TABLE OF okl_k_lines.sub_after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
10692 TYPE l_sub_impl_interest_rate_type IS TABLE OF okl_k_lines.sub_impl_interest_rate%TYPE INDEX BY BINARY_INTEGER;
10693 TYPE l_sub_impl_non_idc_int_ra_type IS TABLE OF okl_k_lines.sub_impl_non_idc_int_rate%TYPE INDEX BY BINARY_INTEGER;
10694 TYPE l_sub_pre_tax_irr_type IS TABLE OF okl_k_lines.sub_pre_tax_irr%TYPE INDEX BY BINARY_INTEGER;
10695 TYPE l_sub_after_tax_irr_type IS TABLE OF okl_k_lines.sub_after_tax_irr%TYPE INDEX BY BINARY_INTEGER;
10696 TYPE l_item_insurance_category_type IS TABLE OF okl_k_lines.item_insurance_category%TYPE INDEX BY BINARY_INTEGER;
10697 TYPE l_qte_id_type IS TABLE OF okl_k_lines.qte_id%TYPE INDEX BY BINARY_INTEGER;
10698 TYPE l_funding_date_type IS TABLE OF okl_k_lines.funding_date%TYPE INDEX BY BINARY_INTEGER;
10699 TYPE l_stream_type_subclass_type IS TABLE OF okl_k_lines.stream_type_subclass%TYPE INDEX BY BINARY_INTEGER;
10700 TYPE l_lse_id_type IS TABLE OF okc_k_lines_b.lse_id%TYPE INDEX BY BINARY_INTEGER;
10701 TYPE l_item_description_type IS TABLE OF okc_k_lines_tl.item_description%TYPE INDEX BY BINARY_INTEGER;
10702 TYPE l_fee_purpose_code_type IS TABLE OF okl_k_lines.fee_purpose_code%TYPE INDEX BY BINARY_INTEGER;
10703 TYPE l_date_funding_expected_type is table of okl_k_lines.date_funding_expected%TYPE index by binary_integer;
10704 TYPE l_manufacturer_name_type is table of okl_k_lines.manufacturer_name%TYPE index by binary_integer;
10705 TYPE l_model_number_type is table of okl_k_lines.model_number%TYPE index by binary_integer;
10706 TYPE l_down_payment_recei_code_type is table of okl_k_lines.down_payment_receiver_code%TYPE index by binary_integer;
10707 TYPE l_capitalize_down_paym_yn_type is table of okl_k_lines.capitalize_down_payment_yn%TYPE index by binary_integer;
10708
10709 --sechawla 17-Jul-09 PRB ESG Enhancements : added new column ORIG_CONTRACT_LINE_ID in okl_k_lines
10710 TYPE l_ORIG_CONTRACT_LINE_ID_type is table of okl_k_lines.ORIG_CONTRACT_LINE_ID%TYPE index by binary_integer;
10711
10712 l_id_tab l_id_type;
10713 l_kle_id_tab l_kle_id_type;
10714 l_sty_id_tab l_sty_id_type;
10715 l_object_version_number_tab l_object_version_number_type;
10716 l_lao_amount_tab l_lao_amount_type;
10717 l_fee_charge_tab l_fee_charge_type;
10718 l_title_date_tab l_title_date_type;
10719 l_date_residual_last_revi_tab l_date_residual_last_revi_type;
10720 l_date_last_reamortisatio_tab l_date_last_reamortisatio_type;
10721 l_termination_purchase_am_tab l_termination_purchase_am_type;
10722 l_date_last_cleanup_tab l_date_last_cleanup_type;
10723 l_remarketed_amount_tab l_remarketed_amount_type;
10724 l_date_remarketed_tab l_date_remarketed_type;
10725 l_remarket_margin_tab l_remarket_margin_type;
10726 l_repurchased_amount_tab l_repurchased_amount_type;
10727 l_date_repurchased_tab l_date_repurchased_type;
10728 l_gain_loss_tab l_gain_loss_type;
10729 l_floor_amount_tab l_floor_amount_type;
10730 l_previous_contract_tab l_previous_contract_type;
10731 l_tracked_residual_tab l_tracked_residual_type;
10732 l_date_title_received_tab l_date_title_received_type;
10733 l_estimated_oec_tab l_estimated_oec_type;
10734 l_residual_percentage_tab l_residual_percentage_type;
10735 l_capital_reduction_tab l_capital_reduction_type;
10736 l_vendor_advance_paid_tab l_vendor_advance_paid_type;
10737 l_tradein_amount_tab l_tradein_amount_type;
10738 l_delivered_date_tab l_delivered_date_type;
10739 l_year_of_manufacture_tab l_year_of_manufacture_type;
10740 l_initial_direct_cost_tab l_initial_direct_cost_type;
10741 l_occupancy_tab l_occupancy_type;
10742 l_date_last_inspection_tab l_date_last_inspection_type;
10743 l_date_next_inspection_du_tab l_date_next_inspection_du_type;
10744 l_weighted_average_life_tab l_weighted_average_life_type;
10745 l_bond_equivalent_yield_tab l_bond_equivalent_yield_type;
10746 l_refinance_amount_tab l_refinance_amount_type;
10747 l_year_built_tab l_year_built_type;
10748 l_coverage_ratio_tab l_coverage_ratio_type;
10749 l_gross_square_footage_tab l_gross_square_footage_type;
10750 l_net_rentable_tab l_net_rentable_type;
10751 l_date_letter_acceptance_tab l_date_letter_acceptance_type;
10752 l_date_commitment_expirat_tab l_date_commitment_expirat_type;
10753 l_date_appraisal_tab l_date_appraisal_type;
10754 l_appraisal_value_tab l_appraisal_value_type;
10755 l_residual_value_tab l_residual_value_type;
10756 l_percent_tab l_percent_type;
10757 l_coverage_tab l_coverage_type;
10758 l_lrv_amount_tab l_lrv_amount_type;
10759 l_amount_tab l_amount_type;
10760 -- Bug 12938353 : RGOOTY: Start
10761 l_origination_income_tab l_origination_income_type;
10762 -- Bug 12938353 : RGOOTY: End
10763 l_lrs_percent_tab l_lrs_percent_type;
10764 l_evergreen_percent_tab l_evergreen_percent_type;
10765 l_percent_stake_tab l_percent_stake_type;
10766 l_amount_stake_tab l_amount_stake_type;
10767 l_date_sold_tab l_date_sold_type;
10768 l_sty_id_for_tab l_sty_id_for_type;
10769 l_attribute_category_tab l_attribute_category_type;
10770 l_attribute1_tab l_attribute1_type;
10771 l_attribute2_tab l_attribute2_type;
10772 l_attribute3_tab l_attribute3_type;
10773 l_attribute4_tab l_attribute4_type;
10774 l_attribute5_tab l_attribute5_type;
10775 l_attribute6_tab l_attribute6_type;
10776 l_attribute7_tab l_attribute7_type;
10777 l_attribute8_tab l_attribute8_type;
10778 l_attribute9_tab l_attribute9_type;
10779 l_attribute10_tab l_attribute10_type;
10780 l_attribute11_tab l_attribute11_type;
10781 l_attribute12_tab l_attribute12_type;
10782 l_attribute13_tab l_attribute13_type;
10783 l_attribute14_tab l_attribute14_type;
10784 l_attribute15_tab l_attribute15_type;
10785 l_created_by_tab l_created_by_type;
10786 l_creation_date_tab l_creation_date_type;
10787 l_last_updated_by_tab l_last_updated_by_type;
10788 l_last_update_date_tab l_last_update_date_type;
10789 l_last_update_login_tab l_last_update_login_type;
10790 l_nty_code_tab l_nty_code_type;
10791 l_fcg_code_tab l_fcg_code_type;
10792 l_prc_code_tab l_prc_code_type;
10793 l_re_lease_yn_tab l_re_lease_yn_type;
10794 l_prescribed_asset_yn_tab l_prescribed_asset_yn_type;
10795 l_credit_tenant_yn_tab l_credit_tenant_yn_type;
10796 l_secured_deal_yn_tab l_secured_deal_yn_type;
10797 l_clg_id_tab l_clg_id_type;
10798 l_date_funding_tab l_date_funding_type;
10799 l_date_funding_required_tab l_date_funding_required_type;
10800 l_date_accepted_tab l_date_accepted_type;
10801 l_date_delivery_expected_tab l_date_delivery_expected_type;
10802 l_oec_tab l_oec_type;
10803 l_capital_amount_tab l_capital_amount_type;
10804 l_residual_grnty_amount_tab l_residual_grnty_amount_type;
10805 l_residual_code_tab l_residual_code_type;
10806 l_rvi_premium_tab l_rvi_premium_type;
10807 l_credit_nature_tab l_credit_nature_type;
10808 l_capitalized_interest_tab l_capitalized_interest_type;
10809 l_capital_reduction_perce_tab l_capital_reduction_perce_type;
10810 l_date_pay_investor_start_tab l_date_pay_investor_start_type;
10811 l_pay_investor_frequency_tab l_pay_investor_frequency_type;
10812 l_pay_investor_event_tab l_pay_investor_event_type;
10813 l_pay_investor_remit_days_tab l_pay_investor_remit_days_type;
10814 l_fee_type_tab l_fee_type_type;
10815 l_subsidy_id_tab l_subsidy_id_type;
10816 l_subsidy_override_amount_tab l_subsidy_override_amount_type;
10817 l_pre_tax_yield_tab l_pre_tax_yield_type;
10818 l_after_tax_yield_tab l_after_tax_yield_type;
10819 l_implicit_interest_rate_tab l_implicit_interest_rate_type;
10820 l_implicit_non_idc_i_rate_tab l_implicit_non_idc_i_rate_type;
10821 l_pre_tax_irr_tab l_pre_tax_irr_type;
10822 l_after_tax_irr_tab l_after_tax_irr_type;
10823 l_sub_pre_tax_yield_tab l_sub_pre_tax_yield_type;
10824 l_sub_after_tax_yield_tab l_sub_after_tax_yield_type;
10825 l_sub_impl_interest_rate_tab l_sub_impl_interest_rate_type;
10826 l_sub_impl_non_idc_int_ra_tab l_sub_impl_non_idc_int_ra_type;
10827 l_sub_pre_tax_irr_tab l_sub_pre_tax_irr_type;
10828 l_sub_after_tax_irr_tab l_sub_after_tax_irr_type;
10829 l_item_insurance_category_tab l_item_insurance_category_type;
10830 l_qte_id_tab l_qte_id_type;
10831 l_funding_date_tab l_funding_date_type;
10832 l_stream_type_subclass_tab l_stream_type_subclass_type;
10833 l_item_description_tab l_item_description_type;
10834 l_fee_purpose_code_tab l_fee_purpose_code_type;
10835 l_date_funding_expected_tab l_date_funding_expected_type;
10836 l_manufacturer_name_tab l_manufacturer_name_type;
10837 l_model_number_tab l_model_number_type;
10838 l_down_payment_recei_code_tab l_down_payment_recei_code_type;
10839 l_capitalize_down_paym_yn_tab l_capitalize_down_paym_yn_type;
10840
10841 --sechawla 17-Jul-09 PRB ESG Enhancements : added new column ORIG_CONTRACT_LINE_ID in okl_k_lines
10842 l_ORIG_CONTRACT_LINE_ID_tab l_ORIG_CONTRACT_LINE_ID_type;
10843
10844
10845 l_id_tab2 l_id_type;
10846 l_kle_id_tab2 l_kle_id_type;
10847 l_sty_id_tab2 l_sty_id_type;
10848 l_object_version_number_tab2 l_object_version_number_type;
10849 l_lao_amount_tab2 l_lao_amount_type;
10850 l_fee_charge_tab2 l_fee_charge_type;
10851 l_title_date_tab2 l_title_date_type;
10852 l_date_residual_last_revi_tab2 l_date_residual_last_revi_type;
10853 l_date_last_reamortisatio_tab2 l_date_last_reamortisatio_type;
10854 l_termination_purchase_am_tab2 l_termination_purchase_am_type;
10855 l_date_last_cleanup_tab2 l_date_last_cleanup_type;
10856 l_remarketed_amount_tab2 l_remarketed_amount_type;
10857 l_date_remarketed_tab2 l_date_remarketed_type;
10858 l_remarket_margin_tab2 l_remarket_margin_type;
10859 l_repurchased_amount_tab2 l_repurchased_amount_type;
10860 l_date_repurchased_tab2 l_date_repurchased_type;
10861 l_gain_loss_tab2 l_gain_loss_type;
10862 l_floor_amount_tab2 l_floor_amount_type;
10863 l_previous_contract_tab2 l_previous_contract_type;
10864 l_tracked_residual_tab2 l_tracked_residual_type;
10865 l_date_title_received_tab2 l_date_title_received_type;
10866 l_estimated_oec_tab2 l_estimated_oec_type;
10867 l_residual_percentage_tab2 l_residual_percentage_type;
10868 l_capital_reduction_tab2 l_capital_reduction_type;
10869 l_vendor_advance_paid_tab2 l_vendor_advance_paid_type;
10870 l_tradein_amount_tab2 l_tradein_amount_type;
10871 l_delivered_date_tab2 l_delivered_date_type;
10872 l_year_of_manufacture_tab2 l_year_of_manufacture_type;
10873 l_initial_direct_cost_tab2 l_initial_direct_cost_type;
10874 l_occupancy_tab2 l_occupancy_type;
10875 l_date_last_inspection_tab2 l_date_last_inspection_type;
10876 l_date_next_inspection_du_tab2 l_date_next_inspection_du_type;
10877 l_weighted_average_life_tab2 l_weighted_average_life_type;
10878 l_bond_equivalent_yield_tab2 l_bond_equivalent_yield_type;
10879 l_refinance_amount_tab2 l_refinance_amount_type;
10880 l_year_built_tab2 l_year_built_type;
10881 l_coverage_ratio_tab2 l_coverage_ratio_type;
10882 l_gross_square_footage_tab2 l_gross_square_footage_type;
10883 l_net_rentable_tab2 l_net_rentable_type;
10884 l_date_letter_acceptance_tab2 l_date_letter_acceptance_type;
10885 l_date_commitment_expirat_tab2 l_date_commitment_expirat_type;
10886 l_date_appraisal_tab2 l_date_appraisal_type;
10887 l_appraisal_value_tab2 l_appraisal_value_type;
10888 l_residual_value_tab2 l_residual_value_type;
10889 l_percent_tab2 l_percent_type;
10890 l_coverage_tab2 l_coverage_type;
10891 l_lrv_amount_tab2 l_lrv_amount_type;
10892 l_amount_tab2 l_amount_type;
10893 -- Bug 12938353 : RGOOTY: Start
10894 l_origination_income_tab2 l_origination_income_type;
10895 -- Bug 12938353 : RGOOTY: End
10896 l_lrs_percent_tab2 l_lrs_percent_type;
10897 l_evergreen_percent_tab2 l_evergreen_percent_type;
10898 l_percent_stake_tab2 l_percent_stake_type;
10899 l_amount_stake_tab2 l_amount_stake_type;
10900 l_date_sold_tab2 l_date_sold_type;
10901 l_sty_id_for_tab2 l_sty_id_for_type;
10902 l_attribute_category_tab2 l_attribute_category_type;
10903 l_attribute1_tab2 l_attribute1_type;
10904 l_attribute2_tab2 l_attribute2_type;
10905 l_attribute3_tab2 l_attribute3_type;
10906 l_attribute4_tab2 l_attribute4_type;
10907 l_attribute5_tab2 l_attribute5_type;
10908 l_attribute6_tab2 l_attribute6_type;
10909 l_attribute7_tab2 l_attribute7_type;
10910 l_attribute8_tab2 l_attribute8_type;
10911 l_attribute9_tab2 l_attribute9_type;
10912 l_attribute10_tab2 l_attribute10_type;
10913 l_attribute11_tab2 l_attribute11_type;
10914 l_attribute12_tab2 l_attribute12_type;
10915 l_attribute13_tab2 l_attribute13_type;
10916 l_attribute14_tab2 l_attribute14_type;
10917 l_attribute15_tab2 l_attribute15_type;
10918 l_created_by_tab2 l_created_by_type;
10919 l_creation_date_tab2 l_creation_date_type;
10920 l_last_updated_by_tab2 l_last_updated_by_type;
10921 l_last_update_date_tab2 l_last_update_date_type;
10922 l_last_update_login_tab2 l_last_update_login_type;
10923 l_nty_code_tab2 l_nty_code_type;
10924 l_fcg_code_tab2 l_fcg_code_type;
10925 l_prc_code_tab2 l_prc_code_type;
10926 l_re_lease_yn_tab2 l_re_lease_yn_type;
10927 l_prescribed_asset_yn_tab2 l_prescribed_asset_yn_type;
10928 l_credit_tenant_yn_tab2 l_credit_tenant_yn_type;
10929 l_secured_deal_yn_tab2 l_secured_deal_yn_type;
10930 l_clg_id_tab2 l_clg_id_type;
10931 l_date_funding_tab2 l_date_funding_type;
10932 l_date_funding_required_tab2 l_date_funding_required_type;
10933 l_date_accepted_tab2 l_date_accepted_type;
10934 l_date_delivery_expected_tab2 l_date_delivery_expected_type;
10935 l_oec_tab2 l_oec_type;
10936 l_capital_amount_tab2 l_capital_amount_type;
10937 l_residual_grnty_amount_tab2 l_residual_grnty_amount_type;
10938 l_residual_code_tab2 l_residual_code_type;
10939 l_rvi_premium_tab2 l_rvi_premium_type;
10940 l_credit_nature_tab2 l_credit_nature_type;
10941 l_capitalized_interest_tab2 l_capitalized_interest_type;
10942 l_capital_reduction_perce_tab2 l_capital_reduction_perce_type;
10943 l_date_pay_investor_start_tab2 l_date_pay_investor_start_type;
10944 l_pay_investor_frequency_tab2 l_pay_investor_frequency_type;
10945 l_pay_investor_event_tab2 l_pay_investor_event_type;
10946 l_pay_investor_remit_days_tab2 l_pay_investor_remit_days_type;
10947 l_fee_type_tab2 l_fee_type_type;
10948 l_subsidy_id_tab2 l_subsidy_id_type;
10949 l_subsidy_override_amount_tab2 l_subsidy_override_amount_type;
10950 l_pre_tax_yield_tab2 l_pre_tax_yield_type;
10951 l_after_tax_yield_tab2 l_after_tax_yield_type;
10952 l_implicit_interest_rate_tab2 l_implicit_interest_rate_type;
10953 l_implicit_non_idc_i_rate_tab2 l_implicit_non_idc_i_rate_type;
10954 l_pre_tax_irr_tab2 l_pre_tax_irr_type;
10955 l_after_tax_irr_tab2 l_after_tax_irr_type;
10956 l_sub_pre_tax_yield_tab2 l_sub_pre_tax_yield_type;
10957 l_sub_after_tax_yield_tab2 l_sub_after_tax_yield_type;
10958 l_sub_impl_interest_rate_tab2 l_sub_impl_interest_rate_type;
10959 l_sub_impl_non_idc_int_ra_tab2 l_sub_impl_non_idc_int_ra_type;
10960 l_sub_pre_tax_irr_tab2 l_sub_pre_tax_irr_type;
10961 l_sub_after_tax_irr_tab2 l_sub_after_tax_irr_type;
10962 l_item_insurance_category_tab2 l_item_insurance_category_type;
10963 l_qte_id_tab2 l_qte_id_type;
10964 l_funding_date_tab2 l_funding_date_type;
10965 l_stream_type_subclass_tab2 l_stream_type_subclass_type;
10966 l_lse_id_tab2 l_lse_id_type;
10967 l_item_description_tab2 l_item_description_type;
10968 l_fee_purpose_code_tab2 l_fee_purpose_code_type;
10969 l_date_funding_expected_tab2 l_date_funding_expected_type;
10970 l_manufacturer_name_tab2 l_manufacturer_name_type;
10971 l_model_number_tab2 l_model_number_type;
10972 l_down_payment_recei_code_tab2 l_down_payment_recei_code_type;
10973 l_capitalize_down_paym_yn_tab2 l_capitalize_down_paym_yn_type;
10974
10975 --sechawla 17-Jul-09 PRB ESG Enhancements : added new column ORIG_CONTRACT_LINE_ID in okl_k_lines
10976 l_ORIG_CONTRACT_LINE_ID_tab2 l_ORIG_CONTRACT_LINE_ID_type;
10977
10978 l_new_id NUMBER;
10979 l_new_kle_id NUMBER;
10980 l_curr_id NUMBER;
10981 l_asset_category_id NUMBER;
10982 l_34_id NUMBER;
10983 --l_okl_k_lines_rec2 lines_tbl_type;
10984
10985 BEGIN
10986 IF (G_DEBUG_ENABLED = 'Y') THEN
10987 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
10988 END IF;
10989 NULL;
10990 OPEN c8(p_chr_id);
10991 LOOP
10992 FETCH c8 bulk collect INTO
10993 l_id_tab2, l_kle_id_tab2, l_sty_id_tab2,
10994 l_object_version_number_tab2, l_lao_amount_tab2, l_fee_charge_tab2,
10995 l_title_date_tab2, l_date_residual_last_revi_tab2, l_date_last_reamortisatio_tab2,
10996 l_termination_purchase_am_tab2, l_date_last_cleanup_tab2, l_remarketed_amount_tab2,
10997 l_date_remarketed_tab2, l_remarket_margin_tab2, l_repurchased_amount_tab2,
10998 l_date_repurchased_tab2, l_gain_loss_tab2, l_floor_amount_tab2,
10999 l_previous_contract_tab2, l_tracked_residual_tab2, l_date_title_received_tab2,
11000 l_estimated_oec_tab2, l_residual_percentage_tab2, l_capital_reduction_tab2,
11001 l_vendor_advance_paid_tab2, l_tradein_amount_tab2, l_delivered_date_tab2,
11002 l_year_of_manufacture_tab2, l_initial_direct_cost_tab2, l_occupancy_tab2,
11003 l_date_last_inspection_tab2, l_date_next_inspection_du_tab2, l_weighted_average_life_tab2,
11004 l_bond_equivalent_yield_tab2, l_refinance_amount_tab2, l_year_built_tab2,
11005 l_coverage_ratio_tab2, l_gross_square_footage_tab2, l_net_rentable_tab2,
11006 l_date_letter_acceptance_tab2, l_date_commitment_expirat_tab2, l_date_appraisal_tab2,
11007 l_appraisal_value_tab2, l_residual_value_tab2, l_percent_tab2,
11008 l_coverage_tab2, l_lrv_amount_tab2, l_amount_tab2,
11009 l_lrs_percent_tab2, l_evergreen_percent_tab2, l_percent_stake_tab2,
11010 l_amount_stake_tab2, l_date_sold_tab2, l_sty_id_for_tab2,
11011 l_attribute_category_tab2, l_attribute1_tab2, l_attribute2_tab2,
11012 l_attribute3_tab2, l_attribute4_tab2, l_attribute5_tab2,
11013 l_attribute6_tab2, l_attribute7_tab2, l_attribute8_tab2,
11014 l_attribute9_tab2, l_attribute10_tab2, l_attribute11_tab2,
11015 l_attribute12_tab2, l_attribute13_tab2, l_attribute14_tab2,
11016 l_attribute15_tab2, l_created_by_tab2, l_creation_date_tab2,
11017 l_last_updated_by_tab2, l_last_update_date_tab2, l_last_update_login_tab2,
11018 l_nty_code_tab2, l_fcg_code_tab2, l_prc_code_tab2,
11019 l_re_lease_yn_tab2, l_prescribed_asset_yn_tab2, l_credit_tenant_yn_tab2,
11020 l_secured_deal_yn_tab2, l_clg_id_tab2, l_date_funding_tab2,
11021 l_date_funding_required_tab2, l_date_accepted_tab2, l_date_delivery_expected_tab2,
11022 l_oec_tab2, l_capital_amount_tab2, l_residual_grnty_amount_tab2,
11023 l_residual_code_tab2, l_rvi_premium_tab2, l_credit_nature_tab2,
11024 l_capitalized_interest_tab2, l_capital_reduction_perce_tab2, l_date_pay_investor_start_tab2,
11025 l_pay_investor_frequency_tab2, l_pay_investor_event_tab2, l_pay_investor_remit_days_tab2,
11026 l_fee_type_tab2, l_subsidy_id_tab2, l_subsidy_override_amount_tab2,
11027 l_pre_tax_yield_tab2, l_after_tax_yield_tab2, l_implicit_interest_rate_tab2,
11028 l_implicit_non_idc_i_rate_tab2, l_pre_tax_irr_tab2, l_after_tax_irr_tab2,
11029 l_sub_pre_tax_yield_tab2, l_sub_after_tax_yield_tab2, l_sub_impl_interest_rate_tab2,
11030 l_sub_impl_non_idc_int_ra_tab2, l_sub_pre_tax_irr_tab2, l_sub_after_tax_irr_tab2,
11031 l_item_insurance_category_tab2, l_qte_id_tab2, l_funding_date_tab2,
11032 l_stream_type_subclass_tab2, l_lse_id_tab2, l_item_description_tab2,
11033 l_fee_purpose_code_tab2, l_date_funding_expected_tab2, l_manufacturer_name_tab2,
11034 l_model_number_tab2, l_down_payment_recei_code_tab2, l_capitalize_down_paym_yn_tab2,
11035
11036 --sechawla 17-Jul-09 PRB ESG Enhancements : added new column ORIG_CONTRACT_LINE_ID in okl_k_lines
11037 l_ORIG_CONTRACT_LINE_ID_tab2
11038 -- Bug 12938353 : RGOOTY: Start
11039 ,l_origination_income_tab2
11040 -- Bug 12938353 : RGOOTY: End
11041 limit G_BULK_SIZE;
11042 EXIT WHEN l_id_tab2.COUNT = 0;
11043
11044 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11045 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab2.count=' || l_id_tab2.COUNT);
11046 END IF;
11047 FOR i IN l_id_tab2.first..l_id_tab2.last
11048 LOOP
11049
11050 --print('Processing record ' || i);
11051 l_id_tab(l_okl_k_lines_counter) := l_id_tab2(i);
11052 -- Change id
11053 --print('l_okl_k_lines_counter='|| l_okl_k_lines_counter || ' id=' || l_id_tab(l_okl_k_lines_counter));
11054 l_new_id := find_mapping_id(l_id_tab(l_okl_k_lines_counter));
11055 IF (l_new_id = -1) THEN
11056 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11057 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_id_tab(l_okl_k_lines_counter));
11058 END IF;
11059 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11060 --raise_application_error(-20001, 'Can not find mapping id');
11061 END IF;
11062 l_id_tab(l_okl_k_lines_counter) := l_new_id;
11063 l_osid_mapping_tab(l_okl_k_lines_counter).id := l_id_tab(l_okl_k_lines_counter);
11064
11065 l_kle_id_tab(l_okl_k_lines_counter) := l_kle_id_tab2(i);
11066 -- Change kle_id ??? AKP. No, Leave it alone
11067 /*if (l_kle_id_tab(l_okl_k_lines_counter) is not null) then
11068 l_new_kle_id := find_mapping_id(l_kle_id_tab(l_okl_k_lines_counter));
11069 if (l_new_kle_id = -1) then
11070 print('ERROR : Mapping kle_id not found for ' || l_kle_id_tab(l_okl_k_lines_counter));
11071 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11072 end if;
11073 l_kle_id_tab(l_okl_k_lines_counter) := l_new_kle_id;
11074 end if; */
11075
11076 --print('Before assigning sty_id');
11077 l_sty_id_tab(l_okl_k_lines_counter) := l_sty_id_tab2(i);
11078 l_object_version_number_tab(l_okl_k_lines_counter) := l_object_version_number_tab2(i);
11079 l_lao_amount_tab(l_okl_k_lines_counter) := l_lao_amount_tab2(i);
11080 l_fee_charge_tab(l_okl_k_lines_counter) := l_fee_charge_tab2(i);
11081 l_title_date_tab(l_okl_k_lines_counter) := l_title_date_tab2(i);
11082 l_date_residual_last_revi_tab(l_okl_k_lines_counter) := l_date_residual_last_revi_tab2(i);
11083 l_date_last_reamortisatio_tab(l_okl_k_lines_counter) := l_date_last_reamortisatio_tab2(i);
11084 l_termination_purchase_am_tab(l_okl_k_lines_counter) := l_termination_purchase_am_tab2(i);
11085 l_date_last_cleanup_tab(l_okl_k_lines_counter) := l_date_last_cleanup_tab2(i);
11086 l_remarketed_amount_tab(l_okl_k_lines_counter) := l_remarketed_amount_tab2(i);
11087 l_date_remarketed_tab(l_okl_k_lines_counter) := l_date_remarketed_tab2(i);
11088 l_remarket_margin_tab(l_okl_k_lines_counter) := l_remarket_margin_tab2(i);
11089 l_repurchased_amount_tab(l_okl_k_lines_counter) := l_repurchased_amount_tab2(i);
11090 l_date_repurchased_tab(l_okl_k_lines_counter) := l_date_repurchased_tab2(i);
11091 l_gain_loss_tab(l_okl_k_lines_counter) := l_gain_loss_tab2(i);
11092 l_floor_amount_tab(l_okl_k_lines_counter) := l_floor_amount_tab2(i);
11093 l_previous_contract_tab(l_okl_k_lines_counter) := l_previous_contract_tab2(i);
11094 l_tracked_residual_tab(l_okl_k_lines_counter) := l_tracked_residual_tab2(i);
11095 l_date_title_received_tab(l_okl_k_lines_counter) := l_date_title_received_tab2(i);
11096 l_estimated_oec_tab(l_okl_k_lines_counter) := l_estimated_oec_tab2(i);
11097 l_residual_percentage_tab(l_okl_k_lines_counter) := l_residual_percentage_tab2(i);
11098 l_capital_reduction_tab(l_okl_k_lines_counter) := l_capital_reduction_tab2(i);
11099 l_vendor_advance_paid_tab(l_okl_k_lines_counter) := l_vendor_advance_paid_tab2(i);
11100 l_tradein_amount_tab(l_okl_k_lines_counter) := l_tradein_amount_tab2(i);
11101 l_delivered_date_tab(l_okl_k_lines_counter) := l_delivered_date_tab2(i);
11102 l_year_of_manufacture_tab(l_okl_k_lines_counter) := l_year_of_manufacture_tab2(i);
11103 l_initial_direct_cost_tab(l_okl_k_lines_counter) := l_initial_direct_cost_tab2(i);
11104 l_occupancy_tab(l_okl_k_lines_counter) := l_occupancy_tab2(i);
11105 l_date_last_inspection_tab(l_okl_k_lines_counter) := l_date_last_inspection_tab2(i);
11106 l_date_next_inspection_du_tab(l_okl_k_lines_counter) := l_date_next_inspection_du_tab2(i);
11107 l_weighted_average_life_tab(l_okl_k_lines_counter) := l_weighted_average_life_tab2(i);
11108 l_bond_equivalent_yield_tab(l_okl_k_lines_counter) := l_bond_equivalent_yield_tab2(i);
11109 l_refinance_amount_tab(l_okl_k_lines_counter) := l_refinance_amount_tab2(i);
11110 l_year_built_tab(l_okl_k_lines_counter) := l_year_built_tab2(i);
11111 l_coverage_ratio_tab(l_okl_k_lines_counter) := l_coverage_ratio_tab2(i);
11112 l_gross_square_footage_tab(l_okl_k_lines_counter) := l_gross_square_footage_tab2(i);
11113 l_net_rentable_tab(l_okl_k_lines_counter) := l_net_rentable_tab2(i);
11114 l_date_letter_acceptance_tab(l_okl_k_lines_counter) := l_date_letter_acceptance_tab2(i);
11115 l_date_commitment_expirat_tab(l_okl_k_lines_counter) := l_date_commitment_expirat_tab2(i);
11116 l_date_appraisal_tab(l_okl_k_lines_counter) := l_date_appraisal_tab2(i);
11117 l_appraisal_value_tab(l_okl_k_lines_counter) := l_appraisal_value_tab2(i);
11118 l_residual_value_tab(l_okl_k_lines_counter) := l_residual_value_tab2(i);
11119 l_percent_tab(l_okl_k_lines_counter) := l_percent_tab2(i);
11120 l_coverage_tab(l_okl_k_lines_counter) := l_coverage_tab2(i);
11121 l_lrv_amount_tab(l_okl_k_lines_counter) := l_lrv_amount_tab2(i);
11122 l_amount_tab(l_okl_k_lines_counter) := l_amount_tab2(i);
11123 -- Bug 12938353 : RGOOTY: Start
11124 l_origination_income_tab(l_okl_k_lines_counter) := l_origination_income_tab2(i);
11125 -- Bug 12938353 : RGOOTY: End
11126 l_lrs_percent_tab(l_okl_k_lines_counter) := l_lrs_percent_tab2(i);
11127 l_evergreen_percent_tab(l_okl_k_lines_counter) := l_evergreen_percent_tab2(i);
11128 l_percent_stake_tab(l_okl_k_lines_counter) := l_percent_stake_tab2(i);
11129 l_amount_stake_tab(l_okl_k_lines_counter) := l_amount_stake_tab2(i);
11130 l_date_sold_tab(l_okl_k_lines_counter) := l_date_sold_tab2(i);
11131 l_sty_id_for_tab(l_okl_k_lines_counter) := l_sty_id_for_tab2(i);
11132 l_attribute_category_tab(l_okl_k_lines_counter) := l_attribute_category_tab2(i);
11133 l_attribute1_tab(l_okl_k_lines_counter) := l_attribute1_tab2(i);
11134 l_attribute2_tab(l_okl_k_lines_counter) := l_attribute2_tab2(i);
11135 l_attribute3_tab(l_okl_k_lines_counter) := l_attribute3_tab2(i);
11136 l_attribute4_tab(l_okl_k_lines_counter) := l_attribute4_tab2(i);
11137 l_attribute5_tab(l_okl_k_lines_counter) := l_attribute5_tab2(i);
11138 l_attribute6_tab(l_okl_k_lines_counter) := l_attribute6_tab2(i);
11139 l_attribute7_tab(l_okl_k_lines_counter) := l_attribute7_tab2(i);
11140 l_attribute8_tab(l_okl_k_lines_counter) := l_attribute8_tab2(i);
11141 l_attribute9_tab(l_okl_k_lines_counter) := l_attribute9_tab2(i);
11142 l_attribute10_tab(l_okl_k_lines_counter) := l_attribute10_tab2(i);
11143 l_attribute11_tab(l_okl_k_lines_counter) := l_attribute11_tab2(i);
11144 l_attribute12_tab(l_okl_k_lines_counter) := l_attribute12_tab2(i);
11145 l_attribute13_tab(l_okl_k_lines_counter) := l_attribute13_tab2(i);
11146 l_attribute14_tab(l_okl_k_lines_counter) := l_attribute14_tab2(i);
11147 l_attribute15_tab(l_okl_k_lines_counter) := l_attribute15_tab2(i);
11148 l_created_by_tab(l_okl_k_lines_counter) := l_created_by_tab2(i);
11149 l_creation_date_tab(l_okl_k_lines_counter) := l_creation_date_tab2(i);
11150 l_last_updated_by_tab(l_okl_k_lines_counter) := l_last_updated_by_tab2(i);
11151 l_last_update_date_tab(l_okl_k_lines_counter) := l_last_update_date_tab2(i);
11152 l_last_update_login_tab(l_okl_k_lines_counter) := l_last_update_login_tab2(i);
11153 l_nty_code_tab(l_okl_k_lines_counter) := l_nty_code_tab2(i);
11154 l_fcg_code_tab(l_okl_k_lines_counter) := l_fcg_code_tab2(i);
11155 l_prc_code_tab(l_okl_k_lines_counter) := l_prc_code_tab2(i);
11156
11157 -- Bug #15992711 - Start of modifications
11158 -- Bug #16464698
11159 IF p_trans_type = 'CRL' AND (l_lse_id_tab2(i)=33) THEN
11160 l_re_lease_yn_tab(l_okl_k_lines_counter) := 'Y';
11161 ELSIF p_trans_type = 'CRB' THEN
11162 l_re_lease_yn_tab(l_okl_k_lines_counter) := l_re_lease_yn_tab2(i);
11163 ELSE
11164 l_re_lease_yn_tab(l_okl_k_lines_counter) := NULL;
11165 END IF;
11166 -- Bug #16464698
11167 --l_re_lease_yn_tab(l_okl_k_lines_counter) := l_re_lease_yn_tab2(i);
11168 -- Bug #15992711 - End of modifications
11169
11170 l_prescribed_asset_yn_tab(l_okl_k_lines_counter) := l_prescribed_asset_yn_tab2(i);
11171 l_credit_tenant_yn_tab(l_okl_k_lines_counter) := l_credit_tenant_yn_tab2(i);
11172 l_secured_deal_yn_tab(l_okl_k_lines_counter) := l_secured_deal_yn_tab2(i);
11173 l_clg_id_tab(l_okl_k_lines_counter) := l_clg_id_tab2(i);
11174 l_date_funding_tab(l_okl_k_lines_counter) := l_date_funding_tab2(i);
11175 l_date_funding_required_tab(l_okl_k_lines_counter) := l_date_funding_required_tab2(i);
11176 l_date_accepted_tab(l_okl_k_lines_counter) := l_date_accepted_tab2(i);
11177 l_date_delivery_expected_tab(l_okl_k_lines_counter) := l_date_delivery_expected_tab2(i);
11178 l_oec_tab(l_okl_k_lines_counter) := l_oec_tab2(i);
11179 l_capital_amount_tab(l_okl_k_lines_counter) := l_capital_amount_tab2(i);
11180 l_residual_grnty_amount_tab(l_okl_k_lines_counter) := l_residual_grnty_amount_tab2(i);
11181 l_residual_code_tab(l_okl_k_lines_counter) := l_residual_code_tab2(i);
11182 l_rvi_premium_tab(l_okl_k_lines_counter) := l_rvi_premium_tab2(i);
11183 l_credit_nature_tab(l_okl_k_lines_counter) := l_credit_nature_tab2(i);
11184 l_capitalized_interest_tab(l_okl_k_lines_counter) := l_capitalized_interest_tab2(i);
11185 l_capital_reduction_perce_tab(l_okl_k_lines_counter) := l_capital_reduction_perce_tab2(i);
11186 l_date_pay_investor_start_tab(l_okl_k_lines_counter) := l_date_pay_investor_start_tab2(i);
11187 l_pay_investor_frequency_tab(l_okl_k_lines_counter) := l_pay_investor_frequency_tab2(i);
11188 l_pay_investor_event_tab(l_okl_k_lines_counter) := l_pay_investor_event_tab2(i);
11189 l_pay_investor_remit_days_tab(l_okl_k_lines_counter) := l_pay_investor_remit_days_tab2(i);
11190 l_fee_type_tab(l_okl_k_lines_counter) := l_fee_type_tab2(i);
11191 l_subsidy_id_tab(l_okl_k_lines_counter) := l_subsidy_id_tab2(i);
11192 -- Store subsidy id in global
11193 l_osid_mapping_tab(l_okl_k_lines_counter).subsidy_id := l_subsidy_id_tab2(i);
11194 l_subsidy_override_amount_tab(l_okl_k_lines_counter) := l_subsidy_override_amount_tab2(i);
11195 l_pre_tax_yield_tab(l_okl_k_lines_counter) := l_pre_tax_yield_tab2(i);
11196 l_after_tax_yield_tab(l_okl_k_lines_counter) := l_after_tax_yield_tab2(i);
11197 l_implicit_interest_rate_tab(l_okl_k_lines_counter) := l_implicit_interest_rate_tab2(i);
11198 l_implicit_non_idc_i_rate_tab(l_okl_k_lines_counter) := l_implicit_non_idc_i_rate_tab2(i);
11199 l_pre_tax_irr_tab(l_okl_k_lines_counter) := l_pre_tax_irr_tab2(i);
11200 l_after_tax_irr_tab(l_okl_k_lines_counter) := l_after_tax_irr_tab2(i);
11201 l_sub_pre_tax_yield_tab(l_okl_k_lines_counter) := l_sub_pre_tax_yield_tab2(i);
11202 l_sub_after_tax_yield_tab(l_okl_k_lines_counter) := l_sub_after_tax_yield_tab2(i);
11203 l_sub_impl_interest_rate_tab(l_okl_k_lines_counter) := l_sub_impl_interest_rate_tab2(i);
11204 l_sub_impl_non_idc_int_ra_tab(l_okl_k_lines_counter) := l_sub_impl_non_idc_int_ra_tab2(i);
11205 l_sub_pre_tax_irr_tab(l_okl_k_lines_counter) := l_sub_pre_tax_irr_tab2(i);
11206 l_sub_after_tax_irr_tab(l_okl_k_lines_counter) := l_sub_after_tax_irr_tab2(i);
11207
11208 --sechawla 17-Jul-09 PRB ESG Enhancements : added new column ORIG_CONTRACT_LINE_ID in okl_k_lines
11209 IF p_trans_type = 'CRB' THEN -- assign ORIG_CONTRACT_LINE_ID only if it is a Rebook copy
11210 l_ORIG_CONTRACT_LINE_ID_tab(l_okl_k_lines_counter) := l_ORIG_CONTRACT_LINE_ID_tab2(i);
11211 ELSE
11212 l_ORIG_CONTRACT_LINE_ID_tab(l_okl_k_lines_counter) := NULL;
11213 END IF;
11214
11215 IF ( (l_item_insurance_category_tab2(i) IS NULL) AND (l_lse_id_tab2(i)=33) ) THEN
11216 BEGIN
11217 l_curr_id := l_id_tab2(i);
11218 -- Get id for 34
11219 SELECT id INTO l_34_id
11220 FROM okc_k_lines_b
11221 WHERE cle_id = l_curr_id
11222 AND lse_id = 34;
11223 -- Query from mtl_system_items
11224 SELECT a.asset_category_id
11225 INTO l_asset_category_id
11226 FROM mtl_system_items a,
11227 okc_k_items b
11228 WHERE a.inventory_item_id = TO_NUMBER(b.object1_id1)
11229 AND a.organization_id = TO_NUMBER(b.object1_id2)
11230 AND b.cle_id = l_34_id;
11231 --and b.cle_id = l_curr_id; previous wrong
11232 l_item_insurance_category_tab(l_okl_k_lines_counter) := l_asset_category_id;
11233 EXCEPTION WHEN OTHERS THEN
11234 l_item_insurance_category_tab(l_okl_k_lines_counter) := NULL;
11235 END;
11236 ELSE
11237 l_item_insurance_category_tab(l_okl_k_lines_counter) := l_item_insurance_category_tab2(i);
11238 END IF;
11239 --print('Before assigning qte_id');
11240 l_qte_id_tab(l_okl_k_lines_counter) := l_qte_id_tab2(i);
11241 l_funding_date_tab(l_okl_k_lines_counter) := l_funding_date_tab2(i);
11242 l_stream_type_subclass_tab(l_okl_k_lines_counter) := l_stream_type_subclass_tab2(i);
11243 l_item_description_tab(l_okl_k_lines_counter) := l_item_description_tab2(i);
11244 l_fee_purpose_code_tab(l_okl_k_lines_counter) := l_fee_purpose_code_tab2(i);
11245 l_date_funding_expected_tab(l_okl_k_lines_counter) := l_date_funding_expected_tab2(i);
11246 l_manufacturer_name_tab(l_okl_k_lines_counter) := l_manufacturer_name_tab2(i);
11247 l_model_number_tab(l_okl_k_lines_counter) := l_model_number_tab2(i);
11248 l_down_payment_recei_code_tab(l_okl_k_lines_counter) := l_down_payment_recei_code_tab2(i);
11249 l_capitalize_down_paym_yn_tab(l_okl_k_lines_counter) := l_capitalize_down_paym_yn_tab2(i);
11250
11251 --print('Before assigning l_okl_k_lines_rec l_okl_k_lines_rec_counter='|| l_okl_k_lines_rec_counter || ' l_okl_k_lines_counter=' || l_okl_k_lines_counter);
11252
11253 --print('l_id_tab(' || l_okl_k_lines_counter || ')=' || l_id_tab(l_okl_k_lines_counter));
11254 l_okl_k_lines_rec(l_okl_k_lines_rec_counter).id := l_id_tab(l_okl_k_lines_counter);
11255 --print('Before assigning l_okl_k_lines_rec 1');
11256 --print('l_oec_tab=' || l_oec_tab(l_okl_k_lines_counter));
11257 l_okl_k_lines_rec(l_okl_k_lines_rec_counter).oec := l_oec_tab(l_okl_k_lines_counter);
11258 --print('Before assigning l_okl_k_lines_rec 2');
11259 l_okl_k_lines_rec(l_okl_k_lines_rec_counter).year_built := l_year_built_tab(l_okl_k_lines_counter);
11260 --print('Before assigning l_okl_k_lines_rec 3');
11261 l_okl_k_lines_rec(l_okl_k_lines_rec_counter).item_description := l_item_description_tab(l_okl_k_lines_counter);
11262 l_okl_k_lines_rec_counter := l_okl_k_lines_rec_counter + 1;
11263
11264 l_okl_k_lines_counter := l_okl_k_lines_counter + 1;
11265
11266 END LOOP;
11267 END LOOP;
11268 CLOSE c8;
11269 sort_osid_mapping_tab;
11270 sort_okl_k_lines_rec;
11271
11272 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11273 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_okl_k_lines_counter=' || l_okl_k_lines_counter || ' l_id_tab.count=' || l_id_tab.COUNT);
11274 END IF;
11275 IF (l_okl_k_lines_counter > 1) THEN
11276 --Bug# 16425139: Fixed population of WHO columns to not copy values from previous contract
11277 forall i IN l_id_tab.first..l_id_tab.last
11278 INSERT INTO okl_k_lines (
11279 id, kle_id, sty_id,
11280 object_version_number, lao_amount, fee_charge,
11281 title_date, date_residual_last_review, date_last_reamortisation,
11282 termination_purchase_amount, date_last_cleanup, remarketed_amount,
11283 date_remarketed, remarket_margin, repurchased_amount,
11284 date_repurchased, gain_loss, floor_amount,
11285 previous_contract, tracked_residual, date_title_received,
11286 estimated_oec, residual_percentage, capital_reduction,
11287 vendor_advance_paid, tradein_amount, delivered_date,
11288 year_of_manufacture, initial_direct_cost, occupancy,
11289 date_last_inspection, date_next_inspection_due, weighted_average_life,
11290 bond_equivalent_yield, refinance_amount, year_built,
11291 coverage_ratio, gross_square_footage, net_rentable,
11292 date_letter_acceptance, date_commitment_expiration, date_appraisal,
11293 appraisal_value, residual_value, percent,
11294 coverage, lrv_amount, amount,
11295 lrs_percent, evergreen_percent, percent_stake,
11296 amount_stake, date_sold, sty_id_for,
11297 attribute_category, attribute1, attribute2,
11298 attribute3, attribute4, attribute5,
11299 attribute6, attribute7, attribute8,
11300 attribute9, attribute10, attribute11,
11301 attribute12, attribute13, attribute14,
11302 attribute15, created_by, creation_date,
11303 last_updated_by, last_update_date, last_update_login,
11304 nty_code, fcg_code, prc_code,
11305 re_lease_yn, prescribed_asset_yn, credit_tenant_yn,
11306 secured_deal_yn, clg_id, date_funding,
11307 date_funding_required, date_accepted, date_delivery_expected,
11308 oec, capital_amount, residual_grnty_amount,
11309 residual_code, rvi_premium, credit_nature,
11310 capitalized_interest, capital_reduction_percent,date_pay_investor_start,
11311 pay_investor_frequency, pay_investor_event,pay_investor_remittance_days,
11312 fee_type, subsidy_id, subsidy_override_amount,
11313 pre_tax_yield, after_tax_yield, implicit_interest_rate,
11314 implicit_non_idc_interest_rate, pre_tax_irr, after_tax_irr,
11315 sub_pre_tax_yield, sub_after_tax_yield, sub_impl_interest_rate,
11316 sub_impl_non_idc_int_rate, sub_pre_tax_irr, sub_after_tax_irr,
11317 item_insurance_category, qte_id, funding_date,
11318 stream_type_subclass, fee_purpose_code, date_funding_expected,
11319 manufacturer_name, model_number, down_payment_receiver_code,
11320 capitalize_down_payment_yn,
11321 --sechawla 17-Jul-09 PRB ESG Enhancements : added new column ORIG_CONTRACT_LINE_ID in okl_k_lines
11322 ORIG_CONTRACT_LINE_ID
11323 ,ORIGINATION_INCOME -- Bug 12938353
11324 ) VALUES (
11325 l_id_tab(i), l_kle_id_tab(i), l_sty_id_tab(i),
11326 l_object_version_number_tab(i), l_lao_amount_tab(i), l_fee_charge_tab(i),
11327 l_title_date_tab(i), l_date_residual_last_revi_tab(i), l_date_last_reamortisatio_tab(i),
11328 l_termination_purchase_am_tab(i), l_date_last_cleanup_tab(i), l_remarketed_amount_tab(i),
11329 l_date_remarketed_tab(i), l_remarket_margin_tab(i), l_repurchased_amount_tab(i),
11330 l_date_repurchased_tab(i), l_gain_loss_tab(i), l_floor_amount_tab(i),
11331 l_previous_contract_tab(i), l_tracked_residual_tab(i), l_date_title_received_tab(i),
11332 l_estimated_oec_tab(i), l_residual_percentage_tab(i), l_capital_reduction_tab(i),
11333 l_vendor_advance_paid_tab(i), l_tradein_amount_tab(i), l_delivered_date_tab(i),
11334 l_year_of_manufacture_tab(i), l_initial_direct_cost_tab(i), l_occupancy_tab(i),
11335 l_date_last_inspection_tab(i), l_date_next_inspection_du_tab(i), l_weighted_average_life_tab(i),
11336 l_bond_equivalent_yield_tab(i), l_refinance_amount_tab(i), l_year_built_tab(i),
11337 l_coverage_ratio_tab(i), l_gross_square_footage_tab(i), l_net_rentable_tab(i),
11338 l_date_letter_acceptance_tab(i), l_date_commitment_expirat_tab(i), l_date_appraisal_tab(i),
11339 l_appraisal_value_tab(i), l_residual_value_tab(i), l_percent_tab(i),
11340 l_coverage_tab(i), l_lrv_amount_tab(i), l_amount_tab(i),
11341 l_lrs_percent_tab(i), l_evergreen_percent_tab(i), l_percent_stake_tab(i),
11342 l_amount_stake_tab(i), l_date_sold_tab(i), l_sty_id_for_tab(i),
11343 l_attribute_category_tab(i), l_attribute1_tab(i), l_attribute2_tab(i),
11344 l_attribute3_tab(i), l_attribute4_tab(i), l_attribute5_tab(i),
11345 l_attribute6_tab(i), l_attribute7_tab(i), l_attribute8_tab(i),
11346 l_attribute9_tab(i), l_attribute10_tab(i), l_attribute11_tab(i),
11347 l_attribute12_tab(i), l_attribute13_tab(i), l_attribute14_tab(i),
11348 l_attribute15_tab(i), l_created_by, SYSDATE,
11349 l_last_updated_by, SYSDATE, l_last_update_login,
11350 l_nty_code_tab(i), l_fcg_code_tab(i), l_prc_code_tab(i),
11351 l_re_lease_yn_tab(i), l_prescribed_asset_yn_tab(i), l_credit_tenant_yn_tab(i),
11352 l_secured_deal_yn_tab(i), l_clg_id_tab(i), l_date_funding_tab(i),
11353 l_date_funding_required_tab(i), l_date_accepted_tab(i), l_date_delivery_expected_tab(i),
11354 l_oec_tab(i), l_capital_amount_tab(i), l_residual_grnty_amount_tab(i),
11355 l_residual_code_tab(i), l_rvi_premium_tab(i), l_credit_nature_tab(i),
11356 l_capitalized_interest_tab(i), l_capital_reduction_perce_tab(i), l_date_pay_investor_start_tab(i),
11357 l_pay_investor_frequency_tab(i), l_pay_investor_event_tab(i), l_pay_investor_remit_days_tab(i),
11358 l_fee_type_tab(i), l_subsidy_id_tab(i), l_subsidy_override_amount_tab(i),
11359 l_pre_tax_yield_tab(i), l_after_tax_yield_tab(i), l_implicit_interest_rate_tab(i),
11360 l_implicit_non_idc_i_rate_tab(i), l_pre_tax_irr_tab(i), l_after_tax_irr_tab(i),
11361 l_sub_pre_tax_yield_tab(i), l_sub_after_tax_yield_tab(i), l_sub_impl_interest_rate_tab(i),
11362 l_sub_impl_non_idc_int_ra_tab(i), l_sub_pre_tax_irr_tab(i), l_sub_after_tax_irr_tab(i),
11363 l_item_insurance_category_tab(i), l_qte_id_tab(i), l_funding_date_tab(i),
11364 l_stream_type_subclass_tab(i), l_fee_purpose_code_tab(i), l_date_funding_expected_tab(i),
11365 l_manufacturer_name_tab(i), l_model_number_tab(i), l_down_payment_recei_code_tab(i),
11366 l_capitalize_down_paym_yn_tab(i),
11367 --sechawla 17-Jul-09 PRB ESG Enhancements : added new column ORIG_CONTRACT_LINE_ID in okl_k_lines
11368 l_ORIG_CONTRACT_LINE_ID_tab(i)
11369 -- Bug 12938353 : RGOOTY: Start
11370 ,l_origination_income_tab(i)
11371 -- Bug 12938353 : RGOOTY: End
11372 );
11373 END IF;
11374
11375 EXCEPTION WHEN OTHERS THEN
11376
11377 x_return_status := OKL_API.G_RET_STS_ERROR;
11378 /*OKL_API.set_message(p_app_name => 'OKL',
11379 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
11380 p_token1 => 'ASSET_NUMBER',
11381 p_token1_value => 'insert_okl_k_lines');*/
11382 /* DEBUG */
11383 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11384 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
11385 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_k_lines:l_id_tab.count=' || l_id_tab.COUNT || ' ...');
11386 END IF;
11387 IF (l_id_tab.COUNT > 0) THEN
11388 FOR i IN l_id_tab.first..l_id_tab.last
11389 LOOP
11390 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11391 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab('||i||')=' || l_id_tab(i));
11392 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_kle_id_tab('||i||')=' || l_kle_id_tab(i));
11393 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sty_id_tab('||i||')=' || l_sty_id_tab(i));
11394 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_object_version_number_tab('||i||')=' || l_object_version_number_tab(i));
11395 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_lao_amount_tab('||i||')=' || l_lao_amount_tab(i));
11396 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_fee_charge_tab('||i||')=' || l_fee_charge_tab(i));
11397 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_title_date_tab('||i||')=' || l_title_date_tab(i));
11398 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_residual_last_revi_tab('||i||')=' || l_date_residual_last_revi_tab(i));
11399 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_last_reamortisatio_tab('||i||')=' || l_date_last_reamortisatio_tab(i));
11400 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_termination_purchase_am_tab('||i||')=' || l_termination_purchase_am_tab(i));
11401 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_last_cleanup_tab('||i||')=' || l_date_last_cleanup_tab(i));
11402 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_remarketed_amount_tab('||i||')=' || l_remarketed_amount_tab(i));
11403 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_remarketed_tab('||i||')=' || l_date_remarketed_tab(i));
11404 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_remarket_margin_tab('||i||')=' || l_remarket_margin_tab(i));
11405 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_repurchased_amount_tab('||i||')=' || l_repurchased_amount_tab(i));
11406 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_repurchased_tab('||i||')=' || l_date_repurchased_tab(i));
11407 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gain_loss_tab('||i||')=' || l_gain_loss_tab(i));
11408 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_floor_amount_tab('||i||')=' || l_floor_amount_tab(i));
11409 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_previous_contract_tab('||i||')=' || l_previous_contract_tab(i));
11410 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tracked_residual_tab('||i||')=' || l_tracked_residual_tab(i));
11411 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_title_received_tab('||i||')=' || l_date_title_received_tab(i));
11412 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_estimated_oec_tab('||i||')=' || l_estimated_oec_tab(i));
11413 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_residual_percentage_tab('||i||')=' || l_residual_percentage_tab(i));
11414 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capital_reduction_tab('||i||')=' || l_capital_reduction_tab(i));
11415 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_vendor_advance_paid_tab('||i||')=' || l_vendor_advance_paid_tab(i));
11416 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tradein_amount_tab('||i||')=' || l_tradein_amount_tab(i));
11417 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_delivered_date_tab('||i||')=' || l_delivered_date_tab(i));
11418 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_year_of_manufacture_tab('||i||')=' || l_year_of_manufacture_tab(i));
11419 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_initial_direct_cost_tab('||i||')=' || l_initial_direct_cost_tab(i));
11420 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_occupancy_tab('||i||')=' || l_occupancy_tab(i));
11421 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_last_inspection_tab('||i||')=' || l_date_last_inspection_tab(i));
11422 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_next_inspection_du_tab('||i||')=' || l_date_next_inspection_du_tab(i));
11423 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_weighted_average_life_tab('||i||')=' || l_weighted_average_life_tab(i));
11424 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_bond_equivalent_yield_tab('||i||')=' || l_bond_equivalent_yield_tab(i));
11425 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_refinance_amount_tab('||i||')=' || l_refinance_amount_tab(i));
11426 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_year_built_tab('||i||')=' || l_year_built_tab(i));
11427 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_coverage_ratio_tab('||i||')=' || l_coverage_ratio_tab(i));
11428 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gross_square_footage_tab('||i||')=' || l_gross_square_footage_tab(i));
11429 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_net_rentable_tab('||i||')=' || l_net_rentable_tab(i));
11430 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_letter_acceptance_tab('||i||')=' || l_date_letter_acceptance_tab(i));
11431 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_commitment_expirat_tab('||i||')=' || l_date_commitment_expirat_tab(i));
11432 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_appraisal_tab('||i||')=' || l_date_appraisal_tab(i));
11433 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_appraisal_value_tab('||i||')=' || l_appraisal_value_tab(i));
11434 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_residual_value_tab('||i||')=' || l_residual_value_tab(i));
11435 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_percent_tab('||i||')=' || l_percent_tab(i));
11436 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_coverage_tab('||i||')=' || l_coverage_tab(i));
11437 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_lrv_amount_tab('||i||')=' || l_lrv_amount_tab(i));
11438 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_amount_tab('||i||')=' || l_amount_tab(i));
11439 -- Bug 12938353 : RGOOTY: Start
11440 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_origination_income_tab('||i||')=' || l_origination_income_tab(i));
11441 -- Bug 12938353 : RGOOTY: End
11442 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_lrs_percent_tab('||i||')=' || l_lrs_percent_tab(i));
11443 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_evergreen_percent_tab('||i||')=' || l_evergreen_percent_tab(i));
11444 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_percent_stake_tab('||i||')=' || l_percent_stake_tab(i));
11445 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_amount_stake_tab('||i||')=' || l_amount_stake_tab(i));
11446 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_sold_tab('||i||')=' || l_date_sold_tab(i));
11447 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sty_id_for_tab('||i||')=' || l_sty_id_for_tab(i));
11448 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute_category_tab('||i||')=' || l_attribute_category_tab(i));
11449 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute1_tab('||i||')=' || l_attribute1_tab(i));
11450 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute2_tab('||i||')=' || l_attribute2_tab(i));
11451 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute3_tab('||i||')=' || l_attribute3_tab(i));
11452 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute4_tab('||i||')=' || l_attribute4_tab(i));
11453 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute5_tab('||i||')=' || l_attribute5_tab(i));
11454 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute6_tab('||i||')=' || l_attribute6_tab(i));
11455 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute7_tab('||i||')=' || l_attribute7_tab(i));
11456 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute8_tab('||i||')=' || l_attribute8_tab(i));
11457 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute9_tab('||i||')=' || l_attribute9_tab(i));
11458 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute10_tab('||i||')=' || l_attribute10_tab(i));
11459 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute11_tab('||i||')=' || l_attribute11_tab(i));
11460 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute12_tab('||i||')=' || l_attribute12_tab(i));
11461 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute13_tab('||i||')=' || l_attribute13_tab(i));
11462 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute14_tab('||i||')=' || l_attribute14_tab(i));
11463 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute15_tab('||i||')=' || l_attribute15_tab(i));
11464 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_created_by_tab('||i||')=' || l_created_by_tab(i));
11465 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_creation_date_tab('||i||')=' || l_creation_date_tab(i));
11466 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_last_updated_by_tab('||i||')=' || l_last_updated_by_tab(i));
11467 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_last_update_date_tab('||i||')=' || l_last_update_date_tab(i));
11468 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_last_update_login_tab('||i||')=' || l_last_update_login_tab(i));
11469 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_nty_code_tab('||i||')=' || l_nty_code_tab(i));
11470 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_fcg_code_tab('||i||')=' || l_fcg_code_tab(i));
11471 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_prc_code_tab('||i||')=' || l_prc_code_tab(i));
11472 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_re_lease_yn_tab('||i||')=' || l_re_lease_yn_tab(i));
11473 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_prescribed_asset_yn_tab('||i||')=' || l_prescribed_asset_yn_tab(i));
11474 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_credit_tenant_yn_tab('||i||')=' || l_credit_tenant_yn_tab(i));
11475 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_secured_deal_yn_tab('||i||')=' || l_secured_deal_yn_tab(i));
11476 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_clg_id_tab('||i||')=' || l_clg_id_tab(i));
11477 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_funding_tab('||i||')=' || l_date_funding_tab(i));
11478 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_funding_required_tab('||i||')=' || l_date_funding_required_tab(i));
11479 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_accepted_tab('||i||')=' || l_date_accepted_tab(i));
11480 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_delivery_expected_tab('||i||')=' || l_date_delivery_expected_tab(i));
11481 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_oec_tab('||i||')=' || l_oec_tab(i));
11482 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capital_amount_tab('||i||')=' || l_capital_amount_tab(i));
11483 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_residual_grnty_amount_tab('||i||')=' || l_residual_grnty_amount_tab(i));
11484 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_residual_code_tab('||i||')=' || l_residual_code_tab(i));
11485 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rvi_premium_tab('||i||')=' || l_rvi_premium_tab(i));
11486 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_credit_nature_tab('||i||')=' || l_credit_nature_tab(i));
11487 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capitalized_interest_tab('||i||')=' || l_capitalized_interest_tab(i));
11488 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capital_reduction_perce_tab('||i||')=' || l_capital_reduction_perce_tab(i));
11489 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_pay_investor_start_tab('||i||')=' || l_date_pay_investor_start_tab(i));
11490 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pay_investor_frequency_tab('||i||')=' || l_pay_investor_frequency_tab(i));
11491 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pay_investor_event_tab('||i||')=' || l_pay_investor_event_tab(i));
11492 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pay_investor_remit_days_tab('||i||')=' || l_pay_investor_remit_days_tab(i));
11493 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_fee_type_tab('||i||')=' || l_fee_type_tab(i));
11494 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_subsidy_id_tab('||i||')=' || l_subsidy_id_tab(i));
11495 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_subsidy_override_amount_tab('||i||')=' || l_subsidy_override_amount_tab(i));
11496 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pre_tax_yield_tab('||i||')=' || l_pre_tax_yield_tab(i));
11497 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_after_tax_yield_tab('||i||')=' || l_after_tax_yield_tab(i));
11498 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_implicit_interest_rate_tab('||i||')=' || l_implicit_interest_rate_tab(i));
11499 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_implicit_non_idc_i_rate_tab('||i||')=' || l_implicit_non_idc_i_rate_tab(i));
11500 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pre_tax_irr_tab('||i||')=' || l_pre_tax_irr_tab(i));
11501 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_after_tax_irr_tab('||i||')=' || l_after_tax_irr_tab(i));
11502 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_pre_tax_yield_tab('||i||')=' || l_sub_pre_tax_yield_tab(i));
11503 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_after_tax_yield_tab('||i||')=' || l_sub_after_tax_yield_tab(i));
11504 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_impl_interest_rate_tab('||i||')=' || l_sub_impl_interest_rate_tab(i));
11505 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_impl_non_idc_int_ra_tab('||i||')=' || l_sub_impl_non_idc_int_ra_tab(i));
11506 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_pre_tax_irr_tab('||i||')=' || l_sub_pre_tax_irr_tab(i));
11507 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sub_after_tax_irr_tab('||i||')=' || l_sub_after_tax_irr_tab(i));
11508 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_item_insurance_category_tab('||i||')=' || l_item_insurance_category_tab(i));
11509 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_qte_id_tab('||i||')=' || l_qte_id_tab(i));
11510 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_funding_date_tab('||i||')=' || l_funding_date_tab(i));
11511 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_stream_type_subclass_tab('||i||')=' || l_stream_type_subclass_tab(i));
11512 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_fee_purpose_code_tab('||i||')=' || l_fee_purpose_code_tab(i));
11513 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_funding_expected_tab('||i||')=' || l_date_funding_expected_tab(i));
11514 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_manufacturer_name_tab('||i||')=' || l_manufacturer_name_tab(i));
11515 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_model_number_tab('||i||')=' || l_model_number_tab(i));
11516 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_down_payment_recei_code_tab('||i||')=' || l_down_payment_recei_code_tab(i));
11517 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capitalize_down_paym_yn_tab('||i||')=' || l_capitalize_down_paym_yn_tab(i));
11518
11519 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ORIG_CONTRACT_LINE_ID_tab('||i||')=' || l_ORIG_CONTRACT_LINE_ID_tab(i));
11520 END IF;
11521 END LOOP;
11522 END IF;
11523
11524 RAISE OKC_API.G_EXCEPTION_ERROR;
11525
11526 END; /* insert_okl_k_lines */
11527
11528 PROCEDURE do_sort_party_mapping_id IS
11529 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
11530 --a numtabtype;
11531 l_stack numtabtype;
11532 l_stack_index NUMBER := 0;
11533 N NUMBER;
11534 R NUMBER;
11535 L NUMBER;
11536 P NUMBER;
11537 W NUMBER;
11538 W2 NUMBER;
11539 X NUMBER;
11540 I NUMBER;
11541 J NUMBER;
11542 BEGIN
11543 IF (G_DEBUG_ENABLED = 'Y') THEN
11544 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
11545 END IF;
11546 NULL;
11547 /*a(1) := 10;
11548 a(2) := 50;
11549 a(3) := 27;
11550 a(4) := 5;
11551 a(5) := 100;
11552 a(6) := 50;
11553 a(7) := 35;
11554 a(8) := 41;
11555 a(9) := 75;
11556 a(10) := 20;
11557
11558 N := 10;
11559 */
11560
11561 N := l_party_counter - 1;
11562 IF (N < 2) THEN
11563 RETURN;
11564 END IF;
11565 l_stack_index := l_stack_index + 1;
11566 l_stack(l_stack_index) := 1;
11567 l_stack_index := l_stack_index + 1;
11568 l_stack(l_stack_index) := N;
11569
11570 --dbms_output.put_line('l_stack_index=' || l_stack_index);
11571 WHILE l_stack_index > 0
11572 LOOP
11573 R := l_stack(l_stack_index);
11574 l_stack_index := l_stack_index - 1;
11575 L := l_stack(l_stack_index);
11576 l_stack_index := l_stack_index - 1;
11577 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
11578 WHILE 1=1
11579 LOOP -- loop until L >= R
11580 I := L;
11581 J := R;
11582 P := FLOOR((L+R)/2);
11583 --if (a(L) > a(P)) then
11584 IF (l_party_id_mapping_tab(L).old_id > l_party_id_mapping_tab(P).old_id)
11585 THEN
11586 /*W := a(L);
11587 a(L) := a(P);
11588 a(P) := W;*/
11589
11590 W := l_party_id_mapping_tab(L).old_id;
11591 W2 := l_party_id_mapping_tab(L).new_id;
11592 l_party_id_mapping_tab(L).old_id :=l_party_id_mapping_tab(P).old_id;
11593 l_party_id_mapping_tab(L).new_id :=l_party_id_mapping_tab(P).new_id;
11594 l_party_id_mapping_tab(P).old_id := W;
11595 l_party_id_mapping_tab(P).new_id := W2;
11596 END IF;
11597 --if (a(L) > a(R)) then
11598 IF (l_party_id_mapping_tab(L).old_id > l_party_id_mapping_tab(R).old_id)
11599 THEN
11600 /*W := a(L);
11601 a(L) := a(R);
11602 a(R) := W;*/
11603 W := l_party_id_mapping_tab(L).old_id;
11604 W2 := l_party_id_mapping_tab(L).new_id;
11605 l_party_id_mapping_tab(L).old_id :=l_party_id_mapping_tab(R).old_id;
11606 l_party_id_mapping_tab(L).new_id :=l_party_id_mapping_tab(R).new_id;
11607 l_party_id_mapping_tab(R).old_id := W;
11608 l_party_id_mapping_tab(R).new_id := W2;
11609 END IF;
11610 --if (a(P) > a(R)) then
11611 IF (l_party_id_mapping_tab(P).old_id > l_party_id_mapping_tab(R).old_id)
11612 THEN
11613 /*W := a(P);
11614 a(P) := a(R);
11615 a(R) := W; */
11616 W := l_party_id_mapping_tab(P).old_id;
11617 W2 := l_party_id_mapping_tab(P).new_id;
11618 l_party_id_mapping_tab(P).old_id :=l_party_id_mapping_tab(R).old_id;
11619 l_party_id_mapping_tab(P).new_id :=l_party_id_mapping_tab(R).new_id;
11620 l_party_id_mapping_tab(R).old_id := W;
11621 l_party_id_mapping_tab(R).new_id := W2;
11622 END IF;
11623 --X := a(P);
11624 X := l_party_id_mapping_tab(P).old_id;
11625 WHILE 1=1
11626 LOOP -- until I > J
11627 --while (a(I) < X) loop
11628 WHILE (l_party_id_mapping_tab(I).old_id < X) LOOP
11629 I := I + 1;
11630 END LOOP;
11631 WHILE (X < l_party_id_mapping_tab(J).old_id) LOOP
11632 J := J - 1;
11633 END LOOP;
11634 IF (I <= J) THEN
11635 /*W := a(I);
11636 a(I) := a(J);
11637 a(J) := W;*/
11638 W := l_party_id_mapping_tab(I).old_id;
11639 W2 := l_party_id_mapping_tab(I).new_id;
11640 l_party_id_mapping_tab(I).old_id :=l_party_id_mapping_tab(J).old_id;
11641 l_party_id_mapping_tab(I).new_id :=l_party_id_mapping_tab(J).new_id;
11642 l_party_id_mapping_tab(J).old_id := W;
11643 l_party_id_mapping_tab(J).new_id := W2;
11644 I := I + 1;
11645 J := J - 1;
11646 END IF;
11647 EXIT WHEN I > J;
11648 END LOOP;
11649 IF (J - L < R - I) THEN
11650 IF (I < R) THEN
11651 --push(I); push(R);
11652 l_stack_index := l_stack_index + 1;
11653 l_stack(l_stack_index) := I;
11654 l_stack_index := l_stack_index + 1;
11655 l_stack(l_stack_index) := R;
11656 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
11657 END IF;
11658 R := J;
11659 ELSE
11660 IF (L < J) THEN
11661 --push(L); push(J);
11662 l_stack_index := l_stack_index + 1;
11663 l_stack(l_stack_index) := L;
11664 l_stack_index := l_stack_index + 1;
11665 l_stack(l_stack_index) := J;
11666 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
11667 END IF;
11668 L := I;
11669 END IF;
11670
11671 EXIT WHEN (L >= R);
11672 END LOOP;
11673 END LOOP;
11674
11675 EXCEPTION WHEN OTHERS THEN
11676
11677 x_return_status := OKL_API.G_RET_STS_ERROR;
11678 /*OKL_API.set_message(p_app_name => 'OKL',
11679 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
11680 p_token1 => 'ASSET_NUMBER',
11681 p_token1_value => 'do_sort_party_mapping_id');*/
11682 /* DEBUG */
11683 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11684 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
11685 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing do_sort_party_mapping:l_party_id_mapping_tab N=' || N || ' ...');
11686 END IF;
11687
11688 --print array
11689 FOR i IN 1..N
11690 LOOP
11691 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11692 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_party_id_mapping_tab('||i||')=' || l_party_id_mapping_tab(i).old_id || ':' || l_party_id_mapping_tab(i).new_id);
11693 END IF;
11694 END LOOP;
11695
11696 RAISE OKC_API.G_EXCEPTION_ERROR;
11697
11698 END; /* do_sort_party_mapping_id */
11699
11700 FUNCTION find_party_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
11701 hi NUMBER;
11702 lo NUMBER;
11703 m NUMBER;
11704 BEGIN
11705 lo := 1;
11706 hi := l_party_counter - 1;
11707 WHILE (lo <= hi) LOOP
11708 m := FLOOR((hi + lo)/2);
11709 IF (l_party_id_mapping_tab(m).old_id = p_id) THEN
11710 RETURN l_party_id_mapping_tab(m).new_id;
11711 ELSIF (l_party_id_mapping_tab(m).old_id > p_id) THEN
11712 hi := m - 1;
11713 ELSE
11714 lo := m + 1;
11715 END IF;
11716 END LOOP;
11717 RETURN -1;
11718 END; /* find_party_mapping_id */
11719
11720 PROCEDURE prepare_okl_party_roles (p_old_id IN okl_k_party_roles.id%TYPE,
11721 p_new_id IN okl_k_party_roles.id%TYPE,
11722 p_flush IN VARCHAR2) IS
11723 CURSOR c30(p_id okl_k_party_roles.id%TYPE) IS
11724 SELECT
11725 a.id, a.object_version_number, a.attribute_category,
11726 a.attribute1, a.attribute2, a.attribute3,
11727 a.attribute4, a.attribute5, a.attribute6,
11728 a.attribute7, a.attribute8, a.attribute9,
11729 a.attribute10, a.attribute11, a.attribute12,
11730 a.attribute13, a.attribute14, a.attribute15
11731 FROM okl_k_party_roles a
11732 WHERE id = p_id;
11733
11734 l_plid_tab2 l_plid_type;
11735 l_plobject_version_number_tab2 l_plobject_version_number_type;
11736 l_plattribute_category_tab2 l_plattribute_category_type;
11737 l_plattribute1_tab2 l_plattribute1_type;
11738 l_plattribute2_tab2 l_plattribute2_type;
11739 l_plattribute3_tab2 l_plattribute3_type;
11740 l_plattribute4_tab2 l_plattribute4_type;
11741 l_plattribute5_tab2 l_plattribute5_type;
11742 l_plattribute6_tab2 l_plattribute6_type;
11743 l_plattribute7_tab2 l_plattribute7_type;
11744 l_plattribute8_tab2 l_plattribute8_type;
11745 l_plattribute9_tab2 l_plattribute9_type;
11746 l_plattribute10_tab2 l_plattribute10_type;
11747 l_plattribute11_tab2 l_plattribute11_type;
11748 l_plattribute12_tab2 l_plattribute12_type;
11749 l_plattribute13_tab2 l_plattribute13_type;
11750 l_plattribute14_tab2 l_plattribute14_type;
11751 l_plattribute15_tab2 l_plattribute15_type;
11752
11753 BEGIN
11754 IF (G_DEBUG_ENABLED = 'Y') THEN
11755 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
11756 END IF;
11757 --print('In prepare_okl_party_roles p_old_id=' || p_old_id);
11758 --print('In prepare_okl_party_roles p_new_id=' || p_new_id);
11759 OPEN c30(p_old_id);
11760 LOOP
11761 FETCH c30 bulk collect INTO
11762 l_plid_tab2, l_plobject_version_number_tab2, l_plattribute_category_tab2,
11763 l_plattribute1_tab2, l_plattribute2_tab2, l_plattribute3_tab2,
11764 l_plattribute4_tab2, l_plattribute5_tab2, l_plattribute6_tab2,
11765 l_plattribute7_tab2, l_plattribute8_tab2, l_plattribute9_tab2,
11766 l_plattribute10_tab2, l_plattribute11_tab2, l_plattribute12_tab2,
11767 l_plattribute13_tab2, l_plattribute14_tab2, l_plattribute15_tab2
11768 limit G_BULK_SIZE;
11769 EXIT WHEN l_plid_tab2.COUNT = 0;
11770
11771 FOR i IN l_plid_tab2.first..l_plid_tab2.last
11772 LOOP
11773 l_plid_tab(l_okl_k_party_roles_counter) := l_plid_tab2(i);
11774 -- Replace id
11775 l_plid_tab(l_okl_k_party_roles_counter) := p_new_id;
11776
11777 l_plobject_version_number_tab(l_okl_k_party_roles_counter) := l_plobject_version_number_tab2(i);
11778 l_plattribute_category_tab(l_okl_k_party_roles_counter) := l_plattribute_category_tab2(i);
11779 l_plattribute1_tab(l_okl_k_party_roles_counter) := l_plattribute1_tab2(i);
11780 l_plattribute2_tab(l_okl_k_party_roles_counter) := l_plattribute2_tab2(i);
11781 l_plattribute3_tab(l_okl_k_party_roles_counter) := l_plattribute3_tab2(i);
11782 l_plattribute4_tab(l_okl_k_party_roles_counter) := l_plattribute4_tab2(i);
11783 l_plattribute5_tab(l_okl_k_party_roles_counter) := l_plattribute5_tab2(i);
11784 l_plattribute6_tab(l_okl_k_party_roles_counter) := l_plattribute6_tab2(i);
11785 l_plattribute7_tab(l_okl_k_party_roles_counter) := l_plattribute7_tab2(i);
11786 l_plattribute8_tab(l_okl_k_party_roles_counter) := l_plattribute8_tab2(i);
11787 l_plattribute9_tab(l_okl_k_party_roles_counter) := l_plattribute9_tab2(i);
11788 l_plattribute10_tab(l_okl_k_party_roles_counter) := l_plattribute10_tab2(i);
11789 l_plattribute11_tab(l_okl_k_party_roles_counter) := l_plattribute11_tab2(i);
11790 l_plattribute12_tab(l_okl_k_party_roles_counter) := l_plattribute12_tab2(i);
11791 l_plattribute13_tab(l_okl_k_party_roles_counter) := l_plattribute13_tab2(i);
11792 l_plattribute14_tab(l_okl_k_party_roles_counter) := l_plattribute14_tab2(i);
11793 l_plattribute15_tab(l_okl_k_party_roles_counter) := l_plattribute15_tab2(i);
11794
11795 l_okl_k_party_roles_counter := l_okl_k_party_roles_counter + 1;
11796
11797 END LOOP;
11798
11799 END LOOP;
11800 CLOSE c30;
11801
11802 IF (p_flush = 'Y') THEN
11803 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11804 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_okl_k_party_roles_counter='|| l_okl_k_party_roles_counter || ' l_plid_tab.count='|| l_plid_tab.COUNT);
11805 END IF;
11806 IF (l_plid_tab.COUNT > 0) THEN
11807 forall i IN l_plid_tab.first..l_plid_tab.last
11808 INSERT INTO okl_k_party_roles (
11809 id, object_version_number, attribute_category,
11810 attribute1, attribute2, attribute3,
11811 attribute4, attribute5, attribute6,
11812 attribute7, attribute8, attribute9,
11813 attribute10, attribute11, attribute12,
11814 attribute13, attribute14, attribute15,
11815 created_by, creation_date, last_updated_by,
11816 last_update_date, last_update_login
11817 ) VALUES (
11818 l_plid_tab(i), l_plobject_version_number_tab(i), l_plattribute_category_tab(i),
11819 l_plattribute1_tab(i), l_plattribute2_tab(i), l_plattribute3_tab(i),
11820 l_plattribute4_tab(i), l_plattribute5_tab(i), l_plattribute6_tab(i),
11821 l_plattribute7_tab(i), l_plattribute8_tab(i), l_plattribute9_tab(i),
11822 l_plattribute10_tab(i), l_plattribute11_tab(i), l_plattribute12_tab(i),
11823 l_plattribute13_tab(i), l_plattribute14_tab(i), l_plattribute15_tab(i),
11824 l_created_by, SYSDATE, l_last_updated_by,
11825 SYSDATE, l_last_update_login
11826 );
11827 END IF;
11828 END IF;
11829
11830 EXCEPTION WHEN OTHERS THEN
11831
11832 x_return_status := OKL_API.G_RET_STS_ERROR;
11833 /* DEBUG */
11834 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11835 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
11836 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_okl_party_roles:l_plid_tab.count=' || l_plid_tab.COUNT || ' ...');
11837 END IF;
11838 IF (l_plid_tab.COUNT > 0) THEN
11839 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11840 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_plid_tab...');
11841 END IF;
11842 FOR i IN l_plid_tab.FIRST..l_plid_tab.LAST
11843 LOOP
11844 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11845 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plid_tab('||i||')=' || l_plid_tab(i));
11846 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plobject_version_number_tab('||i||')=' || l_plobject_version_number_tab(i));
11847 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute_category_tab('||i||')=' || l_plattribute_category_tab(i));
11848 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute1_tab('||i||')=' || l_plattribute1_tab(i));
11849 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute2_tab('||i||')=' || l_plattribute2_tab(i));
11850 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute3_tab('||i||')=' || l_plattribute3_tab(i));
11851 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute4_tab('||i||')=' || l_plattribute4_tab(i));
11852 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute5_tab('||i||')=' || l_plattribute5_tab(i));
11853 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute6_tab('||i||')=' || l_plattribute6_tab(i));
11854 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute7_tab('||i||')=' || l_plattribute7_tab(i));
11855 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute8_tab('||i||')=' || l_plattribute8_tab(i));
11856 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute9_tab('||i||')=' || l_plattribute9_tab(i));
11857 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute10_tab('||i||')=' || l_plattribute10_tab(i));
11858 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute11_tab('||i||')=' || l_plattribute11_tab(i));
11859 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute12_tab('||i||')=' || l_plattribute12_tab(i));
11860 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute13_tab('||i||')=' || l_plattribute13_tab(i));
11861 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute14_tab('||i||')=' || l_plattribute14_tab(i));
11862 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute15_tab('||i||')=' || l_plattribute15_tab(i));
11863 END IF;
11864 END LOOP;
11865
11866 END IF;
11867
11868 RAISE OKC_API.G_EXCEPTION_ERROR;
11869
11870 END; /* prepare_okl_party_roles */
11871
11872 PROCEDURE prepare_party_roles_tl (p_old_id IN okc_k_party_roles_b.id%TYPE,
11873 p_new_id IN okc_k_party_roles_b.id%TYPE,
11874 p_flush IN VARCHAR2) IS
11875 CURSOR c10(p_id okc_k_party_roles_tl.id%TYPE) IS
11876 SELECT
11877 id, LANGUAGE, source_lang,
11878 sfwt_flag, created_by, creation_date,
11879 last_updated_by, last_update_date, cognomen,
11880 alias, last_update_login, security_group_id
11881 FROM okc_k_party_roles_tl
11882 WHERE id = p_id;
11883
11884 l_pid_tab2 l_pid_type;
11885 l_planguage_tab2 l_planguage_type;
11886 l_psource_lang_tab2 l_psource_lang_type;
11887 l_psfwt_flag_tab2 l_psfwt_flag_type;
11888 l_pcreated_by_tab2 l_pcreated_by_type;
11889 l_pcreation_date_tab2 l_pcreation_date_type;
11890 l_plast_updated_by_tab2 l_plast_updated_by_type;
11891 l_plast_update_date_tab2 l_plast_update_date_type;
11892 l_pcognomen_tab2 l_pcognomen_type;
11893 l_palias_tab2 l_palias_type;
11894 l_plast_update_login_tab2 l_plast_update_login_type;
11895 l_psecurity_group_id_tab2 l_psecurity_group_id_type;
11896
11897 BEGIN
11898 IF (G_DEBUG_ENABLED = 'Y') THEN
11899 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
11900 END IF;
11901 --print('In prepare_party_roles_tl p_old_id=' || p_old_id);
11902 --print('In prepare_party_roles_tl p_new_id=' || p_new_id);
11903 OPEN c10(p_old_id);
11904 LOOP
11905 FETCH c10 bulk collect INTO
11906 l_pid_tab2, l_planguage_tab2, l_psource_lang_tab2,
11907 l_psfwt_flag_tab2, l_pcreated_by_tab2, l_pcreation_date_tab2,
11908 l_plast_updated_by_tab2, l_plast_update_date_tab2, l_pcognomen_tab2,
11909 l_palias_tab2, l_plast_update_login_tab2, l_psecurity_group_id_tab2
11910 limit G_BULK_SIZE;
11911 EXIT WHEN l_pid_tab2.COUNT = 0;
11912
11913 FOR i IN l_pid_tab2.first..l_pid_tab2.last
11914 LOOP
11915 l_pid_tab(l_party_roles_tl_counter) := l_pid_tab2(i);
11916
11917 -- Replace id
11918 l_pid_tab(l_party_roles_tl_counter) := p_new_id;
11919
11920 l_planguage_tab(l_party_roles_tl_counter) := l_planguage_tab2(i);
11921 l_psource_lang_tab(l_party_roles_tl_counter) := l_psource_lang_tab2(i);
11922 l_psfwt_flag_tab(l_party_roles_tl_counter) := l_psfwt_flag_tab2(i);
11923 l_pcreated_by_tab(l_party_roles_tl_counter) := l_pcreated_by_tab2(i);
11924 l_pcreation_date_tab(l_party_roles_tl_counter) := l_pcreation_date_tab2(i);
11925 l_plast_updated_by_tab(l_party_roles_tl_counter) := l_plast_updated_by_tab2(i);
11926 l_plast_update_date_tab(l_party_roles_tl_counter) := l_plast_update_date_tab2(i);
11927 l_pcognomen_tab(l_party_roles_tl_counter) := l_pcognomen_tab2(i);
11928 l_palias_tab(l_party_roles_tl_counter) := l_palias_tab2(i);
11929 l_plast_update_login_tab(l_party_roles_tl_counter) := l_plast_update_login_tab2(i);
11930 l_psecurity_group_id_tab(l_party_roles_tl_counter) := l_psecurity_group_id_tab2(i);
11931
11932 l_party_roles_tl_counter := l_party_roles_tl_counter + 1;
11933 END LOOP;
11934
11935 END LOOP;
11936 CLOSE c10;
11937
11938 IF (p_flush = 'L') THEN
11939 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11940 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_party_roles_tl_counter='|| l_party_roles_tl_counter || ' l_pid_tab.count='|| l_pid_tab.COUNT);
11941 END IF;
11942 IF (l_pid_tab.COUNT > 0) THEN
11943 forall i IN l_pid_tab.first..l_pid_tab.last
11944 INSERT INTO okc_k_party_roles_tl (
11945 id, LANGUAGE, source_lang,
11946 sfwt_flag, created_by, creation_date,
11947 last_updated_by, last_update_date, cognomen,
11948 alias, last_update_login, security_group_id
11949 ) VALUES (
11950 l_pid_tab(i), l_planguage_tab(i), l_psource_lang_tab(i),
11951 'N', l_created_by, SYSDATE,
11952 l_last_updated_by, SYSDATE,l_pcognomen_tab(i),
11953 l_palias_tab(i),l_last_update_login, l_psecurity_group_id_tab(i)
11954 );
11955 END IF;
11956 END IF;
11957
11958 EXCEPTION WHEN OTHERS THEN
11959
11960 x_return_status := OKL_API.G_RET_STS_ERROR;
11961 /*OKL_API.set_message(p_app_name => 'OKL',
11962 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
11963 p_token1 => 'ASSET_NUMBER',
11964 p_token1_value => 'prepare_party_roles_tl');*/
11965 /* DEBUG */
11966 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11967 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
11968 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_party_roles_tl:l_pid_tab.count=' || l_pid_tab.COUNT || ' ...');
11969 END IF;
11970 IF (l_pid_tab.COUNT > 0) THEN
11971 FOR i IN l_pid_tab.first..l_pid_tab.last
11972 LOOP
11973 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11974 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pid_tab('||i||')=' || l_pid_tab(i));
11975 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_planguage_tab('||i||')=' || l_planguage_tab(i));
11976 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_psource_lang_tab('||i||')=' || l_psource_lang_tab(i));
11977 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pcognomen_tab('||i||')=' || l_pcognomen_tab(i));
11978 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_palias_tab('||i||')=' || l_palias_tab(i));
11979 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_psecurity_group_id_tab('||i||')=' || l_psecurity_group_id_tab(i));
11980 END IF;
11981 END LOOP;
11982 END IF;
11983
11984 RAISE OKC_API.G_EXCEPTION_ERROR;
11985
11986 END; /* prepare_party_roles_tl */
11987
11988 PROCEDURE prepare_contacts (p_old_id IN okc_k_party_roles_b.id%TYPE,
11989 p_new_id IN okc_k_party_roles_b.id%TYPE,
11990 p_flush IN VARCHAR2) IS
11991 CURSOR c11(p_id okc_k_party_roles_tl.id%TYPE) IS
11992 SELECT
11993 id, cpl_id, cro_code,
11994 dnz_chr_id, object1_id1, object1_id2,
11995 jtot_object1_code, object_version_number, created_by,
11996 creation_date, last_updated_by, last_update_date,
11997 contact_sequence, last_update_login, attribute_category,
11998 attribute1, attribute2, attribute3,
11999 attribute4, attribute5, attribute6,
12000 attribute7, attribute8, attribute9,
12001 attribute10, attribute11, attribute12,
12002 attribute13, attribute14, attribute15,
12003 security_group_id, start_date, end_date,
12004 primary_yn, resource_class
12005 FROM okc_contacts
12006 WHERE cpl_id = p_id;
12007
12008 l_cid_tab2 l_cid_type;
12009 l_ccpl_id_tab2 l_ccpl_id_type;
12010 l_ccro_code_tab2 l_ccro_code_type;
12011 l_cdnz_chr_id_tab2 l_cdnz_chr_id_type;
12012 l_cobject1_id1_tab2 l_cobject1_id1_type;
12013 l_cobject1_id2_tab2 l_cobject1_id2_type;
12014 l_cjtot_object1_code_tab2 l_cjtot_object1_code_type;
12015 l_cobject_version_number_tab2 l_cobject_version_number_type;
12016 l_ccreated_by_tab2 l_ccreated_by_type;
12017 l_ccreation_date_tab2 l_ccreation_date_type;
12018 l_clast_updated_by_tab2 l_clast_updated_by_type;
12019 l_clast_update_date_tab2 l_clast_update_date_type;
12020 l_ccontact_sequence_tab2 l_ccontact_sequence_type;
12021 l_clast_update_login_tab2 l_clast_update_login_type;
12022 l_cattribute_category_tab2 l_cattribute_category_type;
12023 l_cattribute1_tab2 l_cattribute1_type;
12024 l_cattribute2_tab2 l_cattribute2_type;
12025 l_cattribute3_tab2 l_cattribute3_type;
12026 l_cattribute4_tab2 l_cattribute4_type;
12027 l_cattribute5_tab2 l_cattribute5_type;
12028 l_cattribute6_tab2 l_cattribute6_type;
12029 l_cattribute7_tab2 l_cattribute7_type;
12030 l_cattribute8_tab2 l_cattribute8_type;
12031 l_cattribute9_tab2 l_cattribute9_type;
12032 l_cattribute10_tab2 l_cattribute10_type;
12033 l_cattribute11_tab2 l_cattribute11_type;
12034 l_cattribute12_tab2 l_cattribute12_type;
12035 l_cattribute13_tab2 l_cattribute13_type;
12036 l_cattribute14_tab2 l_cattribute14_type;
12037 l_cattribute15_tab2 l_cattribute15_type;
12038 l_csecurity_group_id_tab2 l_csecurity_group_id_type;
12039 l_cstart_date_tab2 l_cstart_date_type;
12040 l_cend_date_tab2 l_cend_date_type;
12041 l_cprimary_yn_tab2 l_cprimary_yn_type;
12042 l_cresource_class_tab2 l_cresource_class_type;
12043
12044 BEGIN
12045 IF (G_DEBUG_ENABLED = 'Y') THEN
12046 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
12047 END IF;
12048 --print('In prepare_contacts p_old_id=' || p_old_id);
12049 --print('In prepare_contacts p_new_id=' || p_new_id);
12050 OPEN c11(p_old_id);
12051 LOOP
12052 FETCH c11 bulk collect INTO
12053 l_cid_tab2, l_ccpl_id_tab2, l_ccro_code_tab2,
12054 l_cdnz_chr_id_tab2, l_cobject1_id1_tab2, l_cobject1_id2_tab2,
12055 l_cjtot_object1_code_tab2,l_cobject_version_number_tab2,l_ccreated_by_tab2,
12056 l_ccreation_date_tab2, l_clast_updated_by_tab2, l_clast_update_date_tab2,
12057 l_ccontact_sequence_tab2, l_clast_update_login_tab2, l_cattribute_category_tab2,
12058 l_cattribute1_tab2, l_cattribute2_tab2, l_cattribute3_tab2,
12059 l_cattribute4_tab2, l_cattribute5_tab2, l_cattribute6_tab2,
12060 l_cattribute7_tab2, l_cattribute8_tab2, l_cattribute9_tab2,
12061 l_cattribute10_tab2, l_cattribute11_tab2, l_cattribute12_tab2,
12062 l_cattribute13_tab2, l_cattribute14_tab2, l_cattribute15_tab2,
12063 l_csecurity_group_id_tab2, l_cstart_date_tab2, l_cend_date_tab2,
12064 l_cprimary_yn_tab2, l_cresource_class_tab2
12065 limit G_BULK_SIZE;
12066 EXIT WHEN l_cid_tab2.COUNT = 0;
12067
12068 FOR i IN l_cid_tab2.first..l_cid_tab2.last
12069 LOOP
12070 l_cid_tab(l_contacts_counter) := l_cid_tab2(i);
12071
12072 -- Replace id
12073 l_cid_tab(l_contacts_counter) := okc_p_util.raw_to_number(sys_guid());
12074
12075 l_ccpl_id_tab(l_contacts_counter) := l_ccpl_id_tab2(i);
12076 -- Replace cpl_id
12077 l_ccpl_id_tab(l_contacts_counter) := p_new_id;
12078
12079 l_ccro_code_tab(l_contacts_counter) := l_ccro_code_tab2(i);
12080 l_cdnz_chr_id_tab(l_contacts_counter) := l_cdnz_chr_id_tab2(i);
12081 -- Replace dnz_chr_id
12082 l_cdnz_chr_id_tab(l_contacts_counter) := l_copied_id;
12083
12084 l_cobject1_id1_tab(l_contacts_counter) := l_cobject1_id1_tab2(i);
12085 l_cobject1_id2_tab(l_contacts_counter) := l_cobject1_id2_tab2(i);
12086 l_cjtot_object1_code_tab(l_contacts_counter) := l_cjtot_object1_code_tab2(i);
12087 l_cobject_version_number_tab(l_contacts_counter) := l_cobject_version_number_tab2(i);
12088 l_ccreated_by_tab(l_contacts_counter) := l_ccreated_by_tab2(i);
12089 l_ccreation_date_tab(l_contacts_counter) := l_ccreation_date_tab2(i);
12090 l_clast_updated_by_tab(l_contacts_counter) := l_clast_updated_by_tab2(i);
12091 l_clast_update_date_tab(l_contacts_counter) := l_clast_update_date_tab2(i);
12092 l_ccontact_sequence_tab(l_contacts_counter) := l_ccontact_sequence_tab2(i);
12093 l_clast_update_login_tab(l_contacts_counter) := l_clast_update_login_tab2(i);
12094 l_cattribute_category_tab(l_contacts_counter) := l_cattribute_category_tab2(i);
12095 l_cattribute1_tab(l_contacts_counter) := l_cattribute1_tab2(i);
12096 l_cattribute2_tab(l_contacts_counter) := l_cattribute2_tab2(i);
12097 l_cattribute3_tab(l_contacts_counter) := l_cattribute3_tab2(i);
12098 l_cattribute4_tab(l_contacts_counter) := l_cattribute4_tab2(i);
12099 l_cattribute5_tab(l_contacts_counter) := l_cattribute5_tab2(i);
12100 l_cattribute6_tab(l_contacts_counter) := l_cattribute6_tab2(i);
12101 l_cattribute7_tab(l_contacts_counter) := l_cattribute7_tab2(i);
12102 l_cattribute8_tab(l_contacts_counter) := l_cattribute8_tab2(i);
12103 l_cattribute9_tab(l_contacts_counter) := l_cattribute9_tab2(i);
12104 l_cattribute10_tab(l_contacts_counter) := l_cattribute10_tab2(i);
12105 l_cattribute11_tab(l_contacts_counter) := l_cattribute11_tab2(i);
12106 l_cattribute12_tab(l_contacts_counter) := l_cattribute12_tab2(i);
12107 l_cattribute13_tab(l_contacts_counter) := l_cattribute13_tab2(i);
12108 l_cattribute14_tab(l_contacts_counter) := l_cattribute14_tab2(i);
12109 l_cattribute15_tab(l_contacts_counter) := l_cattribute15_tab2(i);
12110 l_csecurity_group_id_tab(l_contacts_counter) := l_csecurity_group_id_tab2(i);
12111 l_cstart_date_tab(l_contacts_counter) := l_cstart_date_tab2(i);
12112 l_cend_date_tab(l_contacts_counter) := l_cend_date_tab2(i);
12113 l_cprimary_yn_tab(l_contacts_counter) := l_cprimary_yn_tab2(i);
12114 l_cresource_class_tab(l_contacts_counter) := l_cresource_class_tab2(i);
12115
12116 l_contacts_counter := l_contacts_counter + 1;
12117 END LOOP;
12118
12119 END LOOP;
12120 CLOSE c11;
12121
12122 IF (p_flush = 'L') THEN
12123 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12124 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_contacts_counter='|| l_contacts_counter || ' l_cid_tab.count='|| l_cid_tab.COUNT);
12125 END IF;
12126 IF (l_contacts_counter > 1) THEN
12127 forall i IN l_cid_tab.first..l_cid_tab.last
12128 INSERT INTO okc_contacts (
12129 id, cpl_id, cro_code,
12130 dnz_chr_id, object1_id1, object1_id2,
12131 jtot_object1_code, object_version_number, created_by,
12132 creation_date, last_updated_by, last_update_date,
12133 contact_sequence, last_update_login, attribute_category,
12134 attribute1, attribute2, attribute3,
12135 attribute4, attribute5, attribute6,
12136 attribute7, attribute8, attribute9,
12137 attribute10, attribute11, attribute12,
12138 attribute13, attribute14, attribute15,
12139 security_group_id, start_date, end_date,
12140 primary_yn, resource_class
12141 ) VALUES (
12142 l_cid_tab(i), l_ccpl_id_tab(i), l_ccro_code_tab(i),
12143 l_cdnz_chr_id_tab(i), l_cobject1_id1_tab(i), l_cobject1_id2_tab(i),
12144 l_cjtot_object1_code_tab(i), 1, l_created_by,
12145 SYSDATE, l_last_updated_by, SYSDATE,
12146 l_ccontact_sequence_tab(i), l_last_update_login, l_cattribute_category_tab(i),
12147 l_cattribute1_tab(i), l_cattribute2_tab(i), l_cattribute3_tab(i),
12148 l_cattribute4_tab(i), l_cattribute5_tab(i), l_cattribute6_tab(i),
12149 l_cattribute7_tab(i), l_cattribute8_tab(i), l_cattribute9_tab(i),
12150 l_cattribute10_tab(i), l_cattribute11_tab(i), l_cattribute12_tab(i),
12151 l_cattribute13_tab(i), l_cattribute14_tab(i), l_cattribute15_tab(i),
12152 l_csecurity_group_id_tab(i), l_cstart_date_tab(i), l_cend_date_tab(i),
12153 l_cprimary_yn_tab(i),l_cresource_class_tab(i)
12154 );
12155 END IF;
12156 END IF;
12157
12158 EXCEPTION WHEN OTHERS THEN
12159
12160 x_return_status := OKL_API.G_RET_STS_ERROR;
12161 /*OKL_API.set_message(p_app_name => 'OKL',
12162 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
12163 p_token1 => 'ASSET_NUMBER',
12164 p_token1_value => 'prepare_contacts');*/
12165 /* DEBUG */
12166 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12167 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
12168 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_contacts:l_cid_tab.count=' || l_cid_tab.COUNT || ' ...');
12169 END IF;
12170 IF (l_cid_tab.COUNT > 0) THEN
12171 FOR i IN l_cid_tab.first..l_cid_tab.last
12172 LOOP
12173 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12174 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cid_tab('||i||')=' || l_cid_tab(i));
12175 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ccpl_id_tab('||i||')=' || l_ccpl_id_tab(i));
12176 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ccro_code_tab('||i||')=' || l_ccro_code_tab(i));
12177 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cdnz_chr_id_tab('||i||')=' || l_cdnz_chr_id_tab(i));
12178 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cobject1_id1_tab('||i||')=' || l_cobject1_id1_tab(i));
12179 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cobject1_id2_tab('||i||')=' || l_cobject1_id2_tab(i));
12180 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cjtot_object1_code_tab('||i||')=' || l_cjtot_object1_code_tab(i));
12181 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ccontact_sequence_tab('||i||')=' || l_ccontact_sequence_tab(i));
12182 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute_category_tab('||i||')=' || l_cattribute_category_tab(i));
12183 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute1_tab('||i||')=' || l_cattribute1_tab(i));
12184 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute2_tab('||i||')=' || l_cattribute2_tab(i));
12185 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute3_tab('||i||')=' || l_cattribute3_tab(i));
12186 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute4_tab('||i||')=' || l_cattribute4_tab(i));
12187 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute5_tab('||i||')=' || l_cattribute5_tab(i));
12188 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute6_tab('||i||')=' || l_cattribute6_tab(i));
12189 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute7_tab('||i||')=' || l_cattribute7_tab(i));
12190 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute8_tab('||i||')=' || l_cattribute8_tab(i));
12191 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute9_tab('||i||')=' || l_cattribute9_tab(i));
12192 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute10_tab('||i||')=' || l_cattribute10_tab(i));
12193 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute11_tab('||i||')=' || l_cattribute11_tab(i));
12194 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute12_tab('||i||')=' || l_cattribute12_tab(i));
12195 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute13_tab('||i||')=' || l_cattribute13_tab(i));
12196 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute14_tab('||i||')=' || l_cattribute14_tab(i));
12197 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute15_tab('||i||')=' || l_cattribute15_tab(i));
12198 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_csecurity_group_id_tab('||i||')=' || l_csecurity_group_id_tab(i));
12199 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cstart_date_tab('||i||')=' || l_cstart_date_tab(i));
12200 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cend_date_tab('||i||')=' || l_cend_date_tab(i));
12201 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cprimary_yn_tab('||i||')=' || l_cprimary_yn_tab(i));
12202 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cresource_class_tab('||i||')=' || l_cresource_class_tab(i));
12203 END IF;
12204 END LOOP;
12205 END IF;
12206
12207 RAISE OKC_API.G_EXCEPTION_ERROR;
12208
12209 END; /* prepare_contacts */
12210
12211 FUNCTION find_phid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
12212 hi NUMBER;
12213 lo NUMBER;
12214 m NUMBER;
12215 BEGIN
12216 lo := 1;
12217 hi := l_party_payment_hdr_counter - 1;
12218 WHILE (lo <= hi) LOOP
12219 m := FLOOR((hi + lo)/2);
12220 IF (l_phid_mapping_tab(m).old_id = p_id) THEN
12221 RETURN l_phid_mapping_tab(m).new_id;
12222 ELSIF (l_phid_mapping_tab(m).old_id > p_id) THEN
12223 hi := m - 1;
12224 ELSE
12225 lo := m + 1;
12226 END IF;
12227 END LOOP;
12228 RETURN -1;
12229 END; /* find_phid_mapping_id */
12230
12231 PROCEDURE sort_phid_mapping_tab IS
12232 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
12233 --a numtabtype;
12234 l_stack numtabtype;
12235 l_stack_index NUMBER := 0;
12236 N NUMBER;
12237 R NUMBER;
12238 L NUMBER;
12239 P NUMBER;
12240 W NUMBER;
12241 W2 NUMBER;
12242 X NUMBER;
12243 I NUMBER;
12244 J NUMBER;
12245 BEGIN
12246 IF (G_DEBUG_ENABLED = 'Y') THEN
12247 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
12248 END IF;
12249 NULL;
12250
12251 N := l_party_payment_hdr_counter - 1;
12252 IF (N < 2) THEN
12253 RETURN;
12254 END IF;
12255 l_stack_index := l_stack_index + 1;
12256 l_stack(l_stack_index) := 1;
12257 l_stack_index := l_stack_index + 1;
12258 l_stack(l_stack_index) := N;
12259
12260 --dbms_output.put_line('l_stack_index=' || l_stack_index);
12261 WHILE l_stack_index > 0
12262 LOOP
12263 R := l_stack(l_stack_index);
12264 l_stack_index := l_stack_index - 1;
12265 L := l_stack(l_stack_index);
12266 l_stack_index := l_stack_index - 1;
12267 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
12268 WHILE 1=1
12269 LOOP -- loop until L >= R
12270 I := L;
12271 J := R;
12272 P := FLOOR((L+R)/2);
12273 --if (a(L) > a(P)) then
12274 IF (l_phid_mapping_tab(L).old_id > l_phid_mapping_tab(P).old_id)
12275 THEN
12276 W := l_phid_mapping_tab(L).old_id;
12277 W2 := l_phid_mapping_tab(L).new_id;
12278 l_phid_mapping_tab(L).old_id :=l_phid_mapping_tab(P).old_id;
12279 l_phid_mapping_tab(L).new_id :=l_phid_mapping_tab(P).new_id;
12280 l_phid_mapping_tab(P).old_id := W;
12281 l_phid_mapping_tab(P).new_id := W2;
12282 END IF;
12283 --if (a(L) > a(R)) then
12284 IF (l_phid_mapping_tab(L).old_id > l_phid_mapping_tab(R).old_id)
12285 THEN
12286 W := l_phid_mapping_tab(L).old_id;
12287 W2 := l_phid_mapping_tab(L).new_id;
12288 l_phid_mapping_tab(L).old_id :=l_phid_mapping_tab(R).old_id;
12289 l_phid_mapping_tab(L).new_id :=l_phid_mapping_tab(R).new_id;
12290 l_phid_mapping_tab(R).old_id := W;
12291 l_phid_mapping_tab(R).new_id := W2;
12292 END IF;
12293 --if (a(P) > a(R)) then
12294 IF (l_phid_mapping_tab(P).old_id > l_phid_mapping_tab(R).old_id)
12295 THEN
12296 W := l_phid_mapping_tab(P).old_id;
12297 W2 := l_phid_mapping_tab(P).new_id;
12298 l_phid_mapping_tab(P).old_id :=l_phid_mapping_tab(R).old_id;
12299 l_phid_mapping_tab(P).new_id :=l_phid_mapping_tab(R).new_id;
12300 l_phid_mapping_tab(R).old_id := W;
12301 l_phid_mapping_tab(R).new_id := W2;
12302 END IF;
12303 --X := a(P);
12304 X := l_phid_mapping_tab(P).old_id;
12305 WHILE 1=1
12306 LOOP -- until I > J
12307 --while (a(I) < X) loop
12308 WHILE (l_phid_mapping_tab(I).old_id < X) LOOP
12309 I := I + 1;
12310 END LOOP;
12311 WHILE (X < l_phid_mapping_tab(J).old_id) LOOP
12312 J := J - 1;
12313 END LOOP;
12314 IF (I <= J) THEN
12315 W := l_phid_mapping_tab(I).old_id;
12316 W2 := l_phid_mapping_tab(I).new_id;
12317 l_phid_mapping_tab(I).old_id :=l_phid_mapping_tab(J).old_id;
12318 l_phid_mapping_tab(I).new_id :=l_phid_mapping_tab(J).new_id;
12319 l_phid_mapping_tab(J).old_id := W;
12320 l_phid_mapping_tab(J).new_id := W2;
12321 I := I + 1;
12322 J := J - 1;
12323 END IF;
12324 EXIT WHEN I > J;
12325 END LOOP;
12326 IF (J - L < R - I) THEN
12327 IF (I < R) THEN
12328 --push(I); push(R);
12329 l_stack_index := l_stack_index + 1;
12330 l_stack(l_stack_index) := I;
12331 l_stack_index := l_stack_index + 1;
12332 l_stack(l_stack_index) := R;
12333 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
12334 END IF;
12335 R := J;
12336 ELSE
12337 IF (L < J) THEN
12338 --push(L); push(J);
12339 l_stack_index := l_stack_index + 1;
12340 l_stack(l_stack_index) := L;
12341 l_stack_index := l_stack_index + 1;
12342 l_stack(l_stack_index) := J;
12343 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
12344 END IF;
12345 L := I;
12346 END IF;
12347
12348 EXIT WHEN (L >= R);
12349 END LOOP;
12350 END LOOP;
12351
12352 EXCEPTION WHEN OTHERS THEN
12353
12354 --x_return_status := OKL_API.G_RET_STS_ERROR;
12355 /* DEBUG */
12356 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12357 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
12358 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_phid_mapping_tab:l_phid_mapping_tab N=' || N || ' ...');
12359 END IF;
12360 --print array
12361 FOR i IN 1..N
12362 LOOP
12363 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12364 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_phid_mapping_tab('||i||')=' || l_phid_mapping_tab(i).old_id || ':' || l_phid_mapping_tab(i).new_id);
12365 END IF;
12366 END LOOP;
12367
12368 RAISE OKC_API.G_EXCEPTION_ERROR;
12369
12370 END; /* sort_phid_mapping_tab */
12371
12372
12373 Procedure copy_party_payment_hdr(p_old_id IN NUMBER,
12374 p_new_id IN NUMBER) IS
12375 TYPE l_phid_type is table of okl_party_payment_hdr.id%TYPE index by binary_integer;
12376 TYPE l_phdnz_chr_id_type is table of okl_party_payment_hdr.dnz_chr_id%TYPE index by binary_integer;
12377 TYPE l_phcle_id_type is table of okl_party_payment_hdr.cle_id%TYPE index by binary_integer;
12378 TYPE l_phppl_id_type is table of okl_party_payment_hdr.ppl_id%TYPE index by binary_integer;
12379 TYPE l_phpassthru_start_date_type is table of okl_party_payment_hdr.passthru_start_date%TYPE index by binary_integer;
12380 TYPE l_phpayout_basis_type is table of okl_party_payment_hdr.payout_basis%TYPE index by binary_integer;
12381 TYPE l_pheffective_from_type is table of okl_party_payment_hdr.effective_from%TYPE index by binary_integer;
12382 TYPE l_pheffective_to_type is table of okl_party_payment_hdr.effective_to%TYPE index by binary_integer;
12383 TYPE l_phobject_version_number_type is table of okl_party_payment_hdr.object_version_number%TYPE index by binary_integer;
12384 TYPE l_phpassthru_term_type is table of okl_party_payment_hdr.passthru_term%TYPE index by binary_integer;
12385 TYPE l_phpayout_basis_formula_type is table of okl_party_payment_hdr.payout_basis_formula%TYPE index by binary_integer;
12386 TYPE l_phpassthru_stre_type_id_type is table of okl_party_payment_hdr.passthru_stream_type_id%TYPE index by binary_integer;
12387
12388 l_phid_tab l_phid_type;
12389 l_phdnz_chr_id_tab l_phdnz_chr_id_type;
12390 l_phcle_id_tab l_phcle_id_type;
12391 l_phppl_id_tab l_phppl_id_type;
12392 l_phpassthru_start_date_tab l_phpassthru_start_date_type;
12393 l_phpayout_basis_tab l_phpayout_basis_type;
12394 l_pheffective_from_tab l_pheffective_from_type;
12395 l_pheffective_to_tab l_pheffective_to_type;
12396 l_phobject_version_number_tab l_phobject_version_number_type;
12397 l_phpassthru_term_tab l_phpassthru_term_type;
12398 l_phpayout_basis_formula_tab l_phpayout_basis_formula_type;
12399 l_phpassthru_stre_type_id_tab l_phpassthru_stre_type_id_type;
12400
12401 l_phid_tab2 l_phid_type;
12402 l_phdnz_chr_id_tab2 l_phdnz_chr_id_type;
12403 l_phcle_id_tab2 l_phcle_id_type;
12404 l_phppl_id_tab2 l_phppl_id_type;
12405 l_phpassthru_start_date_tab2 l_phpassthru_start_date_type;
12406 l_phpayout_basis_tab2 l_phpayout_basis_type;
12407 l_pheffective_from_tab2 l_pheffective_from_type;
12408 l_pheffective_to_tab2 l_pheffective_to_type;
12409 l_phobject_version_number_tab2 l_phobject_version_number_type;
12410 l_phpassthru_term_tab2 l_phpassthru_term_type;
12411 l_phpayout_basis_formula_tab2 l_phpayout_basis_formula_type;
12412 l_phpassthru_stre_type_id_tab2 l_phpassthru_stre_type_id_type;
12413
12414 CURSOR C31(p_id NUMBER) IS
12415 SELECT
12416 a.id, a.dnz_chr_id, a.cle_id,
12417 a.ppl_id, a.passthru_start_date, a.payout_basis,
12418 a.effective_from, a.effective_to, a.object_version_number,
12419 a.passthru_term, a.payout_basis_formula, a.passthru_stream_type_id
12420 FROM okl_party_payment_hdr a
12421 WHERE a.dnz_chr_id = p_id;
12422 l_new_cle_id NUMBER;
12423
12424 BEGIN
12425 NULL;
12426 OPEN C31(p_old_id);
12427 LOOP
12428 FETCH C31 BULK COLLECT INTO
12429 l_phid_tab2, l_phdnz_chr_id_tab2, l_phcle_id_tab2,
12430 l_phppl_id_tab2, l_phpassthru_start_date_tab2, l_phpayout_basis_tab2,
12431 l_pheffective_from_tab2, l_pheffective_to_tab2, l_phobject_version_number_tab2,
12432 l_phpassthru_term_tab2, l_phpayout_basis_formula_tab2, l_phpassthru_stre_type_id_tab2
12433 LIMIT G_BULK_SIZE;
12434 EXIT WHEN l_phid_tab2.COUNT = 0;
12435
12436 FOR i IN l_phid_tab2.FIRST..l_phid_tab2.LAST
12437 LOOP
12438 l_phid_tab(l_party_payment_hdr_counter) := l_phid_tab2(i);
12439 -- Replace id
12440 l_phid_tab(l_party_payment_hdr_counter) := okc_p_util.raw_to_number(sys_guid());
12441
12442 l_phid_mapping_tab(l_party_payment_hdr_counter).old_id :=
12443 l_phid_tab2(i);
12444 l_phid_mapping_tab(l_party_payment_hdr_counter).new_id :=
12445 l_phid_tab(l_party_payment_hdr_counter) ;
12446
12447 l_phdnz_chr_id_tab(l_party_payment_hdr_counter) := l_phdnz_chr_id_tab2(i);
12448 l_phdnz_chr_id_tab(l_party_payment_hdr_counter) := p_new_id;
12449
12450 l_phcle_id_tab(l_party_payment_hdr_counter) := l_phcle_id_tab2(i);
12451 l_new_cle_id := find_id(l_phcle_id_tab2(i));
12452
12453 -- l_phcle_id_tab2 could be null for header evergreen passthru, dedey 11/09
12454 IF (l_phcle_id_tab2(i) IS NOT NULL) THEN
12455 IF (l_new_cle_id = -1) THEN
12456 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12457 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: CLE_ID to NEW_CLE_ID mapping not found');
12458 END IF;
12459 RAISE OKL_API.G_EXCEPTION_ERROR;
12460 END IF;
12461 l_phcle_id_tab(l_party_payment_hdr_counter) := l_new_cle_id;
12462 END IF;
12463
12464 l_phppl_id_tab(l_party_payment_hdr_counter) := l_phppl_id_tab2(i);
12465 l_phpassthru_start_date_tab(l_party_payment_hdr_counter) := l_phpassthru_start_date_tab2(i);
12466 l_phpayout_basis_tab(l_party_payment_hdr_counter) := l_phpayout_basis_tab2(i);
12467 l_pheffective_from_tab(l_party_payment_hdr_counter) := l_pheffective_from_tab2(i);
12468 l_pheffective_to_tab(l_party_payment_hdr_counter) := l_pheffective_to_tab2(i);
12469 l_phobject_version_number_tab(l_party_payment_hdr_counter) := l_phobject_version_number_tab2(i);
12470 l_phpassthru_term_tab(l_party_payment_hdr_counter) := l_phpassthru_term_tab2(i);
12471 l_phpayout_basis_formula_tab(l_party_payment_hdr_counter) := l_phpayout_basis_formula_tab2(i);
12472 l_phpassthru_stre_type_id_tab(l_party_payment_hdr_counter) := l_phpassthru_stre_type_id_tab2(i);
12473
12474 l_party_payment_hdr_counter := l_party_payment_hdr_counter + 1;
12475 END LOOP;
12476 END LOOP;
12477 CLOSE C31;
12478 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12479 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_party_payment_hdr_counter=' || l_party_payment_hdr_counter);
12480 END IF;
12481 IF (l_party_payment_hdr_counter > 1) THEN
12482 sort_phid_mapping_tab;
12483 FORALL i IN l_phid_tab.FIRST..l_phid_tab.LAST
12484 INSERT INTO okl_party_payment_hdr (
12485 id, dnz_chr_id, cle_id,
12486 ppl_id, passthru_start_date, payout_basis,
12487 effective_from, effective_to, created_by,
12488 creation_date, last_updated_by, last_update_date,
12489 last_update_login, object_version_number, passthru_term,
12490 payout_basis_formula, passthru_stream_type_id
12491 ) VALUES (
12492 l_phid_tab(i), l_phdnz_chr_id_tab(i), l_phcle_id_tab(i),
12493 l_phppl_id_tab(i), l_phpassthru_start_date_tab(i), l_phpayout_basis_tab(i),
12494 l_pheffective_from_tab(i), l_pheffective_to_tab(i), l_created_by,
12495 SYSDATE, l_last_updated_by, SYSDATE,
12496 l_last_update_login, l_phobject_version_number_tab(i), l_phpassthru_term_tab(i),
12497 l_phpayout_basis_formula_tab(i), l_phpassthru_stre_type_id_tab(i)
12498 );
12499 END IF;
12500
12501 EXCEPTION WHEN OTHERS THEN
12502 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12503 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_phid_tab...l_phid_tab.COUNT=' || l_phid_tab.COUNT);
12504 END IF;
12505 IF (l_phid_tab.COUNT > 0) THEN
12506 for i in l_phID_tab.first..l_phID_tab.last
12507 loop
12508 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12509 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ID('||i||')=' || l_phID_tab(i));
12510 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'DNZ_CHR_ID('||i||')=' || l_phDNZ_CHR_ID_tab(i));
12511 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CLE_ID('||i||')=' || l_phCLE_ID_tab(i));
12512 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PPL_ID('||i||')=' || l_phPPL_ID_tab(i));
12513 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PASSTHRU_START_DATE('||i||')=' || l_phPASSTHRU_START_DATE_tab(i));
12514 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PAYOUT_BASIS('||i||')=' || l_phPAYOUT_BASIS_tab(i));
12515 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'EFFECTIVE_FROM('||i||')=' || l_phEFFECTIVE_FROM_tab(i));
12516 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'EFFECTIVE_TO('||i||')=' || l_phEFFECTIVE_TO_tab(i));
12517 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'OBJECT_VERSION_NUMBER('||i||')=' || l_phOBJECT_VERSION_NUMBER_tab(i));
12518 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PASSTHRU_TERM('||i||')=' || l_phPASSTHRU_TERM_tab(i));
12519 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PAYOUT_BASIS_FORMULA('||i||')=' || l_phPAYOUT_BASIS_FORMULA_tab(i));
12520 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PASSTHRU_STREAM_TYPE_ID('||i||')=' || l_phPASSTHRU_STRE_TYPE_ID_tab(i));
12521 END IF;
12522 end loop;
12523 END IF;
12524 RAISE OKC_API.G_EXCEPTION_ERROR;
12525
12526 END;
12527
12528 PROCEDURE prepare_party_payment_dtls (p_old_id IN okc_k_party_roles_b.id%TYPE,
12529 p_new_id IN okc_k_party_roles_b.id%TYPE,
12530 p_flush IN VARCHAR2) IS
12531 CURSOR c23(p_id NUMBER) IS
12532 SELECT
12533 id, object_version_number, cpl_id,
12534 vendor_id, pay_site_id, payment_term_id,
12535 payment_method_code, pay_group_code, attribute_category,
12536 attribute1, attribute2, attribute3,
12537 attribute4, attribute5, attribute6,
12538 attribute7, attribute8, attribute9,
12539 attribute10, attribute11, attribute12,
12540 attribute13, attribute14, attribute15,
12541 created_by, creation_date, last_updated_by,
12542 last_update_date, last_update_login, payment_hdr_id,
12543 payment_start_date, payment_frequency, remit_days,
12544 disbursement_basis, disbursement_fixed_amount, disbursement_percent,
12545 processing_fee_basis, processing_fee_fixed_amount, processing_fee_percent,
12546 payment_basis,
12547 ORIG_CONTRACT_LINE_ID --sechawla 8677460 : PRB ESG Enhancements : copy this new column on rebook copy K
12548 FROM okl_party_payment_dtls
12549 WHERE cpl_id = p_id;
12550
12551 l_ppid_tab2 l_ppid_type;
12552 l_ppobject_version_number_tab2 l_ppobject_version_number_type;
12553 l_ppcpl_id_tab2 l_ppcpl_id_type;
12554 l_ppvendor_id_tab2 l_ppvendor_id_type;
12555 l_pppay_site_id_tab2 l_pppay_site_id_type;
12556 l_pppayment_term_id_tab2 l_pppayment_term_id_type;
12557 l_pppayment_method_code_tab2 l_pppayment_method_code_type;
12558 l_pppay_group_code_tab2 l_pppay_group_code_type;
12559 l_ppattribute_category_tab2 l_ppattribute_category_type;
12560 l_ppattribute1_tab2 l_ppattribute1_type;
12561 l_ppattribute2_tab2 l_ppattribute2_type;
12562 l_ppattribute3_tab2 l_ppattribute3_type;
12563 l_ppattribute4_tab2 l_ppattribute4_type;
12564 l_ppattribute5_tab2 l_ppattribute5_type;
12565 l_ppattribute6_tab2 l_ppattribute6_type;
12566 l_ppattribute7_tab2 l_ppattribute7_type;
12567 l_ppattribute8_tab2 l_ppattribute8_type;
12568 l_ppattribute9_tab2 l_ppattribute9_type;
12569 l_ppattribute10_tab2 l_ppattribute10_type;
12570 l_ppattribute11_tab2 l_ppattribute11_type;
12571 l_ppattribute12_tab2 l_ppattribute12_type;
12572 l_ppattribute13_tab2 l_ppattribute13_type;
12573 l_ppattribute14_tab2 l_ppattribute14_type;
12574 l_ppattribute15_tab2 l_ppattribute15_type;
12575 l_ppcreated_by_tab2 l_ppcreated_by_type;
12576 l_ppcreation_date_tab2 l_ppcreation_date_type;
12577 l_pplast_updated_by_tab2 l_pplast_updated_by_type;
12578 l_pplast_update_date_tab2 l_pplast_update_date_type;
12579 l_pplast_update_login_tab2 l_pplast_update_login_type;
12580 l_pppayment_hdr_id_tab2 l_pppayment_hdr_id_type;
12581 l_pppayment_start_date_tab2 l_pppayment_start_date_type;
12582 l_pppayment_frequency_tab2 l_pppayment_frequency_type;
12583 l_ppremit_days_tab2 l_ppremit_days_type;
12584 l_ppdisbursement_basis_tab2 l_ppdisbursement_basis_type;
12585 l_ppdisbursement_fixed_am_tab2 l_ppdisbursement_fixed_am_type;
12586 l_ppdisbursement_percent_tab2 l_ppdisbursement_percent_type;
12587 l_ppprocessing_fee_basis_tab2 l_ppprocessing_fee_basis_type;
12588 l_ppprocessing_fee_fixedt_tab2 l_ppprocessing_fee_fixedt_type;
12589 l_ppprocessing_fee_percen_tab2 l_ppprocessing_fee_percen_type;
12590 l_pppayment_basis_tab2 l_pppayment_basis_type;
12591
12592 l_ppORIG_CONTRACT_LINE_ID_tab2 l_ppORIG_CONTRACT_LINE_ID_type; --sechawla 8677460 : PRB ESG Enhancements :
12593 l_new_payment_hdr_id NUMBER;
12594
12595 BEGIN
12596 IF (G_DEBUG_ENABLED = 'Y') THEN
12597 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
12598 END IF;
12599 OPEN c23(p_old_id);
12600 LOOP
12601 FETCH c23 bulk collect INTO
12602 l_ppid_tab2, l_ppobject_version_number_tab2, l_ppcpl_id_tab2,
12603 l_ppvendor_id_tab2, l_pppay_site_id_tab2, l_pppayment_term_id_tab2,
12604 l_pppayment_method_code_tab2, l_pppay_group_code_tab2, l_ppattribute_category_tab2,
12605 l_ppattribute1_tab2, l_ppattribute2_tab2, l_ppattribute3_tab2,
12606 l_ppattribute4_tab2, l_ppattribute5_tab2, l_ppattribute6_tab2,
12607 l_ppattribute7_tab2, l_ppattribute8_tab2, l_ppattribute9_tab2,
12608 l_ppattribute10_tab2, l_ppattribute11_tab2, l_ppattribute12_tab2,
12609 l_ppattribute13_tab2, l_ppattribute14_tab2, l_ppattribute15_tab2,
12610 l_ppcreated_by_tab2, l_ppcreation_date_tab2, l_pplast_updated_by_tab2,
12611 l_pplast_update_date_tab2, l_pplast_update_login_tab2, l_pppayment_hdr_id_tab2,
12612 l_pppayment_start_date_tab2, l_pppayment_frequency_tab2, l_ppremit_days_tab2,
12613 l_ppdisbursement_basis_tab2, l_ppdisbursement_fixed_am_tab2, l_ppdisbursement_percent_tab2,
12614 l_ppprocessing_fee_basis_tab2, l_ppprocessing_fee_fixedt_tab2, l_ppprocessing_fee_percen_tab2,
12615 l_pppayment_basis_tab2,
12616 l_ppORIG_CONTRACT_LINE_ID_tab2 --sechawla 8677460 : PRB ESG Enhancements
12617 limit G_BULK_SIZE;
12618 EXIT WHEN l_ppid_tab2.COUNT = 0;
12619 FOR i IN l_ppid_tab2.first..l_ppid_tab2.last
12620 LOOP
12621
12622 l_ppid_tab(l_party_payment_dtls_counter) := l_ppid_tab2(i);
12623 -- Change id
12624 l_ppid_tab(l_party_payment_dtls_counter) := okc_p_util.raw_to_number(sys_guid());
12625
12626 l_ppobject_version_number_tab(l_party_payment_dtls_counter) := l_ppobject_version_number_tab2(i);
12627 l_ppcpl_id_tab(l_party_payment_dtls_counter) := l_ppcpl_id_tab2(i);
12628 -- Change cpl_id
12629 l_ppcpl_id_tab(l_party_payment_dtls_counter) := p_new_id;
12630
12631 l_ppvendor_id_tab(l_party_payment_dtls_counter) := l_ppvendor_id_tab2(i);
12632 l_pppay_site_id_tab(l_party_payment_dtls_counter) := l_pppay_site_id_tab2(i);
12633 l_pppayment_term_id_tab(l_party_payment_dtls_counter) := l_pppayment_term_id_tab2(i);
12634 l_pppayment_method_code_tab(l_party_payment_dtls_counter) := l_pppayment_method_code_tab2(i);
12635 l_pppay_group_code_tab(l_party_payment_dtls_counter) := l_pppay_group_code_tab2(i);
12636 l_ppattribute_category_tab(l_party_payment_dtls_counter) := l_ppattribute_category_tab2(i);
12637 l_ppattribute1_tab(l_party_payment_dtls_counter) := l_ppattribute1_tab2(i);
12638 l_ppattribute2_tab(l_party_payment_dtls_counter) := l_ppattribute2_tab2(i);
12639 l_ppattribute3_tab(l_party_payment_dtls_counter) := l_ppattribute3_tab2(i);
12640 l_ppattribute4_tab(l_party_payment_dtls_counter) := l_ppattribute4_tab2(i);
12641 l_ppattribute5_tab(l_party_payment_dtls_counter) := l_ppattribute5_tab2(i);
12642 l_ppattribute6_tab(l_party_payment_dtls_counter) := l_ppattribute6_tab2(i);
12643 l_ppattribute7_tab(l_party_payment_dtls_counter) := l_ppattribute7_tab2(i);
12644 l_ppattribute8_tab(l_party_payment_dtls_counter) := l_ppattribute8_tab2(i);
12645 l_ppattribute9_tab(l_party_payment_dtls_counter) := l_ppattribute9_tab2(i);
12646 l_ppattribute10_tab(l_party_payment_dtls_counter) := l_ppattribute10_tab2(i);
12647 l_ppattribute11_tab(l_party_payment_dtls_counter) := l_ppattribute11_tab2(i);
12648 l_ppattribute12_tab(l_party_payment_dtls_counter) := l_ppattribute12_tab2(i);
12649 l_ppattribute13_tab(l_party_payment_dtls_counter) := l_ppattribute13_tab2(i);
12650 l_ppattribute14_tab(l_party_payment_dtls_counter) := l_ppattribute14_tab2(i);
12651 l_ppattribute15_tab(l_party_payment_dtls_counter) := l_ppattribute15_tab2(i);
12652 l_ppcreated_by_tab(l_party_payment_dtls_counter) := l_ppcreated_by_tab2(i);
12653 l_ppcreation_date_tab(l_party_payment_dtls_counter) := l_ppcreation_date_tab2(i);
12654 l_pplast_updated_by_tab(l_party_payment_dtls_counter) := l_pplast_updated_by_tab2(i);
12655 l_pplast_update_date_tab(l_party_payment_dtls_counter) := l_pplast_update_date_tab2(i);
12656 l_pplast_update_login_tab(l_party_payment_dtls_counter) := l_pplast_update_login_tab2(i);
12657 l_pppayment_hdr_id_tab(l_party_payment_dtls_counter) := l_pppayment_hdr_id_tab2(i);
12658 IF (l_pppayment_hdr_id_tab(l_party_payment_dtls_counter) IS NOT NULL) THEN
12659 l_new_payment_hdr_id := find_phid_mapping_id(
12660 l_pppayment_hdr_id_tab(l_party_payment_dtls_counter));
12661 l_pppayment_hdr_id_tab(l_party_payment_dtls_counter) := l_new_payment_hdr_id;
12662 END IF;
12663 l_pppayment_start_date_tab(l_party_payment_dtls_counter) := l_pppayment_start_date_tab2(i);
12664 l_pppayment_frequency_tab(l_party_payment_dtls_counter) := l_pppayment_frequency_tab2(i);
12665 l_ppremit_days_tab(l_party_payment_dtls_counter) := l_ppremit_days_tab2(i);
12666 l_ppdisbursement_basis_tab(l_party_payment_dtls_counter) := l_ppdisbursement_basis_tab2(i);
12667 l_ppdisbursement_fixed_am_tab(l_party_payment_dtls_counter) := l_ppdisbursement_fixed_am_tab2(i);
12668 l_ppdisbursement_percent_tab(l_party_payment_dtls_counter) := l_ppdisbursement_percent_tab2(i);
12669 l_ppprocessing_fee_basis_tab(l_party_payment_dtls_counter) := l_ppprocessing_fee_basis_tab2(i);
12670 l_ppprocessing_fee_fixedt_tab(l_party_payment_dtls_counter) := l_ppprocessing_fee_fixedt_tab2(i);
12671 l_ppprocessing_fee_percen_tab(l_party_payment_dtls_counter) := l_ppprocessing_fee_percen_tab2(i);
12672 l_pppayment_basis_tab(l_party_payment_dtls_counter) := l_pppayment_basis_tab2(i);
12673
12674 --sechawla 8677460 : PRB ESG Enhancements
12675 IF p_trans_type = 'CRB' THEN -- insert orig contract line id only if it is a rebook copy
12676 l_ppORIG_CONTRACT_LINE_ID_tab(l_party_payment_dtls_counter) := l_ppORIG_CONTRACT_LINE_ID_tab2(i);
12677 ELSE
12678 l_ppORIG_CONTRACT_LINE_ID_tab(l_party_payment_dtls_counter) := NULL;
12679 END IF;
12680
12681 l_party_payment_dtls_counter := l_party_payment_dtls_counter + 1;
12682
12683 END LOOP;
12684 END LOOP;
12685 CLOSE c23;
12686
12687 IF (p_flush = 'Y') THEN
12688 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12689 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_party_payment_dtls_counter=' || l_party_payment_dtls_counter || ' l_ppid_tab.count=' || l_ppid_tab.COUNT);
12690 END IF;
12691 IF (l_party_payment_dtls_counter > 1) THEN
12692 forall i IN l_ppid_tab.first..l_ppid_tab.last
12693 INSERT INTO okl_party_payment_dtls (
12694 id, object_version_number, cpl_id,
12695 vendor_id, pay_site_id, payment_term_id,
12696 payment_method_code, pay_group_code, attribute_category,
12697 attribute1, attribute2, attribute3,
12698 attribute4, attribute5, attribute6,
12699 attribute7, attribute8, attribute9,
12700 attribute10, attribute11, attribute12,
12701 attribute13, attribute14, attribute15,
12702 created_by, creation_date, last_updated_by,
12703 last_update_date, last_update_login, payment_hdr_id,
12704 payment_start_date, payment_frequency, remit_days,
12705 disbursement_basis, disbursement_fixed_amount, disbursement_percent,
12706 processing_fee_basis, processing_fee_fixed_amount, processing_fee_percent,
12707 payment_basis,
12708 ORIG_CONTRACT_LINE_ID --sechawla 8677460 : PRB ESG Enhancements : copy this new column on rebook copy contract
12709 ) VALUES (
12710 l_ppid_tab(i), l_ppobject_version_number_tab(i), l_ppcpl_id_tab(i),
12711 l_ppvendor_id_tab(i), l_pppay_site_id_tab(i), l_pppayment_term_id_tab(i),
12712 l_pppayment_method_code_tab(i), l_pppay_group_code_tab(i), l_ppattribute_category_tab(i),
12713 l_ppattribute1_tab(i), l_ppattribute2_tab(i), l_ppattribute3_tab(i),
12714 l_ppattribute4_tab(i), l_ppattribute5_tab(i), l_ppattribute6_tab(i),
12715 l_ppattribute7_tab(i), l_ppattribute8_tab(i), l_ppattribute9_tab(i),
12716 l_ppattribute10_tab(i), l_ppattribute11_tab(i), l_ppattribute12_tab(i),
12717 l_ppattribute13_tab(i), l_ppattribute14_tab(i), l_ppattribute15_tab(i),
12718 l_created_by, SYSDATE, l_last_updated_by,
12719 SYSDATE, l_last_update_login, l_pppayment_hdr_id_tab(i),
12720 l_pppayment_start_date_tab(i), l_pppayment_frequency_tab(i), l_ppremit_days_tab(i),
12721 l_ppdisbursement_basis_tab(i), l_ppdisbursement_fixed_am_tab(i), l_ppdisbursement_percent_tab(i),
12722 l_ppprocessing_fee_basis_tab(i), l_ppprocessing_fee_fixedt_tab(i), l_ppprocessing_fee_percen_tab(i),
12723 l_pppayment_basis_tab(i),
12724 l_ppORIG_CONTRACT_LINE_ID_tab(i) --sechawla 8677460 : PRB ESG Enhancements
12725 );
12726 END IF;
12727 END IF;
12728
12729 EXCEPTION WHEN OTHERS THEN
12730
12731 x_return_status := OKL_API.G_RET_STS_ERROR;
12732 /*OKL_API.set_message(p_app_name => 'OKL',
12733 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
12734 p_token1 => 'ASSET_NUMBER',
12735 p_token1_value => 'prepare_party_payment_dtls');*/
12736 /* DEBUG */
12737 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12738 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
12739 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_party_payment_dtls:l_ppid_tab.count=' ||l_ppid_tab.COUNT || ' ...');
12740 END IF;
12741 IF (l_ppid_tab.COUNT > 0) THEN
12742 FOR i IN l_ppid_tab.first..l_ppid_tab.last
12743 LOOP
12744 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12745 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppid_tab('||i||')=' || l_ppid_tab(i));
12746 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppobject_version_number_tab('||i||')=' || l_ppobject_version_number_tab(i));
12747 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppcpl_id_tab('||i||')=' || l_ppcpl_id_tab(i));
12748 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppvendor_id_tab('||i||')=' || l_ppvendor_id_tab(i));
12749 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pppay_site_id_tab('||i||')=' || l_pppay_site_id_tab(i));
12750 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pppayment_term_id_tab('||i||')=' || l_pppayment_term_id_tab(i));
12751 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pppayment_method_code_tab('||i||')=' || l_pppayment_method_code_tab(i));
12752 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pppay_group_code_tab('||i||')=' || l_pppay_group_code_tab(i));
12753 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute_category_tab('||i||')=' || l_ppattribute_category_tab(i));
12754 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute1_tab('||i||')=' || l_ppattribute1_tab(i));
12755 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute2_tab('||i||')=' || l_ppattribute2_tab(i));
12756 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute3_tab('||i||')=' || l_ppattribute3_tab(i));
12757 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute4_tab('||i||')=' || l_ppattribute4_tab(i));
12758 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute5_tab('||i||')=' || l_ppattribute5_tab(i));
12759 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute6_tab('||i||')=' || l_ppattribute6_tab(i));
12760 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute7_tab('||i||')=' || l_ppattribute7_tab(i));
12761 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute8_tab('||i||')=' || l_ppattribute8_tab(i));
12762 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute9_tab('||i||')=' || l_ppattribute9_tab(i));
12763 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute10_tab('||i||')=' || l_ppattribute10_tab(i));
12764 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute11_tab('||i||')=' || l_ppattribute11_tab(i));
12765 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute12_tab('||i||')=' || l_ppattribute12_tab(i));
12766 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute13_tab('||i||')=' || l_ppattribute13_tab(i));
12767 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute14_tab('||i||')=' || l_ppattribute14_tab(i));
12768 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute15_tab('||i||')=' || l_ppattribute15_tab(i));
12769 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPAYMENT_HDR_ID_tab('||i||')=' || l_ppPAYMENT_HDR_ID_tab(i));
12770 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPAYMENT_START_DATE_tab('||i||')=' || l_ppPAYMENT_START_DATE_tab(i));
12771 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPAYMENT_FREQUENCY_tab('||i||')=' || l_ppPAYMENT_FREQUENCY_tab(i));
12772 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppREMIT_DAYS_tab('||i||')=' || l_ppREMIT_DAYS_tab(i));
12773 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppDISBURSEMENT_BASIS_tab('||i||')=' || l_ppDISBURSEMENT_BASIS_tab(i));
12774 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppDISBURSEMENT_FIXED_AMOUNT_tab('||i||')=' || l_ppDISBURSEMENT_FIXED_AM_tab(i));
12775 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppDISBURSEMENT_PERCENT_tab('||i||')=' || l_ppDISBURSEMENT_PERCENT_tab(i));
12776 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPROCESSING_FEE_BASIS_tab('||i||')=' || l_ppPROCESSING_FEE_BASIS_tab(i));
12777 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPROCESSING_FEE_FIXED_AMOUNT_tab('||i||')=' || l_ppPROCESSING_FEE_FIXEDt_tab(i));
12778 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPROCESSING_FEE_PERCENT_tab('||i||')=' || l_ppPROCESSING_FEE_PERCEN_tab(i));
12779 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPAYMENT_BASIS_tab('||i||')=' || l_ppPAYMENT_BASIS_tab(i));
12780 END IF;
12781 END LOOP;
12782 END IF;
12783
12784 RAISE OKC_API.G_EXCEPTION_ERROR;
12785
12786 END; /* prepare_party_payment_dtls */
12787
12788 FUNCTION find_vid_mapping_id(p_id IN NUMBER) RETURN VARCHAR2 IS
12789 hi NUMBER;
12790 lo NUMBER;
12791 m NUMBER;
12792 BEGIN
12793 lo := 1;
12794 hi := l_vid_counter - 1;
12795 WHILE (lo <= hi) LOOP
12796 m := FLOOR((hi + lo)/2);
12797 IF (l_vid_mapping_tab(m).cle_id = p_id) THEN
12798 RETURN l_vid_mapping_tab(m).object1_id1;
12799 ELSIF (l_vid_mapping_tab(m).cle_id > p_id) THEN
12800 hi := m - 1;
12801 ELSE
12802 lo := m + 1;
12803 END IF;
12804 END LOOP;
12805 RETURN NULL;
12806 END; /* find_vid_mapping_id */
12807
12808 PROCEDURE sort_vid_mapping_tab IS
12809 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
12810 --a numtabtype;
12811 l_stack numtabtype;
12812 l_stack_index NUMBER := 0;
12813 N NUMBER;
12814 R NUMBER;
12815 L NUMBER;
12816 P NUMBER;
12817 W NUMBER;
12818 W2 VARCHAR2(40);
12819 X NUMBER;
12820 I NUMBER;
12821 J NUMBER;
12822 BEGIN
12823 IF (G_DEBUG_ENABLED = 'Y') THEN
12824 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
12825 END IF;
12826 NULL;
12827
12828 N := l_vid_counter - 1;
12829 IF (N < 2) THEN
12830 RETURN;
12831 END IF;
12832 l_stack_index := l_stack_index + 1;
12833 l_stack(l_stack_index) := 1;
12834 l_stack_index := l_stack_index + 1;
12835 l_stack(l_stack_index) := N;
12836
12837 --dbms_output.put_line('l_stack_index=' || l_stack_index);
12838 WHILE l_stack_index > 0
12839 LOOP
12840 R := l_stack(l_stack_index);
12841 l_stack_index := l_stack_index - 1;
12842 L := l_stack(l_stack_index);
12843 l_stack_index := l_stack_index - 1;
12844 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
12845 WHILE 1=1
12846 LOOP -- loop until L >= R
12847 I := L;
12848 J := R;
12849 P := FLOOR((L+R)/2);
12850 --if (a(L) > a(P)) then
12851 IF (l_vid_mapping_tab(L).cle_id > l_vid_mapping_tab(P).cle_id)
12852 THEN
12853 W := l_vid_mapping_tab(L).cle_id;
12854 W2 := l_vid_mapping_tab(L).object1_id1;
12855 l_vid_mapping_tab(L).cle_id :=l_vid_mapping_tab(P).cle_id;
12856 l_vid_mapping_tab(L).object1_id1 :=l_vid_mapping_tab(P).object1_id1;
12857 l_vid_mapping_tab(P).cle_id := W;
12858 l_vid_mapping_tab(P).object1_id1 := W2;
12859 END IF;
12860 --if (a(L) > a(R)) then
12861 IF (l_vid_mapping_tab(L).cle_id > l_vid_mapping_tab(R).cle_id)
12862 THEN
12863 W := l_vid_mapping_tab(L).cle_id;
12864 W2 := l_vid_mapping_tab(L).object1_id1;
12865 l_vid_mapping_tab(L).cle_id :=l_vid_mapping_tab(R).cle_id;
12866 l_vid_mapping_tab(L).object1_id1 :=l_vid_mapping_tab(R).object1_id1;
12867 l_vid_mapping_tab(R).cle_id := W;
12868 l_vid_mapping_tab(R).object1_id1 := W2;
12869 END IF;
12870 --if (a(P) > a(R)) then
12871 IF (l_vid_mapping_tab(P).cle_id > l_vid_mapping_tab(R).cle_id)
12872 THEN
12873 W := l_vid_mapping_tab(P).cle_id;
12874 W2 := l_vid_mapping_tab(P).object1_id1;
12875 l_vid_mapping_tab(P).cle_id :=l_vid_mapping_tab(R).cle_id;
12876 l_vid_mapping_tab(P).object1_id1 :=l_vid_mapping_tab(R).object1_id1;
12877 l_vid_mapping_tab(R).cle_id := W;
12878 l_vid_mapping_tab(R).object1_id1 := W2;
12879 END IF;
12880 --X := a(P);
12881 X := l_vid_mapping_tab(P).cle_id;
12882 WHILE 1=1
12883 LOOP -- until I > J
12884 --while (a(I) < X) loop
12885 WHILE (l_vid_mapping_tab(I).cle_id < X) LOOP
12886 I := I + 1;
12887 END LOOP;
12888 WHILE (X < l_vid_mapping_tab(J).cle_id) LOOP
12889 J := J - 1;
12890 END LOOP;
12891 IF (I <= J) THEN
12892 W := l_vid_mapping_tab(I).cle_id;
12893 W2 := l_vid_mapping_tab(I).object1_id1;
12894 l_vid_mapping_tab(I).cle_id :=l_vid_mapping_tab(J).cle_id;
12895 l_vid_mapping_tab(I).object1_id1 :=l_vid_mapping_tab(J).object1_id1;
12896 l_vid_mapping_tab(J).cle_id := W;
12897 l_vid_mapping_tab(J).object1_id1 := W2;
12898 I := I + 1;
12899 J := J - 1;
12900 END IF;
12901 EXIT WHEN I > J;
12902 END LOOP;
12903 IF (J - L < R - I) THEN
12904 IF (I < R) THEN
12905 --push(I); push(R);
12906 l_stack_index := l_stack_index + 1;
12907 l_stack(l_stack_index) := I;
12908 l_stack_index := l_stack_index + 1;
12909 l_stack(l_stack_index) := R;
12910 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
12911 END IF;
12912 R := J;
12913 ELSE
12914 IF (L < J) THEN
12915 --push(L); push(J);
12916 l_stack_index := l_stack_index + 1;
12917 l_stack(l_stack_index) := L;
12918 l_stack_index := l_stack_index + 1;
12919 l_stack(l_stack_index) := J;
12920 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
12921 END IF;
12922 L := I;
12923 END IF;
12924
12925 EXIT WHEN (L >= R);
12926 END LOOP;
12927 END LOOP;
12928
12929 EXCEPTION WHEN OTHERS THEN
12930
12931 x_return_status := OKL_API.G_RET_STS_ERROR;
12932 /*OKL_API.set_message(p_app_name => 'OKL',
12933 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
12934 p_token1 => 'ASSET_NUMBER',
12935 p_token1_value => 'sort_vid_mapping_tab');*/
12936 /* DEBUG */
12937 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12938 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
12939 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_vid_mapping_tab:l_vid_mapping_tab N=' || N || ' ...');
12940 END IF;
12941
12942 --print array
12943 FOR i IN 1..N
12944 LOOP
12945 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12946 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_vid_mapping_tab('||i||')=' || l_vid_mapping_tab(i).cle_id || ':' || l_vid_mapping_tab(i).object1_id1);
12947 END IF;
12948 END LOOP;
12949
12950 RAISE OKC_API.G_EXCEPTION_ERROR;
12951
12952 END; /* sort_vid_mapping_tab */
12953
12954 PROCEDURE insert_okc_k_party_roles(p_old_id IN okc_k_headers_b.id%TYPE,
12955 p_new_id IN okc_k_headers_b.id%TYPE) IS
12956 CURSOR c9(p_id okc_k_party_roles_b.dnz_chr_id%TYPE) IS
12957 SELECT
12958 id, chr_id, cle_id,
12959 dnz_chr_id, rle_code, object1_id1,
12960 object1_id2, jtot_object1_code, object_version_number,
12961 created_by, creation_date, last_updated_by,
12962 last_update_date, code, facility,
12963 minority_group_lookup_code, small_business_flag, women_owned_flag,
12964 last_update_login, attribute_category, attribute1,
12965 attribute2, attribute3, attribute4,
12966 attribute5, attribute6, attribute7,
12967 attribute8, attribute9, attribute10,
12968 attribute11, attribute12, attribute13,
12969 attribute14, attribute15, security_group_id,
12970 cpl_id, primary_yn, bill_to_site_use_id,
12971 cust_acct_id, id orig_system_id1
12972 FROM okc_k_party_roles_b
12973 WHERE dnz_chr_id = p_id
12974 AND (
12975 chr_id = chr_id
12976 OR (
12977 NVL(p_copy_lines_yn, 'N') = 'Y'
12978 AND cle_id IS NOT NULL
12979 )
12980 );
12981
12982 TYPE l_id_type IS TABLE OF okc_k_party_roles_b.id%TYPE INDEX BY BINARY_INTEGER;
12983 TYPE l_chr_id_type IS TABLE OF okc_k_party_roles_b.chr_id%TYPE INDEX BY BINARY_INTEGER;
12984 TYPE l_cle_id_type IS TABLE OF okc_k_party_roles_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
12985 TYPE l_dnz_chr_id_type IS TABLE OF okc_k_party_roles_b.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
12986 TYPE l_rle_code_type IS TABLE OF okc_k_party_roles_b.rle_code%TYPE INDEX BY BINARY_INTEGER;
12987 TYPE l_object1_id1_type IS TABLE OF okc_k_party_roles_b.object1_id1%TYPE INDEX BY BINARY_INTEGER;
12988 TYPE l_object1_id2_type IS TABLE OF okc_k_party_roles_b.object1_id2%TYPE INDEX BY BINARY_INTEGER;
12989 TYPE l_jtot_object1_code_type IS TABLE OF okc_k_party_roles_b.jtot_object1_code%TYPE INDEX BY BINARY_INTEGER;
12990 TYPE l_object_version_number_type IS TABLE OF okc_k_party_roles_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
12991 TYPE l_created_by_type IS TABLE OF okc_k_party_roles_b.created_by%TYPE INDEX BY BINARY_INTEGER;
12992 TYPE l_creation_date_type IS TABLE OF okc_k_party_roles_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
12993 TYPE l_last_updated_by_type IS TABLE OF okc_k_party_roles_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
12994 TYPE l_last_update_date_type IS TABLE OF okc_k_party_roles_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
12995 TYPE l_code_type IS TABLE OF okc_k_party_roles_b.code%TYPE INDEX BY BINARY_INTEGER;
12996 TYPE l_facility_type IS TABLE OF okc_k_party_roles_b.facility%TYPE INDEX BY BINARY_INTEGER;
12997 TYPE l_minority_group_lookup_c_type IS TABLE OF okc_k_party_roles_b.minority_group_lookup_code%TYPE INDEX BY BINARY_INTEGER;
12998 TYPE l_small_business_flag_type IS TABLE OF okc_k_party_roles_b.small_business_flag%TYPE INDEX BY BINARY_INTEGER;
12999 TYPE l_women_owned_flag_type IS TABLE OF okc_k_party_roles_b.women_owned_flag%TYPE INDEX BY BINARY_INTEGER;
13000 TYPE l_last_update_login_type IS TABLE OF okc_k_party_roles_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
13001 TYPE l_attribute_category_type IS TABLE OF okc_k_party_roles_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
13002 TYPE l_attribute1_type IS TABLE OF okc_k_party_roles_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
13003 TYPE l_attribute2_type IS TABLE OF okc_k_party_roles_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
13004 TYPE l_attribute3_type IS TABLE OF okc_k_party_roles_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
13005 TYPE l_attribute4_type IS TABLE OF okc_k_party_roles_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
13006 TYPE l_attribute5_type IS TABLE OF okc_k_party_roles_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
13007 TYPE l_attribute6_type IS TABLE OF okc_k_party_roles_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
13008 TYPE l_attribute7_type IS TABLE OF okc_k_party_roles_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
13009 TYPE l_attribute8_type IS TABLE OF okc_k_party_roles_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
13010 TYPE l_attribute9_type IS TABLE OF okc_k_party_roles_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
13011 TYPE l_attribute10_type IS TABLE OF okc_k_party_roles_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
13012 TYPE l_attribute11_type IS TABLE OF okc_k_party_roles_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
13013 TYPE l_attribute12_type IS TABLE OF okc_k_party_roles_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
13014 TYPE l_attribute13_type IS TABLE OF okc_k_party_roles_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
13015 TYPE l_attribute14_type IS TABLE OF okc_k_party_roles_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
13016 TYPE l_attribute15_type IS TABLE OF okc_k_party_roles_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
13017 TYPE l_security_group_id_type IS TABLE OF okc_k_party_roles_b.security_group_id%TYPE INDEX BY BINARY_INTEGER;
13018 TYPE l_cpl_id_type IS TABLE OF okc_k_party_roles_b.cpl_id%TYPE INDEX BY BINARY_INTEGER;
13019 TYPE l_primary_yn_type IS TABLE OF okc_k_party_roles_b.primary_yn%TYPE INDEX BY BINARY_INTEGER;
13020 TYPE l_bill_to_site_use_id_type IS TABLE OF okc_k_party_roles_b.bill_to_site_use_id%TYPE INDEX BY BINARY_INTEGER;
13021 TYPE l_cust_acct_id_type IS TABLE OF okc_k_party_roles_b.cust_acct_id%TYPE INDEX BY BINARY_INTEGER;
13022 TYPE l_orig_system_id1_type IS TABLE OF okc_k_party_roles_b.orig_system_id1%TYPE INDEX BY BINARY_INTEGER;
13023
13024 l_id_tab_old l_id_type;
13025
13026 l_id_tab l_id_type;
13027 l_chr_id_tab l_chr_id_type;
13028 l_cle_id_tab l_cle_id_type;
13029 l_dnz_chr_id_tab l_dnz_chr_id_type;
13030 l_rle_code_tab l_rle_code_type;
13031 l_object1_id1_tab l_object1_id1_type;
13032 l_object1_id2_tab l_object1_id2_type;
13033 l_jtot_object1_code_tab l_jtot_object1_code_type;
13034 l_object_version_number_tab l_object_version_number_type;
13035 l_created_by_tab l_created_by_type;
13036 l_creation_date_tab l_creation_date_type;
13037 l_last_updated_by_tab l_last_updated_by_type;
13038 l_last_update_date_tab l_last_update_date_type;
13039 l_code_tab l_code_type;
13040 l_facility_tab l_facility_type;
13041 l_minority_group_lookup_c_tab l_minority_group_lookup_c_type;
13042 l_small_business_flag_tab l_small_business_flag_type;
13043 l_women_owned_flag_tab l_women_owned_flag_type;
13044 l_last_update_login_tab l_last_update_login_type;
13045 l_attribute_category_tab l_attribute_category_type;
13046 l_attribute1_tab l_attribute1_type;
13047 l_attribute2_tab l_attribute2_type;
13048 l_attribute3_tab l_attribute3_type;
13049 l_attribute4_tab l_attribute4_type;
13050 l_attribute5_tab l_attribute5_type;
13051 l_attribute6_tab l_attribute6_type;
13052 l_attribute7_tab l_attribute7_type;
13053 l_attribute8_tab l_attribute8_type;
13054 l_attribute9_tab l_attribute9_type;
13055 l_attribute10_tab l_attribute10_type;
13056 l_attribute11_tab l_attribute11_type;
13057 l_attribute12_tab l_attribute12_type;
13058 l_attribute13_tab l_attribute13_type;
13059 l_attribute14_tab l_attribute14_type;
13060 l_attribute15_tab l_attribute15_type;
13061 l_security_group_id_tab l_security_group_id_type;
13062 l_cpl_id_tab l_cpl_id_type;
13063 l_primary_yn_tab l_primary_yn_type;
13064 l_bill_to_site_use_id_tab l_bill_to_site_use_id_type;
13065 l_cust_acct_id_tab l_cust_acct_id_type;
13066 l_orig_system_id1_tab l_orig_system_id1_type;
13067
13068 l_id_tab2 l_id_type;
13069 l_chr_id_tab2 l_chr_id_type;
13070 l_cle_id_tab2 l_cle_id_type;
13071 l_dnz_chr_id_tab2 l_dnz_chr_id_type;
13072 l_rle_code_tab2 l_rle_code_type;
13073 l_object1_id1_tab2 l_object1_id1_type;
13074 l_object1_id2_tab2 l_object1_id2_type;
13075 l_jtot_object1_code_tab2 l_jtot_object1_code_type;
13076 l_object_version_number_tab2 l_object_version_number_type;
13077 l_created_by_tab2 l_created_by_type;
13078 l_creation_date_tab2 l_creation_date_type;
13079 l_last_updated_by_tab2 l_last_updated_by_type;
13080 l_last_update_date_tab2 l_last_update_date_type;
13081 l_code_tab2 l_code_type;
13082 l_facility_tab2 l_facility_type;
13083 l_minority_group_lookup_c_tab2 l_minority_group_lookup_c_type;
13084 l_small_business_flag_tab2 l_small_business_flag_type;
13085 l_women_owned_flag_tab2 l_women_owned_flag_type;
13086 l_last_update_login_tab2 l_last_update_login_type;
13087 l_attribute_category_tab2 l_attribute_category_type;
13088 l_attribute1_tab2 l_attribute1_type;
13089 l_attribute2_tab2 l_attribute2_type;
13090 l_attribute3_tab2 l_attribute3_type;
13091 l_attribute4_tab2 l_attribute4_type;
13092 l_attribute5_tab2 l_attribute5_type;
13093 l_attribute6_tab2 l_attribute6_type;
13094 l_attribute7_tab2 l_attribute7_type;
13095 l_attribute8_tab2 l_attribute8_type;
13096 l_attribute9_tab2 l_attribute9_type;
13097 l_attribute10_tab2 l_attribute10_type;
13098 l_attribute11_tab2 l_attribute11_type;
13099 l_attribute12_tab2 l_attribute12_type;
13100 l_attribute13_tab2 l_attribute13_type;
13101 l_attribute14_tab2 l_attribute14_type;
13102 l_attribute15_tab2 l_attribute15_type;
13103 l_security_group_id_tab2 l_security_group_id_type;
13104 l_cpl_id_tab2 l_cpl_id_type;
13105 l_primary_yn_tab2 l_primary_yn_type;
13106 l_bill_to_site_use_id_tab2 l_bill_to_site_use_id_type;
13107 l_cust_acct_id_tab2 l_cust_acct_id_type;
13108 l_orig_system_id1_tab2 l_orig_system_id1_type;
13109
13110 l_loop_counter NUMBER := 0;
13111 l_new_cle_id NUMBER := 0;
13112
13113 BEGIN
13114 IF (G_DEBUG_ENABLED = 'Y') THEN
13115 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13116 END IF;
13117 NULL;
13118 OPEN c9(p_old_id);
13119 LOOP
13120 FETCH c9 bulk collect INTO
13121 l_id_tab2, l_chr_id_tab2, l_cle_id_tab2,
13122 l_dnz_chr_id_tab2, l_rle_code_tab2, l_object1_id1_tab2,
13123 l_object1_id2_tab2, l_jtot_object1_code_tab2, l_object_version_number_tab2,
13124 l_created_by_tab2, l_creation_date_tab2, l_last_updated_by_tab2,
13125 l_last_update_date_tab2, l_code_tab2, l_facility_tab2,
13126 l_minority_group_lookup_c_tab2, l_small_business_flag_tab2, l_women_owned_flag_tab2,
13127 l_last_update_login_tab2, l_attribute_category_tab2, l_attribute1_tab2,
13128 l_attribute2_tab2, l_attribute3_tab2, l_attribute4_tab2,
13129 l_attribute5_tab2, l_attribute6_tab2, l_attribute7_tab2,
13130 l_attribute8_tab2, l_attribute9_tab2, l_attribute10_tab2,
13131 l_attribute11_tab2, l_attribute12_tab2, l_attribute13_tab2,
13132 l_attribute14_tab2, l_attribute15_tab2, l_security_group_id_tab2,
13133 l_cpl_id_tab2, l_primary_yn_tab2, l_bill_to_site_use_id_tab2,
13134 l_cust_acct_id_tab2, l_orig_system_id1_tab2
13135 limit G_BULK_SIZE;
13136 EXIT WHEN l_id_tab2.COUNT = 0;
13137
13138 FOR i IN l_id_tab2.first..l_id_tab2.last
13139 LOOP
13140 l_loop_counter := l_loop_counter + 1;
13141
13142 -- Store old ids
13143 l_id_tab_old(l_loop_counter) := l_id_tab2(i);
13144
13145 l_id_tab(l_loop_counter) := l_id_tab2(i);
13146
13147 -- Store party old_id and new_id in mapping table
13148 l_party_id_mapping_tab(l_party_counter).old_id := l_id_tab2(i);
13149
13150 -- Replace l_id_tab
13151 l_id_tab(l_loop_counter) := okc_p_util.raw_to_number(sys_guid());
13152 l_prid_tab(l_loop_counter) := l_id_tab(l_loop_counter);
13153
13154 l_party_id_mapping_tab(l_party_counter).new_id := l_id_tab(l_loop_counter);
13155 l_chr_id_tab(l_loop_counter) := l_chr_id_tab2(i);
13156
13157 -- Replace l_chr_id_tab
13158 IF (l_chr_id_tab(l_loop_counter) IS NOT NULL) THEN
13159 l_chr_id_tab(l_loop_counter) := p_new_id;
13160 END IF;
13161
13162 l_cle_id_tab(l_loop_counter) := l_cle_id_tab2(i);
13163
13164 -- Replace l_cle_id_tab
13165 IF (l_cle_id_tab(l_loop_counter) IS NOT NULL) THEN
13166 l_new_cle_id := find_mapping_id(l_cle_id_tab(l_loop_counter));
13167 IF (l_new_cle_id = -1) THEN
13168 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13169 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_cle_id_tab(l_loop_counter));
13170 END IF;
13171 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13172 END IF;
13173 l_cle_id_tab(l_loop_counter) := l_new_cle_id;
13174 END IF;
13175
13176 l_dnz_chr_id_tab(l_loop_counter) := l_dnz_chr_id_tab2(i);
13177
13178 -- Replace dnz_chr_id
13179 l_dnz_chr_id_tab(l_loop_counter) := p_new_id;
13180
13181 l_rle_code_tab(l_loop_counter) := l_rle_code_tab2(i);
13182
13183 l_object1_id1_tab(l_loop_counter) := l_object1_id1_tab2(i);
13184 l_probject1_id1_tab(l_loop_counter) := l_object1_id1_tab(l_loop_counter);
13185
13186 -- Store vendor id mapping for business event processing only
13187 IF (l_rle_code_tab(l_loop_counter) = 'OKL_VENDOR' AND
13188 l_cle_id_tab(l_loop_counter) IS NOT NULL) THEN
13189 l_vid_mapping_tab(l_vid_counter).cle_id := l_cle_id_tab(l_loop_counter);
13190 l_vid_mapping_tab(l_vid_counter).object1_id1 := l_object1_id1_tab(l_loop_counter);
13191 l_vid_counter := l_vid_counter + 1;
13192 END IF;
13193
13194
13195 l_object1_id2_tab(l_loop_counter) := l_object1_id2_tab2(i);
13196 l_jtot_object1_code_tab(l_loop_counter) := l_jtot_object1_code_tab2(i);
13197 l_object_version_number_tab(l_loop_counter) := l_object_version_number_tab2(i);
13198 l_created_by_tab(l_loop_counter) := l_created_by_tab2(i);
13199 l_creation_date_tab(l_loop_counter) := l_creation_date_tab2(i);
13200 l_last_updated_by_tab(l_loop_counter) := l_last_updated_by_tab2(i);
13201 l_last_update_date_tab(l_loop_counter) := l_last_update_date_tab2(i);
13202 l_code_tab(l_loop_counter) := l_code_tab2(i);
13203 l_facility_tab(l_loop_counter) := l_facility_tab2(i);
13204 l_minority_group_lookup_c_tab(l_loop_counter) := l_minority_group_lookup_c_tab2(i);
13205 l_small_business_flag_tab(l_loop_counter) := l_small_business_flag_tab2(i);
13206 l_women_owned_flag_tab(l_loop_counter) := l_women_owned_flag_tab2(i);
13207 l_last_update_login_tab(l_loop_counter) := l_last_update_login_tab2(i);
13208 l_attribute_category_tab(l_loop_counter) := l_attribute_category_tab2(i);
13209 l_attribute1_tab(l_loop_counter) := l_attribute1_tab2(i);
13210 l_attribute2_tab(l_loop_counter) := l_attribute2_tab2(i);
13211 l_attribute3_tab(l_loop_counter) := l_attribute3_tab2(i);
13212 l_attribute4_tab(l_loop_counter) := l_attribute4_tab2(i);
13213 l_attribute5_tab(l_loop_counter) := l_attribute5_tab2(i);
13214 l_attribute6_tab(l_loop_counter) := l_attribute6_tab2(i);
13215 l_attribute7_tab(l_loop_counter) := l_attribute7_tab2(i);
13216 l_attribute8_tab(l_loop_counter) := l_attribute8_tab2(i);
13217 l_attribute9_tab(l_loop_counter) := l_attribute9_tab2(i);
13218 l_attribute10_tab(l_loop_counter) := l_attribute10_tab2(i);
13219 l_attribute11_tab(l_loop_counter) := l_attribute11_tab2(i);
13220 l_attribute12_tab(l_loop_counter) := l_attribute12_tab2(i);
13221 l_attribute13_tab(l_loop_counter) := l_attribute13_tab2(i);
13222 l_attribute14_tab(l_loop_counter) := l_attribute14_tab2(i);
13223 l_attribute15_tab(l_loop_counter) := l_attribute15_tab2(i);
13224 l_security_group_id_tab(l_loop_counter) := l_security_group_id_tab2(i);
13225 l_cpl_id_tab(l_loop_counter) := l_cpl_id_tab2(i);
13226 l_primary_yn_tab(l_loop_counter) := l_primary_yn_tab2(i);
13227 l_bill_to_site_use_id_tab(l_loop_counter) := l_bill_to_site_use_id_tab2(i);
13228 l_cust_acct_id_tab(l_loop_counter) := l_cust_acct_id_tab2(i);
13229 l_orig_system_id1_tab(l_loop_counter) := l_orig_system_id1_tab2(i);
13230
13231 l_party_counter := l_party_counter + 1;
13232 END LOOP;
13233 END LOOP;
13234 CLOSE c9;
13235 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13236 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_vid_counter=' || l_vid_counter);
13237 END IF;
13238 IF (l_vid_counter > 1) THEN
13239 sort_vid_mapping_tab;
13240 END IF;
13241
13242 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13243 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_party_counter='||l_party_counter || ' l_id_tab.count='||l_id_tab.COUNT);
13244 END IF;
13245 IF (l_party_counter > 1) THEN
13246 forall i IN l_id_tab.first..l_id_tab.last
13247 INSERT INTO okc_k_party_roles_b (
13248 id, chr_id, cle_id,
13249 dnz_chr_id, rle_code, object1_id1,
13250 object1_id2, jtot_object1_code, object_version_number,
13251 created_by, creation_date, last_updated_by,
13252 last_update_date, code, facility,
13253 minority_group_lookup_code, small_business_flag, women_owned_flag,
13254 last_update_login, attribute_category, attribute1,
13255 attribute2, attribute3, attribute4,
13256 attribute5, attribute6, attribute7,
13257 attribute8, attribute9, attribute10,
13258 attribute11, attribute12, attribute13,
13259 attribute14, attribute15, security_group_id,
13260 cpl_id, primary_yn, bill_to_site_use_id,
13261 cust_acct_id, orig_system_id1
13262 ) VALUES (
13263 l_id_tab(i), l_chr_id_tab(i), l_cle_id_tab(i),
13264 l_dnz_chr_id_tab(i), l_rle_code_tab(i), l_object1_id1_tab(i),
13265 l_object1_id2_tab(i), l_jtot_object1_code_tab(i), 1,
13266 l_created_by, SYSDATE, l_last_updated_by,
13267 SYSDATE, l_code_tab(i), l_facility_tab(i),
13268 l_minority_group_lookup_c_tab(i), l_small_business_flag_tab(i), l_women_owned_flag_tab(i),
13269 l_last_update_login, l_attribute_category_tab(i), l_attribute1_tab(i),
13270 l_attribute2_tab(i), l_attribute3_tab(i), l_attribute4_tab(i),
13271 l_attribute5_tab(i), l_attribute6_tab(i), l_attribute7_tab(i),
13272 l_attribute8_tab(i), l_attribute9_tab(i), l_attribute10_tab(i),
13273 l_attribute11_tab(i), l_attribute12_tab(i), l_attribute13_tab(i),
13274 l_attribute14_tab(i), l_attribute15_tab(i), l_security_group_id_tab(i),
13275 l_cpl_id_tab(i), l_primary_yn_tab(i), l_bill_to_site_use_id_tab(i),
13276 l_cust_acct_id_tab(i), l_orig_system_id1_tab(i)
13277 );
13278
13279 do_sort_party_mapping_id;
13280
13281 IF (l_id_tab_old.COUNT > 0) THEN
13282 FOR i IN l_id_tab_old.first..l_id_tab_old.last
13283 LOOP
13284 IF (i = l_id_tab.last)
13285 THEN
13286 prepare_party_roles_tl(l_id_tab_old(i), l_id_tab(i), 'L');
13287 ELSE
13288 prepare_party_roles_tl(l_id_tab_old(i), l_id_tab(i), 'NL');
13289 END IF;
13290 END LOOP;
13291
13292 l_message := 'OKL_NEW_COPY_KPR_ERROR';
13293 FOR i IN l_id_tab_old.first..l_id_tab_old.last
13294 LOOP
13295 IF (i = l_id_tab.last)
13296 THEN
13297 prepare_okl_party_roles(l_id_tab_old(i), l_id_tab(i), 'Y');
13298 ELSE
13299 prepare_okl_party_roles(l_id_tab_old(i), l_id_tab(i), 'N');
13300 END IF;
13301 END LOOP;
13302
13303 l_message := 'OKL_NEW_COPY_CRO_ERROR';
13304 FOR i IN l_id_tab_old.first..l_id_tab_old.last
13305 LOOP
13306 IF (i = l_id_tab.last)
13307 THEN
13308 prepare_contacts(l_id_tab_old(i), l_id_tab(i), 'L');
13309 ELSE
13310 prepare_contacts(l_id_tab_old(i), l_id_tab(i), 'NL');
13311 END IF;
13312 END LOOP;
13313
13314 l_message := 'OKL_NEW_COPY_PHD_ERROR';
13315 IF (p_copy_lines_yn = 'Y') THEN
13316 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13317 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Calling party_payment_hdr...');
13318 END IF;
13319 copy_party_payment_hdr(p_old_id, p_new_id);
13320 END IF;
13321
13322 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13323 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Calling party_payment_dtls...');
13324 END IF;
13325 l_message := 'OKL_NEW_COPY_PYD_ERROR';
13326 FOR i IN l_id_tab_old.first..l_id_tab_old.last
13327 LOOP
13328 IF (i = l_id_tab.last)
13329 THEN
13330 prepare_party_payment_dtls(l_id_tab_old(i), l_id_tab(i), 'Y');
13331 ELSE
13332 prepare_party_payment_dtls(l_id_tab_old(i), l_id_tab(i), 'N');
13333 END IF;
13334 END LOOP;
13335 END IF;
13336 END IF;
13337
13338 EXCEPTION WHEN OTHERS THEN
13339
13340 x_return_status := OKL_API.G_RET_STS_ERROR;
13341 /*OKL_API.set_message(p_app_name => 'OKL',
13342 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13343 p_token1 => 'ASSET_NUMBER',
13344 p_token1_value => 'insert_okc_k_party_roles');*/
13345 /* DEBUG */
13346 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13347 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13348 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_k_party_roles:l_id_tab.count=' || l_id_tab.COUNT || ' ...');
13349 END IF;
13350 IF (l_id_tab.COUNT > 0) THEN
13351 FOR i IN l_id_tab.first..l_id_tab.last
13352 LOOP
13353 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13354 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab('||i||')=' || l_id_tab(i));
13355 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_chr_id_tab('||i||')=' || l_chr_id_tab(i));
13356 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cle_id_tab('||i||')=' || l_cle_id_tab(i));
13357 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dnz_chr_id_tab('||i||')=' || l_dnz_chr_id_tab(i));
13358 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rle_code_tab('||i||')=' || l_rle_code_tab(i));
13359 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_object1_id1_tab('||i||')=' || l_object1_id1_tab(i));
13360 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_object1_id2_tab('||i||')=' || l_object1_id2_tab(i));
13361 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_jtot_object1_code_tab('||i||')=' || l_jtot_object1_code_tab(i));
13362 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_code_tab('||i||')=' || l_code_tab(i));
13363 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_facility_tab('||i||')=' || l_facility_tab(i));
13364 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_minority_group_lookup_c_tab('||i||')=' || l_minority_group_lookup_c_tab(i));
13365 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_small_business_flag_tab('||i||')=' || l_small_business_flag_tab(i));
13366 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_women_owned_flag_tab('||i||')=' || l_women_owned_flag_tab(i));
13367 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute_category_tab('||i||')=' || l_attribute_category_tab(i));
13368 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute1_tab('||i||')=' || l_attribute1_tab(i));
13369 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute2_tab('||i||')=' || l_attribute2_tab(i));
13370 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute3_tab('||i||')=' || l_attribute3_tab(i));
13371 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute4_tab('||i||')=' || l_attribute4_tab(i));
13372 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute5_tab('||i||')=' || l_attribute5_tab(i));
13373 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute6_tab('||i||')=' || l_attribute6_tab(i));
13374 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute7_tab('||i||')=' || l_attribute7_tab(i));
13375 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute8_tab('||i||')=' || l_attribute8_tab(i));
13376 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute9_tab('||i||')=' || l_attribute9_tab(i));
13377 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute10_tab('||i||')=' || l_attribute10_tab(i));
13378 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute11_tab('||i||')=' || l_attribute11_tab(i));
13379 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute12_tab('||i||')=' || l_attribute12_tab(i));
13380 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute13_tab('||i||')=' || l_attribute13_tab(i));
13381 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute14_tab('||i||')=' || l_attribute14_tab(i));
13382 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute15_tab('||i||')=' || l_attribute15_tab(i));
13383 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_security_group_id_tab('||i||')=' || l_security_group_id_tab(i));
13384 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cpl_id_tab('||i||')=' || l_cpl_id_tab(i));
13385 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_primary_yn_tab('||i||')=' || l_primary_yn_tab(i));
13386 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_bill_to_site_use_id_tab('||i||')=' || l_bill_to_site_use_id_tab(i));
13387 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cust_acct_id_tab('||i||')=' || l_cust_acct_id_tab(i));
13388 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_orig_system_id1_tab('||i||')=' || l_orig_system_id1_tab(i));
13389 END IF;
13390 END LOOP;
13391 END IF;
13392
13393 RAISE OKC_API.G_EXCEPTION_ERROR;
13394
13395 END; /* insert_okc_k_party_roles */
13396
13397 FUNCTION find_rid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
13398 hi NUMBER;
13399 lo NUMBER;
13400 m NUMBER;
13401 BEGIN
13402 lo := 1;
13403 hi := l_rule_groups_b_counter - 1;
13404 WHILE (lo <= hi) LOOP
13405 m := FLOOR((hi + lo)/2);
13406 IF (l_rid_mapping_tab(m).old_id = p_id) THEN
13407 RETURN l_rid_mapping_tab(m).new_id;
13408 ELSIF (l_rid_mapping_tab(m).old_id > p_id) THEN
13409 hi := m - 1;
13410 ELSE
13411 lo := m + 1;
13412 END IF;
13413 END LOOP;
13414 RETURN -1;
13415 END; /* find_rid_mapping_id */
13416
13417 PROCEDURE sort_rid_mapping_tab IS
13418 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
13419 --a numtabtype;
13420 l_stack numtabtype;
13421 l_stack_index NUMBER := 0;
13422 N NUMBER;
13423 R NUMBER;
13424 L NUMBER;
13425 P NUMBER;
13426 W NUMBER;
13427 W2 NUMBER;
13428 X NUMBER;
13429 I NUMBER;
13430 J NUMBER;
13431 BEGIN
13432 IF (G_DEBUG_ENABLED = 'Y') THEN
13433 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13434 END IF;
13435 NULL;
13436
13437 N := l_rule_groups_b_counter - 1;
13438 IF (N < 2) THEN
13439 RETURN;
13440 END IF;
13441 l_stack_index := l_stack_index + 1;
13442 l_stack(l_stack_index) := 1;
13443 l_stack_index := l_stack_index + 1;
13444 l_stack(l_stack_index) := N;
13445
13446 --dbms_output.put_line('l_stack_index=' || l_stack_index);
13447 WHILE l_stack_index > 0
13448 LOOP
13449 R := l_stack(l_stack_index);
13450 l_stack_index := l_stack_index - 1;
13451 L := l_stack(l_stack_index);
13452 l_stack_index := l_stack_index - 1;
13453 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
13454 WHILE 1=1
13455 LOOP -- loop until L >= R
13456 I := L;
13457 J := R;
13458 P := FLOOR((L+R)/2);
13459 --if (a(L) > a(P)) then
13460 IF (l_rid_mapping_tab(L).old_id > l_rid_mapping_tab(P).old_id)
13461 THEN
13462 W := l_rid_mapping_tab(L).old_id;
13463 W2 := l_rid_mapping_tab(L).new_id;
13464 l_rid_mapping_tab(L).old_id :=l_rid_mapping_tab(P).old_id;
13465 l_rid_mapping_tab(L).new_id :=l_rid_mapping_tab(P).new_id;
13466 l_rid_mapping_tab(P).old_id := W;
13467 l_rid_mapping_tab(P).new_id := W2;
13468 END IF;
13469 --if (a(L) > a(R)) then
13470 IF (l_rid_mapping_tab(L).old_id > l_rid_mapping_tab(R).old_id)
13471 THEN
13472 W := l_rid_mapping_tab(L).old_id;
13473 W2 := l_rid_mapping_tab(L).new_id;
13474 l_rid_mapping_tab(L).old_id :=l_rid_mapping_tab(R).old_id;
13475 l_rid_mapping_tab(L).new_id :=l_rid_mapping_tab(R).new_id;
13476 l_rid_mapping_tab(R).old_id := W;
13477 l_rid_mapping_tab(R).new_id := W2;
13478 END IF;
13479 --if (a(P) > a(R)) then
13480 IF (l_rid_mapping_tab(P).old_id > l_rid_mapping_tab(R).old_id)
13481 THEN
13482 W := l_rid_mapping_tab(P).old_id;
13483 W2 := l_rid_mapping_tab(P).new_id;
13484 l_rid_mapping_tab(P).old_id :=l_rid_mapping_tab(R).old_id;
13485 l_rid_mapping_tab(P).new_id :=l_rid_mapping_tab(R).new_id;
13486 l_rid_mapping_tab(R).old_id := W;
13487 l_rid_mapping_tab(R).new_id := W2;
13488 END IF;
13489 --X := a(P);
13490 X := l_rid_mapping_tab(P).old_id;
13491 WHILE 1=1
13492 LOOP -- until I > J
13493 --while (a(I) < X) loop
13494 WHILE (l_rid_mapping_tab(I).old_id < X) LOOP
13495 I := I + 1;
13496 END LOOP;
13497 WHILE (X < l_rid_mapping_tab(J).old_id) LOOP
13498 J := J - 1;
13499 END LOOP;
13500 IF (I <= J) THEN
13501 W := l_rid_mapping_tab(I).old_id;
13502 W2 := l_rid_mapping_tab(I).new_id;
13503 l_rid_mapping_tab(I).old_id :=l_rid_mapping_tab(J).old_id;
13504 l_rid_mapping_tab(I).new_id :=l_rid_mapping_tab(J).new_id;
13505 l_rid_mapping_tab(J).old_id := W;
13506 l_rid_mapping_tab(J).new_id := W2;
13507 I := I + 1;
13508 J := J - 1;
13509 END IF;
13510 EXIT WHEN I > J;
13511 END LOOP;
13512 IF (J - L < R - I) THEN
13513 IF (I < R) THEN
13514 --push(I); push(R);
13515 l_stack_index := l_stack_index + 1;
13516 l_stack(l_stack_index) := I;
13517 l_stack_index := l_stack_index + 1;
13518 l_stack(l_stack_index) := R;
13519 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
13520 END IF;
13521 R := J;
13522 ELSE
13523 IF (L < J) THEN
13524 --push(L); push(J);
13525 l_stack_index := l_stack_index + 1;
13526 l_stack(l_stack_index) := L;
13527 l_stack_index := l_stack_index + 1;
13528 l_stack(l_stack_index) := J;
13529 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
13530 END IF;
13531 L := I;
13532 END IF;
13533
13534 EXIT WHEN (L >= R);
13535 END LOOP;
13536 END LOOP;
13537
13538 EXCEPTION WHEN OTHERS THEN
13539
13540 x_return_status := OKL_API.G_RET_STS_ERROR;
13541 /*OKL_API.set_message(p_app_name => 'OKL',
13542 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13543 p_token1 => 'ASSET_NUMBER',
13544 p_token1_value => 'sort_rid_mapping_tab');*/
13545 /* DEBUG */
13546 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13547 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13548 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_rid_mapping_tab:l_rid_mapping_tab N=' || N || ' ...');
13549 END IF;
13550
13551 --print array
13552 FOR i IN 1..N
13553 LOOP
13554 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13555 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rid_mapping_tab('||i||')=' || l_rid_mapping_tab(i).old_id || ':' || l_rid_mapping_tab(i).new_id);
13556 END IF;
13557 END LOOP;
13558
13559 RAISE OKC_API.G_EXCEPTION_ERROR;
13560
13561 END; /* sort_rid_mapping_tab */
13562
13563
13564 FUNCTION find_rrid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
13565 hi NUMBER;
13566 lo NUMBER;
13567 m NUMBER;
13568 BEGIN
13569 lo := 1;
13570 hi := l_rules_b_counter - 1;
13571 WHILE (lo <= hi) LOOP
13572 m := FLOOR((hi + lo)/2);
13573 IF (l_rrid_mapping_tab(m).old_id = p_id) THEN
13574 RETURN l_rrid_mapping_tab(m).new_id;
13575 ELSIF (l_rrid_mapping_tab(m).old_id > p_id) THEN
13576 hi := m - 1;
13577 ELSE
13578 lo := m + 1;
13579 END IF;
13580 END LOOP;
13581 RETURN -1;
13582 END; /* find_rrid_mapping_id */
13583
13584 PROCEDURE sort_rrid_mapping_tab IS
13585 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
13586 --a numtabtype;
13587 l_stack numtabtype;
13588 l_stack_index NUMBER := 0;
13589 N NUMBER;
13590 R NUMBER;
13591 L NUMBER;
13592 P NUMBER;
13593 W NUMBER;
13594 W2 NUMBER;
13595 X NUMBER;
13596 I NUMBER;
13597 J NUMBER;
13598 BEGIN
13599 IF (G_DEBUG_ENABLED = 'Y') THEN
13600 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13601 END IF;
13602 NULL;
13603
13604 N := l_rules_b_counter - 1;
13605 IF (N < 2) THEN
13606 RETURN;
13607 END IF;
13608 l_stack_index := l_stack_index + 1;
13609 l_stack(l_stack_index) := 1;
13610 l_stack_index := l_stack_index + 1;
13611 l_stack(l_stack_index) := N;
13612
13613 --dbms_output.put_line('l_stack_index=' || l_stack_index);
13614 WHILE l_stack_index > 0
13615 LOOP
13616 R := l_stack(l_stack_index);
13617 l_stack_index := l_stack_index - 1;
13618 L := l_stack(l_stack_index);
13619 l_stack_index := l_stack_index - 1;
13620 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
13621 WHILE 1=1
13622 LOOP -- loop until L >= R
13623 I := L;
13624 J := R;
13625 P := FLOOR((L+R)/2);
13626 --if (a(L) > a(P)) then
13627 IF (l_rrid_mapping_tab(L).old_id > l_rrid_mapping_tab(P).old_id)
13628 THEN
13629 W := l_rrid_mapping_tab(L).old_id;
13630 W2 := l_rrid_mapping_tab(L).new_id;
13631 l_rrid_mapping_tab(L).old_id :=l_rrid_mapping_tab(P).old_id;
13632 l_rrid_mapping_tab(L).new_id :=l_rrid_mapping_tab(P).new_id;
13633 l_rrid_mapping_tab(P).old_id := W;
13634 l_rrid_mapping_tab(P).new_id := W2;
13635 END IF;
13636 --if (a(L) > a(R)) then
13637 IF (l_rrid_mapping_tab(L).old_id > l_rrid_mapping_tab(R).old_id)
13638 THEN
13639 W := l_rrid_mapping_tab(L).old_id;
13640 W2 := l_rrid_mapping_tab(L).new_id;
13641 l_rrid_mapping_tab(L).old_id :=l_rrid_mapping_tab(R).old_id;
13642 l_rrid_mapping_tab(L).new_id :=l_rrid_mapping_tab(R).new_id;
13643 l_rrid_mapping_tab(R).old_id := W;
13644 l_rrid_mapping_tab(R).new_id := W2;
13645 END IF;
13646 --if (a(P) > a(R)) then
13647 IF (l_rrid_mapping_tab(P).old_id > l_rrid_mapping_tab(R).old_id)
13648 THEN
13649 W := l_rrid_mapping_tab(P).old_id;
13650 W2 := l_rrid_mapping_tab(P).new_id;
13651 l_rrid_mapping_tab(P).old_id :=l_rrid_mapping_tab(R).old_id;
13652 l_rrid_mapping_tab(P).new_id :=l_rrid_mapping_tab(R).new_id;
13653 l_rrid_mapping_tab(R).old_id := W;
13654 l_rrid_mapping_tab(R).new_id := W2;
13655 END IF;
13656 --X := a(P);
13657 X := l_rrid_mapping_tab(P).old_id;
13658 WHILE 1=1
13659 LOOP -- until I > J
13660 --while (a(I) < X) loop
13661 WHILE (l_rrid_mapping_tab(I).old_id < X) LOOP
13662 I := I + 1;
13663 END LOOP;
13664 WHILE (X < l_rrid_mapping_tab(J).old_id) LOOP
13665 J := J - 1;
13666 END LOOP;
13667 IF (I <= J) THEN
13668 W := l_rrid_mapping_tab(I).old_id;
13669 W2 := l_rrid_mapping_tab(I).new_id;
13670 l_rrid_mapping_tab(I).old_id :=l_rrid_mapping_tab(J).old_id;
13671 l_rrid_mapping_tab(I).new_id :=l_rrid_mapping_tab(J).new_id;
13672 l_rrid_mapping_tab(J).old_id := W;
13673 l_rrid_mapping_tab(J).new_id := W2;
13674 I := I + 1;
13675 J := J - 1;
13676 END IF;
13677 EXIT WHEN I > J;
13678 END LOOP;
13679 IF (J - L < R - I) THEN
13680 IF (I < R) THEN
13681 --push(I); push(R);
13682 l_stack_index := l_stack_index + 1;
13683 l_stack(l_stack_index) := I;
13684 l_stack_index := l_stack_index + 1;
13685 l_stack(l_stack_index) := R;
13686 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
13687 END IF;
13688 R := J;
13689 ELSE
13690 IF (L < J) THEN
13691 --push(L); push(J);
13692 l_stack_index := l_stack_index + 1;
13693 l_stack(l_stack_index) := L;
13694 l_stack_index := l_stack_index + 1;
13695 l_stack(l_stack_index) := J;
13696 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
13697 END IF;
13698 L := I;
13699 END IF;
13700
13701 EXIT WHEN (L >= R);
13702 END LOOP;
13703 END LOOP;
13704
13705 EXCEPTION WHEN OTHERS THEN
13706
13707 x_return_status := OKL_API.G_RET_STS_ERROR;
13708 /*OKL_API.set_message(p_app_name => 'OKL',
13709 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13710 p_token1 => 'ASSET_NUMBER',
13711 p_token1_value => 'sort_rrid_mapping_tab');*/
13712 /* DEBUG */
13713 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13714 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13715 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_rrid_mapping_tab:l_rrid_mapping_tab N=' || N || ' ...');
13716 END IF;
13717
13718 --print array
13719 FOR i IN 1..N
13720 LOOP
13721 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13722 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrid_mapping_tab('||i||')=' || l_rrid_mapping_tab(i).old_id || ':' || l_rrid_mapping_tab(i).new_id);
13723 END IF;
13724 END LOOP;
13725
13726 RAISE OKC_API.G_EXCEPTION_ERROR;
13727
13728 END; /* sort_rrid_mapping_tab */
13729
13730
13731 PROCEDURE prepare_rule_groups_tl(p_old_id IN okc_rule_groups_b.id%TYPE,
13732 p_new_id IN okc_rule_groups_b.id%TYPE,
13733 p_flush IN VARCHAR2) IS
13734 CURSOR c13(p_id NUMBER) IS
13735 SELECT
13736 id, LANGUAGE, source_lang,
13737 sfwt_flag, comments, created_by,
13738 creation_date, last_updated_by, last_update_date,
13739 last_update_login, security_group_id
13740 FROM okc_rule_groups_tl
13741 WHERE id = p_id;
13742
13743 l_rtid_tab2 l_rtid_type;
13744 l_rtlanguage_tab2 l_rtlanguage_type;
13745 l_rtsource_lang_tab2 l_rtsource_lang_type;
13746 l_rtsfwt_flag_tab2 l_rtsfwt_flag_type;
13747 l_rtcomments_tab2 l_rtcomments_type;
13748 l_rtcreated_by_tab2 l_rtcreated_by_type;
13749 l_rtcreation_date_tab2 l_rtcreation_date_type;
13750 l_rtlast_updated_by_tab2 l_rtlast_updated_by_type;
13751 l_rtlast_update_date_tab2 l_rtlast_update_date_type;
13752 l_rtlast_update_login_tab2 l_rtlast_update_login_type;
13753 l_rtsecurity_group_id_tab2 l_rtsecurity_group_id_type;
13754
13755 BEGIN
13756 IF (G_DEBUG_ENABLED = 'Y') THEN
13757 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13758 END IF;
13759 NULL;
13760 OPEN c13(p_old_id);
13761 LOOP
13762 FETCH c13 bulk collect INTO
13763 l_rtid_tab2, l_rtlanguage_tab2, l_rtsource_lang_tab2,
13764 l_rtsfwt_flag_tab2, l_rtcomments_tab2, l_rtcreated_by_tab2,
13765 l_rtcreation_date_tab2,l_rtlast_updated_by_tab2,l_rtlast_update_date_tab2,
13766 l_rtlast_update_login_tab2, l_rtsecurity_group_id_tab2
13767 limit G_BULK_SIZE;
13768 EXIT WHEN l_rtid_tab2.COUNT = 0;
13769 FOR i IN l_rtid_tab2.first..l_rtid_tab2.last
13770 LOOP
13771 l_rtid_tab(l_rule_groups_tl_counter) := l_rtid_tab2(i);
13772
13773 -- Change id
13774 l_rtid_tab(l_rule_groups_tl_counter) := p_new_id;
13775
13776 l_rtlanguage_tab(l_rule_groups_tl_counter) := l_rtlanguage_tab2(i);
13777 l_rtsource_lang_tab(l_rule_groups_tl_counter) := l_rtsource_lang_tab2(i);
13778 l_rtsfwt_flag_tab(l_rule_groups_tl_counter) := l_rtsfwt_flag_tab2(i);
13779 l_rtcomments_tab(l_rule_groups_tl_counter) := l_rtcomments_tab2(i);
13780 l_rtcreated_by_tab(l_rule_groups_tl_counter) := l_rtcreated_by_tab2(i);
13781 l_rtcreation_date_tab(l_rule_groups_tl_counter) := l_rtcreation_date_tab2(i);
13782 l_rtlast_updated_by_tab(l_rule_groups_tl_counter) := l_rtlast_updated_by_tab2(i);
13783 l_rtlast_update_date_tab(l_rule_groups_tl_counter) := l_rtlast_update_date_tab2(i);
13784 l_rtlast_update_login_tab(l_rule_groups_tl_counter) := l_rtlast_update_login_tab2(i);
13785 l_rtsecurity_group_id_tab(l_rule_groups_tl_counter) := l_rtsecurity_group_id_tab2(i);
13786
13787 l_rule_groups_tl_counter := l_rule_groups_tl_counter + 1;
13788 END LOOP;
13789 END LOOP;
13790 CLOSE c13;
13791
13792 IF (p_flush = 'Y') THEN
13793 IF (l_rule_groups_tl_counter > 1) THEN
13794 forall i IN l_rtid_tab.first..l_rtid_tab.last
13795 INSERT INTO okc_rule_groups_tl (
13796 id, LANGUAGE, source_lang,
13797 sfwt_flag, comments, created_by,
13798 creation_date, last_updated_by, last_update_date,
13799 last_update_login, security_group_id
13800 ) VALUES (
13801 l_rtid_tab(i), l_rtlanguage_tab(i), l_rtsource_lang_tab(i),
13802 'N', l_rtcomments_tab(i), l_created_by,
13803 SYSDATE, l_last_updated_by, SYSDATE,
13804 l_last_update_login, l_rtsecurity_group_id_tab(i)
13805 );
13806 END IF;
13807 END IF;
13808
13809 EXCEPTION WHEN OTHERS THEN
13810
13811 x_return_status := OKL_API.G_RET_STS_ERROR;
13812 /*OKL_API.set_message(p_app_name => 'OKL',
13813 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13814 p_token1 => 'ASSET_NUMBER',
13815 p_token1_value => 'prepare_rule_groups_tl');*/
13816 /* DEBUG */
13817 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13818 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13819 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_rule_groups_tl:l_rtid_tab.count=' || l_rtid_tab.COUNT || ' ...');
13820 END IF;
13821 IF (l_rtid_tab.COUNT > 0) THEN
13822 FOR i IN l_rtid_tab.first..l_rtid_tab.last
13823 LOOP
13824 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13825 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtid_tab('||i||')=' || l_rtid_tab(i));
13826 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtlanguage_tab('||i||')=' || l_rtlanguage_tab(i));
13827 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtsource_lang_tab('||i||')=' || l_rtsource_lang_tab(i));
13828 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtcomments_tab('||i||')=' || l_rtcomments_tab(i));
13829 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtsecurity_group_id_tab('||i||')=' || l_rtsecurity_group_id_tab(i));
13830 END IF;
13831 END LOOP;
13832 END IF;
13833
13834 RAISE OKC_API.G_EXCEPTION_ERROR;
13835
13836 END; /* prepare_rule_groups_tl */
13837
13838 PROCEDURE insert_okc_rules_tl(p_old_id IN okc_rules_b.id%TYPE,
13839 p_new_id okc_rules_b.id%TYPE,
13840 p_flush IN VARCHAR2 ) IS
13841 CURSOR c15(p_id okc_rules_b.id%TYPE) IS
13842 SELECT
13843 id, LANGUAGE, source_lang,
13844 sfwt_flag, comments, text,
13845 created_by, creation_date, last_updated_by,
13846 last_update_date, last_update_login, security_group_id
13847 FROM okc_rules_tl
13848 WHERE id = p_id;
13849
13850 l_trid_tab2 l_trid_type;
13851 l_trlanguage_tab2 l_trlanguage_type;
13852 l_trsource_lang_tab2 l_trsource_lang_type;
13853 l_trsfwt_flag_tab2 l_trsfwt_flag_type;
13854 l_trcomments_tab2 l_trcomments_type;
13855 l_trtext_tab2 l_trtext_type;
13856 l_trcreated_by_tab2 l_trcreated_by_type;
13857 l_trcreation_date_tab2 l_trcreation_date_type;
13858 l_trlast_updated_by_tab2 l_trlast_updated_by_type;
13859 l_trlast_update_date_tab2 l_trlast_update_date_type;
13860 l_trlast_update_login_tab2 l_trlast_update_login_type;
13861 l_trsecurity_group_id_tab2 l_trsecurity_group_id_type;
13862
13863 BEGIN
13864 IF (G_DEBUG_ENABLED = 'Y') THEN
13865 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13866 END IF;
13867 OPEN c15(p_old_id);
13868 LOOP
13869 FETCH c15 bulk collect INTO
13870 l_trid_tab2, l_trlanguage_tab2, l_trsource_lang_tab2,
13871 l_trsfwt_flag_tab2, l_trcomments_tab2, l_trtext_tab2,
13872 l_trcreated_by_tab2, l_trcreation_date_tab2, l_trlast_updated_by_tab2,
13873 l_trlast_update_date_tab2, l_trlast_update_login_tab2, l_trsecurity_group_id_tab2
13874 limit G_BULK_SIZE;
13875 EXIT WHEN l_trid_tab2.COUNT = 0;
13876 FOR i IN l_trid_tab2.first..l_trid_tab2.last
13877 LOOP
13878
13879 l_trid_tab(l_rules_tl_counter) := l_trid_tab2(i);
13880 -- Change id
13881 l_trid_tab(l_rules_tl_counter) := p_new_id;
13882
13883 l_trlanguage_tab(l_rules_tl_counter) := l_trlanguage_tab2(i);
13884 l_trsource_lang_tab(l_rules_tl_counter) := l_trsource_lang_tab2(i);
13885 l_trsfwt_flag_tab(l_rules_tl_counter) := l_trsfwt_flag_tab2(i);
13886 l_trcomments_tab(l_rules_tl_counter) := l_trcomments_tab2(i);
13887 l_trtext_tab(l_rules_tl_counter) := l_trtext_tab2(i);
13888 l_trcreated_by_tab(l_rules_tl_counter) := l_trcreated_by_tab2(i);
13889 l_trcreation_date_tab(l_rules_tl_counter) := l_trcreation_date_tab2(i);
13890 l_trlast_updated_by_tab(l_rules_tl_counter) := l_trlast_updated_by_tab2(i);
13891 l_trlast_update_date_tab(l_rules_tl_counter) := l_trlast_update_date_tab2(i);
13892 l_trlast_update_login_tab(l_rules_tl_counter) := l_trlast_update_login_tab2(i);
13893 l_trsecurity_group_id_tab(l_rules_tl_counter) := l_trsecurity_group_id_tab2(i);
13894
13895 l_rules_tl_counter := l_rules_tl_counter + 1;
13896 END LOOP;
13897 END LOOP;
13898 CLOSE c15;
13899
13900 IF (p_flush = 'Y') THEN
13901 IF (l_rules_tl_counter > 1) THEN
13902 --Bug# 16425139: Fixed population of WHO columns to not copy values from previous contract
13903 forall i IN l_trid_tab.first..l_trid_tab.last
13904 INSERT INTO okc_rules_tl (
13905 id, LANGUAGE, source_lang,
13906 sfwt_flag, comments, text,
13907 created_by, creation_date, last_updated_by,
13908 last_update_date, last_update_login, security_group_id
13909 ) VALUES (
13910 l_trid_tab(i), l_trlanguage_tab(i), l_trsource_lang_tab(i),
13911 l_trsfwt_flag_tab(i), l_trcomments_tab(i), l_trtext_tab(i),
13912 l_created_by, SYSDATE, l_last_updated_by,
13913 SYSDATE, l_last_update_login, l_trsecurity_group_id_tab(i)
13914 );
13915 END IF;
13916 END IF;
13917
13918 EXCEPTION WHEN OTHERS THEN
13919
13920 x_return_status := OKL_API.G_RET_STS_ERROR;
13921 /*OKL_API.set_message(p_app_name => 'OKL',
13922 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13923 p_token1 => 'ASSET_NUMBER',
13924 p_token1_value => 'insert_okc_rules_tl');*/
13925 /* DEBUG */
13926 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13927 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13928 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_rules_tl:l_trid_tab.count=' || l_trid_tab.COUNT || ' ...');
13929 END IF;
13930 IF (l_trid_tab.COUNT > 0 ) THEN
13931 FOR i IN l_trid_tab.first..l_trid_tab.last
13932 LOOP
13933 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13934 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trid_tab('||i||')=' || l_trid_tab(i));
13935 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trlanguage_tab('||i||')=' || l_trlanguage_tab(i));
13936 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trsource_lang_tab('||i||')=' || l_trsource_lang_tab(i));
13937 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trsfwt_flag_tab('||i||')=' || l_trsfwt_flag_tab(i));
13938 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trcomments_tab('||i||')=' || l_trcomments_tab(i));
13939 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trtext_tab('||i||')=' || l_trtext_tab(i));
13940 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trsecurity_group_id_tab('||i||')=' || l_trsecurity_group_id_tab(i));
13941 END IF;
13942 END LOOP;
13943 END IF;
13944
13945 RAISE OKC_API.G_EXCEPTION_ERROR;
13946
13947 END; /* insert_okc_rules_tl */
13948
13949 PROCEDURE insert_okc_rules_b( p_old_id IN okc_rule_groups_b.id%TYPE,
13950 p_new_id IN okc_rule_groups_b.id%TYPE) IS
13951 CURSOR c14(p_id okc_rule_groups_b.id%TYPE) IS
13952 SELECT
13953 a.id, a.rgp_id, a.object1_id1,
13954 a.object2_id1, a.object3_id1, a.object1_id2,
13955 a.object2_id2, a.object3_id2, a.jtot_object1_code,
13956 a.jtot_object2_code, a.jtot_object3_code, a.dnz_chr_id,
13957 a.std_template_yn, a.warn_yn, a.priority,
13958 a.object_version_number, a.created_by, a.creation_date,
13959 a.last_updated_by, a.last_update_date, a.last_update_login,
13960 a.attribute_category, a.attribute1, a.attribute2,
13961 a.attribute3, a.attribute4, a.attribute5,
13962 a.attribute6, a.attribute7, a.attribute8,
13963 a.attribute9, a.attribute10, a.attribute11,
13964 a.attribute12, a.attribute13, a.attribute14,
13965 a.attribute15, a.rule_information_category, a.rule_information1,
13966 a.rule_information2, a.rule_information3, a.rule_information4,
13967 a.rule_information5, a.rule_information6, a.rule_information7,
13968 a.rule_information8, a.rule_information9, a.rule_information10,
13969 a.rule_information11, a.rule_information12, a.rule_information13,
13970 a.rule_information14, a.rule_information15, a.security_group_id,
13971 a.template_yn, a.ans_set_jtot_object_code, a.ans_set_jtot_object_id1,
13972 a.ans_set_jtot_object_id2, a.display_sequence, a.comments
13973 FROM okc_rules_b a,
13974 okc_rule_groups_b rgp,
13975 okc_rg_def_rules rgdef
13976 WHERE a.dnz_chr_id=p_id
13977 AND a.rgp_id=rgp.id
13978 AND rgp.rgd_code=rgdef.rgd_code
13979 AND a.rule_information_category = rgdef.rdf_code
13980 AND (
13981 rgp.chr_id = rgp.chr_id
13982 OR (
13983 NVL(p_copy_lines_yn, 'N') = 'Y'
13984 AND rgp.cle_id IS NOT NULL
13985 )
13986 );
13987
13988 l_rrid_tab2 l_rrid_type;
13989 l_rrrgp_id_tab2 l_rrrgp_id_type;
13990 l_rrobject1_id1_tab2 l_rrobject1_id1_type;
13991 l_rrobject2_id1_tab2 l_rrobject2_id1_type;
13992 l_rrobject3_id1_tab2 l_rrobject3_id1_type;
13993 l_rrobject1_id2_tab2 l_rrobject1_id2_type;
13994 l_rrobject2_id2_tab2 l_rrobject2_id2_type;
13995 l_rrobject3_id2_tab2 l_rrobject3_id2_type;
13996 l_rrjtot_object1_code_tab2 l_rrjtot_object1_code_type;
13997 l_rrjtot_object2_code_tab2 l_rrjtot_object2_code_type;
13998 l_rrjtot_object3_code_tab2 l_rrjtot_object3_code_type;
13999 l_rrdnz_chr_id_tab2 l_rrdnz_chr_id_type;
14000 l_rrstd_template_yn_tab2 l_rrstd_template_yn_type;
14001 l_rrwarn_yn_tab2 l_rrwarn_yn_type;
14002 l_rrpriority_tab2 l_rrpriority_type;
14003 l_rrobject_version_number_tab2 l_rrobject_version_number_type;
14004 l_rrcreated_by_tab2 l_rrcreated_by_type;
14005 l_rrcreation_date_tab2 l_rrcreation_date_type;
14006 l_rrlast_updated_by_tab2 l_rrlast_updated_by_type;
14007 l_rrlast_update_date_tab2 l_rrlast_update_date_type;
14008 l_rrlast_update_login_tab2 l_rrlast_update_login_type;
14009 l_rrattribute_category_tab2 l_rrattribute_category_type;
14010 l_rrattribute1_tab2 l_rrattribute1_type;
14011 l_rrattribute2_tab2 l_rrattribute2_type;
14012 l_rrattribute3_tab2 l_rrattribute3_type;
14013 l_rrattribute4_tab2 l_rrattribute4_type;
14014 l_rrattribute5_tab2 l_rrattribute5_type;
14015 l_rrattribute6_tab2 l_rrattribute6_type;
14016 l_rrattribute7_tab2 l_rrattribute7_type;
14017 l_rrattribute8_tab2 l_rrattribute8_type;
14018 l_rrattribute9_tab2 l_rrattribute9_type;
14019 l_rrattribute10_tab2 l_rrattribute10_type;
14020 l_rrattribute11_tab2 l_rrattribute11_type;
14021 l_rrattribute12_tab2 l_rrattribute12_type;
14022 l_rrattribute13_tab2 l_rrattribute13_type;
14023 l_rrattribute14_tab2 l_rrattribute14_type;
14024 l_rrattribute15_tab2 l_rrattribute15_type;
14025 l_rrrule_information_cate_tab2 l_rrrule_information_cate_type;
14026 l_rrrule_information1_tab2 l_rrrule_information1_type;
14027 l_rrrule_information2_tab2 l_rrrule_information2_type;
14028 l_rrrule_information3_tab2 l_rrrule_information3_type;
14029 l_rrrule_information4_tab2 l_rrrule_information4_type;
14030 l_rrrule_information5_tab2 l_rrrule_information5_type;
14031 l_rrrule_information6_tab2 l_rrrule_information6_type;
14032 l_rrrule_information7_tab2 l_rrrule_information7_type;
14033 l_rrrule_information8_tab2 l_rrrule_information8_type;
14034 l_rrrule_information9_tab2 l_rrrule_information9_type;
14035 l_rrrule_information10_tab2 l_rrrule_information10_type;
14036 l_rrrule_information11_tab2 l_rrrule_information11_type;
14037 l_rrrule_information12_tab2 l_rrrule_information12_type;
14038 l_rrrule_information13_tab2 l_rrrule_information13_type;
14039 l_rrrule_information14_tab2 l_rrrule_information14_type;
14040 l_rrrule_information15_tab2 l_rrrule_information15_type;
14041 l_rrsecurity_group_id_tab2 l_rrsecurity_group_id_type;
14042 l_rrtemplate_yn_tab2 l_rrtemplate_yn_type;
14043 l_rrans_set_jtot_object_c_tab2 l_rrans_set_jtot_object_c_type;
14044 l_rrans_set_jtot_object_1_tab2 l_rrans_set_jtot_object_1_type;
14045 l_rrans_set_jtot_object_2_tab2 l_rrans_set_jtot_object_2_type;
14046 l_rrdisplay_sequence_tab2 l_rrdisplay_sequence_type;
14047 l_rrcomments_tab2 l_rrcomments_type;
14048
14049 l_new_rgp_id NUMBER;
14050 l_new_id NUMBER;
14051
14052 l_return_status2 VARCHAR2(1);
14053 l_unsched_prin_stream_id NUMBER := NULL;
14054 l_unsched_loan_stream_id NUMBER := NULL;
14055 l_proceed_processing BOOLEAN := TRUE;
14056 l_prin_rule_id NUMBER := NULL;
14057 l_loan_rule_id NUMBER := NULL;
14058 BEGIN
14059 IF (G_DEBUG_ENABLED = 'Y') THEN
14060 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
14061 END IF;
14062 NULL;
14063 okl_streams_util.get_dependent_stream_type (
14064 p_khr_id => p_old_id,
14065 p_primary_sty_purpose => 'RENT',
14066 p_dependent_sty_purpose => 'UNSCHEDULED_PRINCIPAL_PAYMENT',
14067 x_return_status => l_return_status2,
14068 x_dependent_sty_id => l_unsched_prin_stream_id);
14069 IF (l_return_status2 <> OKC_API.G_RET_STS_SUCCESS) THEN
14070 l_unsched_prin_stream_id := NULL;
14071 END IF;
14072
14073 okl_streams_util.get_dependent_stream_type (
14074 p_khr_id => p_old_id,
14075 p_primary_sty_purpose => 'RENT',
14076 p_dependent_sty_purpose => 'UNSCHEDULED_LOAN_PAYMENT',
14077 x_return_status => l_return_status2,
14078 x_dependent_sty_id => l_unsched_loan_stream_id);
14079 IF (l_return_status2 <> OKC_API.G_RET_STS_SUCCESS) THEN
14080 l_unsched_loan_stream_id := NULL;
14081 END IF;
14082
14083 --print('AKP:l_unsched_prin_stream_id=' || l_unsched_prin_stream_id);
14084 --print('AKP:l_unsched_loan_stream_id=' || l_unsched_loan_stream_id);
14085 OPEN c14(p_old_id);
14086 LOOP
14087 FETCH c14 bulk collect INTO
14088 l_rrid_tab2, l_rrrgp_id_tab2, l_rrobject1_id1_tab2,
14089 l_rrobject2_id1_tab2, l_rrobject3_id1_tab2, l_rrobject1_id2_tab2,
14090 l_rrobject2_id2_tab2, l_rrobject3_id2_tab2, l_rrjtot_object1_code_tab2,
14091 l_rrjtot_object2_code_tab2, l_rrjtot_object3_code_tab2, l_rrdnz_chr_id_tab2,
14092 l_rrstd_template_yn_tab2, l_rrwarn_yn_tab2, l_rrpriority_tab2,
14093 l_rrobject_version_number_tab2, l_rrcreated_by_tab2, l_rrcreation_date_tab2,
14094 l_rrlast_updated_by_tab2, l_rrlast_update_date_tab2, l_rrlast_update_login_tab2,
14095 l_rrattribute_category_tab2, l_rrattribute1_tab2, l_rrattribute2_tab2,
14096 l_rrattribute3_tab2, l_rrattribute4_tab2, l_rrattribute5_tab2,
14097 l_rrattribute6_tab2, l_rrattribute7_tab2, l_rrattribute8_tab2,
14098 l_rrattribute9_tab2, l_rrattribute10_tab2, l_rrattribute11_tab2,
14099 l_rrattribute12_tab2, l_rrattribute13_tab2, l_rrattribute14_tab2,
14100 l_rrattribute15_tab2, l_rrrule_information_cate_tab2, l_rrrule_information1_tab2,
14101 l_rrrule_information2_tab2, l_rrrule_information3_tab2, l_rrrule_information4_tab2,
14102 l_rrrule_information5_tab2, l_rrrule_information6_tab2, l_rrrule_information7_tab2,
14103 l_rrrule_information8_tab2, l_rrrule_information9_tab2, l_rrrule_information10_tab2,
14104 l_rrrule_information11_tab2, l_rrrule_information12_tab2, l_rrrule_information13_tab2,
14105 l_rrrule_information14_tab2, l_rrrule_information15_tab2, l_rrsecurity_group_id_tab2,
14106 l_rrtemplate_yn_tab2, l_rrans_set_jtot_object_c_tab2, l_rrans_set_jtot_object_1_tab2,
14107 l_rrans_set_jtot_object_2_tab2, l_rrdisplay_sequence_tab2, l_rrcomments_tab2
14108 limit G_BULK_SIZE;
14109 EXIT WHEN l_rrid_tab2.COUNT = 0;
14110 FOR i IN l_rrid_tab2.first..l_rrid_tab2.last
14111 LOOP
14112
14113 l_proceed_processing := TRUE;
14114 IF p_trans_type not in ('CRB', 'CRL', 'CSP', 'CRV', 'ALI') THEN
14115 IF (l_rrobject1_id1_tab2(i) = to_char(l_unsched_prin_stream_id)) THEN
14116 l_proceed_processing := FALSE;
14117 l_prin_rule_id := l_rrid_tab2(i);
14118 --print('AKP:l_prin_rule_id=' || l_prin_rule_id);
14119 END IF;
14120
14121 IF (l_rrobject1_id1_tab2(i) = to_char(l_unsched_loan_stream_id)) THEN
14122 l_proceed_processing := FALSE;
14123 l_loan_rule_id := l_rrid_tab2(i);
14124 END IF;
14125
14126 IF (l_rrobject2_id1_tab2(i) = to_char(l_prin_rule_id)) THEN
14127 l_proceed_processing := FALSE;
14128 END IF;
14129
14130 IF (l_rrobject2_id1_tab2(i) = to_char(l_loan_rule_id)) THEN
14131 l_proceed_processing := FALSE;
14132 END IF;
14133
14134 END IF;
14135
14136 /*IF (l_proceed_processing) THEN
14137 print('AKP: i=' || i || ': l_proceed_processing = TRUE');
14138 ELSE
14139 print('AKP: i=' || i || ': l_proceed_processing = FALSE');
14140 END IF;*/
14141
14142 IF (l_proceed_processing) THEN
14143 -- Store old in tab3
14144 l_rrid_tab3(l_rules_b_counter) := l_rrid_tab2(i);
14145
14146 l_rrid_tab(l_rules_b_counter) := l_rrid_tab2(i);
14147 -- Change id
14148 l_rrid_tab(l_rules_b_counter) := okc_p_util.raw_to_number(sys_guid());
14149
14150 l_rrid_mapping_tab(l_rules_b_counter).old_id := l_rrid_tab3(l_rules_b_counter);
14151 l_rrid_mapping_tab(l_rules_b_counter).new_id := l_rrid_tab(l_rules_b_counter);
14152
14153 l_rrrgp_id_tab(l_rules_b_counter) := l_rrrgp_id_tab2(i);
14154 -- Change rgp_id
14155 l_new_rgp_id := find_rid_mapping_id(l_rrrgp_id_tab(l_rules_b_counter));
14156 l_rrrgp_id_tab(l_rules_b_counter) := l_new_rgp_id;
14157
14158 l_rrobject1_id1_tab(l_rules_b_counter) := l_rrobject1_id1_tab2(i);
14159 l_rrobject2_id1_tab(l_rules_b_counter) := l_rrobject2_id1_tab2(i);
14160 l_rrobject3_id1_tab(l_rules_b_counter) := l_rrobject3_id1_tab2(i);
14161 l_rrobject1_id2_tab(l_rules_b_counter) := l_rrobject1_id2_tab2(i);
14162 l_rrobject2_id2_tab(l_rules_b_counter) := l_rrobject2_id2_tab2(i);
14163 l_rrobject3_id2_tab(l_rules_b_counter) := l_rrobject3_id2_tab2(i);
14164 l_rrjtot_object1_code_tab(l_rules_b_counter) := l_rrjtot_object1_code_tab2(i);
14165 l_rrjtot_object2_code_tab(l_rules_b_counter) := l_rrjtot_object2_code_tab2(i);
14166 l_rrjtot_object3_code_tab(l_rules_b_counter) := l_rrjtot_object3_code_tab2(i);
14167 l_rrdnz_chr_id_tab(l_rules_b_counter) := l_rrdnz_chr_id_tab2(i);
14168 -- Change dnz_chr_id
14169 l_rrdnz_chr_id_tab(l_rules_b_counter) := p_new_id;
14170
14171 l_rrstd_template_yn_tab(l_rules_b_counter) := l_rrstd_template_yn_tab2(i);
14172 l_rrwarn_yn_tab(l_rules_b_counter) := l_rrwarn_yn_tab2(i);
14173 l_rrpriority_tab(l_rules_b_counter) := l_rrpriority_tab2(i);
14174 l_rrobject_version_number_tab(l_rules_b_counter) := l_rrobject_version_number_tab2(i);
14175 l_rrcreated_by_tab(l_rules_b_counter) := l_rrcreated_by_tab2(i);
14176 l_rrcreation_date_tab(l_rules_b_counter) := l_rrcreation_date_tab2(i);
14177 l_rrlast_updated_by_tab(l_rules_b_counter) := l_rrlast_updated_by_tab2(i);
14178 l_rrlast_update_date_tab(l_rules_b_counter) := l_rrlast_update_date_tab2(i);
14179 l_rrlast_update_login_tab(l_rules_b_counter) := l_rrlast_update_login_tab2(i);
14180 l_rrattribute_category_tab(l_rules_b_counter) := l_rrattribute_category_tab2(i);
14181 l_rrattribute1_tab(l_rules_b_counter) := l_rrattribute1_tab2(i);
14182 l_rrattribute2_tab(l_rules_b_counter) := l_rrattribute2_tab2(i);
14183 l_rrattribute3_tab(l_rules_b_counter) := l_rrattribute3_tab2(i);
14184 l_rrattribute4_tab(l_rules_b_counter) := l_rrattribute4_tab2(i);
14185 l_rrattribute5_tab(l_rules_b_counter) := l_rrattribute5_tab2(i);
14186 l_rrattribute6_tab(l_rules_b_counter) := l_rrattribute6_tab2(i);
14187 l_rrattribute7_tab(l_rules_b_counter) := l_rrattribute7_tab2(i);
14188 l_rrattribute8_tab(l_rules_b_counter) := l_rrattribute8_tab2(i);
14189 l_rrattribute9_tab(l_rules_b_counter) := l_rrattribute9_tab2(i);
14190 l_rrattribute10_tab(l_rules_b_counter) := l_rrattribute10_tab2(i);
14191 l_rrattribute11_tab(l_rules_b_counter) := l_rrattribute11_tab2(i);
14192 l_rrattribute12_tab(l_rules_b_counter) := l_rrattribute12_tab2(i);
14193 l_rrattribute13_tab(l_rules_b_counter) := l_rrattribute13_tab2(i);
14194 l_rrattribute14_tab(l_rules_b_counter) := l_rrattribute14_tab2(i);
14195 l_rrattribute15_tab(l_rules_b_counter) := l_rrattribute15_tab2(i);
14196 l_rrrule_information_cate_tab(l_rules_b_counter) := l_rrrule_information_cate_tab2(i);
14197 l_rrrule_information1_tab(l_rules_b_counter) := l_rrrule_information1_tab2(i);
14198 --gboomina Bug 5362977 - Start
14199 -- Do not set Re-lease asset Flag to 'N' for Rebook and Re-lease copy
14200 -- contracts
14201 -- Start : Bug #15992711
14202 -- Do not set Re-lease asset Flag to 'N' for Re-lease copy
14203 /*IF ( NVL(l_orig_system_source_code,OKL_API.G_MISS_CHAR) IN ('OKL_REBOOK','OKL_RELEASE'))
14204 THEN
14205 NULL;
14206 ELSE
14207 IF ( l_rrrule_information_cate_tab(l_rules_b_counter) = 'LARLES') THEN
14208 l_rrrule_information1_tab(l_rules_b_counter) := 'N';
14209 END IF;
14210 END IF;
14211 -- gboomina Bug 5362977 - End*/
14212 IF ( NVL(l_orig_system_source_code,OKL_API.G_MISS_CHAR) IN ('OKL_RELEASE'))
14213 THEN
14214 NULL;
14215 ELSE
14216 IF ( l_rrrule_information_cate_tab(l_rules_b_counter) = 'LARLES') THEN
14217 l_rrrule_information1_tab(l_rules_b_counter) := 'N';
14218 END IF;
14219 END IF;
14220 -- End: Bug #15992711
14221
14222 l_rrrule_information2_tab(l_rules_b_counter) := l_rrrule_information2_tab2(i);
14223 l_rrrule_information3_tab(l_rules_b_counter) := l_rrrule_information3_tab2(i);
14224 l_rrrule_information4_tab(l_rules_b_counter) := l_rrrule_information4_tab2(i);
14225 l_rrrule_information5_tab(l_rules_b_counter) := l_rrrule_information5_tab2(i);
14226 l_rrrule_information6_tab(l_rules_b_counter) := l_rrrule_information6_tab2(i);
14227 l_rrrule_information7_tab(l_rules_b_counter) := l_rrrule_information7_tab2(i);
14228 l_rrrule_information8_tab(l_rules_b_counter) := l_rrrule_information8_tab2(i);
14229 l_rrrule_information9_tab(l_rules_b_counter) := l_rrrule_information9_tab2(i);
14230 l_rrrule_information10_tab(l_rules_b_counter) := l_rrrule_information10_tab2(i);
14231 l_rrrule_information11_tab(l_rules_b_counter) := l_rrrule_information11_tab2(i);
14232 l_rrrule_information12_tab(l_rules_b_counter) := l_rrrule_information12_tab2(i);
14233 -- bug 6489689 veramach start
14234 IF (l_rrrule_information_cate_tab(l_rules_b_counter) = 'LASLL') THEN
14235 l_rrrule_information13_tab(l_rules_b_counter) := NULL;
14236 ELSE
14237 l_rrrule_information13_tab(l_rules_b_counter) := l_rrrule_information13_tab2(i);
14238 END IF;
14239 -- bug 6489689 veramach end
14240 l_rrrule_information14_tab(l_rules_b_counter) := l_rrrule_information14_tab2(i);
14241 l_rrrule_information15_tab(l_rules_b_counter) := l_rrrule_information15_tab2(i);
14242 l_rrsecurity_group_id_tab(l_rules_b_counter) := l_rrsecurity_group_id_tab2(i);
14243 l_rrtemplate_yn_tab(l_rules_b_counter) := l_rrtemplate_yn_tab2(i);
14244 l_rrans_set_jtot_object_c_tab(l_rules_b_counter) := l_rrans_set_jtot_object_c_tab2(i);
14245 l_rrans_set_jtot_object_1_tab(l_rules_b_counter) := l_rrans_set_jtot_object_1_tab2(i);
14246 l_rrans_set_jtot_object_2_tab(l_rules_b_counter) := l_rrans_set_jtot_object_2_tab2(i);
14247 l_rrdisplay_sequence_tab(l_rules_b_counter) := l_rrdisplay_sequence_tab2(i);
14248 l_rrcomments_tab(l_rules_b_counter) := l_rrcomments_tab2(i);
14249
14250 l_rules_b_counter := l_rules_b_counter + 1;
14251
14252 END IF; -- if proceed_processing
14253 END LOOP;
14254 END LOOP;
14255 CLOSE c14;
14256
14257 IF (l_rules_b_counter > 1) THEN
14258 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14259 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rules_b_counter='||l_rules_b_counter || ' l_rrid_tab.count='||l_rrid_tab.COUNT);
14260 END IF;
14261 sort_rrid_mapping_tab;
14262 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14263 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sort_rrid_mapping_tab done...');
14264 END IF;
14265 -- Replace object1_id2
14266 FOR i IN l_rrid_tab.first..l_rrid_tab.last
14267 LOOP
14268 IF ((l_rrobject2_id1_tab(i) IS NOT NULL) AND
14269 --(l_rrobject2_id1_tab(i) != '#' ) and
14270 (l_rrrule_information_cate_tab(i) = 'LASLL')) THEN
14271 BEGIN
14272 l_new_id := find_rrid_mapping_id(TO_NUMBER(l_rrobject2_id1_tab(i)));
14273 IF (l_new_id = -1) THEN
14274 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14275 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_rrobject2_id1_tab(i));
14276 END IF;
14277 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14278 END IF;
14279 l_rrobject2_id1_tab(i) := l_new_id;
14280 --print('object2_id1:l_new_id=' || l_new_id);
14281 EXCEPTION WHEN OTHERS THEN
14282 NULL;
14283 --print('l_rrobject2_id1_tab(i)=' || l_rrobject2_id1_tab(i));
14284 END;
14285 END IF;
14286 END LOOP;
14287 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14288 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'replacing object1_id2 done...');
14289 END IF;
14290
14291 forall i IN l_rrid_tab.first..l_rrid_tab.last
14292 INSERT INTO okc_rules_b (
14293 id, rgp_id, object1_id1,
14294 object2_id1, object3_id1, object1_id2,
14295 object2_id2, object3_id2, jtot_object1_code,
14296 jtot_object2_code, jtot_object3_code, dnz_chr_id,
14297 std_template_yn, warn_yn, priority,
14298 object_version_number, created_by, creation_date,
14299 last_updated_by, last_update_date, last_update_login,
14300 attribute_category, attribute1, attribute2,
14301 attribute3, attribute4, attribute5,
14302 attribute6, attribute7, attribute8,
14303 attribute9, attribute10, attribute11,
14304 attribute12, attribute13, attribute14,
14305 attribute15, rule_information_category, rule_information1,
14306 rule_information2, rule_information3, rule_information4,
14307 rule_information5, rule_information6, rule_information7,
14308 rule_information8, rule_information9, rule_information10,
14309 rule_information11, rule_information12, rule_information13,
14310 rule_information14, rule_information15, security_group_id,
14311 template_yn, ans_set_jtot_object_code, ans_set_jtot_object_id1,
14312 ans_set_jtot_object_id2, display_sequence, comments
14313 ) VALUES (
14314 l_rrid_tab(i), l_rrrgp_id_tab(i), l_rrobject1_id1_tab(i),
14315 l_rrobject2_id1_tab(i), l_rrobject3_id1_tab(i), l_rrobject1_id2_tab(i),
14316 l_rrobject2_id2_tab(i), l_rrobject3_id2_tab(i), l_rrjtot_object1_code_tab(i),
14317 l_rrjtot_object2_code_tab(i), l_rrjtot_object3_code_tab(i), l_rrdnz_chr_id_tab(i),
14318 l_rrstd_template_yn_tab(i), l_rrwarn_yn_tab(i), l_rrpriority_tab(i),
14319 1, l_created_by, SYSDATE,
14320 l_last_updated_by, SYSDATE, l_last_update_login,
14321 l_rrattribute_category_tab(i), l_rrattribute1_tab(i), l_rrattribute2_tab(i),
14322 l_rrattribute3_tab(i), l_rrattribute4_tab(i), l_rrattribute5_tab(i),
14323 l_rrattribute6_tab(i), l_rrattribute7_tab(i), l_rrattribute8_tab(i),
14324 l_rrattribute9_tab(i), l_rrattribute10_tab(i), l_rrattribute11_tab(i),
14325 l_rrattribute12_tab(i), l_rrattribute13_tab(i), l_rrattribute14_tab(i),
14326 l_rrattribute15_tab(i), l_rrrule_information_cate_tab(i), l_rrrule_information1_tab(i),
14327 l_rrrule_information2_tab(i), l_rrrule_information3_tab(i), l_rrrule_information4_tab(i),
14328 l_rrrule_information5_tab(i), l_rrrule_information6_tab(i), l_rrrule_information7_tab(i),
14329 l_rrrule_information8_tab(i), l_rrrule_information9_tab(i), l_rrrule_information10_tab(i),
14330 l_rrrule_information11_tab(i), l_rrrule_information12_tab(i), l_rrrule_information13_tab(i),
14331 l_rrrule_information14_tab(i), l_rrrule_information15_tab(i), l_rrsecurity_group_id_tab(i),
14332 l_rrtemplate_yn_tab(i), l_rrans_set_jtot_object_c_tab(i), l_rrans_set_jtot_object_1_tab(i),
14333 l_rrans_set_jtot_object_2_tab(i), l_rrdisplay_sequence_tab(i), l_rrcomments_tab(i)
14334 );
14335 -- AKP: Special processing link_slh_sll ???
14336 FOR i IN l_rrid_tab.first..l_rrid_tab.last
14337 LOOP
14338 IF ( i = l_rrid_tab.last) THEN
14339 insert_okc_rules_tl(l_rrid_tab3(i),l_rrid_tab(i), 'Y');
14340 ELSE
14341 insert_okc_rules_tl(l_rrid_tab3(i),l_rrid_tab(i), 'N');
14342 END IF;
14343 END LOOP;
14344
14345 END IF;
14346
14347 EXCEPTION WHEN OTHERS THEN
14348
14349 x_return_status := OKL_API.G_RET_STS_ERROR;
14350 /*OKL_API.set_message(p_app_name => 'OKL',
14351 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
14352 p_token1 => 'ASSET_NUMBER',
14353 p_token1_value => 'insert_okc_rules_b');*/
14354 /* DEBUG */
14355 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14356 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
14357 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_rules_b:l_rrid_tab.count=' || l_rrid_tab.COUNT || ' ...');
14358 END IF;
14359
14360 IF (l_rrid_tab.COUNT > 0) THEN
14361 FOR i IN l_rrid_tab.first..l_rrid_tab.last
14362 LOOP
14363 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14364 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrid_tab('||i||')=' || l_rrid_tab(i));
14365 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrgp_id_tab('||i||')=' || l_rrrgp_id_tab(i));
14366 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject1_id1_tab('||i||')=' || l_rrobject1_id1_tab(i));
14367 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject2_id1_tab('||i||')=' || l_rrobject2_id1_tab(i));
14368 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject3_id1_tab('||i||')=' || l_rrobject3_id1_tab(i));
14369 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject1_id2_tab('||i||')=' || l_rrobject1_id2_tab(i));
14370 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject2_id2_tab('||i||')=' || l_rrobject2_id2_tab(i));
14371 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject3_id2_tab('||i||')=' || l_rrobject3_id2_tab(i));
14372 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrjtot_object1_code_tab('||i||')=' || l_rrjtot_object1_code_tab(i));
14373 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrjtot_object2_code_tab('||i||')=' || l_rrjtot_object2_code_tab(i));
14374 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrjtot_object3_code_tab('||i||')=' || l_rrjtot_object3_code_tab(i));
14375 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrdnz_chr_id_tab('||i||')=' || l_rrdnz_chr_id_tab(i));
14376 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrstd_template_yn_tab('||i||')=' || l_rrstd_template_yn_tab(i));
14377 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrwarn_yn_tab('||i||')=' || l_rrwarn_yn_tab(i));
14378 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrpriority_tab('||i||')=' || l_rrpriority_tab(i));
14379 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute_category_tab('||i||')=' || l_rrattribute_category_tab(i));
14380 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute1_tab('||i||')=' || l_rrattribute1_tab(i));
14381 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute2_tab('||i||')=' || l_rrattribute2_tab(i));
14382 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute3_tab('||i||')=' || l_rrattribute3_tab(i));
14383 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute4_tab('||i||')=' || l_rrattribute4_tab(i));
14384 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute5_tab('||i||')=' || l_rrattribute5_tab(i));
14385 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute6_tab('||i||')=' || l_rrattribute6_tab(i));
14386 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute7_tab('||i||')=' || l_rrattribute7_tab(i));
14387 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute8_tab('||i||')=' || l_rrattribute8_tab(i));
14388 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute9_tab('||i||')=' || l_rrattribute9_tab(i));
14389 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute10_tab('||i||')=' || l_rrattribute10_tab(i));
14390 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute11_tab('||i||')=' || l_rrattribute11_tab(i));
14391 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute12_tab('||i||')=' || l_rrattribute12_tab(i));
14392 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute13_tab('||i||')=' || l_rrattribute13_tab(i));
14393 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute14_tab('||i||')=' || l_rrattribute14_tab(i));
14394 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute15_tab('||i||')=' || l_rrattribute15_tab(i));
14395 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information_cate_tab('||i||')=' || l_rrrule_information_cate_tab(i));
14396 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information1_tab('||i||')=' || l_rrrule_information1_tab(i));
14397 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information2_tab('||i||')=' || l_rrrule_information2_tab(i));
14398 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information3_tab('||i||')=' || l_rrrule_information3_tab(i));
14399 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information4_tab('||i||')=' || l_rrrule_information4_tab(i));
14400 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information5_tab('||i||')=' || l_rrrule_information5_tab(i));
14401 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information6_tab('||i||')=' || l_rrrule_information6_tab(i));
14402 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information7_tab('||i||')=' || l_rrrule_information7_tab(i));
14403 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information8_tab('||i||')=' || l_rrrule_information8_tab(i));
14404 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information9_tab('||i||')=' || l_rrrule_information9_tab(i));
14405 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information10_tab('||i||')=' || l_rrrule_information10_tab(i));
14406 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information11_tab('||i||')=' || l_rrrule_information11_tab(i));
14407 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information12_tab('||i||')=' || l_rrrule_information12_tab(i));
14408 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information13_tab('||i||')=' || l_rrrule_information13_tab(i));
14409 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information14_tab('||i||')=' || l_rrrule_information14_tab(i));
14410 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information15_tab('||i||')=' || l_rrrule_information15_tab(i));
14411 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrsecurity_group_id_tab('||i||')=' || l_rrsecurity_group_id_tab(i));
14412 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrtemplate_yn_tab('||i||')=' || l_rrtemplate_yn_tab(i));
14413 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrans_set_jtot_object_c_tab('||i||')=' || l_rrans_set_jtot_object_c_tab(i));
14414 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrans_set_jtot_object_1_tab('||i||')=' || l_rrans_set_jtot_object_1_tab(i));
14415 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrans_set_jtot_object_2_tab('||i||')=' || l_rrans_set_jtot_object_2_tab(i));
14416 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrdisplay_sequence_tab('||i||')=' || l_rrdisplay_sequence_tab(i));
14417 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrcomments_tab('||i||')=' || l_rrcomments_tab(i));
14418 END IF;
14419 END LOOP;
14420 END IF;
14421
14422 RAISE OKC_API.G_EXCEPTION_ERROR;
14423
14424 END; /* insert_okc_rules_b */
14425
14426 FUNCTION find_tid_mapping_id(p_id IN VARCHAR2) RETURN NUMBER IS
14427 hi NUMBER;
14428 lo NUMBER;
14429 m NUMBER;
14430 BEGIN
14431 lo := 1;
14432 hi := l_tid_counter - 1;
14433 WHILE (lo <= hi) LOOP
14434 m := FLOOR((hi + lo)/2);
14435 IF (l_tid_mapping_tab(m).rgd_code = p_id) THEN
14436 RETURN l_tid_mapping_tab(m).id;
14437 ELSIF (l_tid_mapping_tab(m).rgd_code > p_id) THEN
14438 hi := m - 1;
14439 ELSE
14440 lo := m + 1;
14441 END IF;
14442 END LOOP;
14443 RETURN -1;
14444 END; /* find_tid_mapping_id */
14445
14446 PROCEDURE sort_tid_mapping_tab IS
14447 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
14448 --a numtabtype;
14449 l_stack numtabtype;
14450 l_stack_index NUMBER := 0;
14451 N NUMBER;
14452 R NUMBER;
14453 L NUMBER;
14454 P NUMBER;
14455 W VARCHAR2(30);
14456 W2 NUMBER;
14457 X VARCHAR2(30);
14458 I NUMBER;
14459 J NUMBER;
14460 BEGIN
14461 IF (G_DEBUG_ENABLED = 'Y') THEN
14462 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
14463 END IF;
14464 NULL;
14465
14466 N := l_tid_counter - 1;
14467 IF (N < 2) THEN
14468 RETURN;
14469 END IF;
14470 l_stack_index := l_stack_index + 1;
14471 l_stack(l_stack_index) := 1;
14472 l_stack_index := l_stack_index + 1;
14473 l_stack(l_stack_index) := N;
14474
14475 --dbms_output.put_line('l_stack_index=' || l_stack_index);
14476 WHILE l_stack_index > 0
14477 LOOP
14478 R := l_stack(l_stack_index);
14479 l_stack_index := l_stack_index - 1;
14480 L := l_stack(l_stack_index);
14481 l_stack_index := l_stack_index - 1;
14482 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
14483 WHILE 1=1
14484 LOOP -- loop until L >= R
14485 I := L;
14486 J := R;
14487 P := FLOOR((L+R)/2);
14488 --if (a(L) > a(P)) then
14489 IF (l_tid_mapping_tab(L).rgd_code > l_tid_mapping_tab(P).rgd_code)
14490 THEN
14491 W := l_tid_mapping_tab(L).rgd_code;
14492 W2 := l_tid_mapping_tab(L).id;
14493 l_tid_mapping_tab(L).rgd_code :=l_tid_mapping_tab(P).rgd_code;
14494 l_tid_mapping_tab(L).id :=l_tid_mapping_tab(P).id;
14495 l_tid_mapping_tab(P).rgd_code := W;
14496 l_tid_mapping_tab(P).id := W2;
14497 END IF;
14498 --if (a(L) > a(R)) then
14499 IF (l_tid_mapping_tab(L).rgd_code > l_tid_mapping_tab(R).rgd_code)
14500 THEN
14501 W := l_tid_mapping_tab(L).rgd_code;
14502 W2 := l_tid_mapping_tab(L).id;
14503 l_tid_mapping_tab(L).rgd_code :=l_tid_mapping_tab(R).rgd_code;
14504 l_tid_mapping_tab(L).id :=l_tid_mapping_tab(R).id;
14505 l_tid_mapping_tab(R).rgd_code := W;
14506 l_tid_mapping_tab(R).id := W2;
14507 END IF;
14508 --if (a(P) > a(R)) then
14509 IF (l_tid_mapping_tab(P).rgd_code > l_tid_mapping_tab(R).rgd_code)
14510 THEN
14511 W := l_tid_mapping_tab(P).rgd_code;
14512 W2 := l_tid_mapping_tab(P).id;
14513 l_tid_mapping_tab(P).rgd_code :=l_tid_mapping_tab(R).rgd_code;
14514 l_tid_mapping_tab(P).id :=l_tid_mapping_tab(R).id;
14515 l_tid_mapping_tab(R).rgd_code := W;
14516 l_tid_mapping_tab(R).id := W2;
14517 END IF;
14518 --X := a(P);
14519 X := l_tid_mapping_tab(P).rgd_code;
14520 WHILE 1=1
14521 LOOP -- until I > J
14522 --while (a(I) < X) loop
14523 WHILE (l_tid_mapping_tab(I).rgd_code < X) LOOP
14524 I := I + 1;
14525 END LOOP;
14526 WHILE (X < l_tid_mapping_tab(J).rgd_code) LOOP
14527 J := J - 1;
14528 END LOOP;
14529 IF (I <= J) THEN
14530 W := l_tid_mapping_tab(I).rgd_code;
14531 W2 := l_tid_mapping_tab(I).id;
14532 l_tid_mapping_tab(I).rgd_code :=l_tid_mapping_tab(J).rgd_code;
14533 l_tid_mapping_tab(I).id :=l_tid_mapping_tab(J).id;
14534 l_tid_mapping_tab(J).rgd_code := W;
14535 l_tid_mapping_tab(J).id := W2;
14536 I := I + 1;
14537 J := J - 1;
14538 END IF;
14539 EXIT WHEN I > J;
14540 END LOOP;
14541 IF (J - L < R - I) THEN
14542 IF (I < R) THEN
14543 --push(I); push(R);
14544 l_stack_index := l_stack_index + 1;
14545 l_stack(l_stack_index) := I;
14546 l_stack_index := l_stack_index + 1;
14547 l_stack(l_stack_index) := R;
14548 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14549 END IF;
14550 R := J;
14551 ELSE
14552 IF (L < J) THEN
14553 --push(L); push(J);
14554 l_stack_index := l_stack_index + 1;
14555 l_stack(l_stack_index) := L;
14556 l_stack_index := l_stack_index + 1;
14557 l_stack(l_stack_index) := J;
14558 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14559 END IF;
14560 L := I;
14561 END IF;
14562
14563 EXIT WHEN (L >= R);
14564 END LOOP;
14565 END LOOP;
14566
14567 EXCEPTION WHEN OTHERS THEN
14568
14569 x_return_status := OKL_API.G_RET_STS_ERROR;
14570 /*OKL_API.set_message(p_app_name => 'OKL',
14571 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
14572 p_token1 => 'ASSET_NUMBER',
14573 p_token1_value => 'sort_tid_mapping_tab');*/
14574 /* DEBUG */
14575 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14576 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
14577 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_tid_mapping_tab:l_tid_mapping_tab N=' || N || ' ...');
14578 END IF;
14579
14580 --print array
14581 FOR i IN 1..N
14582 LOOP
14583 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14584 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tid_mapping_tab('||i||')=' || l_tid_mapping_tab(i).rgd_code || ':' || l_tid_mapping_tab(i).id);
14585 END IF;
14586 END LOOP;
14587
14588 RAISE OKC_API.G_EXCEPTION_ERROR;
14589
14590 END; /* sort_tid_mapping_tab */
14591
14592 PROCEDURE insert_okc_rule_groups (p_old_id IN okc_k_headers_b.id%TYPE,
14593 p_new_id IN okc_k_headers_b.id%TYPE) IS
14594 CURSOR c12(p_id NUMBER) IS
14595 SELECT
14596 id, rgd_code, chr_id,
14597 cle_id, dnz_chr_id, parent_rgp_id,
14598 sat_code, object_version_number, rgp_type,
14599 created_by, creation_date, last_updated_by,
14600 last_update_date, last_update_login, attribute_category,
14601 attribute1, attribute2, attribute3,
14602 attribute4, attribute5, attribute6,
14603 attribute7, attribute8, attribute9,
14604 attribute10, attribute11, attribute12,
14605 attribute13, attribute14, attribute15,
14606 security_group_id
14607 FROM okc_rule_groups_b
14608 WHERE dnz_chr_id = p_id
14609 AND (
14610 chr_id = chr_id
14611 OR (
14612 NVL(p_copy_lines_yn, 'N') = 'Y'
14613 AND cle_id IS NOT NULL
14614 )
14615 );
14616
14617 l_rid_tab2 l_rid_type;
14618 l_rrgd_code_tab2 l_rrgd_code_type;
14619 l_rchr_id_tab2 l_rchr_id_type;
14620 l_rcle_id_tab2 l_rcle_id_type;
14621 l_rdnz_chr_id_tab2 l_rdnz_chr_id_type;
14622 l_rparent_rgp_id_tab2 l_rparent_rgp_id_type;
14623 l_rsat_code_tab2 l_rsat_code_type;
14624 l_robject_version_number_tab2 l_robject_version_number_type;
14625 l_rrgp_type_tab2 l_rrgp_type_type;
14626 l_rcreated_by_tab2 l_rcreated_by_type;
14627 l_rcreation_date_tab2 l_rcreation_date_type;
14628 l_rlast_updated_by_tab2 l_rlast_updated_by_type;
14629 l_rlast_update_date_tab2 l_rlast_update_date_type;
14630 l_rlast_update_login_tab2 l_rlast_update_login_type;
14631 l_rattribute_category_tab2 l_rattribute_category_type;
14632 l_rattribute1_tab2 l_rattribute1_type;
14633 l_rattribute2_tab2 l_rattribute2_type;
14634 l_rattribute3_tab2 l_rattribute3_type;
14635 l_rattribute4_tab2 l_rattribute4_type;
14636 l_rattribute5_tab2 l_rattribute5_type;
14637 l_rattribute6_tab2 l_rattribute6_type;
14638 l_rattribute7_tab2 l_rattribute7_type;
14639 l_rattribute8_tab2 l_rattribute8_type;
14640 l_rattribute9_tab2 l_rattribute9_type;
14641 l_rattribute10_tab2 l_rattribute10_type;
14642 l_rattribute11_tab2 l_rattribute11_type;
14643 l_rattribute12_tab2 l_rattribute12_type;
14644 l_rattribute13_tab2 l_rattribute13_type;
14645 l_rattribute14_tab2 l_rattribute14_type;
14646 l_rattribute15_tab2 l_rattribute15_type;
14647 l_rsecurity_group_id_tab2 l_rsecurity_group_id_type;
14648
14649 l_new_cle_id NUMBER;
14650 BEGIN
14651 IF (G_DEBUG_ENABLED = 'Y') THEN
14652 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
14653 END IF;
14654 NULL;
14655 OPEN c12(p_old_id);
14656 LOOP
14657 FETCH c12 bulk collect INTO
14658 l_rid_tab2, l_rrgd_code_tab2, l_rchr_id_tab2,
14659 l_rcle_id_tab2, l_rdnz_chr_id_tab2, l_rparent_rgp_id_tab2,
14660 l_rsat_code_tab2, l_robject_version_number_tab2, l_rrgp_type_tab2,
14661 l_rcreated_by_tab2, l_rcreation_date_tab2, l_rlast_updated_by_tab2,
14662 l_rlast_update_date_tab2, l_rlast_update_login_tab2, l_rattribute_category_tab2,
14663 l_rattribute1_tab2, l_rattribute2_tab2, l_rattribute3_tab2,
14664 l_rattribute4_tab2, l_rattribute5_tab2, l_rattribute6_tab2,
14665 l_rattribute7_tab2, l_rattribute8_tab2, l_rattribute9_tab2,
14666 l_rattribute10_tab2, l_rattribute11_tab2, l_rattribute12_tab2,
14667 l_rattribute13_tab2, l_rattribute14_tab2, l_rattribute15_tab2,
14668 l_rsecurity_group_id_tab2
14669 limit G_BULK_SIZE;
14670 EXIT WHEN l_rid_tab2.COUNT = 0;
14671 FOR i IN l_rid_tab2.first..l_rid_tab2.last
14672 LOOP
14673
14674 l_rid_tab(l_rule_groups_b_counter) := l_rid_tab2(i);
14675 -- Store old value in tab3
14676 l_rid_tab3(l_rule_groups_b_counter) := l_rid_tab2(i);
14677 -- Change id
14678 l_rid_tab(l_rule_groups_b_counter) :=okc_p_util.raw_to_number(sys_guid());
14679
14680 l_rid_mapping_tab(l_rule_groups_b_counter).old_id := l_rid_tab3(l_rule_groups_b_counter);
14681 l_rid_mapping_tab(l_rule_groups_b_counter).new_id := l_rid_tab(l_rule_groups_b_counter);
14682
14683 l_rrgd_code_tab(l_rule_groups_b_counter) := l_rrgd_code_tab2(i);
14684 l_rchr_id_tab(l_rule_groups_b_counter) := l_rchr_id_tab2(i);
14685 -- Change chr_id
14686 IF (l_rchr_id_tab(l_rule_groups_b_counter) IS NOT NULL) THEN
14687 l_rchr_id_tab(l_rule_groups_b_counter) := p_new_id;
14688 END IF;
14689
14690 l_rcle_id_tab(l_rule_groups_b_counter) := l_rcle_id_tab2(i);
14691 -- Change cle_id
14692 IF (l_rcle_id_tab(l_rule_groups_b_counter) IS NOT NULL) THEN
14693 l_new_cle_id := find_mapping_id(l_rcle_id_tab(l_rule_groups_b_counter));
14694 IF (l_new_cle_id = -1) THEN
14695 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14696 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_rcle_id_tab(l_rule_groups_b_counter));
14697 END IF;
14698 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14699 END IF;
14700 l_rcle_id_tab(l_rule_groups_b_counter) := l_new_cle_id;
14701 END IF;
14702
14703 l_rdnz_chr_id_tab(l_rule_groups_b_counter) := l_rdnz_chr_id_tab2(i);
14704 -- Change dnz_chr_id
14705 IF (l_rdnz_chr_id_tab(l_rule_groups_b_counter) IS NOT NULL) THEN
14706 l_rdnz_chr_id_tab(l_rule_groups_b_counter) := p_new_id;
14707 END IF;
14708
14709 -- Store terms id for business event processing
14710 IF (l_rcle_id_tab(l_rule_groups_b_counter) IS NULL) THEN
14711 l_tid_mapping_tab(l_tid_counter).rgd_code := l_rrgd_code_tab(l_rule_groups_b_counter);
14712 l_tid_mapping_tab(l_tid_counter).id := l_rid_tab(l_rule_groups_b_counter);
14713 l_tid_counter := l_tid_counter + 1;
14714 END IF;
14715
14716 l_rparent_rgp_id_tab(l_rule_groups_b_counter) := l_rparent_rgp_id_tab2(i);
14717 -- Change parent_rgp_id ??? AKP
14718
14719 l_rsat_code_tab(l_rule_groups_b_counter) := l_rsat_code_tab2(i);
14720 l_robject_version_number_tab(l_rule_groups_b_counter) := l_robject_version_number_tab2(i);
14721 l_rrgp_type_tab(l_rule_groups_b_counter) := l_rrgp_type_tab2(i);
14722 l_rcreated_by_tab(l_rule_groups_b_counter) := l_rcreated_by_tab2(i);
14723 l_rcreation_date_tab(l_rule_groups_b_counter) := l_rcreation_date_tab2(i);
14724 l_rlast_updated_by_tab(l_rule_groups_b_counter) := l_rlast_updated_by_tab2(i);
14725 l_rlast_update_date_tab(l_rule_groups_b_counter) := l_rlast_update_date_tab2(i);
14726 l_rlast_update_login_tab(l_rule_groups_b_counter) := l_rlast_update_login_tab2(i);
14727 l_rattribute_category_tab(l_rule_groups_b_counter) := l_rattribute_category_tab2(i);
14728 l_rattribute1_tab(l_rule_groups_b_counter) := l_rattribute1_tab2(i);
14729 l_rattribute2_tab(l_rule_groups_b_counter) := l_rattribute2_tab2(i);
14730 l_rattribute3_tab(l_rule_groups_b_counter) := l_rattribute3_tab2(i);
14731 l_rattribute4_tab(l_rule_groups_b_counter) := l_rattribute4_tab2(i);
14732 l_rattribute5_tab(l_rule_groups_b_counter) := l_rattribute5_tab2(i);
14733 l_rattribute6_tab(l_rule_groups_b_counter) := l_rattribute6_tab2(i);
14734 l_rattribute7_tab(l_rule_groups_b_counter) := l_rattribute7_tab2(i);
14735 l_rattribute8_tab(l_rule_groups_b_counter) := l_rattribute8_tab2(i);
14736 l_rattribute9_tab(l_rule_groups_b_counter) := l_rattribute9_tab2(i);
14737 l_rattribute10_tab(l_rule_groups_b_counter) := l_rattribute10_tab2(i);
14738 l_rattribute11_tab(l_rule_groups_b_counter) := l_rattribute11_tab2(i);
14739 l_rattribute12_tab(l_rule_groups_b_counter) := l_rattribute12_tab2(i);
14740 l_rattribute13_tab(l_rule_groups_b_counter) := l_rattribute13_tab2(i);
14741 l_rattribute14_tab(l_rule_groups_b_counter) := l_rattribute14_tab2(i);
14742 l_rattribute15_tab(l_rule_groups_b_counter) := l_rattribute15_tab2(i);
14743 l_rsecurity_group_id_tab(l_rule_groups_b_counter) := l_rsecurity_group_id_tab2(i);
14744
14745 l_rule_groups_b_counter := l_rule_groups_b_counter + 1;
14746 END LOOP;
14747 END LOOP;
14748 CLOSE c12;
14749 sort_tid_mapping_tab;
14750
14751 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14752 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rule_groups_b_counter='||l_rule_groups_b_counter || ' l_rid_tab.count=' || l_rid_tab.COUNT);
14753 END IF;
14754 IF (l_rule_groups_b_counter > 1) THEN
14755 sort_rid_mapping_tab;
14756
14757 forall i IN l_rid_tab.first..l_rid_tab.last
14758 INSERT INTO okc_rule_groups_b (
14759 id, rgd_code, chr_id,
14760 cle_id, dnz_chr_id, parent_rgp_id,
14761 sat_code, object_version_number, rgp_type,
14762 created_by, creation_date, last_updated_by,
14763 last_update_date, last_update_login, attribute_category,
14764 attribute1, attribute2, attribute3,
14765 attribute4, attribute5, attribute6,
14766 attribute7, attribute8, attribute9,
14767 attribute10, attribute11, attribute12,
14768 attribute13, attribute14, attribute15,
14769 security_group_id
14770 ) VALUES (
14771 l_rid_tab(i), l_rrgd_code_tab(i), l_rchr_id_tab(i),
14772 l_rcle_id_tab(i), l_rdnz_chr_id_tab(i), l_rparent_rgp_id_tab(i),
14773 l_rsat_code_tab(i), 1, l_rrgp_type_tab(i),
14774 l_created_by, SYSDATE, l_last_updated_by,
14775 SYSDATE, l_last_update_login, l_rattribute_category_tab(i),
14776 l_rattribute1_tab(i), l_rattribute2_tab(i), l_rattribute3_tab(i),
14777 l_rattribute4_tab(i), l_rattribute5_tab(i), l_rattribute6_tab(i),
14778 l_rattribute7_tab(i), l_rattribute8_tab(i), l_rattribute9_tab(i),
14779 l_rattribute10_tab(i), l_rattribute11_tab(i), l_rattribute12_tab(i),
14780 l_rattribute13_tab(i), l_rattribute14_tab(i), l_rattribute15_tab(i),
14781 l_rsecurity_group_id_tab(i)
14782 );
14783 FOR i IN l_rid_tab.first..l_rid_tab.last
14784 LOOP
14785 IF (i = l_rid_tab.last) THEN
14786 prepare_rule_groups_tl(l_rid_tab3(i), l_rid_tab(i), 'Y');
14787 ELSE
14788 prepare_rule_groups_tl(l_rid_tab3(i), l_rid_tab(i), 'N');
14789 END IF;
14790 END LOOP;
14791
14792 l_message := 'OKL_NEW_COPY_RUL_ERROR';
14793 insert_okc_rules_b(p_chr_id, l_copied_id);
14794
14795 END IF;
14796
14797 EXCEPTION WHEN OTHERS THEN
14798
14799 x_return_status := OKL_API.G_RET_STS_ERROR;
14800 /*OKL_API.set_message(p_app_name => 'OKL',
14801 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
14802 p_token1 => 'ASSET_NUMBER',
14803 p_token1_value => 'insert_okc_rule_groups');*/
14804 /* DEBUG */
14805 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14806 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
14807 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_rule_groups:l_rid_tab.count=' || l_rid_tab.COUNT || ' ...');
14808 END IF;
14809 IF (l_rid_tab.COUNT > 0) THEN
14810 FOR i IN l_rid_tab.first..l_rid_tab.last
14811 LOOP
14812 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14813 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rid_tab('||i||')=' || l_rid_tab(i));
14814 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrgd_code_tab('||i||')=' || l_rrgd_code_tab(i));
14815 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rchr_id_tab('||i||')=' || l_rchr_id_tab(i));
14816 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rcle_id_tab('||i||')=' || l_rcle_id_tab(i));
14817 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rdnz_chr_id_tab('||i||')=' || l_rdnz_chr_id_tab(i));
14818 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rparent_rgp_id_tab('||i||')=' || l_rparent_rgp_id_tab(i));
14819 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rsat_code_tab('||i||')=' || l_rsat_code_tab(i));
14820 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrgp_type_tab('||i||')=' || l_rrgp_type_tab(i));
14821 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute_category_tab('||i||')=' || l_rattribute_category_tab(i));
14822 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute1_tab('||i||')=' || l_rattribute1_tab(i));
14823 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute2_tab('||i||')=' || l_rattribute2_tab(i));
14824 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute3_tab('||i||')=' || l_rattribute3_tab(i));
14825 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute4_tab('||i||')=' || l_rattribute4_tab(i));
14826 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute5_tab('||i||')=' || l_rattribute5_tab(i));
14827 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute6_tab('||i||')=' || l_rattribute6_tab(i));
14828 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute7_tab('||i||')=' || l_rattribute7_tab(i));
14829 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute8_tab('||i||')=' || l_rattribute8_tab(i));
14830 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute9_tab('||i||')=' || l_rattribute9_tab(i));
14831 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute10_tab('||i||')=' || l_rattribute10_tab(i));
14832 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute11_tab('||i||')=' || l_rattribute11_tab(i));
14833 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute12_tab('||i||')=' || l_rattribute12_tab(i));
14834 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute13_tab('||i||')=' || l_rattribute13_tab(i));
14835 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute14_tab('||i||')=' || l_rattribute14_tab(i));
14836 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute15_tab('||i||')=' || l_rattribute15_tab(i));
14837 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rsecurity_group_id_tab('||i||')=' || l_rsecurity_group_id_tab(i));
14838 END IF;
14839 END LOOP;
14840 END IF;
14841
14842 RAISE OKC_API.G_EXCEPTION_ERROR;
14843
14844 END; /* insert_okc_rule_groups */
14845
14846 FUNCTION find_oid_mapping_id(p_id IN NUMBER) RETURN VARCHAR2 IS
14847 hi NUMBER;
14848 lo NUMBER;
14849 m NUMBER;
14850 p VARCHAR2(2) := '-1';
14851 BEGIN
14852 lo := 1;
14853 hi := l_items_counter - 1;
14854 WHILE (lo <= hi) LOOP
14855 m := FLOOR((hi + lo)/2);
14856 IF (l_oid_mapping_tab(m).cle_id = p_id) THEN
14857 RETURN l_oid_mapping_tab(m).object1_id1;
14858 ELSIF (l_oid_mapping_tab(m).cle_id > p_id) THEN
14859 hi := m - 1;
14860 ELSE
14861 lo := m + 1;
14862 END IF;
14863 END LOOP;
14864 RETURN p;
14865 END; /* find_oid_mapping_id */
14866
14867 PROCEDURE sort_oid_mapping_tab IS
14868 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
14869 --a numtabtype;
14870 l_stack numtabtype;
14871 l_stack_index NUMBER := 0;
14872 N NUMBER;
14873 R NUMBER;
14874 L NUMBER;
14875 P NUMBER;
14876
14877 W NUMBER;
14878 W2 VARCHAR2(150);
14879 X NUMBER;
14880 I NUMBER;
14881 J NUMBER;
14882 BEGIN
14883 IF (G_DEBUG_ENABLED = 'Y') THEN
14884 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
14885 END IF;
14886 NULL;
14887
14888 N := l_items_counter - 1;
14889 IF (N < 2) THEN
14890 RETURN;
14891 END IF;
14892 l_stack_index := l_stack_index + 1;
14893 l_stack(l_stack_index) := 1;
14894 l_stack_index := l_stack_index + 1;
14895 l_stack(l_stack_index) := N;
14896
14897 --dbms_output.put_line('l_stack_index=' || l_stack_index);
14898 WHILE l_stack_index > 0
14899 LOOP
14900 R := l_stack(l_stack_index);
14901 l_stack_index := l_stack_index - 1;
14902 L := l_stack(l_stack_index);
14903 l_stack_index := l_stack_index - 1;
14904 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
14905 WHILE 1=1
14906 LOOP -- loop until L >= R
14907 I := L;
14908 J := R;
14909 P := FLOOR((L+R)/2);
14910 --if (a(L) > a(P)) then
14911 IF (l_oid_mapping_tab(L).cle_id > l_oid_mapping_tab(P).cle_id)
14912 THEN
14913 W := l_oid_mapping_tab(L).cle_id;
14914 W2 := l_oid_mapping_tab(L).object1_id1;
14915 l_oid_mapping_tab(L).cle_id :=l_oid_mapping_tab(P).cle_id;
14916 l_oid_mapping_tab(L).object1_id1 :=l_oid_mapping_tab(P).object1_id1;
14917 l_oid_mapping_tab(P).cle_id := W;
14918 l_oid_mapping_tab(P).object1_id1 := W2;
14919 END IF;
14920 --if (a(L) > a(R)) then
14921 IF (l_oid_mapping_tab(L).cle_id > l_oid_mapping_tab(R).cle_id)
14922 THEN
14923 W := l_oid_mapping_tab(L).cle_id;
14924 W2 := l_oid_mapping_tab(L).object1_id1;
14925 l_oid_mapping_tab(L).cle_id :=l_oid_mapping_tab(R).cle_id;
14926 l_oid_mapping_tab(L).object1_id1 :=l_oid_mapping_tab(R).object1_id1;
14927 l_oid_mapping_tab(R).cle_id := W;
14928 l_oid_mapping_tab(R).object1_id1 := W2;
14929 END IF;
14930 --if (a(P) > a(R)) then
14931 IF (l_oid_mapping_tab(P).cle_id > l_oid_mapping_tab(R).cle_id)
14932 THEN
14933 W := l_oid_mapping_tab(P).cle_id;
14934 W2 := l_oid_mapping_tab(P).object1_id1;
14935 l_oid_mapping_tab(P).cle_id :=l_oid_mapping_tab(R).cle_id;
14936 l_oid_mapping_tab(P).object1_id1 :=l_oid_mapping_tab(R).object1_id1;
14937 l_oid_mapping_tab(R).cle_id := W;
14938 l_oid_mapping_tab(R).object1_id1 := W2;
14939 END IF;
14940 --X := a(P);
14941 X := l_oid_mapping_tab(P).cle_id;
14942 WHILE 1=1
14943 LOOP -- until I > J
14944 --while (a(I) < X) loop
14945 WHILE (l_oid_mapping_tab(I).cle_id < X) LOOP
14946 I := I + 1;
14947 END LOOP;
14948 WHILE (X < l_oid_mapping_tab(J).cle_id) LOOP
14949 J := J - 1;
14950 END LOOP;
14951 IF (I <= J) THEN
14952 W := l_oid_mapping_tab(I).cle_id;
14953 W2 := l_oid_mapping_tab(I).object1_id1;
14954 l_oid_mapping_tab(I).cle_id :=l_oid_mapping_tab(J).cle_id;
14955 l_oid_mapping_tab(I).object1_id1 :=l_oid_mapping_tab(J).object1_id1;
14956 l_oid_mapping_tab(J).cle_id := W;
14957 l_oid_mapping_tab(J).object1_id1 := W2;
14958 I := I + 1;
14959 J := J - 1;
14960 END IF;
14961 EXIT WHEN I > J;
14962 END LOOP;
14963 IF (J - L < R - I) THEN
14964 IF (I < R) THEN
14965 --push(I); push(R);
14966 l_stack_index := l_stack_index + 1;
14967 l_stack(l_stack_index) := I;
14968 l_stack_index := l_stack_index + 1;
14969 l_stack(l_stack_index) := R;
14970 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14971 END IF;
14972 R := J;
14973 ELSE
14974 IF (L < J) THEN
14975 --push(L); push(J);
14976 l_stack_index := l_stack_index + 1;
14977 l_stack(l_stack_index) := L;
14978 l_stack_index := l_stack_index + 1;
14979 l_stack(l_stack_index) := J;
14980 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14981 END IF;
14982 L := I;
14983 END IF;
14984
14985 EXIT WHEN (L >= R);
14986 END LOOP;
14987 END LOOP;
14988
14989 EXCEPTION WHEN OTHERS THEN
14990
14991 x_return_status := OKL_API.G_RET_STS_ERROR;
14992 /*OKL_API.set_message(p_app_name => 'OKL',
14993 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
14994 p_token1 => 'ASSET_NUMBER',
14995 p_token1_value => 'sort_oid_mapping_tab');*/
14996 /* DEBUG */
14997 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14998 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
14999 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_oid_mapping_tab:l_oid_mapping_tab N=' || N || ' ...');
15000 END IF;
15001
15002 --print array
15003 FOR i IN 1..N
15004 LOOP
15005 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15006 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_oid_mapping_tab('||i||')=' || l_oid_mapping_tab(i).cle_id || ':' || l_oid_mapping_tab(i).object1_id1);
15007 END IF;
15008 END LOOP;
15009
15010 RAISE OKC_API.G_EXCEPTION_ERROR;
15011
15012 END; /* sort_oid_mapping_tab */
15013
15014 FUNCTION find_okc_k_items_rec(p_id IN NUMBER) RETURN l_okc_k_items_rec_type IS
15015 hi NUMBER;
15016 lo NUMBER;
15017 m NUMBER;
15018 l_dummy_rec l_okc_k_items_rec_type;
15019 BEGIN
15020 lo := 1;
15021 hi := l_okc_k_items_rec_counter - 1;
15022 WHILE (lo <= hi) LOOP
15023 m := FLOOR((hi + lo)/2);
15024 IF (l_okc_k_items_rec(m).id = p_id) THEN
15025 RETURN l_okc_k_items_rec(m);
15026 ELSIF (l_okc_k_items_rec(m).id > p_id) THEN
15027 hi := m - 1;
15028 ELSE
15029 lo := m + 1;
15030 END IF;
15031 END LOOP;
15032 l_dummy_rec.number_of_items := OKC_API.G_MISS_NUM;
15033 RETURN l_dummy_rec;
15034 END; /* find_okc_k_items_rec */
15035
15036 PROCEDURE sort_okc_k_items_rec IS
15037 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
15038 --a numtabtype;
15039 l_stack numtabtype;
15040 l_stack_index NUMBER := 0;
15041 N NUMBER;
15042 R NUMBER;
15043 L NUMBER;
15044 P NUMBER;
15045 W NUMBER;
15046 W2 NUMBER;
15047 W3 VARCHAR2(40);
15048 W4 VARCHAR2(200);
15049 X NUMBER;
15050 I NUMBER;
15051 J NUMBER;
15052 BEGIN
15053 IF (G_DEBUG_ENABLED = 'Y') THEN
15054 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15055 END IF;
15056 NULL;
15057
15058 N := l_okc_k_items_rec_counter - 1;
15059 IF (N < 2) THEN
15060 RETURN;
15061 END IF;
15062 l_stack_index := l_stack_index + 1;
15063 l_stack(l_stack_index) := 1;
15064 l_stack_index := l_stack_index + 1;
15065 l_stack(l_stack_index) := N;
15066
15067 --dbms_output.put_line('l_stack_index=' || l_stack_index);
15068 WHILE l_stack_index > 0
15069 LOOP
15070 R := l_stack(l_stack_index);
15071 l_stack_index := l_stack_index - 1;
15072 L := l_stack(l_stack_index);
15073 l_stack_index := l_stack_index - 1;
15074 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
15075 WHILE 1=1
15076 LOOP -- loop until L >= R
15077 I := L;
15078 J := R;
15079 P := FLOOR((L+R)/2);
15080 --if (a(L) > a(P)) then
15081 IF (l_okc_k_items_rec(L).id > l_okc_k_items_rec(P).id)
15082 THEN
15083 W := l_okc_k_items_rec(L).id;
15084 W2 := l_okc_k_items_rec(L).number_of_items;
15085 W3 := l_okc_k_items_rec(L).object1_id1;
15086 W4 := l_okc_k_items_rec(L).object1_id2;
15087 l_okc_k_items_rec(L).id :=l_okc_k_items_rec(P).id;
15088 l_okc_k_items_rec(L).number_of_items :=l_okc_k_items_rec(P).number_of_items;
15089 l_okc_k_items_rec(L).object1_id1 :=l_okc_k_items_rec(P).object1_id1;
15090 l_okc_k_items_rec(L).object1_id2 :=l_okc_k_items_rec(P).object1_id2;
15091 l_okc_k_items_rec(P).id := W;
15092 l_okc_k_items_rec(P).number_of_items := W2;
15093 l_okc_k_items_rec(P).object1_id1 := W3;
15094 l_okc_k_items_rec(P).object1_id2 := W4;
15095 END IF;
15096 --if (a(L) > a(R)) then
15097 IF (l_okc_k_items_rec(L).id > l_okc_k_items_rec(R).id)
15098 THEN
15099 W := l_okc_k_items_rec(L).id;
15100 W2 := l_okc_k_items_rec(L).number_of_items;
15101 W3 := l_okc_k_items_rec(L).object1_id1;
15102 W4 := l_okc_k_items_rec(L).object1_id2;
15103 l_okc_k_items_rec(L).id :=l_okc_k_items_rec(R).id;
15104 l_okc_k_items_rec(L).number_of_items :=l_okc_k_items_rec(R).number_of_items;
15105 l_okc_k_items_rec(L).object1_id1 :=l_okc_k_items_rec(R).object1_id1;
15106 l_okc_k_items_rec(L).object1_id2 :=l_okc_k_items_rec(R).object1_id2;
15107 l_okc_k_items_rec(R).id := W;
15108 l_okc_k_items_rec(R).number_of_items := W2;
15109 l_okc_k_items_rec(R).object1_id1 := W3;
15110 l_okc_k_items_rec(R).object1_id2 := W4;
15111 END IF;
15112 --if (a(P) > a(R)) then
15113 IF (l_okc_k_items_rec(P).id > l_okc_k_items_rec(R).id)
15114 THEN
15115 W := l_okc_k_items_rec(P).id;
15116 W2 := l_okc_k_items_rec(P).number_of_items;
15117 W3 := l_okc_k_items_rec(P).object1_id1;
15118 W4 := l_okc_k_items_rec(P).object1_id2;
15119 l_okc_k_items_rec(P).id :=l_okc_k_items_rec(R).id;
15120 l_okc_k_items_rec(P).number_of_items :=l_okc_k_items_rec(R).number_of_items;
15121 l_okc_k_items_rec(P).object1_id1 :=l_okc_k_items_rec(R).object1_id1;
15122 l_okc_k_items_rec(P).object1_id2 :=l_okc_k_items_rec(R).object1_id2;
15123 l_okc_k_items_rec(R).id := W;
15124 l_okc_k_items_rec(R).number_of_items := W2;
15125 l_okc_k_items_rec(R).object1_id1 := W3;
15126 l_okc_k_items_rec(R).object1_id2 := W4;
15127 END IF;
15128 --X := a(P);
15129 X := l_okc_k_items_rec(P).id;
15130 WHILE 1=1
15131 LOOP -- until I > J
15132 --while (a(I) < X) loop
15133 WHILE (l_okc_k_items_rec(I).id < X) LOOP
15134 I := I + 1;
15135 END LOOP;
15136 WHILE (X < l_okc_k_items_rec(J).id) LOOP
15137 J := J - 1;
15138 END LOOP;
15139 IF (I <= J) THEN
15140 W := l_okc_k_items_rec(I).id;
15141 W2 := l_okc_k_items_rec(I).number_of_items;
15142 W3 := l_okc_k_items_rec(I).object1_id1;
15143 W4 := l_okc_k_items_rec(I).object1_id2;
15144 l_okc_k_items_rec(I).id :=l_okc_k_items_rec(J).id;
15145 l_okc_k_items_rec(I).number_of_items :=l_okc_k_items_rec(J).number_of_items;
15146 l_okc_k_items_rec(I).object1_id1 :=l_okc_k_items_rec(J).object1_id1;
15147 l_okc_k_items_rec(I).object1_id2 :=l_okc_k_items_rec(J).object1_id2;
15148 l_okc_k_items_rec(J).id := W;
15149 l_okc_k_items_rec(J).number_of_items := W2;
15150 l_okc_k_items_rec(J).object1_id1 := W3;
15151 l_okc_k_items_rec(J).object1_id2 := W4;
15152 I := I + 1;
15153 J := J - 1;
15154 END IF;
15155 EXIT WHEN I > J;
15156 END LOOP;
15157 IF (J - L < R - I) THEN
15158 IF (I < R) THEN
15159 --push(I); push(R);
15160 l_stack_index := l_stack_index + 1;
15161 l_stack(l_stack_index) := I;
15162 l_stack_index := l_stack_index + 1;
15163 l_stack(l_stack_index) := R;
15164 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15165 END IF;
15166 R := J;
15167 ELSE
15168 IF (L < J) THEN
15169 --push(L); push(J);
15170 l_stack_index := l_stack_index + 1;
15171 l_stack(l_stack_index) := L;
15172 l_stack_index := l_stack_index + 1;
15173 l_stack(l_stack_index) := J;
15174 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15175 END IF;
15176 L := I;
15177 END IF;
15178
15179 EXIT WHEN (L >= R);
15180 END LOOP;
15181 END LOOP;
15182 /*print('Now Printing okc_k_items_rec...');
15183 for i in 1..N
15184 loop
15185 print('l_okc_k_items_rec('||i||')=' || l_okc_k_items_rec(i).id || ':' || l_okc_k_items_rec(i).number_of_items || ':' || l_okc_k_items_rec(i).object1_id1 || ':' || l_okc_k_items_rec(i).object1_id2 );
15186 end loop;*/
15187
15188
15189 EXCEPTION WHEN OTHERS THEN
15190
15191 x_return_status := OKL_API.G_RET_STS_ERROR;
15192 /*OKL_API.set_message(p_app_name => 'OKL',
15193 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15194 p_token1 => 'ASSET_NUMBER',
15195 p_token1_value => 'sort_okc_k_items_rec');*/
15196 /* DEBUG */
15197 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15198 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15199 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_okc_k_items_rec:l_okc_k_items_rec N=' || N || ' ...');
15200 END IF;
15201
15202 --print array
15203 FOR i IN 1..N
15204 LOOP
15205 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15206 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_okc_k_items_rec('||i||')='
15207 || l_okc_k_items_rec(i).id || ':' || l_okc_k_items_rec(i).number_of_items || ':'
15208 || l_okc_k_items_rec(i).object1_id1 || ':' || l_okc_k_items_rec(i).object1_id2 );
15209 END IF;
15210 END LOOP;
15211
15212 RAISE OKC_API.G_EXCEPTION_ERROR;
15213
15214 END; /* sort_okc_k_items_rec */
15215
15216
15217
15218 PROCEDURE insert_okc_k_items (p_old_id IN okc_k_headers_b.id%TYPE,
15219 p_new_id IN okc_k_headers_b.id%TYPE) IS
15220 CURSOR c16(p_id NUMBER) IS
15221 SELECT
15222 a.id, a.cle_id, a.chr_id,
15223 a.cle_id_for, a.dnz_chr_id, a.object1_id1,
15224 a.object1_id2, a.jtot_object1_code, a.uom_code,
15225 a.exception_yn, a.number_of_items, a.priced_item_yn,
15226 a.object_version_number, a.created_by, a.creation_date,
15227 a.last_updated_by, a.last_update_date, a.last_update_login,
15228 a.security_group_id, a.upg_orig_system_ref, a.upg_orig_system_ref_id,
15229 a.program_application_id, a.program_id, a.program_update_date,
15230 a.request_id, b.lse_id
15231 FROM okc_k_items a,
15232 okc_k_lines_b b
15233 WHERE a.dnz_chr_id = p_id
15234 AND a.cle_id = b.id;
15235
15236 TYPE l_ilse_id_type IS TABLE OF okc_k_lines_b.lse_id%TYPE INDEX BY BINARY_INTEGER;
15237 l_iid_tab2 l_iid_type;
15238 l_icle_id_tab2 l_icle_id_type;
15239 l_ichr_id_tab2 l_ichr_id_type;
15240 l_icle_id_for_tab2 l_icle_id_for_type;
15241 l_idnz_chr_id_tab2 l_idnz_chr_id_type;
15242 l_iobject1_id1_tab2 l_iobject1_id1_type;
15243 l_iobject1_id2_tab2 l_iobject1_id2_type;
15244 l_ijtot_object1_code_tab2 l_ijtot_object1_code_type;
15245 l_iuom_code_tab2 l_iuom_code_type;
15246 l_iexception_yn_tab2 l_iexception_yn_type;
15247 l_inumber_of_items_tab2 l_inumber_of_items_type;
15248 l_ipriced_item_yn_tab2 l_ipriced_item_yn_type;
15249 l_iobject_version_number_tab2 l_iobject_version_number_type;
15250 l_icreated_by_tab2 l_icreated_by_type;
15251 l_icreation_date_tab2 l_icreation_date_type;
15252 l_ilast_updated_by_tab2 l_ilast_updated_by_type;
15253 l_ilast_update_date_tab2 l_ilast_update_date_type;
15254 l_ilast_update_login_tab2 l_ilast_update_login_type;
15255 l_isecurity_group_id_tab2 l_isecurity_group_id_type;
15256 l_iupg_orig_system_ref_tab2 l_iupg_orig_system_ref_type;
15257 l_iupg_orig_system_ref_id_tab2 l_iupg_orig_system_ref_id_type;
15258 l_iprogram_application_id_tab2 l_iprogram_application_id_type;
15259 l_iprogram_id_tab2 l_iprogram_id_type;
15260 l_iprogram_update_date_tab2 l_iprogram_update_date_type;
15261 l_irequest_id_tab2 l_irequest_id_type;
15262 l_ilse_id_tab2 l_ilse_id_type;
15263
15264 l_new_cle_id NUMBER;
15265 l_new_object1_id1 NUMBER;
15266 BEGIN
15267
15268 OPEN c16(p_old_id);
15269 LOOP
15270 FETCH c16 bulk collect INTO
15271 l_iid_tab2, l_icle_id_tab2, l_ichr_id_tab2,
15272 l_icle_id_for_tab2, l_idnz_chr_id_tab2, l_iobject1_id1_tab2,
15273 l_iobject1_id2_tab2, l_ijtot_object1_code_tab2, l_iuom_code_tab2,
15274 l_iexception_yn_tab2, l_inumber_of_items_tab2, l_ipriced_item_yn_tab2,
15275 l_iobject_version_number_tab2, l_icreated_by_tab2, l_icreation_date_tab2,
15276 l_ilast_updated_by_tab2, l_ilast_update_date_tab2, l_ilast_update_login_tab2,
15277 l_isecurity_group_id_tab2, l_iupg_orig_system_ref_tab2, l_iupg_orig_system_ref_id_tab2,
15278 l_iprogram_application_id_tab2, l_iprogram_id_tab2, l_iprogram_update_date_tab2,
15279 l_irequest_id_tab2, l_ilse_id_tab2
15280 limit G_BULK_SIZE;
15281 EXIT WHEN l_iid_tab2.COUNT = 0;
15282 FOR i IN l_iid_tab2.first..l_iid_tab2.last
15283 LOOP
15284
15285 l_iid_tab(l_items_counter) := l_iid_tab2(i);
15286 -- Change id
15287 l_iid_tab(l_items_counter) := okc_p_util.raw_to_number(sys_guid());
15288
15289 l_icle_id_tab(l_items_counter) := l_icle_id_tab2(i);
15290 -- Change cle_id
15291 IF (l_icle_id_tab(l_items_counter) IS NOT NULL) THEN
15292 l_new_cle_id := find_mapping_id(l_icle_id_tab(l_items_counter));
15293 IF (l_new_cle_id = -1) THEN
15294 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15295 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping cle id not found for ' || l_icle_id_tab(l_items_counter));
15296 END IF;
15297 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15298 END IF;
15299 l_icle_id_tab(l_items_counter) := l_new_cle_id;
15300 END IF;
15301
15302 l_ichr_id_tab(l_items_counter) := l_ichr_id_tab2(i);
15303 -- Change chr_id
15304 IF (l_ichr_id_tab(l_items_counter) IS NOT NULL) THEN
15305 l_ichr_id_tab(l_items_counter):= p_new_id;
15306 END IF;
15307
15308 l_icle_id_for_tab(l_items_counter) := l_icle_id_for_tab2(i);
15309 -- Change cle_id_for ??? AKP
15310
15311 l_idnz_chr_id_tab(l_items_counter) := l_idnz_chr_id_tab2(i);
15312 -- Change dnz_chr_id
15313 l_idnz_chr_id_tab(l_items_counter) := p_new_id;
15314
15315 l_iobject1_id1_tab(l_items_counter) := l_iobject1_id1_tab2(i);
15316 -- Change object1_id1
15317 IF(l_ilse_id_tab2(i) IN (53, 49, 57)) THEN
15318 -- Bug 4891184
15319 IF (l_iobject1_id1_tab(l_items_counter) IS NOT NULL) THEN
15320 l_new_object1_id1 := find_mapping_id(l_iobject1_id1_tab(l_items_counter));
15321 IF (l_new_object1_id1 = -1) THEN
15322 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15323 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping object1_id not found for ' || l_iobject1_id1_tab(l_items_counter));
15324 END IF;
15325 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15326 END IF;
15327 l_iobject1_id1_tab(l_items_counter) := l_new_object1_id1;
15328 END IF;
15329 END IF;
15330 l_iobject1_id2_tab(l_items_counter) := l_iobject1_id2_tab2(i);
15331 -- Change object1_id1 and object1_id2
15332
15333 IF (p_trans_type NOT IN ('OKL_REBOOK', 'OKL_RELEASE') AND
15334 l_ilse_id_tab2(i) IN (42, 45)) THEN
15335 l_iobject1_id1_tab(l_items_counter) := NULL;
15336 l_iobject1_id2_tab(l_items_counter) := NULL;
15337 END IF;
15338
15339 -- Store cle_id to object1_id1 mapping (needed for business function)
15340 l_oid_mapping_tab(l_items_counter).cle_id := l_icle_id_tab(l_items_counter);
15341 l_oid_mapping_tab(l_items_counter).object1_id1 := l_iobject1_id1_tab(l_items_counter);
15342
15343 l_ijtot_object1_code_tab(l_items_counter) := l_ijtot_object1_code_tab2(i);
15344 l_iuom_code_tab(l_items_counter) := l_iuom_code_tab2(i);
15345 l_iexception_yn_tab(l_items_counter) := l_iexception_yn_tab2(i);
15346 l_inumber_of_items_tab(l_items_counter) := l_inumber_of_items_tab2(i);
15347 l_ipriced_item_yn_tab(l_items_counter) := l_ipriced_item_yn_tab2(i);
15348 l_iobject_version_number_tab(l_items_counter) := l_iobject_version_number_tab2(i);
15349 l_icreated_by_tab(l_items_counter) := l_icreated_by_tab2(i);
15350 l_icreation_date_tab(l_items_counter) := l_icreation_date_tab2(i);
15351 l_ilast_updated_by_tab(l_items_counter) := l_ilast_updated_by_tab2(i);
15352 l_ilast_update_date_tab(l_items_counter) := l_ilast_update_date_tab2(i);
15353 l_ilast_update_login_tab(l_items_counter) := l_ilast_update_login_tab2(i);
15354 l_isecurity_group_id_tab(l_items_counter) := l_isecurity_group_id_tab2(i);
15355 l_iupg_orig_system_ref_tab(l_items_counter) := l_iupg_orig_system_ref_tab2(i);
15356 l_iupg_orig_system_ref_id_tab(l_items_counter) := l_iupg_orig_system_ref_id_tab2(i);
15357 l_iprogram_application_id_tab(l_items_counter) := l_iprogram_application_id_tab2(i);
15358 l_iprogram_id_tab(l_items_counter) := l_iprogram_id_tab2(i);
15359 l_iprogram_update_date_tab(l_items_counter) := l_iprogram_update_date_tab2(i);
15360 l_irequest_id_tab(l_items_counter) := l_irequest_id_tab2(i);
15361
15362 l_okc_k_items_rec(l_okc_k_items_rec_counter).id := l_icle_id_tab(l_items_counter);
15363 l_okc_k_items_rec(l_okc_k_items_rec_counter).number_of_items := l_inumber_of_items_tab(l_items_counter);
15364 l_okc_k_items_rec(l_okc_k_items_rec_counter).object1_id1 := l_iobject1_id1_tab(l_items_counter);
15365 l_okc_k_items_rec(l_okc_k_items_rec_counter).object1_id2 := l_iobject1_id2_tab(l_items_counter);
15366 l_okc_k_items_rec_counter := l_okc_k_items_rec_counter + 1 ;
15367
15368 l_items_counter := l_items_counter + 1;
15369 END LOOP;
15370 END LOOP;
15371 CLOSE c16;
15372 sort_oid_mapping_tab;
15373 sort_okc_k_items_rec;
15374
15375 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15376 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_items_counter=' || l_items_counter || ' l_iid_tab.count=' || l_iid_tab.COUNT);
15377 END IF;
15378 IF (l_items_counter > 1) THEN
15379 --Bug# 16425139: Fixed population of WHO columns to not copy values from previous contract
15380 forall i IN l_iid_tab.first..l_iid_tab.last
15381 INSERT INTO okc_k_items (
15382 id, cle_id, chr_id,
15383 cle_id_for, dnz_chr_id, object1_id1,
15384 object1_id2, jtot_object1_code, uom_code,
15385 exception_yn, number_of_items, priced_item_yn,
15386 object_version_number, created_by, creation_date,
15387 last_updated_by, last_update_date, last_update_login,
15388 security_group_id, upg_orig_system_ref, upg_orig_system_ref_id,
15389 program_application_id, program_id, program_update_date,
15390 request_id
15391 ) VALUES (
15392 l_iid_tab(i), l_icle_id_tab(i), l_ichr_id_tab(i),
15393 l_icle_id_for_tab(i), l_idnz_chr_id_tab(i), l_iobject1_id1_tab(i),
15394 l_iobject1_id2_tab(i), l_ijtot_object1_code_tab(i), l_iuom_code_tab(i),
15395 l_iexception_yn_tab(i), l_inumber_of_items_tab(i), l_ipriced_item_yn_tab(i),
15396 1, l_created_by, SYSDATE,
15397 l_last_updated_by, SYSDATE, l_last_update_login,
15398 l_isecurity_group_id_tab(i), l_iupg_orig_system_ref_tab(i), l_iupg_orig_system_ref_id_tab(i),
15399 l_iprogram_application_id_tab(i), l_iprogram_id_tab(i), l_iprogram_update_date_tab(i),
15400 l_irequest_id_tab(i)
15401 );
15402 END IF;
15403
15404 EXCEPTION WHEN OTHERS THEN
15405
15406 x_return_status := OKL_API.G_RET_STS_ERROR;
15407 /*OKL_API.set_message(p_app_name => 'OKL',
15408 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15409 p_token1 => 'ASSET_NUMBER',
15410 p_token1_value => 'insert_okc_k_items');*/
15411 /* DEBUG */
15412 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15413 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15414 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_k_items:l_iid_tab.count=' || l_iid_tab.COUNT || ' ...');
15415 END IF;
15416 IF (l_iid_tab.COUNT > 0) THEN
15417 FOR i IN l_iid_tab.first..l_iid_tab.last
15418 LOOP
15419 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15420 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iid_tab('||i||')=' || l_iid_tab(i));
15421 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_icle_id_tab('||i||')=' || l_icle_id_tab(i));
15422 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ichr_id_tab('||i||')=' || l_ichr_id_tab(i));
15423 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_icle_id_for_tab('||i||')=' || l_icle_id_for_tab(i));
15424 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_idnz_chr_id_tab('||i||')=' || l_idnz_chr_id_tab(i));
15425 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iobject1_id1_tab('||i||')=' || l_iobject1_id1_tab(i));
15426 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iobject1_id2_tab('||i||')=' || l_iobject1_id2_tab(i));
15427 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ijtot_object1_code_tab('||i||')=' || l_ijtot_object1_code_tab(i));
15428 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iuom_code_tab('||i||')=' || l_iuom_code_tab(i));
15429 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iexception_yn_tab('||i||')=' || l_iexception_yn_tab(i));
15430 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_inumber_of_items_tab('||i||')=' || l_inumber_of_items_tab(i));
15431 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ipriced_item_yn_tab('||i||')=' || l_ipriced_item_yn_tab(i));
15432 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_isecurity_group_id_tab('||i||')=' || l_isecurity_group_id_tab(i));
15433 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iupg_orig_system_ref_tab('||i||')=' || l_iupg_orig_system_ref_tab(i));
15434 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iupg_orig_system_ref_id_tab('||i||')=' || l_iupg_orig_system_ref_id_tab(i));
15435 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iprogram_application_id_tab('||i||')=' || l_iprogram_application_id_tab(i));
15436 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iprogram_id_tab('||i||')=' || l_iprogram_id_tab(i));
15437 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iprogram_update_date_tab('||i||')=' || l_iprogram_update_date_tab(i));
15438 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_irequest_id_tab('||i||')=' || l_irequest_id_tab(i));
15439 END IF;
15440 END LOOP;
15441 END IF;
15442
15443 RAISE OKC_API.G_EXCEPTION_ERROR;
15444
15445 END; /* insert okc_k_items */
15446
15447 PROCEDURE sort_trx_id_mapping_tab IS
15448 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
15449 --a numtabtype;
15450 l_stack numtabtype;
15451 l_stack_index NUMBER := 0;
15452 N NUMBER;
15453 R NUMBER;
15454 L NUMBER;
15455 P NUMBER;
15456 W NUMBER;
15457 W2 NUMBER;
15458 X NUMBER;
15459 I NUMBER;
15460 J NUMBER;
15461 BEGIN
15462 IF (G_DEBUG_ENABLED = 'Y') THEN
15463 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15464 END IF;
15465 NULL;
15466
15467 N := l_trx_assets_counter - 1;
15468 IF (N < 2) THEN
15469 RETURN;
15470 END IF;
15471 l_stack_index := l_stack_index + 1;
15472 l_stack(l_stack_index) := 1;
15473 l_stack_index := l_stack_index + 1;
15474 l_stack(l_stack_index) := N;
15475
15476 --dbms_output.put_line('l_stack_index=' || l_stack_index);
15477 WHILE l_stack_index > 0
15478 LOOP
15479 R := l_stack(l_stack_index);
15480 l_stack_index := l_stack_index - 1;
15481 L := l_stack(l_stack_index);
15482 l_stack_index := l_stack_index - 1;
15483 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
15484 WHILE 1=1
15485 LOOP -- loop until L >= R
15486 I := L;
15487 J := R;
15488 P := FLOOR((L+R)/2);
15489 --if (a(L) > a(P)) then
15490 IF (l_trx_id_mapping_tab(L).old_id > l_trx_id_mapping_tab(P).old_id)
15491 THEN
15492 W := l_trx_id_mapping_tab(L).old_id;
15493 W2 := l_trx_id_mapping_tab(L).new_id;
15494 l_trx_id_mapping_tab(L).old_id :=l_trx_id_mapping_tab(P).old_id;
15495 l_trx_id_mapping_tab(L).new_id :=l_trx_id_mapping_tab(P).new_id;
15496 l_trx_id_mapping_tab(P).old_id := W;
15497 l_trx_id_mapping_tab(P).new_id := W2;
15498 END IF;
15499 --if (a(L) > a(R)) then
15500 IF (l_trx_id_mapping_tab(L).old_id > l_trx_id_mapping_tab(R).old_id)
15501 THEN
15502 W := l_trx_id_mapping_tab(L).old_id;
15503 W2 := l_trx_id_mapping_tab(L).new_id;
15504 l_trx_id_mapping_tab(L).old_id :=l_trx_id_mapping_tab(R).old_id;
15505 l_trx_id_mapping_tab(L).new_id :=l_trx_id_mapping_tab(R).new_id;
15506 l_trx_id_mapping_tab(R).old_id := W;
15507 l_trx_id_mapping_tab(R).new_id := W2;
15508 END IF;
15509 --if (a(P) > a(R)) then
15510 IF (l_trx_id_mapping_tab(P).old_id > l_trx_id_mapping_tab(R).old_id)
15511 THEN
15512 W := l_trx_id_mapping_tab(P).old_id;
15513 W2 := l_trx_id_mapping_tab(P).new_id;
15514 l_trx_id_mapping_tab(P).old_id :=l_trx_id_mapping_tab(R).old_id;
15515 l_trx_id_mapping_tab(P).new_id :=l_trx_id_mapping_tab(R).new_id;
15516 l_trx_id_mapping_tab(R).old_id := W;
15517 l_trx_id_mapping_tab(R).new_id := W2;
15518 END IF;
15519 --X := a(P);
15520 X := l_trx_id_mapping_tab(P).old_id;
15521 WHILE 1=1
15522 LOOP -- until I > J
15523 --while (a(I) < X) loop
15524 WHILE (l_trx_id_mapping_tab(I).old_id < X) LOOP
15525 I := I + 1;
15526 END LOOP;
15527 WHILE (X < l_trx_id_mapping_tab(J).old_id) LOOP
15528 J := J - 1;
15529 END LOOP;
15530 IF (I <= J) THEN
15531 W := l_trx_id_mapping_tab(I).old_id;
15532 W2 := l_trx_id_mapping_tab(I).new_id;
15533 l_trx_id_mapping_tab(I).old_id :=l_trx_id_mapping_tab(J).old_id;
15534 l_trx_id_mapping_tab(I).new_id :=l_trx_id_mapping_tab(J).new_id;
15535 l_trx_id_mapping_tab(J).old_id := W;
15536 l_trx_id_mapping_tab(J).new_id := W2;
15537 I := I + 1;
15538 J := J - 1;
15539 END IF;
15540 EXIT WHEN I > J;
15541 END LOOP;
15542 IF (J - L < R - I) THEN
15543 IF (I < R) THEN
15544 --push(I); push(R);
15545 l_stack_index := l_stack_index + 1;
15546 l_stack(l_stack_index) := I;
15547 l_stack_index := l_stack_index + 1;
15548 l_stack(l_stack_index) := R;
15549 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15550 END IF;
15551 R := J;
15552 ELSE
15553 IF (L < J) THEN
15554 --push(L); push(J);
15555 l_stack_index := l_stack_index + 1;
15556 l_stack(l_stack_index) := L;
15557 l_stack_index := l_stack_index + 1;
15558 l_stack(l_stack_index) := J;
15559 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15560 END IF;
15561 L := I;
15562 END IF;
15563
15564 EXIT WHEN (L >= R);
15565 END LOOP;
15566 END LOOP;
15567
15568 EXCEPTION WHEN OTHERS THEN
15569
15570 x_return_status := OKL_API.G_RET_STS_ERROR;
15571 /*OKL_API.set_message(p_app_name => 'OKL',
15572 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15573 p_token1 => 'ASSET_NUMBER',
15574 p_token1_value => 'sort_trx_id_mapping_tab');*/
15575 /* DEBUG */
15576 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15577 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15578 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_trx_id_mapping_tab:l_trx_id_mapping_tab N=' || N || ' ...');
15579 END IF;
15580
15581 --print array
15582 FOR i IN 1..N
15583 LOOP
15584 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15585 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trx_id_mapping_tab('||i||')=' || l_trx_id_mapping_tab(i).old_id || ':' || l_trx_id_mapping_tab(i).new_id);
15586 END IF;
15587 END LOOP;
15588
15589 RAISE OKC_API.G_EXCEPTION_ERROR;
15590
15591 END; /* sort_trx_id_mapping_tab */
15592
15593 FUNCTION find_trx_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
15594 hi NUMBER;
15595 lo NUMBER;
15596 m NUMBER;
15597 BEGIN
15598 lo := 1;
15599 hi := l_trx_assets_counter - 1;
15600 WHILE (lo <= hi) LOOP
15601 m := FLOOR((hi + lo)/2);
15602 IF (l_trx_id_mapping_tab(m).old_id = p_id) THEN
15603 RETURN l_trx_id_mapping_tab(m).new_id;
15604 ELSIF (l_trx_id_mapping_tab(m).old_id > p_id) THEN
15605 hi := m - 1;
15606 ELSE
15607 lo := m + 1;
15608 END IF;
15609 END LOOP;
15610 RETURN -1;
15611 END; /* find_trx_mapping_id */
15612
15613
15614 PROCEDURE sort_trx_id_mapping_tab2 IS
15615 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
15616 --a numtabtype;
15617 l_stack numtabtype;
15618 l_stack_index NUMBER := 0;
15619 N NUMBER;
15620 R NUMBER;
15621 L NUMBER;
15622 P NUMBER;
15623 W NUMBER;
15624 W2 NUMBER;
15625 X NUMBER;
15626 I NUMBER;
15627 J NUMBER;
15628 BEGIN
15629 IF (G_DEBUG_ENABLED = 'Y') THEN
15630 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15631 END IF;
15632 NULL;
15633
15634 N := l_trx_assets_counter2 - 1;
15635 IF (N < 2) THEN
15636 RETURN;
15637 END IF;
15638 l_stack_index := l_stack_index + 1;
15639 l_stack(l_stack_index) := 1;
15640 l_stack_index := l_stack_index + 1;
15641 l_stack(l_stack_index) := N;
15642
15643 --dbms_output.put_line('l_stack_index=' || l_stack_index);
15644 WHILE l_stack_index > 0
15645 LOOP
15646 R := l_stack(l_stack_index);
15647 l_stack_index := l_stack_index - 1;
15648 L := l_stack(l_stack_index);
15649 l_stack_index := l_stack_index - 1;
15650 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
15651 WHILE 1=1
15652 LOOP -- loop until L >= R
15653 I := L;
15654 J := R;
15655 P := FLOOR((L+R)/2);
15656 --if (a(L) > a(P)) then
15657 IF (l_trx_id_mapping_tab2(L).old_id > l_trx_id_mapping_tab2(P).old_id)
15658 THEN
15659 W := l_trx_id_mapping_tab2(L).old_id;
15660 W2 := l_trx_id_mapping_tab2(L).new_id;
15661 l_trx_id_mapping_tab2(L).old_id :=l_trx_id_mapping_tab2(P).old_id;
15662 l_trx_id_mapping_tab2(L).new_id :=l_trx_id_mapping_tab2(P).new_id;
15663 l_trx_id_mapping_tab2(P).old_id := W;
15664 l_trx_id_mapping_tab2(P).new_id := W2;
15665 END IF;
15666 --if (a(L) > a(R)) then
15667 IF (l_trx_id_mapping_tab2(L).old_id > l_trx_id_mapping_tab2(R).old_id)
15668 THEN
15669 W := l_trx_id_mapping_tab2(L).old_id;
15670 W2 := l_trx_id_mapping_tab2(L).new_id;
15671 l_trx_id_mapping_tab2(L).old_id :=l_trx_id_mapping_tab2(R).old_id;
15672 l_trx_id_mapping_tab2(L).new_id :=l_trx_id_mapping_tab2(R).new_id;
15673 l_trx_id_mapping_tab2(R).old_id := W;
15674 l_trx_id_mapping_tab2(R).new_id := W2;
15675 END IF;
15676 --if (a(P) > a(R)) then
15677 IF (l_trx_id_mapping_tab2(P).old_id > l_trx_id_mapping_tab2(R).old_id)
15678 THEN
15679 W := l_trx_id_mapping_tab2(P).old_id;
15680 W2 := l_trx_id_mapping_tab2(P).new_id;
15681 l_trx_id_mapping_tab2(P).old_id :=l_trx_id_mapping_tab2(R).old_id;
15682 l_trx_id_mapping_tab2(P).new_id :=l_trx_id_mapping_tab2(R).new_id;
15683 l_trx_id_mapping_tab2(R).old_id := W;
15684 l_trx_id_mapping_tab2(R).new_id := W2;
15685 END IF;
15686 --X := a(P);
15687 X := l_trx_id_mapping_tab2(P).old_id;
15688 WHILE 1=1
15689 LOOP -- until I > J
15690 --while (a(I) < X) loop
15691 WHILE (l_trx_id_mapping_tab2(I).old_id < X) LOOP
15692 I := I + 1;
15693 END LOOP;
15694 WHILE (X < l_trx_id_mapping_tab2(J).old_id) LOOP
15695 J := J - 1;
15696 END LOOP;
15697 IF (I <= J) THEN
15698 W := l_trx_id_mapping_tab2(I).old_id;
15699 W2 := l_trx_id_mapping_tab2(I).new_id;
15700 l_trx_id_mapping_tab2(I).old_id :=l_trx_id_mapping_tab2(J).old_id;
15701 l_trx_id_mapping_tab2(I).new_id :=l_trx_id_mapping_tab2(J).new_id;
15702 l_trx_id_mapping_tab2(J).old_id := W;
15703 l_trx_id_mapping_tab2(J).new_id := W2;
15704 I := I + 1;
15705 J := J - 1;
15706 END IF;
15707 EXIT WHEN I > J;
15708 END LOOP;
15709 IF (J - L < R - I) THEN
15710 IF (I < R) THEN
15711 --push(I); push(R);
15712 l_stack_index := l_stack_index + 1;
15713 l_stack(l_stack_index) := I;
15714 l_stack_index := l_stack_index + 1;
15715 l_stack(l_stack_index) := R;
15716 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15717 END IF;
15718 R := J;
15719 ELSE
15720 IF (L < J) THEN
15721 --push(L); push(J);
15722 l_stack_index := l_stack_index + 1;
15723 l_stack(l_stack_index) := L;
15724 l_stack_index := l_stack_index + 1;
15725 l_stack(l_stack_index) := J;
15726 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15727 END IF;
15728 L := I;
15729 END IF;
15730
15731 EXIT WHEN (L >= R);
15732 END LOOP;
15733 END LOOP;
15734
15735 EXCEPTION WHEN OTHERS THEN
15736
15737 x_return_status := OKL_API.G_RET_STS_ERROR;
15738 /*OKL_API.set_message(p_app_name => 'OKL',
15739 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15740 p_token1 => 'ASSET_NUMBER',
15741 p_token1_value => 'sort_trx_id_mapping_tab2');*/
15742 /* DEBUG */
15743 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15744 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15745 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_trx_id_mapping_tab2:l_trx_id_mapping_tab2 N=' || N || ' ...');
15746 END IF;
15747
15748 --print array
15749 FOR i IN 1..N
15750 LOOP
15751 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15752 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trx_id_mapping_tab2('||i||')=' || l_trx_id_mapping_tab2(i).old_id || ':' || l_trx_id_mapping_tab2(i).new_id);
15753 END IF;
15754 END LOOP;
15755
15756 RAISE OKC_API.G_EXCEPTION_ERROR;
15757
15758 END; /* sort_trx_id_mapping_tab2 */
15759
15760 FUNCTION find_trx_mapping_id2(p_id IN NUMBER) RETURN NUMBER IS
15761 hi NUMBER;
15762 lo NUMBER;
15763 m NUMBER;
15764 BEGIN
15765 lo := 1;
15766 hi := l_trx_assets_counter2 - 1;
15767 WHILE (lo <= hi) LOOP
15768 m := FLOOR((hi + lo)/2);
15769 IF (l_trx_id_mapping_tab2(m).old_id = p_id) THEN
15770 RETURN l_trx_id_mapping_tab2(m).new_id;
15771 ELSIF (l_trx_id_mapping_tab2(m).old_id > p_id) THEN
15772 hi := m - 1;
15773 ELSE
15774 lo := m + 1;
15775 END IF;
15776 END LOOP;
15777 RETURN -1;
15778 END; /* find_trx_mapping_id2 */
15779
15780 PROCEDURE sort_txl_id_mapping_tab IS
15781 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
15782 --a numtabtype;
15783 l_stack numtabtype;
15784 l_stack_index NUMBER := 0;
15785 N NUMBER;
15786 R NUMBER;
15787 L NUMBER;
15788 P NUMBER;
15789 W NUMBER;
15790 W2 NUMBER;
15791 X NUMBER;
15792 I NUMBER;
15793 J NUMBER;
15794 BEGIN
15795 IF (G_DEBUG_ENABLED = 'Y') THEN
15796 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15797 END IF;
15798 NULL;
15799
15800 N := l_txl_assets_b_counter - 1;
15801 IF (N < 2) THEN
15802 RETURN;
15803 END IF;
15804 l_stack_index := l_stack_index + 1;
15805 l_stack(l_stack_index) := 1;
15806 l_stack_index := l_stack_index + 1;
15807 l_stack(l_stack_index) := N;
15808
15809 --dbms_output.put_line('l_stack_index=' || l_stack_index);
15810 WHILE l_stack_index > 0
15811 LOOP
15812 R := l_stack(l_stack_index);
15813 l_stack_index := l_stack_index - 1;
15814 L := l_stack(l_stack_index);
15815 l_stack_index := l_stack_index - 1;
15816 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
15817 WHILE 1=1
15818 LOOP -- loop until L >= R
15819 I := L;
15820 J := R;
15821 P := FLOOR((L+R)/2);
15822 --if (a(L) > a(P)) then
15823 IF (l_txl_id_mapping_tab(L).old_id > l_txl_id_mapping_tab(P).old_id)
15824 THEN
15825 W := l_txl_id_mapping_tab(L).old_id;
15826 W2 := l_txl_id_mapping_tab(L).new_id;
15827 l_txl_id_mapping_tab(L).old_id :=l_txl_id_mapping_tab(P).old_id;
15828 l_txl_id_mapping_tab(L).new_id :=l_txl_id_mapping_tab(P).new_id;
15829 l_txl_id_mapping_tab(P).old_id := W;
15830 l_txl_id_mapping_tab(P).new_id := W2;
15831 END IF;
15832 --if (a(L) > a(R)) then
15833 IF (l_txl_id_mapping_tab(L).old_id > l_txl_id_mapping_tab(R).old_id)
15834 THEN
15835 W := l_txl_id_mapping_tab(L).old_id;
15836 W2 := l_txl_id_mapping_tab(L).new_id;
15837 l_txl_id_mapping_tab(L).old_id :=l_txl_id_mapping_tab(R).old_id;
15838 l_txl_id_mapping_tab(L).new_id :=l_txl_id_mapping_tab(R).new_id;
15839 l_txl_id_mapping_tab(R).old_id := W;
15840 l_txl_id_mapping_tab(R).new_id := W2;
15841 END IF;
15842 --if (a(P) > a(R)) then
15843 IF (l_txl_id_mapping_tab(P).old_id > l_txl_id_mapping_tab(R).old_id)
15844 THEN
15845 W := l_txl_id_mapping_tab(P).old_id;
15846 W2 := l_txl_id_mapping_tab(P).new_id;
15847 l_txl_id_mapping_tab(P).old_id :=l_txl_id_mapping_tab(R).old_id;
15848 l_txl_id_mapping_tab(P).new_id :=l_txl_id_mapping_tab(R).new_id;
15849 l_txl_id_mapping_tab(R).old_id := W;
15850 l_txl_id_mapping_tab(R).new_id := W2;
15851 END IF;
15852 --X := a(P);
15853 X := l_txl_id_mapping_tab(P).old_id;
15854 WHILE 1=1
15855 LOOP -- until I > J
15856 --while (a(I) < X) loop
15857 WHILE (l_txl_id_mapping_tab(I).old_id < X) LOOP
15858 I := I + 1;
15859 END LOOP;
15860 WHILE (X < l_txl_id_mapping_tab(J).old_id) LOOP
15861 J := J - 1;
15862 END LOOP;
15863 IF (I <= J) THEN
15864 W := l_txl_id_mapping_tab(I).old_id;
15865 W2 := l_txl_id_mapping_tab(I).new_id;
15866 l_txl_id_mapping_tab(I).old_id :=l_txl_id_mapping_tab(J).old_id;
15867 l_txl_id_mapping_tab(I).new_id :=l_txl_id_mapping_tab(J).new_id;
15868 l_txl_id_mapping_tab(J).old_id := W;
15869 l_txl_id_mapping_tab(J).new_id := W2;
15870 I := I + 1;
15871 J := J - 1;
15872 END IF;
15873 EXIT WHEN I > J;
15874 END LOOP;
15875 IF (J - L < R - I) THEN
15876 IF (I < R) THEN
15877 --push(I); push(R);
15878 l_stack_index := l_stack_index + 1;
15879 l_stack(l_stack_index) := I;
15880 l_stack_index := l_stack_index + 1;
15881 l_stack(l_stack_index) := R;
15882 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15883 END IF;
15884 R := J;
15885 ELSE
15886 IF (L < J) THEN
15887 --push(L); push(J);
15888 l_stack_index := l_stack_index + 1;
15889 l_stack(l_stack_index) := L;
15890 l_stack_index := l_stack_index + 1;
15891 l_stack(l_stack_index) := J;
15892 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15893 END IF;
15894 L := I;
15895 END IF;
15896
15897 EXIT WHEN (L >= R);
15898 END LOOP;
15899 END LOOP;
15900
15901 EXCEPTION WHEN OTHERS THEN
15902
15903 x_return_status := OKL_API.G_RET_STS_ERROR;
15904 /*OKL_API.set_message(p_app_name => 'OKL',
15905 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15906 p_token1 => 'ASSET_NUMBER',
15907 p_token1_value => 'sort_txl_id_mapping_tab');*/
15908 /* DEBUG */
15909 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15910 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15911 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_txl_id_mapping_tab:l_txl_id_mapping_tab N=' || N || ' ...');
15912 END IF;
15913
15914 --print array
15915 FOR i IN 1..N
15916 LOOP
15917 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15918 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txl_id_mapping_tab('||i||')=' || l_txl_id_mapping_tab(i).old_id || ':' || l_txl_id_mapping_tab(i).new_id);
15919 END IF;
15920 END LOOP;
15921
15922 RAISE OKC_API.G_EXCEPTION_ERROR;
15923
15924 END; /* sort_txl_id_mapping_tab */
15925
15926 FUNCTION find_txl_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
15927 hi NUMBER;
15928 lo NUMBER;
15929 m NUMBER;
15930 BEGIN
15931 lo := 1;
15932 hi := l_txl_assets_b_counter - 1;
15933 WHILE (lo <= hi) LOOP
15934 m := FLOOR((hi + lo)/2);
15935 IF (l_txl_id_mapping_tab(m).old_id = p_id) THEN
15936 RETURN l_txl_id_mapping_tab(m).new_id;
15937 ELSIF (l_txl_id_mapping_tab(m).old_id > p_id) THEN
15938 hi := m - 1;
15939 ELSE
15940 lo := m + 1;
15941 END IF;
15942 END LOOP;
15943 RETURN -1;
15944 END; /* find_txl_mapping_id */
15945
15946 PROCEDURE insert_okl_txl_assets_tl(p_old_id IN okl_txl_assets_b.id%TYPE,
15947 p_new_id IN okl_txl_assets_b.id%TYPE,
15948 p_flush IN VARCHAR2 ) IS
15949 CURSOR c19(p_id NUMBER) IS
15950 SELECT
15951 id, LANGUAGE, source_lang,
15952 sfwt_flag, description, created_by,
15953 creation_date, last_updated_by, last_update_date,
15954 last_update_login
15955 FROM okl_txl_assets_tl
15956 WHERE id = p_id;
15957
15958 l_tlid_tab2 l_tlid_type;
15959 l_tllanguage_tab2 l_tllanguage_type;
15960 l_tlsource_lang_tab2 l_tlsource_lang_type;
15961 l_tlsfwt_flag_tab2 l_tlsfwt_flag_type;
15962 l_tldescription_tab2 l_tldescription_type;
15963 l_tlcreated_by_tab2 l_tlcreated_by_type;
15964 l_tlcreation_date_tab2 l_tlcreation_date_type;
15965 l_tllast_updated_by_tab2 l_tllast_updated_by_type;
15966 l_tllast_update_date_tab2 l_tllast_update_date_type;
15967 l_tllast_update_login_tab2 l_tllast_update_login_type;
15968
15969 BEGIN
15970 IF (G_DEBUG_ENABLED = 'Y') THEN
15971 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15972 END IF;
15973 OPEN c19(p_old_id);
15974 LOOP
15975 FETCH c19 bulk collect INTO
15976 l_tlid_tab2, l_tllanguage_tab2, l_tlsource_lang_tab2,
15977 l_tlsfwt_flag_tab2, l_tldescription_tab2, l_tlcreated_by_tab2,
15978 l_tlcreation_date_tab2, l_tllast_updated_by_tab2, l_tllast_update_date_tab2,
15979 l_tllast_update_login_tab2
15980 limit G_BULK_SIZE;
15981 EXIT WHEN l_tlid_tab2.COUNT=0;
15982 FOR i IN l_tlid_tab2.first..l_tlid_tab2.last
15983 LOOP
15984
15985 l_tlid_tab(l_txl_assets_tl_counter) := l_tlid_tab2(i);
15986 -- Change id
15987 l_tlid_tab(l_txl_assets_tl_counter) := p_new_id;
15988
15989 l_tllanguage_tab(l_txl_assets_tl_counter) := l_tllanguage_tab2(i);
15990 l_tlsource_lang_tab(l_txl_assets_tl_counter) := l_tlsource_lang_tab2(i);
15991 l_tlsfwt_flag_tab(l_txl_assets_tl_counter) := l_tlsfwt_flag_tab2(i);
15992 l_tldescription_tab(l_txl_assets_tl_counter) := l_tldescription_tab2(i);
15993 l_tlcreated_by_tab(l_txl_assets_tl_counter) := l_tlcreated_by_tab2(i);
15994 l_tlcreation_date_tab(l_txl_assets_tl_counter) := l_tlcreation_date_tab2(i);
15995 l_tllast_updated_by_tab(l_txl_assets_tl_counter) := l_tllast_updated_by_tab2(i);
15996 l_tllast_update_date_tab(l_txl_assets_tl_counter) := l_tllast_update_date_tab2(i);
15997 l_tllast_update_login_tab(l_txl_assets_tl_counter) := l_tllast_update_login_tab2(i);
15998
15999 l_txl_assets_tl_counter := l_txl_assets_tl_counter + 1;
16000
16001 END LOOP;
16002 END LOOP;
16003 CLOSE c19;
16004
16005 IF (p_flush = 'Y') THEN
16006 IF (l_txl_assets_tl_counter > 1) THEN
16007 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16008 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txl_assets_tl_counter=' || l_txl_assets_tl_counter || ' l_tlid_tab.count=' || l_tlid_tab.COUNT);
16009 END IF;
16010 forall i IN l_tlid_tab.first..l_tlid_tab.last
16011 INSERT INTO okl_txl_assets_tl (
16012 id, LANGUAGE, source_lang,
16013 sfwt_flag, description, created_by,
16014 creation_date, last_updated_by, last_update_date,
16015 last_update_login
16016 ) VALUES (
16017 l_tlid_tab(i), l_tllanguage_tab(i), l_tlsource_lang_tab(i),
16018 l_tlsfwt_flag_tab(i), l_tldescription_tab(i), l_created_by,
16019 SYSDATE, l_last_updated_by, SYSDATE,
16020 l_last_update_login
16021 );
16022 END IF;
16023 END IF;
16024
16025 EXCEPTION WHEN OTHERS THEN
16026
16027 x_return_status := OKL_API.G_RET_STS_ERROR;
16028 /*OKL_API.set_message(p_app_name => 'OKL',
16029 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
16030 p_token1 => 'ASSET_NUMBER',
16031 p_token1_value => 'insert_okl_txl_assets_tl');*/
16032 /* DEBUG */
16033 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16034 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
16035 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl-txl_assets_tl:l_tlid_tab.count=' || l_tlid_tab.COUNT || ' ...');
16036 END IF;
16037 IF (l_tlid_tab.COUNT > 0) THEN
16038 FOR i IN l_tlid_tab.first..l_tlid_tab.last
16039 LOOP
16040 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16041 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tlid_tab('||i||')=' || l_tlid_tab(i));
16042 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tllanguage_tab('||i||')=' || l_tllanguage_tab(i));
16043 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tlsource_lang_tab('||i||')=' || l_tlsource_lang_tab(i));
16044 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tlsfwt_flag_tab('||i||')=' || l_tlsfwt_flag_tab(i));
16045 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tldescription_tab('||i||')=' || l_tldescription_tab(i));
16046 END IF;
16047 END LOOP;
16048 END IF;
16049
16050 RAISE OKC_API.G_EXCEPTION_ERROR;
16051
16052 END; /* insert_okl_txl_assets_tl */
16053
16054 PROCEDURE insert_okl_txd_assets_tl(p_old_id IN okc_k_headers_b.id%TYPE,
16055 p_new_id IN okc_k_headers_b.id%TYPE,
16056 p_flush IN VARCHAR2) IS
16057 CURSOR c21(p_id NUMBER) IS
16058 SELECT
16059 id, LANGUAGE, source_lang,
16060 sfwt_flag, description, created_by,
16061 creation_date, last_updated_by, last_update_date,
16062 last_update_login
16063 FROM okl_txd_assets_tl
16064 WHERE id = p_id
16065 AND id IN (
16066 SELECT b.id FROM okl_txd_assets_b b, okl_txl_assets_b c
16067 WHERE b.id = p_id
16068 AND b.tal_id = c.id
16069 AND c.dnz_khr_id = p_chr_id
16070 );
16071
16072 l_dlid_tab2 l_dlid_type;
16073 l_dllanguage_tab2 l_dllanguage_type;
16074 l_dlsource_lang_tab2 l_dlsource_lang_type;
16075 l_dlsfwt_flag_tab2 l_dlsfwt_flag_type;
16076 l_dldescription_tab2 l_dldescription_type;
16077 l_dlcreated_by_tab2 l_dlcreated_by_type;
16078 l_dlcreation_date_tab2 l_dlcreation_date_type;
16079 l_dllast_updated_by_tab2 l_dllast_updated_by_type;
16080 l_dllast_update_date_tab2 l_dllast_update_date_type;
16081 l_dllast_update_login_tab2 l_dllast_update_login_type;
16082
16083 BEGIN
16084 IF (G_DEBUG_ENABLED = 'Y') THEN
16085 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
16086 END IF;
16087 OPEN c21(p_old_id);
16088 LOOP
16089 FETCH c21 bulk collect INTO
16090 l_dlid_tab2, l_dllanguage_tab2, l_dlsource_lang_tab2,
16091 l_dlsfwt_flag_tab2, l_dldescription_tab2, l_dlcreated_by_tab2,
16092 l_dlcreation_date_tab2, l_dllast_updated_by_tab2, l_dllast_update_date_tab2,
16093 l_dllast_update_login_tab2
16094 limit G_BULK_SIZE;
16095 EXIT WHEN l_dlid_tab2.COUNT = 0;
16096 FOR i IN l_dlid_tab2.first..l_dlid_tab2.last
16097 LOOP
16098
16099 l_dlid_tab(l_txd_assets_tl_counter) := l_dlid_tab2(i);
16100 -- Change id
16101 l_dlid_tab(l_txd_assets_tl_counter) := p_new_id;
16102
16103 l_dllanguage_tab(l_txd_assets_tl_counter) := l_dllanguage_tab2(i);
16104 l_dlsource_lang_tab(l_txd_assets_tl_counter) := l_dlsource_lang_tab2(i);
16105 l_dlsfwt_flag_tab(l_txd_assets_tl_counter) := l_dlsfwt_flag_tab2(i);
16106 l_dldescription_tab(l_txd_assets_tl_counter) := l_dldescription_tab2(i);
16107 l_dlcreated_by_tab(l_txd_assets_tl_counter) := l_dlcreated_by_tab2(i);
16108 l_dlcreation_date_tab(l_txd_assets_tl_counter) := l_dlcreation_date_tab2(i);
16109 l_dllast_updated_by_tab(l_txd_assets_tl_counter) := l_dllast_updated_by_tab2(i);
16110 l_dllast_update_date_tab(l_txd_assets_tl_counter) := l_dllast_update_date_tab2(i);
16111 l_dllast_update_login_tab(l_txd_assets_tl_counter) := l_dllast_update_login_tab2(i);
16112
16113 l_txd_assets_tl_counter := l_txd_assets_tl_counter + 1;
16114
16115 END LOOP;
16116 END LOOP;
16117 CLOSE c21;
16118 IF (p_flush = 'Y') THEN
16119 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16120 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txd_assets_tl_counter=' || l_txd_assets_tl_counter || ' l_dlid_tab.count=' || l_dlid_tab.COUNT);
16121 END IF;
16122 IF (l_txd_assets_tl_counter > 1) THEN
16123 forall i IN l_dlid_tab.first..l_dlid_tab.last
16124 INSERT INTO okl_txd_assets_tl (
16125 id, LANGUAGE, source_lang,
16126 sfwt_flag, description, created_by,
16127 creation_date, last_updated_by, last_update_date,
16128 last_update_login
16129 ) VALUES (
16130 l_dlid_tab(i), l_dllanguage_tab(i), l_dlsource_lang_tab(i),
16131 l_dlsfwt_flag_tab(i), l_dldescription_tab(i), l_created_by,
16132 SYSDATE, l_last_updated_by, SYSDATE,
16133 l_last_update_login
16134 );
16135 END IF;
16136 END IF;
16137 EXCEPTION WHEN OTHERS THEN
16138
16139 x_return_status := OKL_API.G_RET_STS_ERROR;
16140 /*OKL_API.set_message(p_app_name => 'OKL',
16141 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
16142 p_token1 => 'ASSET_NUMBER',
16143 p_token1_value => 'insert_okl_txd_assets_tl');*/
16144 /* DEBUG */
16145 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16146 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
16147 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_txd_assets_tl:l_dlid_tab.count=' || l_dlid_tab.COUNT || ' ...');
16148 END IF;
16149 IF (l_dlid_tab.COUNT > 0) THEN
16150 FOR i IN l_dlid_tab.first..l_dlid_tab.last
16151 LOOP
16152 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16153 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dlid_tab('||i||')=' || l_dlid_tab(i));
16154 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dllanguage_tab('||i||')=' || l_dllanguage_tab(i));
16155 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dlsource_lang_tab('||i||')=' || l_dlsource_lang_tab(i));
16156 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dlsfwt_flag_tab('||i||')=' || l_dlsfwt_flag_tab(i));
16157 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dldescription_tab('||i||')=' || l_dldescription_tab(i));
16158 END IF;
16159 END LOOP;
16160 END IF;
16161
16162 RAISE OKC_API.G_EXCEPTION_ERROR;
16163
16164 END; /* insert_okl_txd_assets_tl */
16165
16166 PROCEDURE insert_okl_txd_assets_b(p_old_id IN okc_k_headers_b.id%TYPE,
16167 p_new_id IN okc_k_headers_b.id%TYPE) IS
16168 CURSOR c20(p_id NUMBER) IS
16169 SELECT
16170 id, object_version_number, tal_id,
16171 target_kle_id, line_detail_number, asset_number,
16172 quantity, cost, tax_book,
16173 life_in_months_tax, deprn_method_tax, deprn_rate_tax,
16174 salvage_value, split_percent, inventory_item_id,
16175 attribute_category, attribute1, attribute2,
16176 attribute3, attribute4, attribute5,
16177 attribute6, attribute7, attribute8,
16178 attribute9, attribute10, attribute11,
16179 attribute12, attribute13, attribute14,
16180 attribute15, created_by, creation_date,
16181 last_updated_by, last_update_date, last_update_login,
16182 currency_code, currency_conversion_type, currency_conversion_rate,
16183 currency_conversion_date
16184 FROM okl_txd_assets_b
16185 WHERE tal_id IN (
16186 SELECT a.id
16187 FROM okl_txl_assets_b a,
16188 okc_k_lines_b b,
16189 okc_k_items c
16190 WHERE a.dnz_khr_id = p_id
16191 AND b.dnz_chr_id = p_id
16192 AND c.dnz_chr_id = p_id
16193 AND b.lse_id = 42
16194 AND a.kle_id = b.id
16195 AND a.kle_id = c.cle_id
16196 AND c.object1_id1 IS NULL
16197 AND c.object1_id2 IS NULL
16198 );
16199
16200 l_dbid_tab2 l_dbid_type;
16201 l_dbobject_version_number_tab2 l_dbobject_version_number_type;
16202 l_dbtal_id_tab2 l_dbtal_id_type;
16203 l_dbtarget_kle_id_tab2 l_dbtarget_kle_id_type;
16204 l_dbline_detail_number_tab2 l_dbline_detail_number_type;
16205 l_dbasset_number_tab2 l_dbasset_number_type;
16206 l_dbquantity_tab2 l_dbquantity_type;
16207 l_dbcost_tab2 l_dbcost_type;
16208 l_dbtax_book_tab2 l_dbtax_book_type;
16209 l_dblife_in_months_tax_tab2 l_dblife_in_months_tax_type;
16210 l_dbdeprn_method_tax_tab2 l_dbdeprn_method_tax_type;
16211 l_dbdeprn_rate_tax_tab2 l_dbdeprn_rate_tax_type;
16212 l_dbsalvage_value_tab2 l_dbsalvage_value_type;
16213 l_dbsplit_percent_tab2 l_dbsplit_percent_type;
16214 l_dbinventory_item_id_tab2 l_dbinventory_item_id_type;
16215 l_dbattribute_category_tab2 l_dbattribute_category_type;
16216 l_dbattribute1_tab2 l_dbattribute1_type;
16217 l_dbattribute2_tab2 l_dbattribute2_type;
16218 l_dbattribute3_tab2 l_dbattribute3_type;
16219 l_dbattribute4_tab2 l_dbattribute4_type;
16220 l_dbattribute5_tab2 l_dbattribute5_type;
16221 l_dbattribute6_tab2 l_dbattribute6_type;
16222 l_dbattribute7_tab2 l_dbattribute7_type;
16223 l_dbattribute8_tab2 l_dbattribute8_type;
16224 l_dbattribute9_tab2 l_dbattribute9_type;
16225 l_dbattribute10_tab2 l_dbattribute10_type;
16226 l_dbattribute11_tab2 l_dbattribute11_type;
16227 l_dbattribute12_tab2 l_dbattribute12_type;
16228 l_dbattribute13_tab2 l_dbattribute13_type;
16229 l_dbattribute14_tab2 l_dbattribute14_type;
16230 l_dbattribute15_tab2 l_dbattribute15_type;
16231 l_dbcreated_by_tab2 l_dbcreated_by_type;
16232 l_dbcreation_date_tab2 l_dbcreation_date_type;
16233 l_dblast_updated_by_tab2 l_dblast_updated_by_type;
16234 l_dblast_update_date_tab2 l_dblast_update_date_type;
16235 l_dblast_update_login_tab2 l_dblast_update_login_type;
16236 l_dbcurrency_code_tab2 l_dbcurrency_code_type;
16237 l_dbcurrency_convers_type_tab2 l_dbcurrency_convers_type_type;
16238 l_dbcurrency_convers_rate_tab2 l_dbcurrency_convers_rate_type;
16239 l_dbcurrency_convers_date_tab2 l_dbcurrency_convers_date_type;
16240
16241 l_new_tal_id NUMBER;
16242 l_new_kle_id NUMBER;
16243
16244 BEGIN
16245 IF (G_DEBUG_ENABLED = 'Y') THEN
16246 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
16247 END IF;
16248 OPEN c20(p_old_id);
16249 LOOP
16250 FETCH c20 bulk collect INTO
16251 l_dbid_tab2, l_dbobject_version_number_tab2, l_dbtal_id_tab2,
16252 l_dbtarget_kle_id_tab2, l_dbline_detail_number_tab2, l_dbasset_number_tab2,
16253 l_dbquantity_tab2, l_dbcost_tab2, l_dbtax_book_tab2,
16254 l_dblife_in_months_tax_tab2, l_dbdeprn_method_tax_tab2, l_dbdeprn_rate_tax_tab2,
16255 l_dbsalvage_value_tab2, l_dbsplit_percent_tab2, l_dbinventory_item_id_tab2,
16256 l_dbattribute_category_tab2, l_dbattribute1_tab2, l_dbattribute2_tab2,
16257 l_dbattribute3_tab2, l_dbattribute4_tab2, l_dbattribute5_tab2,
16258 l_dbattribute6_tab2, l_dbattribute7_tab2, l_dbattribute8_tab2,
16259 l_dbattribute9_tab2, l_dbattribute10_tab2, l_dbattribute11_tab2,
16260 l_dbattribute12_tab2, l_dbattribute13_tab2, l_dbattribute14_tab2,
16261 l_dbattribute15_tab2, l_dbcreated_by_tab2, l_dbcreation_date_tab2,
16262 l_dblast_updated_by_tab2, l_dblast_update_date_tab2, l_dblast_update_login_tab2,
16263 l_dbcurrency_code_tab2, l_dbcurrency_convers_type_tab2, l_dbcurrency_convers_rate_tab2,
16264 l_dbcurrency_convers_date_tab2
16265 limit G_BULK_SIZE;
16266 EXIT WHEN l_dbid_tab2.COUNT = 0;
16267 FOR i IN l_dbid_tab2.first..l_dbid_tab2.last
16268 LOOP
16269
16270 l_dbid_tab3(l_txd_assets_b_counter) := l_dbid_tab2(i);
16271 l_dbid_tab(l_txd_assets_b_counter) := l_dbid_tab2(i);
16272 -- Change id
16273 l_dbid_tab(l_txd_assets_b_counter) := okc_p_util.raw_to_number(sys_guid());
16274
16275 l_dbobject_version_number_tab(l_txd_assets_b_counter) := l_dbobject_version_number_tab2(i);
16276 l_dbtal_id_tab(l_txd_assets_b_counter) := l_dbtal_id_tab2(i);
16277 -- Change tal_id
16278 l_new_tal_id := find_txl_mapping_id(l_dbtal_id_tab(l_txd_assets_b_counter));
16279 l_dbtal_id_tab(l_txd_assets_b_counter) := l_new_tal_id;
16280
16281 l_dbtarget_kle_id_tab(l_txd_assets_b_counter) := l_dbtarget_kle_id_tab2(i);
16282 -- Change target_kle_id ??? AKP
16283 --l_new_kle_id := find_mapping_id(l_dbtarget_kle_id_tab(l_txd_assets_b_counter));
16284 --l_dbtarget_kle_id_tab(l_txd_assets_b_counter) := l_new_kle_id;
16285 l_dbtarget_kle_id_tab(l_txd_assets_b_counter) := NULL;
16286
16287 l_dbline_detail_number_tab(l_txd_assets_b_counter) := l_dbline_detail_number_tab2(i);
16288 l_dbasset_number_tab(l_txd_assets_b_counter) := l_dbasset_number_tab2(i);
16289 l_dbquantity_tab(l_txd_assets_b_counter) := l_dbquantity_tab2(i);
16290 l_dbcost_tab(l_txd_assets_b_counter) := l_dbcost_tab2(i);
16291 l_dbtax_book_tab(l_txd_assets_b_counter) := l_dbtax_book_tab2(i);
16292 l_dblife_in_months_tax_tab(l_txd_assets_b_counter) := l_dblife_in_months_tax_tab2(i);
16293 l_dbdeprn_method_tax_tab(l_txd_assets_b_counter) := l_dbdeprn_method_tax_tab2(i);
16294 l_dbdeprn_rate_tax_tab(l_txd_assets_b_counter) := l_dbdeprn_rate_tax_tab2(i);
16295 l_dbsalvage_value_tab(l_txd_assets_b_counter) := l_dbsalvage_value_tab2(i);
16296 l_dbsplit_percent_tab(l_txd_assets_b_counter) := l_dbsplit_percent_tab2(i);
16297 l_dbinventory_item_id_tab(l_txd_assets_b_counter) := l_dbinventory_item_id_tab2(i);
16298 l_dbattribute_category_tab(l_txd_assets_b_counter) := l_dbattribute_category_tab2(i);
16299 l_dbattribute1_tab(l_txd_assets_b_counter) := l_dbattribute1_tab2(i);
16300 l_dbattribute2_tab(l_txd_assets_b_counter) := l_dbattribute2_tab2(i);
16301 l_dbattribute3_tab(l_txd_assets_b_counter) := l_dbattribute3_tab2(i);
16302 l_dbattribute4_tab(l_txd_assets_b_counter) := l_dbattribute4_tab2(i);
16303 l_dbattribute5_tab(l_txd_assets_b_counter) := l_dbattribute5_tab2(i);
16304 l_dbattribute6_tab(l_txd_assets_b_counter) := l_dbattribute6_tab2(i);
16305 l_dbattribute7_tab(l_txd_assets_b_counter) := l_dbattribute7_tab2(i);
16306 l_dbattribute8_tab(l_txd_assets_b_counter) := l_dbattribute8_tab2(i);
16307 l_dbattribute9_tab(l_txd_assets_b_counter) := l_dbattribute9_tab2(i);
16308 l_dbattribute10_tab(l_txd_assets_b_counter) := l_dbattribute10_tab2(i);
16309 l_dbattribute11_tab(l_txd_assets_b_counter) := l_dbattribute11_tab2(i);
16310 l_dbattribute12_tab(l_txd_assets_b_counter) := l_dbattribute12_tab2(i);
16311 l_dbattribute13_tab(l_txd_assets_b_counter) := l_dbattribute13_tab2(i);
16312 l_dbattribute14_tab(l_txd_assets_b_counter) := l_dbattribute14_tab2(i);
16313 l_dbattribute15_tab(l_txd_assets_b_counter) := l_dbattribute15_tab2(i);
16314 l_dbcreated_by_tab(l_txd_assets_b_counter) := l_dbcreated_by_tab2(i);
16315 l_dbcreation_date_tab(l_txd_assets_b_counter) := l_dbcreation_date_tab2(i);
16316 l_dblast_updated_by_tab(l_txd_assets_b_counter) := l_dblast_updated_by_tab2(i);
16317 l_dblast_update_date_tab(l_txd_assets_b_counter) := l_dblast_update_date_tab2(i);
16318 l_dblast_update_login_tab(l_txd_assets_b_counter) := l_dblast_update_login_tab2(i);
16319 /*l_dbcurrency_code_tab(l_txd_assets_b_counter) := l_dbcurrency_code_tab2(i);
16320 l_dbcurrency_convers_type_tab(l_txd_assets_b_counter) := l_dbcurrency_convers_type_tab2(i);
16321 l_dbcurrency_convers_rate_tab(l_txd_assets_b_counter) := l_dbcurrency_convers_rate_tab2(i);
16322 l_dbcurrency_convers_date_tab(l_txd_assets_b_counter) := l_dbcurrency_convers_date_tab2(i); */
16323 -- AKP: Default the following four from the contract header
16324 l_dbcurrency_code_tab(l_txd_assets_b_counter) := l_contract_currency;
16325 l_dbcurrency_convers_type_tab(l_txd_assets_b_counter) := l_conversion_type;
16326 l_dbcurrency_convers_rate_tab(l_txd_assets_b_counter) := l_conversion_rate;
16327 l_dbcurrency_convers_date_tab(l_txd_assets_b_counter) := l_conversion_rate_date;
16328
16329 l_txd_assets_b_counter := l_txd_assets_b_counter + 1;
16330
16331 END LOOP;
16332 END LOOP;
16333 CLOSE c20;
16334 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16335 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txd_assets_b_counter=' || l_txd_assets_b_counter || ' l_dbid_tab.count=' || l_dbid_tab.COUNT);
16336 END IF;
16337 IF (l_txd_assets_b_counter > 1) THEN
16338 forall i IN l_dbid_tab.first..l_dbid_tab.last
16339 INSERT INTO okl_txd_assets_b (
16340 id, object_version_number, tal_id,
16341 target_kle_id, line_detail_number, asset_number,
16342 quantity, cost, tax_book,
16343 life_in_months_tax, deprn_method_tax, deprn_rate_tax,
16344 salvage_value, split_percent, inventory_item_id,
16345 attribute_category, attribute1, attribute2,
16346 attribute3, attribute4, attribute5,
16347 attribute6, attribute7, attribute8,
16348 attribute9, attribute10, attribute11,
16349 attribute12, attribute13, attribute14,
16350 attribute15, created_by, creation_date,
16351 last_updated_by, last_update_date, last_update_login,
16352 currency_code, currency_conversion_type, currency_conversion_rate,
16353 currency_conversion_date
16354 ) VALUES (
16355 l_dbid_tab(i), 1, l_dbtal_id_tab(i),
16356 l_dbtarget_kle_id_tab(i), l_dbline_detail_number_tab(i), l_dbasset_number_tab(i),
16357 l_dbquantity_tab(i), l_dbcost_tab(i), l_dbtax_book_tab(i),
16358 l_dblife_in_months_tax_tab(i), l_dbdeprn_method_tax_tab(i), l_dbdeprn_rate_tax_tab(i),
16359 l_dbsalvage_value_tab(i), l_dbsplit_percent_tab(i), l_dbinventory_item_id_tab(i),
16360 l_dbattribute_category_tab(i), l_dbattribute1_tab(i), l_dbattribute2_tab(i),
16361 l_dbattribute3_tab(i), l_dbattribute4_tab(i), l_dbattribute5_tab(i),
16362 l_dbattribute6_tab(i), l_dbattribute7_tab(i), l_dbattribute8_tab(i),
16363 l_dbattribute9_tab(i), l_dbattribute10_tab(i), l_dbattribute11_tab(i),
16364 l_dbattribute12_tab(i), l_dbattribute13_tab(i), l_dbattribute14_tab(i),
16365 l_dbattribute15_tab(i), l_created_by, SYSDATE,
16366 l_last_updated_by, SYSDATE, l_last_update_login,
16367 l_dbcurrency_code_tab(i), l_dbcurrency_convers_type_tab(i), l_dbcurrency_convers_rate_tab(i),
16368 l_dbcurrency_convers_date_tab(i)
16369 );
16370 FOR i IN l_dbid_tab.first..l_dbid_tab.last
16371 LOOP
16372 IF (i = l_dbid_tab.last) THEN
16373 insert_okl_txd_assets_tl(l_dbid_tab3(i),l_dbid_tab(i), 'Y');
16374 ELSE
16375 insert_okl_txd_assets_tl(l_dbid_tab3(i),l_dbid_tab(i), 'N');
16376 END IF;
16377 END LOOP;
16378 END IF;
16379 EXCEPTION WHEN OTHERS THEN
16380
16381 x_return_status := OKL_API.G_RET_STS_ERROR;
16382 /*OKL_API.set_message(p_app_name => 'OKL',
16383 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
16384 p_token1 => 'ASSET_NUMBER',
16385 p_token1_value => 'insert_okl_txd_assets_b');*/
16386 /* DEBUG */
16387 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16388 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
16389 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_txd_assets_b:l_dbid_tab.count=' || l_dbid_tab.COUNT || ' ...');
16390 END IF;
16391 IF (l_dbid_tab.COUNT > 0) THEN
16392 FOR i IN l_dbid_tab.first..l_dbid_tab.last
16393 LOOP
16394 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16395 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbid_tab('||i||')=' || l_dbid_tab(i));
16396 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbtal_id_tab('||i||')=' || l_dbtal_id_tab(i));
16397 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbtarget_kle_id_tab('||i||')=' || l_dbtarget_kle_id_tab(i));
16398 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbline_detail_number_tab('||i||')=' || l_dbline_detail_number_tab(i));
16399 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbasset_number_tab('||i||')=' || l_dbasset_number_tab(i));
16400 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbquantity_tab('||i||')=' || l_dbquantity_tab(i));
16401 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcost_tab('||i||')=' || l_dbcost_tab(i));
16402 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbtax_book_tab('||i||')=' || l_dbtax_book_tab(i));
16403 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dblife_in_months_tax_tab('||i||')=' || l_dblife_in_months_tax_tab(i));
16404 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbdeprn_method_tax_tab('||i||')=' || l_dbdeprn_method_tax_tab(i));
16405 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbdeprn_rate_tax_tab('||i||')=' || l_dbdeprn_rate_tax_tab(i));
16406 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbsalvage_value_tab('||i||')=' || l_dbsalvage_value_tab(i));
16407 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbsplit_percent_tab('||i||')=' || l_dbsplit_percent_tab(i));
16408 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbinventory_item_id_tab('||i||')=' || l_dbinventory_item_id_tab(i));
16409 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute_category_tab('||i||')=' || l_dbattribute_category_tab(i));
16410 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute1_tab('||i||')=' || l_dbattribute1_tab(i));
16411 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute2_tab('||i||')=' || l_dbattribute2_tab(i));
16412 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute3_tab('||i||')=' || l_dbattribute3_tab(i));
16413 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute4_tab('||i||')=' || l_dbattribute4_tab(i));
16414 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute5_tab('||i||')=' || l_dbattribute5_tab(i));
16415 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute6_tab('||i||')=' || l_dbattribute6_tab(i));
16416 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute7_tab('||i||')=' || l_dbattribute7_tab(i));
16417 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute8_tab('||i||')=' || l_dbattribute8_tab(i));
16418 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute9_tab('||i||')=' || l_dbattribute9_tab(i));
16419 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute10_tab('||i||')=' || l_dbattribute10_tab(i));
16420 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute11_tab('||i||')=' || l_dbattribute11_tab(i));
16421 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute12_tab('||i||')=' || l_dbattribute12_tab(i));
16422 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute13_tab('||i||')=' || l_dbattribute13_tab(i));
16423 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute14_tab('||i||')=' || l_dbattribute14_tab(i));
16424 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute15_tab('||i||')=' || l_dbattribute15_tab(i));
16425 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcurrency_code_tab('||i||')=' || l_dbcurrency_code_tab(i));
16426 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcurrency_convers_type_tab('||i||')=' || l_dbcurrency_convers_type_tab(i));
16427 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcurrency_convers_rate_tab('||i||')=' || l_dbcurrency_convers_rate_tab(i));
16428 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcurrency_convers_date_tab('||i||')=' || l_dbcurrency_convers_date_tab(i));
16429 END IF;
16430 END LOOP;
16431 END IF;
16432
16433 RAISE OKC_API.G_EXCEPTION_ERROR;
16434
16435 END; /* insert_okl_txd_assets_b */
16436
16437 FUNCTION find_dbid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
16438 hi NUMBER;
16439 lo NUMBER;
16440 m NUMBER;
16441 BEGIN
16442 lo := 1;
16443 hi := l_tal_to_kle_counter - 1;
16444 WHILE (lo <= hi) LOOP
16445 m := FLOOR((hi + lo)/2);
16446 IF (l_dbid_mapping_tab(m).tal_id = p_id) THEN
16447 RETURN l_dbid_mapping_tab(m).kle_id;
16448 ELSIF (l_dbid_mapping_tab(m).tal_id > p_id) THEN
16449 hi := m - 1;
16450 ELSE
16451 lo := m + 1;
16452 END IF;
16453 END LOOP;
16454 RETURN -1;
16455 END; /* find_dbid_mapping_id */
16456
16457 PROCEDURE sort_dbid_mapping_tab IS
16458 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
16459 --a numtabtype;
16460 l_stack numtabtype;
16461 l_stack_index NUMBER := 0;
16462 N NUMBER;
16463 R NUMBER;
16464 L NUMBER;
16465 P NUMBER;
16466 W NUMBER;
16467 W2 NUMBER;
16468 X NUMBER;
16469 I NUMBER;
16470 J NUMBER;
16471 BEGIN
16472 IF (G_DEBUG_ENABLED = 'Y') THEN
16473 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
16474 END IF;
16475 NULL;
16476
16477 N := l_tal_to_kle_counter - 1;
16478 IF (N < 2) THEN
16479 RETURN;
16480 END IF;
16481 l_stack_index := l_stack_index + 1;
16482 l_stack(l_stack_index) := 1;
16483 l_stack_index := l_stack_index + 1;
16484 l_stack(l_stack_index) := N;
16485
16486 --dbms_output.put_line('l_stack_index=' || l_stack_index);
16487 WHILE l_stack_index > 0
16488 LOOP
16489 R := l_stack(l_stack_index);
16490 l_stack_index := l_stack_index - 1;
16491 L := l_stack(l_stack_index);
16492 l_stack_index := l_stack_index - 1;
16493 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
16494 WHILE 1=1
16495 LOOP -- loop until L >= R
16496 I := L;
16497 J := R;
16498 P := FLOOR((L+R)/2);
16499 --if (a(L) > a(P)) then
16500 IF (l_dbid_mapping_tab(L).tal_id > l_dbid_mapping_tab(P).tal_id)
16501 THEN
16502 W := l_dbid_mapping_tab(L).tal_id;
16503 W2 := l_dbid_mapping_tab(L).kle_id;
16504 l_dbid_mapping_tab(L).tal_id :=l_dbid_mapping_tab(P).tal_id;
16505 l_dbid_mapping_tab(L).kle_id :=l_dbid_mapping_tab(P).kle_id;
16506 l_dbid_mapping_tab(P).tal_id := W;
16507 l_dbid_mapping_tab(P).kle_id := W2;
16508 END IF;
16509 --if (a(L) > a(R)) then
16510 IF (l_dbid_mapping_tab(L).tal_id > l_dbid_mapping_tab(R).tal_id)
16511 THEN
16512 W := l_dbid_mapping_tab(L).tal_id;
16513 W2 := l_dbid_mapping_tab(L).kle_id;
16514 l_dbid_mapping_tab(L).tal_id :=l_dbid_mapping_tab(R).tal_id;
16515 l_dbid_mapping_tab(L).kle_id :=l_dbid_mapping_tab(R).kle_id;
16516 l_dbid_mapping_tab(R).tal_id := W;
16517 l_dbid_mapping_tab(R).kle_id := W2;
16518 END IF;
16519 --if (a(P) > a(R)) then
16520 IF (l_dbid_mapping_tab(P).tal_id > l_dbid_mapping_tab(R).tal_id)
16521 THEN
16522 W := l_dbid_mapping_tab(P).tal_id;
16523 W2 := l_dbid_mapping_tab(P).kle_id;
16524 l_dbid_mapping_tab(P).tal_id :=l_dbid_mapping_tab(R).tal_id;
16525 l_dbid_mapping_tab(P).kle_id :=l_dbid_mapping_tab(R).kle_id;
16526 l_dbid_mapping_tab(R).tal_id := W;
16527 l_dbid_mapping_tab(R).kle_id := W2;
16528 END IF;
16529 --X := a(P);
16530 X := l_dbid_mapping_tab(P).tal_id;
16531 WHILE 1=1
16532 LOOP -- until I > J
16533 --while (a(I) < X) loop
16534 WHILE (l_dbid_mapping_tab(I).tal_id < X) LOOP
16535 I := I + 1;
16536 END LOOP;
16537 WHILE (X < l_dbid_mapping_tab(J).tal_id) LOOP
16538 J := J - 1;
16539 END LOOP;
16540 IF (I <= J) THEN
16541 W := l_dbid_mapping_tab(I).tal_id;
16542 W2 := l_dbid_mapping_tab(I).kle_id;
16543 l_dbid_mapping_tab(I).tal_id :=l_dbid_mapping_tab(J).tal_id;
16544 l_dbid_mapping_tab(I).kle_id :=l_dbid_mapping_tab(J).kle_id;
16545 l_dbid_mapping_tab(J).tal_id := W;
16546 l_dbid_mapping_tab(J).kle_id := W2;
16547 I := I + 1;
16548 J := J - 1;
16549 END IF;
16550 EXIT WHEN I > J;
16551 END LOOP;
16552 IF (J - L < R - I) THEN
16553 IF (I < R) THEN
16554 --push(I); push(R);
16555 l_stack_index := l_stack_index + 1;
16556 l_stack(l_stack_index) := I;
16557 l_stack_index := l_stack_index + 1;
16558 l_stack(l_stack_index) := R;
16559 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
16560 END IF;
16561 R := J;
16562 ELSE
16563 IF (L < J) THEN
16564 --push(L); push(J);
16565 l_stack_index := l_stack_index + 1;
16566 l_stack(l_stack_index) := L;
16567 l_stack_index := l_stack_index + 1;
16568 l_stack(l_stack_index) := J;
16569 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
16570 END IF;
16571 L := I;
16572 END IF;
16573
16574 EXIT WHEN (L >= R);
16575 END LOOP;
16576 END LOOP;
16577
16578 EXCEPTION WHEN OTHERS THEN
16579
16580 x_return_status := OKL_API.G_RET_STS_ERROR;
16581 /*OKL_API.set_message(p_app_name => 'OKL',
16582 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
16583 p_token1 => 'ASSET_NUMBER',
16584 p_token1_value => 'sort_dbid_mapping_tab');*/
16585 /* DEBUG */
16586 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16587 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
16588 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_dbid_mapping_tab:l_dbid_mapping_tab N=' || N || ' ...');
16589 END IF;
16590
16591 --print array
16592 FOR i IN 1..N
16593 LOOP
16594 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16595 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbid_mapping_tab('||i||')=' || l_dbid_mapping_tab(i).tal_id || ':' || l_dbid_mapping_tab(i).kle_id);
16596 END IF;
16597 END LOOP;
16598
16599 RAISE OKC_API.G_EXCEPTION_ERROR;
16600
16601 END; /* sort_dbid_mapping_tab */
16602
16603 PROCEDURE insert_okl_txl_assets_b(p_old_id IN okc_k_headers_b.id%TYPE,
16604 p_new_id IN okc_k_headers_b.id%TYPE) IS
16605 CURSOR c18(p_id NUMBER) IS
16606 SELECT
16607 a.id, a.object_version_number, a.tas_id,
16608 a.ilo_id, a.ilo_id_old, a.iay_id,
16609 a.iay_id_new, a.kle_id, a.dnz_khr_id,
16610 a.line_number, a.org_id, a.tal_type,
16611 a.asset_number, a.fa_location_id, a.original_cost,
16612 a.current_units, a.manufacturer_name, a.year_manufactured,
16613 a.supplier_id, a.used_asset_yn, a.tag_number,
16614 a.model_number, a.corporate_book, a.date_purchased,
16615 a.date_delivery, a.in_service_date, a.life_in_months,
16616 a.depreciation_id, a.depreciation_cost, a.deprn_method,
16617 a.deprn_rate, a.salvage_value, a.percent_salvage_value,
16618 a.attribute_category, a.attribute1, a.attribute2,
16619 a.attribute3, a.attribute4, a.attribute5,
16620 a.attribute6, a.attribute7, a.attribute8,
16621 a.attribute9, a.attribute10, a.attribute11,
16622 a.attribute12, a.attribute13, a.attribute14,
16623 a.attribute15, a.created_by, a.creation_date,
16624 a.last_updated_by, a.last_update_date, a.last_update_login,
16625 a.depreciate_yn, a.hold_period_days, a.old_salvage_value,
16626 a.new_residual_value, a.old_residual_value, a.units_retired,
16627 a.cost_retired, a.sale_proceeds, a.removal_cost,
16628 a.dnz_asset_id, a.date_due, a.rep_asset_id,
16629 a.lke_asset_id, a.match_amount, a.split_into_singles_flag,
16630 a.split_into_units, a.currency_code, a.currency_conversion_type,
16631 a.currency_conversion_rate, a.currency_conversion_date, a.asset_key_id,
16632 a.fa_trx_date
16633 FROM okl_txl_assets_b a,
16634 okc_k_lines_b b,
16635 okc_k_items c
16636 WHERE a.dnz_khr_id = p_id
16637 AND b.dnz_chr_id = p_id
16638 AND c.dnz_chr_id = p_id
16639 AND b.lse_id = 42
16640 AND a.kle_id = b.id
16641 AND a.kle_id = c.cle_id
16642 AND c.object1_id1 IS NULL
16643 AND c.object1_id2 IS NULL;
16644
16645 l_tbid_tab2 l_tbid_type;
16646 l_tbobject_version_number_tab2 l_tbobject_version_number_type;
16647 l_tbtas_id_tab2 l_tbtas_id_type;
16648 l_tbilo_id_tab2 l_tbilo_id_type;
16649 l_tbilo_id_old_tab2 l_tbilo_id_old_type;
16650 l_tbiay_id_tab2 l_tbiay_id_type;
16651 l_tbiay_id_new_tab2 l_tbiay_id_new_type;
16652 l_tbkle_id_tab2 l_tbkle_id_type;
16653 l_tbdnz_khr_id_tab2 l_tbdnz_khr_id_type;
16654 l_tbline_number_tab2 l_tbline_number_type;
16655 l_tborg_id_tab2 l_tborg_id_type;
16656 l_tbtal_type_tab2 l_tbtal_type_type;
16657 l_tbasset_number_tab2 l_tbasset_number_type;
16658 l_tbfa_location_id_tab2 l_tbfa_location_id_type;
16659 l_tboriginal_cost_tab2 l_tboriginal_cost_type;
16660 l_tbcurrent_units_tab2 l_tbcurrent_units_type;
16661 l_tbmanufacturer_name_tab2 l_tbmanufacturer_name_type;
16662 l_tbyear_manufactured_tab2 l_tbyear_manufactured_type;
16663 l_tbsupplier_id_tab2 l_tbsupplier_id_type;
16664 l_tbused_asset_yn_tab2 l_tbused_asset_yn_type;
16665 l_tbtag_number_tab2 l_tbtag_number_type;
16666 l_tbmodel_number_tab2 l_tbmodel_number_type;
16667 l_tbcorporate_book_tab2 l_tbcorporate_book_type;
16668 l_tbdate_purchased_tab2 l_tbdate_purchased_type;
16669 l_tbdate_delivery_tab2 l_tbdate_delivery_type;
16670 l_tbin_service_date_tab2 l_tbin_service_date_type;
16671 l_tblife_in_months_tab2 l_tblife_in_months_type;
16672 l_tbdepreciation_id_tab2 l_tbdepreciation_id_type;
16673 l_tbdepreciation_cost_tab2 l_tbdepreciation_cost_type;
16674 l_tbdeprn_method_tab2 l_tbdeprn_method_type;
16675 l_tbdeprn_rate_tab2 l_tbdeprn_rate_type;
16676 l_tbsalvage_value_tab2 l_tbsalvage_value_type;
16677 l_tbpercent_salvage_value_tab2 l_tbpercent_salvage_value_type;
16678 l_tbattribute_category_tab2 l_tbattribute_category_type;
16679 l_tbattribute1_tab2 l_tbattribute1_type;
16680 l_tbattribute2_tab2 l_tbattribute2_type;
16681 l_tbattribute3_tab2 l_tbattribute3_type;
16682 l_tbattribute4_tab2 l_tbattribute4_type;
16683 l_tbattribute5_tab2 l_tbattribute5_type;
16684 l_tbattribute6_tab2 l_tbattribute6_type;
16685 l_tbattribute7_tab2 l_tbattribute7_type;
16686 l_tbattribute8_tab2 l_tbattribute8_type;
16687 l_tbattribute9_tab2 l_tbattribute9_type;
16688 l_tbattribute10_tab2 l_tbattribute10_type;
16689 l_tbattribute11_tab2 l_tbattribute11_type;
16690 l_tbattribute12_tab2 l_tbattribute12_type;
16691 l_tbattribute13_tab2 l_tbattribute13_type;
16692 l_tbattribute14_tab2 l_tbattribute14_type;
16693 l_tbattribute15_tab2 l_tbattribute15_type;
16694 l_tbcreated_by_tab2 l_tbcreated_by_type;
16695 l_tbcreation_date_tab2 l_tbcreation_date_type;
16696 l_tblast_updated_by_tab2 l_tblast_updated_by_type;
16697 l_tblast_update_date_tab2 l_tblast_update_date_type;
16698 l_tblast_update_login_tab2 l_tblast_update_login_type;
16699 l_tbdepreciate_yn_tab2 l_tbdepreciate_yn_type;
16700 l_tbhold_period_days_tab2 l_tbhold_period_days_type;
16701 l_tbold_salvage_value_tab2 l_tbold_salvage_value_type;
16702 l_tbnew_residual_value_tab2 l_tbnew_residual_value_type;
16703 l_tbold_residual_value_tab2 l_tbold_residual_value_type;
16704 l_tbunits_retired_tab2 l_tbunits_retired_type;
16705 l_tbcost_retired_tab2 l_tbcost_retired_type;
16706 l_tbsale_proceeds_tab2 l_tbsale_proceeds_type;
16707 l_tbremoval_cost_tab2 l_tbremoval_cost_type;
16708 l_tbdnz_asset_id_tab2 l_tbdnz_asset_id_type;
16709 l_tbdate_due_tab2 l_tbdate_due_type;
16710 l_tbrep_asset_id_tab2 l_tbrep_asset_id_type;
16711 l_tblke_asset_id_tab2 l_tblke_asset_id_type;
16712 l_tbmatch_amount_tab2 l_tbmatch_amount_type;
16713 l_tbsplit_into_singles_fl_tab2 l_tbsplit_into_singles_fl_type;
16714 l_tbsplit_into_units_tab2 l_tbsplit_into_units_type;
16715 l_tbcurrency_code_tab2 l_tbcurrency_code_type;
16716 l_tbcurrency_convers_type_tab2 l_tbcurrency_convers_type_type;
16717 l_tbcurrency_convers_rate_tab2 l_tbcurrency_convers_rate_type;
16718 l_tbcurrency_convers_date_tab2 l_tbcurrency_convers_date_type;
16719 l_tbasset_key_id_tab2 l_tbasset_key_id_type;
16720 l_tbfa_trx_date_tab2 l_tbfa_trx_date_type;
16721
16722 l_new_tas_id NUMBER;
16723 l_new_kle_id NUMBER;
16724 l_new_asset_number VARCHAR2(15);
16725
16726 BEGIN
16727 IF (G_DEBUG_ENABLED = 'Y') THEN
16728 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
16729 END IF;
16730 OPEN c18(p_old_id);
16731 LOOP
16732 FETCH c18 bulk collect INTO
16733 l_tbid_tab2, l_tbobject_version_number_tab2, l_tbtas_id_tab2,
16734 l_tbilo_id_tab2, l_tbilo_id_old_tab2, l_tbiay_id_tab2,
16735 l_tbiay_id_new_tab2, l_tbkle_id_tab2, l_tbdnz_khr_id_tab2,
16736 l_tbline_number_tab2, l_tborg_id_tab2, l_tbtal_type_tab2,
16737 l_tbasset_number_tab2, l_tbfa_location_id_tab2, l_tboriginal_cost_tab2,
16738 l_tbcurrent_units_tab2, l_tbmanufacturer_name_tab2, l_tbyear_manufactured_tab2,
16739 l_tbsupplier_id_tab2, l_tbused_asset_yn_tab2, l_tbtag_number_tab2,
16740 l_tbmodel_number_tab2, l_tbcorporate_book_tab2, l_tbdate_purchased_tab2,
16741 l_tbdate_delivery_tab2, l_tbin_service_date_tab2, l_tblife_in_months_tab2,
16742 l_tbdepreciation_id_tab2, l_tbdepreciation_cost_tab2, l_tbdeprn_method_tab2,
16743 l_tbdeprn_rate_tab2, l_tbsalvage_value_tab2, l_tbpercent_salvage_value_tab2,
16744 l_tbattribute_category_tab2, l_tbattribute1_tab2, l_tbattribute2_tab2,
16745 l_tbattribute3_tab2, l_tbattribute4_tab2, l_tbattribute5_tab2,
16746 l_tbattribute6_tab2, l_tbattribute7_tab2, l_tbattribute8_tab2,
16747 l_tbattribute9_tab2, l_tbattribute10_tab2, l_tbattribute11_tab2,
16748 l_tbattribute12_tab2, l_tbattribute13_tab2, l_tbattribute14_tab2,
16749 l_tbattribute15_tab2, l_tbcreated_by_tab2, l_tbcreation_date_tab2,
16750 l_tblast_updated_by_tab2, l_tblast_update_date_tab2, l_tblast_update_login_tab2,
16751 l_tbdepreciate_yn_tab2, l_tbhold_period_days_tab2, l_tbold_salvage_value_tab2,
16752 l_tbnew_residual_value_tab2, l_tbold_residual_value_tab2, l_tbunits_retired_tab2,
16753 l_tbcost_retired_tab2, l_tbsale_proceeds_tab2, l_tbremoval_cost_tab2,
16754 l_tbdnz_asset_id_tab2, l_tbdate_due_tab2, l_tbrep_asset_id_tab2,
16755 l_tblke_asset_id_tab2, l_tbmatch_amount_tab2, l_tbsplit_into_singles_fl_tab2,
16756 l_tbsplit_into_units_tab2, l_tbcurrency_code_tab2, l_tbcurrency_convers_type_tab2,
16757 l_tbcurrency_convers_rate_tab2, l_tbcurrency_convers_date_tab2, l_tbasset_key_id_tab2,
16758 l_tbfa_trx_date_tab2
16759 limit G_BULK_SIZE;
16760 EXIT WHEN l_tbid_tab2.COUNT = 0;
16761 FOR i IN l_tbid_tab2.first..l_tbid_tab2.last
16762 LOOP
16763
16764 l_tbid_tab3(l_txl_assets_b_counter) := l_tbid_tab2(i);
16765 l_tbid_tab(l_txl_assets_b_counter) := l_tbid_tab2(i);
16766 -- Change id
16767 l_tbid_tab(l_txl_assets_b_counter) := okc_p_util.raw_to_number(sys_guid());
16768 l_txl_id_mapping_tab(l_txl_assets_b_counter).old_id := l_tbid_tab3(l_txl_assets_b_counter);
16769 l_txl_id_mapping_tab(l_txl_assets_b_counter).new_id := l_tbid_tab(l_txl_assets_b_counter);
16770
16771 l_tbobject_version_number_tab(l_txl_assets_b_counter) := l_tbobject_version_number_tab2(i);
16772 l_tbtas_id_tab(l_txl_assets_b_counter) := l_tbtas_id_tab2(i);
16773 --Change tas_id
16774 l_new_tas_id := find_trx_mapping_id( l_tbtas_id_tab(l_txl_assets_b_counter));
16775 IF (l_new_tas_id = -1) THEN
16776 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16777 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_tbtas_id_tab(l_txl_assets_b_counter));
16778 END IF;
16779 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
16780 END IF;
16781 l_tbtas_id_tab(l_txl_assets_b_counter) := l_new_tas_id;
16782
16783 l_tbilo_id_tab(l_txl_assets_b_counter) := l_tbilo_id_tab2(i);
16784 l_tbilo_id_old_tab(l_txl_assets_b_counter) := l_tbilo_id_old_tab2(i);
16785 l_tbiay_id_tab(l_txl_assets_b_counter) := l_tbiay_id_tab2(i);
16786 l_tbiay_id_new_tab(l_txl_assets_b_counter) := l_tbiay_id_new_tab2(i);
16787 l_tbkle_id_tab(l_txl_assets_b_counter) := l_tbkle_id_tab2(i);
16788 -- Change kle_id
16789 IF (l_tbkle_id_tab(l_txl_assets_b_counter) IS NOT NULL) THEN
16790 l_new_kle_id := find_mapping_id(l_tbkle_id_tab(l_txl_assets_b_counter));
16791 IF (l_new_kle_id = -1) THEN
16792 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16793 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_tbkle_id_tab(l_txl_assets_b_counter));
16794 END IF;
16795 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
16796 END IF;
16797 l_tbkle_id_tab(l_txl_assets_b_counter) := l_new_kle_id;
16798 END IF;
16799
16800 -- Store Tal id to kle_id mapping
16801 l_dbid_mapping_tab(l_tal_to_kle_counter).tal_id := l_tbid_tab(l_txl_assets_b_counter);
16802 l_dbid_mapping_tab(l_tal_to_kle_counter).kle_id := l_tbkle_id_tab(l_txl_assets_b_counter);
16803 l_tal_to_kle_counter := l_tal_to_kle_counter + 1;
16804
16805 l_tbdnz_khr_id_tab(l_txl_assets_b_counter) := l_tbdnz_khr_id_tab2(i);
16806 -- Change dnz_chr_id
16807 IF (l_tbdnz_khr_id_tab(l_txl_assets_b_counter) IS NOT NULL) THEN
16808 l_tbdnz_khr_id_tab(l_txl_assets_b_counter) := p_new_id;
16809 END IF;
16810
16811 l_tbline_number_tab(l_txl_assets_b_counter) := l_tbline_number_tab2(i);
16812 l_tborg_id_tab(l_txl_assets_b_counter) := l_tborg_id_tab2(i);
16813 l_tbtal_type_tab(l_txl_assets_b_counter) := l_tbtal_type_tab2(i);
16814 l_tbasset_number_tab(l_txl_assets_b_counter) := l_tbasset_number_tab2(i);
16815 -- Change asset_number
16816 l_new_asset_number := find_aid_mapping_id(l_tbasset_number_tab(l_txl_assets_b_counter));
16817 IF (l_new_asset_number <> '-1') THEN
16818 l_tbasset_number_tab(l_txl_assets_b_counter) := l_new_asset_number;
16819 END IF;
16820
16821 l_tbfa_location_id_tab(l_txl_assets_b_counter) := l_tbfa_location_id_tab2(i);
16822 l_tboriginal_cost_tab(l_txl_assets_b_counter) := l_tboriginal_cost_tab2(i);
16823 l_tbcurrent_units_tab(l_txl_assets_b_counter) := l_tbcurrent_units_tab2(i);
16824 l_tbmanufacturer_name_tab(l_txl_assets_b_counter) := l_tbmanufacturer_name_tab2(i);
16825 l_tbyear_manufactured_tab(l_txl_assets_b_counter) := l_tbyear_manufactured_tab2(i);
16826 l_tbsupplier_id_tab(l_txl_assets_b_counter) := l_tbsupplier_id_tab2(i);
16827 l_tbused_asset_yn_tab(l_txl_assets_b_counter) := l_tbused_asset_yn_tab2(i);
16828 l_tbtag_number_tab(l_txl_assets_b_counter) := l_tbtag_number_tab2(i);
16829 l_tbmodel_number_tab(l_txl_assets_b_counter) := l_tbmodel_number_tab2(i);
16830 l_tbcorporate_book_tab(l_txl_assets_b_counter) := l_tbcorporate_book_tab2(i);
16831 l_tbdate_purchased_tab(l_txl_assets_b_counter) := l_tbdate_purchased_tab2(i);
16832 l_tbdate_delivery_tab(l_txl_assets_b_counter) := l_tbdate_delivery_tab2(i);
16833 l_tbin_service_date_tab(l_txl_assets_b_counter) := l_tbin_service_date_tab2(i);
16834 l_tblife_in_months_tab(l_txl_assets_b_counter) := l_tblife_in_months_tab2(i);
16835 l_tbdepreciation_id_tab(l_txl_assets_b_counter) := l_tbdepreciation_id_tab2(i);
16836 l_tbdepreciation_cost_tab(l_txl_assets_b_counter) := l_tbdepreciation_cost_tab2(i);
16837 l_tbdeprn_method_tab(l_txl_assets_b_counter) := l_tbdeprn_method_tab2(i);
16838 l_tbdeprn_rate_tab(l_txl_assets_b_counter) := l_tbdeprn_rate_tab2(i);
16839 l_tbsalvage_value_tab(l_txl_assets_b_counter) := l_tbsalvage_value_tab2(i);
16840 l_tbpercent_salvage_value_tab(l_txl_assets_b_counter) := l_tbpercent_salvage_value_tab2(i);
16841 l_tbattribute_category_tab(l_txl_assets_b_counter) := l_tbattribute_category_tab2(i);
16842 l_tbattribute1_tab(l_txl_assets_b_counter) := l_tbattribute1_tab2(i);
16843 l_tbattribute2_tab(l_txl_assets_b_counter) := l_tbattribute2_tab2(i);
16844 l_tbattribute3_tab(l_txl_assets_b_counter) := l_tbattribute3_tab2(i);
16845 l_tbattribute4_tab(l_txl_assets_b_counter) := l_tbattribute4_tab2(i);
16846 l_tbattribute5_tab(l_txl_assets_b_counter) := l_tbattribute5_tab2(i);
16847 l_tbattribute6_tab(l_txl_assets_b_counter) := l_tbattribute6_tab2(i);
16848 l_tbattribute7_tab(l_txl_assets_b_counter) := l_tbattribute7_tab2(i);
16849 l_tbattribute8_tab(l_txl_assets_b_counter) := l_tbattribute8_tab2(i);
16850 l_tbattribute9_tab(l_txl_assets_b_counter) := l_tbattribute9_tab2(i);
16851 l_tbattribute10_tab(l_txl_assets_b_counter) := l_tbattribute10_tab2(i);
16852 l_tbattribute11_tab(l_txl_assets_b_counter) := l_tbattribute11_tab2(i);
16853 l_tbattribute12_tab(l_txl_assets_b_counter) := l_tbattribute12_tab2(i);
16854 l_tbattribute13_tab(l_txl_assets_b_counter) := l_tbattribute13_tab2(i);
16855 l_tbattribute14_tab(l_txl_assets_b_counter) := l_tbattribute14_tab2(i);
16856 l_tbattribute15_tab(l_txl_assets_b_counter) := l_tbattribute15_tab2(i);
16857 l_tbcreated_by_tab(l_txl_assets_b_counter) := l_tbcreated_by_tab2(i);
16858 l_tbcreation_date_tab(l_txl_assets_b_counter) := l_tbcreation_date_tab2(i);
16859 l_tblast_updated_by_tab(l_txl_assets_b_counter) := l_tblast_updated_by_tab2(i);
16860 l_tblast_update_date_tab(l_txl_assets_b_counter) := l_tblast_update_date_tab2(i);
16861 l_tblast_update_login_tab(l_txl_assets_b_counter) := l_tblast_update_login_tab2(i);
16862 l_tbdepreciate_yn_tab(l_txl_assets_b_counter) := l_tbdepreciate_yn_tab2(i);
16863 l_tbhold_period_days_tab(l_txl_assets_b_counter) := l_tbhold_period_days_tab2(i);
16864 l_tbold_salvage_value_tab(l_txl_assets_b_counter) := l_tbold_salvage_value_tab2(i);
16865 l_tbnew_residual_value_tab(l_txl_assets_b_counter) := l_tbnew_residual_value_tab2(i);
16866 l_tbold_residual_value_tab(l_txl_assets_b_counter) := l_tbold_residual_value_tab2(i);
16867 l_tbunits_retired_tab(l_txl_assets_b_counter) := l_tbunits_retired_tab2(i);
16868 l_tbcost_retired_tab(l_txl_assets_b_counter) := l_tbcost_retired_tab2(i);
16869 l_tbsale_proceeds_tab(l_txl_assets_b_counter) := l_tbsale_proceeds_tab2(i);
16870 l_tbremoval_cost_tab(l_txl_assets_b_counter) := l_tbremoval_cost_tab2(i);
16871 l_tbdnz_asset_id_tab(l_txl_assets_b_counter) := l_tbdnz_asset_id_tab2(i);
16872 l_tbdate_due_tab(l_txl_assets_b_counter) := l_tbdate_due_tab2(i);
16873 l_tbrep_asset_id_tab(l_txl_assets_b_counter) := l_tbrep_asset_id_tab2(i);
16874 l_tblke_asset_id_tab(l_txl_assets_b_counter) := l_tblke_asset_id_tab2(i);
16875 l_tbmatch_amount_tab(l_txl_assets_b_counter) := l_tbmatch_amount_tab2(i);
16876 l_tbsplit_into_singles_fl_tab(l_txl_assets_b_counter) := l_tbsplit_into_singles_fl_tab2(i);
16877 l_tbsplit_into_units_tab(l_txl_assets_b_counter) := l_tbsplit_into_units_tab2(i);
16878 /*l_tbcurrency_code_tab(l_txl_assets_b_counter) := l_tbcurrency_code_tab2(i);
16879 l_tbcurrency_convers_type_tab(l_txl_assets_b_counter) := l_tbcurrency_convers_type_tab2(i);
16880 l_tbcurrency_convers_rate_tab(l_txl_assets_b_counter) := l_tbcurrency_convers_rate_tab2(i);
16881 l_tbcurrency_convers_date_tab(l_txl_assets_b_counter) := l_tbcurrency_convers_date_tab2(i);*/
16882 -- AKP: Default the following four from the contract header
16883 l_tbcurrency_code_tab(l_txl_assets_b_counter) := l_contract_currency;
16884 l_tbcurrency_convers_type_tab(l_txl_assets_b_counter) := l_conversion_type;
16885 l_tbcurrency_convers_rate_tab(l_txl_assets_b_counter) := l_conversion_rate;
16886 l_tbcurrency_convers_date_tab(l_txl_assets_b_counter) := l_conversion_rate_date;
16887 l_tbasset_key_id_tab(l_txl_assets_b_counter) := l_tbasset_key_id_tab2(i);
16888 l_tbfa_trx_date_tab(l_txl_assets_b_counter) := l_tbfa_trx_date_tab2(i);
16889
16890 l_txl_assets_b_counter := l_txl_assets_b_counter + 1;
16891
16892 END LOOP;
16893 END LOOP;
16894 CLOSE c18;
16895 sort_dbid_mapping_tab;
16896
16897 IF (l_txl_assets_b_counter > 1) THEN
16898 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16899 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txl_assets_b_counter=' || l_txl_assets_b_counter || ' l_tbid_tab.count=' || l_tbid_tab.COUNT);
16900 END IF;
16901 forall i IN l_tbid_tab.first..l_tbid_tab.last
16902 INSERT INTO okl_txl_assets_b (
16903 id, object_version_number, tas_id,
16904 ilo_id, ilo_id_old, iay_id,
16905 iay_id_new, kle_id, dnz_khr_id,
16906 line_number, org_id, tal_type,
16907 asset_number, fa_location_id, original_cost,
16908 current_units, manufacturer_name, year_manufactured,
16909 supplier_id, used_asset_yn, tag_number,
16910 model_number, corporate_book, date_purchased,
16911 date_delivery, in_service_date, life_in_months,
16912 depreciation_id, depreciation_cost, deprn_method,
16913 deprn_rate, salvage_value, percent_salvage_value,
16914 attribute_category, attribute1, attribute2,
16915 attribute3, attribute4, attribute5,
16916 attribute6, attribute7, attribute8,
16917 attribute9, attribute10, attribute11,
16918 attribute12, attribute13, attribute14,
16919 attribute15, created_by, creation_date,
16920 last_updated_by, last_update_date, last_update_login,
16921 depreciate_yn, hold_period_days, old_salvage_value,
16922 new_residual_value, old_residual_value, units_retired,
16923 cost_retired, sale_proceeds, removal_cost,
16924 dnz_asset_id, date_due, rep_asset_id,
16925 lke_asset_id, match_amount, split_into_singles_flag,
16926 split_into_units, currency_code, currency_conversion_type,
16927 currency_conversion_rate, currency_conversion_date, asset_key_id,
16928 fa_trx_date
16929 ) VALUES (
16930 l_tbid_tab(i), 1, l_tbtas_id_tab(i),
16931 l_tbilo_id_tab(i), l_tbilo_id_old_tab(i), l_tbiay_id_tab(i),
16932 l_tbiay_id_new_tab(i), l_tbkle_id_tab(i), l_tbdnz_khr_id_tab(i),
16933 l_tbline_number_tab(i), l_tborg_id_tab(i), p_trans_type,
16934 l_tbasset_number_tab(i), l_tbfa_location_id_tab(i), l_tboriginal_cost_tab(i),
16935 l_tbcurrent_units_tab(i), l_tbmanufacturer_name_tab(i), l_tbyear_manufactured_tab(i),
16936 l_tbsupplier_id_tab(i), l_tbused_asset_yn_tab(i), l_tbtag_number_tab(i),
16937 l_tbmodel_number_tab(i), l_tbcorporate_book_tab(i), l_tbdate_purchased_tab(i),
16938 l_tbdate_delivery_tab(i), l_tbin_service_date_tab(i), l_tblife_in_months_tab(i),
16939 l_tbdepreciation_id_tab(i), l_tbdepreciation_cost_tab(i), l_tbdeprn_method_tab(i),
16940 l_tbdeprn_rate_tab(i), l_tbsalvage_value_tab(i), l_tbpercent_salvage_value_tab(i),
16941 l_tbattribute_category_tab(i), l_tbattribute1_tab(i), l_tbattribute2_tab(i),
16942 l_tbattribute3_tab(i), l_tbattribute4_tab(i), l_tbattribute5_tab(i),
16943 l_tbattribute6_tab(i), l_tbattribute7_tab(i), l_tbattribute8_tab(i),
16944 l_tbattribute9_tab(i), l_tbattribute10_tab(i), l_tbattribute11_tab(i),
16945 l_tbattribute12_tab(i), l_tbattribute13_tab(i), l_tbattribute14_tab(i),
16946 l_tbattribute15_tab(i), l_created_by, SYSDATE,
16947 l_last_updated_by, SYSDATE, l_last_update_login,
16948 l_tbdepreciate_yn_tab(i), l_tbhold_period_days_tab(i), l_tbold_salvage_value_tab(i),
16949 l_tbnew_residual_value_tab(i), l_tbold_residual_value_tab(i), l_tbunits_retired_tab(i),
16950 l_tbcost_retired_tab(i), l_tbsale_proceeds_tab(i), l_tbremoval_cost_tab(i),
16951 l_tbdnz_asset_id_tab(i), l_tbdate_due_tab(i), l_tbrep_asset_id_tab(i),
16952 l_tblke_asset_id_tab(i), l_tbmatch_amount_tab(i), l_tbsplit_into_singles_fl_tab(i),
16953 l_tbsplit_into_units_tab(i), l_tbcurrency_code_tab(i), l_tbcurrency_convers_type_tab(i),
16954 l_tbcurrency_convers_rate_tab(i), l_tbcurrency_convers_date_tab(i), l_tbasset_key_id_tab(i),
16955 NULL
16956 );
16957
16958 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16959 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_assets_b done...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
16960 END IF;
16961 sort_txl_id_mapping_tab;
16962 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16963 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_assets_tl...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
16964 END IF;
16965 FOR i IN l_tbid_tab.first..l_tbid_tab.last
16966 LOOP
16967 IF (i = l_tbid_tab.last) THEN
16968 insert_okl_txl_assets_tl(l_tbid_tab3(i), l_tbid_tab(i), 'Y');
16969 ELSE
16970 insert_okl_txl_assets_tl(l_tbid_tab3(i), l_tbid_tab(i), 'N');
16971 END IF;
16972 END LOOP;
16973
16974 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16975 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txd_assets_b ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
16976 END IF;
16977 l_message := 'OKL_NEW_COPY_ASD_ERROR';
16978 insert_okl_txd_assets_b(p_chr_id, l_copied_id);
16979 END IF;
16980
16981 EXCEPTION WHEN OTHERS THEN
16982
16983 x_return_status := OKL_API.G_RET_STS_ERROR;
16984 /*OKL_API.set_message(p_app_name => 'OKL',
16985 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
16986 p_token1 => 'ASSET_NUMBER',
16987 p_token1_value => 'insert_okl_txl_assets_b');*/
16988 /* DEBUG */
16989 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16990 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
16991 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_txl_assets_b:l_tbid_tab.count=' || l_tbid_tab.COUNT || ' ...');
16992 END IF;
16993 IF (l_tbid_tab.COUNT > 0) THEN
16994 FOR i IN l_tbid_tab.first..l_tbid_tab.last
16995 LOOP
16996 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16997 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbid_tab('||i||')=' || l_tbid_tab(i));
16998 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbtas_id_tab('||i||')=' || l_tbtas_id_tab(i));
16999 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbilo_id_tab('||i||')=' || l_tbilo_id_tab(i));
17000 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbilo_id_old_tab('||i||')=' || l_tbilo_id_old_tab(i));
17001 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbiay_id_tab('||i||')=' || l_tbiay_id_tab(i));
17002 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbiay_id_new_tab('||i||')=' || l_tbiay_id_new_tab(i));
17003 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbkle_id_tab('||i||')=' || l_tbkle_id_tab(i));
17004 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdnz_khr_id_tab('||i||')=' || l_tbdnz_khr_id_tab(i));
17005 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbline_number_tab('||i||')=' || l_tbline_number_tab(i));
17006 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tborg_id_tab('||i||')=' || l_tborg_id_tab(i));
17007 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbasset_number_tab('||i||')=' || l_tbasset_number_tab(i));
17008 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbfa_location_id_tab('||i||')=' || l_tbfa_location_id_tab(i));
17009 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tboriginal_cost_tab('||i||')=' || l_tboriginal_cost_tab(i));
17010 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrent_units_tab('||i||')=' || l_tbcurrent_units_tab(i));
17011 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbmanufacturer_name_tab('||i||')=' || l_tbmanufacturer_name_tab(i));
17012 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbyear_manufactured_tab('||i||')=' || l_tbyear_manufactured_tab(i));
17013 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsupplier_id_tab('||i||')=' || l_tbsupplier_id_tab(i));
17014 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbused_asset_yn_tab('||i||')=' || l_tbused_asset_yn_tab(i));
17015 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbtag_number_tab('||i||')=' || l_tbtag_number_tab(i));
17016 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbmodel_number_tab('||i||')=' || l_tbmodel_number_tab(i));
17017 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcorporate_book_tab('||i||')=' || l_tbcorporate_book_tab(i));
17018 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdate_purchased_tab('||i||')=' || l_tbdate_purchased_tab(i));
17019 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdate_delivery_tab('||i||')=' || l_tbdate_delivery_tab(i));
17020 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbin_service_date_tab('||i||')=' || l_tbin_service_date_tab(i));
17021 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tblife_in_months_tab('||i||')=' || l_tblife_in_months_tab(i));
17022 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdepreciation_id_tab('||i||')=' || l_tbdepreciation_id_tab(i));
17023 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdepreciation_cost_tab('||i||')=' || l_tbdepreciation_cost_tab(i));
17024 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdeprn_method_tab('||i||')=' || l_tbdeprn_method_tab(i));
17025 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdeprn_rate_tab('||i||')=' || l_tbdeprn_rate_tab(i));
17026 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsalvage_value_tab('||i||')=' || l_tbsalvage_value_tab(i));
17027 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbpercent_salvage_value_tab('||i||')=' || l_tbpercent_salvage_value_tab(i));
17028 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute_category_tab('||i||')=' || l_tbattribute_category_tab(i));
17029 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute1_tab('||i||')=' || l_tbattribute1_tab(i));
17030 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute2_tab('||i||')=' || l_tbattribute2_tab(i));
17031 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute3_tab('||i||')=' || l_tbattribute3_tab(i));
17032 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute4_tab('||i||')=' || l_tbattribute4_tab(i));
17033 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute5_tab('||i||')=' || l_tbattribute5_tab(i));
17034 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute6_tab('||i||')=' || l_tbattribute6_tab(i));
17035 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute7_tab('||i||')=' || l_tbattribute7_tab(i));
17036 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute8_tab('||i||')=' || l_tbattribute8_tab(i));
17037 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute9_tab('||i||')=' || l_tbattribute9_tab(i));
17038 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute10_tab('||i||')=' || l_tbattribute10_tab(i));
17039 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute11_tab('||i||')=' || l_tbattribute11_tab(i));
17040 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute12_tab('||i||')=' || l_tbattribute12_tab(i));
17041 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute13_tab('||i||')=' || l_tbattribute13_tab(i));
17042 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute14_tab('||i||')=' || l_tbattribute14_tab(i));
17043 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute15_tab('||i||')=' || l_tbattribute15_tab(i));
17044 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdepreciate_yn_tab('||i||')=' || l_tbdepreciate_yn_tab(i));
17045 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbhold_period_days_tab('||i||')=' || l_tbhold_period_days_tab(i));
17046 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbold_salvage_value_tab('||i||')=' || l_tbold_salvage_value_tab(i));
17047 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbnew_residual_value_tab('||i||')=' || l_tbnew_residual_value_tab(i));
17048 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbold_residual_value_tab('||i||')=' || l_tbold_residual_value_tab(i));
17049 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbunits_retired_tab('||i||')=' || l_tbunits_retired_tab(i));
17050 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcost_retired_tab('||i||')=' || l_tbcost_retired_tab(i));
17051 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsale_proceeds_tab('||i||')=' || l_tbsale_proceeds_tab(i));
17052 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbremoval_cost_tab('||i||')=' || l_tbremoval_cost_tab(i));
17053 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdnz_asset_id_tab('||i||')=' || l_tbdnz_asset_id_tab(i));
17054 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdate_due_tab('||i||')=' || l_tbdate_due_tab(i));
17055 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbrep_asset_id_tab('||i||')=' || l_tbrep_asset_id_tab(i));
17056 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tblke_asset_id_tab('||i||')=' || l_tblke_asset_id_tab(i));
17057 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbmatch_amount_tab('||i||')=' || l_tbmatch_amount_tab(i));
17058 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsplit_into_singles_fl_tab('||i||')=' || l_tbsplit_into_singles_fl_tab(i));
17059 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsplit_into_units_tab('||i||')=' || l_tbsplit_into_units_tab(i));
17060 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrency_code_tab('||i||')=' || l_tbcurrency_code_tab(i));
17061 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrency_convers_type_tab('||i||')=' || l_tbcurrency_convers_type_tab(i));
17062 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrency_convers_rate_tab('||i||')=' || l_tbcurrency_convers_rate_tab(i));
17063 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrency_convers_date_tab('||i||')=' || l_tbcurrency_convers_date_tab(i));
17064 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbasset_key_id_tab('||i||')=' || l_tbasset_key_id_tab(i));
17065 END IF;
17066 END LOOP;
17067 END IF;
17068
17069 RAISE OKC_API.G_EXCEPTION_ERROR;
17070
17071 END; /* insert_okl_txl_assets_b */
17072
17073 PROCEDURE insert_okl_trx_assets(p_old_id IN okc_k_headers_b.id%TYPE,
17074 p_new_id IN okc_k_headers_b.id%TYPE) IS
17075 CURSOR c17(p_id NUMBER) IS
17076 SELECT
17077 id, ica_id, tas_type,
17078 object_version_number, attribute_category, attribute1,
17079 attribute2, attribute3, attribute4,
17080 attribute5, attribute6, attribute7,
17081 attribute8, attribute9, attribute10,
17082 attribute11, attribute12, attribute13,
17083 attribute14, attribute15, created_by,
17084 creation_date, last_updated_by, last_update_date,
17085 last_update_login, tsu_code, try_id,
17086 date_trans_occurred, trans_number, comments,
17087 req_asset_id, total_match_amount, org_id,legal_entity_id
17088 FROM okl_trx_assets
17089 WHERE id IN
17090 (SELECT a.tas_id FROM okl_txl_assets_b a,
17091 okc_k_lines_b b,
17092 okc_k_items c
17093 WHERE a.dnz_khr_id = p_id
17094 AND b.dnz_chr_id = p_id
17095 AND c.dnz_chr_id = p_id
17096 AND b.lse_id = 42
17097 AND a.kle_id = b.id
17098 AND a.kle_id = c.cle_id
17099 AND c.object1_id1 IS NULL
17100 AND c.object1_id2 IS NULL);
17101
17102 l_tid_tab2 l_tid_type;
17103 l_tica_id_tab2 l_tica_id_type;
17104 l_ttas_type_tab2 l_ttas_type_type;
17105 l_tobject_version_number_tab2 l_tobject_version_number_type;
17106 l_tattribute_category_tab2 l_tattribute_category_type;
17107 l_tattribute1_tab2 l_tattribute1_type;
17108 l_tattribute2_tab2 l_tattribute2_type;
17109 l_tattribute3_tab2 l_tattribute3_type;
17110 l_tattribute4_tab2 l_tattribute4_type;
17111 l_tattribute5_tab2 l_tattribute5_type;
17112 l_tattribute6_tab2 l_tattribute6_type;
17113 l_tattribute7_tab2 l_tattribute7_type;
17114 l_tattribute8_tab2 l_tattribute8_type;
17115 l_tattribute9_tab2 l_tattribute9_type;
17116 l_tattribute10_tab2 l_tattribute10_type;
17117 l_tattribute11_tab2 l_tattribute11_type;
17118 l_tattribute12_tab2 l_tattribute12_type;
17119 l_tattribute13_tab2 l_tattribute13_type;
17120 l_tattribute14_tab2 l_tattribute14_type;
17121 l_tattribute15_tab2 l_tattribute15_type;
17122 l_tcreated_by_tab2 l_tcreated_by_type;
17123 l_tcreation_date_tab2 l_tcreation_date_type;
17124 l_tlast_updated_by_tab2 l_tlast_updated_by_type;
17125 l_tlast_update_date_tab2 l_tlast_update_date_type;
17126 l_tlast_update_login_tab2 l_tlast_update_login_type;
17127 l_ttsu_code_tab2 l_ttsu_code_type;
17128 l_ttry_id_tab2 l_ttry_id_type;
17129 l_tdate_trans_occurred_tab2 l_tdate_trans_occurred_type;
17130 l_ttrans_number_tab2 l_ttrans_number_type;
17131 l_tcomments_tab2 l_tcomments_type;
17132 l_treq_asset_id_tab2 l_treq_asset_id_type;
17133 l_ttotal_match_amount_tab2 l_ttotal_match_amount_type;
17134 l_torg_id_tab2 l_torg_id_type;
17135 l_tlegal_entity_id_tab2 l_tlegal_entity_id_type;
17136
17137 BEGIN
17138 IF (G_DEBUG_ENABLED = 'Y') THEN
17139 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
17140 END IF;
17141 OPEN c17(p_old_id);
17142 LOOP
17143 FETCH c17 bulk collect INTO
17144 l_tid_tab2, l_tica_id_tab2, l_ttas_type_tab2,
17145 l_tobject_version_number_tab2, l_tattribute_category_tab2, l_tattribute1_tab2,
17146 l_tattribute2_tab2, l_tattribute3_tab2, l_tattribute4_tab2,
17147 l_tattribute5_tab2, l_tattribute6_tab2, l_tattribute7_tab2,
17148 l_tattribute8_tab2, l_tattribute9_tab2, l_tattribute10_tab2,
17149 l_tattribute11_tab2, l_tattribute12_tab2, l_tattribute13_tab2,
17150 l_tattribute14_tab2, l_tattribute15_tab2, l_tcreated_by_tab2,
17151 l_tcreation_date_tab2, l_tlast_updated_by_tab2, l_tlast_update_date_tab2,
17152 l_tlast_update_login_tab2, l_ttsu_code_tab2, l_ttry_id_tab2,
17153 l_tdate_trans_occurred_tab2, l_ttrans_number_tab2, l_tcomments_tab2,
17154 l_treq_asset_id_tab2, l_ttotal_match_amount_tab2, l_torg_id_tab2,l_tlegal_entity_id_tab2
17155 limit G_BULK_SIZE;
17156 EXIT WHEN l_tid_tab2.COUNT = 0;
17157 FOR i IN l_tid_tab2.first..l_tid_tab2.last
17158 LOOP
17159
17160 l_tid_tab(l_trx_assets_counter) := l_tid_tab2(i);
17161 l_trx_id_mapping_tab(l_trx_assets_counter).old_id := l_tid_tab2(i);
17162
17163 --Change id
17164 l_tid_tab(l_trx_assets_counter) := okc_p_util.raw_to_number(sys_guid());
17165 l_trx_id_mapping_tab(l_trx_assets_counter).new_id := l_tid_tab(l_trx_assets_counter);
17166
17167 l_tica_id_tab(l_trx_assets_counter) := l_tica_id_tab2(i);
17168 l_ttas_type_tab(l_trx_assets_counter) := l_ttas_type_tab2(i);
17169 l_tobject_version_number_tab(l_trx_assets_counter) := l_tobject_version_number_tab2(i);
17170 l_tattribute_category_tab(l_trx_assets_counter) := l_tattribute_category_tab2(i);
17171 l_tattribute1_tab(l_trx_assets_counter) := l_tattribute1_tab2(i);
17172 l_tattribute2_tab(l_trx_assets_counter) := l_tattribute2_tab2(i);
17173 l_tattribute3_tab(l_trx_assets_counter) := l_tattribute3_tab2(i);
17174 l_tattribute4_tab(l_trx_assets_counter) := l_tattribute4_tab2(i);
17175 l_tattribute5_tab(l_trx_assets_counter) := l_tattribute5_tab2(i);
17176 l_tattribute6_tab(l_trx_assets_counter) := l_tattribute6_tab2(i);
17177 l_tattribute7_tab(l_trx_assets_counter) := l_tattribute7_tab2(i);
17178 l_tattribute8_tab(l_trx_assets_counter) := l_tattribute8_tab2(i);
17179 l_tattribute9_tab(l_trx_assets_counter) := l_tattribute9_tab2(i);
17180 l_tattribute10_tab(l_trx_assets_counter) := l_tattribute10_tab2(i);
17181 l_tattribute11_tab(l_trx_assets_counter) := l_tattribute11_tab2(i);
17182 l_tattribute12_tab(l_trx_assets_counter) := l_tattribute12_tab2(i);
17183 l_tattribute13_tab(l_trx_assets_counter) := l_tattribute13_tab2(i);
17184 l_tattribute14_tab(l_trx_assets_counter) := l_tattribute14_tab2(i);
17185 l_tattribute15_tab(l_trx_assets_counter) := l_tattribute15_tab2(i);
17186 l_tcreated_by_tab(l_trx_assets_counter) := l_tcreated_by_tab2(i);
17187 l_tcreation_date_tab(l_trx_assets_counter) := l_tcreation_date_tab2(i);
17188 l_tlast_updated_by_tab(l_trx_assets_counter) := l_tlast_updated_by_tab2(i);
17189 l_tlast_update_date_tab(l_trx_assets_counter) := l_tlast_update_date_tab2(i);
17190 l_tlast_update_login_tab(l_trx_assets_counter) := l_tlast_update_login_tab2(i);
17191 l_ttsu_code_tab(l_trx_assets_counter) := l_ttsu_code_tab2(i);
17192 l_ttry_id_tab(l_trx_assets_counter) := l_ttry_id_tab2(i);
17193 l_tdate_trans_occurred_tab(l_trx_assets_counter) := l_tdate_trans_occurred_tab2(i);
17194 l_ttrans_number_tab(l_trx_assets_counter) := l_ttrans_number_tab2(i);
17195 l_tcomments_tab(l_trx_assets_counter) := l_tcomments_tab2(i);
17196 l_treq_asset_id_tab(l_trx_assets_counter) := l_treq_asset_id_tab2(i);
17197 l_ttotal_match_amount_tab(l_trx_assets_counter) := l_ttotal_match_amount_tab2(i);
17198 l_torg_id_tab(l_trx_assets_counter) := l_torg_id_tab2(i);
17199 l_tlegal_entity_id_tab(l_trx_assets_counter) := l_tlegal_entity_id_tab2(i);
17200
17201 l_trx_assets_counter := l_trx_assets_counter + 1;
17202 END LOOP;
17203 END LOOP;
17204 CLOSE c17;
17205
17206 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17207 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trx_assets_counter=' || l_trx_assets_counter || ' l_tid_tab.count=' || l_tid_tab.COUNT);
17208 END IF;
17209 IF (l_trx_assets_counter > 1) THEN
17210 forall i IN l_tid_tab.first..l_tid_tab.last
17211 INSERT INTO okl_trx_assets (
17212 id, ica_id, tas_type,
17213 object_version_number, attribute_category, attribute1,
17214 attribute2, attribute3, attribute4,
17215 attribute5, attribute6, attribute7,
17216 attribute8, attribute9, attribute10,
17217 attribute11, attribute12, attribute13,
17218 attribute14, attribute15, created_by,
17219 creation_date, last_updated_by, last_update_date,
17220 last_update_login, tsu_code, try_id,
17221 date_trans_occurred, trans_number, comments,
17222 req_asset_id, total_match_amount, org_id,legal_entity_id
17223 ,transaction_date
17224 ) VALUES (
17225 l_tid_tab(i), l_tica_id_tab(i), p_trans_type,
17226 1, l_tattribute_category_tab(i), l_tattribute1_tab(i),
17227 l_tattribute2_tab(i), l_tattribute3_tab(i), l_tattribute4_tab(i),
17228 l_tattribute5_tab(i), l_tattribute6_tab(i), l_tattribute7_tab(i),
17229 l_tattribute8_tab(i), l_tattribute9_tab(i), l_tattribute10_tab(i),
17230 l_tattribute11_tab(i), l_tattribute12_tab(i), l_tattribute13_tab(i),
17231 l_tattribute14_tab(i), l_tattribute15_tab(i), l_created_by,
17232 SYSDATE, l_last_updated_by, SYSDATE,
17233 l_last_update_login, 'ENTERED', l_ttry_id_tab(i),
17234 SYSDATE, okl_trn_seq.NEXTVAL, l_tcomments_tab(i),
17235 l_treq_asset_id_tab(i), l_ttotal_match_amount_tab(i), l_torg_id_tab(i),l_tlegal_entity_id_tab(i)
17236 ,SYSDATE
17237 );
17238
17239 sort_trx_id_mapping_tab;
17240
17241 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17242 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_assets_b...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
17243 END IF;
17244 l_message := 'OKL_NEW_COPY_TAL_ERROR';
17245 insert_okl_txl_assets_b(p_chr_id, l_copied_id);
17246
17247 END IF;
17248 EXCEPTION WHEN OTHERS THEN
17249
17250 x_return_status := OKL_API.G_RET_STS_ERROR;
17251 /*OKL_API.set_message(p_app_name => 'OKL',
17252 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
17253 p_token1 => 'ASSET_NUMBER',
17254 p_token1_value => 'insert_okl_trx_assets');*/
17255 /* DEBUG */
17256 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17257 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
17258 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_trx_assets:l_tid_tab.count=' || l_tid_tab.COUNT || ' ...');
17259 END IF;
17260 IF (l_tid_tab.COUNT > 0) THEN
17261 FOR i IN l_tid_tab.first..l_tid_tab.last
17262 LOOP
17263 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17264 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tid_tab('||i||')=' || l_tid_tab(i));
17265 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tica_id_tab('||i||')=' || l_tica_id_tab(i));
17266 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute_category_tab('||i||')=' || l_tattribute_category_tab(i));
17267 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute1_tab('||i||')=' || l_tattribute1_tab(i));
17268 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute2_tab('||i||')=' || l_tattribute2_tab(i));
17269 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute3_tab('||i||')=' || l_tattribute3_tab(i));
17270 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute4_tab('||i||')=' || l_tattribute4_tab(i));
17271 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute5_tab('||i||')=' || l_tattribute5_tab(i));
17272 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute6_tab('||i||')=' || l_tattribute6_tab(i));
17273 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute7_tab('||i||')=' || l_tattribute7_tab(i));
17274 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute8_tab('||i||')=' || l_tattribute8_tab(i));
17275 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute9_tab('||i||')=' || l_tattribute9_tab(i));
17276 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute10_tab('||i||')=' || l_tattribute10_tab(i));
17277 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute11_tab('||i||')=' || l_tattribute11_tab(i));
17278 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute12_tab('||i||')=' || l_tattribute12_tab(i));
17279 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute13_tab('||i||')=' || l_tattribute13_tab(i));
17280 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute14_tab('||i||')=' || l_tattribute14_tab(i));
17281 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute15_tab('||i||')=' || l_tattribute15_tab(i));
17282 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ttry_id_tab('||i||')=' || l_ttry_id_tab(i));
17283 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tcomments_tab('||i||')=' || l_tcomments_tab(i));
17284 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_treq_asset_id_tab('||i||')=' || l_treq_asset_id_tab(i));
17285 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ttotal_match_amount_tab('||i||')=' || l_ttotal_match_amount_tab(i));
17286 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_torg_id_tab('||i||')=' || l_torg_id_tab(i));
17287 END IF;
17288 END LOOP;
17289 END IF;
17290
17291 RAISE OKC_API.G_EXCEPTION_ERROR;
17292
17293 END; /* insert_okl_trx_assets */
17294
17295 PROCEDURE insert_okl_trx_assets_2(p_old_id IN okc_k_headers_b.id%TYPE,
17296 p_new_id IN okc_k_headers_b.id%TYPE) IS
17297 CURSOR c17_2(p_id NUMBER) IS
17298 SELECT
17299 id, ica_id, tas_type,
17300 object_version_number, attribute_category, attribute1,
17301 attribute2, attribute3, attribute4,
17302 attribute5, attribute6, attribute7,
17303 attribute8, attribute9, attribute10,
17304 attribute11, attribute12, attribute13,
17305 attribute14, attribute15, created_by,
17306 creation_date, last_updated_by, last_update_date,
17307 last_update_login, tsu_code, try_id,
17308 date_trans_occurred, trans_number, comments,
17309 req_asset_id, total_match_amount, org_id,legal_entity_id
17310 FROM okl_trx_assets
17311 WHERE id IN
17312 (
17313 SELECT tas_id
17314 FROM okl_txl_itm_insts b
17315 WHERE kle_id IN
17316 (SELECT a.id
17317 FROM okc_k_lines_b a,
17318 okc_k_items c
17319 WHERE a.dnz_chr_id = p_id
17320 AND c.dnz_chr_id = p_id
17321 AND c.cle_id = a.id
17322 AND a.lse_id = 45
17323 AND c.object1_id1 IS NULL
17324 AND c.object1_id2 IS NULL)
17325 );
17326
17327 l_t2id_tab2 l_t2id_type;
17328 l_t2ica_id_tab2 l_t2ica_id_type;
17329 l_t2tas_type_tab2 l_t2tas_type_type;
17330 l_t2object_version_number_tab2 l_t2object_version_number_type;
17331 l_t2attribute_category_tab2 l_t2attribute_category_type;
17332 l_t2attribute1_tab2 l_t2attribute1_type;
17333 l_t2attribute2_tab2 l_t2attribute2_type;
17334 l_t2attribute3_tab2 l_t2attribute3_type;
17335 l_t2attribute4_tab2 l_t2attribute4_type;
17336 l_t2attribute5_tab2 l_t2attribute5_type;
17337 l_t2attribute6_tab2 l_t2attribute6_type;
17338 l_t2attribute7_tab2 l_t2attribute7_type;
17339 l_t2attribute8_tab2 l_t2attribute8_type;
17340 l_t2attribute9_tab2 l_t2attribute9_type;
17341 l_t2attribute10_tab2 l_t2attribute10_type;
17342 l_t2attribute11_tab2 l_t2attribute11_type;
17343 l_t2attribute12_tab2 l_t2attribute12_type;
17344 l_t2attribute13_tab2 l_t2attribute13_type;
17345 l_t2attribute14_tab2 l_t2attribute14_type;
17346 l_t2attribute15_tab2 l_t2attribute15_type;
17347 l_t2created_by_tab2 l_t2created_by_type;
17348 l_t2creation_date_tab2 l_t2creation_date_type;
17349 l_t2last_updated_by_tab2 l_t2last_updated_by_type;
17350 l_t2last_update_date_tab2 l_t2last_update_date_type;
17351 l_t2last_update_login_tab2 l_t2last_update_login_type;
17352 l_t2tsu_code_tab2 l_t2tsu_code_type;
17353 l_t2try_id_tab2 l_t2try_id_type;
17354 l_t2date_trans_occurred_tab2 l_t2date_trans_occurred_type;
17355 l_t2trans_number_tab2 l_t2trans_number_type;
17356 l_t2comments_tab2 l_t2comments_type;
17357 l_t2req_asset_id_tab2 l_t2req_asset_id_type;
17358 l_t2total_match_amount_tab2 l_t2total_match_amount_type;
17359 l_t2org_id_tab2 l_t2org_id_type;
17360 l_t2legal_entity_id_tab2 l_t2legal_entity_id_type;
17361
17362 BEGIN
17363 IF (G_DEBUG_ENABLED = 'Y') THEN
17364 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
17365 END IF;
17366 OPEN c17_2(p_old_id);
17367 LOOP
17368 FETCH c17_2 bulk collect INTO
17369 l_t2id_tab2, l_t2ica_id_tab2, l_t2tas_type_tab2,
17370 l_t2object_version_number_tab2, l_t2attribute_category_tab2, l_t2attribute1_tab2,
17371 l_t2attribute2_tab2, l_t2attribute3_tab2, l_t2attribute4_tab2,
17372 l_t2attribute5_tab2, l_t2attribute6_tab2, l_t2attribute7_tab2,
17373 l_t2attribute8_tab2, l_t2attribute9_tab2, l_t2attribute10_tab2,
17374 l_t2attribute11_tab2, l_t2attribute12_tab2, l_t2attribute13_tab2,
17375 l_t2attribute14_tab2, l_t2attribute15_tab2, l_t2created_by_tab2,
17376 l_t2creation_date_tab2, l_t2last_updated_by_tab2, l_t2last_update_date_tab2,
17377 l_t2last_update_login_tab2, l_t2tsu_code_tab2, l_t2try_id_tab2,
17378 l_t2date_trans_occurred_tab2, l_t2trans_number_tab2, l_t2comments_tab2,
17379 l_t2req_asset_id_tab2, l_t2total_match_amount_tab2, l_t2org_id_tab2,l_t2legal_entity_id_tab2
17380 limit G_BULK_SIZE;
17381 EXIT WHEN l_t2id_tab2.COUNT = 0;
17382 FOR i IN l_t2id_tab2.first..l_t2id_tab2.last
17383 LOOP
17384
17385 l_t2id_tab(l_trx_assets_counter2) := l_t2id_tab2(i);
17386 l_trx_id_mapping_tab2(l_trx_assets_counter2).old_id := l_t2id_tab2(i);
17387 -- Change id
17388 l_t2id_tab(l_trx_assets_counter2) := okc_p_util.raw_to_number(sys_guid());
17389 l_trx_id_mapping_tab2(l_trx_assets_counter2).new_id := l_t2id_tab(l_trx_assets_counter2);
17390
17391 l_t2ica_id_tab(l_trx_assets_counter2) := l_t2ica_id_tab2(i);
17392 l_t2tas_type_tab(l_trx_assets_counter2) := l_t2tas_type_tab2(i);
17393 l_t2object_version_number_tab(l_trx_assets_counter2) := l_t2object_version_number_tab2(i);
17394 l_t2attribute_category_tab(l_trx_assets_counter2) := l_t2attribute_category_tab2(i);
17395 l_t2attribute1_tab(l_trx_assets_counter2) := l_t2attribute1_tab2(i);
17396 l_t2attribute2_tab(l_trx_assets_counter2) := l_t2attribute2_tab2(i);
17397 l_t2attribute3_tab(l_trx_assets_counter2) := l_t2attribute3_tab2(i);
17398 l_t2attribute4_tab(l_trx_assets_counter2) := l_t2attribute4_tab2(i);
17399 l_t2attribute5_tab(l_trx_assets_counter2) := l_t2attribute5_tab2(i);
17400 l_t2attribute6_tab(l_trx_assets_counter2) := l_t2attribute6_tab2(i);
17401 l_t2attribute7_tab(l_trx_assets_counter2) := l_t2attribute7_tab2(i);
17402 l_t2attribute8_tab(l_trx_assets_counter2) := l_t2attribute8_tab2(i);
17403 l_t2attribute9_tab(l_trx_assets_counter2) := l_t2attribute9_tab2(i);
17404 l_t2attribute10_tab(l_trx_assets_counter2) := l_t2attribute10_tab2(i);
17405 l_t2attribute11_tab(l_trx_assets_counter2) := l_t2attribute11_tab2(i);
17406 l_t2attribute12_tab(l_trx_assets_counter2) := l_t2attribute12_tab2(i);
17407 l_t2attribute13_tab(l_trx_assets_counter2) := l_t2attribute13_tab2(i);
17408 l_t2attribute14_tab(l_trx_assets_counter2) := l_t2attribute14_tab2(i);
17409 l_t2attribute15_tab(l_trx_assets_counter2) := l_t2attribute15_tab2(i);
17410 l_t2created_by_tab(l_trx_assets_counter2) := l_t2created_by_tab2(i);
17411 l_t2creation_date_tab(l_trx_assets_counter2) := l_t2creation_date_tab2(i);
17412 l_t2last_updated_by_tab(l_trx_assets_counter2) := l_t2last_updated_by_tab2(i);
17413 l_t2last_update_date_tab(l_trx_assets_counter2) := l_t2last_update_date_tab2(i);
17414 l_t2last_update_login_tab(l_trx_assets_counter2) := l_t2last_update_login_tab2(i);
17415 l_t2tsu_code_tab(l_trx_assets_counter2) := l_t2tsu_code_tab2(i);
17416 l_t2try_id_tab(l_trx_assets_counter2) := l_t2try_id_tab2(i);
17417 l_t2date_trans_occurred_tab(l_trx_assets_counter2) := l_t2date_trans_occurred_tab2(i);
17418 l_t2trans_number_tab(l_trx_assets_counter2) := l_t2trans_number_tab2(i);
17419 l_t2comments_tab(l_trx_assets_counter2) := l_t2comments_tab2(i);
17420 l_t2req_asset_id_tab(l_trx_assets_counter2) := l_t2req_asset_id_tab2(i);
17421 l_t2total_match_amount_tab(l_trx_assets_counter2) := l_t2total_match_amount_tab2(i);
17422 l_t2org_id_tab(l_trx_assets_counter2) := l_t2org_id_tab2(i);
17423 l_t2legal_entity_id_tab(l_trx_assets_counter2) := l_t2legal_entity_id_tab2(i);
17424
17425 l_trx_assets_counter2 := l_trx_assets_counter2 + 1;
17426
17427 END LOOP;
17428 END LOOP;
17429 CLOSE c17_2;
17430
17431 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17432 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trx_assets_counter2=' || l_trx_assets_counter2 || ' l_t2id_tab.count=' || l_t2id_tab.COUNT);
17433 END IF;
17434 IF (l_trx_assets_counter2 > 1) THEN
17435 forall i IN l_t2id_tab.first..l_t2id_tab.last
17436 INSERT INTO okl_trx_assets (
17437 id, ica_id, tas_type,
17438 object_version_number, attribute_category, attribute1,
17439 attribute2, attribute3, attribute4,
17440 attribute5, attribute6, attribute7,
17441 attribute8, attribute9, attribute10,
17442 attribute11, attribute12, attribute13,
17443 attribute14, attribute15, created_by,
17444 creation_date, last_updated_by, last_update_date,
17445 last_update_login, tsu_code, try_id,
17446 date_trans_occurred, trans_number, comments,
17447 req_asset_id, total_match_amount, org_id,legal_entity_id
17448 ,transaction_date
17449 ) VALUES (
17450 l_t2id_tab(i), l_t2ica_id_tab(i), p_trans_type,
17451 1, l_t2attribute_category_tab(i), l_t2attribute1_tab(i),
17452 l_t2attribute2_tab(i), l_t2attribute3_tab(i), l_t2attribute4_tab(i),
17453 l_t2attribute5_tab(i), l_t2attribute6_tab(i), l_t2attribute7_tab(i),
17454 l_t2attribute8_tab(i), l_t2attribute9_tab(i), l_t2attribute10_tab(i),
17455 l_t2attribute11_tab(i), l_t2attribute12_tab(i), l_t2attribute13_tab(i),
17456 l_t2attribute14_tab(i), l_t2attribute15_tab(i), l_created_by,
17457 SYSDATE, l_last_updated_by, SYSDATE,
17458 l_last_update_login, 'ENTERED', l_t2try_id_tab(i),
17459 SYSDATE, okl_trn_seq.NEXTVAL, l_t2comments_tab(i),
17460 l_t2req_asset_id_tab(i), l_t2total_match_amount_tab(i), l_t2org_id_tab(i),l_t2legal_entity_id_tab(i)
17461 ,SYSDATE
17462 );
17463
17464 sort_trx_id_mapping_tab2;
17465
17466 END IF;
17467 EXCEPTION WHEN OTHERS THEN
17468
17469 x_return_status := OKL_API.G_RET_STS_ERROR;
17470 /*OKL_API.set_message(p_app_name => 'OKL',
17471 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
17472 p_token1 => 'ASSET_NUMBER',
17473 p_token1_value => 'insert_okl_trx_assets_2');*/
17474 /* DEBUG */
17475 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17476 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
17477 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_trx_assets_2:l_t2id_tab.count=' || l_t2id_tab.COUNT || ' ...');
17478 END IF;
17479 IF (l_t2id_tab.COUNT > 0) THEN
17480 FOR i IN l_t2id_tab.first..l_t2id_tab.last
17481 LOOP
17482 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17483 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2id_tab('||i||')=' || l_t2id_tab(i));
17484 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2ica_id_tab('||i||')=' || l_t2ica_id_tab(i));
17485 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute_category_tab('||i||')=' || l_t2attribute_category_tab(i));
17486 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute1_tab('||i||')=' || l_t2attribute1_tab(i));
17487 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute2_tab('||i||')=' || l_t2attribute2_tab(i));
17488 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute3_tab('||i||')=' || l_t2attribute3_tab(i));
17489 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute4_tab('||i||')=' || l_t2attribute4_tab(i));
17490 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute5_tab('||i||')=' || l_t2attribute5_tab(i));
17491 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute6_tab('||i||')=' || l_t2attribute6_tab(i));
17492 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute7_tab('||i||')=' || l_t2attribute7_tab(i));
17493 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute8_tab('||i||')=' || l_t2attribute8_tab(i));
17494 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute9_tab('||i||')=' || l_t2attribute9_tab(i));
17495 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute10_tab('||i||')=' || l_t2attribute10_tab(i));
17496 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute11_tab('||i||')=' || l_t2attribute11_tab(i));
17497 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute12_tab('||i||')=' || l_t2attribute12_tab(i));
17498 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute13_tab('||i||')=' || l_t2attribute13_tab(i));
17499 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute14_tab('||i||')=' || l_t2attribute14_tab(i));
17500 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute15_tab('||i||')=' || l_t2attribute15_tab(i));
17501 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2try_id_tab('||i||')=' || l_t2try_id_tab(i));
17502 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2comments_tab('||i||')=' || l_t2comments_tab(i));
17503 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2req_asset_id_tab('||i||')=' || l_t2req_asset_id_tab(i));
17504 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2total_match_amount_tab('||i||')=' || l_t2total_match_amount_tab(i));
17505 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2org_id_tab('||i||')=' || l_t2org_id_tab(i));
17506 END IF;
17507 END LOOP;
17508 END IF;
17509
17510 RAISE OKC_API.G_EXCEPTION_ERROR;
17511
17512 END; /* insert_okl_trx_assets_2 */
17513
17514 -- AKP: Delete this function from here. And use
17515 -- okl_copy_asset_pvt.generate_instance_number_ib instead
17516
17517 FUNCTION generate_instance_number_ib(x_instance_number_ib OUT NOCOPY OKL_TXL_ITM_INSTS_V.INSTANCE_NUMBER_IB%TYPE)
17518 RETURN VARCHAR2 IS
17519 x_return_status VARCHAR2(3) := OKL_API.G_RET_STS_SUCCESS;
17520 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
17521 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXP_ERROR';
17522 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
17523 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
17524 -- cursor to get sequence number for asset number
17525 CURSOR c_instance_no_ib IS
17526 SELECT TO_CHAR(OKL_IBN_SEQ.NEXTVAL)
17527 FROM dual;
17528 BEGIN
17529 OPEN c_instance_no_ib;
17530 FETCH c_instance_no_ib INTO x_instance_number_ib;
17531 IF (c_instance_no_ib%NOTFOUND) THEN
17532 x_return_status := OKC_API.G_RET_STS_ERROR;
17533 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
17534 p_msg_name => g_unexpected_error,
17535 p_token1 => g_sqlcode_token,
17536 p_token1_value => SQLCODE,
17537 p_token2 => g_sqlerrm_token,
17538 p_token2_value => SQLERRM);
17539 END IF;
17540 CLOSE c_instance_no_ib;
17541 RETURN x_return_status;
17542 EXCEPTION
17543 WHEN OTHERS THEN
17544 IF c_instance_no_ib%ISOPEN THEN
17545 CLOSE c_instance_no_ib;
17546 END IF;
17547 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
17548 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
17549 p_msg_name => g_unexpected_error,
17550 p_token1 => g_sqlcode_token,
17551 p_token1_value => SQLCODE,
17552 p_token2 => g_sqlerrm_token,
17553 p_token2_value => SQLERRM);
17554 RETURN x_return_status;
17555 END generate_instance_number_ib;
17556
17557 PROCEDURE insert_okl_txl_itm_insts(p_old_id IN okc_k_headers_b.id%TYPE,
17558 p_new_id IN okc_k_headers_b.id%TYPE) IS
17559 CURSOR c22(p_id NUMBER) IS
17560 SELECT
17561 p.id, p.object_version_number, p.tas_id,
17562 p.tal_id, p.kle_id, p.tal_type,
17563 p.line_number, p.instance_number_ib, p.object_id1_new,
17564 p.object_id2_new, p.jtot_object_code_new, p.object_id1_old,
17565 p.object_id2_old, p.jtot_object_code_old, p.inventory_org_id,
17566 p.serial_number, p.mfg_serial_number_yn, p.inventory_item_id,
17567 p.inv_master_org_id, p.attribute_category, p.attribute1,
17568 p.attribute2, p.attribute3, p.attribute4,
17569 p.attribute5, p.attribute6, p.attribute7,
17570 p.attribute8, p.attribute9, p.attribute10,
17571 p.attribute11, p.attribute12, p.attribute13,
17572 p.attribute14, p.attribute15, p.created_by,
17573 p.creation_date, p.last_updated_by, p.last_update_date,
17574 p.last_update_login, p.dnz_cle_id, p.instance_id,
17575 p.selected_for_split_flag, p.asd_id
17576 FROM okl_txl_itm_insts p
17577 WHERE p.kle_id IN
17578 (
17579 SELECT a.id
17580 FROM okc_k_lines_b a,
17581 okc_k_items c
17582 WHERE a.dnz_chr_id = p_id
17583 AND c.dnz_chr_id = p_id
17584 AND c.cle_id = a.id
17585 AND a.lse_id = 45
17586 AND c.object1_id1 IS NULL
17587 AND c.object1_id2 IS NULL
17588 );
17589
17590 l_tiid_tab2 l_tiid_type;
17591 l_tiobject_version_number_tab2 l_tiobject_version_number_type;
17592 l_titas_id_tab2 l_titas_id_type;
17593 l_tital_id_tab2 l_tital_id_type;
17594 l_tikle_id_tab2 l_tikle_id_type;
17595 l_tital_type_tab2 l_tital_type_type;
17596 l_tiline_number_tab2 l_tiline_number_type;
17597 l_tiinstance_number_ib_tab2 l_tiinstance_number_ib_type;
17598 l_tiobject_id1_new_tab2 l_tiobject_id1_new_type;
17599 l_tiobject_id2_new_tab2 l_tiobject_id2_new_type;
17600 l_tijtot_object_code_new_tab2 l_tijtot_object_code_new_type;
17601 l_tiobject_id1_old_tab2 l_tiobject_id1_old_type;
17602 l_tiobject_id2_old_tab2 l_tiobject_id2_old_type;
17603 l_tijtot_object_code_old_tab2 l_tijtot_object_code_old_type;
17604 l_tiinventory_org_id_tab2 l_tiinventory_org_id_type;
17605 l_tiserial_number_tab2 l_tiserial_number_type;
17606 l_timfg_serial_number_yn_tab2 l_timfg_serial_number_yn_type;
17607 l_tiinventory_item_id_tab2 l_tiinventory_item_id_type;
17608 l_tiinv_master_org_id_tab2 l_tiinv_master_org_id_type;
17609 l_tiattribute_category_tab2 l_tiattribute_category_type;
17610 l_tiattribute1_tab2 l_tiattribute1_type;
17611 l_tiattribute2_tab2 l_tiattribute2_type;
17612 l_tiattribute3_tab2 l_tiattribute3_type;
17613 l_tiattribute4_tab2 l_tiattribute4_type;
17614 l_tiattribute5_tab2 l_tiattribute5_type;
17615 l_tiattribute6_tab2 l_tiattribute6_type;
17616 l_tiattribute7_tab2 l_tiattribute7_type;
17617 l_tiattribute8_tab2 l_tiattribute8_type;
17618 l_tiattribute9_tab2 l_tiattribute9_type;
17619 l_tiattribute10_tab2 l_tiattribute10_type;
17620 l_tiattribute11_tab2 l_tiattribute11_type;
17621 l_tiattribute12_tab2 l_tiattribute12_type;
17622 l_tiattribute13_tab2 l_tiattribute13_type;
17623 l_tiattribute14_tab2 l_tiattribute14_type;
17624 l_tiattribute15_tab2 l_tiattribute15_type;
17625 l_ticreated_by_tab2 l_ticreated_by_type;
17626 l_ticreation_date_tab2 l_ticreation_date_type;
17627 l_tilast_updated_by_tab2 l_tilast_updated_by_type;
17628 l_tilast_update_date_tab2 l_tilast_update_date_type;
17629 l_tilast_update_login_tab2 l_tilast_update_login_type;
17630 l_tidnz_cle_id_tab2 l_tidnz_cle_id_type;
17631 l_tiinstance_id_tab2 l_tiinstance_id_type;
17632 l_tiselected_for_split_fl_tab2 l_tiselected_for_split_fl_type;
17633 l_tiasd_id_tab2 l_tiasd_id_type;
17634
17635 l_new_tas_id NUMBER;
17636 l_new_tal_id NUMBER;
17637 l_new_kle_id NUMBER;
17638 l_new_dnz_cle_id NUMBER;
17639 l_new_asset_name VARCHAR2(150);
17640 l_generated_instance_number_ib NUMBER;
17641 l_return_status VARCHAR2(30);
17642
17643 BEGIN
17644 IF (G_DEBUG_ENABLED = 'Y') THEN
17645 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
17646 END IF;
17647 OPEN c22(p_old_id);
17648 LOOP
17649 FETCH c22 bulk collect INTO
17650 l_tiid_tab2, l_tiobject_version_number_tab2, l_titas_id_tab2,
17651 l_tital_id_tab2, l_tikle_id_tab2, l_tital_type_tab2,
17652 l_tiline_number_tab2, l_tiinstance_number_ib_tab2, l_tiobject_id1_new_tab2,
17653 l_tiobject_id2_new_tab2, l_tijtot_object_code_new_tab2, l_tiobject_id1_old_tab2,
17654 l_tiobject_id2_old_tab2, l_tijtot_object_code_old_tab2, l_tiinventory_org_id_tab2,
17655 l_tiserial_number_tab2, l_timfg_serial_number_yn_tab2, l_tiinventory_item_id_tab2,
17656 l_tiinv_master_org_id_tab2, l_tiattribute_category_tab2, l_tiattribute1_tab2,
17657 l_tiattribute2_tab2, l_tiattribute3_tab2, l_tiattribute4_tab2,
17658 l_tiattribute5_tab2, l_tiattribute6_tab2, l_tiattribute7_tab2,
17659 l_tiattribute8_tab2, l_tiattribute9_tab2, l_tiattribute10_tab2,
17660 l_tiattribute11_tab2, l_tiattribute12_tab2, l_tiattribute13_tab2,
17661 l_tiattribute14_tab2, l_tiattribute15_tab2, l_ticreated_by_tab2,
17662 l_ticreation_date_tab2, l_tilast_updated_by_tab2, l_tilast_update_date_tab2,
17663 l_tilast_update_login_tab2, l_tidnz_cle_id_tab2, l_tiinstance_id_tab2,
17664 l_tiselected_for_split_fl_tab2, l_tiasd_id_tab2
17665 limit G_BULK_SIZE;
17666 EXIT WHEN l_tiid_tab2.COUNT = 0;
17667 FOR i IN l_tiid_tab2.first..l_tiid_tab2.last
17668 LOOP
17669
17670 l_tiid_tab(l_txl_itm_insts_counter) := l_tiid_tab2(i);
17671 -- Change id
17672 l_tiid_tab(l_txl_itm_insts_counter) := okc_p_util.raw_to_number(sys_guid());
17673
17674 l_tiobject_version_number_tab(l_txl_itm_insts_counter) := l_tiobject_version_number_tab2(i);
17675 l_titas_id_tab(l_txl_itm_insts_counter) := l_titas_id_tab2(i);
17676 -- Change tas_id
17677 l_new_tas_id := find_trx_mapping_id2(l_titas_id_tab(l_txl_itm_insts_counter));
17678 l_titas_id_tab(l_txl_itm_insts_counter) := l_new_tas_id;
17679
17680 l_tital_id_tab(l_txl_itm_insts_counter) := l_tital_id_tab2(i);
17681 -- Change tal_id
17682 --l_new_tal_id := find_txl_mapping_id(l_tital_id_tab(l_txl_itm_insts_counter));
17683 --l_tital_id_tab(l_txl_itm_insts_counter) := l_new_tal_id;
17684 l_new_tal_id := NULL;
17685
17686 l_tikle_id_tab(l_txl_itm_insts_counter) := l_tikle_id_tab2(i);
17687 -- Change kle_id
17688 l_new_kle_id := find_mapping_id(l_tikle_id_tab(l_txl_itm_insts_counter));
17689 IF (l_new_kle_id = -1) THEN
17690 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17691 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_tikle_id_tab(l_txl_itm_insts_counter));
17692 END IF;
17693 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
17694 END IF;
17695 l_tikle_id_tab(l_txl_itm_insts_counter) := l_new_kle_id;
17696
17697 l_tital_type_tab(l_txl_itm_insts_counter) := l_tital_type_tab2(i);
17698 l_tiline_number_tab(l_txl_itm_insts_counter) := l_tiline_number_tab2(i);
17699 l_tiinstance_number_ib_tab(l_txl_itm_insts_counter) := l_tiinstance_number_ib_tab2(i);
17700
17701 -- Change instance_number_ib
17702 --print('Old asset_name: ' || l_tiinstance_number_ib_tab(l_txl_itm_insts_counter));
17703 --l_new_asset_name := find_aid_mapping_id(l_tiinstance_number_ib_tab(l_txl_itm_insts_counter));
17704 -- To do: expose okl_copy_asset_pvt.generate_instance_number_ib
17705 -- Use the package call instead
17706 l_return_status := generate_instance_number_ib(l_generated_instance_number_ib);
17707 IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
17708 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
17709 ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
17710 RAISE OKL_API.G_EXCEPTION_ERROR;
17711 END IF;
17712
17713 l_tiinstance_number_ib_tab(l_txl_itm_insts_counter) := l_generated_instance_number_ib;
17714
17715 l_tiobject_id1_new_tab(l_txl_itm_insts_counter) := l_tiobject_id1_new_tab2(i);
17716 l_tiobject_id2_new_tab(l_txl_itm_insts_counter) := l_tiobject_id2_new_tab2(i);
17717 l_tijtot_object_code_new_tab(l_txl_itm_insts_counter) := l_tijtot_object_code_new_tab2(i);
17718 l_tiobject_id1_old_tab(l_txl_itm_insts_counter) := l_tiobject_id1_old_tab2(i);
17719 l_tiobject_id2_old_tab(l_txl_itm_insts_counter) := l_tiobject_id2_old_tab2(i);
17720 l_tijtot_object_code_old_tab(l_txl_itm_insts_counter) := l_tijtot_object_code_old_tab2(i);
17721 l_tiinventory_org_id_tab(l_txl_itm_insts_counter) := l_tiinventory_org_id_tab2(i);
17722 l_tiserial_number_tab(l_txl_itm_insts_counter) := l_tiserial_number_tab2(i);
17723 l_timfg_serial_number_yn_tab(l_txl_itm_insts_counter) := l_timfg_serial_number_yn_tab2(i);
17724 l_tiinventory_item_id_tab(l_txl_itm_insts_counter) := l_tiinventory_item_id_tab2(i);
17725 l_tiinv_master_org_id_tab(l_txl_itm_insts_counter) := l_tiinv_master_org_id_tab2(i);
17726 l_tiattribute_category_tab(l_txl_itm_insts_counter) := l_tiattribute_category_tab2(i);
17727 l_tiattribute1_tab(l_txl_itm_insts_counter) := l_tiattribute1_tab2(i);
17728 l_tiattribute2_tab(l_txl_itm_insts_counter) := l_tiattribute2_tab2(i);
17729 l_tiattribute3_tab(l_txl_itm_insts_counter) := l_tiattribute3_tab2(i);
17730 l_tiattribute4_tab(l_txl_itm_insts_counter) := l_tiattribute4_tab2(i);
17731 l_tiattribute5_tab(l_txl_itm_insts_counter) := l_tiattribute5_tab2(i);
17732 l_tiattribute6_tab(l_txl_itm_insts_counter) := l_tiattribute6_tab2(i);
17733 l_tiattribute7_tab(l_txl_itm_insts_counter) := l_tiattribute7_tab2(i);
17734 l_tiattribute8_tab(l_txl_itm_insts_counter) := l_tiattribute8_tab2(i);
17735 l_tiattribute9_tab(l_txl_itm_insts_counter) := l_tiattribute9_tab2(i);
17736 l_tiattribute10_tab(l_txl_itm_insts_counter) := l_tiattribute10_tab2(i);
17737 l_tiattribute11_tab(l_txl_itm_insts_counter) := l_tiattribute11_tab2(i);
17738 l_tiattribute12_tab(l_txl_itm_insts_counter) := l_tiattribute12_tab2(i);
17739 l_tiattribute13_tab(l_txl_itm_insts_counter) := l_tiattribute13_tab2(i);
17740 l_tiattribute14_tab(l_txl_itm_insts_counter) := l_tiattribute14_tab2(i);
17741 l_tiattribute15_tab(l_txl_itm_insts_counter) := l_tiattribute15_tab2(i);
17742 l_ticreated_by_tab(l_txl_itm_insts_counter) := l_ticreated_by_tab2(i);
17743 l_ticreation_date_tab(l_txl_itm_insts_counter) := l_ticreation_date_tab2(i);
17744 l_tilast_updated_by_tab(l_txl_itm_insts_counter) := l_tilast_updated_by_tab2(i);
17745 l_tilast_update_date_tab(l_txl_itm_insts_counter) := l_tilast_update_date_tab2(i);
17746 l_tilast_update_login_tab(l_txl_itm_insts_counter) := l_tilast_update_login_tab2(i);
17747 l_tidnz_cle_id_tab(l_txl_itm_insts_counter) := l_tidnz_cle_id_tab2(i);
17748 -- Change dnz_cle_id ??? AKP
17749 l_new_dnz_cle_id := find_mapping_id(l_tidnz_cle_id_tab(l_txl_itm_insts_counter));
17750 /*if (l_new_dnz_cle_id = -1) then
17751 print('ERROR : Mapping id not found for ' || l_tidnz_cle_id_tab(l_txl_itm_insts_counter));
17752 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
17753 end if;*/
17754 l_tidnz_cle_id_tab(l_txl_itm_insts_counter) := l_new_dnz_cle_id;
17755
17756 l_tiinstance_id_tab(l_txl_itm_insts_counter) := l_tiinstance_id_tab2(i);
17757 l_tiselected_for_split_fl_tab(l_txl_itm_insts_counter) := l_tiselected_for_split_fl_tab2(i);
17758 l_tiasd_id_tab(l_txl_itm_insts_counter) := l_tiasd_id_tab2(i);
17759
17760 l_txl_itm_insts_counter := l_txl_itm_insts_counter + 1;
17761
17762 END LOOP;
17763 END LOOP;
17764 CLOSE c22;
17765
17766 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17767 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txl_itm_insts_counter=' || l_txl_itm_insts_counter || ' l_tiid_tab.count=' || l_tiid_tab.COUNT);
17768 END IF;
17769 IF (l_txl_itm_insts_counter > 1) THEN
17770 forall i IN l_tiid_tab.first..l_tiid_tab.last
17771 INSERT INTO okl_txl_itm_insts (
17772 id, object_version_number, tas_id,
17773 tal_id, kle_id, tal_type,
17774 line_number, instance_number_ib, object_id1_new,
17775 object_id2_new, jtot_object_code_new, object_id1_old,
17776 object_id2_old, jtot_object_code_old, inventory_org_id,
17777 serial_number, mfg_serial_number_yn, inventory_item_id,
17778 inv_master_org_id, attribute_category, attribute1,
17779 attribute2, attribute3, attribute4,
17780 attribute5, attribute6, attribute7,
17781 attribute8, attribute9, attribute10,
17782 attribute11, attribute12, attribute13,
17783 attribute14, attribute15, created_by,
17784 creation_date, last_updated_by, last_update_date,
17785 last_update_login, dnz_cle_id, instance_id,
17786 selected_for_split_flag, asd_id
17787 ) VALUES (
17788 l_tiid_tab(i), 1, l_titas_id_tab(i),
17789 l_tital_id_tab(i), l_tikle_id_tab(i), p_trans_type,
17790 l_tiline_number_tab(i), l_tiinstance_number_ib_tab(i), l_tiobject_id1_new_tab(i),
17791 l_tiobject_id2_new_tab(i), l_tijtot_object_code_new_tab(i), l_tiobject_id1_old_tab(i),
17792 l_tiobject_id2_old_tab(i), l_tijtot_object_code_old_tab(i), l_tiinventory_org_id_tab(i),
17793 l_tiserial_number_tab(i), l_timfg_serial_number_yn_tab(i), l_tiinventory_item_id_tab(i),
17794 l_tiinv_master_org_id_tab(i), l_tiattribute_category_tab(i), l_tiattribute1_tab(i),
17795 l_tiattribute2_tab(i), l_tiattribute3_tab(i), l_tiattribute4_tab(i),
17796 l_tiattribute5_tab(i), l_tiattribute6_tab(i), l_tiattribute7_tab(i),
17797 l_tiattribute8_tab(i), l_tiattribute9_tab(i), l_tiattribute10_tab(i),
17798 l_tiattribute11_tab(i), l_tiattribute12_tab(i), l_tiattribute13_tab(i),
17799 l_tiattribute14_tab(i), l_tiattribute15_tab(i), l_created_by,
17800 SYSDATE, l_last_updated_by, SYSDATE,
17801 l_last_update_login, l_tidnz_cle_id_tab(i), l_tiinstance_id_tab(i),
17802 l_tiselected_for_split_fl_tab(i), l_tiasd_id_tab(i)
17803 );
17804 END IF;
17805 EXCEPTION WHEN OTHERS THEN
17806
17807 x_return_status := OKL_API.G_RET_STS_ERROR;
17808 /*OKL_API.set_message(p_app_name => 'OKL',
17809 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
17810 p_token1 => 'ASSET_NUMBER',
17811 p_token1_value => 'insert_okl_txl_itm_insts');*/
17812 /* DEBUG */
17813 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17814 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
17815 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_txl_itm_insts:l_tiid_tab.count=' || l_tiid_tab.COUNT || ' ...');
17816 END IF;
17817 IF (l_tiid_tab.COUNT > 0) THEN
17818 FOR i IN l_tiid_tab.first..l_tiid_tab.last
17819 LOOP
17820 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17821 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiid_tab('||i||')=' || l_tiid_tab(i));
17822 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_titas_id_tab('||i||')=' || l_titas_id_tab(i));
17823 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tital_id_tab('||i||')=' || l_tital_id_tab(i));
17824 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tikle_id_tab('||i||')=' || l_tikle_id_tab(i));
17825 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiline_number_tab('||i||')=' || l_tiline_number_tab(i));
17826 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinstance_number_ib_tab('||i||')=' || l_tiinstance_number_ib_tab(i));
17827 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiobject_id1_new_tab('||i||')=' || l_tiobject_id1_new_tab(i));
17828 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiobject_id2_new_tab('||i||')=' || l_tiobject_id2_new_tab(i));
17829 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tijtot_object_code_new_tab('||i||')=' || l_tijtot_object_code_new_tab(i));
17830 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiobject_id1_old_tab('||i||')=' || l_tiobject_id1_old_tab(i));
17831 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiobject_id2_old_tab('||i||')=' || l_tiobject_id2_old_tab(i));
17832 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tijtot_object_code_old_tab('||i||')=' || l_tijtot_object_code_old_tab(i));
17833 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinventory_org_id_tab('||i||')=' || l_tiinventory_org_id_tab(i));
17834 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiserial_number_tab('||i||')=' || l_tiserial_number_tab(i));
17835 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_timfg_serial_number_yn_tab('||i||')=' || l_timfg_serial_number_yn_tab(i));
17836 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinventory_item_id_tab('||i||')=' || l_tiinventory_item_id_tab(i));
17837 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinv_master_org_id_tab('||i||')=' || l_tiinv_master_org_id_tab(i));
17838 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute_category_tab('||i||')=' || l_tiattribute_category_tab(i));
17839 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute1_tab('||i||')=' || l_tiattribute1_tab(i));
17840 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute2_tab('||i||')=' || l_tiattribute2_tab(i));
17841 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute3_tab('||i||')=' || l_tiattribute3_tab(i));
17842 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute4_tab('||i||')=' || l_tiattribute4_tab(i));
17843 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute5_tab('||i||')=' || l_tiattribute5_tab(i));
17844 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute6_tab('||i||')=' || l_tiattribute6_tab(i));
17845 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute7_tab('||i||')=' || l_tiattribute7_tab(i));
17846 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute8_tab('||i||')=' || l_tiattribute8_tab(i));
17847 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute9_tab('||i||')=' || l_tiattribute9_tab(i));
17848 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute10_tab('||i||')=' || l_tiattribute10_tab(i));
17849 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute11_tab('||i||')=' || l_tiattribute11_tab(i));
17850 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute12_tab('||i||')=' || l_tiattribute12_tab(i));
17851 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute13_tab('||i||')=' || l_tiattribute13_tab(i));
17852 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute14_tab('||i||')=' || l_tiattribute14_tab(i));
17853 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute15_tab('||i||')=' || l_tiattribute15_tab(i));
17854 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tidnz_cle_id_tab('||i||')=' || l_tidnz_cle_id_tab(i));
17855 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinstance_id_tab('||i||')=' || l_tiinstance_id_tab(i));
17856 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiselected_for_split_fl_tab('||i||')=' || l_tiselected_for_split_fl_tab(i));
17857 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiasd_id_tab('||i||')=' || l_tiasd_id_tab(i));
17858 END IF;
17859 END LOOP;
17860 END IF;
17861
17862 RAISE OKC_API.G_EXCEPTION_ERROR;
17863
17864 END; /* insert_okl_txl_itm_insts */
17865
17866 PROCEDURE get_orig_depreciation_cost( p_fa_cost IN NUMBER,
17867 x_original_cost OUT NOCOPY NUMBER,
17868 x_depreciable_cost OUT NOCOPY NUMBER) IS
17869 l_func_currency VARCHAR2(15);
17870 l_k_currency VARCHAR2(15);
17871 x_contract_currency VARCHAR2(15);
17872 x_currency_conversion_type okl_txl_assets_b.currency_conversion_type%TYPE;
17873 x_currency_conversion_rate okl_txl_assets_b.currency_conversion_rate%TYPE;
17874 x_currency_conversion_date okl_txl_assets_b.currency_conversion_date%TYPE;
17875 l_converted_cost NUMBER;
17876 BEGIN
17877 IF (G_DEBUG_ENABLED = 'Y') THEN
17878 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
17879 END IF;
17880 l_func_currency := OKL_ACCOUNTING_UTIL.get_func_curr_code;
17881 l_k_currency := l_contract_currency;
17882
17883 IF (l_func_currency = l_k_currency) THEN
17884 x_original_cost := p_fa_cost;
17885 x_depreciable_cost := p_fa_cost;
17886 ELSE
17887 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17888 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_khr_id='||l_copied_id || ' p_from_currency='||l_func_currency || ' p_transaction_date='||l_contract_start_date);
17889 END IF;
17890 okl_accounting_util.convert_to_contract_currency(
17891 p_khr_id => l_copied_id,
17892 p_from_currency => l_func_currency,
17893 p_transaction_date => l_contract_start_date,
17894 p_amount => p_fa_cost,
17895 x_contract_currency => x_contract_currency,
17896 x_currency_conversion_type => x_currency_conversion_type,
17897 x_currency_conversion_rate => x_currency_conversion_rate,
17898 x_currency_conversion_date => x_currency_conversion_date,
17899 x_converted_amount => l_converted_cost);
17900 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17901 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_fa_cost='|| p_fa_cost || ' l_converted_cost='||l_converted_cost);
17902 END IF;
17903 IF (p_fa_cost >= 0) AND (l_converted_cost < 0) THEN
17904 --currency conversion rate was not found in Oracle GL
17905 OKC_API.set_message(p_app_name => 'OKL_COPY_CONTRACT_PVT',
17906 p_msg_name => 'OKL_LLA_CONV_RATE_NOT_FOUND',
17907 p_token1 => 'FROM_CURRENCY',
17908 p_token1_value => x_contract_currency,
17909 p_token2 => 'TO_CURRENCY',
17910 p_token2_value => l_func_currency,
17911 p_token3 => 'CONVERSION_TYPE',
17912 p_token3_value => x_currency_conversion_type,
17913 p_token4 => 'CONVERSION_DATE',
17914 p_token4_value => TO_CHAR(x_currency_conversion_date,'DD-MON-YYYY'));
17915 RAISE OKL_API.G_EXCEPTION_ERROR;
17916 END IF;
17917 x_original_cost := l_converted_cost;
17918 x_depreciable_cost := l_converted_cost;
17919 END IF;
17920
17921 END; /* get_orig_depreciation_cost */
17922
17923 PROCEDURE get_deprn_details(p_deprn_method_code IN fa_books.deprn_method_code%TYPE,
17924 p_life_in_months IN fa_books.life_in_months%TYPE,
17925 p_adjusted_rate IN fa_books.adjusted_rate%TYPE, --vthiruva bug#4439068.
17926 x_deprn_rate OUT NOCOPY fa_books.adjusted_rate%TYPE,
17927 x_life_in_months OUT NOCOPY fa_books.life_in_months%TYPE)
17928 IS
17929 --cursors
17930 CURSOR l_life_in_months_csr (p_deprn_method IN VARCHAR2,
17931 p_life_in_months IN NUMBER) IS
17932 SELECT 'Y'
17933 FROM fa_methods
17934 WHERE method_code = p_deprn_method
17935 AND life_in_months = p_life_in_months
17936 AND life_in_months IS NOT NULL;
17937
17938 CURSOR l_rate_csr (p_deprn_method IN VARCHAR2,
17939 p_rate IN NUMBER) IS
17940 SELECT 'Y'
17941 FROM fa_flat_rates ffr,
17942 fa_methods fm
17943 WHERE fm.method_code = p_deprn_method
17944 AND ffr.method_id = fm.method_id
17945 AND ffr.adjusted_rate = p_rate
17946 AND ffr.adjusting_rate = 0;
17947
17948 l_life_in_months_exists VARCHAR2(1);
17949
17950 l_rate_exists VARCHAR2(1);
17951
17952 BEGIN
17953 --logic
17954 l_life_in_months_exists := 'N';
17955 OPEN l_life_in_months_csr(p_deprn_method => p_deprn_method_code,
17956 p_life_in_months => p_life_in_months);
17957 FETCH l_life_in_months_csr INTO l_life_in_months_exists;
17958 IF l_life_in_months_csr%NOTFOUND THEN
17959 NULL;
17960 END IF;
17961 CLOSE l_life_in_months_csr;
17962
17963 IF l_life_in_months_exists = 'Y' THEN
17964 x_life_in_months := p_life_in_months;
17965 x_deprn_rate := NULL;
17966 ELSIF l_life_in_months_exists = 'N' THEN
17967 l_rate_exists := 'N';
17968 OPEN l_rate_csr (p_deprn_method => p_deprn_method_code,
17969 p_rate => p_adjusted_rate);
17970 FETCH l_rate_csr INTO l_rate_exists;
17971 IF l_rate_csr%NOTFOUND THEN
17972 NULL;
17973 END IF;
17974 CLOSE l_rate_csr;
17975 IF l_rate_exists = 'Y' THEN
17976 x_deprn_rate := p_adjusted_rate;
17977 x_life_in_months := NULL;
17978 END IF;
17979 END IF;
17980
17981 END; /* get_deprn_details */
17982
17983 PROCEDURE get_salvage_value(
17984 p_salvage_value IN fa_books.salvage_value%TYPE,
17985 p_percent_salvage_value IN fa_books.percent_salvage_value%TYPE,
17986 x_salvage_value OUT NOCOPY fa_books.salvage_value%TYPE,
17987 x_percent_salvage_value OUT NOCOPY fa_books.percent_salvage_value%TYPE) IS
17988
17989 l_func_currency VARCHAR2(15);
17990 l_k_currency VARCHAR2(15);
17991 x_contract_currency VARCHAR2(15);
17992 x_currency_conversion_type okl_txl_assets_b.currency_conversion_type%TYPE;
17993 x_currency_conversion_rate okl_txl_assets_b.currency_conversion_rate%TYPE;
17994 x_currency_conversion_date okl_txl_assets_b.currency_conversion_date%TYPE;
17995 l_salvage_value NUMBER;
17996 BEGIN
17997 l_func_currency := OKL_ACCOUNTING_UTIL.get_func_curr_code;
17998 l_k_currency := l_contract_currency;
17999
18000 IF (p_percent_salvage_value IS NULL) THEN
18001 IF (l_k_currency <> l_func_currency) THEN
18002 x_salvage_value := NULL;
18003 okl_accounting_util.convert_to_contract_currency(
18004 p_khr_id => l_copied_id,
18005 p_from_currency => l_func_currency,
18006 p_transaction_date => l_contract_start_date,
18007 p_amount => p_salvage_value,
18008 x_contract_currency => x_contract_currency,
18009 x_currency_conversion_type => x_currency_conversion_type,
18010 x_currency_conversion_rate => x_currency_conversion_rate,
18011 x_currency_conversion_date => x_currency_conversion_date,
18012 x_converted_amount => l_salvage_value);
18013 IF (p_salvage_value >= 0) AND (l_salvage_value < 0) THEN
18014 --currency conversion rate was not found in Oracle GL
18015 OKC_API.set_message(p_app_name => 'OKL_COPY_CONTRACT_PVT',
18016 p_msg_name => 'OKL_LLA_CONV_RATE_NOT_FOUND',
18017 p_token1 => 'FROM_CURRENCY',
18018 p_token1_value => x_contract_currency,
18019 p_token2 => 'TO_CURRENCY',
18020 p_token2_value => l_func_currency,
18021 p_token3 => 'CONVERSION_TYPE',
18022 p_token3_value => x_currency_conversion_type,
18023 p_token4 => 'CONVERSION_DATE',
18024 p_token4_value => TO_CHAR(x_currency_conversion_date,'DD-MON-YYYY'));
18025 RAISE OKL_API.G_EXCEPTION_ERROR;
18026 END IF;
18027 x_salvage_value := l_salvage_value;
18028 --x_percent_salvage_value := null;
18029 ELSE
18030 x_salvage_value := p_salvage_value;
18031 --x_percent_salvage_value := null;
18032 END IF;
18033 ELSE
18034 x_percent_salvage_value := p_percent_salvage_value * 100;
18035 END IF;
18036
18037 END; /* get_salvage_value */
18038
18039 PROCEDURE insert_okl_trx_assets_3(p_old_id IN okc_k_headers_b.id%TYPE,
18040 p_new_id IN okc_k_headers_b.id%TYPE) IS
18041 CURSOR c27(p_id NUMBER) IS
18042 SELECT
18043 fa.asset_id ID1,
18044 '#' ID2,
18045 fa.asset_number NAME,
18046 fat.description DESCRIPTION,
18047 fa.Asset_Id ASSET_ID,
18048 fa.Asset_Number ASSET_NUMBER,
18049 fb.book_type_code BOOK_TYPE_CODE,
18050 fb.life_in_months LIFE_IN_MONTHS,
18051 fb.original_cost ORIGINAL_COST,
18052 fb.cost COST,
18053 fb.adjusted_cost ADJUSTED_COST,
18054 fa.tag_number TAG_NUMBER,
18055 fa.current_units CURRENT_UNITS,
18056 fa.serial_number SERIAL_NUMBER,
18057 fb.reval_ceiling REVAL_CEILING,
18058 fa.new_used NEW_USED,
18059 fb.date_placed_in_service IN_SERVICE_DATE,
18060 fa.manufacturer_name MANUFACTURER_NAME,
18061 fa.model_number MODEL_NUMBER,
18062 fa.asset_type ASSET_TYPE,
18063 fb.salvage_value SALVAGE_VALUE,
18064 fb.percent_salvage_value PERCENT_SALVAGE_VALUE,
18065 fa.asset_category_id DEPRECIATION_CATEGORY,
18066 fb.deprn_start_date DEPR_START_DATE,
18067 fb.deprn_method_code DEPRN_METHOD_CODE,
18068 fb.rate_adjustment_factor RATE_ADJUSTMENT_FACTOR,
18069 fb.basic_rate BASIC_RATE,
18070 fb.adjusted_rate ADJUSTED_RATE,
18071 fb.Date_effective START_DATE_ACTIVE,
18072 fb.Date_ineffective END_DATE_ACTIVE,
18073 DECODE(SIGN(TRUNC(SYSDATE)-NVL(fb.date_effective,TRUNC(SYSDATE))),-1,'I', DECODE(SIGN(TRUNC(SYSDATE) - NVL(fb.date_ineffective,TRUNC(SYSDATE))), 1,'I','A ')) STATUS,
18074 NULL PRIMARY_UOM_CODE,
18075 fb.recoverable_cost RECOVERABLE_COST,
18076 fbc.org_id ORG_ID,
18077 fbc.set_of_books_id SET_OF_BOOKS_ID,
18078 fa.property_type_code PROPERTY_TYPE_CODE,
18079 fa.property_1245_1250_code PROPERTY_1245_1250_CODE,
18080 fa.in_use_flag IN_USE_FLAG,
18081 fa.owned_leased OWNED_LEASED,
18082 fa.inventorial INVENTORIAL,
18083 fa.ASSET_KEY_CCID ASSET_KEY_CCID,
18084 fbc.book_class book_class ,
18085 b.id,
18086 b.cle_id
18087 FROM FA_BOOK_CONTROLS FBC,
18088 FA_BOOKS FB,
18089 FA_ADDITIONS_TL FAT,
18090 FA_ADDITIONS_B FA ,
18091 okc_k_items c,
18092 okc_k_lines_b b
18093 WHERE
18094 fbc.book_type_code = fb.book_type_code
18095 AND NVL(fbc.date_ineffective,SYSDATE+1) > SYSDATE
18096 AND fb.asset_id = fa.asset_id
18097 AND fb.transaction_header_id_out IS NULL
18098 AND fat.asset_id = fa.asset_id
18099 AND fat.LANGUAGE = USERENV('LANG')
18100 AND fa.asset_id = TO_CHAR(c.object1_id1) --for LSE_ID = 42
18101 AND c.cle_id = b.id
18102 AND c.object1_id1 IS NOT NULL
18103 AND c.object1_id2 IS NOT NULL
18104 AND b.lse_id = 42
18105 AND b.dnz_chr_id=p_id
18106 AND c.dnz_chr_id=p_id
18107 AND fbc.book_class IN ('CORPORATE', 'TAX')
18108 ORDER BY b.cle_id;
18109
18110
18111
18112 CURSOR c_base_language IS
18113 SELECT language_code
18114 FROM fnd_languages
18115 WHERE installed_flag = 'B';
18116
18117 CURSOR c_languages IS
18118 SELECT language_code
18119 FROM fnd_languages
18120 WHERE installed_flag IN ('B','I');
18121
18122 -- Bug# 5591618
18123 /*
18124 Changed the cursor to consider the try_id of 'Internal Asset Creation' for US
18125 language. The base language could be different in different instances and
18126 the cursor returns null if the base language is other than U.S lang.
18127 This resulted in try_id turning 1 which is not a valid try_id and therefore
18128 not able to activate a copied contract.
18129 */
18130
18131 CURSOR c_try_id IS
18132 SELECT id
18133 FROM okl_trx_types_tl
18134 WHERE name = 'Internal Asset Creation'
18135 AND LANGUAGE = 'US';
18136
18137 --Bug# 5591618
18138 /*
18139 --CURSOR c_try_id IS
18140 --SELECT a.id
18141 --FROM okl_trx_types_tl a,
18142 --fnd_languages b
18143 --WHERE a.name = 'Internal Asset Creation'
18144 --AND a.LANGUAGE = b.language_code
18145 --AND b.installed_flag = 'B';
18146 */
18147
18148 CURSOR c_location_id(p_asset_id IN fa_additions_b.asset_id%TYPE,
18149 p_book_type_code IN fa_books.book_type_code%TYPE) IS
18150 SELECT location_id
18151 FROM fa_distribution_history
18152 WHERE asset_id = p_asset_id
18153 AND book_type_code = p_book_type_code
18154 AND transaction_header_id_out IS NULL
18155 AND ROWNUM < 2;
18156
18157 TYPE l_ID1_type IS TABLE OF fa_additions_b.asset_id%TYPE INDEX BY BINARY_INTEGER;
18158 TYPE l_ID2_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
18159 TYPE l_NAME_type IS TABLE OF fa_additions_b.asset_number%TYPE INDEX BY BINARY_INTEGER;
18160 TYPE l_DESCRIPTION_type IS TABLE OF fa_additions_tl.description%TYPE INDEX BY BINARY_INTEGER;
18161 TYPE l_ASSET_ID_type IS TABLE OF fa_additions_b.asset_id%TYPE INDEX BY BINARY_INTEGER;
18162 TYPE l_ASSET_NUMBER_type IS TABLE OF fa_additions_b.asset_number%TYPE INDEX BY BINARY_INTEGER;
18163 TYPE l_BOOK_TYPE_CODE_type IS TABLE OF fa_books.book_type_code%TYPE INDEX BY BINARY_INTEGER;
18164 TYPE l_LIFE_IN_MONTHS_type IS TABLE OF fa_books.life_in_months%TYPE INDEX BY BINARY_INTEGER;
18165 TYPE l_ORIGINAL_COST_type IS TABLE OF fa_books.original_cost%TYPE INDEX BY BINARY_INTEGER;
18166 TYPE l_COST_type IS TABLE OF fa_books.cost%TYPE INDEX BY BINARY_INTEGER;
18167 TYPE l_ADJUSTED_COST_type IS TABLE OF fa_books.adjusted_cost%TYPE INDEX BY BINARY_INTEGER;
18168 TYPE l_TAG_NUMBER_type IS TABLE OF fa_additions_b.tag_number%TYPE INDEX BY BINARY_INTEGER;
18169 TYPE l_CURRENT_UNITS_type IS TABLE OF fa_additions_b.current_units%TYPE INDEX BY BINARY_INTEGER;
18170 TYPE l_SERIAL_NUMBER_type IS TABLE OF fa_additions_b.serial_number%TYPE INDEX BY BINARY_INTEGER;
18171 TYPE l_REVAL_CEILING_type IS TABLE OF fa_books.reval_ceiling%TYPE INDEX BY BINARY_INTEGER;
18172 TYPE l_NEW_USED_type IS TABLE OF fa_additions_b.new_used%TYPE INDEX BY BINARY_INTEGER;
18173 TYPE l_IN_SERVICE_DATE_type IS TABLE OF fa_books.date_placed_in_service%TYPE INDEX BY BINARY_INTEGER;
18174 TYPE l_MANUFACTURER_NAME_type IS TABLE OF fa_additions_b.manufacturer_name%TYPE INDEX BY BINARY_INTEGER;
18175 TYPE l_MODEL_NUMBER_type IS TABLE OF fa_additions_b.model_number%TYPE INDEX BY BINARY_INTEGER;
18176 TYPE l_ASSET_TYPE_type IS TABLE OF fa_additions_b.asset_type%TYPE INDEX BY BINARY_INTEGER;
18177 TYPE l_SALVAGE_VALUE_type IS TABLE OF fa_books.salvage_value%TYPE INDEX BY BINARY_INTEGER;
18178 TYPE l_PERCENT_SALVAGE_VALUE_type IS TABLE OF fa_books.percent_salvage_value%TYPE INDEX BY BINARY_INTEGER;
18179 TYPE l_DEPRECIATION_CATEGORY_type IS TABLE OF fa_additions_b.asset_category_id%TYPE INDEX BY BINARY_INTEGER;
18180 TYPE l_DEPR_START_DATE_type IS TABLE OF fa_books.deprn_start_date%TYPE INDEX BY BINARY_INTEGER;
18181 TYPE l_DEPRN_METHOD_CODE_type IS TABLE OF fa_books.deprn_method_code%TYPE INDEX BY BINARY_INTEGER;
18182 TYPE l_RATE_ADJUSTMENT_FACTOR_type IS TABLE OF fa_books.rate_adjustment_factor%TYPE INDEX BY BINARY_INTEGER;
18183 TYPE l_BASIC_RATE_type IS TABLE OF fa_books.basic_rate%TYPE INDEX BY BINARY_INTEGER;
18184 TYPE l_ADJUSTED_RATE_type IS TABLE OF fa_books.adjusted_rate%TYPE INDEX BY BINARY_INTEGER;
18185 TYPE l_START_DATE_ACTIVE_type IS TABLE OF fa_books.date_effective%TYPE INDEX BY BINARY_INTEGER;
18186 TYPE l_END_DATE_ACTIVE_type IS TABLE OF fa_books.date_ineffective%TYPE INDEX BY BINARY_INTEGER;
18187 TYPE l_STATUS_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
18188 TYPE l_PRIMARY_UOM_CODE_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
18189 TYPE l_RECOVERABLE_COST_type IS TABLE OF fa_books.recoverable_cost%TYPE INDEX BY BINARY_INTEGER;
18190 TYPE l_ORG_ID_type IS TABLE OF fa_book_controls.org_id%TYPE INDEX BY BINARY_INTEGER;
18191 TYPE l_SET_OF_BOOKS_ID_type IS TABLE OF fa_book_controls.set_of_books_id%TYPE INDEX BY BINARY_INTEGER;
18192 TYPE l_PROPERTY_TYPE_CODE_type IS TABLE OF fa_additions_b.property_type_code%TYPE INDEX BY BINARY_INTEGER;
18193 TYPE l_PROPERTY_1245_1250_CODE_type IS TABLE OF fa_additions_b.property_1245_1250_code%TYPE INDEX BY BINARY_INTEGER;
18194 TYPE l_IN_USE_FLAG_type IS TABLE OF fa_additions_b.in_use_flag%TYPE INDEX BY BINARY_INTEGER;
18195 TYPE l_OWNED_LEASED_type IS TABLE OF fa_additions_b.owned_leased%TYPE INDEX BY BINARY_INTEGER;
18196 TYPE l_INVENTORIAL_type IS TABLE OF fa_additions_b.inventorial%TYPE INDEX BY BINARY_INTEGER;
18197 TYPE l_ASSET_KEY_CCID_type IS TABLE OF fa_additions_b.asset_key_ccid%TYPE INDEX BY BINARY_INTEGER;
18198 TYPE l_book_class_type IS TABLE OF fa_book_controls.book_class%TYPE INDEX BY BINARY_INTEGER;
18199 TYPE l_id_type IS TABLE OF okc_k_lines_b.id%TYPE INDEX BY BINARY_INTEGER;
18200 TYPE l_cle_id_type IS TABLE OF okc_k_lines_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
18201
18202 TYPE l_lang_tab_type IS TABLE OF fnd_languages.language_code%TYPE INDEX BY BINARY_INTEGER;
18203
18204 l_ID1_tab l_ID1_type;
18205 l_ID2_tab l_ID2_type;
18206 l_NAME_local_tab l_NAME_type;
18207 l_DESCRIPTION_tab l_DESCRIPTION_type;
18208 l_ASSET_ID_tab l_ASSET_ID_type;
18209 l_ASSET_NUMBER_tab l_ASSET_NUMBER_type;
18210 l_BOOK_TYPE_CODE_tab l_BOOK_TYPE_CODE_type;
18211 l_LIFE_IN_MONTHS_tab l_LIFE_IN_MONTHS_type;
18212 l_ORIGINAL_COST_tab l_ORIGINAL_COST_type;
18213 l_COST_tab l_COST_type;
18214 l_ADJUSTED_COST_tab l_ADJUSTED_COST_type;
18215 l_TAG_NUMBER_tab l_TAG_NUMBER_type;
18216 l_CURRENT_UNITS_tab l_CURRENT_UNITS_type;
18217 l_SERIAL_NUMBER_tab l_SERIAL_NUMBER_type;
18218 l_REVAL_CEILING_tab l_REVAL_CEILING_type;
18219 l_NEW_USED_tab l_NEW_USED_type;
18220 l_IN_SERVICE_DATE_tab l_IN_SERVICE_DATE_type;
18221 l_MANUFACTURER_NAME_tab l_MANUFACTURER_NAME_type;
18222 l_MODEL_NUMBER_tab l_MODEL_NUMBER_type;
18223 l_ASSET_TYPE_tab l_ASSET_TYPE_type;
18224 l_SALVAGE_VALUE_tab l_SALVAGE_VALUE_type;
18225 l_PERCENT_SALVAGE_VALUE_tab l_PERCENT_SALVAGE_VALUE_type;
18226 l_DEPRECIATION_CATEGORY_tab l_DEPRECIATION_CATEGORY_type;
18227 l_DEPR_START_DATE_tab l_DEPR_START_DATE_type;
18228 l_DEPRN_METHOD_CODE_tab l_DEPRN_METHOD_CODE_type;
18229 l_RATE_ADJUSTMENT_FACTOR_tab l_RATE_ADJUSTMENT_FACTOR_type;
18230 l_BASIC_RATE_tab l_BASIC_RATE_type;
18231 l_ADJUSTED_RATE_tab l_ADJUSTED_RATE_type;
18232 l_START_DATE_ACTIVE_tab l_START_DATE_ACTIVE_type;
18233 l_END_DATE_ACTIVE_tab l_END_DATE_ACTIVE_type;
18234 l_STATUS_tab l_STATUS_type;
18235 l_PRIMARY_UOM_CODE_tab l_PRIMARY_UOM_CODE_type;
18236 l_RECOVERABLE_COST_tab l_RECOVERABLE_COST_type;
18237 l_ORG_ID_tab l_ORG_ID_type;
18238 l_SET_OF_BOOKS_ID_tab l_SET_OF_BOOKS_ID_type;
18239 l_PROPERTY_TYPE_CODE_tab l_PROPERTY_TYPE_CODE_type;
18240 l_PROPERTY_1245_1250_CODE_tab l_PROPERTY_1245_1250_CODE_type;
18241 l_IN_USE_FLAG_tab l_IN_USE_FLAG_type;
18242 l_OWNED_LEASED_tab l_OWNED_LEASED_type;
18243 l_INVENTORIAL_tab l_INVENTORIAL_type;
18244 l_ASSET_KEY_CCID_tab l_ASSET_KEY_CCID_type;
18245 l_book_class_tab l_book_class_type;
18246 l_id_local_tab l_id_type;
18247
18248 l_okl_trx_counter3 NUMBER := 1;
18249
18250 l_ID1_tab2 l_ID1_type;
18251 l_ID2_tab2 l_ID2_type;
18252 l_NAME_local_tab2 l_NAME_type;
18253 l_DESCRIPTION_tab2 l_DESCRIPTION_type;
18254 l_ASSET_ID_tab2 l_ASSET_ID_type;
18255 l_ASSET_NUMBER_tab2 l_ASSET_NUMBER_type;
18256 l_BOOK_TYPE_CODE_tab2 l_BOOK_TYPE_CODE_type;
18257 l_LIFE_IN_MONTHS_tab2 l_LIFE_IN_MONTHS_type;
18258 l_ORIGINAL_COST_tab2 l_ORIGINAL_COST_type;
18259 l_COST_tab2 l_COST_type;
18260 l_ADJUSTED_COST_tab2 l_ADJUSTED_COST_type;
18261 l_TAG_NUMBER_tab2 l_TAG_NUMBER_type;
18262 l_CURRENT_UNITS_tab2 l_CURRENT_UNITS_type;
18263 l_SERIAL_NUMBER_tab2 l_SERIAL_NUMBER_type;
18264 l_REVAL_CEILING_tab2 l_REVAL_CEILING_type;
18265 l_NEW_USED_tab2 l_NEW_USED_type;
18266 l_IN_SERVICE_DATE_tab2 l_IN_SERVICE_DATE_type;
18267 l_MANUFACTURER_NAME_tab2 l_MANUFACTURER_NAME_type;
18268 l_MODEL_NUMBER_tab2 l_MODEL_NUMBER_type;
18269 l_ASSET_TYPE_tab2 l_ASSET_TYPE_type;
18270 l_SALVAGE_VALUE_tab2 l_SALVAGE_VALUE_type;
18271 l_PERCENT_SALVAGE_VALUE_tab2 l_PERCENT_SALVAGE_VALUE_type;
18272 l_DEPRECIATION_CATEGORY_tab2 l_DEPRECIATION_CATEGORY_type;
18273 l_DEPR_START_DATE_tab2 l_DEPR_START_DATE_type;
18274 l_DEPRN_METHOD_CODE_tab2 l_DEPRN_METHOD_CODE_type;
18275 l_RATE_ADJUSTMENT_FACTOR_tab2 l_RATE_ADJUSTMENT_FACTOR_type;
18276 l_BASIC_RATE_tab2 l_BASIC_RATE_type;
18277 l_ADJUSTED_RATE_tab2 l_ADJUSTED_RATE_type;
18278 l_START_DATE_ACTIVE_tab2 l_START_DATE_ACTIVE_type;
18279 l_END_DATE_ACTIVE_tab2 l_END_DATE_ACTIVE_type;
18280 l_STATUS_tab2 l_STATUS_type;
18281 l_PRIMARY_UOM_CODE_tab2 l_PRIMARY_UOM_CODE_type;
18282 l_RECOVERABLE_COST_tab2 l_RECOVERABLE_COST_type;
18283 l_ORG_ID_tab2 l_ORG_ID_type;
18284 l_SET_OF_BOOKS_ID_tab2 l_SET_OF_BOOKS_ID_type;
18285 l_PROPERTY_TYPE_CODE_tab2 l_PROPERTY_TYPE_CODE_type;
18286 l_PROPERTY_1245_1250_CODE_tab2 l_PROPERTY_1245_1250_CODE_type;
18287 l_IN_USE_FLAG_tab2 l_IN_USE_FLAG_type;
18288 l_OWNED_LEASED_tab2 l_OWNED_LEASED_type;
18289 l_INVENTORIAL_tab2 l_INVENTORIAL_type;
18290 l_ASSET_KEY_CCID_tab2 l_ASSET_KEY_CCID_type;
18291 l_book_class_tab2 l_book_class_type;
18292 l_id_local_tab2 l_id_type;
18293 l_cle_id_tab2 l_cle_id_type;
18294
18295 l_new_id NUMBER;
18296 l_t3id_tab l_tid_type;
18297
18298 -- okl_txl_assets_tl
18299 l_tl2id_tab l_tlid_type;
18300 l_tl2description_tab l_tldescription_type;
18301 l_tl2language_tab l_tllanguage_type;
18302
18303 l_txl_assets_tl_counter4 NUMBER := 1;
18304 l_lang_tab l_lang_tab_type;
18305 l_base_language fnd_languages.language_code%TYPE;
18306
18307 l_orig_cost NUMBER;
18308 l_depreciable_cost NUMBER;
18309 l_deprn_rate fa_books.adjusted_rate%TYPE;
18310 l_life_in_months fa_books.life_in_months%TYPE;
18311 l_salvage_value fa_books.salvage_value%TYPE;
18312 l_percent_salvage_value fa_books.percent_salvage_value%TYPE;
18313
18314 --okl_txd_assets_b
18315 l_db2id_tab l_dbid_type;
18316 l_db2tal_id_tab l_dbtal_id_type;
18317 l_db2line_detail_number_tab l_dbline_detail_number_type;
18318 l_db2asset_number_tab l_dbasset_number_type;
18319 l_db2quantity_tab l_dbquantity_type;
18320 l_db2cost_tab l_dbcost_type;
18321 l_db2tax_book_tab l_dbtax_book_type;
18322 l_db2life_in_months_tax_tab l_dblife_in_months_tax_type;
18323 l_db2deprn_method_tax_tab l_dbdeprn_method_tax_type;
18324 l_db2deprn_rate_tax_tab l_dbdeprn_rate_tax_type;
18325 l_db2salvage_value_tab l_dbsalvage_value_type;
18326
18327 l_txd_assets_b_counter4 NUMBER := 1;
18328 l_new_tal_id NUMBER;
18329 l_new_line_number NUMBER;
18330 l_junk_cost NUMBER;
18331
18332 -- okl_txd_assets_tl
18333 l_dl2id_tab l_dlid_type;
18334 l_dl2description_tab l_dldescription_type;
18335 l_dl2language_tab l_dllanguage_type;
18336
18337 l_txd_assets_tl_counter4 NUMBER := 1;
18338
18339 l_location_id NUMBER;
18340 l_new_asset_number fa_additions_b.asset_number%TYPE;
18341 l_tmp_okl_42_rec l_okl_k_lines_rec_type;
18342 l_tmp_itm_rec l_okc_k_items_rec_type;
18343
18344 l_cle_id NUMBER;
18345 l_new_33_id NUMBER;
18346 l_tmp_okl_33_rec l_okl_k_lines_rec_type;
18347 l_tmp_okc_34_rec l_okc_k_items_rec_type;
18348 l_new_34_id NUMBER;
18349 l_asset_name_old okc_k_lines_tl.name%TYPE;
18350 l_multi_gaap_profile okl_txd_assets_b.tax_book%TYPE;
18351
18352 --Added by dpsingh for LE Uptake
18353 CURSOR contract_num_csr (p_ctr_id1 NUMBER) IS
18354 SELECT contract_number
18355 FROM OKC_K_HEADERS_B
18356 WHERE id = p_ctr_id1;
18357
18358 l_cntrct_number OKC_K_HEADERS_B.CONTRACT_NUMBER%TYPE;
18359 l_legal_entity_id NUMBER;
18360
18361 BEGIN
18362 OPEN c_try_id;
18363 FETCH c_try_id INTO l_try_id;
18364 IF (c_try_id%NOTFOUND) THEN
18365 l_try_id := 1;
18366 END IF;
18367 CLOSE c_try_id;
18368
18369 OPEN c_languages;
18370 FETCH c_languages bulk collect INTO
18371 l_lang_tab
18372 limit G_BULK_SIZE;
18373 CLOSE c_languages;
18374
18375 FOR r IN c_base_language
18376 LOOP
18377 l_base_language := r.language_code;
18378 END LOOP;
18379
18380 OPEN c27(p_old_id);
18381 LOOP
18382 FETCH c27 bulk collect INTO
18383 l_ID1_tab2, l_ID2_tab2, l_NAME_local_tab2,
18384 l_DESCRIPTION_tab2, l_ASSET_ID_tab2, l_ASSET_NUMBER_tab2,
18385 l_BOOK_TYPE_CODE_tab2, l_LIFE_IN_MONTHS_tab2, l_ORIGINAL_COST_tab2,
18386 l_COST_tab2, l_ADJUSTED_COST_tab2, l_TAG_NUMBER_tab2,
18387 l_CURRENT_UNITS_tab2, l_SERIAL_NUMBER_tab2, l_REVAL_CEILING_tab2,
18388 l_NEW_USED_tab2, l_IN_SERVICE_DATE_tab2, l_MANUFACTURER_NAME_tab2,
18389 l_MODEL_NUMBER_tab2, l_ASSET_TYPE_tab2, l_SALVAGE_VALUE_tab2,
18390 l_PERCENT_SALVAGE_VALUE_tab2, l_DEPRECIATION_CATEGORY_tab2, l_DEPR_START_DATE_tab2,
18391 l_DEPRN_METHOD_CODE_tab2, l_RATE_ADJUSTMENT_FACTOR_tab2, l_BASIC_RATE_tab2,
18392 l_ADJUSTED_RATE_tab2, l_START_DATE_ACTIVE_tab2, l_END_DATE_ACTIVE_tab2,
18393 l_STATUS_tab2, l_PRIMARY_UOM_CODE_tab2, l_RECOVERABLE_COST_tab2,
18394 l_ORG_ID_tab2, l_SET_OF_BOOKS_ID_tab2, l_PROPERTY_TYPE_CODE_tab2,
18395 l_PROPERTY_1245_1250_CODE_tab2, l_IN_USE_FLAG_tab2, l_OWNED_LEASED_tab2,
18396 l_INVENTORIAL_tab2, l_ASSET_KEY_CCID_tab2, l_book_class_tab2,
18397 l_id_local_tab2, l_cle_id_tab2
18398 limit G_BULK_SIZE;
18399 EXIT WHEN l_ID1_tab2.COUNT=0;
18400 FOR i IN l_ID1_tab2.first..l_ID1_tab2.last
18401 LOOP
18402 l_ID1_tab(l_okl_trx_counter3) := l_ID1_tab2(i);
18403 l_ID2_tab(l_okl_trx_counter3) := l_ID2_tab2(i);
18404 l_NAME_local_tab(l_okl_trx_counter3) := l_NAME_local_tab2(i);
18405 l_DESCRIPTION_tab(l_okl_trx_counter3) := l_DESCRIPTION_tab2(i);
18406 l_ASSET_ID_tab(l_okl_trx_counter3) := l_ASSET_ID_tab2(i);
18407 l_ASSET_NUMBER_tab(l_okl_trx_counter3) := l_ASSET_NUMBER_tab2(i);
18408 l_BOOK_TYPE_CODE_tab(l_okl_trx_counter3) := l_BOOK_TYPE_CODE_tab2(i);
18409 l_LIFE_IN_MONTHS_tab(l_okl_trx_counter3) := l_LIFE_IN_MONTHS_tab2(i);
18410 l_ORIGINAL_COST_tab(l_okl_trx_counter3) := l_ORIGINAL_COST_tab2(i);
18411 l_COST_tab(l_okl_trx_counter3) := l_COST_tab2(i);
18412 l_ADJUSTED_COST_tab(l_okl_trx_counter3) := l_ADJUSTED_COST_tab2(i);
18413 l_TAG_NUMBER_tab(l_okl_trx_counter3) := l_TAG_NUMBER_tab2(i);
18414 l_CURRENT_UNITS_tab(l_okl_trx_counter3) := l_CURRENT_UNITS_tab2(i);
18415 l_SERIAL_NUMBER_tab(l_okl_trx_counter3) := l_SERIAL_NUMBER_tab2(i);
18416 l_REVAL_CEILING_tab(l_okl_trx_counter3) := l_REVAL_CEILING_tab2(i);
18417 l_NEW_USED_tab(l_okl_trx_counter3) := l_NEW_USED_tab2(i);
18418 l_IN_SERVICE_DATE_tab(l_okl_trx_counter3) := l_IN_SERVICE_DATE_tab2(i);
18419 l_MANUFACTURER_NAME_tab(l_okl_trx_counter3) := l_MANUFACTURER_NAME_tab2(i);
18420 l_MODEL_NUMBER_tab(l_okl_trx_counter3) := l_MODEL_NUMBER_tab2(i);
18421 l_ASSET_TYPE_tab(l_okl_trx_counter3) := l_ASSET_TYPE_tab2(i);
18422 l_SALVAGE_VALUE_tab(l_okl_trx_counter3) := l_SALVAGE_VALUE_tab2(i);
18423 l_PERCENT_SALVAGE_VALUE_tab(l_okl_trx_counter3) := l_PERCENT_SALVAGE_VALUE_tab2(i);
18424 l_DEPRECIATION_CATEGORY_tab(l_okl_trx_counter3) := l_DEPRECIATION_CATEGORY_tab2(i);
18425 l_DEPR_START_DATE_tab(l_okl_trx_counter3) := l_DEPR_START_DATE_tab2(i);
18426 l_DEPRN_METHOD_CODE_tab(l_okl_trx_counter3) := l_DEPRN_METHOD_CODE_tab2(i);
18427 l_RATE_ADJUSTMENT_FACTOR_tab(l_okl_trx_counter3) := l_RATE_ADJUSTMENT_FACTOR_tab2(i);
18428 l_BASIC_RATE_tab(l_okl_trx_counter3) := l_BASIC_RATE_tab2(i);
18429 l_ADJUSTED_RATE_tab(l_okl_trx_counter3) := l_ADJUSTED_RATE_tab2(i);
18430 l_START_DATE_ACTIVE_tab(l_okl_trx_counter3) := l_START_DATE_ACTIVE_tab2(i);
18431 l_END_DATE_ACTIVE_tab(l_okl_trx_counter3) := l_END_DATE_ACTIVE_tab2(i);
18432 l_STATUS_tab(l_okl_trx_counter3) := l_STATUS_tab2(i);
18433 l_PRIMARY_UOM_CODE_tab(l_okl_trx_counter3) := l_PRIMARY_UOM_CODE_tab2(i);
18434 l_RECOVERABLE_COST_tab(l_okl_trx_counter3) := l_RECOVERABLE_COST_tab2(i);
18435 l_ORG_ID_tab(l_okl_trx_counter3) := l_ORG_ID_tab2(i);
18436 l_SET_OF_BOOKS_ID_tab(l_okl_trx_counter3) := l_SET_OF_BOOKS_ID_tab2(i);
18437 l_PROPERTY_TYPE_CODE_tab(l_okl_trx_counter3) := l_PROPERTY_TYPE_CODE_tab2(i);
18438 l_PROPERTY_1245_1250_CODE_tab(l_okl_trx_counter3) := l_PROPERTY_1245_1250_CODE_tab2(i);
18439 l_IN_USE_FLAG_tab(l_okl_trx_counter3) := l_IN_USE_FLAG_tab2(i);
18440 l_OWNED_LEASED_tab(l_okl_trx_counter3) := l_OWNED_LEASED_tab2(i);
18441 l_INVENTORIAL_tab(l_okl_trx_counter3) := l_INVENTORIAL_tab2(i);
18442 l_ASSET_KEY_CCID_tab(l_okl_trx_counter3) := l_ASSET_KEY_CCID_tab2(i);
18443 l_book_class_tab(l_okl_trx_counter3) := l_book_class_tab2(i);
18444 l_ID_local_tab(l_okl_trx_counter3) := l_ID_local_tab2(i);
18445
18446 -- Change id (which is same as kle_id)
18447 l_new_id := find_mapping_id(l_ID_local_tab(l_okl_trx_counter3));
18448 IF (l_new_id = -1) THEN
18449 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18450 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_ID_local_tab(l_okl_trx_counter3));
18451 END IF;
18452 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
18453 END IF;
18454 l_ID_local_tab(l_okl_trx_counter3) := l_new_id;
18455
18456 l_okl_trx_counter3 := l_okl_trx_counter3 + 1;
18457
18458 END LOOP;
18459 END LOOP;
18460 CLOSE c27;
18461 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18462 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ID1_tab.count=' || l_ID1_tab.COUNT);
18463 END IF;
18464 IF (l_ID1_tab.COUNT > 0) THEN
18465 FOR i IN l_ID1_tab.first..l_ID1_tab.last
18466 LOOP
18467 IF (l_book_class_tab(i) = 'CORPORATE') THEN
18468 -- Populate okl_trx_assets
18469 l_t3id_tab(l_trx_assets_counter4) := okc_p_util.raw_to_number(sys_guid());
18470 -- Populate kle to tas_id mapping
18471 l_cle_mapping_tab(l_trx_assets_counter4).old_id := l_ID_local_tab(i); -- kle_id
18472 --l_cle_mapping_tab(l_trx_assets_counter4).new_id := l_t3id_tab(l_trx_assets_counter4);
18473 l_cle_mapping_tab(l_trx_assets_counter4).line_number := 1;
18474
18475 -- Populate okl_txl_assets_b
18476 l_tb2id_tab(l_trx_assets_counter4) := okc_p_util.raw_to_number(sys_guid());
18477 l_cle_mapping_tab(l_trx_assets_counter4).new_id := l_tb2id_tab(l_trx_assets_counter4);
18478 l_tb2object_version_number_tab(l_trx_assets_counter4) := 1;
18479 l_tb2tas_id_tab(l_trx_assets_counter4) := l_t3id_tab(l_trx_assets_counter4);
18480 -- id already changed earlier
18481 l_tb2kle_id_tab(l_trx_assets_counter4) := l_ID_local_tab(i);
18482
18483 -- Store Tal id to kle_id mapping
18484 l_dbid_mapping_tab(l_tal_to_kle_counter).tal_id := l_tb2id_tab(l_trx_assets_counter4);
18485 l_dbid_mapping_tab(l_tal_to_kle_counter).kle_id := l_tb2kle_id_tab(l_trx_assets_counter4);
18486 l_tal_to_kle_counter := l_tal_to_kle_counter + 1;
18487
18488 l_tb2dnz_khr_id_tab(l_trx_assets_counter4) := l_copied_id;
18489 l_tb2asset_number_tab(l_trx_assets_counter4) := l_ASSET_NUMBER_tab(i);
18490 -- Change asset_number AKP???
18491 /* Bug 4439068 */
18492 IF p_trans_type not in ('CRB', 'CRL', 'CSP', 'CRV', 'ALI') THEN
18493 l_new_asset_number := find_aid_mapping_id(l_tb2asset_number_tab(l_trx_assets_counter4));
18494 IF (l_new_asset_number <> '-1') THEN
18495 l_tb2asset_number_tab(l_trx_assets_counter4) := l_new_asset_number;
18496 END IF;
18497 END IF;
18498 /* Bug 4439068 */
18499
18500 l_tb2line_number_tab(l_trx_assets_counter4) := 1;
18501 l_tb2tal_type_tab(l_trx_assets_counter4) := p_trans_type;
18502
18503 -- Populate location_id
18504 OPEN c_location_id(l_asset_id_tab(i), l_BOOK_TYPE_CODE_tab(i));
18505 FETCH c_location_id
18506 INTO l_location_id;
18507 IF (c_location_id%NOTFOUND) THEN
18508 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18509 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Location id not found for ' || l_asset_id_tab(i) || ' ' || l_BOOK_TYPE_CODE_tab(i));
18510 END IF;
18511 x_return_status := OKL_API.G_RET_STS_ERROR;
18512 CLOSE c_location_id;
18513 RAISE OKL_API.G_EXCEPTION_ERROR;
18514 END IF;
18515 CLOSE c_location_id;
18516 l_tb2fa_location_id_tab(l_trx_assets_counter4) := l_location_id;
18517
18518 -- Todo AKP
18519
18520 get_orig_depreciation_cost(l_COST_tab(i), l_orig_cost, l_depreciable_cost);
18521 l_tb2original_cost_tab(l_trx_assets_counter4) := l_orig_cost;
18522 l_tb2depreciation_cost_tab(l_trx_assets_counter4) := l_depreciable_cost;
18523 -- Bug 4636587
18524 IF (p_trans_type = 'CRB') THEN
18525 l_tb2fa_cost_tab(l_trx_assets_counter4) := l_depreciable_cost;
18526 ELSE
18527 l_tb2fa_cost_tab(l_trx_assets_counter4) := NULL;
18528 END IF;
18529
18530 l_tb2current_units_tab(l_trx_assets_counter4) := l_CURRENT_UNITS_tab(i);
18531 l_tb2manufacturer_name_tab(l_trx_assets_counter4) := l_MANUFACTURER_NAME_tab(i);
18532 l_tmp_okl_42_rec := find_okl_k_lines_rec(l_id_local_tab(i));
18533 IF (l_tmp_okl_42_rec.year_built = OKC_API.G_MISS_NUM ) THEN
18534 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18535 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okl_k_lines_rec not found for ' || l_id_local_tab(i));
18536 END IF;
18537 RAISE OKL_API.G_EXCEPTION_ERROR;
18538 END IF;
18539
18540 l_tb2year_manufactured_tab(l_trx_assets_counter4) := l_tmp_okl_42_rec.year_built;
18541 -- Todo AKP
18542
18543 IF (l_NEW_USED_tab(i) = 'NEW' OR l_NEW_USED_tab(i) IS NULL) THEN
18544 l_tb2used_asset_yn_tab(l_trx_assets_counter4) := NULL;
18545 ELSE
18546 l_tb2used_asset_yn_tab(l_trx_assets_counter4) := 'Y';
18547 END IF;
18548
18549 l_tb2tag_number_tab(l_trx_assets_counter4) := l_TAG_NUMBER_tab(i);
18550 l_tb2model_number_tab(l_trx_assets_counter4) := l_MODEL_NUMBER_tab(i);
18551 l_tb2corporate_book_tab(l_trx_assets_counter4) := l_BOOK_TYPE_CODE_tab(i);
18552 l_tb2in_service_date_tab(l_trx_assets_counter4) := l_IN_SERVICE_DATE_tab(i);
18553 l_tb2depreciation_id_tab(l_trx_assets_counter4) := l_DEPRECIATION_CATEGORY_tab(i);
18554 l_tb2deprn_method_tab(l_trx_assets_counter4) := l_DEPRN_METHOD_CODE_tab(i);
18555 -- Todo AKP
18556
18557 get_deprn_details(l_DEPRN_METHOD_CODE_tab(i),
18558 l_LIFE_IN_MONTHS_tab(i),
18559 l_ADJUSTED_RATE_tab(i),
18560 l_deprn_rate,
18561 l_life_in_months);
18562 l_tb2deprn_rate_tab(l_trx_assets_counter4) := l_deprn_rate;
18563 l_tb2life_in_months_tab(l_trx_assets_counter4) := l_life_in_months;
18564
18565 get_salvage_value(l_SALVAGE_VALUE_tab(i),
18566 l_PERCENT_SALVAGE_VALUE_tab(i),
18567 l_salvage_value,
18568 l_percent_salvage_value);
18569 l_tb2salvage_value_tab(l_trx_assets_counter4) := l_salvage_value;
18570 l_tb2percent_salvage_value_tab(l_trx_assets_counter4) := l_percent_salvage_value;
18571
18572 l_tb2asset_key_id_tab(l_trx_assets_counter4) := l_ASSET_KEY_CCID_tab(i);
18573 l_tb2fa_trx_date_tab(l_trx_assets_counter4) := NULL;
18574
18575 -- Populate okl_trx_assets_tl
18576 FOR j IN l_lang_tab.first..l_lang_tab.last
18577 LOOP
18578 l_tl2id_tab(l_txl_assets_tl_counter4) := l_tb2id_tab(l_trx_assets_counter4);
18579 l_tl2description_tab(l_txl_assets_tl_counter4) := l_DESCRIPTION_tab(i);
18580 l_tl2language_tab(l_txl_assets_tl_counter4) := l_lang_tab(j);
18581
18582 l_txl_assets_tl_counter4 := l_txl_assets_tl_counter4 + 1;
18583 END LOOP;
18584
18585 l_trx_assets_counter4 := l_trx_assets_counter4 + 1;
18586 END IF; /* if CORPORATE */
18587 END LOOP; /* end loop i */
18588 END IF; /* end if l_ID1_tab.count > 0*/
18589 sort_cle_mapping_tab;
18590 sort_dbid_mapping_tab;
18591
18592 IF (l_ID1_tab.COUNT > 0) THEN
18593 l_multi_gaap_profile := OKL_SYSTEM_PARAMS_ALL_PUB.get_system_param_value(OKL_SYSTEM_PARAMS_ALL_PUB.G_RPT_PROD_BOOK_TYPE_CODE);
18594 IF (l_multi_gaap_profile IS NULL) THEN
18595 l_multi_gaap_profile := ' ';
18596 END IF;
18597 FOR i IN l_ID1_tab.first..l_ID1_tab.last
18598 LOOP
18599 IF (l_book_class_tab(i) = 'TAX') THEN
18600 IF ((l_BOOK_TYPE_CODE_tab(i) = l_multi_gaap_profile) AND
18601 p_trans_type NOT IN ('CRB', 'CRL')) THEN
18602 NULL;
18603 ELSE
18604 l_db2id_tab(l_txd_assets_b_counter4) := okc_p_util.raw_to_number(sys_guid());
18605 l_new_tal_id := find_cle_mapping_id(l_ID_local_tab(i));
18606 IF (l_new_tal_id = -1) THEN
18607 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18608 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR!!!!Mapping tal_id not found');
18609 END IF;
18610 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
18611 END IF;
18612 l_db2tal_id_tab(l_txd_assets_b_counter4) := l_new_tal_id;
18613 --print('l_new_tal_id='|| l_new_tal_id);
18614 l_db2asset_number_tab(l_txd_assets_b_counter4) := l_ASSET_NUMBER_tab(i);
18615 /* Bug 4439068 */
18616 IF p_trans_type not in ('CRB', 'CRL', 'CSP', 'CRV', 'ALI') THEN
18617 IF (l_db2asset_number_tab(l_txd_assets_b_counter4) IS NOT NULL) THEN
18618 l_new_asset_number := find_aid_mapping_id(l_db2asset_number_tab(l_txd_assets_b_counter4));
18619 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18620 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_new_asset_number=' || l_new_asset_number);
18621 END IF;
18622 IF (l_new_asset_number <> '-1') THEN
18623 l_db2asset_number_tab(l_txd_assets_b_counter4) := l_new_asset_number;
18624 END IF;
18625 END IF;
18626 END IF;
18627 /* Bug 4439068 */
18628
18629 l_new_line_number := find_cle_line_number(l_ID_local_tab(i));
18630 IF (l_new_line_number = -1) THEN
18631 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18632 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR!!!!Mapping line_number not found');
18633 END IF;
18634 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
18635 END IF;
18636 l_db2line_detail_number_tab(l_txd_assets_b_counter4) := l_new_line_number;
18637
18638 l_db2quantity_tab(l_txd_assets_b_counter4) := l_CURRENT_UNITS_tab(i);
18639
18640 get_orig_depreciation_cost(l_COST_tab(i), l_orig_cost, l_junk_cost);
18641 l_db2cost_tab(l_txd_assets_b_counter4) := l_orig_cost;
18642 l_db2tax_book_tab(l_txd_assets_b_counter4) := l_BOOK_TYPE_CODE_tab(i);
18643 l_db2salvage_value_tab(l_txd_assets_b_counter4) := l_SALVAGE_VALUE_tab(i);
18644 l_db2deprn_method_tax_tab(l_txd_assets_b_counter4) := l_DEPRN_METHOD_CODE_tab(i);
18645
18646 get_deprn_details(l_DEPRN_METHOD_CODE_tab(i),
18647 l_LIFE_IN_MONTHS_tab(i),
18648 l_ADJUSTED_RATE_tab(i),
18649 l_deprn_rate,
18650 l_life_in_months);
18651 l_db2deprn_rate_tax_tab(l_txd_assets_b_counter4) := l_deprn_rate;
18652 l_db2life_in_months_tax_tab(l_txd_assets_b_counter4) := l_life_in_months;
18653
18654 -- Populate okl_txd_assets_tl
18655 FOR j IN l_lang_tab.first..l_lang_tab.last
18656 LOOP
18657 l_dl2id_tab(l_txd_assets_tl_counter4) := l_db2id_tab(l_txd_assets_b_counter4);
18658 l_dl2description_tab(l_txd_assets_tl_counter4) := l_DESCRIPTION_tab(i);
18659 l_dl2language_tab(l_txd_assets_tl_counter4) := l_lang_tab(j);
18660
18661 l_txd_assets_tl_counter4 := l_txd_assets_tl_counter4 + 1;
18662 END LOOP;
18663
18664 l_txd_assets_b_counter4 := l_txd_assets_b_counter4 + 1;
18665 END IF; /* if multi-gaap */
18666 END IF; /* TAX */
18667 END LOOP;
18668 END IF;
18669
18670 IF (l_ID1_tab.COUNT < 1) THEN
18671 -- LOAN or LOAN-REVOLVING and BOOKED case
18672 --l_loan_booked_condition := false;
18673 --l_loan_booked_condition := check_loan_booked_condition;
18674 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18675 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'In here. l_deal_type=' || l_deal_type || ' l_sts_code_orig=' || l_sts_code_orig);
18676 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab.count=' || l_id_tab.COUNT || ' l_sts_code_orig=' || l_sts_code_orig);
18677 END IF;
18678 IF (l_deal_type IN ('LOAN', 'LOAN-REVOLVING')
18679 -- 4911174
18680 AND l_sts_code_orig IN ('BOOKED','EVERGREEN','EXPIRED','TERMINATED')) THEN
18681 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18682 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab.count=' || l_id_tab.COUNT);
18683 END IF;
18684 IF (l_id_tab.count > 0) THEN
18685 FOR i IN l_id_tab.first..l_id_tab.last LOOP
18686 IF (l_lse_id_tab(i) = 42) THEN
18687 --print('Found 42: l_id_tab(' ||i || ')=' || l_id_tab(i) ||' l_name_tab('||i||')=' || l_name_tab(i));
18688 l_tmp_itm_rec := find_okc_k_items_rec(l_id_tab(i));
18689 --print('l_tmp_itm_rec.id object1_id1 object1_id2= ' || l_tmp_itm_rec.id || ':' || l_tmp_itm_rec.object1_id1 || ':' || l_tmp_itm_rec.object1_id2);
18690 IF (l_tmp_itm_rec.number_of_items = OKL_API.G_MISS_NUM ) THEN
18691 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18692 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okc_k_items rec not found for ' || l_id_tab(i));
18693 END IF;
18694 RAISE OKL_API.G_EXCEPTION_ERROR;
18695 END IF;
18696 IF ((l_tmp_itm_rec.object1_id1 IS NULL) AND
18697 (l_tmp_itm_rec.object1_id2 IS NULL)) THEN
18698 -- Populate okl_trx_assets
18699 --print('Yes object1_id1 and id2 null...');
18700 l_t3id_tab(l_trx_assets_counter4) := okc_p_util.raw_to_number(sys_guid());
18701 --print('Upto 1...');
18702 -- Populate kle to tas_id mapping
18703 l_cle_mapping_tab(l_trx_assets_counter4).old_id := l_id_tab(i); -- kle_id
18704 l_cle_mapping_tab(l_trx_assets_counter4).line_number := 1;
18705
18706 --print('Upto 2...');
18707 -- Populate okl_txl_assets_b
18708 l_tb2id_tab(l_trx_assets_counter4) := okc_p_util.raw_to_number(sys_guid());
18709 l_cle_mapping_tab(l_trx_assets_counter4).new_id := l_tb2id_tab(l_trx_assets_counter4);
18710 --print('Upto 3...');
18711 l_tb2object_version_number_tab(l_trx_assets_counter4) := 1;
18712 l_tb2tas_id_tab(l_trx_assets_counter4) := l_t3id_tab(l_trx_assets_counter4);
18713 -- id already changed earlier
18714 l_tb2kle_id_tab(l_trx_assets_counter4) := l_id_tab(i);
18715
18716 --print('Upto 4...');
18717 -- Store Tal id to kle_id mapping
18718 l_dbid_mapping_tab(l_tal_to_kle_counter).tal_id := l_tb2id_tab(l_trx_assets_counter4);
18719 l_dbid_mapping_tab(l_tal_to_kle_counter).kle_id := l_tb2kle_id_tab(l_trx_assets_counter4);
18720 l_tal_to_kle_counter := l_tal_to_kle_counter + 1;
18721
18722 --print('Upto asset_number...');
18723 --print('l_trx_assets_counter4=' || l_trx_assets_counter4);
18724 l_tb2dnz_khr_id_tab(l_trx_assets_counter4) := l_copied_id;
18725 --print('Upto asset_number l_name_tab('|| i || ')=' || l_name_tab(i));
18726 l_cle_id := find_cid_mapping_id(l_tb2kle_id_tab(l_trx_assets_counter4));
18727 --print('Upto 6 l_cle_id=' || l_cle_id);
18728 IF (l_cle_id = -1) THEN
18729 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18730 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping cle_id not found for id ' || l_tb2kle_id_tab(l_trx_assets_counter4));
18731 END IF;
18732 RAISE OKL_API.G_EXCEPTION_ERROR;
18733 END IF;
18734
18735 l_asset_name_old := find_bid_mapping_id(l_cle_id, 33);
18736 IF (l_asset_name_old = '-1') THEN
18737 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18738 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping bid_mapping not found for ' || l_cle_id);
18739 END IF;
18740 RAISE OKL_API.G_EXCEPTION_ERROR;
18741 END IF;
18742 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18743 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_asset_name_old=' || l_asset_name_old);
18744 END IF;
18745 l_tb2asset_number_tab(l_trx_assets_counter4) := l_asset_name_old; --old asset
18746 --print('Upto asset_number l_name_tab('|| i || ')=' || l_name_tab(i));
18747 IF (l_tb2asset_number_tab(l_trx_assets_counter4) IS NOT NULL) THEN
18748 l_new_asset_number := find_aid_mapping_id(l_tb2asset_number_tab(l_trx_assets_counter4));
18749 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18750 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_new_asset_number=' || l_new_asset_number);
18751 END IF;
18752 IF (l_new_asset_number <> '-1') THEN
18753 l_tb2asset_number_tab(l_trx_assets_counter4) := l_new_asset_number;
18754 END IF;
18755 END IF;
18756
18757 --print('Upto asset_number...');
18758 l_tb2line_number_tab(l_trx_assets_counter4) := 1;
18759 l_tb2tal_type_tab(l_trx_assets_counter4) := p_trans_type;
18760
18761 -- Populate location_id
18762 l_tb2fa_location_id_tab(l_trx_assets_counter4) := NULL;
18763
18764 -- Todo AKP
18765 l_tmp_okl_33_rec := find_okl_k_lines_rec(l_cle_id);
18766 --print('Upto 8...l_tmp_okl_33_rec.oec=' || l_tmp_okl_33_rec.oec);
18767 IF (l_tmp_okl_33_rec.oec = OKL_API.G_MISS_NUM ) THEN
18768 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18769 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okl_k_lines_rec not found for ' || l_cle_id );
18770 END IF;
18771 RAISE OKL_API.G_EXCEPTION_ERROR;
18772 END IF;
18773
18774 --print('Calling find_cle_lse_mapping with ' || l_cle_id || ':34');
18775 l_new_34_id := find_cle_lse_mapping_id(l_cle_id, 34);
18776 --print('Upto 9... l_new_34_id = ' || l_new_34_id);
18777 IF (l_new_34_id = -1) THEN
18778 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18779 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping cle_lse_mapping not found for ' || l_cle_id || ':33');
18780 END IF;
18781 RAISE OKL_API.G_EXCEPTION_ERROR;
18782 END IF;
18783 l_tmp_okc_34_rec := find_okc_k_items_rec(l_new_34_id);
18784 --print('Upto 10... l_tmp_okc_34_rec.number_of_items='|| l_tmp_okc_34_rec.number_of_items);
18785 IF (l_tmp_okc_34_rec.number_of_items = OKL_API.G_MISS_NUM) THEN
18786 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18787 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okl_k_lines_rec not found for ' || l_new_34_id );
18788 END IF;
18789 RAISE OKL_API.G_EXCEPTION_ERROR;
18790 END IF;
18791
18792 --print('Upto 11...');
18793 l_tb2original_cost_tab(l_trx_assets_counter4) := l_tmp_okl_33_rec.oec;
18794 l_tb2depreciation_cost_tab(l_trx_assets_counter4) := l_tmp_okl_33_rec.oec;
18795 l_tb2current_units_tab(l_trx_assets_counter4) := l_tmp_okc_34_rec.number_of_items;
18796 -- Bug 4636587
18797 IF (p_trans_type = 'CRB') THEN
18798 l_tb2fa_cost_tab(l_trx_assets_counter4) := l_tmp_okl_33_rec.oec;
18799 ELSE
18800 l_tb2fa_cost_tab(l_trx_assets_counter4) := NULL;
18801 END IF;
18802 --print('Upto 11.1...');
18803
18804 --print('Upto 12...');
18805
18806 l_tmp_okl_42_rec := find_okl_k_lines_rec(l_id_tab(i));
18807 --print('Upto 13 l_tmp_okl_42_rec.year_built=' || l_tmp_okl_42_rec.year_built);
18808 IF (l_tmp_okl_42_rec.year_built = OKL_API.G_MISS_NUM) THEN
18809 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18810 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okl_k_lines_rec not found for ' || l_id_tab(i));
18811 END IF;
18812 RAISE OKL_API.G_EXCEPTION_ERROR;
18813 END IF;
18814
18815 l_tb2year_manufactured_tab(l_trx_assets_counter4) := l_tmp_okl_42_rec.year_built;
18816
18817 l_tb2manufacturer_name_tab(l_trx_assets_counter4) := NULL;
18818 l_tb2used_asset_yn_tab(l_trx_assets_counter4) := NULL;
18819
18820
18821 l_tb2tag_number_tab(l_trx_assets_counter4) := NULL;
18822 l_tb2model_number_tab(l_trx_assets_counter4) := NULL;
18823 l_tb2corporate_book_tab(l_trx_assets_counter4) := NULL;
18824 l_tb2in_service_date_tab(l_trx_assets_counter4) := NULL;
18825 l_tb2depreciation_id_tab(l_trx_assets_counter4) := NULL;
18826 l_tb2deprn_method_tab(l_trx_assets_counter4) := NULL;
18827 l_tb2deprn_rate_tab(l_trx_assets_counter4) := NULL;
18828 l_tb2life_in_months_tab(l_trx_assets_counter4) := NULL;
18829 l_tb2salvage_value_tab(l_trx_assets_counter4) := NULL;
18830 l_tb2percent_salvage_value_tab(l_trx_assets_counter4) := NULL;
18831
18832 l_tb2asset_key_id_tab(l_trx_assets_counter4) := NULL;
18833 l_tb2fa_trx_date_tab(l_trx_assets_counter4) := NULL;
18834
18835 --print('Upto 14...');
18836
18837 -- Populate okl_trx_assets_tl
18838 FOR j IN l_lang_tab.first..l_lang_tab.last
18839 LOOP
18840 --print('Upto 15...');
18841 l_tl2id_tab(l_txl_assets_tl_counter4) := l_tb2id_tab(l_trx_assets_counter4);
18842 l_tl2description_tab(l_txl_assets_tl_counter4) := l_tmp_okl_33_rec.item_description;
18843 l_tl2language_tab(l_txl_assets_tl_counter4) := l_lang_tab(j);
18844
18845 l_txl_assets_tl_counter4 := l_txl_assets_tl_counter4 + 1;
18846 END LOOP;
18847
18848 l_trx_assets_counter4 := l_trx_assets_counter4 + 1;
18849
18850 END IF; /* if object1_id1 is null and object1_id2 is null */
18851
18852 END IF; /* if lse_id_tab(i) = 42 */
18853 END LOOP; /* loop on l_id_tab(i) */
18854 END IF; /* if l_id_tab.count > 0 */
18855
18856 END IF; /* if loan BOOKED condition */
18857 END IF; /* if l_ID1_tab.count < 1 */
18858
18859 -- By this time populated everything
18860
18861 -- Insert into corr tables
18862 IF (l_trx_assets_counter4 > 1) THEN
18863 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18864 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trx_assets_counter4='||l_trx_assets_counter4 || ' l_t3id_tab.count='||l_t3id_tab.COUNT);
18865 END IF;
18866
18867 --Added by dpsingh for LE Uptake
18868 l_legal_entity_id := OKL_LEGAL_ENTITY_UTIL.get_khr_le_id(p_old_id) ;
18869 IF l_legal_entity_id IS NULL THEN
18870 -- get the contract number
18871 OPEN contract_num_csr(p_old_id);
18872 FETCH contract_num_csr INTO l_cntrct_number;
18873 CLOSE contract_num_csr;
18874 Okl_Api.set_message(p_app_name => g_app_name,
18875 p_msg_name => 'OKL_LE_NOT_EXIST_CNTRCT',
18876 p_token1 => 'CONTRACT_NUMBER',
18877 p_token1_value => l_cntrct_number);
18878 RAISE OKL_API.G_EXCEPTION_ERROR;
18879 END IF;
18880 forall i IN l_t3id_tab.first..l_t3id_tab.last
18881 INSERT INTO okl_trx_assets (
18882 id, tas_type, object_version_number,
18883 tsu_code, try_id, date_trans_occurred,
18884 created_by, creation_date, last_updated_by,
18885 last_update_date, last_update_login, trans_number,legal_entity_id
18886 ,transaction_date
18887 ) VALUES (
18888 l_t3id_tab(i), p_trans_type, 1,
18889 'ENTERED', l_try_id, SYSDATE, -- AKP: populate try_id properly
18890 l_created_by, SYSDATE, l_last_updated_by,
18891 SYSDATE, l_last_update_login, okl_trn_seq.NEXTVAL,l_legal_entity_id
18892 ,SYSDATE
18893 );
18894
18895 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18896 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trx_assets_counter4='||l_trx_assets_counter4 || ' l_tb2id_tab.count='||l_tb2id_tab.COUNT);
18897 END IF;
18898
18899 IF (l_tb2id_tab.COUNT > 0) THEN
18900 forall i IN l_tb2id_tab.first..l_tb2id_tab.last
18901 INSERT INTO okl_txl_assets_b (
18902 id, object_version_number, tas_id,
18903 kle_id, dnz_khr_id, line_number,
18904 asset_number, tal_type, original_cost,
18905 depreciation_cost, current_units, manufacturer_name,
18906 used_asset_yn, tag_number, model_number,
18907 corporate_book, in_service_date, depreciation_id,
18908 deprn_method, deprn_rate, life_in_months,
18909 salvage_value, percent_salvage_value, asset_key_id,
18910 fa_trx_date, created_by, creation_date,
18911 last_updated_by, last_update_date, last_update_login,
18912 fa_location_id, currency_code, currency_conversion_type,
18913 currency_conversion_rate, currency_conversion_date, year_manufactured,
18914 fa_cost
18915 ) VALUES (
18916 l_tb2id_tab(i), 1, l_tb2tas_id_tab(i),
18917 l_tb2kle_id_tab(i), l_tb2dnz_khr_id_tab(i), l_tb2line_number_tab(i),
18918 l_tb2asset_number_tab(i), l_tb2tal_type_tab(i), l_tb2original_cost_tab(i),
18919 l_tb2depreciation_cost_tab(i), l_tb2current_units_tab(i), l_tb2manufacturer_name_tab(i),
18920 l_tb2used_asset_yn_tab(i), l_tb2tag_number_tab(i), l_tb2model_number_tab(i),
18921 l_tb2corporate_book_tab(i), l_tb2in_service_date_tab(i), l_tb2depreciation_id_tab(i),
18922 l_tb2deprn_method_tab(i), l_tb2deprn_rate_tab(i), l_tb2life_in_months_tab(i),
18923 l_tb2salvage_value_tab(i), l_tb2percent_salvage_value_tab(i), l_tb2asset_key_id_tab(i),
18924 l_tb2fa_trx_date_tab(i), l_created_by, SYSDATE,
18925 l_last_updated_by, SYSDATE, l_last_update_login,
18926 l_tb2fa_location_id_tab(i), l_contract_currency, l_conversion_type,
18927 l_conversion_rate, l_conversion_rate_date, l_tb2year_manufactured_tab(i),
18928 l_tb2fa_cost_tab(i)
18929 );
18930 END IF;
18931
18932 IF (l_txl_assets_tl_counter4 > 1) THEN
18933 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18934 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txl_assets_tl_counter4=' || l_txl_assets_tl_counter4 || ' l_tl2id_tab.count=' || l_tl2id_tab.COUNT);
18935 END IF;
18936 IF (l_tl2id_tab.COUNT > 0) THEN
18937 forall i IN l_tl2id_tab.first..l_tl2id_tab.last
18938 INSERT INTO okl_txl_assets_tl (
18939 id, LANGUAGE, source_lang,
18940 sfwt_flag, description, created_by,
18941 creation_date, last_updated_by, last_update_date,
18942 last_update_login
18943 ) VALUES (
18944 l_tl2id_tab(i), l_tl2language_tab(i), l_base_language,
18945 'N', l_tl2description_tab(i), l_created_by,
18946 SYSDATE, l_last_updated_by, SYSDATE,
18947 l_last_update_login
18948 );
18949 END IF;
18950 END IF;
18951 END IF;
18952
18953 IF ( l_txd_assets_b_counter4 > 1) THEN
18954 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18955 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txd_assets_b_counter4='||l_txd_assets_b_counter4 || ' l_db2id_tab.count='||l_db2id_tab.COUNT);
18956 END IF;
18957 IF (l_db2id_tab.COUNT > 0) THEN
18958 forall i IN l_db2id_tab.first..l_db2id_tab.last
18959 INSERT INTO okl_txd_assets_b (
18960 id, object_version_number, tal_id,
18961 asset_number, line_detail_number, quantity,
18962 cost, tax_book, salvage_value,
18963 deprn_method_tax, life_in_months_tax, deprn_rate_tax,
18964 created_by, creation_date, last_updated_by,
18965 last_update_date, last_update_login, currency_code,
18966 currency_conversion_type, currency_conversion_rate, currency_conversion_date
18967 ) VALUES (
18968 l_db2id_tab(i), 1, l_db2tal_id_tab(i),
18969 l_db2asset_number_tab(i), l_db2line_detail_number_tab(i), l_db2quantity_tab(i),
18970 l_db2cost_tab(i), l_db2tax_book_tab(i), l_db2salvage_value_tab(i),
18971 l_db2deprn_method_tax_tab(i), l_db2life_in_months_tax_tab(i), l_db2deprn_rate_tax_tab(i),
18972 l_created_by, SYSDATE, l_last_updated_by,
18973 SYSDATE, l_last_update_login, l_contract_currency,
18974 l_conversion_type, l_conversion_rate, l_conversion_rate_date
18975 );
18976 END IF;
18977
18978 IF ( l_txd_assets_tl_counter4 > 1) THEN
18979 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18980 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txd_assets_tl_counter4=' || l_txd_assets_tl_counter4 || ' l_dl2id_tab.count=' || l_dl2id_tab.COUNT);
18981 END IF;
18982 IF (l_dl2id_tab.COUNT > 0) THEN
18983 forall i IN l_dl2id_tab.first..l_dl2id_tab.last
18984 INSERT INTO okl_txd_assets_tl (
18985 id, LANGUAGE, source_lang,
18986 sfwt_flag, description, created_by,
18987 creation_date, last_updated_by, last_update_date,
18988 last_update_login
18989 ) VALUES (
18990 l_dl2id_tab(i), l_dl2language_tab(i), l_base_language,
18991 'N', l_dl2description_tab(i), l_created_by,
18992 SYSDATE, l_last_updated_by, SYSDATE,
18993 l_last_update_login
18994 );
18995 END IF;
18996 END IF;
18997 END IF;
18998
18999 EXCEPTION WHEN OTHERS THEN
19000 -- AKP: Replace OKL_AM_NO_OLD_SALVAGE_VALUE globally
19001 -- AKP: change p_msg_name to proper name
19002 -- AKP: Change p_token1 to proper token
19003 -- AKP: Change p_token1_value to proper value
19004
19005 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19006 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
19007 END IF;
19008 x_return_status := OKL_API.G_RET_STS_ERROR;
19009 /* DEBUG */
19010 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19011 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okl_trx_assets:l_t3id_tab.count=' || l_t3id_tab.COUNT || ' ...');
19012 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_try_id=' || l_try_id);
19013 END IF;
19014 IF (l_t3id_tab.COUNT > 0) THEN
19015 FOR i IN l_t3id_tab.first..l_t3id_tab.last
19016 LOOP
19017 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19018 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t3id_tab('||i||')=' || l_t3id_tab(i));
19019 END IF;
19020 END LOOP;
19021 END IF;
19022
19023 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19024 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_tb2id_tab.count' || l_tb2id_tab.COUNT || ' ...');
19025 END IF;
19026 IF (l_tb2id_tab.COUNT > 0) THEN
19027 FOR i IN l_tb2id_tab.first..l_tb2id_tab.last
19028 LOOP
19029 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19030 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2id_tab('||i||')='|| l_tb2id_tab(i));
19031 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2tas_id_tab('||i||')=' || l_tb2tas_id_tab(i));
19032 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2kle_id_tab('||i||')=' || l_tb2kle_id_tab(i));
19033 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2dnz_khr_id_tab('||i||')=' || l_tb2dnz_khr_id_tab(i));
19034 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2line_number_tab('||i||')=' || l_tb2line_number_tab(i));
19035 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2asset_number_tab('||i||')=' || l_tb2asset_number_tab(i));
19036 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2tal_type_tab('||i||')=' || l_tb2tal_type_tab(i));
19037 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2original_cost_tab('||i||')=' || l_tb2original_cost_tab(i));
19038 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2depreciation_cost_tab('||i||')=' || l_tb2depreciation_cost_tab(i));
19039 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2current_units_tab('||i||')=' || l_tb2current_units_tab(i));
19040 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2manufacturer_name_tab('||i||')=' || l_tb2manufacturer_name_tab(i));
19041 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2used_asset_yn_tab('||i||')=' || l_tb2used_asset_yn_tab(i));
19042 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2tag_number_tab('||i||')=' || l_tb2tag_number_tab(i));
19043 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2model_number_tab('||i||')=' || l_tb2model_number_tab(i));
19044 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2corporate_book_tab('||i||')=' || l_tb2corporate_book_tab(i));
19045 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2in_service_date_tab('||i||')=' || l_tb2in_service_date_tab(i));
19046 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2depreciation_id_tab('||i||')=' || l_tb2depreciation_id_tab(i));
19047 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2deprn_method_tab('||i||')=' || l_tb2deprn_method_tab(i));
19048 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2deprn_rate_tab('||i||')=' || l_tb2deprn_rate_tab(i));
19049 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2life_in_months_tab('||i||')=' || l_tb2life_in_months_tab(i));
19050 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2salvage_value_tab('||i||')=' || l_tb2salvage_value_tab(i));
19051 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2percent_salvage_value_tab('||i||')=' || l_tb2percent_salvage_value_tab(i));
19052 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2asset_key_id_tab('||i||')=' || l_tb2asset_key_id_tab(i));
19053 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2fa_trx_date_tab('||i||')=' || l_tb2fa_trx_date_tab(i));
19054 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2fa_location_id_tab('||i||')=' || l_tb2fa_location_id_tab(i));
19055 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2fa_cost_tab('||i||')=' || l_tb2fa_cost_tab(i));
19056 END IF;
19057
19058 END LOOP;
19059 END IF;
19060
19061 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19062 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_tl2id_tab.count=' || l_tl2id_tab.COUNT || ' ...');
19063 END IF;
19064 IF (l_tl2id_tab.COUNT > 0) THEN
19065 FOR i IN l_tl2id_tab.first..l_tl2id_tab.last
19066 LOOP
19067 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19068 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tl2id_tab('||i||')=' || l_tl2id_tab(i));
19069 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tl2language_tab('||i||')=' || l_tl2language_tab(i));
19070 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_base_language('||i||')=' || l_base_language);
19071 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tl2description_tab('||i||')=' || l_tl2description_tab(i));
19072 END IF;
19073 END LOOP;
19074 END IF;
19075
19076 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19077 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_db2id_tab.count=' || l_db2id_tab.COUNT || ' ...');
19078 END IF;
19079 IF (l_db2id_tab.COUNT > 0) THEN
19080 FOR i IN l_db2id_tab.first..l_db2id_tab.last
19081 LOOP
19082 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19083 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2id_tab('||i||')=' || l_db2id_tab(i));
19084 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2tal_id_tab('||i||')=' || l_db2tal_id_tab(i));
19085 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2asset_number_tab('||i||')=' || l_db2asset_number_tab(i));
19086 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2line_detail_number_tab('||i||')=' || l_db2line_detail_number_tab(i));
19087 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2quantity_tab('||i||')=' || l_db2quantity_tab(i));
19088 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2cost_tab('||i||')=' || l_db2cost_tab(i));
19089 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2tax_book_tab('||i||')=' || l_db2tax_book_tab(i));
19090 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2salvage_value_tab('||i||')=' || l_db2salvage_value_tab(i));
19091 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2deprn_method_tax_tab('||i||')=' || l_db2deprn_method_tax_tab(i));
19092 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2life_in_months_tax_tab('||i||')=' || l_db2life_in_months_tax_tab(i));
19093 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2deprn_rate_tax_tab('||i||')=' || l_db2deprn_rate_tax_tab(i));
19094 END IF;
19095 END LOOP;
19096 END IF;
19097
19098 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19099 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_dl2id_tab.count=' || l_dl2id_tab.COUNT || ' ...');
19100 END IF;
19101 IF (l_dl2id_tab.COUNT > 0) THEN
19102 FOR i IN l_dl2id_tab.first..l_dl2id_tab.last
19103 LOOP
19104 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19105 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dl2id_tab('||i||')=' || l_dl2id_tab(i));
19106 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dl2language_tab('||i||')=' || l_dl2language_tab(i));
19107 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_base_language('||i||')=' || l_base_language);
19108 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dl2description_tab('||i||')=' || l_dl2description_tab(i));
19109 END IF;
19110 END LOOP;
19111 END IF;
19112
19113 RAISE OKC_API.G_EXCEPTION_ERROR;
19114 END; /* insert okl_trx_assets_3 */
19115
19116 PROCEDURE insert_okc_rg_party_roles(p_old_id IN okc_k_headers_b.id%TYPE,
19117 p_new_id IN okc_k_headers_b.id%TYPE) IS
19118 CURSOR c25(p_id NUMBER) IS
19119 SELECT
19120 a.id, a.rgp_id, a.rrd_id,
19121 a.cpl_id, a.dnz_chr_id, a.object_version_number,
19122 a.created_by, a.creation_date, a.last_updated_by,
19123 a.last_update_date, a.last_update_login, a.security_group_id
19124 FROM okc_rg_party_roles a,
19125 okc_rule_groups_b b
19126 WHERE a.rgp_id = b.id
19127 AND b.dnz_chr_id = p_id
19128 AND (
19129 b.chr_id = b.chr_id
19130 OR (
19131 NVL(p_trans_type, 'N') = 'Y'
19132 AND b.cle_id IS NOT NULL
19133 )
19134 );
19135
19136 l_gid_tab2 l_gid_type;
19137 l_grgp_id_tab2 l_grgp_id_type;
19138 l_grrd_id_tab2 l_grrd_id_type;
19139 l_gcpl_id_tab2 l_gcpl_id_type;
19140 l_gdnz_chr_id_tab2 l_gdnz_chr_id_type;
19141 l_gobject_version_number_tab2 l_gobject_version_number_type;
19142 l_gcreated_by_tab2 l_gcreated_by_type;
19143 l_gcreation_date_tab2 l_gcreation_date_type;
19144 l_glast_updated_by_tab2 l_glast_updated_by_type;
19145 l_glast_update_date_tab2 l_glast_update_date_type;
19146 l_glast_update_login_tab2 l_glast_update_login_type;
19147 l_gsecurity_group_id_tab2 l_gsecurity_group_id_type;
19148
19149 l_new_rgp_id NUMBER;
19150 l_new_cpl_id NUMBER;
19151
19152 BEGIN
19153 IF (G_DEBUG_ENABLED = 'Y') THEN
19154 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
19155 END IF;
19156 OPEN c25(p_old_id);
19157 LOOP
19158 FETCH c25 bulk collect INTO
19159 l_gid_tab2, l_grgp_id_tab2, l_grrd_id_tab2,
19160 l_gcpl_id_tab2, l_gdnz_chr_id_tab2, l_gobject_version_number_tab2,
19161 l_gcreated_by_tab2, l_gcreation_date_tab2, l_glast_updated_by_tab2,
19162 l_glast_update_date_tab2, l_glast_update_login_tab2, l_gsecurity_group_id_tab2
19163
19164 limit G_BULK_SIZE;
19165 EXIT WHEN l_gid_tab2.COUNT = 0;
19166 FOR i IN l_gid_tab2.first..l_gid_tab2.last
19167 LOOP
19168 l_gid_tab(l_rg_party_roles_counter) := l_gid_tab2(i);
19169 -- Change id
19170 l_gid_tab(l_rg_party_roles_counter) := okc_p_util.raw_to_number(sys_guid());
19171
19172 l_grgp_id_tab(l_rg_party_roles_counter) := l_grgp_id_tab2(i);
19173 -- Change rgp_id
19174 l_new_rgp_id := find_rid_mapping_id(l_grgp_id_tab(l_rg_party_roles_counter));
19175 IF (l_new_rgp_id = -1) THEN
19176 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19177 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_grgp_id_tab(l_rg_party_roles_counter));
19178 END IF;
19179 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
19180 END IF;
19181 l_grgp_id_tab(l_rg_party_roles_counter) := l_new_rgp_id;
19182
19183 l_grrd_id_tab(l_rg_party_roles_counter) := l_grrd_id_tab2(i);
19184 -- Change rrd_id ??? AKP
19185
19186 l_gcpl_id_tab(l_rg_party_roles_counter) := l_gcpl_id_tab2(i);
19187 -- Change cpl_id
19188 l_new_cpl_id := find_party_mapping_id(l_gcpl_id_tab(l_rg_party_roles_counter));
19189 l_gcpl_id_tab(l_rg_party_roles_counter) := l_new_cpl_id;
19190
19191 l_gdnz_chr_id_tab(l_rg_party_roles_counter) := l_gdnz_chr_id_tab2(i);
19192 -- Change dnz_chr_id
19193 l_gdnz_chr_id_tab(l_rg_party_roles_counter) := p_new_id;
19194
19195 l_gobject_version_number_tab(l_rg_party_roles_counter) := l_gobject_version_number_tab2(i);
19196 l_gcreated_by_tab(l_rg_party_roles_counter) := l_gcreated_by_tab2(i);
19197 l_gcreation_date_tab(l_rg_party_roles_counter) := l_gcreation_date_tab2(i);
19198 l_glast_updated_by_tab(l_rg_party_roles_counter) := l_glast_updated_by_tab2(i);
19199 l_glast_update_date_tab(l_rg_party_roles_counter) := l_glast_update_date_tab2(i);
19200 l_glast_update_login_tab(l_rg_party_roles_counter) := l_glast_update_login_tab2(i);
19201 l_gsecurity_group_id_tab(l_rg_party_roles_counter) := l_gsecurity_group_id_tab2(i);
19202
19203 l_rg_party_roles_counter := l_rg_party_roles_counter + 1;
19204
19205 END LOOP;
19206 END LOOP;
19207 CLOSE c25;
19208 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19209 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rg_party_roles_counter='||l_rg_party_roles_counter || ' l_gid_tab.count=' || l_gid_tab.COUNT);
19210 END IF;
19211 IF (l_rg_party_roles_counter > 1) THEN
19212 forall i IN l_gid_tab.first..l_gid_tab.last
19213 INSERT INTO okc_rg_party_roles (
19214 id, rgp_id, rrd_id,
19215 cpl_id, dnz_chr_id, object_version_number,
19216 created_by, creation_date, last_updated_by,
19217 last_update_date, last_update_login, security_group_id
19218 ) VALUES (
19219 l_gid_tab(i), l_grgp_id_tab(i), l_grrd_id_tab(i),
19220 l_gcpl_id_tab(i), l_gdnz_chr_id_tab(i), l_gobject_version_number_tab(i),
19221 l_created_by, SYSDATE, l_last_updated_by,
19222 SYSDATE, l_last_update_login, l_gsecurity_group_id_tab(i)
19223 );
19224 END IF;
19225 EXCEPTION WHEN OTHERS THEN
19226
19227 x_return_status := OKL_API.G_RET_STS_ERROR;
19228 /*OKL_API.set_message(p_app_name => 'OKL',
19229 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
19230 p_token1 => 'ASSET_NUMBER',
19231 p_token1_value => 'okc_rg_party_roles');*/
19232 /* DEBUG */
19233 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19234 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
19235 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okc_rg_party_roles: l_gid_tab.count=' || l_gid_tab.COUNT || ' ...');
19236 END IF;
19237 IF (l_gid_tab.COUNT > 0) THEN
19238 FOR i IN l_gid_tab.first..l_gid_tab.last
19239 LOOP
19240 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19241 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gid_tab('||i||')=' || l_gid_tab(i));
19242 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_grgp_id_tab('||i||')=' || l_grgp_id_tab(i));
19243 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_grrd_id_tab('||i||')=' || l_grrd_id_tab(i));
19244 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gcpl_id_tab('||i||')=' || l_gcpl_id_tab(i));
19245 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gdnz_chr_id_tab('||i||')=' || l_gdnz_chr_id_tab(i));
19246 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gobject_version_number_tab('||i||')=' || l_gobject_version_number_tab(i));
19247 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gsecurity_group_id_tab('||i||')=' || l_gsecurity_group_id_tab(i));
19248 END IF;
19249 END LOOP;
19250 END IF;
19251
19252 RAISE OKC_API.G_EXCEPTION_ERROR;
19253
19254 END; /* insert_okc_rg_party_roles */
19255
19256 PROCEDURE insert_okl_supp_invoice_dtls(p_old_id IN okc_k_headers_b.id%TYPE)
19257 IS
19258 CURSOR c26(p_id NUMBER) IS
19259 SELECT
19260 a.id, a.object_version_number, a.cle_id,
19261 a.fa_cle_id, a.invoice_number, a.date_invoiced,
19262 a.date_due, a.shipping_address_id1, a.shipping_address_id2,
19263 a.shipping_address_code, a.attribute_category, a.attribute1,
19264 a.attribute2, a.attribute3, a.attribute4,
19265 a.attribute5, a.attribute6, a.attribute7,
19266 a.attribute8, a.attribute9, a.attribute10,
19267 a.attribute11, a.attribute12, a.attribute13,
19268 a.attribute14, a.attribute15, a.created_by,
19269 a.creation_date, a.last_updated_by, a.last_update_date,
19270 a.last_update_login
19271 FROM okl_supp_invoice_dtls a,
19272 okc_k_lines_b b
19273 WHERE b.dnz_chr_id = p_id
19274 AND (
19275 ( a.cle_id = b.id AND b.lse_id IN (34,44) )
19276 -- Bug (duplicate supp invoice dtls lines because of the OR condition)
19277 --OR
19278 --( a.fa_cle_id = b.id AND b.lse_id = 42 )
19279 );
19280
19281 -- Commented here. Moved it to make global.
19282 /*
19283 TYPE l_osid_type is table of okl_supp_invoice_dtls.id%TYPE index by binary_integer;
19284 TYPE l_osobject_version_number_type is table of okl_supp_invoice_dtls.object_version_number%TYPE index by binary_integer;
19285 TYPE l_oscle_id_type is table of okl_supp_invoice_dtls.cle_id%TYPE index by binary_integer;
19286 TYPE l_osfa_cle_id_type is table of okl_supp_invoice_dtls.fa_cle_id%TYPE index by binary_integer;
19287 TYPE l_osinvoice_number_type is table of okl_supp_invoice_dtls.invoice_number%TYPE index by binary_integer;
19288 TYPE l_osdate_invoiced_type is table of okl_supp_invoice_dtls.date_invoiced%TYPE index by binary_integer;
19289 TYPE l_osdate_due_type is table of okl_supp_invoice_dtls.date_due%TYPE index by binary_integer;
19290 TYPE l_osshipping_address_id1_type is table of okl_supp_invoice_dtls.shipping_address_id1%TYPE index by binary_integer;
19291 TYPE l_osshipping_address_id2_type is table of okl_supp_invoice_dtls.shipping_address_id2%TYPE index by binary_integer;
19292 TYPE l_osshipping_address_code_type is table of okl_supp_invoice_dtls.shipping_address_code%TYPE index by binary_integer;
19293 TYPE l_osattribute_category_type is table of okl_supp_invoice_dtls.attribute_category%TYPE index by binary_integer;
19294 TYPE l_osattribute1_type is table of okl_supp_invoice_dtls.attribute1%TYPE index by binary_integer;
19295 TYPE l_osattribute2_type is table of okl_supp_invoice_dtls.attribute2%TYPE index by binary_integer;
19296 TYPE l_osattribute3_type is table of okl_supp_invoice_dtls.attribute3%TYPE index by binary_integer;
19297 TYPE l_osattribute4_type is table of okl_supp_invoice_dtls.attribute4%TYPE index by binary_integer;
19298 TYPE l_osattribute5_type is table of okl_supp_invoice_dtls.attribute5%TYPE index by binary_integer;
19299 TYPE l_osattribute6_type is table of okl_supp_invoice_dtls.attribute6%TYPE index by binary_integer;
19300 TYPE l_osattribute7_type is table of okl_supp_invoice_dtls.attribute7%TYPE index by binary_integer;
19301 TYPE l_osattribute8_type is table of okl_supp_invoice_dtls.attribute8%TYPE index by binary_integer;
19302 TYPE l_osattribute9_type is table of okl_supp_invoice_dtls.attribute9%TYPE index by binary_integer;
19303 TYPE l_osattribute10_type is table of okl_supp_invoice_dtls.attribute10%TYPE index by binary_integer;
19304 TYPE l_osattribute11_type is table of okl_supp_invoice_dtls.attribute11%TYPE index by binary_integer;
19305 TYPE l_osattribute12_type is table of okl_supp_invoice_dtls.attribute12%TYPE index by binary_integer;
19306 TYPE l_osattribute13_type is table of okl_supp_invoice_dtls.attribute13%TYPE index by binary_integer;
19307 TYPE l_osattribute14_type is table of okl_supp_invoice_dtls.attribute14%TYPE index by binary_integer;
19308 TYPE l_osattribute15_type is table of okl_supp_invoice_dtls.attribute15%TYPE index by binary_integer;
19309 TYPE l_oscreated_by_type is table of okl_supp_invoice_dtls.created_by%TYPE index by binary_integer;
19310 TYPE l_oscreation_date_type is table of okl_supp_invoice_dtls.creation_date%TYPE index by binary_integer;
19311 TYPE l_oslast_updated_by_type is table of okl_supp_invoice_dtls.last_updated_by%TYPE index by binary_integer;
19312 TYPE l_oslast_update_date_type is table of okl_supp_invoice_dtls.last_update_date%TYPE index by binary_integer;
19313 TYPE l_oslast_update_login_type is table of okl_supp_invoice_dtls.last_update_login%TYPE index by binary_integer;
19314
19315 l_osid_tab l_osid_type;
19316 l_osobject_version_number_tab l_osobject_version_number_type;
19317 l_oscle_id_tab l_oscle_id_type;
19318 l_osfa_cle_id_tab l_osfa_cle_id_type;
19319 l_osinvoice_number_tab l_osinvoice_number_type;
19320 l_osdate_invoiced_tab l_osdate_invoiced_type;
19321 l_osdate_due_tab l_osdate_due_type;
19322 l_osshipping_address_id1_tab l_osshipping_address_id1_type;
19323 l_osshipping_address_id2_tab l_osshipping_address_id2_type;
19324 l_osshipping_address_code_tab l_osshipping_address_code_type;
19325 l_osattribute_category_tab l_osattribute_category_type;
19326 l_osattribute1_tab l_osattribute1_type;
19327 l_osattribute2_tab l_osattribute2_type;
19328 l_osattribute3_tab l_osattribute3_type;
19329 l_osattribute4_tab l_osattribute4_type;
19330 l_osattribute5_tab l_osattribute5_type;
19331 l_osattribute6_tab l_osattribute6_type;
19332 l_osattribute7_tab l_osattribute7_type;
19333 l_osattribute8_tab l_osattribute8_type;
19334 l_osattribute9_tab l_osattribute9_type;
19335 l_osattribute10_tab l_osattribute10_type;
19336 l_osattribute11_tab l_osattribute11_type;
19337 l_osattribute12_tab l_osattribute12_type;
19338 l_osattribute13_tab l_osattribute13_type;
19339 l_osattribute14_tab l_osattribute14_type;
19340 l_osattribute15_tab l_osattribute15_type;
19341 l_oscreated_by_tab l_oscreated_by_type;
19342 l_oscreation_date_tab l_oscreation_date_type;
19343 l_oslast_updated_by_tab l_oslast_updated_by_type;
19344 l_oslast_update_date_tab l_oslast_update_date_type;
19345 l_oslast_update_login_tab l_oslast_update_login_type;
19346
19347 l_supp_invoice_dtls_counter number := 1;
19348 */
19349
19350 l_osid_tab2 l_osid_type;
19351 l_osobject_version_number_tab2 l_osobject_version_number_type;
19352 l_oscle_id_tab2 l_oscle_id_type;
19353 l_osfa_cle_id_tab2 l_osfa_cle_id_type;
19354 l_osinvoice_number_tab2 l_osinvoice_number_type;
19355 l_osdate_invoiced_tab2 l_osdate_invoiced_type;
19356 l_osdate_due_tab2 l_osdate_due_type;
19357 l_osshipping_address_id1_tab2 l_osshipping_address_id1_type;
19358 l_osshipping_address_id2_tab2 l_osshipping_address_id2_type;
19359 l_osshipping_address_code_tab2 l_osshipping_address_code_type;
19360 l_osattribute_category_tab2 l_osattribute_category_type;
19361 l_osattribute1_tab2 l_osattribute1_type;
19362 l_osattribute2_tab2 l_osattribute2_type;
19363 l_osattribute3_tab2 l_osattribute3_type;
19364 l_osattribute4_tab2 l_osattribute4_type;
19365 l_osattribute5_tab2 l_osattribute5_type;
19366 l_osattribute6_tab2 l_osattribute6_type;
19367 l_osattribute7_tab2 l_osattribute7_type;
19368 l_osattribute8_tab2 l_osattribute8_type;
19369 l_osattribute9_tab2 l_osattribute9_type;
19370 l_osattribute10_tab2 l_osattribute10_type;
19371 l_osattribute11_tab2 l_osattribute11_type;
19372 l_osattribute12_tab2 l_osattribute12_type;
19373 l_osattribute13_tab2 l_osattribute13_type;
19374 l_osattribute14_tab2 l_osattribute14_type;
19375 l_osattribute15_tab2 l_osattribute15_type;
19376 l_oscreated_by_tab2 l_oscreated_by_type;
19377 l_oscreation_date_tab2 l_oscreation_date_type;
19378 l_oslast_updated_by_tab2 l_oslast_updated_by_type;
19379 l_oslast_update_date_tab2 l_oslast_update_date_type;
19380 l_oslast_update_login_tab2 l_oslast_update_login_type;
19381
19382 l_new_cle_id NUMBER;
19383 l_new_fa_cle_id NUMBER;
19384 BEGIN
19385 OPEN c26(p_old_id);
19386 LOOP
19387 FETCH c26 bulk collect INTO
19388 l_osid_tab2, l_osobject_version_number_tab2, l_oscle_id_tab2,
19389 l_osfa_cle_id_tab2, l_osinvoice_number_tab2, l_osdate_invoiced_tab2,
19390 l_osdate_due_tab2, l_osshipping_address_id1_tab2, l_osshipping_address_id2_tab2,
19391 l_osshipping_address_code_tab2, l_osattribute_category_tab2, l_osattribute1_tab2,
19392 l_osattribute2_tab2, l_osattribute3_tab2, l_osattribute4_tab2,
19393 l_osattribute5_tab2, l_osattribute6_tab2, l_osattribute7_tab2,
19394 l_osattribute8_tab2, l_osattribute9_tab2, l_osattribute10_tab2,
19395 l_osattribute11_tab2, l_osattribute12_tab2, l_osattribute13_tab2,
19396 l_osattribute14_tab2, l_osattribute15_tab2, l_oscreated_by_tab2,
19397 l_oscreation_date_tab2, l_oslast_updated_by_tab2, l_oslast_update_date_tab2,
19398 l_oslast_update_login_tab2
19399 limit G_BULK_SIZE;
19400 EXIT WHEN l_osid_tab2.COUNT = 0;
19401 FOR i IN l_osid_tab2.first..l_osid_tab2.last
19402 LOOP
19403 l_osid_tab(l_supp_invoice_dtls_counter) := l_osid_tab2(i);
19404 -- Change id
19405 l_osid_tab(l_supp_invoice_dtls_counter) := okc_p_util.raw_to_number(sys_guid());
19406
19407 l_osobject_version_number_tab(l_supp_invoice_dtls_counter) := l_osobject_version_number_tab2(i);
19408 l_oscle_id_tab(l_supp_invoice_dtls_counter) := l_oscle_id_tab2(i);
19409 -- Change cle_id
19410 IF (l_oscle_id_tab(l_supp_invoice_dtls_counter) IS NOT NULL) THEN
19411 l_new_cle_id := find_mapping_id(l_oscle_id_tab(l_supp_invoice_dtls_counter));
19412 IF (l_new_cle_id = -1) THEN
19413 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19414 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_oscle_id_tab(l_supp_invoice_dtls_counter));
19415 END IF;
19416 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
19417 END IF;
19418 l_oscle_id_tab(l_supp_invoice_dtls_counter) := l_new_cle_id;
19419 END IF;
19420
19421 l_osfa_cle_id_tab(l_supp_invoice_dtls_counter) := l_osfa_cle_id_tab2(i);
19422 -- Change fa_cle_id
19423 IF (l_osfa_cle_id_tab(l_supp_invoice_dtls_counter) IS NOT NULL) THEN
19424 l_new_fa_cle_id := find_mapping_id(l_osfa_cle_id_tab(l_supp_invoice_dtls_counter));
19425 l_osfa_cle_id_tab(l_supp_invoice_dtls_counter) := l_new_fa_cle_id;
19426 END IF;
19427
19428 l_osinvoice_number_tab(l_supp_invoice_dtls_counter) := l_osinvoice_number_tab2(i);
19429 l_osdate_invoiced_tab(l_supp_invoice_dtls_counter) := l_osdate_invoiced_tab2(i);
19430 l_osdate_due_tab(l_supp_invoice_dtls_counter) := l_osdate_due_tab2(i);
19431 l_osshipping_address_id1_tab(l_supp_invoice_dtls_counter) := l_osshipping_address_id1_tab2(i);
19432 l_osshipping_address_id2_tab(l_supp_invoice_dtls_counter) := l_osshipping_address_id2_tab2(i);
19433 l_osshipping_address_code_tab(l_supp_invoice_dtls_counter) := l_osshipping_address_code_tab2(i);
19434 l_osattribute_category_tab(l_supp_invoice_dtls_counter) := l_osattribute_category_tab2(i);
19435 l_osattribute1_tab(l_supp_invoice_dtls_counter) := l_osattribute1_tab2(i);
19436 l_osattribute2_tab(l_supp_invoice_dtls_counter) := l_osattribute2_tab2(i);
19437 l_osattribute3_tab(l_supp_invoice_dtls_counter) := l_osattribute3_tab2(i);
19438 l_osattribute4_tab(l_supp_invoice_dtls_counter) := l_osattribute4_tab2(i);
19439 l_osattribute5_tab(l_supp_invoice_dtls_counter) := l_osattribute5_tab2(i);
19440 l_osattribute6_tab(l_supp_invoice_dtls_counter) := l_osattribute6_tab2(i);
19441 l_osattribute7_tab(l_supp_invoice_dtls_counter) := l_osattribute7_tab2(i);
19442 l_osattribute8_tab(l_supp_invoice_dtls_counter) := l_osattribute8_tab2(i);
19443 l_osattribute9_tab(l_supp_invoice_dtls_counter) := l_osattribute9_tab2(i);
19444 l_osattribute10_tab(l_supp_invoice_dtls_counter) := l_osattribute10_tab2(i);
19445 l_osattribute11_tab(l_supp_invoice_dtls_counter) := l_osattribute11_tab2(i);
19446 l_osattribute12_tab(l_supp_invoice_dtls_counter) := l_osattribute12_tab2(i);
19447 l_osattribute13_tab(l_supp_invoice_dtls_counter) := l_osattribute13_tab2(i);
19448 l_osattribute14_tab(l_supp_invoice_dtls_counter) := l_osattribute14_tab2(i);
19449 l_osattribute15_tab(l_supp_invoice_dtls_counter) := l_osattribute15_tab2(i);
19450 l_oscreated_by_tab(l_supp_invoice_dtls_counter) := l_oscreated_by_tab2(i);
19451 l_oscreation_date_tab(l_supp_invoice_dtls_counter) := l_oscreation_date_tab2(i);
19452 l_oslast_updated_by_tab(l_supp_invoice_dtls_counter) := l_oslast_updated_by_tab2(i);
19453 l_oslast_update_date_tab(l_supp_invoice_dtls_counter) := l_oslast_update_date_tab2(i);
19454 l_oslast_update_login_tab(l_supp_invoice_dtls_counter) := l_oslast_update_login_tab2(i);
19455
19456 l_supp_invoice_dtls_counter := l_supp_invoice_dtls_counter + 1;
19457
19458 END LOOP;
19459 END LOOP;
19460 CLOSE c26;
19461 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19462 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_supp_invoice_dtls_counter=' || l_supp_invoice_dtls_counter || ' l_osid_tab.count=' || l_osid_tab.COUNT);
19463 END IF;
19464 IF (l_supp_invoice_dtls_counter > 1) THEN
19465 forall i IN l_osid_tab.first..l_osid_tab.last
19466 INSERT INTO okl_supp_invoice_dtls (
19467 id, object_version_number, cle_id,
19468 fa_cle_id, invoice_number, date_invoiced,
19469 date_due, shipping_address_id1, shipping_address_id2,
19470 shipping_address_code, attribute_category, attribute1,
19471 attribute2, attribute3, attribute4,
19472 attribute5, attribute6, attribute7,
19473 attribute8, attribute9, attribute10,
19474 attribute11, attribute12, attribute13,
19475 attribute14, attribute15, created_by,
19476 creation_date, last_updated_by, last_update_date,
19477 last_update_login
19478 ) VALUES (
19479 l_osid_tab(i), 1, l_oscle_id_tab(i),
19480 l_osfa_cle_id_tab(i), l_osinvoice_number_tab(i), l_osdate_invoiced_tab(i),
19481 l_osdate_due_tab(i), l_osshipping_address_id1_tab(i), l_osshipping_address_id2_tab(i),
19482 l_osshipping_address_code_tab(i), l_osattribute_category_tab(i), l_osattribute1_tab(i),
19483 l_osattribute2_tab(i), l_osattribute3_tab(i), l_osattribute4_tab(i),
19484 l_osattribute5_tab(i), l_osattribute6_tab(i), l_osattribute7_tab(i),
19485 l_osattribute8_tab(i), l_osattribute9_tab(i), l_osattribute10_tab(i),
19486 l_osattribute11_tab(i), l_osattribute12_tab(i), l_osattribute13_tab(i),
19487 l_osattribute14_tab(i), l_osattribute15_tab(i), l_created_by,
19488 SYSDATE, l_last_updated_by, SYSDATE,
19489 l_last_update_login
19490 );
19491 END IF;
19492
19493 EXCEPTION WHEN OTHERS THEN
19494
19495 x_return_status := OKL_API.G_RET_STS_ERROR;
19496 /*OKL_API.set_message(p_app_name => 'OKL',
19497 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
19498 p_token1 => 'ASSET_NUMBER',
19499 p_token1_value => 'okl_supp_invoice_dtls');*/
19500 /* DEBUG */
19501 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19502 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
19503 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okl_supp_invoice_dtls: l_osid_tab.count=' || l_osid_tab.COUNT || ' ...');
19504 END IF;
19505 IF (l_osid_tab.COUNT > 0) THEN
19506 FOR i IN l_osid_tab.first..l_osid_tab.last
19507 LOOP
19508 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19509 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osid_tab('||i||')=' || l_osid_tab(i));
19510 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_oscle_id_tab('||i||')=' || l_oscle_id_tab(i));
19511 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osfa_cle_id_tab('||i||')=' || l_osfa_cle_id_tab(i));
19512 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osinvoice_number_tab('||i||')=' || l_osinvoice_number_tab(i));
19513 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osdate_invoiced_tab('||i||')=' || l_osdate_invoiced_tab(i));
19514 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osdate_due_tab('||i||')=' || l_osdate_due_tab(i));
19515 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osshipping_address_id1_tab('||i||')=' || l_osshipping_address_id1_tab(i));
19516 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osshipping_address_id2_tab('||i||')=' || l_osshipping_address_id2_tab(i));
19517 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osshipping_address_code_tab('||i||')=' || l_osshipping_address_code_tab(i));
19518 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute_category_tab('||i||')=' || l_osattribute_category_tab(i));
19519 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute1_tab('||i||')=' || l_osattribute1_tab(i));
19520 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute2_tab('||i||')=' || l_osattribute2_tab(i));
19521 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute3_tab('||i||')=' || l_osattribute3_tab(i));
19522 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute4_tab('||i||')=' || l_osattribute4_tab(i));
19523 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute5_tab('||i||')=' || l_osattribute5_tab(i));
19524 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute6_tab('||i||')=' || l_osattribute6_tab(i));
19525 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute7_tab('||i||')=' || l_osattribute7_tab(i));
19526 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute8_tab('||i||')=' || l_osattribute8_tab(i));
19527 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute9_tab('||i||')=' || l_osattribute9_tab(i));
19528 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute10_tab('||i||')=' || l_osattribute10_tab(i));
19529 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute11_tab('||i||')=' || l_osattribute11_tab(i));
19530 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute12_tab('||i||')=' || l_osattribute12_tab(i));
19531 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute13_tab('||i||')=' || l_osattribute13_tab(i));
19532 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute14_tab('||i||')=' || l_osattribute14_tab(i));
19533 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute15_tab('||i||')=' || l_osattribute15_tab(i));
19534 END IF;
19535 END LOOP;
19536 END IF;
19537
19538 RAISE OKC_API.G_EXCEPTION_ERROR;
19539
19540 END;
19541
19542 PROCEDURE get_object1_id1(p_install_location_type_code IN okx_install_items_v.location_type_code%TYPE,
19543 p_install_location_id IN okx_install_items_v.location_id%TYPE,
19544 p_instance_number IN okx_install_items_v.instance_number%TYPE,
19545 x_object_id1_new OUT NOCOPY NUMBER
19546 ) IS
19547
19548 --Cursors
19549 CURSOR c_get_iti_object_id1(p_party_site_id HZ_PARTY_SITE_USES.PARTY_SITE_ID%TYPE)
19550 IS
19551 SELECT psu.party_site_use_id
19552 FROM HZ_PARTY_SITE_USES psu,
19553 HZ_PARTY_SITES ps
19554 WHERE ps.party_site_id = psu.party_site_id
19555 AND psu.site_use_type = 'INSTALL_AT'
19556 AND psu.party_site_id = p_party_site_id;
19557
19558 CURSOR l_site_use_csr (p_location_id IN NUMBER) IS
19559 SELECT psu.party_site_use_id
19560 FROM hz_party_site_uses psu,
19561 hz_party_sites ps
19562 WHERE psu.party_site_id = ps.party_site_id
19563 AND psu.site_use_type = 'INSTALL_AT'
19564 AND ps.location_id = p_location_id;
19565
19566 l_site_use_rec l_site_use_csr%ROWTYPE;
19567
19568 --Cursor to get address for error
19569 CURSOR l_address_csr (pty_site_id IN NUMBER ) IS
19570 SELECT SUBSTR(arp_addr_label_pkg.format_address(NULL,hl.address1,hl.address2,hl.address3, hl.address4,hl.city,hl.county,hl.state,hl.province,hl.postal_code,NULL,hl.country,NULL, NULL,NULL,NULL,NULL,NULL,NULL,'n','n',80,1,1),1,80)
19571 FROM hz_locations hl,
19572 hz_party_sites ps
19573 WHERE hl.location_id = ps.location_id
19574 AND ps.party_site_id = pty_site_id;
19575
19576 CURSOR l_address_csr2 (loc_id IN NUMBER) IS
19577 SELECT SUBSTR(arp_addr_label_pkg.format_address(NULL,hl.address1,hl.address2,hl.address3, hl.address4,hl.city,hl.county,hl.state,hl.province,hl.postal_code,NULL,hl.country,NULL, NULL,NULL,NULL,NULL,NULL,NULL,'n','n',80,1,1),1,80)
19578 FROM hz_locations hl
19579 WHERE hl.location_id = loc_id;
19580
19581 l_address VARCHAR2(80);
19582
19583 BEGIN
19584 --Logic
19585 IF NVL(p_install_location_type_code,OKL_API.G_MISS_CHAR) NOT IN ('HZ_PARTY_SITES','HZ_LOCATIONS') THEN
19586 --Raise Error
19587 OKL_API.Set_Message(p_app_name => 'OKL_COPY_CONTRACT_PVT',
19588 p_msg_name => 'OKL_INVALID_INSTALL_LOC_TYPE',
19589 p_token1 => 'LOCATION_TYPE',
19590 p_token1_value => p_install_location_type_code,
19591 p_token2 => 'LOCATION_TYPE1',
19592 p_token2_value => 'HZ_PARTY_SITES',
19593 p_token3 => 'LOCATION_TYPE2',
19594 p_token3_value => 'HZ_LOCATIONS');
19595 x_return_status := OKL_API.G_RET_STS_ERROR;
19596 RAISE OKL_API.G_EXCEPTION_ERROR;
19597
19598 ELSIF NVL(p_install_location_type_code,OKL_API.G_MISS_CHAR) = 'HZ_PARTY_SITES' THEN
19599
19600 OPEN c_get_iti_object_id1(p_install_location_id);
19601 FETCH c_get_iti_object_id1 INTO x_OBJECT_ID1_NEW;
19602 IF c_get_iti_object_id1%NOTFOUND THEN
19603 OPEN l_address_csr(pty_site_id => p_install_location_id);
19604 FETCH l_address_csr INTO l_address;
19605 CLOSE l_address_csr;
19606 --Raise Error : not defined as install_at
19607 OKL_API.Set_Message
19608 (p_app_name => 'OKL_COPY_CONTRACT_PVT',
19609 p_msg_name => 'OKL_INSTALL_LOC_MISSING_USAGE',
19610 p_token1 => 'USAGE_TYPE',
19611 p_token1_value => 'INSTALL_AT',
19612 p_token2 => 'ADDRESS',
19613 p_token2_value => l_address,
19614 p_token3 => 'INSTANCE_NUMBER',
19615 p_token3_value => p_instance_number);
19616 x_return_status := OKL_API.G_RET_STS_ERROR;
19617 RAISE OKL_API.G_EXCEPTION_ERROR;
19618 END IF;
19619 CLOSE c_get_iti_object_id1;
19620
19621 ELSIF NVL(p_install_location_type_code,OKL_API.G_MISS_CHAR) = 'HZ_LOCATIONS' THEN
19622
19623 OPEN l_site_use_csr(p_install_location_id);
19624 FETCH l_site_use_csr INTO l_site_use_rec;
19625 IF l_site_use_csr%NOTFOUND THEN
19626 OPEN l_address_csr2(loc_id => p_install_location_id);
19627 FETCH l_address_csr2 INTO l_address;
19628 CLOSE l_address_csr2;
19629 --Raise Error : not defined as install_at
19630 OKL_API.Set_Message(p_app_name => 'OKL_COPY_CONTRACT_PVT2',
19631 p_msg_name => 'OKL_INSTALL_LOC_MISSING_USAGE',
19632 p_token1 => 'USAGE_TYPE',
19633 p_token1_value => 'INSTALL_AT',
19634 p_token2 => 'ADDRESS',
19635 p_token2_value => l_address,
19636 p_token3 => 'INSTANCE_NUMBER',
19637 p_token3_value => p_instance_number);
19638 x_return_status := OKL_API.G_RET_STS_ERROR;
19639 RAISE OKL_API.G_EXCEPTION_ERROR;
19640
19641 END IF;
19642 x_object_id1_new := l_site_use_rec.party_site_use_id;
19643 CLOSE l_site_use_csr;
19644
19645
19646 END IF;
19647
19648 END; /* get_object1_id1 */
19649
19650 PROCEDURE insert_okl_txl_itm_insts2(p_old_id IN okc_k_headers_b.id%TYPE,
19651 p_new_id IN okc_k_headers_b.id%TYPE) IS
19652 CURSOR c28(p_id NUMBER) IS
19653 SELECT csi.inventory_item_id,
19654 csi.inv_master_organization_id,
19655 csi.instance_number,
19656 b.id,
19657 b.cle_id,
19658 c.object1_id1,
19659 csi.location_type_code,
19660 csi.location_id,
19661 csi.serial_number
19662 FROM okx_install_items_v csi,
19663 okc_k_lines_b b,
19664 okc_k_items c
19665 WHERE b.dnz_chr_id = p_id
19666 AND b.lse_id = 45
19667 AND c.dnz_chr_id = p_id
19668 AND b.id = c.cle_id
19669 AND csi.id1 = TO_NUMBER(c.object1_id1);
19670
19671 CURSOR c_get_cle(p_id NUMBER, p_lse_id NUMBER) IS
19672 SELECT id
19673 FROM okc_k_lines_b
19674 WHERE cle_id = p_id
19675 AND lse_id = p_lse_id;
19676
19677 /*cursor c_get_object1_id1(p_id number, p_lse_id number) is
19678 select c.object1_id2
19679 from okc_k_items c,
19680 okc_k_lines_b b
19681 where c.cle_id = b.id
19682 and b.id = p_id
19683 and b.lse_id = p_lse_id;*/
19684
19685 TYPE l_inventory_item_id_type IS TABLE OF okx_install_items_v.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
19686 TYPE l_inv_master_org_id_type IS TABLE OF okx_install_items_v.inv_master_organization_id%TYPE INDEX BY BINARY_INTEGER;
19687 TYPE l_instance_number_type IS TABLE OF okx_install_items_v.instance_number%TYPE INDEX BY BINARY_INTEGER;
19688 TYPE l_id_type IS TABLE OF okc_k_lines_b.id%TYPE INDEX BY BINARY_INTEGER;
19689 TYPE l_cle_id_type IS TABLE OF okc_k_lines_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
19690 TYPE l_object1_id1_type IS TABLE OF okc_k_items.object1_id1%TYPE INDEX BY BINARY_INTEGER;
19691 TYPE l_location_type_code_type IS TABLE OF okx_install_items_v.location_type_code%TYPE INDEX BY BINARY_INTEGER;
19692 TYPE l_location_id_type IS TABLE OF okx_install_items_v.location_id%TYPE INDEX BY BINARY_INTEGER;
19693 TYPE l_serial_number_type IS TABLE OF okx_install_items_v.serial_number%TYPE INDEX BY BINARY_INTEGER;
19694
19695 l_inventory_item_id_tab2 l_inventory_item_id_type;
19696 l_inv_master_org_id_tab2 l_inv_master_org_id_type;
19697 l_instance_number_tab2 l_instance_number_type;
19698 l_id_tab2 l_id_type;
19699 l_cle_id_tab2 l_cle_id_type;
19700 l_object1_id1_tab2 l_object1_id1_type;
19701 l_location_type_code_tab2 l_location_type_code_type;
19702 l_location_id_tab2 l_location_id_type;
19703 l_serial_number_tab2 l_serial_number_type;
19704
19705 l_inventory_item_id_tab3 l_inventory_item_id_type;
19706 l_inv_master_org_id_tab3 l_inv_master_org_id_type;
19707 l_instance_number_tab3 l_instance_number_type;
19708 l_id_tab3 l_id_type;
19709 l_cle_id_tab3 l_cle_id_type;
19710 l_object1_id1_tab3 l_object1_id1_type;
19711 l_location_type_code_tab3 l_location_type_code_type;
19712 l_location_id_tab3 l_location_id_type;
19713 l_serial_number_tab3 l_serial_number_type;
19714
19715 -- okl_trx_assets
19716 l_t4id_tab l_tid_type;
19717 l_trx_assets_counter5 NUMBER := 1;
19718
19719 /* Commented here. To make it global */
19720 -- okl_txl_itm_insts
19721 /*
19722 l_ti2id_tab l_tiid_type;
19723 l_ti2tas_id_tab l_titas_id_type;
19724 l_ti2kle_id_tab l_tikle_id_type;
19725 l_ti2line_number_tab l_tiline_number_type;
19726 l_ti2instance_number_ib_tab l_tiinstance_number_ib_type;
19727 l_ti2object_id1_new_tab l_tiobject_id1_new_type;
19728 l_ti2object_id2_new_tab l_tiobject_id2_new_type;
19729 l_ti2jtot_object_code_new_tab l_tijtot_object_code_new_type;
19730 l_ti2dnz_cle_id_tab l_tidnz_cle_id_type;
19731 l_ti2inventory_item_id_tab l_tiinventory_item_id_type;
19732 l_ti2inv_master_org_id_tab l_tiinv_master_org_id_type;
19733 l_ti2inventory_org_id_tab l_tiinventory_org_id_type;
19734 l_ti2serial_number_tab l_tiserial_number_type;
19735 l_ti2mfg_serial_number_yn_tab l_timfg_serial_number_yn_type;
19736
19737 --l_txl_itm_insts_counter2 number := 1;
19738 */
19739 l_instance_counter NUMBER := 1;
19740 l_dnz_cle_id NUMBER;
19741 l_object1_id1 VARCHAR2(40);
19742 l_new_kle_id NUMBER;
19743 l_new_cle_id NUMBER;
19744 l_new_line_number NUMBER;
19745 l_new_dnz_cle_id NUMBER;
19746 l_new_object_id1 VARCHAR2(40);
19747 l_new_id NUMBER;
19748 l_local_cle_id NUMBER;
19749 l_local_cle_id2 NUMBER;
19750
19751 BEGIN
19752 IF (G_DEBUG_ENABLED = 'Y') THEN
19753 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
19754 END IF;
19755 NULL;
19756 OPEN c28(p_old_id);
19757 LOOP
19758 FETCH c28 bulk collect INTO
19759 l_inventory_item_id_tab2, l_inv_master_org_id_tab2,
19760 l_instance_number_tab2, l_id_tab2,
19761 l_cle_id_tab2, l_object1_id1_tab2,
19762 l_location_type_code_tab2, l_location_id_tab2,
19763 l_serial_number_tab2
19764 limit G_BULK_SIZE;
19765 EXIT WHEN l_inventory_item_id_tab2.COUNT=0;
19766 FOR i IN l_inventory_item_id_tab2.first..l_inventory_item_id_tab2.last
19767 LOOP
19768 l_inventory_item_id_tab3(l_instance_counter) := l_inventory_item_id_tab2(i);
19769 l_inv_master_org_id_tab3(l_instance_counter) := l_inv_master_org_id_tab2(i);
19770 l_instance_number_tab3(l_instance_counter) := l_instance_number_tab2(i);
19771 l_id_tab3(l_instance_counter) := l_id_tab2(i);
19772 l_cle_id_tab3(l_instance_counter) := l_cle_id_tab2(i);
19773 l_object1_id1_tab3(l_instance_counter) := l_object1_id1_tab2(i);
19774 l_location_type_code_tab3(l_instance_counter) := l_location_type_code_tab2(i);
19775 l_location_id_tab3(l_instance_counter) := l_location_id_tab2(i);
19776 l_serial_number_tab3(l_instance_counter) := l_serial_number_tab2(i);
19777
19778 l_instance_counter := l_instance_counter + 1;
19779 END LOOP;
19780 END LOOP;
19781 CLOSE c28;
19782 IF (l_inventory_item_id_tab3.count > 0) THEN
19783 FOR i IN l_inventory_item_id_tab3.first..l_inventory_item_id_tab3.last
19784 LOOP
19785 l_t4id_tab(l_trx_assets_counter5) := okc_p_util.raw_to_number(sys_guid());
19786
19787 l_ti2id_tab(l_txl_itm_insts_counter2) := okc_p_util.raw_to_number(sys_guid());
19788 l_ti2tas_id_tab(l_txl_itm_insts_counter2) := l_t4id_tab(l_trx_assets_counter5);
19789 l_ti2kle_id_tab(l_txl_itm_insts_counter2) := l_id_tab3(i);
19790 -- Change kle_id
19791 l_new_kle_id := find_mapping_id(l_ti2kle_id_tab(l_txl_itm_insts_counter2));
19792 IF (l_new_kle_id = -1) THEN
19793 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19794 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_ti2kle_id_tab(l_txl_itm_insts_counter2));
19795 END IF;
19796 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
19797 END IF;
19798 l_ti2kle_id_tab(l_txl_itm_insts_counter2) := l_new_kle_id;
19799
19800 l_new_cle_id := find_mapping_id(l_cle_id_tab3(i));
19801 l_new_line_number := find_cle_line_number2(l_new_cle_id);
19802 IF (l_new_line_number = -1) THEN
19803 l_cle_mapping_tab2(l_trx_assets_counter6).old_id := l_new_cle_id;
19804 l_cle_mapping_tab2(l_trx_assets_counter6).new_id := 1;
19805
19806 l_trx_assets_counter6 := l_trx_assets_counter6 + 1;
19807 l_new_line_number := 1;
19808 END IF;
19809 l_ti2line_number_tab(l_txl_itm_insts_counter2) := l_new_line_number;
19810 l_ti2instance_number_ib_tab(l_txl_itm_insts_counter2) := l_instance_number_tab3(i);
19811
19812 -- AKP: to do
19813 --l_ti2object_id1_new_tab(l_txl_itm_insts_counter2) := null;
19814
19815 get_object1_id1(l_location_type_code_tab3(i), l_location_id_tab3(i), l_instance_number_tab3(i), l_new_object_id1);
19816 l_ti2object_id1_new_tab(l_txl_itm_insts_counter2) := l_new_object_id1;
19817
19818 l_ti2object_id2_new_tab(l_txl_itm_insts_counter2) := '#';
19819 l_ti2jtot_object_code_new_tab(l_txl_itm_insts_counter2) := 'OKX_PARTSITE';
19820
19821 /*print('l_id_tab3(' || i || ')=' || l_id_tab3(i));
19822 for r in c_get_cle(l_id_tab3(i) , 33 )
19823 loop
19824 l_dnz_cle_id := r.id;
19825 end loop;*/
19826 l_new_id := find_id(l_id_tab3(i));
19827 --print('l_new_id=' || l_new_id);
19828 IF (l_new_id = -1) THEN
19829 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19830 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: OLD_LINE_ID to NEW_LINE_ID mapping not found');
19831 END IF;
19832 RAISE OKL_API.G_EXCEPTION_ERROR;
19833 END IF;
19834 l_local_cle_id := find_cid_mapping_id(l_new_id);
19835 --print('l_local_cle_id=' || l_local_cle_id);
19836 IF (l_local_cle_id = -1) THEN
19837 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19838 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: ID to CLE_ID mapping not found');
19839 END IF;
19840 RAISE OKL_API.G_EXCEPTION_ERROR;
19841 END IF;
19842 l_local_cle_id2 := find_cid_mapping_id(l_local_cle_id);
19843 --print('l_local_cle_id2=' || l_local_cle_id2);
19844 IF (l_local_cle_id2 = -1) THEN
19845 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19846 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: ID to CLE_ID mapping not found');
19847 END IF;
19848 RAISE OKL_API.G_EXCEPTION_ERROR;
19849 END IF;
19850
19851 --l_new_dnz_cle_id := find_mapping_id(l_dnz_cle_id);
19852 l_ti2dnz_cle_id_tab(l_txl_itm_insts_counter2) := l_local_cle_id2;
19853 l_ti2inventory_item_id_tab(l_txl_itm_insts_counter2) := l_inventory_item_id_tab3(i);
19854 l_ti2inv_master_org_id_tab(l_txl_itm_insts_counter2) := l_inv_master_org_id_tab3(i);
19855
19856 /*print('Before c_get_object1_id1:l_id_tab3(' || i || ')=' || l_id_tab3(i));
19857 for r in c_get_object1_id1(l_id_tab3(i) , 34 )
19858 loop
19859 l_object1_id1 := r.object1_id2;
19860 end loop;
19861 l_ti2inventory_org_id_tab(l_txl_itm_insts_counter2) := to_number(l_object1_id1);*/
19862 l_ti2inventory_org_id_tab(l_txl_itm_insts_counter2) := l_inventory_org_id;
19863
19864 l_ti2serial_number_tab(l_txl_itm_insts_counter2) := l_serial_number_tab3(i);
19865 IF (l_ti2serial_number_tab(l_txl_itm_insts_counter2) IS NULL) THEN
19866 l_ti2mfg_serial_number_yn_tab(l_txl_itm_insts_counter2) := 'N';
19867 ELSE
19868 l_ti2mfg_serial_number_yn_tab(l_txl_itm_insts_counter2) := 'Y';
19869 END IF;
19870
19871 l_txl_itm_insts_counter2 := l_txl_itm_insts_counter2 + 1;
19872
19873 l_trx_assets_counter5 := l_trx_assets_counter5 + 1;
19874 END LOOP;
19875 END IF; /* if l_inventory_item_id_tab3.count > 0 */
19876
19877 -- Now populate
19878 IF (l_trx_assets_counter5 > 1) THEN
19879 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19880 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trx_assets_counter5='||l_trx_assets_counter5 || ' l_t4id_tab.count='||l_t4id_tab.COUNT);
19881 END IF;
19882 forall i IN l_t4id_tab.first..l_t4id_tab.last
19883 INSERT INTO okl_trx_assets (
19884 id, tas_type, object_version_number,
19885 tsu_code, try_id, date_trans_occurred,
19886 created_by, creation_date, last_updated_by,
19887 last_update_date, last_update_login, trans_number
19888 ,transaction_date
19889 ) VALUES (
19890 l_t4id_tab(i), p_trans_type, 1,
19891 'ENTERED', l_try_id, SYSDATE, -- AKP: populate try_id properly
19892 l_created_by, SYSDATE, l_last_updated_by,
19893 SYSDATE, l_last_update_login, okl_trn_seq.NEXTVAL
19894 ,SYSDATE
19895 );
19896 END IF;
19897
19898 IF (l_txl_itm_insts_counter2 > 1) THEN
19899 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19900 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_txl_itm_insts_counter2='||l_txl_itm_insts_counter2 || ' l_ti2id_tab.count='||l_ti2id_tab.COUNT);
19901 END IF;
19902 forall i IN l_ti2id_tab.first..l_ti2id_tab.last
19903 INSERT INTO okl_txl_itm_insts (
19904 id, object_version_number, tas_id,
19905 tal_type, kle_id, line_number,
19906 instance_number_ib, object_id1_new, object_id2_new,
19907 jtot_object_code_new, dnz_cle_id, inventory_item_id,
19908 inv_master_org_id, inventory_org_id, created_by,
19909 creation_date, last_updated_by, last_update_date,
19910 last_update_login, serial_number, mfg_serial_number_yn
19911 ) VALUES (
19912 l_ti2id_tab(i), 1, l_ti2tas_id_tab(i),
19913 p_trans_type, l_ti2kle_id_tab(i), l_ti2line_number_tab(i),
19914 l_ti2instance_number_ib_tab(i), l_ti2object_id1_new_tab(i), l_ti2object_id2_new_tab(i),
19915 l_ti2jtot_object_code_new_tab(i), l_ti2dnz_cle_id_tab(i), l_ti2inventory_item_id_tab(i),
19916 l_ti2inv_master_org_id_tab(i), l_ti2inventory_org_id_tab(i), l_created_by,
19917 SYSDATE, l_last_updated_by, SYSDATE,
19918 l_last_update_login, l_ti2serial_number_tab(i), l_ti2mfg_serial_number_yn_tab(i)
19919 );
19920 END IF;
19921
19922 EXCEPTION WHEN OTHERS THEN
19923
19924 x_return_status := OKL_API.G_RET_STS_ERROR;
19925 /*OKL_API.set_message(p_app_name => 'OKL',
19926 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
19927 p_token1 => 'ASSET_NUMBER',
19928 p_token1_value => 'insert_okl_txl_itm_instst2');*/
19929 /* DEBUG */
19930 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19931 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
19932 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okl_trx_assets:l_t4id_tab.count=' || l_t4id_tab.COUNT || ' ...');
19933 END IF;
19934 IF (l_t4id_tab.COUNT > 0) THEN
19935 FOR i IN l_t4id_tab.first..l_t4id_tab.last
19936 LOOP
19937 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19938 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t4id_tab('||i||')=' || l_t4id_tab(i));
19939 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_try_id=' || l_try_id);
19940 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_trans_type=' || p_trans_type);
19941 END IF;
19942 END LOOP;
19943 END IF;
19944
19945 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19946 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okl_txl_itm_insts:l_ti2id_tab.count=' || l_ti2id_tab.COUNT || ' ...');
19947 END IF;
19948 IF (l_ti2id_tab.COUNT > 0) THEN
19949 FOR i IN l_ti2id_tab.first..l_ti2id_tab.last
19950 LOOP
19951 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19952 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2id_tab('||i||')=' || l_ti2id_tab(i));
19953 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2tas_id_tab('||i||')=' || l_ti2tas_id_tab(i));
19954 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_trans_type=' || p_trans_type);
19955 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2kle_id_tab('||i||')=' || l_ti2kle_id_tab(i));
19956 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2line_number_tab('||i||')=' || l_ti2line_number_tab(i));
19957 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2instance_number_ib_tab('||i||')=' || l_ti2instance_number_ib_tab(i));
19958 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2object_id1_new_tab('||i||')=' || l_ti2object_id1_new_tab(i));
19959 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2object_id2_new_tab('||i||')=' || l_ti2object_id2_new_tab(i));
19960 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2jtot_object_code_new_tab('||i||')=' || l_ti2jtot_object_code_new_tab(i));
19961 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2dnz_cle_id_tab('||i||')=' || l_ti2dnz_cle_id_tab(i));
19962 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2inventory_item_id_tab('||i||')=' || l_ti2inventory_item_id_tab(i));
19963 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2inv_master_org_id_tab('||i||')=' || l_ti2inv_master_org_id_tab(i));
19964 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2inventory_org_id_tab('||i||')=' || l_ti2inventory_org_id_tab(i));
19965 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2serial_number_tab('||i||')=' || l_ti2serial_number_tab(i));
19966 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2mfg_serial_number_yn_tab('||i||')=' || l_ti2mfg_serial_number_yn_tab(i));
19967 END IF;
19968 END LOOP;
19969 END IF;
19970
19971 RAISE OKC_API.G_EXCEPTION_ERROR;
19972
19973 END; /* insert_okl_txl_itm_insts2 */
19974
19975 FUNCTION find_sid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
19976 hi NUMBER;
19977 lo NUMBER;
19978 m NUMBER;
19979 BEGIN
19980 lo := 1;
19981 hi := l_counter - 1;
19982 WHILE (lo <= hi) LOOP
19983 m := FLOOR((hi + lo)/2);
19984 IF (l_sid_mapping_tab(m).id = p_id) THEN
19985 RETURN l_sid_mapping_tab(m).lse_id;
19986 ELSIF (l_sid_mapping_tab(m).id > p_id) THEN
19987 hi := m - 1;
19988 ELSE
19989 lo := m + 1;
19990 END IF;
19991 END LOOP;
19992 RETURN -1;
19993 END; /* find_sid_mapping_id */
19994
19995 PROCEDURE sort_sid_mapping_tab IS
19996 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
19997 --a numtabtype;
19998 l_stack numtabtype;
19999 l_stack_index NUMBER := 0;
20000 N NUMBER;
20001 R NUMBER;
20002 L NUMBER;
20003 P NUMBER;
20004 W NUMBER;
20005 W2 NUMBER;
20006 X NUMBER;
20007 I NUMBER;
20008 J NUMBER;
20009 BEGIN
20010 IF (G_DEBUG_ENABLED = 'Y') THEN
20011 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
20012 END IF;
20013 NULL;
20014
20015 N := l_counter - 1;
20016 IF (N < 2) THEN
20017 RETURN;
20018 END IF;
20019 l_stack_index := l_stack_index + 1;
20020 l_stack(l_stack_index) := 1;
20021 l_stack_index := l_stack_index + 1;
20022 l_stack(l_stack_index) := N;
20023
20024 --dbms_output.put_line('l_stack_index=' || l_stack_index);
20025 WHILE l_stack_index > 0
20026 LOOP
20027 R := l_stack(l_stack_index);
20028 l_stack_index := l_stack_index - 1;
20029 L := l_stack(l_stack_index);
20030 l_stack_index := l_stack_index - 1;
20031 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
20032 WHILE 1=1
20033 LOOP -- loop until L >= R
20034 I := L;
20035 J := R;
20036 P := FLOOR((L+R)/2);
20037 --if (a(L) > a(P)) then
20038 IF (l_sid_mapping_tab(L).id > l_sid_mapping_tab(P).id)
20039 THEN
20040 W := l_sid_mapping_tab(L).id;
20041 W2 := l_sid_mapping_tab(L).lse_id;
20042 l_sid_mapping_tab(L).id :=l_sid_mapping_tab(P).id;
20043 l_sid_mapping_tab(L).lse_id :=l_sid_mapping_tab(P).lse_id;
20044 l_sid_mapping_tab(P).id := W;
20045 l_sid_mapping_tab(P).lse_id := W2;
20046 END IF;
20047 --if (a(L) > a(R)) then
20048 IF (l_sid_mapping_tab(L).id > l_sid_mapping_tab(R).id)
20049 THEN
20050 W := l_sid_mapping_tab(L).id;
20051 W2 := l_sid_mapping_tab(L).lse_id;
20052 l_sid_mapping_tab(L).id :=l_sid_mapping_tab(R).id;
20053 l_sid_mapping_tab(L).lse_id :=l_sid_mapping_tab(R).lse_id;
20054 l_sid_mapping_tab(R).id := W;
20055 l_sid_mapping_tab(R).lse_id := W2;
20056 END IF;
20057 --if (a(P) > a(R)) then
20058 IF (l_sid_mapping_tab(P).id > l_sid_mapping_tab(R).id)
20059 THEN
20060 W := l_sid_mapping_tab(P).id;
20061 W2 := l_sid_mapping_tab(P).lse_id;
20062 l_sid_mapping_tab(P).id :=l_sid_mapping_tab(R).id;
20063 l_sid_mapping_tab(P).lse_id :=l_sid_mapping_tab(R).lse_id;
20064 l_sid_mapping_tab(R).id := W;
20065 l_sid_mapping_tab(R).lse_id := W2;
20066 END IF;
20067 --X := a(P);
20068 X := l_sid_mapping_tab(P).id;
20069 WHILE 1=1
20070 LOOP -- until I > J
20071 --while (a(I) < X) loop
20072 WHILE (l_sid_mapping_tab(I).id < X) LOOP
20073 I := I + 1;
20074 END LOOP;
20075 WHILE (X < l_sid_mapping_tab(J).id) LOOP
20076 J := J - 1;
20077 END LOOP;
20078 IF (I <= J) THEN
20079 W := l_sid_mapping_tab(I).id;
20080 W2 := l_sid_mapping_tab(I).lse_id;
20081 l_sid_mapping_tab(I).id :=l_sid_mapping_tab(J).id;
20082 l_sid_mapping_tab(I).lse_id :=l_sid_mapping_tab(J).lse_id;
20083 l_sid_mapping_tab(J).id := W;
20084 l_sid_mapping_tab(J).lse_id := W2;
20085 I := I + 1;
20086 J := J - 1;
20087 END IF;
20088 EXIT WHEN I > J;
20089 END LOOP;
20090 IF (J - L < R - I) THEN
20091 IF (I < R) THEN
20092 --push(I); push(R);
20093 l_stack_index := l_stack_index + 1;
20094 l_stack(l_stack_index) := I;
20095 l_stack_index := l_stack_index + 1;
20096 l_stack(l_stack_index) := R;
20097 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
20098 END IF;
20099 R := J;
20100 ELSE
20101 IF (L < J) THEN
20102 --push(L); push(J);
20103 l_stack_index := l_stack_index + 1;
20104 l_stack(l_stack_index) := L;
20105 l_stack_index := l_stack_index + 1;
20106 l_stack(l_stack_index) := J;
20107 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
20108 END IF;
20109 L := I;
20110 END IF;
20111
20112 EXIT WHEN (L >= R);
20113 END LOOP;
20114 END LOOP;
20115
20116 EXCEPTION WHEN OTHERS THEN
20117
20118 x_return_status := OKL_API.G_RET_STS_ERROR;
20119 /*OKL_API.set_message(p_app_name => 'OKL',
20120 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
20121 p_token1 => 'ASSET_NUMBER',
20122 p_token1_value => 'sort_sid_mapping_tab');*/
20123 /* DEBUG */
20124 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20125 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20126 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_sid_mapping_tab:l_sid_mapping_tab N=' || N || ' ...');
20127 END IF;
20128
20129 --print array
20130 FOR i IN 1..N
20131 LOOP
20132 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20133 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sid_mapping_tab('||i||')=' || l_sid_mapping_tab(i).id || ':' || l_sid_mapping_tab(i).lse_id);
20134 END IF;
20135 END LOOP;
20136
20137 RAISE OKC_API.G_EXCEPTION_ERROR;
20138
20139 END; /* sort_sid_mapping_tab */
20140
20141 PROCEDURE raise_business_event_header(
20142 p_chr_id IN NUMBER
20143 ,x_return_status OUT NOCOPY VARCHAR2
20144 )
20145 IS
20146 l_check VARCHAR2(1);
20147 l_parameter_list wf_parameter_list_t;
20148 BEGIN
20149
20150 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
20151 -- Our contract is always new. So commented following check
20152 --IF (p_source_code = 'new') THEN
20153 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,p_chr_id,l_parameter_list);
20154 OKL_WF_PVT.raise_event (p_api_version => p_api_version,
20155 p_init_msg_list => p_init_msg_list,
20156 x_return_status => x_return_status,
20157 x_msg_count => x_msg_count,
20158 x_msg_data => x_msg_data,
20159 p_event_name => G_WF_EVT_KHR_CREATED,
20160 p_parameters => l_parameter_list);
20161
20162 --END IF;
20163
20164 EXCEPTION
20165 WHEN OTHERS THEN
20166 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20167 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20168 END raise_business_event_header;
20169
20170 PROCEDURE raise_business_event(
20171 p_api_version IN NUMBER,
20172 p_init_msg_list IN VARCHAR2,
20173 x_return_status OUT NOCOPY VARCHAR2,
20174 x_msg_count OUT NOCOPY NUMBER,
20175 x_msg_data OUT NOCOPY VARCHAR2,
20176 p_event_name IN wf_events.name%TYPE,
20177 p_parameter_list IN wf_parameter_list_t,
20178 p_contract_process IN VARCHAR2) IS
20179
20180 l_chr_id okc_k_headers_b.id%TYPE;
20181 --l_contract_process VARCHAR2(30);
20182 l_parameter_list WF_PARAMETER_LIST_T := p_parameter_list;
20183
20184 BEGIN
20185 -- check to see if the the contract_id is not null, this is required since
20186 -- credit limit events do not necessarily pass a contract
20187 l_chr_id := wf_event.GetValueForParameter(G_WF_ITM_CONTRACT_ID,p_parameter_list);
20188 IF(l_chr_id IS NOT NULL)THEN
20189 -- if there exists a contract in context, then derive the contract process status
20190 --l_contract_process := okl_lla_util_pvt.get_contract_process(l_chr_id);
20191 IF(p_contract_process IS NOT NULL)THEN
20192 -- add the contract process status to the parameter list only the value is not null
20193 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS,p_contract_process,l_parameter_list);
20194 END IF;
20195 END IF;
20196 OKL_WF_PVT.raise_event (p_api_version => p_api_version,
20197 p_init_msg_list => p_init_msg_list,
20198 x_return_status => x_return_status,
20199 x_msg_count => x_msg_count,
20200 x_msg_data => x_msg_data,
20201 p_event_name => p_event_name,
20202 p_parameters => l_parameter_list);
20203
20204 EXCEPTION
20205 WHEN OTHERS THEN
20206 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20207 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20208 END raise_business_event;
20209
20210 PROCEDURE raise_business_event_subsidy(p_api_version IN NUMBER,
20211 p_init_msg_list IN VARCHAR2,
20212 p_chr_id IN okc_k_headers_b.id%TYPE,
20213 p_asset_id IN okc_k_lines_b.id%TYPE,
20214 p_subsidy_id IN okl_subsidies_b.id%TYPE,
20215 p_event_name IN VARCHAR2,
20216 p_contract_process IN VARCHAR2,
20217 x_return_status OUT NOCOPY VARCHAR2,
20218 x_msg_count OUT NOCOPY NUMBER,
20219 x_msg_data OUT NOCOPY VARCHAR2
20220 ) IS
20221 l_parameter_list wf_parameter_list_t;
20222 l_contract_process VARCHAR2(20);
20223 BEGIN
20224 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20225
20226 -- wrapper API to get contract process. this API determines in which status the
20227 -- contract in question is.
20228 --l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
20229 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20230 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20231 wf_event.AddParameterToList(G_WF_ITM_SUBSIDY_ID, p_subsidy_id, l_parameter_list);
20232 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20233 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20234 p_init_msg_list => p_init_msg_list,
20235 x_return_status => x_return_status,
20236 x_msg_count => x_msg_count,
20237 x_msg_data => x_msg_data,
20238 p_event_name => p_event_name,
20239 p_parameters => l_parameter_list);
20240 EXCEPTION
20241 WHEN OTHERS THEN
20242 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20243 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20244 END raise_business_event_subsidy;
20245
20246 PROCEDURE raise_business_event_itm(
20247 p_api_version IN NUMBER
20248 ,p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE
20249 ,x_return_status OUT NOCOPY VARCHAR2
20250 ,x_msg_count OUT NOCOPY NUMBER
20251 ,x_msg_data OUT NOCOPY VARCHAR2
20252 ,p_event_name IN WF_EVENTS.NAME%TYPE
20253 ,p_event_param_list IN WF_PARAMETER_LIST_T
20254 ,p_contract_process IN VARCHAR2
20255 )IS
20256 --l_process VARCHAR2(20);
20257 --p_chr_id okc_k_headers_b.id%TYPE;
20258 l_parameter_list WF_PARAMETER_LIST_T := p_event_param_list;
20259 BEGIN
20260 --p_chr_id := wf_event.GetValueForParameter(G_WF_ITM_CONTRACT_ID,p_event_param_list);
20261 --l_process := Okl_Lla_Util_Pvt.get_contract_process(p_chr_id);
20262 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS,p_contract_process,l_parameter_list);
20263
20264 OKL_WF_PVT.raise_event (p_api_version => p_api_version,
20265 p_init_msg_list => p_init_msg_list,
20266 x_return_status => x_return_status,
20267 x_msg_count => x_msg_count,
20268 x_msg_data => x_msg_data,
20269 p_event_name => p_event_name,
20270 p_parameters => l_parameter_list);
20271 EXCEPTION
20272 WHEN OTHERS THEN
20273 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20274 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20275 END raise_business_event_itm;
20276
20277 PROCEDURE raise_business_event_dep(p_api_version IN NUMBER,
20278 p_init_msg_list IN VARCHAR2,
20279 p_chr_id IN okc_k_headers_b.id%TYPE,
20280 p_asset_id IN okc_k_lines_b.id%TYPE,
20281 p_book_code IN okl_txl_assets_b.corporate_book%TYPE,
20282 p_event_name IN VARCHAR2,
20283 p_contract_process IN VARCHAR2,
20284 x_return_status OUT NOCOPY VARCHAR2,
20285 x_msg_count OUT NOCOPY NUMBER,
20286 x_msg_data OUT NOCOPY VARCHAR2
20287 ) IS
20288 l_parameter_list wf_parameter_list_t;
20289 BEGIN
20290 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20291
20292 -- wrapper API to get contract process. this API determines in which status the
20293 -- contract in question is.
20294 --l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
20295 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20296 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20297 wf_event.AddParameterToList(G_WF_ITM_BOOK_CODE, p_book_code, l_parameter_list);
20298 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20299 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20300 p_init_msg_list => p_init_msg_list,
20301 x_return_status => x_return_status,
20302 x_msg_count => x_msg_count,
20303 x_msg_data => x_msg_data,
20304 p_event_name => p_event_name,
20305 p_parameters => l_parameter_list);
20306
20307 EXCEPTION
20308 WHEN OTHERS THEN
20309 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20310 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20311 END raise_business_event_dep;
20312
20313
20314 PROCEDURE raise_business_event_txd(p_api_version IN NUMBER,
20315 p_init_msg_list IN VARCHAR2,
20316 p_chr_id IN okc_k_headers_b.id%TYPE,
20317 p_asset_id IN okc_k_lines_b.id%TYPE,
20318 p_event_name IN VARCHAR2,
20319 p_contract_process IN VARCHAR2,
20320 x_return_status OUT NOCOPY VARCHAR2,
20321 x_msg_count OUT NOCOPY NUMBER,
20322 x_msg_data OUT NOCOPY VARCHAR2
20323 ) IS
20324 l_parameter_list wf_parameter_list_t;
20325 --l_contract_process VARCHAR2(20);
20326 BEGIN
20327 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20328
20329 -- wrapper API to get contract process. this API determines in which status the
20330 -- contract in question is.
20331 --l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
20332 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20333 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20334 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20335
20336 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20337 p_init_msg_list => p_init_msg_list,
20338 x_return_status => x_return_status,
20339 x_msg_count => x_msg_count,
20340 x_msg_data => x_msg_data,
20341 p_event_name => p_event_name,
20342 p_parameters => l_parameter_list);
20343 EXCEPTION
20344 WHEN OTHERS THEN
20345 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20346 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20347 END raise_business_event_txd;
20348
20349 PROCEDURE raise_business_event_itm
20350 (p_api_version IN NUMBER,
20351 p_init_msg_list IN VARCHAR2,
20352 p_chr_id IN okc_k_headers_b.id%TYPE,
20353 p_asset_id IN okc_k_lines_b.id%TYPE,
20354 p_ser_num IN okl_txl_itm_insts.serial_number%TYPE,
20355 p_event_name IN VARCHAR2,
20356 p_contract_process IN VARCHAR2,
20357 x_return_status OUT NOCOPY VARCHAR2,
20358 x_msg_count OUT NOCOPY NUMBER,
20359 x_msg_data OUT NOCOPY VARCHAR2
20360 ) IS
20361 l_parameter_list wf_parameter_list_t;
20362 BEGIN
20363 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20364
20365 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20366 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20367 wf_event.AddParameterToList(G_WF_ITM_SERIAL_NUM, p_ser_num, l_parameter_list);
20368 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20369
20370 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20371 p_init_msg_list => p_init_msg_list,
20372 x_return_status => x_return_status,
20373 x_msg_count => x_msg_count,
20374 x_msg_data => x_msg_data,
20375 p_event_name => p_event_name,
20376 p_parameters => l_parameter_list);
20377 EXCEPTION
20378 WHEN OTHERS THEN
20379 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20380 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20381 END raise_business_event_itm;
20382
20383 PROCEDURE raise_business_event_supp
20384 (p_api_version IN NUMBER,
20385 p_init_msg_list IN VARCHAR2,
20386 p_chr_id IN okc_k_headers_b.id%TYPE,
20387 p_asset_id IN okc_k_lines_b.id%TYPE,
20388 p_vendor_id IN po_vendors.vendor_id%TYPE,
20389 p_event_name IN VARCHAR2,
20390 p_contract_process IN VARCHAR2,
20391 x_return_status OUT NOCOPY VARCHAR2,
20392 x_msg_count OUT NOCOPY NUMBER,
20393 x_msg_data OUT NOCOPY VARCHAR2
20394 ) IS
20395 l_parameter_list wf_parameter_list_t;
20396 BEGIN
20397 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20398
20399 -- wrapper API to get contract process. this API determines in which status the
20400 -- contract in question is.
20401 --l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
20402 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20403 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20404 wf_event.AddParameterToList(G_WF_ITM_PARTY_ID, p_vendor_id, l_parameter_list);
20405 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20406
20407 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20408 p_init_msg_list => p_init_msg_list,
20409 x_return_status => x_return_status,
20410 x_msg_count => x_msg_count,
20411 x_msg_data => x_msg_data,
20412 p_event_name => p_event_name,
20413 p_parameters => l_parameter_list);
20414 EXCEPTION
20415 WHEN OTHERS THEN
20416 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20417 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20418 END raise_business_event_supp;
20419
20420 PROCEDURE raise_business_event_rules
20421 (p_api_version IN NUMBER,
20422 p_init_msg_list IN VARCHAR2,
20423 x_return_status OUT NOCOPY VARCHAR2,
20424 x_msg_count OUT NOCOPY NUMBER,
20425 x_msg_data OUT NOCOPY VARCHAR2,
20426 p_event_name IN VARCHAR2,
20427 p_event_param_list IN WF_PARAMETER_LIST_T,
20428 p_contract_process IN VARCHAR2
20429 ) IS
20430 --l_contract_process VARCHAR2(20);
20431 l_event_param_list WF_PARAMETER_LIST_T := p_event_param_list;
20432 BEGIN
20433 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20434
20435 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_event_param_list);
20436
20437 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20438 p_init_msg_list => p_init_msg_list,
20439 x_return_status => x_return_status,
20440 x_msg_count => x_msg_count,
20441 x_msg_data => x_msg_data,
20442 p_event_name => p_event_name,
20443 p_parameters => l_event_param_list);
20444 EXCEPTION
20445 WHEN OTHERS THEN
20446 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20447 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20448 END raise_business_event_rules;
20449
20450 FUNCTION find_ssid_mapping_id(p_id IN NUMBER) RETURN VARCHAR2 IS
20451 hi NUMBER;
20452 lo NUMBER;
20453 m NUMBER;
20454 BEGIN
20455 lo := 1;
20456 hi := l_ssid_counter - 1;
20457 WHILE (lo <= hi) LOOP
20458 m := FLOOR((hi + lo)/2);
20459 IF (l_ssid_mapping_tab(m).cle_id = p_id) THEN
20460 RETURN l_ssid_mapping_tab(m).object1_id1;
20461 ELSIF (l_ssid_mapping_tab(m).cle_id > p_id) THEN
20462 hi := m - 1;
20463 ELSE
20464 lo := m + 1;
20465 END IF;
20466 END LOOP;
20467 RETURN NULL;
20468 END; /* find_ssid_mapping_id */
20469
20470 PROCEDURE sort_ssid_mapping_tab IS
20471 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
20472 --a numtabtype;
20473 l_stack numtabtype;
20474 l_stack_index NUMBER := 0;
20475 N NUMBER;
20476 R NUMBER;
20477 L NUMBER;
20478 P NUMBER;
20479 W NUMBER;
20480 W2 VARCHAR2(40);
20481 X NUMBER;
20482 I NUMBER;
20483 J NUMBER;
20484 BEGIN
20485 IF (G_DEBUG_ENABLED = 'Y') THEN
20486 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
20487 END IF;
20488 NULL;
20489
20490 N := l_ssid_counter - 1;
20491 IF (N < 2) THEN
20492 RETURN;
20493 END IF;
20494 l_stack_index := l_stack_index + 1;
20495 l_stack(l_stack_index) := 1;
20496 l_stack_index := l_stack_index + 1;
20497 l_stack(l_stack_index) := N;
20498
20499 --dbms_output.put_line('l_stack_index=' || l_stack_index);
20500 WHILE l_stack_index > 0
20501 LOOP
20502 R := l_stack(l_stack_index);
20503 l_stack_index := l_stack_index - 1;
20504 L := l_stack(l_stack_index);
20505 l_stack_index := l_stack_index - 1;
20506 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
20507 WHILE 1=1
20508 LOOP -- loop until L >= R
20509 I := L;
20510 J := R;
20511 P := FLOOR((L+R)/2);
20512 --if (a(L) > a(P)) then
20513 IF (l_ssid_mapping_tab(L).cle_id > l_ssid_mapping_tab(P).cle_id)
20514 THEN
20515 W := l_ssid_mapping_tab(L).cle_id;
20516 W2 := l_ssid_mapping_tab(L).object1_id1;
20517 l_ssid_mapping_tab(L).cle_id :=l_ssid_mapping_tab(P).cle_id;
20518 l_ssid_mapping_tab(L).object1_id1 :=l_ssid_mapping_tab(P).object1_id1;
20519 l_ssid_mapping_tab(P).cle_id := W;
20520 l_ssid_mapping_tab(P).object1_id1 := W2;
20521 END IF;
20522 --if (a(L) > a(R)) then
20523 IF (l_ssid_mapping_tab(L).cle_id > l_ssid_mapping_tab(R).cle_id)
20524 THEN
20525 W := l_ssid_mapping_tab(L).cle_id;
20526 W2 := l_ssid_mapping_tab(L).object1_id1;
20527 l_ssid_mapping_tab(L).cle_id :=l_ssid_mapping_tab(R).cle_id;
20528 l_ssid_mapping_tab(L).object1_id1 :=l_ssid_mapping_tab(R).object1_id1;
20529 l_ssid_mapping_tab(R).cle_id := W;
20530 l_ssid_mapping_tab(R).object1_id1 := W2;
20531 END IF;
20532 --if (a(P) > a(R)) then
20533 IF (l_ssid_mapping_tab(P).cle_id > l_ssid_mapping_tab(R).cle_id)
20534 THEN
20535 W := l_ssid_mapping_tab(P).cle_id;
20536 W2 := l_ssid_mapping_tab(P).object1_id1;
20537 l_ssid_mapping_tab(P).cle_id :=l_ssid_mapping_tab(R).cle_id;
20538 l_ssid_mapping_tab(P).object1_id1 :=l_ssid_mapping_tab(R).object1_id1;
20539 l_ssid_mapping_tab(R).cle_id := W;
20540 l_ssid_mapping_tab(R).object1_id1 := W2;
20541 END IF;
20542 --X := a(P);
20543 X := l_ssid_mapping_tab(P).cle_id;
20544 WHILE 1=1
20545 LOOP -- until I > J
20546 --while (a(I) < X) loop
20547 WHILE (l_ssid_mapping_tab(I).cle_id < X) LOOP
20548 I := I + 1;
20549 END LOOP;
20550 WHILE (X < l_ssid_mapping_tab(J).cle_id) LOOP
20551 J := J - 1;
20552 END LOOP;
20553 IF (I <= J) THEN
20554 W := l_ssid_mapping_tab(I).cle_id;
20555 W2 := l_ssid_mapping_tab(I).object1_id1;
20556 l_ssid_mapping_tab(I).cle_id :=l_ssid_mapping_tab(J).cle_id;
20557 l_ssid_mapping_tab(I).object1_id1 :=l_ssid_mapping_tab(J).object1_id1;
20558 l_ssid_mapping_tab(J).cle_id := W;
20559 l_ssid_mapping_tab(J).object1_id1 := W2;
20560 I := I + 1;
20561 J := J - 1;
20562 END IF;
20563 EXIT WHEN I > J;
20564 END LOOP;
20565 IF (J - L < R - I) THEN
20566 IF (I < R) THEN
20567 --push(I); push(R);
20568 l_stack_index := l_stack_index + 1;
20569 l_stack(l_stack_index) := I;
20570 l_stack_index := l_stack_index + 1;
20571 l_stack(l_stack_index) := R;
20572 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
20573 END IF;
20574 R := J;
20575 ELSE
20576 IF (L < J) THEN
20577 --push(L); push(J);
20578 l_stack_index := l_stack_index + 1;
20579 l_stack(l_stack_index) := L;
20580 l_stack_index := l_stack_index + 1;
20581 l_stack(l_stack_index) := J;
20582 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
20583 END IF;
20584 L := I;
20585 END IF;
20586
20587 EXIT WHEN (L >= R);
20588 END LOOP;
20589 END LOOP;
20590
20591 EXCEPTION WHEN OTHERS THEN
20592
20593 x_return_status := OKL_API.G_RET_STS_ERROR;
20594 /*OKL_API.set_message(p_app_name => 'OKL',
20595 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
20596 p_token1 => 'ASSET_NUMBER',
20597 p_token1_value => 'sort_ssid_mapping_tab');*/
20598 /* DEBUG */
20599 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20600 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20601 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_ssid_mapping_tab:l_ssid_mapping_tab N=' || N || ' ...');
20602 END IF;
20603
20604 --print array
20605 FOR i IN 1..N
20606 LOOP
20607 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20608 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ssid_mapping_tab('||i||')=' || l_ssid_mapping_tab(i).cle_id || ':' || l_ssid_mapping_tab(i).object1_id1);
20609 END IF;
20610 END LOOP;
20611
20612 RAISE OKC_API.G_EXCEPTION_ERROR;
20613
20614 END; /* sort_ssid_mapping_tab */
20615
20616 BEGIN
20617
20618 l_message := 'OKL_NEW_COPY_CHR_ERROR';
20619 l_curr_pos := 'okl_copy_lease_contract:1';
20620 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20621 -- Call start_activity to create savepoint, check compatibility
20622 -- and initialize message list
20623 x_return_status := OKL_API.START_ACTIVITY (
20624 l_api_name
20625 ,p_init_msg_list
20626 ,'_PVT'
20627 ,x_return_status);
20628 -- Check if activity started successfully
20629 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
20630 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20631 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
20632 RAISE OKL_API.G_EXCEPTION_ERROR;
20633 END IF;
20634
20635 l_curr_pos := 'okl_copy_lease_contract:2';
20636 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20637 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_trans_type=' || p_trans_type);
20638 END IF;
20639 FOR c1rec IN c1(p_chr_id)
20640 LOOP
20641 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20642 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Source id = ' || c1rec.id || ' processing started:' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20643 END IF;
20644 l_inventory_org_id := c1rec.inv_organization_id;
20645 l_curr_pos := 'okl_copy_lease_contract:3';
20646 l_orig_system_source_code := 'OKC_HDR';
20647 IF (c1rec.scs_code = 'QUOTE') THEN
20648 l_orig_system_source_code := 'OKL_QUOTE';
20649 END IF;
20650 IF (p_trans_type = 'CRB') THEN
20651 l_orig_system_source_code := 'OKL_REBOOK';
20652 ELSIF (p_trans_type = 'CRL') THEN
20653 l_orig_system_source_code := 'OKL_RELEASE';
20654 ELSIF (p_trans_type = 'SPLC') THEN
20655 l_orig_system_source_code := 'OKL_SPLIT';
20656 END IF;
20657
20658 l_sts_code := 'NEW'; -- 4716939
20659 IF (c1rec.scs_code = 'LEASE') THEN
20660 l_sts_code := 'NEW';
20661 ELSIF (c1rec.scs_code = 'QUOTE') THEN
20662 IF (c1rec.sts_code = 'NEW') THEN
20663 l_sts_code := 'NEW';
20664 ELSE
20665 l_sts_code := 'INCOMPLETE';
20666 END IF;
20667 END IF;
20668 l_sts_code_orig := c1rec.sts_code;
20669
20670 l_curr_pos := 'okl_copy_lease_contract:4';
20671 -- kmotepal populating contract id from sys guid instead of using OKC sequence which fixes the bug 4436545 (Reverted back for OKL.H)
20672 SELECT okc_k_headers_b_s.NEXTVAL INTO l_copied_id FROM dual;
20673 --l_copied_id := okc_p_util.raw_to_number(sys_guid());
20674
20675 l_contract_currency := c1rec.currency_code;
20676 l_contract_start_date := c1rec.start_date;
20677 l_conversion_type := c1rec.CONVERSION_TYPE;
20678 l_conversion_rate := c1rec.CONVERSION_RATE;
20679 l_conversion_rate_date := c1rec.CONVERSION_RATE_DATE;
20680 l_template_yn := c1rec.TEMPLATE_YN;
20681
20682 -- AKP: what api??
20683 --l_contract_number := p_contract_number;
20684
20685 l_curr_pos := 'okl_copy_lease_contract:5';
20686 IF (p_contract_number IS NULL) THEN
20687 l_curr_pos := 'okl_copy_lease_contract:6';
20688 okc_contract_pvt.generate_contract_number(
20689 p_scs_code => c1rec.scs_code,
20690 p_modifier => p_contract_number_modifier,
20691 x_return_status => x_return_status,
20692 x_contract_number => l_contract_number);
20693 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20694 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
20695 p_msg_name => g_unexpected_error,
20696 p_token1 => g_sqlcode_token,
20697 p_token1_value => SQLCODE,
20698 p_token2 => g_sqlerrm_token,
20699 p_token2_value => SQLERRM);
20700 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20701 END IF;
20702 ELSE
20703 l_contract_number := p_contract_number;
20704 END IF;
20705
20706 --print('l_contract_number=' ||l_contract_number);
20707 --print('c1rec.contract_number=' ||c1rec.contract_number);
20708 -- Bug 4738057
20709 l_contract_exists := FALSE;
20710 FOR contract_exists_rec IN contract_exists_csr(l_contract_number)
20711 LOOP
20712 l_contract_exists := TRUE;
20713 END LOOP;
20714 IF ((l_contract_number = c1rec.contract_number) OR
20715 (l_contract_exists) ) THEN
20716 OKL_API.set_message(p_app_name => 'OKC',
20717 p_msg_name => 'OKC_CONTRACT_EXISTS',
20718 p_token1 => 'VALUE1',
20719 p_token1_value => l_contract_number,
20720 p_token2 => 'VALUE2',
20721 p_token2_value => ' ');
20722 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
20723 l_api_name,
20724 G_PKG_NAME,
20725 'OKL_API.G_RET_STS_ERROR',
20726 x_msg_count,
20727 x_msg_data,
20728 '_PVT');
20729 RETURN;
20730 --RAISE OKC_API.G_EXCEPTION_ERROR;
20731 END IF;
20732
20733 l_curr_pos := 'okl_copy_lease_contract:7';
20734 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20735 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_contract_number=' || l_contract_number);
20736 END IF;
20737
20738 -- AKP: need to do all validatations here
20739 validate_currency_code(x_return_status, l_contract_currency );
20740 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20741 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20742 END IF;
20743
20744 l_curr_pos := 'okl_copy_lease_contract:8';
20745 validate_orig_sys_code(x_return_status, l_orig_system_source_code);
20746 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20747 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20748 END IF;
20749
20750 l_curr_pos := 'okl_copy_lease_contract:9';
20751 validate_currency_conv_type(x_return_status, l_conversion_type);
20752 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20753 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20754 END IF;
20755
20756 BEGIN
20757 l_curr_pos := 'okl_copy_lease_contract:10';
20758 INSERT INTO okc_k_headers_b (
20759 ID, CONTRACT_NUMBER, AUTHORING_ORG_ID,
20760 CONTRACT_NUMBER_MODIFIER, CHR_ID_RESPONSE, CHR_ID_AWARD,
20761 CHR_ID_RENEWED, INV_ORGANIZATION_ID, STS_CODE,
20762 QCL_ID, SCS_CODE, TRN_CODE,
20763 CURRENCY_CODE, ARCHIVED_YN, DELETED_YN,
20764 TEMPLATE_YN, CHR_TYPE, OBJECT_VERSION_NUMBER,
20765 CREATED_BY, CREATION_DATE, LAST_UPDATED_BY,
20766 CUST_PO_NUMBER_REQ_YN, PRE_PAY_REQ_YN, CUST_PO_NUMBER,
20767 DPAS_RATING, TEMPLATE_USED, DATE_APPROVED,
20768 DATETIME_CANCELLED, AUTO_RENEW_DAYS, DATE_ISSUED,
20769 DATETIME_RESPONDED, RFP_TYPE, KEEP_ON_MAIL_LIST,
20770 SET_ASIDE_PERCENT, RESPONSE_COPIES_REQ, DATE_CLOSE_PROJECTED,
20771 DATETIME_PROPOSED, DATE_SIGNED, DATE_TERMINATED,
20772 DATE_RENEWED, START_DATE, END_DATE,
20773 BUY_OR_SELL, ISSUE_OR_RECEIVE, LAST_UPDATE_LOGIN,
20774 ESTIMATED_AMOUNT, ATTRIBUTE_CATEGORY, LAST_UPDATE_DATE,
20775 ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3,
20776 ATTRIBUTE4, ATTRIBUTE5, ATTRIBUTE6,
20777 ATTRIBUTE7, ATTRIBUTE8, ATTRIBUTE9,
20778 ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12,
20779 ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15,
20780 SECURITY_GROUP_ID, CHR_ID_RENEWED_TO, ESTIMATED_AMOUNT_RENEWED,
20781 CURRENCY_CODE_RENEWED, UPG_ORIG_SYSTEM_REF, UPG_ORIG_SYSTEM_REF_ID,
20782 APPLICATION_ID, RESOLVED_UNTIL, ORIG_SYSTEM_SOURCE_CODE,
20783 ORIG_SYSTEM_ID1, ORIG_SYSTEM_REFERENCE1, PROGRAM_APPLICATION_ID,
20784 PROGRAM_ID, PROGRAM_UPDATE_DATE, REQUEST_ID,
20785 PRICE_LIST_ID, PRICING_DATE, TOTAL_LINE_LIST_PRICE,
20786 SIGN_BY_DATE, USER_ESTIMATED_AMOUNT, GOVERNING_CONTRACT_YN,
20787 CONVERSION_TYPE, CONVERSION_RATE,
20788 CONVERSION_RATE_DATE, CONVERSION_EURO_RATE, CUST_ACCT_ID,
20789 BILL_TO_SITE_USE_ID, INV_RULE_ID, RENEWAL_TYPE_CODE,
20790 RENEWAL_NOTIFY_TO, RENEWAL_END_DATE, SHIP_TO_SITE_USE_ID,
20791 PAYMENT_TERM_ID,
20792 ORG_ID --MOAC
20793 ) VALUES (
20794 l_copied_id, l_contract_number, c1rec.AUTHORING_ORG_ID,
20795 NULL, NULL, NULL,
20796 c1rec.CHR_ID_RENEWED, c1rec.INV_ORGANIZATION_ID, l_sts_code,
20797 c1rec.QCL_ID, c1rec.SCS_CODE, NULL,
20798 c1rec.CURRENCY_CODE, 'N', 'N',
20799 --Changed by jjuneja for 13337055
20800 p_to_template_yn, c1rec.CHR_TYPE, 1,
20801 l_created_by, SYSDATE, l_last_updated_by,
20802 c1rec.CUST_PO_NUMBER_REQ_YN, c1rec.PRE_PAY_REQ_YN, c1rec.CUST_PO_NUMBER,
20803 c1rec.DPAS_RATING, DECODE(c1rec.template_yn,'Y',c1rec.CONTRACT_NUMBER,NULL), NULL,
20804 NULL, c1rec.AUTO_RENEW_DAYS, NULL,
20805 NULL, NULL, c1rec.KEEP_ON_MAIL_LIST,
20806 NULL, NULL, NULL,
20807 NULL, c1rec.DATE_SIGNED, NULL,
20808 NULL, c1rec.START_DATE, c1rec.END_DATE,
20809 c1rec.BUY_OR_SELL, c1rec.ISSUE_OR_RECEIVE, l_last_update_login,
20810 c1rec.ESTIMATED_AMOUNT, c1rec.ATTRIBUTE_CATEGORY, SYSDATE,
20811 c1rec.ATTRIBUTE1, c1rec.ATTRIBUTE2, c1rec.ATTRIBUTE3,
20812 c1rec.ATTRIBUTE4, c1rec.ATTRIBUTE5, c1rec.ATTRIBUTE6,
20813 c1rec.ATTRIBUTE7, c1rec.ATTRIBUTE8, c1rec.ATTRIBUTE9,
20814 c1rec.ATTRIBUTE10, c1rec.ATTRIBUTE11, c1rec.ATTRIBUTE12,
20815 c1rec.ATTRIBUTE13, c1rec.ATTRIBUTE14, c1rec.ATTRIBUTE15,
20816 c1rec.SECURITY_GROUP_ID, c1rec.CHR_ID_RENEWED_TO, c1rec.ESTIMATED_AMOUNT_RENEWED,
20817 c1rec.CURRENCY_CODE_RENEWED, c1rec.UPG_ORIG_SYSTEM_REF, c1rec.UPG_ORIG_SYSTEM_REF_ID,
20818 c1rec.APPLICATION_ID, c1rec.RESOLVED_UNTIL, l_orig_system_source_code,
20819 --decode(p_trans_type, 'RBK', c1rec.orig_system_id1, c1rec.ID), null, c1rec.PROGRAM_APPLICATION_ID,
20820 c1rec.ID, NULL, c1rec.PROGRAM_APPLICATION_ID,
20821 c1rec.PROGRAM_ID, c1rec.PROGRAM_UPDATE_DATE, c1rec.REQUEST_ID,
20822 c1rec.PRICE_LIST_ID, c1rec.PRICING_DATE, c1rec.TOTAL_LINE_LIST_PRICE,
20823 c1rec.SIGN_BY_DATE, NULL, c1rec.GOVERNING_CONTRACT_YN,
20824 c1rec.CONVERSION_TYPE, c1rec.CONVERSION_RATE,
20825 c1rec.CONVERSION_RATE_DATE, c1rec.CONVERSION_EURO_RATE, c1rec.CUST_ACCT_ID,
20826 c1rec.BILL_TO_SITE_USE_ID, c1rec.INV_RULE_ID, c1rec.RENEWAL_TYPE_CODE,
20827 c1rec.RENEWAL_NOTIFY_TO, c1rec.RENEWAL_END_DATE, c1rec.SHIP_TO_SITE_USE_ID,
20828 c1rec.PAYMENT_TERM_ID,
20829 c1rec.AUTHORING_ORG_ID --MOAC
20830 );
20831 --) RETURNING ID into l_copied_id;
20832
20833 EXCEPTION WHEN OTHERS THEN
20834 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20835 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20836 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during insert into okc_k_headers_b...');
20837 END IF;
20838 OKL_API.set_message(p_app_name => 'OKL',
20839 p_msg_name => l_message,
20840 p_token1 => 'CONTRACT_NUMBER',
20841 p_token1_value => l_contract_number);
20842 RAISE OKC_API.G_EXCEPTION_ERROR;
20843 END;
20844 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20845 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_copied_id=' || l_copied_id);
20846 END IF;
20847
20848 l_curr_pos := 'okl_copy_lease_contract:11';
20849 BEGIN
20850 l_hstv_rec.chr_id := l_copied_id;
20851 l_hstv_rec.sts_code_from := NULL;
20852 l_hstv_rec.sts_code_to := l_sts_code;
20853 l_hstv_rec.reason_code := 'CREATE';
20854 l_hstv_rec.opn_code := 'STS_CHG';
20855 l_hstv_rec.manual_yn := 'N';
20856 l_hstv_rec.contract_version := '1.1';
20857
20858 l_curr_pos := 'okl_copy_lease_contract:12';
20859 OKC_K_HISTORY_PUB.create_k_history(
20860 p_api_version => p_api_version,
20861 p_init_msg_list => p_init_msg_list,
20862 x_return_status => x_return_status,
20863 x_msg_count => x_msg_count,
20864 x_msg_data => x_msg_data,
20865 p_hstv_rec => l_hstv_rec,
20866 x_hstv_rec => x_hstv_rec);
20867 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20868 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20869 END IF;
20870 EXCEPTION WHEN OTHERS THEN
20871 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20872 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20873 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during insert into create_k_history...');
20874 END IF;
20875 RAISE OKC_API.G_EXCEPTION_ERROR;
20876 END;
20877
20878 BEGIN
20879 l_curr_pos := 'okl_copy_lease_contract:13';
20880 l_message := 'OKL_NEW_COPY_VER_ERROR';
20881 INSERT INTO okc_k_vers_numbers (
20882 chr_id, major_version, minor_version,
20883 object_version_number, created_by, creation_date,
20884 last_updated_by, last_update_date, last_update_login
20885 --security_group_id
20886 ) VALUES (
20887 l_copied_id, 0, 1,
20888 1, l_created_by, SYSDATE,
20889 l_last_updated_by, SYSDATE, l_last_update_login
20890 --FND_GLOBAL.SECURITY_GROUP_ID
20891 );
20892 EXCEPTION WHEN OTHERS THEN
20893 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20894 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20895 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during inser into okc_k_vers_numbers...');
20896 END IF;
20897 OKL_API.set_message(p_app_name => 'OKL',
20898 p_msg_name => l_message,
20899 p_token1 => 'CONTRACT_NUMBER',
20900 p_token1_value => l_contract_number);
20901 RAISE OKC_API.G_EXCEPTION_ERROR;
20902 END;
20903
20904 l_curr_pos := 'okl_copy_lease_contract:14';
20905 l_message := 'OKL_NEW_COPY_CHR_ERROR';
20906 insert_okc_k_headers_tl(p_chr_id, l_copied_id);
20907 l_curr_pos := 'okl_copy_lease_contract:15';
20908 l_message := 'OKL_NEW_COPY_KHR_ERROR';
20909 insert_okl_k_headers(p_chr_id, l_copied_id);
20910 l_message := 'OKL_NEW_COPY_CSP_ERROR';
20911 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20912 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Calling okl_slctd_optns ...');
20913 END IF;
20914 l_curr_pos := 'okl_copy_lease_contract:16';
20915 insert_okl_slctd_optns(p_chr_id, l_copied_id);
20916 /*end loop;*/
20917
20918 l_curr_pos := 'okl_copy_lease_contract:17';
20919 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20920 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Governances...');
20921 END IF;
20922 FOR c2rec IN c2(p_chr_id)
20923 LOOP
20924 BEGIN
20925 l_curr_pos := 'okl_copy_lease_contract:18';
20926 l_message := 'OKL_NEW_COPY_GVE_ERROR';
20927 INSERT INTO okc_governances (
20928 ID, DNZ_CHR_ID, CHR_ID,
20929 CLE_ID, CHR_ID_REFERRED, CLE_ID_REFERRED,
20930 ISA_AGREEMENT_ID, COPIED_ONLY_YN, OBJECT_VERSION_NUMBER,
20931 CREATED_BY, CREATION_DATE, LAST_UPDATED_BY,
20932 LAST_UPDATE_DATE, LAST_UPDATE_LOGIN, SECURITY_GROUP_ID
20933 ) VALUES (
20934 okc_p_util.raw_to_number(sys_guid()), l_copied_id, l_copied_id,
20935 c2rec.CLE_ID, c2rec.CHR_ID_REFERRED, c2rec.CLE_ID_REFERRED,
20936 c2rec.ISA_AGREEMENT_ID, c2rec.COPIED_ONLY_YN, c2rec.OBJECT_VERSION_NUMBER,
20937 l_created_by, SYSDATE, l_last_updated_by,
20938 SYSDATE, l_last_update_login, c2rec.SECURITY_GROUP_ID
20939 ) RETURNING ID INTO l_gov_id;
20940 EXCEPTION WHEN OTHERS THEN
20941 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20942 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20943 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during inser into okc_governances...');
20944 END IF;
20945 RAISE OKC_API.G_EXCEPTION_ERROR;
20946 END;
20947
20948 l_curr_pos := 'okl_copy_lease_contract:19';
20949 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20950 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gov_id=' || l_gov_id);
20951 END IF;
20952 /* AKP: We dont need okc_governances_h
20953 for c3rec in c3(p_chr_id)
20954 loop
20955 l_curr_pos := 'okl_copy_lease_contract:20';
20956 insert into okc_governances_h (
20957 ID, DNZ_CHR_ID, CHR_ID,
20958 CLE_ID, CHR_ID_REFERRED, CLE_ID_REFERRED,
20959 ISA_AGREEMENT_ID, MAJOR_VERSION, OBJECT_VERSION_NUMBER,
20960 COPIED_ONLY_YN, CREATED_BY, CREATION_DATE,
20961 LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN,
20962 SECURITY_GROUP_ID
20963 ) VALUES (
20964 l_gov_id, l_copied_id, l_copied_id,
20965 c3rec.CLE_ID, c3rec.CHR_ID_REFERRED, c3rec.CLE_ID_REFERRED,
20966 c3rec.ISA_AGREEMENT_ID, c3rec.MAJOR_VERSION, c3rec.OBJECT_VERSION_NUMBER,
20967 c3rec.COPIED_ONLY_YN, c3rec.CREATED_BY, SYSDATE,
20968 c3rec.LAST_UPDATED_BY, SYSDATE, c3rec.LAST_UPDATE_LOGIN,
20969 c3rec.SECURITY_GROUP_ID
20970 );
20971 end loop; */
20972 END LOOP;
20973
20974 l_curr_pos := 'okl_copy_lease_contract:21';
20975 copy_var_int_rate_params(p_chr_id, l_copied_id, l_contract_start_date,
20976 p_trans_type, p_rbk_date);
20977 l_curr_pos := 'okl_copy_lease_contract:21.1';
20978 IF (NVL(p_copy_lines_yn, 'N') = 'N') THEN
20979 -- Do only header level rules/roles etc
20980 l_curr_pos := 'okl_copy_lease_contract:22';
20981 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20982 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_k_party_roles...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20983 END IF;
20984 l_message := 'OKL_NEW_COPY_CPL_ERROR';
20985 insert_okc_k_party_roles(p_chr_id, l_copied_id); -- _b _tl contacts okl_party_payment_dtls
20986
20987 l_curr_pos := 'okl_copy_lease_contract:23';
20988 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20989 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_rule_groups...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20990 END IF;
20991 l_message := 'OKL_NEW_COPY_RGP_ERROR';
20992 insert_okc_rule_groups(p_chr_id, l_copied_id); -- _b,_tl and rules(_b,_tl)
20993
20994 l_curr_pos := 'okl_copy_lease_contract:24';
20995 l_message := 'OKL_NEW_COPY_RGR_ERROR';
20996 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20997 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_rg_party_roles...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20998 END IF;
20999 insert_okc_rg_party_roles(p_chr_id, l_copied_id);
21000 ELSE
21001
21002 --Copy lines
21003 l_curr_pos := 'okl_copy_lease_contract:25';
21004 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21005 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'okc_k_lines Lines...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21006 END IF;
21007 l_counter := 1;
21008 l_message := 'OKL_NEW_COPY_CLE_ERROR';
21009 OPEN c4(p_chr_id);
21010 LOOP
21011 l_curr_pos := 'okl_copy_lease_contract:26';
21012 FETCH c4 bulk collect INTO
21013 l_id_tab2,l_line_number_tab2,l_chr_id_tab2,
21014 l_cle_id_tab2,l_cle_id_renewed_tab2,l_dnz_chr_id_tab2,
21015 l_display_sequence_tab2,l_sts_code_tab2,l_trn_code_tab2,
21016 l_lse_id_tab2,l_exception_yn_tab2,l_object_version_number_tab2,
21017 l_created_by_tab2,l_creation_date_tab2,l_last_updated_by_tab2,
21018 l_last_update_date_tab2,l_hidden_ind_tab2,l_price_negotiated_tab2,
21019 l_price_level_ind_tab2,l_price_unit_tab2,l_price_unit_percent_tab2,
21020 l_invoice_line_level_ind_tab2,l_dpas_rating_tab2,l_template_used_tab2,
21021 l_price_type_tab2,l_currency_code_tab2,l_last_update_login_tab2,
21022 l_date_terminated_tab2,l_start_date_tab2,l_end_date_tab2,
21023 l_attribute_category_tab2,l_attribute1_tab2,l_attribute2_tab2,
21024 l_attribute3_tab2,l_attribute4_tab2,l_attribute5_tab2,
21025 l_attribute6_tab2,l_attribute7_tab2,l_attribute8_tab2,
21026 l_attribute9_tab2,l_attribute10_tab2,l_attribute11_tab2,
21027 l_attribute12_tab2,l_attribute13_tab2,l_attribute14_tab2,
21028 l_attribute15_tab2,l_security_group_id_tab2,l_cle_id_renewed_to_tab2,
21029 l_price_negotiated_renewed_tb2,l_currency_code_renewed_tab2,l_upg_orig_system_ref_tab2,
21030 l_upg_orig_system_ref_id_tab2,l_date_renewed_tab2,l_orig_system_source_code_tab2,
21031 l_orig_system_id1_tab2,l_orig_system_reference1_tab2,l_program_application_id_tab2,
21032 l_program_id_tab2,l_program_update_date_tab2,l_request_id_tab2,
21033 l_price_list_id_tab2,l_price_list_line_id_tab2,l_line_list_price_tab2,
21034 l_item_to_price_yn_tab2,l_pricing_date_tab2,l_price_basis_yn_tab2,
21035 l_config_header_id_tab2,l_config_revision_number_tab2,l_config_complete_yn_tab2,
21036 l_config_valid_yn_tab2,l_config_top_model_line_id_tb2,l_config_item_type_tab2,
21037 l_config_item_id_tab2,l_service_item_yn_tab2,l_ph_pricing_type_tab2,
21038 l_ph_price_break_basis_tab2,l_ph_min_qty_tab2,l_ph_min_amt_tab2,
21039 l_ph_qp_reference_id_tab2,l_ph_value_tab2,l_ph_enforce_price_list_yn_tb2,
21040 l_ph_adjustment_tab2,l_ph_integrated_with_qp_tab2,l_cust_acct_id_tab2,
21041 l_bill_to_site_use_id_tab2,l_inv_rule_id_tab2,l_line_renewal_type_code_tab2,
21042 l_ship_to_site_use_id_tab2,l_payment_term_id_tab2 , l_fee_type_tab2,
21043 l_name_tab2
21044 limit G_BULK_SIZE;
21045
21046 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21047 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab2.count=' || l_id_tab2.COUNT);
21048 END IF;
21049 IF l_id_tab2.COUNT > 0 THEN
21050 NULL;
21051 l_curr_pos := 'okl_copy_lease_contract:27';
21052 FOR i IN l_id_tab2.first..l_id_tab2.last
21053 LOOP
21054 --if ( (l_fee_type_tab2(i) = 'ROLLOVER' and
21055 --l_lse_id_tab2(i) = 52 and
21056 --p_trans_type = 'CFA') or
21057 --(l_sts_code_tab2(i) = 'ABANDONED') or
21058 --(l_lse_id_tab2(i) = 47) ) then
21059 --null;
21060 --else
21061 l_id_tab3(l_counter) := l_id_tab2(i);
21062 l_id_tab(l_counter) := l_id_tab2(i); -- populate from guid() later
21063 l_line_number_tab(l_counter) := l_line_number_tab2(i);
21064 l_chr_id_tab(l_counter) := l_chr_id_tab2(i);
21065
21066 -- Change chr_id
21067 IF (l_chr_id_tab(l_counter) IS NOT NULL) THEN
21068 l_chr_id_tab(l_counter) := l_copied_id;
21069 END IF;
21070
21071 l_cle_id_tab(l_counter) := l_cle_id_tab2(i);
21072 l_cle_id_renewed_tab(l_counter) := l_cle_id_renewed_tab2(i);
21073
21074 -- Change dnz_chr_id
21075 --l_dnz_chr_id_tab(l_counter) := l_dnz_chr_id_tab2(i);
21076 l_dnz_chr_id_tab(l_counter) := l_copied_id;
21077
21078 l_display_sequence_tab(l_counter) := l_display_sequence_tab2(i);
21079 l_sts_code_tab(l_counter) := l_sts_code_tab2(i);
21080 l_trn_code_tab(l_counter) := l_trn_code_tab2(i);
21081 l_lse_id_tab(l_counter) := l_lse_id_tab2(i);
21082 l_exception_yn_tab(l_counter) := l_exception_yn_tab2(i);
21083 l_object_version_number_tab(l_counter) := l_object_version_number_tab2(i);
21084 l_created_by_tab(l_counter) := l_created_by_tab2(i);
21085 l_creation_date_tab(l_counter) := l_creation_date_tab2(i);
21086 l_last_updated_by_tab(l_counter) := l_last_updated_by_tab2(i);
21087 l_last_update_date_tab(l_counter) := l_last_update_date_tab2(i);
21088 l_hidden_ind_tab(l_counter) := l_hidden_ind_tab2(i);
21089 l_price_negotiated_tab(l_counter) := l_price_negotiated_tab2(i);
21090 l_price_level_ind_tab(l_counter) := l_price_level_ind_tab2(i);
21091 l_price_unit_tab(l_counter) := l_price_unit_tab2(i);
21092 l_price_unit_percent_tab(l_counter) := l_price_unit_percent_tab2(i);
21093 l_invoice_line_level_ind_tab(l_counter) := l_invoice_line_level_ind_tab2(i);
21094 l_dpas_rating_tab(l_counter) := l_dpas_rating_tab2(i);
21095 l_template_used_tab(l_counter) := l_template_used_tab2(i);
21096 l_price_type_tab(l_counter) := l_price_type_tab2(i);
21097 l_currency_code_tab(l_counter) := l_currency_code_tab2(i);
21098 l_last_update_login_tab(l_counter) := l_last_update_login_tab2(i);
21099 l_date_terminated_tab(l_counter) := l_date_terminated_tab2(i);
21100 l_start_date_tab(l_counter) := l_start_date_tab2(i);
21101 l_end_date_tab(l_counter) := l_end_date_tab2(i);
21102 l_attribute_category_tab(l_counter) := l_attribute_category_tab2(i);
21103 l_attribute1_tab(l_counter) := l_attribute1_tab2(i);
21104 l_attribute2_tab(l_counter) := l_attribute2_tab2(i);
21105 l_attribute3_tab(l_counter) := l_attribute3_tab2(i);
21106 l_attribute4_tab(l_counter) := l_attribute4_tab2(i);
21107 l_attribute5_tab(l_counter) := l_attribute5_tab2(i);
21108 l_attribute6_tab(l_counter) := l_attribute6_tab2(i);
21109 l_attribute7_tab(l_counter) := l_attribute7_tab2(i);
21110 l_attribute8_tab(l_counter) := l_attribute8_tab2(i);
21111 l_attribute9_tab(l_counter) := l_attribute9_tab2(i);
21112 l_attribute10_tab(l_counter) := l_attribute10_tab2(i);
21113 l_attribute11_tab(l_counter) := l_attribute11_tab2(i);
21114 l_attribute12_tab(l_counter) := l_attribute12_tab2(i);
21115 l_attribute13_tab(l_counter) := l_attribute13_tab2(i);
21116 l_attribute14_tab(l_counter) := l_attribute14_tab2(i);
21117 l_attribute15_tab(l_counter) := l_attribute15_tab2(i);
21118 l_security_group_id_tab(l_counter) := l_security_group_id_tab2(i);
21119 l_cle_id_renewed_to_tab(l_counter) := l_cle_id_renewed_to_tab2(i);
21120 l_price_negotiated_renewed_tab(l_counter) := l_price_negotiated_renewed_tb2(i);
21121 l_currency_code_renewed_tab(l_counter) := l_currency_code_renewed_tab2(i);
21122 l_upg_orig_system_ref_tab(l_counter) := l_upg_orig_system_ref_tab2(i);
21123 l_upg_orig_system_ref_id_tab(l_counter) := l_upg_orig_system_ref_id_tab2(i);
21124 l_date_renewed_tab(l_counter) := l_date_renewed_tab2(i);
21125 l_orig_system_source_code_tab(l_counter) := l_orig_system_source_code_tab2(i);
21126 --l_orig_system_id1_tab(l_counter) := l_orig_system_id1_tab2(i);
21127
21128 -- Populate proper values
21129 l_orig_system_id1_tab(l_counter) := l_id_tab(l_counter);
21130 l_id_tab(l_counter) := okc_p_util.raw_to_number(sys_guid());
21131 -- Populate proper values done
21132
21133 -- Store sid mapping for business function processing
21134 l_sid_mapping_tab(l_counter).id := l_id_tab(l_counter);
21135 l_sid_mapping_tab(l_counter).lse_id := l_lse_id_tab(l_counter);
21136
21137 l_orig_system_reference1_tab(l_counter) := l_orig_system_reference1_tab2(i);
21138 l_program_application_id_tab(l_counter) := l_program_application_id_tab2(i);
21139 l_program_id_tab(l_counter) := l_program_id_tab2(i);
21140 l_program_update_date_tab(l_counter) := l_program_update_date_tab2(i);
21141 l_request_id_tab(l_counter) := l_request_id_tab2(i);
21142 l_price_list_id_tab(l_counter) := l_price_list_id_tab2(i);
21143 l_price_list_line_id_tab(l_counter) := l_price_list_line_id_tab2(i);
21144 l_line_list_price_tab(l_counter) := l_line_list_price_tab2(i);
21145 l_item_to_price_yn_tab(l_counter) := l_item_to_price_yn_tab2(i);
21146 l_pricing_date_tab(l_counter) := l_pricing_date_tab2(i);
21147 l_price_basis_yn_tab(l_counter) := l_price_basis_yn_tab2(i);
21148 l_config_header_id_tab(l_counter) := l_config_header_id_tab2(i);
21149 l_config_revision_number_tab(l_counter) := l_config_revision_number_tab2(i);
21150 l_config_complete_yn_tab(l_counter) := l_config_complete_yn_tab2(i);
21151 l_config_valid_yn_tab(l_counter) := l_config_valid_yn_tab2(i);
21152 l_config_top_model_line_id_tab(l_counter) := l_config_top_model_line_id_tb2(i);
21153 l_config_item_type_tab(l_counter) := l_config_item_type_tab2(i);
21154 l_config_item_id_tab(l_counter) := l_config_item_id_tab2(i);
21155 l_service_item_yn_tab(l_counter) := l_service_item_yn_tab2(i);
21156 l_ph_pricing_type_tab(l_counter) := l_ph_pricing_type_tab2(i);
21157 l_ph_price_break_basis_tab(l_counter) := l_ph_price_break_basis_tab2(i);
21158 l_ph_min_qty_tab(l_counter) := l_ph_min_qty_tab2(i);
21159 l_ph_min_amt_tab(l_counter) := l_ph_min_amt_tab2(i);
21160 l_ph_qp_reference_id_tab(l_counter) := l_ph_qp_reference_id_tab2(i);
21161 l_ph_value_tab(l_counter) := l_ph_value_tab2(i);
21162 l_ph_enforce_price_list_yn_tab(l_counter) := l_ph_enforce_price_list_yn_tb2(i);
21163 l_ph_adjustment_tab(l_counter) := l_ph_adjustment_tab2(i);
21164 l_ph_integrated_with_qp_tab(l_counter) := l_ph_integrated_with_qp_tab2(i);
21165 l_cust_acct_id_tab(l_counter) := l_cust_acct_id_tab2(i);
21166 l_bill_to_site_use_id_tab(l_counter) := l_bill_to_site_use_id_tab2(i);
21167 l_inv_rule_id_tab(l_counter) := l_inv_rule_id_tab2(i);
21168 l_line_renewal_type_code_tab(l_counter) := l_line_renewal_type_code_tab2(i);
21169 l_ship_to_site_use_id_tab(l_counter) := l_ship_to_site_use_id_tab2(i);
21170 l_payment_term_id_tab(l_counter) := l_payment_term_id_tab2(i);
21171 l_name_tab(l_counter) := l_name_tab2(i);
21172 --print('c4:l_name_tab(' || l_counter||')=' || l_name_tab(l_counter) || ' l_lse_id_tab(' || l_counter||')=' || l_lse_id_tab(l_counter));
21173
21174 -- Another table
21175 l_orig_system_tab(l_counter).orig_system_id1 := l_orig_system_id1_tab(l_counter);
21176 l_orig_system_tab(l_counter).id := l_id_tab(l_counter);
21177
21178 -- Id Mapping table
21179 l_id_mapping_tab(l_counter).old_id := l_id_tab3(l_counter);
21180 l_id_mapping_tab(l_counter).new_id := l_id_tab(l_counter);
21181
21182 --l_bid_mapping_tab(l_counter).old_id := l_id_tab(l_counter)*100 + l_lse_id_tab(l_counter);
21183 l_bid_mapping_tab(l_counter).old_id := l_id_tab(l_counter);
21184 l_bid_mapping_tab(l_counter).new_id := l_name_tab(l_counter);
21185
21186 IF ( (l_fee_type_tab2(i) = 'ROLLOVER' AND
21187 l_lse_id_tab2(i) = 52 AND
21188 p_trans_type = 'CFA') OR
21189 (l_sts_code_tab2(i) = 'ABANDONED') OR
21190 (l_lse_id_tab2(i) = 47) ) THEN
21191 IF (l_chr_id_tab(i) IS NOT NULL) THEN
21192 -- Populate delete id tabs
21193 l_delete_id_tab(l_delete_counter) := l_id_tab(l_counter);
21194 l_delete_counter := l_delete_counter + 1;
21195 ELSE -- Bug 4872258
21196 IF (l_sts_code_tab2(i) = 'ABANDONED') THEN -- 5127961
21197 l_delete_id_tab(l_delete_counter) := l_id_tab(l_counter);
21198 l_delete_counter := l_delete_counter + 1;
21199 ELSE
21200 -- Populate 'ENTERED' id tabs
21201 l_entered_id_tab(l_entered_counter) := l_id_tab(l_counter);
21202 l_entered_sts_code_tab(l_entered_counter) := 'ENTERED';
21203 IF (l_sts_code_tab2(i) = 'ABANDONED') THEN
21204 l_entered_sts_code_tab(l_entered_counter) := 'ABANDONED';
21205 END IF;
21206 IF (p_trans_type = 'CRB') THEN -- Bug 4959361
21207 IF (l_sts_code_tab2(i) = 'TERMINATED') THEN
21208 l_entered_sts_code_tab(l_entered_counter) := 'TERMINATED';
21209 ELSE
21210 l_date_terminated_tab(l_counter) := NULL;
21211 l_trn_code_tab(l_counter) := NULL;
21212 END IF;
21213 ELSE
21214 l_date_terminated_tab(l_counter) := NULL;
21215 l_trn_code_tab(l_counter) := NULL;
21216 END IF;
21217 l_entered_counter := l_entered_counter + 1;
21218 l_id2_tab(l_id2_tab_counter) := l_id_tab(i);
21219 l_lse_id2_tab(l_id2_tab_counter) := l_lse_id_tab(i);
21220 l_id2_tab_counter := l_id2_tab_counter + 1;
21221 END IF; -- 5127961
21222 END IF;
21223 ELSE
21224 -- Populate 'ENTERED' id tabs
21225 l_entered_id_tab(l_entered_counter) := l_id_tab(l_counter);
21226 l_entered_sts_code_tab(l_entered_counter) := 'ENTERED';
21227 --IF (l_sts_code_tab2(i) = 'ABANDONED') THEN
21228 --l_entered_sts_code_tab(l_entered_counter) := 'ABANDONED';
21229 --END IF;
21230 --4959361
21231 IF (p_trans_type = 'CRB') THEN
21232 IF (l_sts_code_tab2(i) = 'TERMINATED') THEN
21233 l_entered_sts_code_tab(l_entered_counter) := 'TERMINATED';
21234 ELSE
21235 l_date_terminated_tab(l_counter) := NULL;
21236 l_trn_code_tab(l_counter) := NULL;
21237 END IF;
21238 ELSE
21239 l_date_terminated_tab(l_counter) := NULL;
21240 l_trn_code_tab(l_counter) := NULL;
21241 END IF;
21242 l_entered_counter := l_entered_counter + 1;
21243 l_id2_tab(l_id2_tab_counter) := l_id_tab(i);
21244 l_lse_id2_tab(l_id2_tab_counter) := l_lse_id_tab(i);
21245 l_id2_tab_counter := l_id2_tab_counter + 1;
21246 END IF;
21247
21248 l_counter := l_counter + 1;
21249 --end if;
21250 END LOOP;
21251 ELSE
21252 EXIT;
21253 END IF;
21254 l_curr_pos := 'okl_copy_lease_contract:28';
21255
21256 END LOOP;
21257 CLOSE c4;
21258 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21259 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_counter [ For okc_k_lines_b ] =' || l_counter);
21260 END IF;
21261
21262 -- Sort l_orig_system_tab
21263 l_curr_pos := 'okl_copy_lease_contract:29';
21264 do_sort;
21265 l_curr_pos := 'okl_copy_lease_contract:30';
21266 do_id_mapping_sort;
21267 l_curr_pos := 'okl_copy_lease_contract:31';
21268 sort_sid_mapping_tab;
21269 l_curr_pos := 'okl_copy_lease_contract:32';
21270 sort_bid_mapping_tab;
21271 l_curr_pos := 'okl_copy_lease_contract:33';
21272 --print('Sort done..');
21273
21274 /*print('Before update values...');
21275 for i in 1..l_counter-1
21276 loop
21277 print('id='||l_id_tab(i) || ' cle_id=' || l_cle_id_tab(i)||' orig_system_id1='||l_orig_system_id1_tab(i));
21278 end loop;
21279 */
21280
21281 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21282 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Update Started ...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21283 END IF;
21284 -- Update cle_id
21285 FOR i IN 1..l_counter-1
21286 LOOP
21287 IF (l_cle_id_tab(i) IS NOT NULL) THEN
21288 l_new_id := find_id(l_cle_id_tab(i));
21289 IF (l_new_id = -1) THEN
21290 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21291 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR!!!!Mapping line id not found');
21292 END IF;
21293 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21294 END IF;
21295 l_cle_id_tab(i) := l_new_id;
21296
21297 l_cle_lse_mapping_tab(l_cle_lse_counter).cle_id := l_cle_id_tab(i);
21298 l_cle_lse_mapping_tab(l_cle_lse_counter).lse_id := l_lse_id_tab(i);
21299 l_cle_lse_mapping_tab(l_cle_lse_counter).id := l_id_tab(i);
21300 l_cle_lse_counter := l_cle_lse_counter + 1;
21301 --print('Storing cle_lse: ' || l_cle_id_tab(i)||':' || l_lse_id_tab(i) || ':' || l_id_tab(i));
21302
21303 -- Store id to cle_id mapping in l_cid_mapping_tab
21304 l_cid_mapping_tab(l_cid_counter).old_id := l_id_tab(i);
21305 l_cid_mapping_tab(l_cid_counter).new_id := l_cle_id_tab(i);
21306 --print('l_new_id=' || l_new_id);
21307 l_cid_counter := l_cid_counter + 1;
21308 END IF;
21309 END LOOP;
21310 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21311 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Update Finished ...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21312 END IF;
21313 l_curr_pos := 'okl_copy_lease_contract:34';
21314 sort_cid_mapping_tab;
21315 l_curr_pos := 'okl_copy_lease_contract:35';
21316 sort_cle_lse_mapping_tab;
21317
21318 /*
21319 print('After update values...');
21320 for i in 1..l_counter-1
21321 loop
21322 print('id='||l_id_tab(i) || ' cle_id=' || l_cle_id_tab(i)||' orig_system_id1='||l_orig_system_id1_tab(i));
21323 end loop;
21324 */
21325
21326 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21327 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Before Inserting okc_k_lines_b...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21328 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab.count='||l_id_tab.COUNT);
21329 END IF;
21330 IF (l_id_tab.COUNT > 0) THEN
21331 BEGIN
21332 l_curr_pos := 'okl_copy_lease_contract:36';
21333 forall i IN l_id_tab.first..l_id_tab.last
21334 INSERT INTO okc_k_lines_b (
21335 id, line_number, chr_id,
21336 cle_id, cle_id_renewed, dnz_chr_id,
21337 display_sequence, sts_code, trn_code,
21338 lse_id, exception_yn, object_version_number,
21339 created_by, creation_date, last_updated_by,
21340 last_update_date, hidden_ind, price_negotiated,
21341 price_level_ind, price_unit, price_unit_percent,
21342 invoice_line_level_ind, dpas_rating, template_used,
21343 price_type, currency_code, last_update_login,
21344 date_terminated, start_date, end_date,
21345 attribute_category, attribute1, attribute2,
21346 attribute3, attribute4, attribute5,
21347 attribute6, attribute7, attribute8,
21348 attribute9, attribute10, attribute11,
21349 attribute12, attribute13, attribute14,
21350 attribute15, security_group_id, cle_id_renewed_to,
21351 price_negotiated_renewed, currency_code_renewed, upg_orig_system_ref,
21352 upg_orig_system_ref_id, date_renewed, orig_system_source_code,
21353 orig_system_id1, orig_system_reference1, program_application_id,
21354 program_id, program_update_date, request_id,
21355 price_list_id, price_list_line_id, line_list_price,
21356 item_to_price_yn, pricing_date, price_basis_yn,
21357 config_header_id, config_revision_number, config_complete_yn,
21358 config_valid_yn, config_top_model_line_id, config_item_type,
21359 config_item_id, service_item_yn, ph_pricing_type,
21360 ph_price_break_basis, ph_min_qty, ph_min_amt,
21361 ph_qp_reference_id, ph_value, ph_enforce_price_list_yn,
21362 ph_adjustment, ph_integrated_with_qp, cust_acct_id,
21363 bill_to_site_use_id, inv_rule_id, line_renewal_type_code,
21364 ship_to_site_use_id, payment_term_id)
21365 VALUES (
21366 l_id_tab(i), l_line_number_tab(i), l_chr_id_tab(i),
21367 l_cle_id_tab(i), l_cle_id_renewed_tab(i), l_dnz_chr_id_tab(i),
21368 l_display_sequence_tab(i), 'ENTERED', l_trn_code_tab(i), -- Bug 4959361 NULL,
21369 l_lse_id_tab(i), l_exception_yn_tab(i), 1,
21370 l_created_by, SYSDATE, l_last_updated_by,
21371 SYSDATE, l_hidden_ind_tab(i), l_price_negotiated_tab(i),
21372 l_price_level_ind_tab(i), l_price_unit_tab(i), l_price_unit_percent_tab(i),
21373 l_invoice_line_level_ind_tab(i), l_dpas_rating_tab(i), l_template_used_tab(i),
21374 l_price_type_tab(i), l_currency_code_tab(i), l_last_update_login,
21375 -- Bug 4959361 NULL, l_start_date_tab(i), l_end_date_tab(i),
21376 l_date_terminated_tab(i), l_start_date_tab(i), l_end_date_tab(i),
21377 l_attribute_category_tab(i), l_attribute1_tab(i), l_attribute2_tab(i),
21378 l_attribute3_tab(i), l_attribute4_tab(i), l_attribute5_tab(i),
21379 l_attribute6_tab(i), l_attribute7_tab(i), l_attribute8_tab(i),
21380 l_attribute9_tab(i), l_attribute10_tab(i), l_attribute11_tab(i),
21381 l_attribute12_tab(i), l_attribute13_tab(i), l_attribute14_tab(i),
21382 l_attribute15_tab(i), l_security_group_id_tab(i), l_cle_id_renewed_to_tab(i),
21383 l_price_negotiated_renewed_tab(i), l_currency_code_renewed_tab(i), l_upg_orig_system_ref_tab(i),
21384 l_upg_orig_system_ref_id_tab(i), NULL, 'OKC_LINE',
21385 l_id_tab3(i), l_orig_system_reference1_tab(i), l_program_application_id_tab(i),
21386 l_program_id_tab(i), l_program_update_date_tab(i), l_request_id_tab(i),
21387 l_price_list_id_tab(i), l_price_list_line_id_tab(i), l_line_list_price_tab(i),
21388 l_item_to_price_yn_tab(i), l_pricing_date_tab(i), l_price_basis_yn_tab(i),
21389 l_config_header_id_tab(i), l_config_revision_number_tab(i), l_config_complete_yn_tab(i),
21390 l_config_valid_yn_tab(i), l_config_top_model_line_id_tab(i), l_config_item_type_tab(i),
21391 l_config_item_id_tab(i), l_service_item_yn_tab(i), l_ph_pricing_type_tab(i),
21392 l_ph_price_break_basis_tab(i), l_ph_min_qty_tab(i), l_ph_min_amt_tab(i),
21393 NULL, l_ph_value_tab(i), l_ph_enforce_price_list_yn_tab(i),
21394 l_ph_adjustment_tab(i), NULL, l_cust_acct_id_tab(i),
21395 l_bill_to_site_use_id_tab(i), l_inv_rule_id_tab(i), l_line_renewal_type_code_tab(i),
21396 l_ship_to_site_use_id_tab(i), l_payment_term_id_tab(i)
21397 );
21398 EXCEPTION WHEN OTHERS THEN
21399 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21400 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
21401 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during insert into okc_k_lines_b...');
21402 END IF;
21403 RAISE OKC_API.G_EXCEPTION_ERROR;
21404 END;
21405 END IF;
21406
21407 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21408 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_k_lines_tl...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21409 END IF;
21410 -- Now insert okc_k_lines_tl
21411 /*
21412 for i in 1..l_counter-1 loop
21413 --old id to be used to query, new id to update
21414 -- Store okc_k_lines_b l_id_tab into l_id_tab3 for future reference
21415 if (i = l_counter - 1) then
21416 insert_okc_k_lines_tl_old(l_id_tab3(i), l_id_tab(i), 'Y');
21417 else
21418 insert_okc_k_lines_tl_old(l_id_tab3(i), l_id_tab(i), 'N');
21419 end if;
21420 end loop;
21421 */
21422 l_curr_pos := 'okl_copy_lease_contract:37';
21423 l_message := 'OKL_NEW_COPY_CLE_ERROR';
21424 insert_okc_k_lines_tl(p_chr_id);
21425 --sort_aid_mapping_tab;
21426 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21427 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'After sort_aid_mapping_tab...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21428 END IF;
21429
21430 l_message := 'OKL_NEW_COPY_KLE_ERROR';
21431 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21432 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_k_lines...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21433 END IF;
21434 l_curr_pos := 'okl_copy_lease_contract:38';
21435 insert_okl_k_lines;
21436
21437 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21438 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_k_party_roles...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21439 END IF;
21440 l_curr_pos := 'okl_copy_lease_contract:39';
21441 l_message := 'OKL_NEW_COPY_CPL_ERROR';
21442 insert_okc_k_party_roles(p_chr_id, l_copied_id); -- _b _tl contacts okl_party_payment_dtls
21443
21444 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21445 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_rule_groups...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21446 END IF;
21447 l_curr_pos := 'okl_copy_lease_contract:40';
21448 l_message := 'OKL_NEW_COPY_RGP_ERROR';
21449 insert_okc_rule_groups(p_chr_id, l_copied_id); -- _b,_tl and rules(_b,_tl)
21450
21451 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21452 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_rg_party_roles...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21453 END IF;
21454 l_curr_pos := 'okl_copy_lease_contract:41';
21455 l_message := 'OKL_NEW_COPY_RGR_ERROR';
21456 insert_okc_rg_party_roles(p_chr_id, l_copied_id);
21457
21458 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21459 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_k_items...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21460 END IF;
21461 l_curr_pos := 'okl_copy_lease_contract:42';
21462 l_message := 'OKL_NEW_COPY_CIM_ERROR';
21463 insert_okc_k_items(p_chr_id, l_copied_id);
21464
21465 IF ((l_sts_code_orig IN (
21466 'APPROVED', 'COMPLETE', 'INCOMPLETE', 'NEW',
21467 'PASSED', 'PENDING_APPROVAL')) OR
21468 (nvl(l_template_yn, 'N') = 'Y' )) THEN
21469 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21470 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_trx_assets...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21471 END IF;
21472 l_curr_pos := 'okl_copy_lease_contract:43';
21473 l_message := 'OKL_NEW_COPY_ASSET_TAS_ERROR';
21474 insert_okl_trx_assets(p_chr_id, l_copied_id);
21475
21476 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21477 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_itm_insts...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21478 END IF;
21479 l_curr_pos := 'okl_copy_lease_contract:44';
21480 l_message := 'OKL_NEW_COPY_IB_TAS_ERROR';
21481 insert_okl_trx_assets_2(p_chr_id, l_copied_id);
21482 l_curr_pos := 'okl_copy_lease_contract:45';
21483 l_message := 'OKL_NEW_COPY_ITI_ERROR';
21484 insert_okl_txl_itm_insts(p_chr_id, l_copied_id);
21485 ELSE
21486 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21487 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_trx_assets BOOKED...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21488 END IF;
21489 l_curr_pos := 'okl_copy_lease_contract:46';
21490 l_message := 'OKL_NEW_COPY_ASSET_TAS_ERROR';
21491 insert_okl_trx_assets_3(p_chr_id, l_copied_id);
21492 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21493 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_itm_insts BOOKED...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21494 END IF;
21495 l_curr_pos := 'okl_copy_lease_contract:47';
21496 l_message := 'OKL_NEW_COPY_IB_TAS_ERROR';
21497 insert_okl_txl_itm_insts2(p_chr_id, l_copied_id);
21498 END IF;
21499
21500 -- Delete the abandoned/rollover/insurance lines now
21501 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21502 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Delete started ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21503 END IF;
21504 l_curr_pos := 'okl_copy_lease_contract:48';
21505 IF (l_delete_counter > 1) THEN
21506 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21507 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_delete_counter=' || l_delete_counter);
21508 END IF;
21509 FOR i IN l_delete_id_tab.first..l_delete_id_tab.last
21510 LOOP
21511 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21512 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_delete_id_tab(' || i || ')=' || l_delete_id_tab(i));
21513 END IF;
21514 select count(1) into l_line_count -- 5207066
21515 FROM okc_k_lines_b
21516 where id = l_delete_id_tab(i);
21517 IF (l_line_count > 0) THEN -- 5207066
21518 Okl_Contract_Pub.delete_contract_line(
21519 p_api_version => p_api_version,
21520 p_init_msg_list => p_init_msg_list,
21521 x_return_status => x_return_status,
21522 x_msg_count => x_msg_count,
21523 x_msg_data => x_msg_data,
21524 p_line_id => l_delete_id_tab(i));
21525 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
21526 RAISE G_EXCEPTION_HALT_PROCESS;
21527 END IF;
21528 END IF;
21529
21530 END LOOP;
21531 END IF;
21532
21533 -- Update status as ENTERED
21534 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21535 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Update sts_code started ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21536 END IF;
21537 l_curr_pos := 'okl_copy_lease_contract:49';
21538 IF (l_entered_counter > 1) THEN
21539
21540 forall i IN l_entered_id_tab.first..l_entered_id_tab.last
21541 UPDATE okc_k_lines_b
21542 SET sts_code = l_entered_sts_code_tab(i) -- Bug 4872258
21543 --SET sts_code = 'ENTERED'
21544 WHERE id = l_entered_id_tab(i);
21545 END IF;
21546
21547 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21548 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_supp_invoice_dtls...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21549 END IF;
21550 l_curr_pos := 'okl_copy_lease_contract:50';
21551 l_message := 'OKL_NEW_COPY_SID_ERROR';
21552 insert_okl_supp_invoice_dtls(p_chr_id);
21553 /* AKP: Commented out for now: it takes lot of time to execute formula
21554 print('Before formula execute x_return_status='||x_return_status || ' ' || to_char(sysdate,'HH24:MI:SS'));
21555
21556 -- Post Processing (to calculate CAPITAL_AMOUNT)
21557 l_curr_pos := 'okl_copy_lease_contract:51';
21558 if (l_id2_tab.count > 0) then
21559 for i in l_id2_tab.first..l_id2_tab.last
21560 loop
21561 if (l_lse_id2_tab(i) = 33) then
21562 --print('Calling with ' || l_id2_tab(i));
21563 okl_execute_formula_pub.execute(p_api_version=> p_api_version,
21564 p_init_msg_list => p_init_msg_list,
21565 x_return_status => x_return_status,
21566 x_msg_count => x_msg_count,
21567 x_msg_data => x_msg_data,
21568 p_formula_name => 'LINE_CAP_AMNT',
21569 p_contract_id => l_copied_id,
21570 p_line_id => l_id2_tab(i),
21571 x_value => l_capital_amount);
21572 if (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
21573 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
21574 elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
21575 raise OKC_API.G_EXCEPTION_ERROR;
21576 end if;
21577 end if;
21578 end loop;
21579 end if;
21580 */
21581 END IF; /* if copy_lines_yn <> 'N' */
21582 END LOOP; /* for c1rec */
21583 --x_return_status := OKL_API.G_RET_STS_SUCCESS;
21584
21585 x_chr_id := l_copied_id;
21586 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21587 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'After formula execute x_return_status='||x_return_status || ' ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21588 END IF;
21589
21590 -- Now do all the business events processing
21591 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21592 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_header...' );
21593 END IF;
21594 l_curr_pos := 'okl_copy_lease_contract:52';
21595 raise_business_event_header(p_chr_id => x_chr_id
21596 ,x_return_status => x_return_status);
21597 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21598 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21599 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21600 RAISE OKL_API.G_EXCEPTION_ERROR;
21601 END IF;
21602
21603 -- For Create Top Line and Subsidy
21604
21605 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21606 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event...' );
21607 END IF;
21608 l_curr_pos := 'okl_copy_lease_contract:53';
21609 l_contract_process := okl_lla_util_pvt.get_contract_process(l_copied_id);
21610
21611 IF (l_counter > 1) THEN
21612 l_parameter_list := NULL;
21613 l_raise_business_event := OKL_API.G_FALSE;
21614 l_event_name := NULL;
21615 l_curr_pos := 'okl_copy_lease_contract:54';
21616 FOR i IN l_id_tab.first..l_id_tab.last
21617 LOOP
21618 IF l_lse_id_tab(i) = 58 THEN
21619 -- raise the business event for create credit limit, if line style code is FREE_FORM
21620 l_event_name := G_WF_EVT_CR_LMT_CREATED;
21621 l_raise_business_event := OKL_API.G_TRUE;
21622 wf_event.AddParameterToList(G_WF_ITM_CR_LINE_ID,l_copied_id,l_parameter_list);
21623 wf_event.AddParameterToList(G_WF_ITM_CR_LMT_ID,l_id_tab(i),l_parameter_list);
21624 ELSIF l_lse_id_tab(i) = 33 THEN
21625 -- raise the business event for create asset, if line style code is FREE_FORM1
21626 l_event_name := G_WF_EVT_ASSET_CREATED;
21627 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21628 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID,l_id_tab(i),l_parameter_list);
21629 ELSIF l_lse_id_tab(i) = 48 THEN
21630 -- raise the business event for create service, if line style code is SOLD_SERVICE
21631 l_event_name := G_WF_EVT_SERVICE_CREATED;
21632 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21633 wf_event.AddParameterToList(G_WF_ITM_SRV_LINE_ID,l_id_tab(i),l_parameter_list);
21634 --create_fee event is raised from here rather than okl_maintain_fee_pvt
21635 --as contract import process does not call okl_maintain_fee_pvt, but directly calls
21636 --okl_contract_pvt
21637 ELSIF l_lse_id_tab(i) = 52 THEN
21638 -- raise the business event for create fee, if line style code is FEE
21639 l_event_name := G_WF_EVT_FEE_CREATED;
21640 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21641 wf_event.AddParameterToList(G_WF_ITM_FEE_LINE_ID,l_id_tab(i),l_parameter_list);
21642 END IF;
21643
21644 -- raise business event only if the contract is a lease contract, the raise_event flag is on and business event
21645 -- name is specified. the event should also be raised if this is a credit limit, in which case is_lease_contract
21646 -- does not hold good
21647 IF(l_raise_business_event = OKL_API.G_TRUE AND l_event_name IS NOT NULL) THEN
21648 raise_business_event(p_api_version => p_api_version,
21649 p_init_msg_list => p_init_msg_list,
21650 x_return_status => x_return_status,
21651 x_msg_count => x_msg_count,
21652 x_msg_data => x_msg_data,
21653 p_event_name => l_event_name,
21654 p_parameter_list => l_parameter_list,
21655 p_contract_process => l_contract_process );
21656 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21657 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21658 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21659 RAISE OKL_API.G_EXCEPTION_ERROR;
21660 END IF;
21661 l_parameter_list := NULL;
21662 l_raise_business_event := OKL_API.G_FALSE;
21663 l_event_name := NULL;
21664 END IF;
21665
21666 -- Subsidy
21667 IF (l_lse_id_tab(i) = 70) THEN
21668 raise_business_event_subsidy(p_api_version => p_api_version,
21669 p_init_msg_list => p_init_msg_list,
21670 p_chr_id => l_copied_id,
21671 p_asset_id => l_cle_id_tab(i),
21672 p_subsidy_id => find_osid_mapping_id(l_id_tab(i)),
21673 p_event_name => G_WF_EVT_ASSET_SUBSIDY_CRTD,
21674 p_contract_process => l_contract_process,
21675 x_return_status => x_return_status,
21676 x_msg_count => x_msg_count,
21677 x_msg_data => x_msg_data
21678 );
21679 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21680 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21681 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21682 RAISE OKL_API.G_EXCEPTION_ERROR;
21683 END IF;
21684
21685 END IF;
21686 END LOOP;
21687 END IF;
21688
21689 IF (l_counter > 1) THEN
21690 l_curr_pos := 'okl_copy_lease_contract:55';
21691 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21692 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_itm...' );
21693 END IF;
21694 -- For Create Fee Asset and Create Usage Line and Create Usage Asset
21695 l_parameter_list := NULL;
21696 l_raise_business_event := OKL_API.G_FALSE;
21697 l_business_event_name := NULL;
21698 FOR i IN l_id_tab.first..l_id_tab.last
21699 LOOP
21700
21701 IF(l_lse_id_tab(i) = 53 ) THEN
21702 l_raise_business_event := OKL_API.G_TRUE;
21703 l_business_event_name := G_WF_EVT_ASSET_FEE_CREATED;
21704 wf_event.AddParameterToList(G_WF_ITM_FEE_LINE_ID,l_cle_id_tab(i),l_parameter_list);
21705 ELSIF(l_lse_id_tab(i) = 49 ) THEN
21706 l_raise_business_event := OKL_API.G_TRUE;
21707 l_business_event_name := G_WF_EVT_ASSET_SERV_FEE_CRTD;
21708 wf_event.AddParameterToList(G_WF_ITM_SERV_LINE_ID,l_cle_id_tab(i),l_parameter_list);
21709 END IF;
21710
21711 IF(l_raise_business_event = OKL_API.G_TRUE AND l_business_event_name IS NOT NULL)THEN
21712 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21713 --Ashish ??? Done
21714 --wf_event.AddParameterToList(G_WF_ITM_ASSET_ID,p_cimv_rec.object1_id1,l_parameter_list);
21715 l_new_object1_id1 := find_oid_mapping_id(l_id_tab(i));
21716 IF (l_new_object1_id1 = '-1') THEN
21717 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21718 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Can not find mapping object1_id1 for ' || l_id_tab(i));
21719 END IF;
21720 RAISE OKL_API.G_EXCEPTION_ERROR;
21721 END IF;
21722 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID,l_new_object1_id1,l_parameter_list);
21723
21724 raise_business_event_itm(p_api_version => p_api_version
21725 ,p_init_msg_list => p_init_msg_list
21726 ,x_return_status => x_return_status
21727 ,x_msg_count => x_msg_count
21728 ,x_msg_data => x_msg_data
21729 ,p_event_name => l_business_event_name
21730 ,p_event_param_list => l_parameter_list
21731 ,p_contract_process => l_contract_process);
21732 l_raise_business_event := OKL_API.G_FALSE;
21733 l_business_event_name := NULL;
21734 l_parameter_list := NULL;
21735 END IF;
21736
21737 IF (l_lse_id_tab(i) = 56) THEN
21738 okl_ubb_wf_pvt.raise_create_event (
21739 p_api_version => p_api_version,
21740 p_init_msg_list => p_init_msg_list,
21741 x_return_status => x_return_status,
21742 x_msg_count => x_msg_count,
21743 x_msg_data => x_msg_data,
21744 p_chr_id => l_copied_id,
21745 p_ubb_id => l_id_tab(i));
21746 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21747 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21748 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21749 RAISE OKL_API.G_EXCEPTION_ERROR;
21750 END IF;
21751 ELSIF (l_lse_id_tab(i) = 57) THEN
21752 okl_ubb_wf_pvt.raise_add_asset_event (
21753 p_api_version => p_api_version,
21754 p_init_msg_list => p_init_msg_list,
21755 x_return_status => x_return_status,
21756 x_msg_count => x_msg_count,
21757 x_msg_data => x_msg_data,
21758 p_chr_id => l_copied_id,
21759 p_ubb_id => l_cle_id_tab(i),
21760 p_cle_id => l_id_tab(i));
21761 END IF;
21762
21763 END LOOP;
21764 END IF;
21765
21766 IF (l_party_counter > 1) THEN
21767 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21768 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_itm again...' );
21769 END IF;
21770 l_curr_pos := 'okl_copy_lease_contract:56';
21771 -- For create party
21772 l_parameter_list := NULL;
21773 FOR i IN l_prid_tab.first..l_prid_tab.last
21774 LOOP
21775
21776 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21777 --vthiruva..04-jan-2004.. Modified to pass object1_id1 as party id and
21778 --added party_role_id to list of paramters passed to raise business event.
21779 --wf_event.AddParameterToList(G_WF_ITM_PARTY_ID,p_cplv_rec.object1_id1,l_parameter_list);
21780 --wf_event.AddParameterToList(G_WF_ITM_PARTY_ROLE_ID,x_cplv_rec.id,l_parameter_list);
21781 wf_event.AddParameterToList(G_WF_ITM_PARTY_ID,l_probject1_id1_tab(i),l_parameter_list);
21782 wf_event.AddParameterToList(G_WF_ITM_PARTY_ROLE_ID,l_prid_tab(i),l_parameter_list);
21783
21784 raise_business_event_itm(p_api_version => p_api_version
21785 ,p_init_msg_list => p_init_msg_list
21786 ,x_return_status => x_return_status
21787 ,x_msg_count => x_msg_count
21788 ,x_msg_data => x_msg_data
21789 ,p_event_name => G_WF_EVT_KHR_PARTY_CREATED
21790 ,p_event_param_list => l_parameter_list
21791 ,p_contract_process => l_contract_process);
21792
21793 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21794 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21795 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21796 RAISE OKL_API.G_EXCEPTION_ERROR;
21797 END IF;
21798 l_parameter_list := NULL;
21799
21800 END LOOP;
21801 END IF;
21802
21803 IF (l_txl_assets_b_counter > 1) THEN
21804 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21805 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_dep...' );
21806 END IF;
21807 l_curr_pos := 'okl_copy_lease_contract:57';
21808 -- For Create book Depreciation
21809 FOR i IN l_tbid_tab.first..l_tbid_tab.last
21810 LOOP
21811 IF (l_tbcorporate_book_tab(i) IS NOT NULL) THEN
21812 raise_business_event_dep
21813 (p_api_version => p_api_version,
21814 p_init_msg_list => p_init_msg_list,
21815 p_chr_id => l_copied_id,
21816 p_asset_id => find_cid_mapping_id(l_tbkle_id_tab(i)),
21817 p_book_code => l_tbcorporate_book_tab(i),
21818 p_event_name => G_WF_EVT_ASSETBOOK_DPRN_CRTD,
21819 p_contract_process => l_contract_process,
21820 x_return_status => x_return_status,
21821 x_msg_count => x_msg_count,
21822 x_msg_data => x_msg_data
21823 );
21824 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21825 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21826 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21827 RAISE OKL_API.G_EXCEPTION_ERROR;
21828 END IF;
21829 END IF;
21830 END LOOP;
21831 END IF;
21832
21833 IF (l_trx_assets_counter4 > 1) THEN
21834 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21835 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_dep 2...' );
21836 END IF;
21837 l_curr_pos := 'okl_copy_lease_contract:58';
21838 FOR i IN l_tb2id_tab.first..l_tb2id_tab.last
21839 LOOP
21840 IF (l_tb2corporate_book_tab(i) IS NOT NULL) THEN
21841 raise_business_event_dep
21842 (p_api_version => p_api_version,
21843 p_init_msg_list => p_init_msg_list,
21844 p_chr_id => l_copied_id,
21845 p_asset_id => find_cid_mapping_id(l_tb2kle_id_tab(i)),
21846 p_book_code => l_tb2corporate_book_tab(i),
21847 p_event_name => G_WF_EVT_ASSETBOOK_DPRN_CRTD,
21848 p_contract_process => l_contract_process,
21849 x_return_status => x_return_status,
21850 x_msg_count => x_msg_count,
21851 x_msg_data => x_msg_data
21852 );
21853 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21854 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21855 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21856 RAISE OKL_API.G_EXCEPTION_ERROR;
21857 END IF;
21858 END IF;
21859 END LOOP;
21860 END IF;
21861
21862 -- Create Tax Depreciation
21863 IF (l_tal_to_kle_counter > 1) THEN
21864 l_curr_pos := 'okl_copy_lease_contract:59';
21865 FOR i IN l_dbid_mapping_tab.first..l_dbid_mapping_tab.last
21866 LOOP
21867 l_tal_kle_cle_id := find_cid_mapping_id(l_dbid_mapping_tab(i).kle_id);
21868 IF (l_tal_kle_cle_id = -1) THEN
21869 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21870 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: TAL_ID to KLE_ID to CLE_ID mapping not found');
21871 END IF;
21872 RAISE OKL_API.G_EXCEPTION_ERROR;
21873 END IF;
21874 raise_business_event_txd
21875 ( p_api_version => p_api_version,
21876 p_init_msg_list => p_init_msg_list,
21877 p_chr_id => l_copied_id,
21878 p_asset_id => l_tal_kle_cle_id,
21879 p_event_name => G_WF_EVT_ASSETTAX_DPRN_CRTD,
21880 p_contract_process => l_contract_process,
21881 x_return_status => x_return_status,
21882 x_msg_count => x_msg_count,
21883 x_msg_data => x_msg_data
21884 );
21885 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21886 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21887 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21888 RAISE OKL_API.G_EXCEPTION_ERROR;
21889 END IF;
21890 END LOOP;
21891 END IF;
21892
21893 -- Create Serial Number
21894 IF ( l_txl_itm_insts_counter > 1 ) THEN
21895 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21896 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_itm...');
21897 END IF;
21898 l_curr_pos := 'okl_copy_lease_contract:60';
21899 FOR i IN l_tiid_tab.first..l_tiid_tab.last
21900 LOOP
21901 IF (l_tiserial_number_tab(i) IS NOT NULL) THEN
21902 raise_business_event_itm
21903 ( p_api_version => p_api_version,
21904 p_init_msg_list => p_init_msg_list,
21905 p_chr_id => l_copied_id,
21906 p_asset_id => l_tidnz_cle_id_tab(i),
21907 p_ser_num => l_tiserial_number_tab(i),
21908 p_event_name => G_WF_EVT_ASSET_SERIAL_CRTD,
21909 p_contract_process => l_contract_process,
21910 x_return_status => x_return_status,
21911 x_msg_count => x_msg_count,
21912 x_msg_data => x_msg_data
21913 );
21914 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21915 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21916 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21917 RAISE OKL_API.G_EXCEPTION_ERROR;
21918 END IF;
21919 END IF;
21920 END LOOP;
21921 END IF;
21922
21923 -- Create Serial Number2
21924 IF ( l_txl_itm_insts_counter2 > 1 ) THEN
21925 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21926 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_itm 2...');
21927 END IF;
21928 l_curr_pos := 'okl_copy_lease_contract:61';
21929 FOR i IN l_ti2id_tab.first..l_ti2id_tab.last
21930 LOOP
21931 IF (l_ti2serial_number_tab(i) IS NOT NULL) THEN
21932 raise_business_event_itm
21933 ( p_api_version => p_api_version,
21934 p_init_msg_list => p_init_msg_list,
21935 p_chr_id => l_copied_id,
21936 p_asset_id => l_ti2dnz_cle_id_tab(i),
21937 p_ser_num => l_ti2serial_number_tab(i),
21938 p_event_name => G_WF_EVT_ASSET_SERIAL_CRTD,
21939 p_contract_process => l_contract_process,
21940 x_return_status => x_return_status,
21941 x_msg_count => x_msg_count,
21942 x_msg_data => x_msg_data
21943 );
21944 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21945 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21946 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21947 RAISE OKL_API.G_EXCEPTION_ERROR;
21948 END IF;
21949 END IF;
21950 END LOOP;
21951 END IF;
21952
21953 -- For Create Supplier Invoice Details
21954 IF (l_supp_invoice_dtls_counter > 1) THEN
21955 l_curr_pos := 'okl_copy_lease_contract:62';
21956 FOR i IN l_osid_tab.first..l_osid_tab.last
21957 LOOP
21958 l_vendor_id := NULL;
21959 IF (l_vid_counter > 1) THEN
21960 l_vendor_id := find_vid_mapping_id(l_oscle_id_tab(i));
21961 END IF;
21962 raise_business_event_supp
21963 ( p_api_version => p_api_version,
21964 p_init_msg_list => p_init_msg_list,
21965 p_chr_id => l_copied_id,
21966 p_asset_id => l_oscle_id_tab(i),
21967 p_vendor_id => l_vendor_id,
21968 p_event_name => G_WF_EVT_ASSET_SUP_INV_CRTD,
21969 p_contract_process => l_contract_process,
21970 x_return_status => x_return_status,
21971 x_msg_count => x_msg_count,
21972 x_msg_data => x_msg_data
21973 );
21974 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21975 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21976 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21977 RAISE OKL_API.G_EXCEPTION_ERROR;
21978 END IF;
21979 END LOOP;
21980 END IF;
21981
21982 -- For Rule Groups
21983 IF (l_rule_groups_b_counter > 1) THEN
21984 l_raise_business_event := OKL_API.G_FALSE;
21985 l_business_event_name := NULL;
21986 l_curr_pos := 'okl_copy_lease_contract:63';
21987
21988 FOR i IN l_rid_tab.first..l_rid_tab.last
21989 LOOP
21990
21991 l_terms_id := NULL;
21992 IF(l_rrgd_code_tab(i) = 'LAAFLG' AND l_rchr_id_tab(i) IS NOT NULL)
21993 THEN
21994 -- raise business event for the Liens and Title for Terms and Conditions for the Contract
21995 l_raise_business_event := OKL_API.G_TRUE;
21996 l_business_event_name := G_WF_EVT_CONTRACT_TERM_UPDATED;
21997 l_terms_id := find_tid_mapping_id(l_rrgd_code_tab(i));
21998 IF(l_terms_id IS NOT NULL)THEN
21999 wf_event.AddParameterToList(G_WF_ITM_TERMS_ID, l_terms_id, l_parameter_list);
22000 END IF;
22001 ELSIF(l_rrgd_code_tab(i) = 'LAAFLG' AND l_rcle_id_tab(i) IS NOT NULL)
22002 THEN
22003 --raise business event for Liens Title and Registration for the Assets
22004 l_raise_business_event := OKL_API.G_TRUE;
22005 l_business_event_name := G_WF_EVT_ASSET_FILING_UPDATED;
22006 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, l_rcle_id_tab(i), l_parameter_list);
22007 ELSIF(l_rrgd_code_tab(i) = 'LAASTX' AND l_rcle_id_tab(i) IS NOT NULL)
22008 THEN
22009 -- raise business event for tax, property tax updated.
22010 l_raise_business_event := OKL_API.G_TRUE;
22011 l_business_event_name := G_WF_EVT_ASSET_PROPTAX_UPDATED;
22012 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, l_rcle_id_tab(i), l_parameter_list);
22013 ELSIF(l_rrgd_code_tab(i) = 'LAPSTH' AND l_rcle_id_tab(i) IS NOT NULL)
22014 THEN
22015 l_line_style := find_sid_mapping_id(l_rcle_id_tab(i));
22016 -- raise business event for service line update passthru
22017 IF(l_line_style IS NOT NULL AND l_line_style = 48)THEN
22018 l_raise_business_event := OKL_API.G_TRUE;
22019 l_business_event_name := G_WF_EVT_SERV_PASS_UPDATED;
22020 wf_event.AddParameterToList(G_WF_ITM_SERV_LINE_ID, l_rcle_id_tab(i), l_parameter_list);
22021 -- check if the service line in context has a service contract associated with it
22022 -- if so, pass the service contract id and service contract line id as parameters
22023 IF (NOT(l_queried)) THEN
22024 OPEN c29(l_copied_id);
22025 LOOP
22026 FETCH c29 bulk collect INTO
22027 l_s2cle_id_tab, l_s2object1_id1_tab;
22028 EXIT WHEN l_s2cle_id_tab.COUNT = 0;
22029 FOR j IN l_s2cle_id_tab.first..l_s2cle_id_tab.last
22030 LOOP
22031 -- Store cle_id and object1_id1 for business function only
22032 l_ssid_mapping_tab(l_ssid_counter).cle_id := l_s2cle_id_tab(j);
22033 l_ssid_mapping_tab(l_ssid_counter).object1_id1 := l_s2object1_id1_tab(j);
22034 l_ssid_counter := l_ssid_counter + 1;
22035 END LOOP;
22036 END LOOP;
22037 CLOSE c29;
22038 sort_ssid_mapping_tab;
22039 l_queried := TRUE;
22040 END IF;
22041 l_service_top_line_id := find_ssid_mapping_id(l_rcle_id_tab(i));
22042 IF(l_service_top_line_id IS NOT NULL)THEN
22043 l_serv_contract_id := l_copied_id;
22044 wf_event.AddParameterToList(G_WF_ITM_SERV_CHR_ID, l_serv_contract_id, l_parameter_list);
22045 wf_event.AddParameterToList(G_WF_ITM_SERV_CLE_ID, l_service_top_line_id, l_parameter_list);
22046 END IF;
22047 -- raise the business event for update passthrough for Fee Line
22048 ELSIF(l_line_style IS NOT NULL AND l_line_style = 52)THEN
22049 l_raise_business_event := OKL_API.G_TRUE;
22050 l_business_event_name := G_WF_EVT_FEE_PASS_UPDATED;
22051 wf_event.AddParameterToList(G_WF_ITM_FEE_LINE_ID, l_rcle_id_tab(i), l_parameter_list);
22052 END IF;
22053 ELSIF(l_rrgd_code_tab(i) = 'LAFEXP' AND l_rcle_id_tab(i) IS NOT NULL)
22054 THEN
22055 l_line_style := find_sid_mapping_id(l_rcle_id_tab(i));
22056 /*OPEN get_line_style(p_line_id);
22057 FETCH get_line_style INTO l_line_style;
22058 CLOSE get_line_style;*/
22059 -- raise business event for service line update expense
22060 IF(l_line_style IS NOT NULL AND l_line_style = 48)THEN
22061 l_raise_business_event := OKL_API.G_TRUE;
22062 l_business_event_name := G_WF_EVT_SERV_FEXP_UPDATED;
22063 wf_event.AddParameterToList(G_WF_ITM_SERV_LINE_ID, l_rcle_id_tab(i), l_parameter_list);
22064 -- check if the service line in context has a service contract associated with it
22065 -- if so, pass the service contract id and service contract line id as parameters
22066 /*OPEN get_serv_chr_from_serv(p_chr_id, p_line_id);
22067 FETCH get_serv_chr_from_serv INTO l_service_top_line_id;
22068 CLOSE get_serv_chr_from_serv;*/
22069 IF (NOT(l_queried)) THEN
22070 OPEN c29(l_copied_id);
22071 LOOP
22072 FETCH c29 bulk collect INTO
22073 l_s2cle_id_tab, l_s2object1_id1_tab;
22074 EXIT WHEN l_s2cle_id_tab.COUNT = 0;
22075 FOR j IN l_s2cle_id_tab.first..l_s2cle_id_tab.last
22076 LOOP
22077 -- Store cle_id and object1_id1 for business function only
22078 l_ssid_mapping_tab(l_ssid_counter).cle_id := l_s2cle_id_tab(j);
22079 l_ssid_mapping_tab(l_ssid_counter).object1_id1 := l_s2object1_id1_tab(j);
22080 l_ssid_counter := l_ssid_counter + 1;
22081 END LOOP;
22082 END LOOP;
22083 CLOSE c29;
22084 sort_ssid_mapping_tab;
22085 l_queried := TRUE;
22086 END IF;
22087 l_service_top_line_id := find_ssid_mapping_id(l_rcle_id_tab(i));
22088 IF(l_service_top_line_id IS NOT NULL)THEN
22089 /*OPEN get_serv_cle_from_serv(l_service_top_line_id);
22090 FETCH get_serv_cle_from_serv INTO l_serv_contract_id;
22091 CLOSE get_serv_cle_from_serv; */
22092 l_serv_contract_id := l_copied_id;
22093 wf_event.AddParameterToList(G_WF_ITM_SERV_CHR_ID, l_serv_contract_id, l_parameter_list);
22094 wf_event.AddParameterToList(G_WF_ITM_SERV_CLE_ID, l_service_top_line_id, l_parameter_list);
22095 END IF;
22096 ELSIF(l_line_style IS NOT NULL AND l_line_style = 52)THEN
22097 l_raise_business_event := OKL_API.G_TRUE;
22098 l_business_event_name := G_WF_EVT_FEE_EXP_UPDATED;
22099 wf_event.AddParameterToList(G_WF_ITM_FEE_LINE_ID, l_rcle_id_tab(i), l_parameter_list);
22100 END IF;
22101 END IF;
22102
22103 -- check if the business event needs to be raised
22104 IF (l_raise_business_event = OKL_API.G_TRUE AND
22105 l_business_event_name IS NOT NULL )THEN
22106 -- since contract id is called as 'CONTRACT_ID' for all the above events, it is being
22107 -- added to the parameter list here, than duplicating it in all the above if conditions
22108
22109 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, l_copied_id, l_parameter_list);
22110 raise_business_event_rules
22111 (p_api_version => p_api_version,
22112 p_init_msg_list => p_init_msg_list,
22113 x_return_status => x_return_status,
22114 x_msg_count => x_msg_count,
22115 x_msg_data => x_msg_data,
22116 p_event_name => l_business_event_name,
22117 p_event_param_list => l_parameter_list,
22118 p_contract_process => l_contract_process
22119 );
22120 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22121 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22122 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22123 RAISE OKL_API.G_EXCEPTION_ERROR;
22124 END IF;
22125
22126 l_raise_business_event := OKL_API.G_FALSE;
22127 l_business_event_name := NULL;
22128
22129 END IF;
22130
22131 END LOOP;
22132 END IF;
22133
22134 -- End of business events processing
22135
22136 l_curr_pos := 'okl_copy_lease_contract:64';
22137 OKL_API.END_ACTIVITY (x_msg_count,
22138 x_msg_data );
22139 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22140 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Done ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
22141 END IF;
22142 EXCEPTION
22143 WHEN OKL_API.G_EXCEPTION_ERROR THEN
22144 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22145 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
22146 END IF;
22147 OKL_API.set_message(p_app_name => 'OKL',
22148 p_msg_name => l_message,
22149 p_token1 => 'CONTRACT_NUMBER',
22150 p_token1_value => l_contract_number);
22151 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
22152 l_api_name,
22153 G_PKG_NAME,
22154 'OKL_API.G_RET_STS_ERROR',
22155 x_msg_count,
22156 x_msg_data,
22157 '_PVT');
22158 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22159 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_curr_pos='||l_curr_pos);
22160 END IF;
22161 --print('sqlcode='||sqlcode || ':sqlerrm=' || sqlerrm);
22162 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22163 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing copy_lease_contract:l_id_tab ...');
22164 END IF;
22165 FOR i IN 1..l_counter-1
22166 LOOP
22167 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22168 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'id('||i||')='||l_id_tab(i) || ' cle_id('||i||')=' || l_cle_id_tab(i)||' orig_system_id1('||i||')='||l_orig_system_id1_tab(i));
22169 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'lse_id('||i||')='||l_lse_id_tab(i) || ' name_tab('||i||')=' || l_name_tab(i));
22170 END IF;
22171 END LOOP;
22172 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
22173 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22174 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
22175 END IF;
22176 OKL_API.set_message(p_app_name => 'OKL',
22177 p_msg_name => l_message,
22178 p_token1 => 'CONTRACT_NUMBER',
22179 p_token1_value => l_contract_number);
22180 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
22181 l_api_name,
22182 G_PKG_NAME,
22183 'OKL_API.G_RET_STS_UNEXP_ERROR',
22184 x_msg_count,
22185 x_msg_data,
22186 '_PVT');
22187 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22188 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_curr_pos='||l_curr_pos);
22189 END IF;
22190 --print('sqlcode='||sqlcode || ':sqlerrm=' || sqlerrm);
22191 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22192 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing copy_lease_contract:l_id_tab ...');
22193 END IF;
22194 FOR i IN 1..l_counter-1
22195 LOOP
22196 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22197 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'id('||i||')='||l_id_tab(i) || ' cle_id('||i||')=' || l_cle_id_tab(i)||' orig_system_id1('||i||')='||l_orig_system_id1_tab(i));
22198 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'lse_id('||i||')='||l_lse_id_tab(i) || ' name_tab('||i||')=' || l_name_tab(i));
22199 END IF;
22200 END LOOP;
22201 WHEN OTHERS THEN
22202 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22203 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
22204 END IF;
22205 OKL_API.set_message(p_app_name => 'OKL',
22206 p_msg_name => l_message,
22207 p_token1 => 'CONTRACT_NUMBER',
22208 p_token1_value => l_contract_number);
22209 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
22210 l_api_name,
22211 G_PKG_NAME,
22212 'OTHERS',
22213 x_msg_count,
22214 x_msg_data,
22215 '_PVT');
22216 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22217 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_curr_pos='||l_curr_pos);
22218 END IF;
22219 --print('sqlcode='||sqlcode || ':sqlerrm=' || sqlerrm);
22220 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22221 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing copy_lease_contract:l_id_tab ...');
22222 END IF;
22223 FOR i IN 1..l_counter-1
22224 LOOP
22225 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22226 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'id('||i||')='||l_id_tab(i) || ' cle_id('||i||')=' || l_cle_id_tab(i)||' orig_system_id1('||i||')='||l_orig_system_id1_tab(i));
22227 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'lse_id('||i||')='||l_lse_id_tab(i) || ' name_tab('||i||')=' || l_name_tab(i));
22228 END IF;
22229 END LOOP;
22230 END; /* copy_lease_contract_new */
22231
22232 --------------------------------------------------------------------------------
22233 -- Start of comments
22234 --
22235 -- Procedure Name : copy_lease_contract
22236 -- Description : Copies the contract and all the lines attached to the contract
22237 -- Business Rules :
22238 -- Parameters :
22239 -- Version : 1.0
22240 -- Notes :
22241 -- End of comments
22242 --------------------------------------------------------------------------------
22243 PROCEDURE copy_lease_contract(
22244 p_api_version IN NUMBER,
22245 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
22246 x_return_status OUT NOCOPY VARCHAR2,
22247 x_msg_count OUT NOCOPY NUMBER,
22248 x_msg_data OUT NOCOPY VARCHAR2,
22249 p_commit IN VARCHAR2 DEFAULT 'F',
22250 p_chr_id IN NUMBER,
22251 p_contract_number IN VARCHAR2,
22252 p_contract_number_modifier IN VARCHAR2,
22253 p_to_template_yn IN VARCHAR2 DEFAULT 'N',
22254 p_renew_ref_yn IN VARCHAR2,
22255 p_copy_lines_yn IN VARCHAR2,
22256 p_override_org IN VARCHAR2 DEFAULT 'N',
22257 p_trans_type IN VARCHAR2,
22258 x_chr_id OUT NOCOPY NUMBER) IS
22259
22260 l_api_name CONSTANT VARCHAR2(30) := 'COPY_LEASE_CONTRACT';
22261 lt_klev_tbl_type klev_tbl_type;
22262 ltx_klev_tbl_type klev_tbl_type;
22263 i NUMBER := 0;
22264
22265 CURSOR c_get_old_k_top_line(p_dnz_chr_id OKC_K_LINES_B.DNZ_CHR_ID%TYPE) IS
22266 /*
22267 SELECT cle.id top_line
22268 FROM okc_subclasses_b scs,
22269 okc_subclass_top_line stl,
22270 okc_line_styles_b lse,
22271 okc_k_lines_b cle
22272 WHERE cle.dnz_chr_id = p_dnz_chr_id
22273 AND cle.cle_id is null
22274 and cle.chr_id = cle.dnz_chr_id
22275 AND cle.lse_id = lse.id
22276 AND lse.lse_parent_id is null
22277 AND lse.lse_type = 'TLS'
22278 AND lse.id = stl.lse_Id
22279 AND stl.scs_code = scs.code
22280 AND scs.cls_code = 'OKL';
22281 */
22282 SELECT cle.id top_line
22283 FROM okc_line_styles_b lse,
22284 okc_k_lines_b cle
22285 WHERE cle.dnz_chr_id = p_dnz_chr_id
22286 AND cle.cle_id is null
22287 and cle.chr_id = cle.dnz_chr_id
22288 AND cle.lse_id = lse.id
22289 AND lse.lse_type = 'TLS';
22290
22291
22292 --cursor to get date signed from original contract
22293 Cursor l_date_sig_csr(p_chr_id IN NUMBER,
22294 p_chr_number IN VARCHAR2,
22295 p_chr_modifier IN VARCHAR2) is
22296 Select chr.date_signed
22297 From okc_k_headers_b chr
22298 where
22299 ( (chr.id = p_chr_id and p_chr_id is not null)
22300 or (p_chr_id is null and p_chr_modifier is null and p_chr_number is not null and chr.contract_number = p_chr_number )
22301 or (p_chr_id is null and p_chr_modifier is not null and p_chr_number is not null and chr.contract_number_modifier = p_chr_modifier and chr.contract_number = p_chr_number)
22302 );
22303
22304 l_date_signed date;
22305 l_chrv_rec OKL_OKC_MIGRATION_PVT.chrv_rec_type;
22306 lx_chrv_rec OKL_OKC_MIGRATION_PVT.chrv_rec_type;
22307
22308 --cursor to get insurance top lines after the copy for deletion
22309 --Bug # 2412839 - Since copy insurance functionality is not supported at this
22310 -- time insurance lines will be deleted after they get copied by generic copy
22311 Cursor ins_top_line_csr (p_chr_id IN NUMBER) is
22312 select cle.id
22313 from OKC_LINE_STYLES_B lse,
22314 OKC_K_LINES_B cle
22315 where lse.lty_code = 'INSURANCE'
22316 and lse.id = cle.lse_id
22317 and lse.lse_type = 'TLS'
22318 and lse.application_id = 540
22319 and cle.chr_id = p_chr_id;
22320
22321 l_ins_top_line_id okc_k_lines_b.id%TYPE;
22322 --cursor to get subclass code of the copied contract
22323 --Bug #2555692
22324 Cursor l_scs_csr (p_chr_id IN NUMBER) is
22325 Select scs_code,
22326 orig_system_id1
22327 From okc_k_headers_b
22328 where id = p_chr_id;
22329
22330 l_scs_code okc_k_headers_b.SCS_CODE%TYPE;
22331 l_orig_chr_id okc_k_headers_b.ORIG_SYSTEM_ID1%TYPE;
22332
22333 --Bug # 2792330 S and O
22334 --get the status of source contract
22335 Cursor l_sts_csr (pchrid in number) is
22336 Select sts_code
22337 From OKC_K_HEADERS_B
22338 Where id = pchrid;
22339
22340 l_sts_code okc_k_headers_b.STS_CODE%TYPE;
22341 l_quote_chr_id okc_k_headers_b.ID%TYPE;
22342
22343 --Bug# 3621663
22344 --cursor to get multi-gaap reporting book transaction
22345 cursor l_txd_csr (p_book_type_code in varchar2,
22346 p_chr_id in number) is
22347 select txdb.id
22348 from okl_txd_assets_b txdb,
22349 okl_txl_assets_b txlb,
22350 okc_k_lines_b cleb,
22351 okc_line_styles_b lseb
22352 where txdb.tax_book = p_book_type_code
22353 and txdb.tal_id = txlb.id
22354 and txlb.kle_id = cleb.id
22355 and cleb.lse_id = lseb.id
22356 and lseb.lty_code = 'FIXED_ASSET'
22357 and cleb.dnz_chr_id = p_chr_id;
22358
22359 l_txd_rec l_txd_csr%ROWTYPE;
22360
22361 l_adpv_tbl OKL_TXD_ASSETS_PUB.adpv_tbl_type;
22362
22363 l_rep_book_type okl_txd_assets_b.tax_book%TYPE;
22364 l_rbk_cpy varchar2(1);
22365
22366 --cursor to find status of the parent contract
22367 cursor l_parent_sts_csr (p_chr_id in number) is
22368 select stsb.ste_code,
22369 parent_chrb.scs_code
22370 from okc_statuses_b stsb,
22371 okc_k_headers_b parent_chrb
22372 where stsb.code = parent_chrb.sts_code
22373 and parent_chrb.id = p_chr_id;
22374
22375 l_parent_sts_rec l_parent_sts_csr%ROWTYPE;
22376 --Bug# 3621663
22377
22378 -- apaul,Bug#4381642
22379 lp_khrv_rec Okl_Contract_Pub.khrv_rec_type;
22380 lx_khrv_rec Okl_Contract_Pub.khrv_rec_type;
22381
22382 BEGIN
22383 x_return_status := OKL_API.G_RET_STS_SUCCESS;
22384 -- Call start_activity to create savepoint, check compatibility
22385 -- and initialize message list
22386 x_return_status := OKL_API.START_ACTIVITY (
22387 l_api_name
22388 ,p_init_msg_list
22389 ,'_PVT'
22390 ,x_return_status);
22391 -- Check if activity started successfully
22392 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22393 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22394 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22395 RAISE OKL_API.G_EXCEPTION_ERROR;
22396 END IF;
22397 -- TO copy the Copy the contract first
22398 OKL_COPY_CONTRACT_PUB.copy_contract(p_api_version => p_api_version,
22399 p_init_msg_list => p_init_msg_list,
22400 x_return_status => x_return_status,
22401 x_msg_count => x_msg_count,
22402 x_msg_data => x_msg_data,
22403 p_commit => OKL_API.G_FALSE,
22404 p_chr_id => p_chr_id,
22405 p_contract_number => p_contract_number,
22406 p_contract_number_modifier => p_contract_number_modifier,
22407 p_to_template_yn => p_to_template_yn,
22408 p_renew_ref_yn => p_renew_ref_yn,
22409 p_copy_lines_yn => 'N',
22410 p_override_org => p_override_org,
22411 x_chr_id => x_chr_id);
22412
22413 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22414 --bug # 2518454
22415 --OKL_API.set_message(p_app_name => G_APP_NAME,
22416 --p_msg_name => G_COPY_HEADER);
22417 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22418 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22419 --bug # 2518454
22420 --OKL_API.set_message(p_app_name => G_APP_NAME,
22421 --p_msg_name => G_COPY_HEADER);
22422 RAISE OKL_API.G_EXCEPTION_ERROR;
22423 END IF;
22424
22425 --to update date signed on copied chr
22426 Open l_date_sig_csr(p_chr_id => p_chr_id,
22427 p_chr_number => p_contract_number,
22428 p_chr_modifier => p_contract_number_modifier);
22429 Fetch l_date_sig_csr into l_date_signed;
22430 If l_date_sig_csr%NOTFOUND Then
22431 Null;
22432 Else
22433 l_chrv_rec.id := x_chr_id;
22434 l_chrv_rec.date_signed := l_date_signed;
22435
22436 OKL_OKC_MIGRATION_PVT.update_contract_header(
22437 p_api_version => p_api_version,
22438 p_init_msg_list => p_init_msg_list,
22439 x_return_status => x_return_status,
22440 x_msg_count => x_msg_count,
22441 x_msg_data => x_msg_data,
22442 p_restricted_update => OKC_API.G_FALSE,
22443 p_chrv_rec => l_chrv_rec,
22444 x_chrv_rec => lx_chrv_rec);
22445
22446 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22447 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22448 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22449 RAISE OKL_API.G_EXCEPTION_ERROR;
22450 End If;
22451
22452 END IF;
22453 Close l_date_sig_csr;
22454
22455 If nvl(p_copy_lines_yn,'N') = 'Y' Then
22456 -- Now the Copy the Asset lines
22457 i := 1;
22458 FOR r_get_old_k_top_line IN c_get_old_k_top_line(p_chr_id)
22459 LOOP
22460 lt_klev_tbl_type(i).id := r_get_old_k_top_line.top_line;
22461 IF c_get_old_k_top_line%NOTFOUND THEN
22462 -- store SQL error message on message stack
22463 --OKL_API.set_message(p_app_name => G_APP_NAME,
22464 -- p_msg_name => G_NO_MATCHING_RECORD,
22465 -- p_token1 => G_COL_NAME_TOKEN,
22466 -- p_token1_value => 'dnz_chr_id');
22467 --x_return_status := OKL_API.G_RET_STS_ERROR;
22468 --EXIT WHEN (x_return_status = OKL_API.G_RET_STS_ERROR);
22469 EXIT;
22470 END IF;
22471 i := i + 1;
22472 END LOOP;
22473 --IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22474 -- RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22475 --ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22476 -- RAISE OKL_API.G_EXCEPTION_ERROR;
22477 --END IF;
22478 If lt_klev_tbl_type.FIRST is NOT NULL Then
22479 --means contract has some lines then
22480 -- Copy all the lines for the old contract number
22481 OKL_COPY_ASSET_PUB.COPY_ALL_LINES(p_api_version => p_api_version,
22482 p_init_msg_list => p_init_msg_list,
22483 x_return_status => x_return_status,
22484 x_msg_count => x_msg_count,
22485 x_msg_data => x_msg_data,
22486 p_from_cle_id_tbl => lt_klev_tbl_type,
22487 p_to_cle_id => null,
22488 p_to_chr_id => x_chr_id,
22489 p_to_template_yn => 'N',
22490 p_copy_reference => 'COPY',
22491 p_copy_line_party_yn => 'Y',
22492 p_renew_ref_yn => 'N',
22493 p_trans_type => p_trans_type,
22494 x_cle_id_tbl => ltx_klev_tbl_type);
22495 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22496 OKL_API.set_message(p_app_name => G_APP_NAME,
22497 p_msg_name => G_COPY_LINE);
22498 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22499 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22500 OKL_API.set_message(p_app_name => G_APP_NAME,
22501 p_msg_name => G_COPY_LINE);
22502 RAISE OKL_API.G_EXCEPTION_ERROR;
22503 END IF;
22504 --
22505 --Bug# 2522268 : Physically delete all the lines with source lines having
22506 -- abandoned status
22507 cleanup_abandoned_lines(p_api_version => p_api_version,
22508 p_init_msg_list => p_init_msg_list,
22509 x_return_status => x_return_Status,
22510 x_msg_count => x_msg_count,
22511 x_msg_data => x_msg_data,
22512 p_chr_id => x_chr_id);
22513 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22514 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22515 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22516 raise OKL_API.G_EXCEPTION_ERROR;
22517 End If;
22518 --
22519 --Bug# 2522268 End
22520 --
22521 --
22522 --Bug# 3923883 : Physically delete all the rollover lines
22523 IF(p_trans_type is not null AND p_trans_type = 'CFA') THEN
22524
22525 cleanup_rollover_lines(p_api_version => p_api_version,
22526 p_init_msg_list => p_init_msg_list,
22527 x_return_status => x_return_Status,
22528 x_msg_count => x_msg_count,
22529 x_msg_data => x_msg_data,
22530 p_chr_id => x_chr_id);
22531 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22532 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22533 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22534 raise OKL_API.G_EXCEPTION_ERROR;
22535 End If;
22536
22537 End If;
22538 --
22539 --Bug# 3923883 End
22540 --
22541
22542 End If;
22543
22544 End If; -- if p_copy_lines_y_n flag
22545 /*---------------This pushed into copy asset lines -----------------------------
22546 ------------------------------------------------------------------------
22547 --special process to change the linked line links for covered asset
22548 ------------------------------------------------------------------------
22549 Open l_lnk_csr(p_chr_id => x_chr_id);
22550 Loop
22551 Fetch l_lnk_csr into
22552 l_new_lnk_cle_id,
22553 l_orig_lnk_cle_id,
22554 l_new_lnk_cim_id,
22555 l_jtot_object1_code,
22556 l_object1_id1,
22557 l_object1_id2;
22558
22559 Exit when l_lnk_csr%NOTFOUND;
22560 If l_jtot_object1_code in ('OKX_COVASST', 'OKL_USAGE') And
22561 (l_object1_id1 is not null) Then
22562
22563 link_cov_asst( p_api_version => p_api_version,
22564 p_init_msg_list => p_init_msg_list,
22565 x_return_status => x_return_status,
22566 x_msg_count => x_msg_count,
22567 x_msg_data => x_msg_data,
22568 p_orig_lnk_cle_id => l_orig_lnk_cle_id,
22569 p_new_lnk_cim_id => l_new_lnk_cim_id,
22570 p_object_code => l_jtot_object1_code,
22571 p_new_chr_id => x_chr_id );
22572
22573 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22574 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22575 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22576 raise OKL_API.G_EXCEPTION_ERROR;
22577 End If;
22578 End If;
22579 End Loop;
22580 Close l_lnk_csr;
22581 -------------------------------------------------------------------------
22582 --end of special processing for fixing linked lines
22583 -------------------------------------------------------------------------
22584 This pushed into copy asset lies----------------------------------------------*/
22585 --------------------------------------------------------------------------------
22586 --Bug # 2337570 - TEMPLATE COPY DOES NOT DEFAULT ALL FIELDS ON HEADER
22587 --copy governances for master lease contract and credit line references
22588 --------------------------------------------------------------------------------
22589 copy_governances(
22590 p_api_version => p_api_version,
22591 p_init_msg_list => p_init_msg_list,
22592 x_return_status => x_return_status,
22593 x_msg_count => x_msg_count,
22594 x_msg_data => x_msg_data,
22595 p_from_chr_id => p_chr_id,
22596 p_to_chr_id => x_chr_id);
22597
22598 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22599 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22600 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22601 raise OKL_API.G_EXCEPTION_ERROR;
22602 End If;
22603
22604 --------------------------------------------------------------------------------
22605 --Bug # 2412839 - Since copy insurance functionality is not supported at this
22606 -- time insurance lines will be deleted after they get copied by generic copy
22607 --------------------------------------------------------------------------------
22608 Open ins_top_line_csr(p_chr_id => x_chr_id);
22609 Loop
22610 Fetch ins_top_line_csr into
22611 l_ins_top_line_id;
22612 Exit when ins_top_line_csr%NotFound;
22613 OKL_CONTRACT_PUB.delete_contract_line(
22614 p_api_version => p_api_version,
22615 p_init_msg_list => p_init_msg_list,
22616 x_return_status => x_return_status,
22617 x_msg_count => x_msg_count,
22618 x_msg_data => x_msg_data,
22619 p_line_id => l_ins_top_line_id);
22620 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22621 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22622 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22623 raise OKL_API.G_EXCEPTION_ERROR;
22624 End If;
22625 End Loop;
22626 Close ins_top_line_csr;
22627
22628 --Bug# 3541098 - Do not delete yields and interim interest details
22629 -- for a Re-book or Split contract transaction.
22630 -- Yields and interim interest details are to be
22631 -- deleted for Copy contract or Re-lease transaction.
22632
22633 if p_trans_type IN ('CFA','CRL') then
22634 --Bug# 3159691
22635 delete_yields(
22636 p_api_version => p_api_version,
22637 p_init_msg_list => p_init_msg_list,
22638 x_return_status => x_return_status,
22639 x_msg_count => x_msg_count,
22640 x_msg_data => x_msg_data,
22641 p_chr_id => x_chr_id,
22642 --Bug# 3973640
22643 p_trans_type => p_trans_type);
22644 end if;
22645
22646 --Bug# 3541098 end
22647
22648 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22649 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22650 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22651 raise OKL_API.G_EXCEPTION_ERROR;
22652 End If;
22653
22654 --Start Bug# 3621663
22655 -----------------------------------------------------------------------------
22656 --delete multigaap reporting books from transaction tables after copy
22657 --if it is not a copy for rebook
22658 ---------------------------------------------------------------------------
22659 open l_parent_sts_csr(p_chr_id => p_chr_id);
22660 fetch l_parent_sts_csr into l_parent_sts_rec;
22661 if l_parent_sts_csr%NOTFOUND then
22662 null;
22663 end if;
22664 close l_parent_sts_csr;
22665
22666 If nvl(l_parent_sts_rec.ste_code,OKL_API.G_MISS_CHAR) not in ('ENTERED','SIGNED')
22667 and nvl(l_parent_sts_rec.scs_code,OKL_API.G_MISS_CHAR) = 'LEASE'
22668 and nvl(p_copy_lines_yn,'N') = 'Y' then
22669 If nvl(p_trans_type,OKL_API.G_MISS_CHAR) not in ('CRB','CRL') then
22670 l_rep_book_type := OKL_SYSTEM_PARAMS_ALL_PUB.get_system_param_value(OKL_SYSTEM_PARAMS_ALL_PUB.G_RPT_PROD_BOOK_TYPE_CODE);
22671 i := 0;
22672 If nvl(l_rep_book_type,OKL_API.G_MISS_CHAR) <> OKL_API.G_MISS_CHAR then
22673 open l_txd_csr (p_book_type_code => l_rep_book_type,
22674 p_chr_id => x_chr_id);
22675 Loop
22676 fetch l_txd_csr into l_txd_rec;
22677 exit when l_txd_csr%NOTFOUND;
22678 i := i+1;
22679 l_adpv_tbl(i).id := l_txd_rec.id;
22680 end Loop;
22681 close l_txd_csr;
22682
22683 If l_adpv_tbl.COUNT <> 0 then
22684 OKL_TXD_ASSETS_PUB.delete_txd_asset_Def(
22685 p_api_version => p_api_version,
22686 p_init_msg_list => p_init_msg_list,
22687 x_return_status => x_return_status,
22688 x_msg_count => x_msg_count,
22689 x_msg_data => x_msg_data,
22690 p_adpv_tbl => l_adpv_tbl);
22691 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22692 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22693 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22694 raise OKL_API.G_EXCEPTION_ERROR;
22695 End If;
22696 End If;
22697 End If;
22698 End If;
22699 End If;
22700 --End Bug Fix 3621663
22701
22702 --Start Bug# 2555692
22703 -----------------------------------------------------------------------------
22704 --reset the contract status to 'NEW' for 'LEASE' and 'QUOTE'
22705 -----------------------------------------------------------------------------
22706 Open l_scs_csr(p_chr_id => x_chr_id);
22707 Fetch l_scs_csr into l_scs_code,l_orig_chr_id;
22708 If l_scs_csr%NOTFOUND Then
22709 null;
22710 Else
22711 --Bug # 2792330 : Enhancement for S and O for 'QUOTE' status
22712 --If l_scs_code in ('LEASE','QUOTE') Then
22713 If l_scs_code = 'LEASE' Then
22714 reset_contract_status
22715 (p_api_version => p_api_version,
22716 p_init_msg_list => p_init_msg_list,
22717 x_return_status => x_return_status,
22718 x_msg_count => x_msg_count,
22719 x_msg_data => x_msg_data,
22720 p_chr_id => x_chr_id,
22721 p_status => 'NEW',
22722 p_cascade_lines => p_copy_lines_yn);
22723
22724 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22725 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22726 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22727 raise OKL_API.G_EXCEPTION_ERROR;
22728 End If;
22729
22730 -- apaul,Bug#4381642
22731 -- Reset Securitized Flag
22732 l_chrv_rec.id := x_chr_id;
22733 lp_khrv_rec.id := x_chr_id;
22734 lp_khrv_rec.SECURITIZED_CODE := NULL;
22735
22736 Okl_Contract_Pub.update_contract_header(
22737 p_api_version => p_api_version,
22738 p_init_msg_list => p_init_msg_list,
22739 x_return_status => x_return_status,
22740 x_msg_count => x_msg_count,
22741 x_msg_data => x_msg_data,
22742 p_chrv_rec => l_chrv_rec,
22743 p_khrv_rec => lp_khrv_rec,
22744 x_chrv_rec => lx_chrv_rec,
22745 x_khrv_rec => lx_khrv_rec);
22746
22747 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22748 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22749 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22750 RAISE OKL_API.G_EXCEPTION_ERROR;
22751 END IF;
22752 -- END,apaul,Bug#4381642
22753
22754 ElsIf l_scs_code = 'QUOTE' Then
22755
22756 Open l_sts_csr(pchrid => l_orig_chr_id);
22757 Fetch l_sts_csr into l_sts_code;
22758 If l_sts_csr%NOTFOUND then
22759 l_sts_code := 'INCOMPLETE';
22760 End If;
22761 Close l_sts_csr;
22762
22763 If l_sts_code = 'NEW' Then
22764 l_sts_code := 'NEW';
22765 Else
22766 l_sts_code := 'INCOMPLETE';
22767 End If;
22768
22769 reset_contract_status
22770 (p_api_version => p_api_version,
22771 p_init_msg_list => p_init_msg_list,
22772 x_return_status => x_return_status,
22773 x_msg_count => x_msg_count,
22774 x_msg_data => x_msg_data,
22775 p_chr_id => x_chr_id,
22776 p_status => l_sts_code,
22777 p_cascade_lines => p_copy_lines_yn);
22778
22779 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22780 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22781 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22782 raise OKL_API.G_EXCEPTION_ERROR;
22783 End If;
22784
22785 /*----Bug# 5591688 : Commenting as okl_quote_plans_pvt is stubbed in R12
22786 -- quotes are no longer copied using copy contract
22787 --call quote API for modification of plan structure
22788 OKL_QUOTE_PLANS_PVT.modify_quote_structure
22789 ( p_api_version => p_api_version,
22790 p_init_msg_list => p_init_msg_list,
22791 --Bug# 3143522
22792 p_transaction_control => OKL_API.G_FALSE,
22793 p_chr_id => x_chr_id,
22794 p_modify_reason_code => 'COPY_QUOTE',
22795 x_chr_id => l_quote_chr_id,
22796 x_return_status => x_return_status,
22797 x_msg_count => x_msg_count,
22798 x_msg_data => x_msg_data);
22799
22800 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22801 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22802 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22803 raise OKL_API.G_EXCEPTION_ERROR;
22804 End If;
22805 ------------------------End of commented code----------*/
22806
22807 End If;
22808 End If;
22809 Close l_scs_csr;
22810 -----------------------------------------------------------------------------
22811 --End of resetting the copied contract status to new
22812 -----------------------------------------------------------------------------
22813 --End Bug# 2555692
22814 OKL_API.END_ACTIVITY (x_msg_count,
22815 x_msg_data );
22816 EXCEPTION
22817 WHEN OKL_API.G_EXCEPTION_ERROR THEN
22818 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
22819 l_api_name,
22820 G_PKG_NAME,
22821 'OKL_API.G_RET_STS_ERROR',
22822 x_msg_count,
22823 x_msg_data,
22824 '_PVT');
22825 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
22826 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
22827 l_api_name,
22828 G_PKG_NAME,
22829 'OKL_API.G_RET_STS_UNEXP_ERROR',
22830 x_msg_count,
22831 x_msg_data,
22832 '_PVT');
22833 WHEN OTHERS THEN
22834 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
22835 l_api_name,
22836 G_PKG_NAME,
22837 'OTHERS',
22838 x_msg_count,
22839 x_msg_data,
22840 '_PVT');
22841 END copy_lease_contract;
22842
22843 End okl_copy_contract_Pvt;