[Home] [Help]
PACKAGE BODY: APPS.OKL_COPY_CONTRACT_PVT
Source
1 Package body okl_copy_contract_pvt as
2 /* $Header: OKLRCOPB.pls 120.50 2008/04/17 17:23:00 rpillay noship $ */
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 l_created_by NUMBER := fnd_global.user_id;
39 l_last_updated_by NUMBER := fnd_global.user_id;
40 l_last_update_login NUMBER := fnd_global.login_id;
41 l_contract_exists BOOLEAN := FALSE;
42
43
44 --Function to migrate api_components tbl
45 FUNCTION migrate_components_tbl(p_components_tbl IN api_components_tbl)
46 return api_components_tbl_okc is
47 i NUMBER;
48 l_components_tbl api_components_tbl_okc;
49 BEGIN
50 FOR i in 1..p_components_tbl.LAST
51 Loop
52 l_components_tbl(i).id := p_components_tbl(i).id;
53 l_components_tbl(i).to_k := p_components_tbl(i).to_k;
54 l_components_tbl(i).component_type := p_components_tbl(i).component_type;
55 l_components_tbl(i).attribute1 := p_components_tbl(i).attribute1;
56 End Loop;
57 Return l_components_tbl;
58 END migrate_components_tbl;
59 --Function to migrate api_lines tbl
60 FUNCTION migrate_lines_tbl(p_lines_tbl IN api_lines_tbl)
61 return api_lines_tbl_okc is
62 i NUMBER;
63 l_lines_tbl api_lines_tbl_okc;
64 BEGIN
65 FOR i in 1..p_lines_tbl.LAST
66 Loop
67 l_lines_tbl(i).id := p_lines_tbl(i).id;
68 l_lines_tbl(i).to_k := p_lines_tbl(i).to_k;
69 l_lines_tbl(i).to_line := p_lines_tbl(i).to_line;
70 l_lines_tbl(i).line_exists_yn := p_lines_tbl(i).line_exists_yn;
71 End Loop;
72 Return l_lines_tbl;
73 END migrate_lines_tbl;
74 --------------------------------------------------------------------------
75 --Functions to fetch data from okc_k_headers_v, okc_k_lines_v,
76 --okl_k_headers_v and okl_k_lines_v
77 --These Functions are copy of local functions get_rec in
78 --OKC_CHR_PVT and OKL_KHR_PVT. These are repeated here since they have not
79 --been published. Any changes in in these in the original packages will
80 --also heve to be done here.
81 ----------------------------------------------------------------------------
82 ---------------------------------------------------------------------------
83 -- FUNCTION get_rec for: OKC_K_HEADERS_V
84 ---------------------------------------------------------------------------
85 FUNCTION get_chrv_rec (
86 p_chrv_id IN NUMBER,
87 x_no_data_found OUT NOCOPY BOOLEAN
88 ) RETURN chrv_rec_type IS
89 CURSOR okc_chrv_pk_csr (p_id IN NUMBER) IS
90 SELECT
91 ID
92 ,OBJECT_VERSION_NUMBER
93 ,SFWT_FLAG
94 ,CHR_ID_RESPONSE
95 ,CHR_ID_AWARD
96 ,CHR_ID_RENEWED
97 ,INV_ORGANIZATION_ID
98 ,STS_CODE
99 ,QCL_ID
100 ,SCS_CODE
101 ,CONTRACT_NUMBER
102 ,CURRENCY_CODE
103 ,CONTRACT_NUMBER_MODIFIER
104 ,ARCHIVED_YN
105 ,DELETED_YN
106 ,CUST_PO_NUMBER_REQ_YN
107 ,PRE_PAY_REQ_YN
108 ,CUST_PO_NUMBER
109 ,SHORT_DESCRIPTION
110 ,COMMENTS
111 ,DESCRIPTION
112 ,DPAS_RATING
113 ,COGNOMEN
114 ,TEMPLATE_YN
115 --,GOVERNING_CONTRACT_YN
116 ,TEMPLATE_USED
117 ,DATE_APPROVED
118 ,DATETIME_CANCELLED
119 ,AUTO_RENEW_DAYS
120 ,DATE_ISSUED
121 ,DATETIME_RESPONDED
122 ,NON_RESPONSE_REASON
123 ,NON_RESPONSE_EXPLAIN
124 ,RFP_TYPE
125 ,CHR_TYPE
126 ,KEEP_ON_MAIL_LIST
127 ,SET_ASIDE_REASON
128 ,SET_ASIDE_PERCENT
129 ,RESPONSE_COPIES_REQ
130 ,DATE_CLOSE_PROJECTED
131 ,DATETIME_PROPOSED
132 ,DATE_SIGNED
133 ,DATE_TERMINATED
134 ,DATE_RENEWED
135 ,TRN_CODE
136 ,START_DATE
137 ,END_DATE
138 ,AUTHORING_ORG_ID
139 ,BUY_OR_SELL
140 ,ISSUE_OR_RECEIVE
141 ,ESTIMATED_AMOUNT
142 ,CHR_ID_RENEWED_TO
143 ,ESTIMATED_AMOUNT_RENEWED
144 ,CURRENCY_CODE_RENEWED
145 --,USER_ACCESS_LEVEL
146 ,UPG_ORIG_SYSTEM_REF
147 ,UPG_ORIG_SYSTEM_REF_ID
148 ,APPLICATION_ID
149 --,RESOLVED_UNTIL
150 ,ATTRIBUTE_CATEGORY
151 ,ATTRIBUTE1
152 ,ATTRIBUTE2
153 ,ATTRIBUTE3
154 ,ATTRIBUTE4
155 ,ATTRIBUTE5
156 ,ATTRIBUTE6
157 ,ATTRIBUTE7
158 ,ATTRIBUTE8
159 ,ATTRIBUTE9
160 ,ATTRIBUTE10
161 ,ATTRIBUTE11
162 ,ATTRIBUTE12
163 ,ATTRIBUTE13
164 ,ATTRIBUTE14
165 ,ATTRIBUTE15
166 ,CREATED_BY
167 ,CREATION_DATE
168 ,LAST_UPDATED_BY
169 ,LAST_UPDATE_DATE
170 ,LAST_UPDATE_LOGIN
171 ,ORIG_SYSTEM_SOURCE_CODE
172 ,ORIG_SYSTEM_ID1
173 ,ORIG_SYSTEM_REFERENCE1
174 ,PROGRAM_APPLICATION_ID
175 ,PROGRAM_ID
176 ,PROGRAM_UPDATE_DATE
177 ,REQUEST_ID
178 ,PRICE_LIST_ID
179 ,PRICING_DATE
180 ,TOTAL_LINE_LIST_PRICE
181 ,SIGN_BY_DATE
182 ,USER_ESTIMATED_AMOUNT
183 ,CONVERSION_TYPE
184 ,CONVERSION_RATE
185 ,CONVERSION_RATE_DATE
186 ,CONVERSION_EURO_RATE
187 ,CUST_ACCT_ID
188 ,BILL_TO_SITE_USE_ID
189 ,INV_RULE_ID
190 ,RENEWAL_TYPE_CODE
191 ,RENEWAL_NOTIFY_TO
192 ,RENEWAL_END_DATE
193 ,SHIP_TO_SITE_USE_ID
194 ,PAYMENT_TERM_ID
195 FROM Okc_K_Headers_V
196 WHERE okc_k_headers_v.id = p_id;
197 l_okc_chrv_pk okc_chrv_pk_csr%ROWTYPE;
198 l_chrv_rec chrv_rec_type;
199 BEGIN
200 x_no_data_found := TRUE;
201 -- Get current database values
202 OPEN okc_chrv_pk_csr (p_chrv_id);
203 FETCH okc_chrv_pk_csr INTO
204 l_chrv_rec.ID
205 ,l_chrv_rec.OBJECT_VERSION_NUMBER
206 ,l_chrv_rec.SFWT_FLAG
207 ,l_chrv_rec.CHR_ID_RESPONSE
208 ,l_chrv_rec.CHR_ID_AWARD
209 ,l_chrv_rec.CHR_ID_RENEWED
210 ,l_chrv_rec.INV_ORGANIZATION_ID
211 ,l_chrv_rec.STS_CODE
212 ,l_chrv_rec.QCL_ID
213 ,l_chrv_rec.SCS_CODE
214 ,l_chrv_rec.CONTRACT_NUMBER
215 ,l_chrv_rec.CURRENCY_CODE
216 ,l_chrv_rec.CONTRACT_NUMBER_MODIFIER
217 ,l_chrv_rec.ARCHIVED_YN
218 ,l_chrv_rec.DELETED_YN
219 ,l_chrv_rec.CUST_PO_NUMBER_REQ_YN
220 ,l_chrv_rec.PRE_PAY_REQ_YN
221 ,l_chrv_rec.CUST_PO_NUMBER
222 ,l_chrv_rec.SHORT_DESCRIPTION
223 ,l_chrv_rec.COMMENTS
224 ,l_chrv_rec.DESCRIPTION
225 ,l_chrv_rec.DPAS_RATING
226 ,l_chrv_rec.COGNOMEN
227 ,l_chrv_rec.TEMPLATE_YN
228 --,l_chrv_rec.GOVERNING_CONTRACT_YN
229 ,l_chrv_rec.TEMPLATE_USED
230 ,l_chrv_rec.DATE_APPROVED
231 ,l_chrv_rec.DATETIME_CANCELLED
232 ,l_chrv_rec.AUTO_RENEW_DAYS
233 ,l_chrv_rec.DATE_ISSUED
234 ,l_chrv_rec.DATETIME_RESPONDED
235 ,l_chrv_rec.NON_RESPONSE_REASON
236 ,l_chrv_rec.NON_RESPONSE_EXPLAIN
237 ,l_chrv_rec.RFP_TYPE
238 ,l_chrv_rec.CHR_TYPE
239 ,l_chrv_rec.KEEP_ON_MAIL_LIST
240 ,l_chrv_rec.SET_ASIDE_REASON
241 ,l_chrv_rec.SET_ASIDE_PERCENT
242 ,l_chrv_rec.RESPONSE_COPIES_REQ
243 ,l_chrv_rec.DATE_CLOSE_PROJECTED
244 ,l_chrv_rec.DATETIME_PROPOSED
245 ,l_chrv_rec.DATE_SIGNED
246 ,l_chrv_rec.DATE_TERMINATED
247 ,l_chrv_rec.DATE_RENEWED
248 ,l_chrv_rec.TRN_CODE
249 ,l_chrv_rec.START_DATE
250 ,l_chrv_rec.END_DATE
251 ,l_chrv_rec.AUTHORING_ORG_ID
252 ,l_chrv_rec.BUY_OR_SELL
253 ,l_chrv_rec.ISSUE_OR_RECEIVE
254 ,l_chrv_rec.ESTIMATED_AMOUNT
255 ,l_chrv_rec.CHR_ID_RENEWED_TO
256 ,l_chrv_rec.ESTIMATED_AMOUNT_RENEWED
257 ,l_chrv_rec.CURRENCY_CODE_RENEWED
258 --,l_chrv_rec.USER_ACCESS_LEVEL
259 ,l_chrv_rec.UPG_ORIG_SYSTEM_REF
260 ,l_chrv_rec.UPG_ORIG_SYSTEM_REF_ID
261 ,l_chrv_rec.APPLICATION_ID
262 --,l_chrv_rec.RESOLVED_UNTIL
263 ,l_chrv_rec.ATTRIBUTE_CATEGORY
264 ,l_chrv_rec.ATTRIBUTE1
265 ,l_chrv_rec.ATTRIBUTE2
266 ,l_chrv_rec.ATTRIBUTE3
267 ,l_chrv_rec.ATTRIBUTE4
268 ,l_chrv_rec.ATTRIBUTE5
269 ,l_chrv_rec.ATTRIBUTE6
270 ,l_chrv_rec.ATTRIBUTE7
271 ,l_chrv_rec.ATTRIBUTE8
272 ,l_chrv_rec.ATTRIBUTE9
273 ,l_chrv_rec.ATTRIBUTE10
274 ,l_chrv_rec.ATTRIBUTE11
275 ,l_chrv_rec.ATTRIBUTE12
276 ,l_chrv_rec.ATTRIBUTE13
277 ,l_chrv_rec.ATTRIBUTE14
278 ,l_chrv_rec.ATTRIBUTE15
279 ,l_chrv_rec.CREATED_BY
280 ,l_chrv_rec.CREATION_DATE
281 ,l_chrv_rec.LAST_UPDATED_BY
282 ,l_chrv_rec.LAST_UPDATE_DATE
283 ,l_chrv_rec.LAST_UPDATE_LOGIN
284 ,l_chrv_rec.ORIG_SYSTEM_SOURCE_CODE
285 ,l_chrv_rec.ORIG_SYSTEM_ID1
286 ,l_chrv_rec.ORIG_SYSTEM_REFERENCE1
287 ,l_chrv_rec.PROGRAM_APPLICATION_ID
288 ,l_chrv_rec.PROGRAM_ID
289 ,l_chrv_rec.PROGRAM_UPDATE_DATE
290 ,l_chrv_rec.REQUEST_ID
291 ,l_chrv_rec.PRICE_LIST_ID
292 ,l_chrv_rec.PRICING_DATE
293 ,l_chrv_rec.TOTAL_LINE_LIST_PRICE
294 ,l_chrv_rec.SIGN_BY_DATE
295 ,l_chrv_rec.USER_ESTIMATED_AMOUNT
296 ,l_chrv_rec.CONVERSION_TYPE
297 ,l_chrv_rec.CONVERSION_RATE
298 ,l_chrv_rec.CONVERSION_RATE_DATE
299 ,l_chrv_rec.CONVERSION_EURO_RATE
300 ,l_chrv_rec.CUST_ACCT_ID
301 ,l_chrv_rec.BILL_TO_SITE_USE_ID
302 ,l_chrv_rec.INV_RULE_ID
303 ,l_chrv_rec.RENEWAL_TYPE_CODE
304 ,l_chrv_rec.RENEWAL_NOTIFY_TO
305 ,l_chrv_rec.RENEWAL_END_DATE
306 ,l_chrv_rec.SHIP_TO_SITE_USE_ID
307 ,l_chrv_rec.PAYMENT_TERM_ID;
308 x_no_data_found := okc_chrv_pk_csr%NOTFOUND;
309 CLOSE okc_chrv_pk_csr;
310 RETURN(l_chrv_rec);
311 END get_chrv_rec;
312
313 FUNCTION get_chrv_rec (
314 p_chrv_id IN NUMBER
315 ) RETURN chrv_rec_type IS
316 l_row_notfound BOOLEAN := TRUE;
317 BEGIN
318 RETURN(get_chrv_rec(p_chrv_id, l_row_notfound));
319 END get_chrv_rec;
320
321 ---------------------------------------------------------------------------
322 -- FUNCTION get_rec for: OKL_K_HEADERS_V
323 ---------------------------------------------------------------------------
324 FUNCTION get_khrv_rec (
325 p_khrv_id IN NUMBER,
326 x_no_data_found OUT NOCOPY BOOLEAN
327 ) RETURN khrv_rec_type IS
328 CURSOR okl_khrv_pk_csr (p_id IN NUMBER) IS
329 SELECT
330 ID,
331 OBJECT_VERSION_NUMBER,
332 ISG_ID,
333 KHR_ID,
334 PDT_ID,
335 AMD_CODE,
336 DATE_FIRST_ACTIVITY,
337 GENERATE_ACCRUAL_YN,
338 GENERATE_ACCRUAL_OVERRIDE_YN,
339 DATE_REFINANCED,
340 CREDIT_ACT_YN,
341 TERM_DURATION,
342 CONVERTED_ACCOUNT_YN,
343 DATE_CONVERSION_EFFECTIVE,
344 SYNDICATABLE_YN,
345 SALESTYPE_YN,
346 DATE_DEAL_TRANSFERRED,
347 DATETIME_PROPOSAL_EFFECTIVE,
348 DATETIME_PROPOSAL_INEFFECTIVE,
349 DATE_PROPOSAL_ACCEPTED,
350 ATTRIBUTE_CATEGORY,
351 ATTRIBUTE1,
352 ATTRIBUTE2,
353 ATTRIBUTE3,
354 ATTRIBUTE4,
355 ATTRIBUTE5,
356 ATTRIBUTE6,
357 ATTRIBUTE7,
358 ATTRIBUTE8,
359 ATTRIBUTE9,
360 ATTRIBUTE10,
361 ATTRIBUTE11,
362 ATTRIBUTE12,
363 ATTRIBUTE13,
364 ATTRIBUTE14,
365 ATTRIBUTE15,
366 CREATED_BY,
367 CREATION_DATE,
368 LAST_UPDATED_BY,
369 LAST_UPDATE_DATE,
370 LAST_UPDATE_LOGIN,
371 PRE_TAX_YIELD,
372 AFTER_TAX_YIELD,
373 IMPLICIT_INTEREST_RATE,
374 IMPLICIT_NON_IDC_INTEREST_RATE,
375 TARGET_PRE_TAX_YIELD,
376 TARGET_AFTER_TAX_YIELD,
377 TARGET_IMPLICIT_INTEREST_RATE,
378 TARGET_IMPLICIT_NONIDC_INTRATE,
379 DATE_LAST_INTERIM_INTEREST_CAL,
380 DEAL_TYPE,
381 PRE_TAX_IRR,
382 AFTER_TAX_IRR,
383 EXPECTED_DELIVERY_DATE,
384 ACCEPTED_DATE,
385 PREFUNDING_ELIGIBLE_YN,
386 REVOLVING_CREDIT_YN,
387 -- Bug# 2697681
388 CURRENCY_CONVERSION_TYPE,
389 CURRENCY_CONVERSION_RATE,
390 CURRENCY_CONVERSION_DATE,
391 MULTI_GAAP_YN,
392 RECOURSE_CODE,
393 LESSOR_SERV_ORG_CODE,
394 ASSIGNABLE_YN,
395 SECURITIZED_CODE,
396 SECURITIZATION_TYPE,
397 -- Bug# 2697681
398 --Bug# 3143522 : Subsidies
399 SUB_PRE_TAX_YIELD,
400 SUB_AFTER_TAX_YIELD,
401 SUB_IMPL_INTEREST_RATE,
402 SUB_IMPL_NON_IDC_INT_RATE,
403 SUB_PRE_TAX_IRR,
404 SUB_AFTER_TAX_IRR,
405 --Bug#3923883 Rollover/Creditline performance
406 TOT_CL_TRANSFER_AMT,
407 TOT_CL_NET_TRANSFER_AMT,
408 TOT_CL_LIMIT,
409 TOT_CL_FUNDING_AMT,
410 --Bug 4466440 OKL.H columns
411 CRS_ID,
412 TEMPLATE_TYPE_CODE,
413 TRADEIN_DESCRIPTION,
414 TRADEIN_AMOUNT,
415 DATE_TRADEIN,
416 DATE_FUNDING_EXPECTED,
417 --Added by dpsingh for LE Uptake
418 LEGAL_ENTITY_ID
419 FROM Okl_K_Headers_V
420 WHERE okl_k_headers_v.id = p_id;
421 l_okl_khrv_pk okl_khrv_pk_csr%ROWTYPE;
422 l_khrv_rec khrv_rec_type;
423 BEGIN
424 x_no_data_found := TRUE;
425 -- Get current database values
426 OPEN okl_khrv_pk_csr (p_khrv_id);
427 FETCH okl_khrv_pk_csr INTO
428 l_khrv_rec.ID,
429 l_khrv_rec.OBJECT_VERSION_NUMBER,
430 l_khrv_rec.ISG_ID,
431 l_khrv_rec.KHR_ID,
432 l_khrv_rec.PDT_ID,
433 l_khrv_rec.AMD_CODE,
434 l_khrv_rec.DATE_FIRST_ACTIVITY,
435 l_khrv_rec.GENERATE_ACCRUAL_YN,
436 l_khrv_rec.GENERATE_ACCRUAL_OVERRIDE_YN,
437 l_khrv_rec.DATE_REFINANCED,
438 l_khrv_rec.CREDIT_ACT_YN,
439 l_khrv_rec.TERM_DURATION,
440 l_khrv_rec.CONVERTED_ACCOUNT_YN,
441 l_khrv_rec.DATE_CONVERSION_EFFECTIVE,
442 l_khrv_rec.SYNDICATABLE_YN,
443 l_khrv_rec.SALESTYPE_YN,
444 l_khrv_rec.DATE_DEAL_TRANSFERRED,
445 l_khrv_rec.DATETIME_PROPOSAL_EFFECTIVE,
446 l_khrv_rec.DATETIME_PROPOSAL_INEFFECTIVE,
447 l_khrv_rec.DATE_PROPOSAL_ACCEPTED,
448 l_khrv_rec.ATTRIBUTE_CATEGORY,
449 l_khrv_rec.ATTRIBUTE1,
450 l_khrv_rec.ATTRIBUTE2,
451 l_khrv_rec.ATTRIBUTE3,
452 l_khrv_rec.ATTRIBUTE4,
453 l_khrv_rec.ATTRIBUTE5,
454 l_khrv_rec.ATTRIBUTE6,
455 l_khrv_rec.ATTRIBUTE7,
456 l_khrv_rec.ATTRIBUTE8,
457 l_khrv_rec.ATTRIBUTE9,
458 l_khrv_rec.ATTRIBUTE10,
459 l_khrv_rec.ATTRIBUTE11,
460 l_khrv_rec.ATTRIBUTE12,
461 l_khrv_rec.ATTRIBUTE13,
462 l_khrv_rec.ATTRIBUTE14,
463 l_khrv_rec.ATTRIBUTE15,
464 l_khrv_rec.CREATED_BY,
465 l_khrv_rec.CREATION_DATE,
466 l_khrv_rec.LAST_UPDATED_BY,
467 l_khrv_rec.LAST_UPDATE_DATE,
468 l_khrv_rec.LAST_UPDATE_LOGIN,
469 l_khrv_rec.PRE_TAX_YIELD,
470 l_khrv_rec.AFTER_TAX_YIELD,
471 l_khrv_rec.IMPLICIT_INTEREST_RATE,
472 l_khrv_rec.IMPLICIT_NON_IDC_INTEREST_RATE,
473 l_khrv_rec.TARGET_PRE_TAX_YIELD,
474 l_khrv_rec.TARGET_AFTER_TAX_YIELD,
475 l_khrv_rec.TARGET_IMPLICIT_INTEREST_RATE,
476 l_khrv_rec.TARGET_IMPLICIT_NONIDC_INTRATE,
477 l_khrv_rec.DATE_LAST_INTERIM_INTEREST_CAL,
478 l_khrv_rec.DEAL_TYPE,
479 l_khrv_rec.PRE_TAX_IRR,
480 l_khrv_rec.AFTER_TAX_IRR,
481 l_khrv_rec.expected_delivery_date,
482 l_khrv_rec.accepted_date,
483 l_khrv_rec.PREFUNDING_ELIGIBLE_YN,
484 l_khrv_rec.REVOLVING_CREDIT_YN,
485 l_khrv_rec.CURRENCY_CONVERSION_TYPE,
486 l_khrv_rec.CURRENCY_CONVERSION_RATE,
487 l_khrv_rec.CURRENCY_CONVERSION_DATE,
488 l_khrv_rec.MULTI_GAAP_YN,
489 l_khrv_rec.RECOURSE_CODE,
490 l_khrv_rec.LESSOR_SERV_ORG_CODE,
491 l_khrv_rec.ASSIGNABLE_YN,
492 l_khrv_rec.SECURITIZED_CODE,
493 l_khrv_rec.SECURITIZATION_TYPE,
494 --Bug# 3143522 : Subsidies
495 l_khrv_rec.SUB_PRE_TAX_YIELD,
496 l_khrv_rec.SUB_AFTER_TAX_YIELD,
497 l_khrv_rec.SUB_IMPL_INTEREST_RATE,
498 l_khrv_rec.SUB_IMPL_NON_IDC_INT_RATE,
499 l_khrv_rec.SUB_PRE_TAX_IRR,
500 l_khrv_rec.SUB_AFTER_TAX_IRR,
501 --Bug#3923883 Rollover/Creditline performance
502 l_khrv_rec.TOT_CL_TRANSFER_AMT,
503 l_khrv_rec.TOT_CL_NET_TRANSFER_AMT,
504 l_khrv_rec.TOT_CL_LIMIT,
505 l_khrv_rec.TOT_CL_FUNDING_AMT,
506 --Bug 4466440 OKL.H new columns
507 l_khrv_rec.CRS_ID,
508 l_khrv_rec.TEMPLATE_TYPE_CODE,
509 l_khrv_rec.TRADEIN_DESCRIPTION,
510 l_khrv_rec.TRADEIN_AMOUNT,
511 l_khrv_rec.DATE_TRADEIN,
512 l_khrv_rec.DATE_FUNDING_EXPECTED,
513 --Added by dpsingh for LE Uptake
514 l_khrv_rec.LEGAL_ENTITY_ID;
515 x_no_data_found := okl_khrv_pk_csr%NOTFOUND;
516 CLOSE okl_khrv_pk_csr;
517 RETURN(l_khrv_rec);
518 END get_khrv_rec;
519
520 FUNCTION get_khrv_rec (
521 p_khrv_id IN NUMBER
522 ) RETURN khrv_rec_type IS
523 l_row_notfound BOOLEAN := TRUE;
524 BEGIN
525 RETURN(get_khrv_rec(p_khrv_id, l_row_notfound));
526 END get_khrv_rec;
527 ---------------------------------------------------------------------------
528 -- FUNCTION get_rec for: OKC_K_LINES_V
529 ---------------------------------------------------------------------------
530 FUNCTION get_clev_rec (
531 p_clev_id IN NUMBER,
532 x_no_data_found OUT NOCOPY BOOLEAN
533 ) RETURN clev_rec_type IS
534 CURSOR okc_clev_pk_csr (p_id IN NUMBER) IS
535 SELECT
536 ID
537 ,OBJECT_VERSION_NUMBER
538 ,SFWT_FLAG
539 ,CHR_ID
540 ,CLE_ID
541 ,CLE_ID_RENEWED
542 ,CLE_ID_RENEWED_TO
543 ,LSE_ID
544 ,LINE_NUMBER
545 ,STS_CODE
546 ,DISPLAY_SEQUENCE
547 ,TRN_CODE
548 ,DNZ_CHR_ID
549 ,COMMENTS
550 ,ITEM_DESCRIPTION
551 ,OKE_BOE_DESCRIPTION
552 ,HIDDEN_IND
553 ,PRICE_UNIT
554 ,PRICE_UNIT_PERCENT
555 ,PRICE_NEGOTIATED
556 ,PRICE_NEGOTIATED_RENEWED
557 ,PRICE_LEVEL_IND
558 ,INVOICE_LINE_LEVEL_IND
559 ,DPAS_RATING
560 ,BLOCK23TEXT
561 ,EXCEPTION_YN
562 ,TEMPLATE_USED
563 ,DATE_TERMINATED
564 ,NAME
565 ,START_DATE
566 ,END_DATE
567 ,UPG_ORIG_SYSTEM_REF
568 ,UPG_ORIG_SYSTEM_REF_ID
569 ,ATTRIBUTE_CATEGORY
570 ,ATTRIBUTE1
571 ,ATTRIBUTE2
572 ,ATTRIBUTE3
573 ,ATTRIBUTE4
574 ,ATTRIBUTE5
575 ,ATTRIBUTE6
576 ,ATTRIBUTE7
577 ,ATTRIBUTE8
578 ,ATTRIBUTE9
579 ,ATTRIBUTE10
580 ,ATTRIBUTE11
581 ,ATTRIBUTE12
582 ,ATTRIBUTE13
583 ,ATTRIBUTE14
584 ,ATTRIBUTE15
585 ,CREATED_BY
586 ,CREATION_DATE
587 ,LAST_UPDATED_BY
588 ,LAST_UPDATE_DATE
589 ,LAST_UPDATE_LOGIN
590 ,PRICE_TYPE
591 ,CURRENCY_CODE
592 ,CURRENCY_CODE_RENEWED
593 ,DATE_RENEWED
594 ,ORIG_SYSTEM_SOURCE_CODE
595 ,ORIG_SYSTEM_ID1
596 ,ORIG_SYSTEM_REFERENCE1
597 ,COGNOMEN
598 ,PROGRAM_APPLICATION_ID
599 ,PROGRAM_ID
600 ,PROGRAM_UPDATE_DATE
601 ,REQUEST_ID
602 ,PRICE_LIST_LINE_ID
603 ,PRICE_LIST_ID
604 ,LINE_LIST_PRICE
605 ,ITEM_TO_PRICE_YN
606 ,PRICING_DATE
607 ,PRICE_BASIS_YN
608 ,CONFIG_HEADER_ID
609 ,CONFIG_REVISION_NUMBER
610 ,CONFIG_COMPLETE_YN
611 ,CONFIG_VALID_YN
612 ,CONFIG_TOP_MODEL_LINE_ID
613 ,CONFIG_ITEM_TYPE
614 ,CONFIG_ITEM_ID
615 --,SERVICE_ITEM_YN
616 --,PH_PRICING_TYPE
617 --,PH_ADJUSTMENT
618 --,PH_PRICE_BREAK_BASIS
619 --,PH_MIN_QTY
620 --,PH_MIN_AMT
621 --,PH_QP_REFERENCE_ID
622 --,PH_VALUE
623 --,PH_ENFORCE_PRICE_LIST_YN
624 --,PH_INTEGRATED_WITH_QP
625 ,CUST_ACCT_ID
626 ,BILL_TO_SITE_USE_ID
627 ,INV_RULE_ID
628 ,LINE_RENEWAL_TYPE_CODE
629 ,SHIP_TO_SITE_USE_ID
630 ,PAYMENT_TERM_ID
631 FROM Okc_K_Lines_V
632 WHERE okc_k_lines_v.id = p_id;
633 l_okc_clev_pk okc_clev_pk_csr%ROWTYPE;
634 l_clev_rec clev_rec_type;
635 BEGIN
636 x_no_data_found := TRUE;
637 -- Get current database values
638 OPEN okc_clev_pk_csr (p_clev_id);
639 FETCH okc_clev_pk_csr INTO
640 l_clev_rec.ID
641 ,l_clev_rec.OBJECT_VERSION_NUMBER
642 ,l_clev_rec.SFWT_FLAG
643 ,l_clev_rec.CHR_ID
644 ,l_clev_rec.CLE_ID
645 ,l_clev_rec.CLE_ID_RENEWED
646 ,l_clev_rec.CLE_ID_RENEWED_TO
647 ,l_clev_rec.LSE_ID
648 ,l_clev_rec.LINE_NUMBER
649 ,l_clev_rec.STS_CODE
650 ,l_clev_rec.DISPLAY_SEQUENCE
651 ,l_clev_rec.TRN_CODE
652 ,l_clev_rec.DNZ_CHR_ID
653 ,l_clev_rec.COMMENTS
654 ,l_clev_rec.ITEM_DESCRIPTION
655 ,l_clev_rec.OKE_BOE_DESCRIPTION
656 ,l_clev_rec.HIDDEN_IND
657 ,l_clev_rec.PRICE_UNIT
658 ,l_clev_rec.PRICE_UNIT_PERCENT
659 ,l_clev_rec.PRICE_NEGOTIATED
660 ,l_clev_rec.PRICE_NEGOTIATED_RENEWED
661 ,l_clev_rec.PRICE_LEVEL_IND
662 ,l_clev_rec.INVOICE_LINE_LEVEL_IND
663 ,l_clev_rec.DPAS_RATING
664 ,l_clev_rec.BLOCK23TEXT
665 ,l_clev_rec.EXCEPTION_YN
666 ,l_clev_rec.TEMPLATE_USED
667 ,l_clev_rec.DATE_TERMINATED
668 ,l_clev_rec.NAME
669 ,l_clev_rec.START_DATE
670 ,l_clev_rec.END_DATE
671 ,l_clev_rec.UPG_ORIG_SYSTEM_REF
672 ,l_clev_rec.UPG_ORIG_SYSTEM_REF_ID
673 ,l_clev_rec.ATTRIBUTE_CATEGORY
674 ,l_clev_rec.ATTRIBUTE1
675 ,l_clev_rec.ATTRIBUTE2
676 ,l_clev_rec.ATTRIBUTE3
677 ,l_clev_rec.ATTRIBUTE4
678 ,l_clev_rec.ATTRIBUTE5
679 ,l_clev_rec.ATTRIBUTE6
680 ,l_clev_rec.ATTRIBUTE7
681 ,l_clev_rec.ATTRIBUTE8
682 ,l_clev_rec.ATTRIBUTE9
683 ,l_clev_rec.ATTRIBUTE10
684 ,l_clev_rec.ATTRIBUTE11
685 ,l_clev_rec.ATTRIBUTE12
686 ,l_clev_rec.ATTRIBUTE13
687 ,l_clev_rec.ATTRIBUTE14
688 ,l_clev_rec.ATTRIBUTE15
689 ,l_clev_rec.CREATED_BY
690 ,l_clev_rec.CREATION_DATE
691 ,l_clev_rec.LAST_UPDATED_BY
692 ,l_clev_rec.LAST_UPDATE_DATE
693 ,l_clev_rec.LAST_UPDATE_LOGIN
694 ,l_clev_rec.PRICE_TYPE
695 ,l_clev_rec.CURRENCY_CODE
696 ,l_clev_rec.CURRENCY_CODE_RENEWED
697 ,l_clev_rec.DATE_RENEWED
698 ,l_clev_rec.ORIG_SYSTEM_SOURCE_CODE
699 ,l_clev_rec.ORIG_SYSTEM_ID1
700 ,l_clev_rec.ORIG_SYSTEM_REFERENCE1
701 ,l_clev_rec.COGNOMEN
702 ,l_clev_rec.PROGRAM_APPLICATION_ID
703 ,l_clev_rec.PROGRAM_ID
704 ,l_clev_rec.PROGRAM_UPDATE_DATE
705 ,l_clev_rec.REQUEST_ID
706 ,l_clev_rec.PRICE_LIST_LINE_ID
707 ,l_clev_rec.PRICE_LIST_ID
708 ,l_clev_rec.LINE_LIST_PRICE
709 ,l_clev_rec.ITEM_TO_PRICE_YN
710 ,l_clev_rec.PRICING_DATE
711 ,l_clev_rec.PRICE_BASIS_YN
712 ,l_clev_rec.CONFIG_HEADER_ID
713 ,l_clev_rec.CONFIG_REVISION_NUMBER
714 ,l_clev_rec.CONFIG_COMPLETE_YN
715 ,l_clev_rec.CONFIG_VALID_YN
716 ,l_clev_rec.CONFIG_TOP_MODEL_LINE_ID
717 ,l_clev_rec.CONFIG_ITEM_TYPE
718 ,l_clev_rec.CONFIG_ITEM_ID
719 --,l_clev_rec.SERVICE_ITEM_YN
720 --,l_clev_rec.PH_PRICING_TYPE
721 --,l_clev_rec.PH_ADJUSTMENT
722 --,l_clev_rec.PH_PRICE_BREAK_BASIS
723 --,l_clev_rec.PH_MIN_QTY
724 --,l_clev_rec.PH_MIN_AMT
725 --,l_clev_rec.PH_QP_REFERENCE_ID
726 --,l_clev_rec.PH_VALUE
727 --,l_clev_rec.PH_ENFORCE_PRICE_LIST_YN
728 --,l_clev_rec.PH_INTEGRATED_WITH_QP
729 ,l_clev_rec.CUST_ACCT_ID
730 ,l_clev_rec.BILL_TO_SITE_USE_ID
731 ,l_clev_rec.INV_RULE_ID
732 ,l_clev_rec.LINE_RENEWAL_TYPE_CODE
733 ,l_clev_rec.SHIP_TO_SITE_USE_ID
734 ,l_clev_rec.PAYMENT_TERM_ID;
735 x_no_data_found := okc_clev_pk_csr%NOTFOUND;
736 CLOSE okc_clev_pk_csr;
737 RETURN(l_clev_rec);
738 END get_clev_rec;
739
740 FUNCTION get_clev_rec (
741 p_clev_id IN NUMBER
742 ) RETURN clev_rec_type IS
743 l_row_notfound BOOLEAN := TRUE;
744 BEGIN
745 RETURN(get_clev_rec(p_clev_id, l_row_notfound));
746 END get_clev_rec;
747 ----------------------------------------------------------------------
748 --end get_clev_rec
749 -----------------------------------------------------------------------
750 ---------------------------------------------------------------------------
751 -- FUNCTION get_rec for: OKL_K_LINES_V
752 ---------------------------------------------------------------------------
753 FUNCTION get_klev_rec (
754 p_klev_id IN NUMBER,
755 x_no_data_found OUT NOCOPY BOOLEAN
756 ) RETURN klev_rec_type IS
757 CURSOR okl_klev_pk_csr (p_id IN NUMBER) IS
758 SELECT
759 ID,
760 OBJECT_VERSION_NUMBER,
761 KLE_ID,
762 STY_ID,
763 PRC_CODE,
764 FCG_CODE,
765 NTY_CODE,
766 ESTIMATED_OEC,
767 LAO_AMOUNT,
768 TITLE_DATE,
769 FEE_CHARGE,
770 LRS_PERCENT,
771 INITIAL_DIRECT_COST,
772 PERCENT_STAKE,
773 PERCENT,
774 EVERGREEN_PERCENT,
775 AMOUNT_STAKE,
776 OCCUPANCY,
777 COVERAGE,
778 RESIDUAL_PERCENTAGE,
779 DATE_LAST_INSPECTION,
780 DATE_SOLD,
781 LRV_AMOUNT,
782 CAPITAL_REDUCTION,
783 DATE_NEXT_INSPECTION_DUE,
784 DATE_RESIDUAL_LAST_REVIEW,
785 DATE_LAST_REAMORTISATION,
786 VENDOR_ADVANCE_PAID,
787 WEIGHTED_AVERAGE_LIFE,
788 TRADEIN_AMOUNT,
789 BOND_EQUIVALENT_YIELD,
790 TERMINATION_PURCHASE_AMOUNT,
791 REFINANCE_AMOUNT,
792 YEAR_BUILT,
793 DELIVERED_DATE,
794 CREDIT_TENANT_YN,
795 DATE_LAST_CLEANUP,
796 YEAR_OF_MANUFACTURE,
797 COVERAGE_RATIO,
798 REMARKETED_AMOUNT,
799 GROSS_SQUARE_FOOTAGE,
800 PRESCRIBED_ASSET_YN,
801 DATE_REMARKETED,
802 NET_RENTABLE,
803 REMARKET_MARGIN,
804 DATE_LETTER_ACCEPTANCE,
805 REPURCHASED_AMOUNT,
806 DATE_COMMITMENT_EXPIRATION,
807 DATE_REPURCHASED,
808 DATE_APPRAISAL,
809 RESIDUAL_VALUE,
810 APPRAISAL_VALUE,
811 SECURED_DEAL_YN,
812 GAIN_LOSS,
813 FLOOR_AMOUNT,
814 RE_LEASE_YN,
815 PREVIOUS_CONTRACT,
816 TRACKED_RESIDUAL,
817 DATE_TITLE_RECEIVED,
818 AMOUNT,
819 ATTRIBUTE_CATEGORY,
820 ATTRIBUTE1,
821 ATTRIBUTE2,
822 ATTRIBUTE3,
823 ATTRIBUTE4,
824 ATTRIBUTE5,
825 ATTRIBUTE6,
826 ATTRIBUTE7,
827 ATTRIBUTE8,
828 ATTRIBUTE9,
829 ATTRIBUTE10,
830 ATTRIBUTE11,
831 ATTRIBUTE12,
832 ATTRIBUTE13,
833 ATTRIBUTE14,
834 ATTRIBUTE15,
835 STY_ID_FOR,
836 CLG_ID,
837 CREATED_BY,
838 CREATION_DATE,
839 LAST_UPDATED_BY,
840 LAST_UPDATE_DATE,
841 LAST_UPDATE_LOGIN,
842 DATE_FUNDING,
843 DATE_FUNDING_REQUIRED,
844 DATE_ACCEPTED,
845 DATE_DELIVERY_EXPECTED,
846 OEC,
847 CAPITAL_AMOUNT,
848 RESIDUAL_GRNTY_AMOUNT,
849 RESIDUAL_CODE,
850 RVI_PREMIUM,
851 CREDIT_NATURE,
852 CAPITALIZED_INTEREST,
853 CAPITAL_REDUCTION_PERCENT,
854 -- Bug# 2697681
855 DATE_PAY_INVESTOR_START,
856 PAY_INVESTOR_FREQUENCY,
857 PAY_INVESTOR_EVENT,
858 PAY_INVESTOR_REMITTANCE_DAYS,
859 -- Bug# 2697681
860 FEE_TYPE,
861 -- Bug# 3143522 : Subsidies
862 SUBSIDY_ID,
863 --SUBSIDIZED_OEC,
864 --SUBSIDIZED_CAP_AMOUNT,
865 PRE_TAX_YIELD,
866 AFTER_TAX_YIELD,
867 IMPLICIT_INTEREST_RATE,
868 IMPLICIT_NON_IDC_INTEREST_RATE,
869 PRE_TAX_IRR,
870 AFTER_TAX_IRR,
871 SUBSIDY_OVERRIDE_AMOUNT,
872 --quote
873 SUB_PRE_TAX_YIELD,
874 SUB_AFTER_TAX_YIELD,
875 SUB_IMPL_INTEREST_RATE,
876 SUB_IMPL_NON_IDC_INT_RATE,
877 SUB_PRE_TAX_IRR,
878 SUB_AFTER_TAX_IRR,
879 --Bug# 2994971
880 ITEM_INSURANCE_CATEGORY,
881 --Bug# 3973640 : 11.5.10+ schema
882 QTE_ID,
883 FUNDING_DATE,
884 STREAM_TYPE_SUBCLASS,
885 --Bug 4466440 OKL.H new columns
886 DATE_FUNDING_EXPECTED,
887 MANUFACTURER_NAME,
888 MODEL_NUMBER,
889 DOWN_PAYMENT_RECEIVER_CODE,
890 CAPITALIZE_DOWN_PAYMENT_YN,
891 FEE_PURPOSE_CODE
892 FROM Okl_K_Lines_V
893 WHERE okl_k_lines_v.id = p_id;
894 l_okl_klev_pk okl_klev_pk_csr%ROWTYPE;
895 l_klev_rec klev_rec_type;
896 BEGIN
897 x_no_data_found := TRUE;
898 -- Get current database values
899 OPEN okl_klev_pk_csr (p_klev_id);
900 FETCH okl_klev_pk_csr INTO
901 l_klev_rec.ID,
902 l_klev_rec.OBJECT_VERSION_NUMBER,
903 l_klev_rec.KLE_ID,
904 l_klev_rec.STY_ID,
905 l_klev_rec.PRC_CODE,
906 l_klev_rec.FCG_CODE,
907 l_klev_rec.NTY_CODE,
908 l_klev_rec.ESTIMATED_OEC,
909 l_klev_rec.LAO_AMOUNT,
910 l_klev_rec.TITLE_DATE,
911 l_klev_rec.FEE_CHARGE,
912 l_klev_rec.LRS_PERCENT,
913 l_klev_rec.INITIAL_DIRECT_COST,
914 l_klev_rec.PERCENT_STAKE,
915 l_klev_rec.PERCENT,
916 l_klev_rec.EVERGREEN_PERCENT,
917 l_klev_rec.AMOUNT_STAKE,
918 l_klev_rec.OCCUPANCY,
919 l_klev_rec.COVERAGE,
920 l_klev_rec.RESIDUAL_PERCENTAGE,
921 l_klev_rec.DATE_LAST_INSPECTION,
922 l_klev_rec.DATE_SOLD,
923 l_klev_rec.LRV_AMOUNT,
924 l_klev_rec.CAPITAL_REDUCTION,
925 l_klev_rec.DATE_NEXT_INSPECTION_DUE,
926 l_klev_rec.DATE_RESIDUAL_LAST_REVIEW,
927 l_klev_rec.DATE_LAST_REAMORTISATION,
928 l_klev_rec.VENDOR_ADVANCE_PAID,
929 l_klev_rec.WEIGHTED_AVERAGE_LIFE,
930 l_klev_rec.TRADEIN_AMOUNT,
931 l_klev_rec.BOND_EQUIVALENT_YIELD,
932 l_klev_rec.TERMINATION_PURCHASE_AMOUNT,
933 l_klev_rec.REFINANCE_AMOUNT,
934 l_klev_rec.YEAR_BUILT,
935 l_klev_rec.DELIVERED_DATE,
936 l_klev_rec.CREDIT_TENANT_YN,
937 l_klev_rec.DATE_LAST_CLEANUP,
938 l_klev_rec.YEAR_OF_MANUFACTURE,
939 l_klev_rec.COVERAGE_RATIO,
940 l_klev_rec.REMARKETED_AMOUNT,
941 l_klev_rec.GROSS_SQUARE_FOOTAGE,
942 l_klev_rec.PRESCRIBED_ASSET_YN,
943 l_klev_rec.DATE_REMARKETED,
944 l_klev_rec.NET_RENTABLE,
945 l_klev_rec.REMARKET_MARGIN,
946 l_klev_rec.DATE_LETTER_ACCEPTANCE,
947 l_klev_rec.REPURCHASED_AMOUNT,
948 l_klev_rec.DATE_COMMITMENT_EXPIRATION,
949 l_klev_rec.DATE_REPURCHASED,
950 l_klev_rec.DATE_APPRAISAL,
951 l_klev_rec.RESIDUAL_VALUE,
952 l_klev_rec.APPRAISAL_VALUE,
953 l_klev_rec.SECURED_DEAL_YN,
954 l_klev_rec.GAIN_LOSS,
955 l_klev_rec.FLOOR_AMOUNT,
956 l_klev_rec.RE_LEASE_YN,
957 l_klev_rec.PREVIOUS_CONTRACT,
958 l_klev_rec.TRACKED_RESIDUAL,
959 l_klev_rec.DATE_TITLE_RECEIVED,
960 l_klev_rec.AMOUNT,
961 l_klev_rec.ATTRIBUTE_CATEGORY,
962 l_klev_rec.ATTRIBUTE1,
963 l_klev_rec.ATTRIBUTE2,
964 l_klev_rec.ATTRIBUTE3,
965 l_klev_rec.ATTRIBUTE4,
966 l_klev_rec.ATTRIBUTE5,
967 l_klev_rec.ATTRIBUTE6,
968 l_klev_rec.ATTRIBUTE7,
969 l_klev_rec.ATTRIBUTE8,
970 l_klev_rec.ATTRIBUTE9,
971 l_klev_rec.ATTRIBUTE10,
972 l_klev_rec.ATTRIBUTE11,
973 l_klev_rec.ATTRIBUTE12,
974 l_klev_rec.ATTRIBUTE13,
975 l_klev_rec.ATTRIBUTE14,
976 l_klev_rec.ATTRIBUTE15,
977 l_klev_rec.STY_ID_FOR,
978 l_klev_rec.CLG_ID,
979 l_klev_rec.CREATED_BY,
980 l_klev_rec.CREATION_DATE,
981 l_klev_rec.LAST_UPDATED_BY,
982 l_klev_rec.LAST_UPDATE_DATE,
983 l_klev_rec.LAST_UPDATE_LOGIN,
984 l_klev_rec.DATE_FUNDING,
985 l_klev_rec.DATE_FUNDING_REQUIRED,
986 l_klev_rec.DATE_ACCEPTED,
987 l_klev_rec.DATE_DELIVERY_EXPECTED,
988 l_klev_rec.OEC,
989 l_klev_rec.CAPITAL_AMOUNT,
990 l_klev_rec.RESIDUAL_GRNTY_AMOUNT,
991 l_klev_rec.RESIDUAL_CODE,
992 l_klev_rec.RVI_PREMIUM,
993 l_klev_rec.CREDIT_NATURE,
994 l_klev_rec.CAPITALIZED_INTEREST,
995 l_klev_rec.CAPITAL_REDUCTION_PERCENT,
996 l_klev_rec.DATE_PAY_INVESTOR_START,
997 l_klev_rec.PAY_INVESTOR_FREQUENCY,
998 l_klev_rec.PAY_INVESTOR_EVENT,
999 l_klev_rec.PAY_INVESTOR_REMITTANCE_DAYS,
1000 l_klev_rec.FEE_TYPE,
1001 -- Bug# 3143522 : Subsidies
1002 l_klev_rec.SUBSIDY_ID,
1003 --l_klev_rec.SUBSIDIZED_OEC,
1004 --l_klev_rec.SUBSIDIZED_CAP_AMOUNT,
1005 l_klev_rec.PRE_TAX_YIELD,
1006 l_klev_rec.AFTER_TAX_YIELD,
1007 l_klev_rec.IMPLICIT_INTEREST_RATE,
1008 l_klev_rec.IMPLICIT_NON_IDC_INTEREST_RATE,
1009 l_klev_rec.PRE_TAX_IRR,
1010 l_klev_rec.AFTER_TAX_IRR,
1011 l_klev_rec.SUBSIDY_OVERRIDE_AMOUNT,
1012 --quote
1013 l_klev_rec.SUB_PRE_TAX_YIELD,
1014 l_klev_rec.SUB_AFTER_TAX_YIELD,
1015 l_klev_rec.SUB_IMPL_INTEREST_RATE,
1016 l_klev_rec.SUB_IMPL_NON_IDC_INT_RATE,
1017 l_klev_rec.SUB_PRE_TAX_IRR,
1018 l_klev_rec.SUB_AFTER_TAX_IRR,
1019 --Bug# 2994971
1020 l_klev_rec.ITEM_INSURANCE_CATEGORY,
1021 --Bug# 3973640 : 11.5.10+ schema
1022 l_klev_rec.QTE_ID,
1023 l_klev_rec.FUNDING_DATE,
1024 l_klev_rec.STREAM_TYPE_SUBCLASS,
1025 --Bug 4466440 OKL.H new columns
1026 l_klev_rec.DATE_FUNDING_EXPECTED,
1027 l_klev_rec.MANUFACTURER_NAME,
1028 l_klev_rec.MODEL_NUMBER,
1029 l_klev_rec.DOWN_PAYMENT_RECEIVER_CODE,
1030 l_klev_rec.CAPITALIZE_DOWN_PAYMENT_YN,
1031 l_klev_rec.FEE_PURPOSE_CODE;
1032 x_no_data_found := okl_klev_pk_csr%NOTFOUND;
1033 CLOSE okl_klev_pk_csr;
1034 RETURN(l_klev_rec);
1035 END get_klev_rec;
1036
1037 FUNCTION get_klev_rec (
1038 p_klev_id IN NUMBER
1039 ) RETURN klev_rec_type IS
1040 l_row_notfound BOOLEAN := TRUE;
1041 BEGIN
1042 RETURN(get_klev_rec(p_klev_id, l_row_notfound));
1043 END get_klev_rec;
1044 --Bug# : 3143522
1045
1046 --furong 4350255
1047 ---------------------------------------------------------------------------
1048 -- FUNCTION get_rec for: OKL_PARTY_PAYMENT_HDR_V
1049 ---------------------------------------------------------------------------
1050 FUNCTION get_pphv_rec (
1051 p_pphv_rec IN pphv_rec_type,
1052 x_no_data_found OUT NOCOPY BOOLEAN
1053 ) RETURN pphv_rec_type IS
1054 CURSOR okl_party_payment_hdr_v_pk_csr (p_id IN NUMBER) IS
1055 SELECT
1056 ID,
1057 OBJECT_VERSION_NUMBER,
1058 DNZ_CHR_ID,
1059 CLE_ID,
1060 PPL_ID,
1061 PASSTHRU_START_DATE,
1062 PAYOUT_BASIS,
1063 PAYOUT_BASIS_FORMULA,
1064 EFFECTIVE_FROM,
1065 EFFECTIVE_TO,
1066 PASSTHRU_TERM,
1067 PASSTHRU_STREAM_TYPE_ID,
1068 CREATED_BY,
1069 CREATION_DATE,
1070 LAST_UPDATED_BY,
1071 LAST_UPDATE_DATE,
1072 LAST_UPDATE_LOGIN
1073 FROM Okl_Party_Payment_Hdr_V
1074 WHERE okl_party_payment_hdr_v.id = p_id;
1075 l_okl_party_payment_hdr_v_pk okl_party_payment_hdr_v_pk_csr%ROWTYPE;
1076 l_pphv_rec pphv_rec_type;
1077 BEGIN
1078 x_no_data_found := TRUE;
1079 -- Get current database values
1080 OPEN okl_party_payment_hdr_v_pk_csr (p_pphv_rec.id);
1081 FETCH okl_party_payment_hdr_v_pk_csr INTO
1082 l_pphv_rec.id,
1083 l_pphv_rec.object_version_number,
1084 l_pphv_rec.dnz_chr_id,
1085 l_pphv_rec.cle_id,
1086 l_pphv_rec.ppl_id,
1087 l_pphv_rec.passthru_start_date,
1088 l_pphv_rec.payout_basis,
1089 l_pphv_rec.payout_basis_formula,
1090 l_pphv_rec.effective_from,
1091 l_pphv_rec.effective_to,
1092 l_pphv_rec.passthru_term,
1093 l_pphv_rec.passthru_stream_type_id,
1094 l_pphv_rec.created_by,
1095 l_pphv_rec.creation_date,
1096 l_pphv_rec.last_updated_by,
1097 l_pphv_rec.last_update_date,
1098 l_pphv_rec.last_update_login;
1099 x_no_data_found := okl_party_payment_hdr_v_pk_csr%NOTFOUND;
1100 CLOSE okl_party_payment_hdr_v_pk_csr;
1101 RETURN(l_pphv_rec);
1102 END get_pphv_rec;
1103 ------------------------------------------------------------------
1104 -- This version of get_rec sets error messages if no data found --
1105 ------------------------------------------------------------------
1106 FUNCTION get_pphv_rec (
1107 p_pphv_rec IN pphv_rec_type,
1108 x_return_status OUT NOCOPY VARCHAR2
1109 ) RETURN pphv_rec_type IS
1110 l_pphv_rec pphv_rec_type;
1111 l_row_notfound BOOLEAN := TRUE;
1112 BEGIN
1113 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1114 l_pphv_rec := get_pphv_rec(p_pphv_rec, l_row_notfound);
1115 IF (l_row_notfound) THEN
1116 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
1117 x_return_status := OKC_API.G_RET_STS_ERROR;
1118 END IF;
1119 RETURN(l_pphv_rec);
1120 END get_pphv_rec;
1121
1122 --furong 4350255
1123
1124 ---------------------------------------------------------------------------
1125 -- FUNCTION get_rec for: OKL_PARTY_PAYMENT_DTLS_V
1126 ---------------------------------------------------------------------------
1127 FUNCTION get_ppydv_rec (
1128 p_ppydv_rec IN ppydv_rec_type,
1129 x_no_data_found OUT NOCOPY BOOLEAN
1130 ) RETURN ppydv_rec_type IS
1131 CURSOR okl_party_payment_d1 (p_id IN NUMBER) IS
1132 SELECT
1133 ID,
1134 OBJECT_VERSION_NUMBER,
1135 CPL_ID,
1136 VENDOR_ID,
1137 PAY_SITE_ID,
1138 PAYMENT_TERM_ID,
1139 PAYMENT_METHOD_CODE,
1140 PAY_GROUP_CODE,
1141 PAYMENT_HDR_ID,
1142 PAYMENT_START_DATE,
1143 PAYMENT_FREQUENCY,
1144 REMIT_DAYS,
1145 DISBURSEMENT_BASIS,
1146 DISBURSEMENT_FIXED_AMOUNT,
1147 DISBURSEMENT_PERCENT,
1148 PROCESSING_FEE_BASIS,
1149 PROCESSING_FEE_FIXED_AMOUNT,
1150 PROCESSING_FEE_PERCENT,
1151 PAYMENT_BASIS,
1152 ATTRIBUTE_CATEGORY,
1153 ATTRIBUTE1,
1154 ATTRIBUTE2,
1155 ATTRIBUTE3,
1156 ATTRIBUTE4,
1157 ATTRIBUTE5,
1158 ATTRIBUTE6,
1159 ATTRIBUTE7,
1160 ATTRIBUTE8,
1161 ATTRIBUTE9,
1162 ATTRIBUTE10,
1163 ATTRIBUTE11,
1164 ATTRIBUTE12,
1165 ATTRIBUTE13,
1166 ATTRIBUTE14,
1167 ATTRIBUTE15,
1168 CREATED_BY,
1169 CREATION_DATE,
1170 LAST_UPDATED_BY,
1171 LAST_UPDATE_DATE,
1172 LAST_UPDATE_LOGIN
1173 FROM Okl_Party_Payment_Dtls_V
1174 WHERE okl_party_payment_dtls_v.id = p_id;
1175 l_okl_party_payment_dtls_v_pk okl_party_payment_d1%ROWTYPE;
1176 l_ppydv_rec ppydv_rec_type;
1177 BEGIN
1178 x_no_data_found := TRUE;
1179 -- Get current database values
1180 OPEN okl_party_payment_d1 (p_ppydv_rec.id);
1181 FETCH okl_party_payment_d1 INTO
1182 l_ppydv_rec.id,
1183 l_ppydv_rec.object_version_number,
1184 l_ppydv_rec.cpl_id,
1185 l_ppydv_rec.vendor_id,
1186 l_ppydv_rec.pay_site_id,
1187 l_ppydv_rec.payment_term_id,
1188 l_ppydv_rec.payment_method_code,
1189 l_ppydv_rec.pay_group_code,
1190 l_ppydv_rec.payment_hdr_id,
1191 l_ppydv_rec.payment_start_date,
1192 l_ppydv_rec.payment_frequency,
1193 l_ppydv_rec.remit_days,
1194 l_ppydv_rec.disbursement_basis,
1195 l_ppydv_rec.disbursement_fixed_amount,
1196 l_ppydv_rec.disbursement_percent,
1197 l_ppydv_rec.processing_fee_basis,
1198 l_ppydv_rec.processing_fee_fixed_amount,
1199 l_ppydv_rec.processing_fee_percent,
1200 l_ppydv_rec.payment_basis,
1201 l_ppydv_rec.attribute_category,
1202 l_ppydv_rec.attribute1,
1203 l_ppydv_rec.attribute2,
1204 l_ppydv_rec.attribute3,
1205 l_ppydv_rec.attribute4,
1206 l_ppydv_rec.attribute5,
1207 l_ppydv_rec.attribute6,
1208 l_ppydv_rec.attribute7,
1209 l_ppydv_rec.attribute8,
1210 l_ppydv_rec.attribute9,
1211 l_ppydv_rec.attribute10,
1212 l_ppydv_rec.attribute11,
1213 l_ppydv_rec.attribute12,
1214 l_ppydv_rec.attribute13,
1215 l_ppydv_rec.attribute14,
1216 l_ppydv_rec.attribute15,
1217 l_ppydv_rec.created_by,
1218 l_ppydv_rec.creation_date,
1219 l_ppydv_rec.last_updated_by,
1220 l_ppydv_rec.last_update_date,
1221 l_ppydv_rec.last_update_login;
1222 x_no_data_found := okl_party_payment_d1%NOTFOUND;
1223 CLOSE okl_party_payment_d1;
1224 RETURN(l_ppydv_rec);
1225 END get_ppydv_rec;
1226
1227 --Bug# 4558486
1228 ---------------------------------------------------------------------------
1229 -- FUNCTION get_rec for: OKL_K_PARTY_ROLES
1230 ---------------------------------------------------------------------------
1231 FUNCTION get_kplv_rec (
1232 p_kplv_rec IN kplv_rec_type,
1233 x_no_data_found OUT NOCOPY BOOLEAN
1234 ) RETURN kplv_rec_type IS
1235 CURSOR okl_k_party_roles_v_pk_csr (p_id IN NUMBER) IS
1236 SELECT
1237 ID,
1238 OBJECT_VERSION_NUMBER,
1239 ATTRIBUTE_CATEGORY,
1240 ATTRIBUTE1,
1241 ATTRIBUTE2,
1242 ATTRIBUTE3,
1243 ATTRIBUTE4,
1244 ATTRIBUTE5,
1245 ATTRIBUTE6,
1246 ATTRIBUTE7,
1247 ATTRIBUTE8,
1248 ATTRIBUTE9,
1249 ATTRIBUTE10,
1250 ATTRIBUTE11,
1251 ATTRIBUTE12,
1252 ATTRIBUTE13,
1253 ATTRIBUTE14,
1254 ATTRIBUTE15,
1255 CREATED_BY,
1256 CREATION_DATE,
1257 LAST_UPDATED_BY,
1258 LAST_UPDATE_DATE,
1259 LAST_UPDATE_LOGIN
1260 FROM Okl_K_Party_Roles_V
1261 WHERE okl_k_party_roles_v.id = p_id;
1262 l_okl_k_party_roles_v_pk okl_k_party_roles_v_pk_csr%ROWTYPE;
1263 l_kplv_rec kplv_rec_type;
1264 BEGIN
1265 x_no_data_found := TRUE;
1266 -- Get current database values
1267 OPEN okl_k_party_roles_v_pk_csr (p_kplv_rec.id);
1268 FETCH okl_k_party_roles_v_pk_csr INTO
1269 l_kplv_rec.id,
1270 l_kplv_rec.object_version_number,
1271 l_kplv_rec.attribute_category,
1272 l_kplv_rec.attribute1,
1273 l_kplv_rec.attribute2,
1274 l_kplv_rec.attribute3,
1275 l_kplv_rec.attribute4,
1276 l_kplv_rec.attribute5,
1277 l_kplv_rec.attribute6,
1278 l_kplv_rec.attribute7,
1279 l_kplv_rec.attribute8,
1280 l_kplv_rec.attribute9,
1281 l_kplv_rec.attribute10,
1282 l_kplv_rec.attribute11,
1283 l_kplv_rec.attribute12,
1284 l_kplv_rec.attribute13,
1285 l_kplv_rec.attribute14,
1286 l_kplv_rec.attribute15,
1287 l_kplv_rec.created_by,
1288 l_kplv_rec.creation_date,
1289 l_kplv_rec.last_updated_by,
1290 l_kplv_rec.last_update_date,
1291 l_kplv_rec.last_update_login;
1292 x_no_data_found := okl_k_party_roles_v_pk_csr%NOTFOUND;
1293 CLOSE okl_k_party_roles_v_pk_csr;
1294 RETURN(l_kplv_rec);
1295 END get_kplv_rec;
1296 ------------------------------------------------------------------
1297 -- This version of get_rec sets error messages if no data found --
1298 ------------------------------------------------------------------
1299 FUNCTION get_kplv_rec (
1300 p_kplv_rec IN kplv_rec_type,
1301 x_return_status OUT NOCOPY VARCHAR2
1302 ) RETURN kplv_rec_type IS
1303 l_kplv_rec kplv_rec_type;
1304 l_row_notfound BOOLEAN := TRUE;
1305 BEGIN
1306 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1307 l_kplv_rec := get_kplv_rec(p_kplv_rec, l_row_notfound);
1308 IF (l_row_notfound) THEN
1309 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
1310 x_return_status := OKC_API.G_RET_STS_ERROR;
1311 END IF;
1312 RETURN(l_kplv_rec);
1313 END get_kplv_rec;
1314 --Bug# 4558486
1315
1316 --Bug # 3630858
1317 ---------------------------------------------------------------------------
1318 -- FUNCTION get_rec for: OKL_SLCTD_OPTNS_V
1319 ---------------------------------------------------------------------------
1320 FUNCTION get_cspv_rec (
1321 p_cspv_rec_id IN number,
1322 x_return_status OUT NOCOPY VARCHAR2
1323 ) RETURN cspv_rec_type IS
1324 CURSOR OKL_SLCTD_OPTNS_CSR (p_id IN NUMBER) IS
1325 SELECT
1326 ID,
1327 OBJECT_VERSION_NUMBER,
1328 POV_ID,
1329 KHR_ID,
1330 ATTRIBUTE_CATEGORY,
1331 ATTRIBUTE1,
1332 ATTRIBUTE2,
1333 ATTRIBUTE3,
1334 ATTRIBUTE4,
1335 ATTRIBUTE5,
1336 ATTRIBUTE6,
1337 ATTRIBUTE7,
1338 ATTRIBUTE8,
1339 ATTRIBUTE9,
1340 ATTRIBUTE10,
1341 ATTRIBUTE11,
1342 ATTRIBUTE12,
1343 ATTRIBUTE13,
1344 ATTRIBUTE14,
1345 ATTRIBUTE15,
1346 CREATED_BY,
1347 CREATION_DATE,
1348 LAST_UPDATED_BY,
1349 LAST_UPDATE_DATE,
1350 LAST_UPDATE_LOGIN
1351 FROM OKL_SLCTD_OPTNS_V
1352 WHERE OKL_SLCTD_OPTNS_V.id = p_id;
1353
1354 l_cspv_rec_id number;
1355 l_cspv_rec cspv_rec_type;
1356 l_no_data_found BOOLEAN := FALSE;
1357 BEGIN
1358 l_cspv_rec_id := p_cspv_rec_id;
1359 -- Get current database values
1360 OPEN OKL_SLCTD_OPTNS_CSR (l_cspv_rec_id);
1361 FETCH OKL_SLCTD_OPTNS_CSR INTO
1362 l_cspv_rec.id,
1363 l_cspv_rec.object_version_number,
1364 l_cspv_rec.pov_id,
1365 l_cspv_rec.khr_id,
1366 l_cspv_rec.attribute_category,
1367 l_cspv_rec.attribute1,
1368 l_cspv_rec.attribute2,
1369 l_cspv_rec.attribute3,
1370 l_cspv_rec.attribute4,
1371 l_cspv_rec.attribute5,
1372 l_cspv_rec.attribute6,
1373 l_cspv_rec.attribute7,
1374 l_cspv_rec.attribute8,
1375 l_cspv_rec.attribute9,
1376 l_cspv_rec.attribute10,
1377 l_cspv_rec.attribute11,
1378 l_cspv_rec.attribute12,
1379 l_cspv_rec.attribute13,
1380 l_cspv_rec.attribute14,
1381 l_cspv_rec.attribute15,
1382 l_cspv_rec.created_by,
1383 l_cspv_rec.creation_date,
1384 l_cspv_rec.last_updated_by,
1385 l_cspv_rec.last_update_date,
1386 l_cspv_rec.last_update_login;
1387 l_no_data_found := OKL_SLCTD_OPTNS_CSR%NOTFOUND;
1388 CLOSE OKL_SLCTD_OPTNS_CSR;
1389
1390 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1391 IF (l_no_data_found) THEN
1392 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
1393 x_return_status := OKL_API.G_RET_STS_ERROR;
1394 END IF;
1395
1396 RETURN(l_cspv_rec);
1397 END get_cspv_rec;
1398
1399
1400 ------------------------------------------------------------------
1401 -- This version of get_rec sets error messages if no data found --
1402 ------------------------------------------------------------------
1403 FUNCTION get_ppydv_rec (
1404 p_ppydv_rec IN ppydv_rec_type,
1405 x_return_status OUT NOCOPY VARCHAR2
1406 ) RETURN ppydv_rec_type IS
1407 l_ppydv_rec ppydv_rec_type;
1408 l_row_notfound BOOLEAN := TRUE;
1409 BEGIN
1410 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1411 l_ppydv_rec := get_ppydv_rec(p_ppydv_rec, l_row_notfound);
1412 IF (l_row_notfound) THEN
1413 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
1414 x_return_status := OKL_API.G_RET_STS_ERROR;
1415 END IF;
1416 RETURN(l_ppydv_rec);
1417 END get_ppydv_rec;
1418 -----------------------------------------------------------
1419 -- So we don't have to pass an "l_row_notfound" variable --
1420 -----------------------------------------------------------
1421 FUNCTION get_ppydv_rec (
1422 p_ppydv_rec IN ppydv_rec_type
1423 ) RETURN ppydv_rec_type IS
1424 l_row_not_found BOOLEAN := TRUE;
1425 BEGIN
1426 RETURN(get_ppydv_rec(p_ppydv_rec, l_row_not_found));
1427 END get_ppydv_rec;
1428
1429 --furong 4350255
1430 Procedure copy_party_pymt_hdr
1431 (p_api_version IN NUMBER,
1432 p_init_msg_list IN VARCHAR2 ,
1433 x_return_status OUT NOCOPY VARCHAR2,
1434 x_msg_count OUT NOCOPY NUMBER,
1435 x_msg_data OUT NOCOPY VARCHAR2,
1436 p_chr_id IN NUMBER,
1437 p_cle_id IN NUMBER,
1438 p_pph_id IN NUMBER,
1439 x_pph_id OUT NOCOPY NUMBER) IS
1440
1441 l_get_pphv_rec pphv_rec_type;
1442 l_pphv_rec pphv_rec_type;
1443 lx_pphv_rec pphv_rec_type;
1444
1445 l_return_status VARCHAR2(1) default OKL_API.G_RET_STS_SUCCESS;
1446 l_api_name CONSTANT varchar2(30) := 'COPY_PARTY_PYMT_HDR';
1447 l_api_version CONSTANT NUMBER := 1.0;
1448
1449 Begin
1450 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1451 -- Call start_activity to create savepoint, check compatibility
1452 -- and initialize message list
1453 x_return_status := OKL_API.START_ACTIVITY (
1454 l_api_name
1455 ,p_init_msg_list
1456 ,'_PVT'
1457 ,x_return_status);
1458 -- Check if activity started successfully
1459 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1460 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1461 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1462 RAISE OKL_API.G_EXCEPTION_ERROR;
1463 END IF;
1464
1465 l_get_pphv_rec.id := p_pph_id;
1466 l_pphv_rec := get_pphv_rec(p_pphv_rec => l_get_pphv_rec,
1467 x_return_status => x_return_status);
1468 l_pphv_rec.dnz_chr_id := p_chr_id;
1469 l_pphv_rec.cle_id := p_cle_id;
1470
1471 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1472 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1473 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1474 RAISE OKL_API.G_EXCEPTION_ERROR;
1475 END IF;
1476
1477 OKL_LDB_PVT.insert_row
1478 (p_api_version => p_api_version,
1479 p_init_msg_list => p_init_msg_list,
1480 x_return_status => x_return_status,
1481 x_msg_count => x_msg_count,
1482 x_msg_data => x_msg_data,
1483 p_pphv_rec => l_pphv_rec,
1484 x_pphv_rec => lx_pphv_rec);
1485
1486 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1487 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1488 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1489 RAISE OKL_API.G_EXCEPTION_ERROR;
1490 END IF;
1491 x_pph_id := lx_pphv_rec.id;
1492
1493 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data );
1494
1495 EXCEPTION
1496
1497 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1498 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1499 l_api_name,
1500 G_PKG_NAME,
1501 'OKL_API.G_RET_STS_ERROR',
1502 x_msg_count,
1503 x_msg_data,
1504 '_PVT');
1505 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1506 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1507 l_api_name,
1508 G_PKG_NAME,
1509 'OKL_API.G_RET_STS_UNEXP_ERROR',
1510 x_msg_count,
1511 x_msg_data,
1512 '_PVT');
1513 WHEN OTHERS THEN
1514 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1515 l_api_name,
1516 G_PKG_NAME,
1517 'OTHERS',
1518 x_msg_count,
1519 x_msg_data,
1520 '_PVT');
1521 End copy_party_pymt_hdr;
1522 --furong 4350255
1523
1524 --------------------------------------------------------------------------------
1525 -- Start of comments
1526 -- Bug# 3143522
1527 -- Procedure name : copy_party_pymt_dtls
1528 -- Description : Copies okl party payment details
1529 -- local (sub entiry of OKL party roles)
1530 -- Business Rules :
1531 -- Parameters :
1532 -- Version : 1.0
1533 -- Notes :
1534 -- End of Comments
1535 -------------------------------------------------------------------------------
1536 Procedure copy_party_pymt_dtls
1537 (p_api_version IN NUMBER,
1538 p_init_msg_list IN VARCHAR2 ,
1539 x_return_status OUT NOCOPY VARCHAR2,
1540 x_msg_count OUT NOCOPY NUMBER,
1541 x_msg_data OUT NOCOPY VARCHAR2,
1542 p_pyd_id IN NUMBER,
1543 p_cpl_id IN NUMBER,
1544 --furong 4350255
1545 p_pph_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
1546 --furong 4350255
1547 x_pyd_id OUT NOCOPY NUMBER) IS
1548
1549 l_get_ppydv_rec ppydv_rec_type;
1550 l_ppydv_rec ppydv_rec_type;
1551 lx_ppydv_rec ppydv_rec_type;
1552
1553 l_return_status VARCHAR2(1) default OKL_API.G_RET_STS_SUCCESS;
1554 l_api_name CONSTANT varchar2(30) := 'COPY_PARTY_PYMT_DTLS';
1555 l_api_version CONSTANT NUMBER := 1.0;
1556
1557 Begin
1558 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1559 -- Call start_activity to create savepoint, check compatibility
1560 -- and initialize message list
1561 x_return_status := OKL_API.START_ACTIVITY (
1562 l_api_name
1563 ,p_init_msg_list
1564 ,'_PVT'
1565 ,x_return_status);
1566 -- Check if activity started successfully
1567 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1568 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1569 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1570 RAISE OKL_API.G_EXCEPTION_ERROR;
1571 END IF;
1572
1573 l_get_ppydv_rec.id := p_pyd_id;
1574 l_ppydv_rec := get_ppydv_rec(p_ppydv_rec => l_get_ppydv_rec,
1575 x_return_status => x_return_status);
1576
1577 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1578 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1579 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1580 RAISE OKL_API.G_EXCEPTION_ERROR;
1581 END IF;
1582
1583 --create party payment details
1584 l_ppydv_rec.cpl_id := p_cpl_id;
1585 l_ppydv_rec.payment_hdr_id := p_pph_id;
1586
1587 OKL_PYD_PVT.insert_row
1588 (p_api_version => p_api_version,
1589 p_init_msg_list => p_init_msg_list,
1590 x_return_status => x_return_status,
1591 x_msg_count => x_msg_count,
1592 x_msg_data => x_msg_data,
1593 p_ppydv_rec => l_ppydv_rec,
1594 x_ppydv_rec => lx_ppydv_rec);
1595
1596 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1597 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1598 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1599 RAISE OKL_API.G_EXCEPTION_ERROR;
1600 END IF;
1601 x_pyd_id := lx_ppydv_rec.id;
1602
1603 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data );
1604
1605 EXCEPTION
1606
1607 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1608 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1609 l_api_name,
1610 G_PKG_NAME,
1611 'OKL_API.G_RET_STS_ERROR',
1612 x_msg_count,
1613 x_msg_data,
1614 '_PVT');
1615 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1616 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1617 l_api_name,
1618 G_PKG_NAME,
1619 'OKL_API.G_RET_STS_UNEXP_ERROR',
1620 x_msg_count,
1621 x_msg_data,
1622 '_PVT');
1623 WHEN OTHERS THEN
1624 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1625 l_api_name,
1626 G_PKG_NAME,
1627 'OTHERS',
1628 x_msg_count,
1629 x_msg_data,
1630 '_PVT');
1631 End copy_party_pymt_dtls;
1632
1633 --Bug# 4558486
1634 Procedure copy_okl_k_party_roles
1635 (p_api_version IN NUMBER,
1636 p_init_msg_list IN VARCHAR2 ,
1637 x_return_status OUT NOCOPY VARCHAR2,
1638 x_msg_count OUT NOCOPY NUMBER,
1639 x_msg_data OUT NOCOPY VARCHAR2,
1640 p_kpl_id IN NUMBER,
1641 p_cpl_id IN NUMBER,
1642 x_kpl_id OUT NOCOPY NUMBER) IS
1643
1644 l_get_kplv_rec kplv_rec_type;
1645 l_kplv_rec kplv_rec_type;
1646 lx_kplv_rec kplv_rec_type;
1647
1648 l_return_status VARCHAR2(1) default OKL_API.G_RET_STS_SUCCESS;
1649 l_api_name CONSTANT varchar2(30) := 'COPY_OKL_K_PARTY_ROLES';
1650 l_api_version CONSTANT NUMBER := 1.0;
1651
1652 Begin
1653 x_return_status := OKL_API.G_RET_STS_SUCCESS;
1654 -- Call start_activity to create savepoint, check compatibility
1655 -- and initialize message list
1656 x_return_status := OKL_API.START_ACTIVITY (
1657 l_api_name
1658 ,p_init_msg_list
1659 ,'_PVT'
1660 ,x_return_status);
1661 -- Check if activity started successfully
1662 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1663 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1664 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1665 RAISE OKL_API.G_EXCEPTION_ERROR;
1666 END IF;
1667
1668 l_get_kplv_rec.id := p_kpl_id;
1669 l_kplv_rec := get_kplv_rec(p_kplv_rec => l_get_kplv_rec,
1670 x_return_status => x_return_status);
1671 l_kplv_rec.id := p_cpl_id;
1672
1673 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1674 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1675 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1676 RAISE OKL_API.G_EXCEPTION_ERROR;
1677 END IF;
1678
1679 OKL_KPL_PVT.insert_row
1680 (p_api_version => p_api_version,
1681 p_init_msg_list => p_init_msg_list,
1682 x_return_status => x_return_status,
1683 x_msg_count => x_msg_count,
1684 x_msg_data => x_msg_data,
1685 p_kplv_rec => l_kplv_rec,
1686 x_kplv_rec => lx_kplv_rec);
1687
1688 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1689 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1690 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1691 RAISE OKL_API.G_EXCEPTION_ERROR;
1692 END IF;
1693 x_kpl_id := lx_kplv_rec.id;
1694
1695 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data );
1696
1697 EXCEPTION
1698
1699 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1700 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1701 l_api_name,
1702 G_PKG_NAME,
1703 'OKL_API.G_RET_STS_ERROR',
1704 x_msg_count,
1705 x_msg_data,
1706 '_PVT');
1707 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1708 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1709 l_api_name,
1710 G_PKG_NAME,
1711 'OKL_API.G_RET_STS_UNEXP_ERROR',
1712 x_msg_count,
1713 x_msg_data,
1714 '_PVT');
1715 WHEN OTHERS THEN
1716 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
1717 l_api_name,
1718 G_PKG_NAME,
1719 'OTHERS',
1720 x_msg_count,
1721 x_msg_data,
1722 '_PVT');
1723 End copy_okl_k_party_roles;
1724 --Bug# 4558486
1725 --Bug# 3143522: 11.5.10 Subsidies
1726 --------------------------------------------------------------------------------
1727 -- Start of comments
1728 --
1729 -- Procedure Name : Catchup_okl_contract_line
1730 -- Description : Does a catchup for okl_k_lines. This will not be
1731 -- published
1732 -- Business Rules :
1733 -- Parameters :
1734 -- Version : 1.0
1735 -- Notes : just calls OKC_COPY_CONTRACT_PUB.copy_components.
1736 -- End of comments
1737 --------------------------------------------------------------------------------
1738 Procedure Catchup_okl_contract_line(
1739 p_api_version IN NUMBER,
1740 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1741 x_return_status OUT NOCOPY VARCHAR2,
1742 x_msg_count OUT NOCOPY NUMBER,
1743 x_msg_data OUT NOCOPY VARCHAR2,
1744 p_clev_id IN NUMBER,
1745 p_klev_id IN NUMBER,
1746 x_clev_rec OUT NOCOPY okl_okc_migration_pvt.clev_rec_type,
1747 x_klev_rec OUT NOCOPY klev_rec_type) is
1748
1749 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1750 l_api_name CONSTANT VARCHAR2(30) := 'CATCHUP_OKL_CONTRACT_LINE';
1751 l_api_version CONSTANT NUMBER := 1.0;
1752 l_clev_rec clev_rec_type;
1753 l_clev_rec_out clev_rec_type;
1754 l_klev_rec klev_rec_type;
1755
1756 begin
1757 -----
1758 -- Catch up shadow for Contract Lines
1759 l_clev_rec := get_clev_rec(p_clev_id => p_klev_id);
1760 -- get the newly created line record
1761 /*
1762 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1763 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1764 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1765 RAISE OKL_API.G_EXCEPTION_ERROR;
1766 END IF;
1767 */
1768 l_klev_rec := get_klev_rec(p_klev_id => p_clev_id);
1769 --get klev record to copy from
1770 l_klev_rec.id := p_klev_id;
1771
1772 OKL_CONTRACT_PUB.update_contract_line(
1773 p_api_version => p_api_version,
1774 p_init_msg_list => p_init_msg_list,
1775 x_return_status => l_return_status,
1776 x_msg_count => x_msg_count,
1777 x_msg_data => x_msg_data,
1778 p_clev_rec => l_clev_rec,
1779 p_klev_rec => l_klev_rec,
1780 x_clev_rec => l_clev_rec_out,
1781 x_klev_rec => x_klev_rec);
1782 -- check return status
1783 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1784 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1785 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
1786 raise OKL_API.G_EXCEPTION_ERROR;
1787 End If;
1788
1789 --Call End Activity
1790 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1791 x_msg_data => x_msg_data);
1792 EXCEPTION
1793 when OKL_API.G_EXCEPTION_ERROR then
1794 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1795 p_api_name => l_api_name,
1796 p_pkg_name => g_pkg_name,
1797 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1798 x_msg_count => x_msg_count,
1799 x_msg_data => x_msg_data,
1800 p_api_type => g_api_type);
1801
1802 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1803 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1804 p_api_name => l_api_name,
1805 p_pkg_name => g_pkg_name,
1806 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1807 x_msg_count => x_msg_count,
1808 x_msg_data => x_msg_data,
1809 p_api_type => g_api_type);
1810
1811 when OTHERS then
1812 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1813 p_api_name => l_api_name,
1814 p_pkg_name => g_pkg_name,
1815 p_exc_name => 'OTHERS',
1816 x_msg_count => x_msg_count,
1817 x_msg_data => x_msg_data,
1818 p_api_type => g_api_type);
1819 End CatchUp_okl_Contract_Line;
1820 FUNCTION is_copy_allowed(p_chr_id IN NUMBER,p_sts_code IN VARCHAR2 DEFAULT NULL) RETURN BOOLEAN IS
1821 BEGIN
1822 RETURN(OKC_COPY_CONTRACT_PUB.is_copy_allowed(p_chr_id,p_sts_code));
1823 END is_copy_allowed;
1824 -------
1825 FUNCTION is_subcontract_allowed(p_chr_id IN NUMBER,p_sts_code IN VARCHAR2) RETURN BOOLEAN IS
1826 BEGIN
1827 RETURN(OKC_COPY_CONTRACT_PUB.is_subcontract_allowed(p_chr_id,p_sts_code));
1828 END is_subcontract_allowed;
1829 -----
1830 FUNCTION update_target_contract(p_chr_id IN NUMBER) RETURN BOOLEAN IS
1831 BEGIN
1832 RETURN(OKC_COPY_CONTRACT_PUB.update_target_contract(p_chr_id));
1833 END update_target_contract;
1834 -----
1835 PROCEDURE derive_line_style(p_old_lse_id IN NUMBER,
1836 p_old_jtot_code IN VARCHAR2,
1837 p_new_subclass IN VARCHAR2,
1838 p_new_parent_lse IN NUMBER,
1839 x_new_lse_count OUT NOCOPY NUMBER,
1840 x_new_lse_ids OUT NOCOPY VARCHAR2) IS
1841 BEGIN
1842 OKC_COPY_CONTRACT_PVT.derive_line_style(
1843 p_old_lse_id => p_old_lse_id,
1844 p_old_jtot_code => p_old_jtot_code,
1845 p_new_subclass => p_new_subclass,
1846 p_new_parent_lse => p_new_parent_lse,
1847 x_new_lse_count => x_new_lse_count,
1848 x_new_lse_ids => x_new_lse_ids);
1849 END derive_line_style;
1850 --------------------------------------------------------------------------------
1851 -- Start of comments
1852 --
1853 -- Procedure Name : copy_components
1854 -- Description : copies components for shadowed contract. will be
1855 -- published in OKL_COPY_CONTRACTS_PUB
1856 -- Business Rules :
1857 -- Parameters :
1858 -- Version : 1.0
1859 -- Notes : just calls OKC_COPY_CONTRACT_PUB.copy_components.
1860 -- End of comments
1861 --------------------------------------------------------------------------------
1862 PROCEDURE copy_components(
1863 p_api_version IN NUMBER,
1864 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1865 x_return_status OUT NOCOPY VARCHAR2,
1866 x_msg_count OUT NOCOPY NUMBER,
1867 x_msg_data OUT NOCOPY VARCHAR2,
1868 p_from_chr_id IN NUMBER,
1869 p_to_chr_id IN NUMBER,
1870 p_contract_number IN VARCHAR2,
1871 p_contract_number_modifier IN VARCHAR2,
1872 p_to_template_yn IN VARCHAR2 DEFAULT 'N',
1873 p_copy_reference IN VARCHAR2 DEFAULT 'COPY',
1874 p_copy_line_party_yn IN VARCHAR2,
1875 p_scs_code IN VARCHAR2,
1876 p_intent IN VARCHAR2,
1877 p_prospect IN VARCHAR2,
1878 p_components_tbl IN api_components_tbl,
1879 p_lines_tbl IN api_lines_tbl,
1880 x_chr_id OUT NOCOPY NUMBER) is
1881 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1882 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_COMPONENTS';
1883 l_api_version CONSTANT NUMBER := 1.0;
1884
1885 l_components_tbl api_components_tbl_okc;
1886 l_lines_tbl api_lines_tbl_okc;
1887 begin
1888 -----
1889 --Call OKL_API.START_ACTIVITY to set savepoints
1890 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
1891 G_PKG_NAME,
1892 p_init_msg_list,
1893 G_API_VERSION,
1894 p_api_version,
1895 G_SCOPE,
1896 x_return_status);
1897
1898 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1899 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1900 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1901 RAISE OKL_API.G_EXCEPTION_ERROR;
1902 END IF;
1903
1904 l_components_tbl := migrate_components_tbl(p_components_tbl);
1905 l_lines_tbl := migrate_lines_tbl(p_lines_tbl);
1906 --Call OKC_CONTRACT_PUB.copy_components
1907 OKC_COPY_CONTRACT_PUB.copy_components(
1908 p_api_version => p_api_version,
1909 p_init_msg_list => p_init_msg_list,
1910 x_return_status => l_return_status,
1911 x_msg_count => x_msg_count,
1912 x_msg_data => x_msg_data,
1913 p_from_chr_id => p_from_chr_id,
1914 p_to_chr_id => p_to_chr_id,
1915 p_contract_number => p_contract_number,
1916 p_contract_number_modifier => p_contract_number_modifier,
1917 p_to_template_yn => p_to_template_yn,
1918 p_copy_reference => p_copy_reference,
1919 p_copy_line_party_yn => p_copy_line_party_yn,
1920 p_scs_code => p_scs_code,
1921 p_intent => p_intent,
1922 p_prospect => p_prospect,
1923 p_components_tbl => l_components_tbl,
1924 p_lines_tbl => l_lines_tbl,
1925 x_chr_id => x_chr_id);
1926
1927 -- check return status
1928 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
1929 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1930 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
1931 raise OKL_API.G_EXCEPTION_ERROR;
1932 End If;
1933
1934 --Call End Activity
1935 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1936 x_msg_data => x_msg_data);
1937 EXCEPTION
1938 when OKL_API.G_EXCEPTION_ERROR then
1939 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1940 p_api_name => l_api_name,
1941 p_pkg_name => g_pkg_name,
1942 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1943 x_msg_count => x_msg_count,
1944 x_msg_data => x_msg_data,
1945 p_api_type => g_api_type);
1946
1947 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
1948 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1949 p_api_name => l_api_name,
1950 p_pkg_name => g_pkg_name,
1951 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1952 x_msg_count => x_msg_count,
1953 x_msg_data => x_msg_data,
1954 p_api_type => g_api_type);
1955
1956 when OTHERS then
1957 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1958 p_api_name => l_api_name,
1959 p_pkg_name => g_pkg_name,
1960 p_exc_name => 'OTHERS',
1961 x_msg_count => x_msg_count,
1962 x_msg_data => x_msg_data,
1963 p_api_type => g_api_type);
1964 End copy_components;
1965
1966 ------------------------------------------------------------------------------
1967 -- PROCEDURE get_sll_rules
1968 --
1969 -- This procedure retrieves all SLL related to given SLH rule under LALEVL Category
1970 --
1971 -- Calls:
1972 -- Called By:
1973 ------------------------------------------------------------------------------
1974 PROCEDURE get_sll_rules(
1975 x_return_status OUT NOCOPY VARCHAR2,
1976 x_msg_count OUT NOCOPY NUMBER,
1977 x_msg_data OUT NOCOPY VARCHAR2,
1978 p_rgpv_rec IN rgpv_rec_type,
1979 p_rdf_code IN VARCHAR2,
1980 p_slh_id IN NUMBER,
1981 x_rulv_tbl OUT NOCOPY rulv_tbl_type,
1982 x_rule_count OUT NOCOPY NUMBER
1983 ) IS
1984 CURSOR okc_rulv_csr (p_rgp_id IN NUMBER,
1985 p_rdf_code IN VARCHAR2,
1986 p_slh_id IN NUMBER) IS
1987 SELECT
1988 ID,
1989 OBJECT_VERSION_NUMBER,
1990 SFWT_FLAG,
1991 OBJECT1_ID1,
1992 OBJECT2_ID1,
1993 OBJECT3_ID1,
1994 OBJECT1_ID2,
1995 OBJECT2_ID2,
1996 OBJECT3_ID2,
1997 JTOT_OBJECT1_CODE,
1998 JTOT_OBJECT2_CODE,
1999 JTOT_OBJECT3_CODE,
2000 DNZ_CHR_ID,
2001 RGP_ID,
2002 PRIORITY,
2003 STD_TEMPLATE_YN,
2004 COMMENTS,
2005 WARN_YN,
2006 ATTRIBUTE_CATEGORY,
2007 ATTRIBUTE1,
2008 ATTRIBUTE2,
2009 ATTRIBUTE3,
2010 ATTRIBUTE4,
2011 ATTRIBUTE5,
2012 ATTRIBUTE6,
2013 ATTRIBUTE7,
2014 ATTRIBUTE8,
2015 ATTRIBUTE9,
2016 ATTRIBUTE10,
2017 ATTRIBUTE11,
2018 ATTRIBUTE12,
2019 ATTRIBUTE13,
2020 ATTRIBUTE14,
2021 ATTRIBUTE15,
2022 CREATED_BY,
2023 CREATION_DATE,
2024 LAST_UPDATED_BY,
2025 LAST_UPDATE_DATE,
2026 LAST_UPDATE_LOGIN,
2027 --TEXT,
2028 RULE_INFORMATION_CATEGORY,
2029 RULE_INFORMATION1,
2030 RULE_INFORMATION2,
2031 RULE_INFORMATION3,
2032 RULE_INFORMATION4,
2033 RULE_INFORMATION5,
2034 RULE_INFORMATION6,
2035 RULE_INFORMATION7,
2036 RULE_INFORMATION8,
2037 RULE_INFORMATION9,
2038 RULE_INFORMATION10,
2039 RULE_INFORMATION11,
2040 RULE_INFORMATION12,
2041 RULE_INFORMATION13,
2042 RULE_INFORMATION14,
2043 RULE_INFORMATION15,
2044 TEMPLATE_YN,
2045 ans_set_jtot_object_code,
2046 ans_set_jtot_object_id1,
2047 ans_set_jtot_object_id2,
2048 DISPLAY_SEQUENCE
2049 FROM Okc_Rules_V
2050 WHERE okc_rules_v.rgp_id = p_rgp_id
2051 AND okc_rules_v.object2_id1 = p_slh_id
2052 AND RULE_INFORMATION_CATEGORY = DECODE(p_rdf_code,NULL,RULE_INFORMATION_CATEGORY,p_rdf_code);
2053
2054 l_rulv_rec rulv_rec_type;
2055 i NUMBER DEFAULT 0;
2056 l_proc_name VARCHAR2(35) := 'GET_SLL_RULES';
2057 BEGIN
2058 IF (G_DEBUG_ENABLED = 'Y') THEN
2059 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
2060 END IF;
2061
2062 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2063 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,l_proc_name);
2064 END IF;
2065 -- Get current database values
2066 OPEN okc_rulv_csr (p_rgpv_rec.id,
2067 p_rdf_code,
2068 p_slh_id);
2069 LOOP
2070 FETCH okc_rulv_csr INTO
2071 l_rulv_rec.ID,
2072 l_rulv_rec.OBJECT_VERSION_NUMBER,
2073 l_rulv_rec.SFWT_FLAG,
2074 l_rulv_rec.OBJECT1_ID1,
2075 l_rulv_rec.OBJECT2_ID1,
2076 l_rulv_rec.OBJECT3_ID1,
2077 l_rulv_rec.OBJECT1_ID2,
2078 l_rulv_rec.OBJECT2_ID2,
2079 l_rulv_rec.OBJECT3_ID2,
2080 l_rulv_rec.JTOT_OBJECT1_CODE,
2081 l_rulv_rec.JTOT_OBJECT2_CODE,
2082 l_rulv_rec.JTOT_OBJECT3_CODE,
2083 l_rulv_rec.DNZ_CHR_ID,
2084 l_rulv_rec.RGP_ID,
2085 l_rulv_rec.PRIORITY,
2086 l_rulv_rec.STD_TEMPLATE_YN,
2087 l_rulv_rec.COMMENTS,
2088 l_rulv_rec.WARN_YN,
2089 l_rulv_rec.ATTRIBUTE_CATEGORY,
2090 l_rulv_rec.ATTRIBUTE1,
2091 l_rulv_rec.ATTRIBUTE2,
2092 l_rulv_rec.ATTRIBUTE3,
2093 l_rulv_rec.ATTRIBUTE4,
2094 l_rulv_rec.ATTRIBUTE5,
2095 l_rulv_rec.ATTRIBUTE6,
2096 l_rulv_rec.ATTRIBUTE7,
2097 l_rulv_rec.ATTRIBUTE8,
2098 l_rulv_rec.ATTRIBUTE9,
2099 l_rulv_rec.ATTRIBUTE10,
2100 l_rulv_rec.ATTRIBUTE11,
2101 l_rulv_rec.ATTRIBUTE12,
2102 l_rulv_rec.ATTRIBUTE13,
2103 l_rulv_rec.ATTRIBUTE14,
2104 l_rulv_rec.ATTRIBUTE15,
2105 l_rulv_rec.CREATED_BY,
2106 l_rulv_rec.CREATION_DATE,
2107 l_rulv_rec.LAST_UPDATED_BY,
2108 l_rulv_rec.LAST_UPDATE_DATE,
2109 l_rulv_rec.LAST_UPDATE_LOGIN,
2110 --l_rulv_rec.TEXT,
2111 l_rulv_rec.RULE_INFORMATION_CATEGORY,
2112 l_rulv_rec.RULE_INFORMATION1,
2113 l_rulv_rec.RULE_INFORMATION2,
2114 l_rulv_rec.RULE_INFORMATION3,
2115 l_rulv_rec.RULE_INFORMATION4,
2116 l_rulv_rec.RULE_INFORMATION5,
2117 l_rulv_rec.RULE_INFORMATION6,
2118 l_rulv_rec.RULE_INFORMATION7,
2119 l_rulv_rec.RULE_INFORMATION8,
2120 l_rulv_rec.RULE_INFORMATION9,
2121 l_rulv_rec.RULE_INFORMATION10,
2122 l_rulv_rec.RULE_INFORMATION11,
2123 l_rulv_rec.RULE_INFORMATION12,
2124 l_rulv_rec.RULE_INFORMATION13,
2125 l_rulv_rec.RULE_INFORMATION14,
2126 l_rulv_rec.RULE_INFORMATION15,
2127 l_rulv_rec.TEMPLATE_YN,
2128 l_rulv_rec.ans_set_jtot_object_code,
2129 l_rulv_rec.ans_set_jtot_object_id1,
2130 l_rulv_rec.ans_set_jtot_object_id2,
2131 l_rulv_rec.DISPLAY_SEQUENCE ;
2132 EXIT WHEN okc_rulv_csr%NOTFOUND;
2133 i := okc_rulv_csr%RowCount;
2134 x_rulv_tbl(i) := l_rulv_rec;
2135 END LOOP;
2136 CLOSE okc_rulv_csr;
2137 x_rule_count := i;
2138
2139 RETURN;
2140
2141 END get_sll_rules;
2142
2143 ------------------------------------------------------------------------------
2144 -- PROCEDURE sync_slh_sll
2145 --
2146 -- This procedure synchronizes SLH and SLL Rules
2147 --
2148 -- Calls:
2149 -- Called By:
2150 ------------------------------------------------------------------------------
2151
2152 PROCEDURE sync_slh_sll(
2153 x_return_status OUT NOCOPY VARCHAR2,
2154 x_msg_count OUT NOCOPY NUMBER,
2155 x_msg_data OUT NOCOPY VARCHAR2,
2156 p_new_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
2157 p_old_rgp_id IN NUMBER,
2158 p_new_rgp_id IN NUMBER
2159 ) IS
2160
2161 l_proc_name VARCHAR2(35) := 'SYNC_SLH_SLL';
2162 sync_failed EXCEPTION;
2163
2164 x_new_rgpv_rec rgpv_rec_type;
2165 x_new_slh_rulv_rec rulv_rec_type;
2166
2167 x_slh_rulv_tbl rulv_tbl_type;
2168 x_slh_rule_count NUMBER;
2169
2170 x_sll_rulv_tbl rulv_tbl_type;
2171 x_sll_rule_count NUMBER;
2172
2173 x_rulv_rec rulv_rec_type;
2174
2175 l_old_rgpv_rec rgpv_rec_type;
2176 l_slh_rulv_rec rulv_rec_type;
2177 l_sll_rulv_rec rulv_rec_type;
2178
2179 l_rebook_rgp_id NUMBER;
2180 l_orig_rgp_id NUMBER;
2181
2182 l_rulv_tbl rulv_tbl_type;
2183 i NUMBER := 0;
2184
2185 CURSOR orig_cle_csr(p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2186 SELECT orig_system_id1
2187 FROM okc_k_lines_v
2188 WHERE id = p_cle_id;
2189
2190 CURSOR del_rgp_csr(p_chr_id OKC_K_HEADERS_V.ID%TYPE,
2191 p_rgp_id NUMBER) IS
2192 SELECT id
2193 FROM okc_rule_groups_v
2194 WHERE dnz_chr_id = p_chr_id
2195 AND id = p_rgp_id
2196 AND rgd_code = 'LALEVL';
2197
2198 CURSOR rule_csr(p_rgp_id NUMBER) IS
2199 SELECT id
2200 FROM okc_rules_v
2201 WHERE rgp_id = p_rgp_id
2202 --Bug# : 3124577 :11.5.10 Rule migration
2203 AND rule_information_category IN ('LASLH','LASLL');
2204 --AND rule_information_category IN ('SLH','SLL');
2205
2206 BEGIN
2207 IF (G_DEBUG_ENABLED = 'Y') THEN
2208 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
2209 END IF;
2210 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2211 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2212 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,l_proc_name);
2213 END IF;
2214
2215 -- Delete SLH, SLL from Original Contract
2216 i := 1;
2217
2218 FOR del_rgp_rec IN del_rgp_csr(p_new_chr_id,
2219 p_new_rgp_id)
2220 LOOP
2221 FOR rule_rec IN rule_csr(del_rgp_rec.id)
2222 LOOP
2223 l_rulv_tbl(i).id := rule_rec.id;
2224 i := i+ 1;
2225 END LOOP;
2226 END LOOP;
2227
2228 Okl_Rule_Pub.delete_rule(
2229 p_api_version => 1.0,
2230 p_init_msg_list => Okc_Api.G_FALSE,
2231 x_return_status => x_return_status,
2232 x_msg_count => x_msg_count,
2233 x_msg_data => x_msg_data,
2234 p_rulv_tbl => l_rulv_tbl
2235 );
2236 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2237 RAISE sync_failed;
2238 END IF;
2239
2240 l_old_rgpv_rec.id := p_old_rgp_id;
2241 --
2242 -- Get SLH Rule from OLD Contract
2243 --
2244 Okl_Rule_Apis_Pvt.Get_Contract_Rules(
2245 p_api_version => 1.0,
2246 p_init_msg_list => Okl_Api.G_FALSE,
2247 p_rgpv_rec => l_old_rgpv_rec,
2248 --Bug# 3124577: 11.5.10 Rule Migration
2249 p_rdf_code => 'LASLH',
2250 --p_rdf_code => 'SLH',
2251 x_return_status => x_return_status,
2252 x_msg_count => x_msg_count,
2253 x_msg_data => x_msg_data,
2254 x_rulv_tbl => x_slh_rulv_tbl,
2255 x_rule_count => x_slh_rule_count
2256 );
2257 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2258 RAISE sync_failed;
2259 END IF;
2260
2261 --x_slh_rulv_tbl_out := x_slh_rulv_tbl;
2262 --x_slh_count := x_slh_rule_count;
2263
2264 FOR i IN 1..x_slh_rule_count
2265 LOOP
2266 l_slh_rulv_rec := x_slh_rulv_tbl(i);
2267 l_slh_rulv_rec.rgp_id := p_new_rgp_id;
2268 l_slh_rulv_rec.dnz_chr_id := p_new_chr_id;
2269
2270 Okl_Rule_Pub.create_rule(
2271 p_api_version => 1.0,
2272 p_init_msg_list => Okc_Api.G_FALSE,
2273 x_return_status => x_return_status,
2274 x_msg_count => x_msg_count,
2275 x_msg_data => x_msg_data,
2276 p_rulv_rec => l_slh_rulv_rec,
2277 x_rulv_rec => x_new_slh_rulv_rec
2278 );
2279 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2280 x_return_status := Okc_Api.G_RET_STS_ERROR;
2281 RAISE sync_failed;
2282 END IF;
2283
2284 --
2285 -- Get SLL Rules from Header for a SLH
2286 --
2287 get_sll_rules(
2288 x_return_status => x_return_status,
2289 x_msg_count => x_msg_count,
2290 x_msg_data => x_msg_data,
2291 p_rgpv_rec => l_old_rgpv_rec,
2292 --Bug# 3124577 : 11.5.10 Rule Migration
2293 p_rdf_code => 'LASLL',
2294 --p_rdf_code => 'SLL',
2295 p_slh_id => x_slh_rulv_tbl(i).id,
2296 x_rulv_tbl => x_sll_rulv_tbl,
2297 x_rule_count => x_sll_rule_count
2298 );
2299 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2300 RAISE sync_failed;
2301 END IF;
2302
2303 --x_sll_rulv_tbl_out := x_sll_rulv_tbl;
2304 --x_sll_count := x_sll_rule_count;
2305
2306 -- Create a SLL rule under SLH created above
2307 FOR i IN 1..x_sll_rule_count
2308 LOOP
2309
2310 l_sll_rulv_rec := x_sll_rulv_tbl(i);
2311 l_sll_rulv_rec.rgp_id := p_new_rgp_id;
2312 l_sll_rulv_rec.object2_id1 := x_new_slh_rulv_rec.id;
2313 l_sll_rulv_rec.dnz_chr_id := p_new_chr_id;
2314
2315 Okl_Rule_Pub.create_rule(
2316 p_api_version => 1.0,
2317 p_init_msg_list => Okc_Api.G_FALSE,
2318 x_return_status => x_return_status,
2319 x_msg_count => x_msg_count,
2320 x_msg_data => x_msg_data,
2321 p_rulv_rec => l_sll_rulv_rec,
2322 x_rulv_rec => x_rulv_rec
2323 );
2324 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2325 x_return_status := Okc_Api.G_RET_STS_ERROR;
2326 RAISE sync_failed;
2327 END IF;
2328 END LOOP; -- SLL
2329
2330 END LOOP; -- SLH
2331
2332 EXCEPTION
2333 WHEN sync_failed THEN
2334 x_return_status := Okc_Api.G_RET_STS_ERROR;
2335 END sync_slh_sll;
2336 -- Start Bug 2376998
2337 ------------------------------------------------------------------------------
2338 -- PROCEDURE link_slh_sll
2339 --
2340 -- This procedure links SLH and SLL by calling sync_slh_sll at LINE level
2341 --
2342 -- Calls:
2343 -- Called By:
2344 ------------------------------------------------------------------------------
2345
2346 PROCEDURE link_slh_sll(
2347 x_return_status OUT NOCOPY VARCHAR2,
2348 x_msg_count OUT NOCOPY NUMBER,
2349 x_msg_data OUT NOCOPY VARCHAR2,
2350 p_old_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
2351 p_new_cle_id IN OKC_K_LINES_V.ID%TYPE,
2352 p_new_chr_id IN OKC_K_HEADERS_V.ID%TYPE
2353 ) IS
2354
2355 link_failed EXCEPTION;
2356
2357 CURSOR lalevl_csr (p_chr_id OKC_K_HEADERS_V.ID%TYPE,
2358 p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2359 SELECT id,
2360 cle_id
2361 FROM okc_rule_groups_v
2362 WHERE dnz_chr_id = p_chr_id
2363 AND cle_id = p_cle_id
2364 AND rgd_code = 'LALEVL';
2365
2366 CURSOR old_lalevl_csr (p_chr_id OKC_K_HEADERS_V.ID%TYPE,
2367 p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2368 SELECT id
2369 FROM okc_rule_groups_v
2370 WHERE dnz_chr_id = p_chr_id
2371 AND rgd_code = 'LALEVL'
2372 AND (cle_id = p_cle_id
2373 OR ( cle_id IS NULL
2374 AND
2375 p_cle_id IS NULL));
2376
2377 CURSOR old_line_csr (p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2378 SELECT orig_system_id1
2379 FROM OKC_K_LINES_V
2380 WHERE id = p_cle_id;
2381
2382 l_old_lalevl_id NUMBER;
2383 l_new_lalevl_id NUMBER;
2384 l_old_cle_id OKC_K_LINES_V.ID%TYPE;
2385 l_new_cle_id OKC_K_LINES_V.ID%TYPE;
2386
2387 BEGIN
2388
2389 FOR new_lalevl_rec IN lalevl_csr(p_new_chr_id,
2390 p_new_cle_id)
2391 LOOP
2392 l_new_lalevl_id := new_lalevl_rec.id;
2393 l_new_cle_id := new_lalevl_rec.cle_id;
2394
2395 l_old_cle_id := NULL;
2396 IF (l_new_cle_id IS NOT NULL) THEN
2397 OPEN old_line_csr (l_new_cle_id);
2398 FETCH old_line_csr INTO l_old_cle_id;
2399 CLOSE old_line_csr;
2400 END IF;
2401
2402 OPEN old_lalevl_csr(p_old_chr_id,
2403 l_old_cle_id);
2404 FETCH old_lalevl_csr INTO l_old_lalevl_id;
2405 CLOSE old_lalevl_csr;
2406
2407 sync_slh_sll(
2408 x_return_status => x_return_status,
2409 x_msg_count => x_msg_count,
2410 x_msg_data => x_msg_data,
2411 p_new_chr_id => p_new_chr_id,
2412 p_old_rgp_id => l_old_lalevl_id,
2413 p_new_rgp_id => l_new_lalevl_id
2414 );
2415 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2416 RAISE Okl_Api.G_EXCEPTION_ERROR;
2417 END IF;
2418 END LOOP;
2419
2420 EXCEPTION
2421 WHEN link_failed THEN
2422 x_return_status := OKC_API.G_RET_STS_ERROR;
2423 END link_slh_sll;
2424
2425 -- End Bug 2376998
2426 ------------------------------------------------------------------------------
2427 -- PROCEDURE link_slh_sll
2428 --
2429 -- This procedure links SLH and SLL by calling sync_slh_sll at header
2430 --
2431 -- Calls:
2432 -- Called By:
2433 ------------------------------------------------------------------------------
2434
2435 PROCEDURE link_slh_sll(
2436 x_return_status OUT NOCOPY VARCHAR2,
2437 x_msg_count OUT NOCOPY NUMBER,
2438 x_msg_data OUT NOCOPY VARCHAR2,
2439 p_old_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
2440 p_new_chr_id IN OKC_K_HEADERS_V.ID%TYPE
2441 ) IS
2442
2443 link_failed EXCEPTION;
2444
2445 CURSOR lalevl_csr (p_chr_id OKC_K_HEADERS_V.ID%TYPE) IS
2446 SELECT id,
2447 cle_id
2448 FROM okc_rule_groups_v
2449 WHERE dnz_chr_id = p_chr_id
2450 AND cle_id IS NULL -- Bug 2376998
2451 AND rgd_code = 'LALEVL';
2452
2453 CURSOR old_lalevl_csr (p_chr_id OKC_K_HEADERS_V.ID%TYPE,
2454 p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2455 SELECT id
2456 FROM okc_rule_groups_v
2457 WHERE dnz_chr_id = p_chr_id
2458 AND rgd_code = 'LALEVL'
2459 AND (cle_id = p_cle_id
2460 OR ( cle_id IS NULL
2461 AND
2462 p_cle_id IS NULL));
2463
2464 CURSOR old_line_csr (p_cle_id OKC_K_LINES_V.ID%TYPE) IS
2465 SELECT orig_system_id1
2466 FROM OKC_K_LINES_V
2467 WHERE id = p_cle_id;
2468
2469 l_old_lalevl_id NUMBER;
2470 l_new_lalevl_id NUMBER;
2471 l_old_cle_id OKC_K_LINES_V.ID%TYPE;
2472 l_new_cle_id OKC_K_LINES_V.ID%TYPE;
2473
2474 BEGIN
2475
2476 FOR new_lalevl_rec IN lalevl_csr(p_new_chr_id)
2477 LOOP
2478 l_new_lalevl_id := new_lalevl_rec.id;
2479 l_new_cle_id := new_lalevl_rec.cle_id;
2480
2481 l_old_cle_id := NULL;
2482 IF (l_new_cle_id IS NOT NULL) THEN
2483 OPEN old_line_csr (l_new_cle_id);
2484 FETCH old_line_csr INTO l_old_cle_id;
2485 CLOSE old_line_csr;
2486 END IF;
2487
2488 OPEN old_lalevl_csr(p_old_chr_id,
2489 l_old_cle_id);
2490 FETCH old_lalevl_csr INTO l_old_lalevl_id;
2491 CLOSE old_lalevl_csr;
2492
2493 sync_slh_sll(
2494 x_return_status => x_return_status,
2495 x_msg_count => x_msg_count,
2496 x_msg_data => x_msg_data,
2497 p_new_chr_id => p_new_chr_id,
2498 p_old_rgp_id => l_old_lalevl_id,
2499 p_new_rgp_id => l_new_lalevl_id
2500 );
2501 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2502 raise OKL_API.G_EXCEPTION_ERROR;
2503 END IF;
2504 END LOOP;
2505
2506 EXCEPTION
2507 WHEN link_failed THEN
2508 x_return_status := OKC_API.G_RET_STS_ERROR;
2509 END link_slh_sll;
2510 --------------------------------------------------------------------------------
2511 -- Start of comments
2512 --Bug# 2522268
2513 -- Procedure Name : cleanup_abandoned_lines
2514 -- Description : Local Procedure Will be called from copy_contract
2515 -- to delete any ABANDONED lines copied on to the contract
2516 -- Business Rules : Takes in chr_id of the copied contract and physically
2517 -- deletes(delete cascade) all the lines which appear as
2518 -- logically deleted on parent (source) contract.
2519 -- Parameters :
2520 -- Version : 1.0
2521 -- Notes :
2522 -- End of comments
2523 --------------------------------------------------------------------------------
2524 PROCEDURE cleanup_abandoned_lines(p_api_version IN NUMBER,
2525 p_init_msg_list IN VARCHAR2,
2526 x_return_status OUT NOCOPY VARCHAR2,
2527 x_msg_count OUT NOCOPY NUMBER,
2528 x_msg_data OUT NOCOPY VARCHAR2,
2529 p_chr_id IN NUMBER) is
2530 --Cursor for abandoned parent top lines
2531 CURSOR abnd_tls_csr(p_copied_chr_id IN NUMBER) IS
2532 Select cle.id,
2533 cle.orig_system_id1
2534 from OKC_K_LINES_B cle_parent,
2535 OKC_LINE_STYLES_B cle_parent_lse,
2536 OKC_K_LINES_B cle
2537 WHERE cle_parent.id = cle.orig_system_id1
2538 AND cle_parent.lse_id = cle_parent_lse.id
2539 AND cle_parent.sts_code = 'ABANDONED'
2540 AND cle_parent_lse.lse_type = 'TLS'
2541 AND cle.dnz_chr_id = p_copied_chr_id;
2542
2543 --Cursor for abandoned orphan sub-lines
2544 CURSOR abnd_sls_csr(p_copied_chr_id IN NUMBER) IS
2545 Select cle.id,
2546 cle.orig_system_id1
2547 from OKC_K_LINES_B cle_parent,
2548 OKC_LINE_STYLES_B cle_parent_lse,
2549 OKC_K_LINES_B cle
2550 WHERE cle_parent.id = cle.orig_system_id1
2551 AND cle_parent.lse_id = cle_parent_lse.id
2552 AND cle_parent.sts_code = 'ABANDONED'
2553 AND cle_parent_lse.lse_type = 'SLS'
2554 AND cle.dnz_chr_id = p_copied_chr_id;
2555
2556 l_cle_id OKC_K_LINES_B.ID%TYPE;
2557 l_source_cle_id OKC_K_LINES_B.ID%TYPE;
2558 l_chr_id OKC_K_HEADERS_B.ID%TYPE;
2559
2560 Begin
2561 x_return_status := OKL_API.G_RET_STS_SUCCESS;
2562 l_chr_id := p_chr_id;
2563 OPEN abnd_tls_csr(p_copied_chr_id => l_chr_id);
2564 LOOP
2565 FETCH abnd_tls_csr into l_cle_id, l_source_cle_id;
2566 EXIT WHEN abnd_tls_csr%NOTFOUND;
2567 OKL_CONTRACT_PUB.delete_contract_line(
2568 p_api_version => p_api_version,
2569 p_init_msg_list => p_init_msg_list,
2570 x_return_status => x_return_status,
2571 x_msg_count => x_msg_count,
2572 x_msg_data => x_msg_data,
2573 p_line_id => l_cle_id);
2574 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2575 RAISE G_EXCEPTION_HALT_PROCESS;
2576 End If;
2577 END LOOP;
2578 CLOSE abnd_tls_csr;
2579
2580 OPEN abnd_sls_csr(p_copied_chr_id => l_chr_id);
2581 LOOP
2582 FETCH abnd_sls_csr into l_cle_id, l_source_cle_id;
2583 EXIT WHEN abnd_sls_csr%NOTFOUND;
2584 OKL_CONTRACT_PUB.delete_contract_line(
2585 p_api_version => p_api_version,
2586 p_init_msg_list => p_init_msg_list,
2587 x_return_status => x_return_status,
2588 x_msg_count => x_msg_count,
2589 x_msg_data => x_msg_data,
2590 p_line_id => l_cle_id);
2591 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2592 RAISE G_EXCEPTION_HALT_PROCESS;
2593 End If;
2594 END LOOP;
2595 CLOSE abnd_sls_csr;
2596 EXCEPTION
2597 WHEN G_EXCEPTION_HALT_PROCESS Then
2598 --just return back the return status with message stack;
2599 Null;
2600 If abnd_tls_csr%ISOPEN Then
2601 CLOSE abnd_tls_csr;
2602 End If;
2603 If abnd_sls_csr%ISOPEN Then
2604 CLOSE abnd_sls_csr;
2605 End If;
2606 WHEN OTHERS Then
2607 If abnd_tls_csr%ISOPEN Then
2608 CLOSE abnd_tls_csr;
2609 End If;
2610 If abnd_sls_csr%ISOPEN Then
2611 CLOSE abnd_sls_csr;
2612 End If;
2613 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2614 End cleanup_abandoned_lines;
2615
2616 --
2617 --Bug# 2522268 End
2618 --
2619
2620 --------------------------------------------------------------------------------
2621 -- Start of comments
2622 --Bug# 2522268
2623 -- Procedure Name : cleanup_rollover_lines
2624 -- Description : Local Procedure Will be called from copy_contract
2625 -- to delete any Rollover lines copied on to the contract
2626 -- Business Rules : Takes in chr_id of the copied contract and physically
2627 -- deletes(delete cascade) all the lines which appear as
2628 -- logically deleted on parent (source) contract.
2629 -- Parameters :
2630 -- Version : 1.0
2631 -- Notes :
2632 -- End of comments
2633 --------------------------------------------------------------------------------
2634 PROCEDURE cleanup_rollover_lines(p_api_version IN NUMBER,
2635 p_init_msg_list IN VARCHAR2,
2636 x_return_status OUT NOCOPY VARCHAR2,
2637 x_msg_count OUT NOCOPY NUMBER,
2638 x_msg_data OUT NOCOPY VARCHAR2,
2639 p_chr_id IN NUMBER) is
2640 --Cursor for rollover parent top lines
2641 CURSOR roll_tls_csr(p_copied_chr_id IN NUMBER) IS
2642 Select cle.id, cle.orig_system_id1
2643 from OKC_K_LINES_B cle_parent,
2644 OKC_LINE_STYLES_B cle_parent_lse,
2645 OKC_K_LINES_B cle,
2646 okl_k_lines kle_parent
2647 WHERE cle_parent.id = kle_parent.id
2648 AND cle_parent.id = cle.orig_system_id1
2649 AND cle_parent.lse_id = cle_parent_lse.id
2650 AND kle_parent.fee_type = 'ROLLOVER'
2651 AND cle_parent_lse.lse_type = 'TLS'
2652 AND cle.dnz_chr_id = p_copied_chr_id;
2653
2654 l_cle_id OKC_K_LINES_B.ID%TYPE;
2655 l_source_cle_id OKC_K_LINES_B.ID%TYPE;
2656 l_chr_id OKC_K_HEADERS_B.ID%TYPE;
2657
2658 Begin
2659 x_return_status := OKL_API.G_RET_STS_SUCCESS;
2660 l_chr_id := p_chr_id;
2661 OPEN roll_tls_csr(p_copied_chr_id => l_chr_id);
2662 LOOP
2663 FETCH roll_tls_csr into l_cle_id, l_source_cle_id;
2664 EXIT WHEN roll_tls_csr%NOTFOUND;
2665 OKL_CONTRACT_PUB.delete_contract_line(
2666 p_api_version => p_api_version,
2667 p_init_msg_list => p_init_msg_list,
2668 x_return_status => x_return_status,
2669 x_msg_count => x_msg_count,
2670 x_msg_data => x_msg_data,
2671 p_line_id => l_cle_id);
2672 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
2673 RAISE G_EXCEPTION_HALT_PROCESS;
2674 End If;
2675 END LOOP;
2676 CLOSE roll_tls_csr;
2677
2678 EXCEPTION
2679 WHEN G_EXCEPTION_HALT_PROCESS Then
2680 --just return back the return status with message stack;
2681 Null;
2682 If roll_tls_csr%ISOPEN Then
2683 CLOSE roll_tls_csr;
2684 End If;
2685 WHEN OTHERS Then
2686 If roll_tls_csr%ISOPEN Then
2687 CLOSE roll_tls_csr;
2688 End If;
2689 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2690 End cleanup_rollover_lines;
2691
2692
2693 -- bug 3630858
2694 --------------------------------------------------------------------------------
2695 -- Start of comments
2696 --
2697 -- Procedure Name : copy_product_options
2698 -- Description : copies contract product option.
2699 -- published in OKL_COPY_CONTRACTS_PUB
2700 -- Business Rules :
2701 -- Parameters :
2702 -- Version : 1.0
2703 -- Notes :
2704 -- End of comments
2705 --------------------------------------------------------------------------------
2706 PROCEDURE copy_product_options
2707 (p_api_version IN NUMBER,
2708 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2709 x_return_status OUT NOCOPY VARCHAR2,
2710 x_msg_count OUT NOCOPY NUMBER,
2711 x_msg_data OUT NOCOPY VARCHAR2,
2712 p_new_khr_id IN NUMBER,
2713 p_cspv_id IN NUMBER,
2714 x_cspv_id OUT NOCOPY NUMBER
2715 ) IS
2716 --local variables
2717 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2718 l_api_name CONSTANT VARCHAR2(30) := 'COPY_PRODUCT_OPTIONS';
2719 l_api_version CONSTANT NUMBER := 1.0;
2720 l_cspv_id NUMBER;
2721 p_cspv_rec cspv_rec_type;
2722 l_cspv_rec cspv_rec_type;
2723 lx_cspv_rec cspv_rec_type;
2724
2725
2726 Begin
2727 x_return_status := OKL_API.G_RET_STS_SUCCESS;
2728 -- Call start_activity to create savepoint, check compatibility
2729 -- and initialize message list
2730 x_return_status := OKL_API.START_ACTIVITY (
2731 l_api_name
2732 ,p_init_msg_list
2733 ,'_PVT'
2734 ,x_return_status);
2735 -- Check if activity started successfully
2736 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2737 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2738 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2739 RAISE OKL_API.G_EXCEPTION_ERROR;
2740 END IF;
2741
2742 l_cspv_id := p_cspv_id;
2743 l_cspv_rec := get_cspv_rec(p_cspv_rec_id => l_cspv_id,
2744 x_return_status => x_return_status
2745 );
2746
2747 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2748 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2749 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2750 RAISE OKL_API.G_EXCEPTION_ERROR;
2751 END IF;
2752
2753 --create selected product options
2754 l_cspv_rec.khr_id := p_new_khr_id;
2755 l_cspv_rec.id := null;
2756
2757 OKL_CSP_PVT.insert_row
2758 (p_api_version => p_api_version,
2759 p_init_msg_list => p_init_msg_list,
2760 x_return_status => x_return_status,
2761 x_msg_count => x_msg_count,
2762 x_msg_data => x_msg_data,
2763 p_cspv_rec => l_cspv_rec,
2764 x_cspv_rec => lx_cspv_rec);
2765
2766 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2767 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2768 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2769 RAISE OKL_API.G_EXCEPTION_ERROR;
2770 END IF;
2771
2772 x_cspv_id := lx_cspv_rec.id;
2773
2774 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data );
2775
2776 EXCEPTION
2777
2778 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2779 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2780 l_api_name,
2781 G_PKG_NAME,
2782 'OKL_API.G_RET_STS_ERROR',
2783 x_msg_count,
2784 x_msg_data,
2785 '_PVT');
2786 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2787 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
2788 l_api_name,
2789 G_PKG_NAME,
2790 'OKL_API.G_RET_STS_UNEXP_ERROR',
2791 x_msg_count,
2792 x_msg_data,
2793 '_PVT');
2794 WHEN OTHERS THEN
2795 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
2796 l_api_name,
2797 G_PKG_NAME,
2798 'OTHERS',
2799 x_msg_count,
2800 x_msg_data,
2801 '_PVT');
2802
2803 END copy_product_options;
2804
2805 -- bug 3630858 end
2806
2807
2808 --------------------------------------------------------------------------------
2809 -- Start of comments
2810 --
2811 -- Procedure Name : copy_contract
2812 -- Description : copies contract. will be
2813 -- published in OKL_COPY_CONTRACTS_PUB
2814 -- Business Rules :
2815 -- Parameters :
2816 -- Version : 1.0
2817 -- Notes :
2818 -- End of comments
2819 --------------------------------------------------------------------------------
2820 PROCEDURE copy_contract(
2821 p_api_version IN NUMBER,
2822 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2823 x_return_status OUT NOCOPY VARCHAR2,
2824 x_msg_count OUT NOCOPY NUMBER,
2825 x_msg_data OUT NOCOPY VARCHAR2,
2826 p_commit IN VARCHAR2 DEFAULT 'F',
2827 p_chr_id IN NUMBER,
2828 p_contract_number IN VARCHAR2,
2829 p_contract_number_modifier IN VARCHAR2,
2830 p_to_template_yn IN VARCHAR2 DEFAULT 'N',
2831 p_renew_ref_yn IN VARCHAR2,
2832 p_copy_lines_yn IN VARCHAR2,
2833 p_override_org IN VARCHAR2 DEFAULT 'N',
2834 x_chr_id OUT NOCOPY NUMBER) IS
2835 --local variables
2836 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2837 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_CONTRACT';
2838 l_api_version CONSTANT NUMBER := 1.0;
2839 l_chrv_rec chrv_rec_type;
2840 l_chrv_rec_out chrv_rec_type;
2841 l_khrv_rec khrv_rec_type;
2842 l_khrv_rec_out khrv_rec_type;
2843 l_clev_rec clev_rec_type;
2844 l_klev_rec klev_rec_type;
2845 l_klev_rec_out klev_rec_type;
2846 l_chr_id NUMBER;
2847 l_chr_id_2 NUMBER;
2848 l_clev_id NUMBER;
2849 l_klev_id NUMBER;
2850 l_clev_rec_out clev_rec_type;
2851
2852 Cursor l_clev_cur (l_chr_id IN Number) is
2853 Select Orig_System_Id1,id
2854 From OKC_K_LINES_V
2855 Where dnz_chr_id = l_chr_id;
2856
2857 --This is modified to take care of the patch in OKC which has included
2858 --original source line id with the new line id
2859
2860 --bug # 2659592
2861 --with overide flag as 'N' okc_copy api sets the
2862 --okc_vontext.organization id to profile value OE: Item validation Organization
2863 --which could be different from OKL: Contract Items Inventory Organization
2864 --there by causing incompatible organization error while copy
2865 --thus OKL copy will always call OKC copy with p_override_org as 'Y'.
2866 l_override_org Varchar2(1) default 'Y';
2867
2868 --Bug# 3143522 : 11.5.10 Subsidies
2869 --cursor to get header party payment dtls
2870 cursor l_hdrpyd_csr (p_old_chr_id in number,
2871 p_new_chr_id in number) is
2872 select pyd_old.id pyd_id,
2873 cpl_new.id cpl_id
2874 from okl_party_payment_dtls pyd_old,
2875 okc_k_party_roles_b cpl_old,
2876 okc_k_party_roles_b cpl_new
2877 where pyd_old.cpl_id = cpl_old.id
2878 and cpl_old.chr_id = p_old_chr_id
2879 and cpl_old.dnz_chr_id = p_old_chr_id
2880 and cpl_new.chr_id = p_new_chr_id
2881 and cpl_new.dnz_chr_id = p_new_chr_id
2882 and cpl_old.rle_code = cpl_new.rle_code
2883 and cpl_old.jtot_object1_code = cpl_new.jtot_object1_code
2884 and cpl_old.object1_id1 = cpl_new.object1_id1
2885 and cpl_old.object1_id2 = cpl_new.object1_id2;
2886
2887
2888 cursor l_clepyd_csr (p_old_chr_id in number,
2889 p_new_chr_id in number,
2890 p_old_cle_id in number,
2891 p_new_cle_id in number
2892 ) is
2893 select pyd_old.id pyd_id,
2894 cpl_new.id cpl_id
2895 from okl_party_payment_dtls pyd_old,
2896 okc_k_party_roles_b cpl_old,
2897 okc_k_party_roles_b cpl_new
2898 where pyd_old.cpl_id = cpl_old.id
2899 and cpl_old.cle_id = p_old_cle_id
2900 and cpl_old.dnz_chr_id = p_old_chr_id
2901 and cpl_new.cle_id = p_new_cle_id
2902 and cpl_new.dnz_chr_id = p_new_chr_id
2903 and cpl_old.rle_code = cpl_new.rle_code
2904 and cpl_old.jtot_object1_code = cpl_new.jtot_object1_code
2905 and cpl_old.object1_id1 = cpl_new.object1_id1
2906 and cpl_old.object1_id2 = cpl_new.object1_id2;
2907
2908 -- Bug 3630858
2909 cursor l_product_options_csr(p_old_chr_id number) IS
2910 select cspv.id
2911 from OKL_SLCTD_OPTNS_V cspv
2912 where cspv.khr_id = p_old_chr_id;
2913
2914 l_pyd_id okl_party_payment_dtls.ID%TYPE;
2915 lx_pyd_id okl_party_payment_dtls.ID%TYPE;
2916 l_cpl_id okc_k_party_roles_b.ID%TYPE;
2917 -- Bug 3630858
2918 l_cspv_id okl_slctd_optns_v.ID%TYPE;
2919 lx_cspv_id okl_slctd_optns_v.ID%TYPE;
2920
2921 ---------------------
2922 --Bug# 3143522
2923 -----------------------
2924 Begin
2925 -----
2926 --Call OKL_API.START_ACTIVITY to set savepoints
2927 --dbms_output.put_line('before call to start activity '||to_char(p_chr_id));
2928 --dbms_output.put_line(l_api_name||G_SCOPE);
2929 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
2930 G_PKG_NAME,
2931 p_init_msg_list,
2932 G_API_VERSION,
2933 p_api_version,
2934 G_SCOPE,
2935 x_return_status);
2936 --dbms_output.put_line('after call to start activity '||to_char(p_chr_id));
2937 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2938 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2939 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2940 RAISE OKL_API.G_EXCEPTION_ERROR;
2941 END IF;
2942 --Call OKC_COPY_CONTRACT_PUB.Copy_Contract
2943 --dbms_output.put_line('before okc_copy p_chr_id '||to_char(p_chr_id));
2944 OKC_COPY_CONTRACT_PUB.copy_contract(
2945 p_api_version => p_api_version,
2946 p_init_msg_list => p_init_msg_list,
2947 x_return_status => l_return_status,
2948 x_msg_count => x_msg_count,
2949 x_msg_data => x_msg_data ,
2950 p_commit => p_commit,
2951 p_chr_id => p_chr_id,
2952 p_contract_number => p_contract_number,
2953 p_contract_number_modifier => P_contract_number_modifier,
2954 p_to_template_yn => p_to_template_yn,
2955 p_renew_ref_yn => p_renew_ref_yn,
2956 p_copy_lines_yn => p_copy_lines_yn,
2957 --bug # 2659592
2958 --p_override_org => p_override_org,
2959 p_override_org => l_override_org,
2960 x_chr_id => x_chr_id);
2961
2962 --dbms_output.put_line('Chr id after copy to okc header '||to_char(x_chr_id));
2963 --dbms_output.put_line('Return Status copy to okc header '||l_return_status||' '||x_msg_data);
2964 -- check return status
2965 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
2966 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2967 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
2968 raise OKL_API.G_EXCEPTION_ERROR;
2969 End If;
2970 --------------------------------------------------------------------------------
2971 --Catch Up Shadow for Contract Header :
2972 l_chr_id_2 := x_chr_id;
2973 l_chrv_rec := get_chrv_rec(l_chr_id_2);
2974 l_khrv_rec := get_khrv_rec(p_chr_id);
2975 --dbms_output.put_line(' chr id after fetch '||l_chrv_rec.id);
2976 --dbms_output.put_line(' khr id after fetch '||l_khrv_rec.id);
2977 --If OKL does not have a shadow do not proceed to
2978 --catchup on shadow
2979 If l_khrv_rec.id = OKL_API.G_MISS_NUM then
2980 null;
2981 Else
2982 l_khrv_rec.id := x_chr_id;
2983 -- Create record into okl_contract_header
2984 OKL_CONTRACT_PUB.update_contract_header(
2985 p_api_version => p_api_version,
2986 p_init_msg_list => p_init_msg_list,
2987 x_return_status => l_return_status,
2988 x_msg_count => x_msg_count,
2989 x_msg_data => x_msg_data,
2990 p_restricted_update => OKL_API.G_FALSE,
2991 p_chrv_rec => l_chrv_rec,
2992 p_khrv_rec => l_khrv_rec,
2993 x_chrv_rec => l_chrv_rec_out,
2994 x_khrv_rec => l_khrv_rec_out);
2995 --dbms_output.put_line('return status '||l_return_status);
2996 --dbms_output.put_line('After create okl record okc hdr id'||to_char(l_chrv_rec_out.id));
2997 -- check return status
2998 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
2999 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3000 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3001 raise OKL_API.G_EXCEPTION_ERROR;
3002 End If;
3003
3004 --------------------------------------------------------------------------------------
3005 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3006 --------------------------------------------------------------------------------------
3007 open l_hdrpyd_csr (p_new_chr_id => x_chr_id,
3008 p_old_chr_id => p_chr_id);
3009
3010 loop
3011 fetch l_hdrpyd_csr into l_pyd_id, l_cpl_id;
3012 Exit when l_hdrpyd_csr%NOTFOUND;
3013 -------------------------------------------------
3014 --call local api to copy party payment details
3015 -------------------------------------------------
3016 copy_party_pymt_dtls
3017 (p_api_version => p_api_version,
3018 p_init_msg_list => p_init_msg_list,
3019 x_return_status => x_return_status,
3020 x_msg_count => x_msg_count,
3021 x_msg_data => x_msg_data,
3022 p_pyd_id => l_pyd_id,
3023 p_cpl_id => l_cpl_id,
3024 x_pyd_id => lx_pyd_id);
3025
3026
3027
3028 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3029 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3030 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3031 RAISE OKL_API.G_EXCEPTION_ERROR;
3032 END IF;
3033
3034 End Loop;
3035 Close l_hdrpyd_csr;
3036
3037 --------------------------------------------------------------------------------------
3038 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3039 --------------------------------------------------------------------------------------
3040
3041 --call local API for creation of party payment details
3042 IF p_copy_lines_yn = 'Y' Then
3043 -- Catch up shadow for Contract Lines
3044 Open l_clev_cur(x_chr_id);
3045 Loop
3046 Fetch l_clev_cur into l_clev_id,l_klev_id;
3047 --dbms_output.put_line('Before Catchup Contract Lines ');
3048 Exit when l_clev_cur%NotFound;
3049 Catchup_okl_contract_line(
3050 p_api_version => p_api_version,
3051 p_init_msg_list => p_init_msg_list,
3052 x_return_status => l_return_status,
3053 x_msg_count => x_msg_count,
3054 x_msg_data => x_msg_data,
3055 p_clev_id => l_clev_id,
3056 p_klev_id => l_klev_id,
3057 x_clev_rec => l_clev_rec_out,
3058 x_klev_rec => l_klev_rec_out
3059 );
3060 -- check return status
3061 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3062 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3063 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3064 raise OKL_API.G_EXCEPTION_ERROR;
3065 End If;
3066
3067 --------------------------------------------------------------------------------------
3068 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3069 --------------------------------------------------------------------------------------
3070 open l_clepyd_csr (p_new_chr_id => x_chr_id,
3071 p_old_chr_id => p_chr_id,
3072 p_new_cle_id => l_klev_id,
3073 p_old_cle_id => l_clev_id);
3074
3075 loop
3076 fetch l_clepyd_csr into l_pyd_id, l_cpl_id;
3077 Exit when l_clepyd_csr%NOTFOUND;
3078 -------------------------------------------------
3079 --call local api to copy party payment details
3080 -------------------------------------------------
3081 copy_party_pymt_dtls
3082 (p_api_version => p_api_version,
3083 p_init_msg_list => p_init_msg_list,
3084 x_return_status => x_return_status,
3085 x_msg_count => x_msg_count,
3086 x_msg_data => x_msg_data,
3087 p_pyd_id => l_pyd_id,
3088 p_cpl_id => l_cpl_id,
3089 x_pyd_id => lx_pyd_id);
3090
3091
3092
3093 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3094 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3095 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3096 RAISE OKL_API.G_EXCEPTION_ERROR;
3097 END IF;
3098
3099 End Loop;
3100 Close l_clepyd_csr;
3101
3102 --------------------------------------------------------------------------------------
3103 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3104 --------------------------------------------------------------------------------------
3105 End Loop;
3106 Close l_clev_cur;
3107
3108 --
3109 --Bug# 2522268 : Physically delete all the lines with source lines having
3110 -- abandoned status
3111 cleanup_abandoned_lines(p_api_version => p_api_version,
3112 p_init_msg_list => p_init_msg_list,
3113 x_return_status => x_return_Status,
3114 x_msg_count => x_msg_count,
3115 x_msg_data => x_msg_data,
3116 p_chr_id => x_chr_id);
3117 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3118 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3119 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
3120 raise OKL_API.G_EXCEPTION_ERROR;
3121 End If;
3122 --
3123 --Bug# 2522268 End
3124 --
3125
3126 End If;
3127 End If;
3128
3129 --
3130 -- Special Process for LALEVL (SLH, SLL) rules
3131 --
3132
3133 link_slh_sll(
3134 x_return_status => l_return_status,
3135 x_msg_count => x_msg_count,
3136 x_msg_data => x_msg_data,
3137 p_old_chr_id => p_chr_id,
3138 p_new_chr_id => x_chr_id
3139 );
3140
3141
3142 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3143 RAISE OKL_API.G_EXCEPTION_ERROR;
3144 END IF;
3145 --Call OKC_COPY_CONTRACT_PUB.Copy_Components
3146 -- do not do this again as this might already be done as part of OKC_COPY_CONTRACT
3147 /*
3148 OKC_COPY_CONTRACT_PUB.Copy_Components(
3149 p_api_version => p_api_version,
3150 p_init_msg_list => p_init_msg_list,
3151 x_return_status => l_return_status,
3152 x_msg_count => x_msg_count,
3153 x_msg_data => x_msg_data,
3154 p_from_chr_id => p_chr_id,
3155 p_to_chr_id => x_chr_id,
3156 p_contract_number => p_contract_number,
3157 p_contract_number_modifier => p_contract_number_modifier,
3158 p_to_template_yn => p_to_template_yn,
3159 p_copy_reference => p_copy_reference,
3160 p_copy_line_party_yn => p_copy_line_party_yn,
3161 p_scs_code => p_scs_code,
3162 p_intent => p_intent,
3163 p_prospect => p_prospect,
3164 p_components_tbl => p_components_tbl,
3165 p_lines_tbl => p_lines_tbl,
3166 x_chr_id => l_chr_id);
3167 -- check return status
3168 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3169 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3170 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3171 raise OKL_API.G_EXCEPTION_ERROR;
3172 End If;
3173 */
3174
3175
3176 --------------------------------------------------------------------------------------
3177 --BUG# 3630858 : copy product options
3178 --------------------------------------------------------------------------------------
3179 open l_product_options_csr(p_old_chr_id => p_chr_id);
3180
3181 loop
3182 fetch l_product_options_csr into l_cspv_id;
3183 Exit when l_product_options_csr%NOTFOUND;
3184 ----------------------------------------------------
3185 --call local api to copy contract product options
3186 ----------------------------------------------------
3187 copy_product_options
3188 (p_api_version => p_api_version,
3189 p_init_msg_list => p_init_msg_list,
3190 x_return_status => x_return_status,
3191 x_msg_count => x_msg_count,
3192 x_msg_data => x_msg_data,
3193 p_new_khr_id => x_chr_id,
3194 p_cspv_id => l_cspv_id,
3195 x_cspv_id => lx_cspv_id
3196 );
3197
3198 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3199 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3200 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3201 RAISE OKL_API.G_EXCEPTION_ERROR;
3202 END IF;
3203
3204 End Loop;
3205 Close l_product_options_csr;
3206
3207 --Call End Activity
3208 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3209 EXCEPTION
3210 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3211 If l_hdrpyd_csr%ISOPEN then
3212 close l_hdrpyd_csr;
3213 End If;
3214 If l_clepyd_csr%ISOPEN then
3215 close l_clepyd_csr;
3216 End If;
3217 --dbms_output.put_line('identified error');
3218 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3219 (substr(l_api_name,1,26),
3220 G_PKG_NAME,
3221 'OKL_API.G_RET_STS_ERROR',
3222 x_msg_count,
3223 x_msg_data,
3224 G_SCOPE);
3225 -- Resetting the global transaction id.
3226 okc_cvm_pvt.g_trans_id := 'XXX';
3227 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3228 If l_hdrpyd_csr%ISOPEN then
3229 close l_hdrpyd_csr;
3230 End If;
3231 If l_clepyd_csr%ISOPEN then
3232 close l_clepyd_csr;
3233 End If;
3234
3235
3236 --dbms_output.put_line('unexpected error :'||l_api_name||G_SCOPE);
3237 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3238 (substr(l_api_name,1,26),
3239 G_PKG_NAME,
3240 'OKL_API.G_RET_STS_UNEXP_ERROR',
3241 x_msg_count,
3242 x_msg_data,
3243 G_SCOPE);
3244 -- Resetting the global transaction id.
3245 okc_cvm_pvt.g_trans_id := 'XXX';
3246 WHEN OTHERS THEN
3247 -- store SQL error message on message stack for caller
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
3255 If l_product_options_csr%ISOPEN then
3256 close l_product_options_csr;
3257 End If;
3258
3259 --dbms_output.put_line('when others error');
3260 --dbms_output.put_line('Error '||SQLERRM);
3261 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
3262 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3263 (substr(l_api_name,1,26),
3264 G_PKG_NAME,
3265 'OTHERS',
3266 x_msg_count,
3267 x_msg_data,
3268 G_SCOPE);
3269 -- Resetting the global transaction id.
3270 okc_cvm_pvt.g_trans_id := 'XXX';
3271 END COPY_CONTRACT;
3272 --------------------------------------------------------------------------------
3273 -- Start of comments
3274 --
3275 -- Procedure Name : copy_contract_lines
3276 -- Description : copies contract lines for a shadowed contract. will be
3277 -- published in OKL_COPY_CONTRACTS_PUB
3278 -- Business Rules :
3279 -- Parameters :
3280 -- Version : 1.0
3281 -- Notes :
3282 -- End of comments
3283 --------------------------------------------------------------------------------
3284 Procedure copy_contract_lines(
3285 p_api_version IN NUMBER,
3286 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3287 x_return_status OUT NOCOPY VARCHAR2,
3288 x_msg_count OUT NOCOPY NUMBER,
3289 x_msg_data OUT NOCOPY VARCHAR2,
3290 p_from_cle_id IN NUMBER,
3291 p_to_cle_id IN NUMBER,
3292 p_to_chr_id IN NUMBER,
3293 p_to_template_yn IN VARCHAR2,
3294 p_copy_reference IN VARCHAR2,
3295 p_copy_line_party_yn IN VARCHAR2,
3296 p_renew_ref_yn IN VARCHAR2,
3297 x_cle_id OUT NOCOPY NUMBER) is
3298
3299 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3300 l_cle_id NUMBER := OKL_API.G_MISS_NUM;
3301 l_cle_id_out NUMBER := OKL_API.G_MISS_NUM;
3302 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_CONTRACT_LINES';
3303 l_api_version CONSTANT NUMBER := 1.0;
3304 l_clev_rec_out clev_rec_type;
3305 x_klev_rec_out klev_rec_type;
3306 l_old_chr_id OKC_K_HEADERS_V.ID%TYPE;
3307 CURSOR c_lines(p_from_cle_id NUMBER) IS
3308 SELECT level,
3309 id,
3310 chr_id,
3311 cle_id,
3312 dnz_chr_id,
3313 orig_system_id1
3314 FROM okc_k_lines_b
3315 CONNECT BY PRIOR id = cle_id
3316 START WITH id = p_from_cle_id;
3317 c_lines_rec c_lines%rowtype;
3318
3319 CURSOR old_chr_csr(p_cle_id OKC_K_LINES_V.ID%TYPE) IS
3320 SELECT dnz_chr_id
3321 FROM okc_k_lines_v
3322 WHERE id = p_cle_id;
3323
3324 -----------------------------------------------------------
3325 --Bug# 3143522 : Subsidies copy party payment details
3326 ----------------------------------------------------------
3327 cursor l_clepyd_csr (p_old_chr_id in number,
3328 p_new_chr_id in number,
3329 p_old_cle_id in number,
3330 p_new_cle_id in number
3331 ) is
3332 select pyd_old.id pyd_id,
3333 cpl_new.id cpl_id
3334 from okl_party_payment_dtls pyd_old,
3335 okc_k_party_roles_b cpl_old,
3336 okc_k_party_roles_b cpl_new
3337 where pyd_old.cpl_id = cpl_old.id
3338 and cpl_old.cle_id = p_old_cle_id
3339 and cpl_old.dnz_chr_id = p_old_chr_id
3340 and cpl_new.cle_id = p_new_cle_id
3341 and cpl_new.dnz_chr_id = p_new_chr_id
3342 and cpl_old.rle_code = cpl_new.rle_code
3343 and cpl_old.jtot_object1_code = cpl_new.jtot_object1_code
3344 and cpl_old.object1_id1 = cpl_new.object1_id1
3345 and cpl_old.object1_id2 = cpl_new.object1_id2;
3346
3347 l_pyd_id okl_party_payment_dtls.ID%TYPE;
3348 lx_pyd_id okl_party_payment_dtls.ID%TYPE;
3349 l_cpl_id okc_k_party_roles_b.ID%TYPE;
3350 -----------------------------------------------------------
3351 --Bug# 3143522 : Subsidies copy party payment details
3352 ----------------------------------------------------------
3353
3354 --furong 4350255, find out the hdr id for a cle id --
3355 CURSOR hdr_exist_csr (p_chr_id NUMBER, p_cle_id NUMBER) IS
3356 SELECT id
3357 FROM okl_party_payment_hdr
3358 WHERE dnz_chr_id = p_chr_id
3359 AND cle_id = p_cle_id;
3360
3361 l_old_hdr_id NUMBER;
3362 l_new_hdr_id NUMBER;
3363
3364 /* not used --
3365 CURSOR dtls_exist_csr (p_chr_id NUMBER, p_cle_id NUMBER) IS
3366 SELECT id
3367 FROM okl_party_payment_dtls
3368 WHERE payment_hdr_id IN
3369 (SELECT id
3370 FROM okl_party_payment_hdr
3371 WHERE dnz_chr_id = p_chr_id
3372 AND cle_id = p_cle_id);
3373
3374 --l_old_hdr_id NUMBER;
3375 --l_new_hdr_id NUMBER;
3376
3377 l_old_dtl_id NUMBER;
3378 l_new_dtl_id NUMBER;
3379 */
3380
3381 -- find out payment details, headers and vendors for a cle_id --
3382 cursor l_clepyd_pt_csr (p_old_chr_id in number,
3383 p_new_chr_id in number,
3384 p_old_cle_id in number,
3385 p_new_cle_id in number,
3386 p_hdr_id in number
3387 ) is
3388 select pyd_old.id pyd_id,
3389 pyd_old.payment_hdr_id,
3390 cpl_new.id cpl_id
3391 from okl_party_payment_dtls pyd_old,
3392 okc_k_party_roles_b cpl_old,
3393 okc_k_party_roles_b cpl_new,
3394 okl_party_payment_hdr hdr
3395 where pyd_old.cpl_id = cpl_old.id
3396 and cpl_old.cle_id = p_old_cle_id
3397 and cpl_old.dnz_chr_id = p_old_chr_id
3398 and cpl_new.cle_id = p_new_cle_id
3399 and cpl_new.dnz_chr_id = p_new_chr_id
3400 and cpl_old.rle_code = cpl_new.rle_code
3401 and cpl_old.jtot_object1_code = cpl_new.jtot_object1_code
3402 and cpl_old.object1_id1 = cpl_new.object1_id1
3403 and cpl_old.object1_id2 = cpl_new.object1_id2
3404 and hdr.id = pyd_old.payment_hdr_id
3405 and hdr.id = p_hdr_id;
3406
3407 l_pt_pyd_id okl_party_payment_dtls.ID%TYPE;
3408 lx_pt_pyd_id okl_party_payment_dtls.ID%TYPE;
3409 l_pt_cpl_id okc_k_party_roles_b.ID%TYPE;
3410 l_payment_hdr_id okl_party_payment_dtls.PAYMENT_HDR_ID%TYPE;
3411
3412 -- end furong 4350255
3413
3414 --Bug# 4899328
3415 l_new_chr_id okc_k_headers_b.id%type;
3416 Begin
3417 ------
3418 -- call START_ACTIVITY to create savepoint, check compatibility
3419 -- and initialize message list
3420 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
3421 G_PKG_NAME,
3422 p_init_msg_list,
3423 G_API_VERSION,
3424 p_api_version,
3425 G_SCOPE,
3426 x_return_status);
3427 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3428 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3429 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3430 RAISE OKL_API.G_EXCEPTION_ERROR;
3431 END IF;
3432 --Call OKC_COPY_CONTRACT_PUB.copy_contract_lines
3433 OKC_COPY_CONTRACT_PUB.copy_contract_lines(p_api_version => P_api_version,
3434 p_init_msg_list => p_init_msg_list,
3435 x_return_status => l_return_status,
3436 x_msg_count => x_msg_count,
3437 x_msg_data => x_msg_data,
3438 p_from_cle_id => p_from_cle_id,
3439 p_to_cle_id => p_to_cle_id,
3440 p_to_chr_id => p_to_chr_id,
3441 p_to_template_yn => p_to_template_yn,
3442 p_copy_reference => p_copy_reference,
3443 p_copy_line_party_yn => p_copy_line_party_yn,
3444 p_renew_ref_yn => p_renew_ref_yn,
3445 x_cle_id => x_cle_id);
3446
3447 -- check return status
3448 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3449 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3450 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3451 raise OKL_API.G_EXCEPTION_ERROR;
3452 End If;
3453
3454 -- Get Old Chr id from New Chr id
3455 OPEN old_chr_csr(p_from_cle_id);
3456 FETCH old_chr_csr INTO l_old_chr_id;
3457 IF old_chr_csr%NOTFOUND THEN
3458 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3459 END IF;
3460 CLOSE old_chr_csr;
3461
3462 --Bug# 4899328
3463 -- p_to_chr_id will be null when copying only sub-lines
3464 -- so fetch new chr_id from p_to_cle_id
3465 l_new_chr_id := p_to_chr_id;
3466 IF l_new_chr_id IS NULL AND p_to_cle_id IS NOT NULL THEN
3467 OPEN old_chr_csr(p_to_cle_id);
3468 FETCH old_chr_csr INTO l_new_chr_id;
3469 IF old_chr_csr%NOTFOUND THEN
3470 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3471 END IF;
3472 CLOSE old_chr_csr;
3473 END IF;
3474 --Bug# 4899328
3475
3476 --catch up the shadow
3477 Open c_lines(x_cle_id);
3478 Loop
3479 Fetch c_lines into c_lines_rec;
3480 Exit when c_lines%NotFound;
3481
3482 --Catch up shadow for contract line
3483 Catchup_okl_contract_line(
3484 p_api_version => p_api_version,
3485 p_init_msg_list => p_init_msg_list,
3486 x_return_status => l_return_status,
3487 x_msg_count => x_msg_count,
3488 x_msg_data => x_msg_data,
3489 p_clev_id => c_lines_rec.orig_system_id1,
3490 p_klev_id => c_lines_rec.id,
3491 x_clev_rec => l_clev_rec_out,
3492 x_klev_rec => x_klev_rec_out
3493 );
3494
3495 -- check return status
3496 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3497 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3498 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3499 raise OKL_API.G_EXCEPTION_ERROR;
3500 End If;
3501 --------------------------------------------------------------------------------
3502 --bug# 3143522 : fixed as part of this -payments can be at subline level
3503 --------------------------------------------------------------------------------
3504 link_slh_sll(
3505 x_return_status => l_return_status,
3506 x_msg_count => x_msg_count,
3507 x_msg_data => x_msg_data,
3508 p_old_chr_id => l_old_chr_id,
3509 --p_new_cle_id => x_cle_id, -- Bug 2376998
3510 p_new_cle_id => c_lines_rec.id, -- Bug 2376998
3511 p_new_chr_id => l_new_chr_id --Bug# 4899328
3512 );
3513 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3514 RAISE OKL_API.G_EXCEPTION_ERROR;
3515 END IF;
3516 --------------------------------------------------------------------------------------
3517 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3518 --------------------------------------------------------------------------------------
3519
3520 --furong 4350255 copy each payment hdr for this cle id
3521 --return new hdr id for details copy
3522 --if non-passthru, do the old logic --
3523 l_old_hdr_id := null;
3524 OPEN hdr_exist_csr (p_chr_id => l_old_chr_id,
3525 p_cle_id => c_lines_rec.orig_system_id1);
3526 LOOP
3527 FETCH hdr_exist_csr INTO l_old_hdr_id;
3528 EXIT WHEN hdr_exist_csr%NOTFOUND;
3529 -- For the passthru, do the following copy
3530 copy_party_pymt_hdr
3531 (p_api_version => p_api_version,
3532 p_init_msg_list => p_init_msg_list,
3533 x_return_status => x_return_status,
3534 x_msg_count => x_msg_count,
3535 x_msg_data => x_msg_data,
3536 p_chr_id => c_lines_rec.dnz_chr_id,
3537 p_cle_id => c_lines_rec.id,
3538 p_pph_id => l_old_hdr_id,
3539 x_pph_id => l_new_hdr_id);
3540
3541 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3542 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3543 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3544 RAISE OKL_API.G_EXCEPTION_ERROR;
3545 END IF;
3546
3547 --Check dtls exists for this hdr, if yes, do the copy --
3548 OPEN l_clepyd_pt_csr (p_new_chr_id => c_lines_rec.dnz_chr_id,
3549 p_old_chr_id => l_old_chr_id,
3550 p_new_cle_id => c_lines_rec.id,
3551 p_old_cle_id => c_lines_rec.orig_system_id1,
3552 p_hdr_id => l_old_hdr_id);
3553 LOOP
3554 FETCH l_clepyd_pt_csr INTO l_pt_pyd_id,l_payment_hdr_id,l_pt_cpl_id;
3555 EXIT WHEN l_clepyd_pt_csr%NOTFOUND;
3556
3557 IF (l_pt_pyd_id IS NOT NULL) THEN
3558 copy_party_pymt_dtls
3559 (p_api_version => p_api_version,
3560 p_init_msg_list => p_init_msg_list,
3561 x_return_status => x_return_status,
3562 x_msg_count => x_msg_count,
3563 x_msg_data => x_msg_data,
3564 p_pyd_id => l_pt_pyd_id,
3565 p_cpl_id => l_pt_cpl_id,
3566 p_pph_id => l_new_hdr_id,
3567 x_pyd_id => lx_pt_pyd_id);
3568
3569 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3570 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3571 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3572 RAISE OKL_API.G_EXCEPTION_ERROR;
3573 END IF;
3574
3575 END IF; --l_pt_pyd_id IS NOT NULL ...--
3576
3577 END LOOP;
3578 CLOSE l_clepyd_pt_csr;
3579
3580 END LOOP;
3581 CLOSE hdr_exist_csr;
3582
3583 -- For those non-passthru cases, do the following copy --
3584 IF (l_old_hdr_id IS NULL) THEN
3585 open l_clepyd_csr (p_new_chr_id => c_lines_rec.dnz_chr_id,
3586 p_old_chr_id => l_old_chr_id,
3587 p_new_cle_id => c_lines_rec.id,
3588 p_old_cle_id => c_lines_rec.orig_system_id1);
3589
3590 loop
3591 fetch l_clepyd_csr into l_pyd_id, l_cpl_id;
3592 Exit when l_clepyd_csr%NOTFOUND;
3593 -------------------------------------------------
3594 --call local api to copy party payment details
3595 -------------------------------------------------
3596
3597 copy_party_pymt_dtls
3598 (p_api_version => p_api_version,
3599 p_init_msg_list => p_init_msg_list,
3600 x_return_status => x_return_status,
3601 x_msg_count => x_msg_count,
3602 x_msg_data => x_msg_data,
3603 p_pyd_id => l_pyd_id,
3604 p_cpl_id => l_cpl_id,
3605 x_pyd_id => lx_pyd_id);
3606
3607 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3608 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3609 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3610 RAISE OKL_API.G_EXCEPTION_ERROR;
3611 END IF;
3612
3613 End Loop;
3614 Close l_clepyd_csr;
3615 END IF; -- if l_old_hdr_id IS NULL
3616
3617 --furong 4350255 end copy hdr and(or) details --
3618 --------------------------------------------------------------------------------------
3619 --BUG# 3143522 : 11.5.10 Subsidies - copy party payment details
3620 --------------------------------------------------------------------------------------
3621
3622 End Loop;
3623 Close c_lines;
3624
3625 --
3626 -- Special Process for LALEVL (SLH, SLL) rules
3627 --
3628
3629
3630 /*---------Commented as this code has been moved up to run for all sub-lines too
3631 -- Get Old Chr id from New Chr id
3632 --OPEN old_chr_csr(p_from_cle_id);
3633 --FETCH old_chr_csr INTO l_old_chr_id;
3634 --IF old_chr_csr%NOTFOUND THEN
3635 --RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3636 --END IF;
3637 --CLOSE old_chr_csr;
3638
3639 --link_slh_sll(
3640 --x_return_status => l_return_status,
3641 --x_msg_count => x_msg_count,
3642 --x_msg_data => x_msg_data,
3643 --p_old_chr_id => l_old_chr_id,
3644 --p_new_cle_id => x_cle_id, -- Bug 2376998
3645 --p_new_chr_id => p_to_chr_id
3646 --);
3647
3648
3649 --IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3650 --RAISE OKL_API.G_EXCEPTION_ERROR;
3651 --END IF;
3652
3653 ---------Commented as this code has been moved up to run for all sub-lines too-----*/
3654
3655 --Call End Activity
3656 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3657 EXCEPTION
3658
3659 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3660 If l_clepyd_csr%ISOPEN then
3661 close l_clepyd_csr;
3662 End If;
3663 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3664 (substr(l_api_name,1,26),
3665 G_PKG_NAME,
3666 'OKL_API.G_RET_STS_ERROR',
3667 x_msg_count,
3668 x_msg_data,
3669 G_SCOPE);
3670 -- Resetting the global transaction id.
3671 okc_cvm_pvt.g_trans_id := 'XXX';
3672 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3673 If l_clepyd_csr%ISOPEN then
3674 close l_clepyd_csr;
3675 End If;
3676
3677 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3678 (substr(l_api_name,1,26),
3679 G_PKG_NAME,
3680 'OKL_API.G_RET_STS_UNEXP_ERROR',
3681 x_msg_count,
3682 x_msg_data,
3683 G_SCOPE);
3684 -- Resetting the global transaction id.
3685 okc_cvm_pvt.g_trans_id := 'XXX';
3686 WHEN OTHERS THEN
3687 If l_clepyd_csr%ISOPEN then
3688 close l_clepyd_csr;
3689 End If;
3690
3691 -- store SQL error message on message stack for caller
3692 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
3693 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3694 (substr(l_api_name,1,26),
3695 G_PKG_NAME,
3696 'OTHERS',
3697 x_msg_count,
3698 x_msg_data,
3699 G_SCOPE);
3700 -- Resetting the global transaction id.
3701 okc_cvm_pvt.g_trans_id := 'XXX';
3702 End Copy_Contract_Lines;
3703
3704 --------------------------------------------------------------------------------
3705 -- Start of comments
3706 --
3707 -- Procedure Name : copy_rules
3708 -- Description : copies contract lines for a shadowed contract. will be
3709 -- published in OKL_COPY_CONTRACTS_PUB
3710 -- Business Rules :
3711 -- Parameters :
3712 -- Version : 1.0
3713 -- Notes :
3714 -- End of comments
3715 --------------------------------------------------------------------------------
3716 PROCEDURE copy_rules(
3717 p_api_version IN NUMBER,
3718 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3719 x_return_status OUT NOCOPY VARCHAR2,
3720 x_msg_count OUT NOCOPY NUMBER,
3721 x_msg_data OUT NOCOPY VARCHAR2,
3722 p_rgp_id IN NUMBER,
3723 p_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3724 p_chr_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3725 p_to_template_yn IN VARCHAR2,
3726 x_rgp_id OUT NOCOPY NUMBER) is
3727 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3728 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_RULES';
3729 l_api_version CONSTANT NUMBER := 1.0;
3730 begin
3731 -----
3732 -- call START_ACTIVITY to create savepoint, check compatibility
3733 -- and initialize message list
3734 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
3735 G_PKG_NAME,
3736 p_init_msg_list,
3737 G_API_VERSION,
3738 p_api_version,
3739 G_SCOPE,
3740 x_return_status);
3741 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3742 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3743 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3744 RAISE OKL_API.G_EXCEPTION_ERROR;
3745 END IF;
3746 --call OKC_COPY_CONTRACT_PUB.copy_rules
3747 OKC_COPY_CONTRACT_PUB.copy_rules(
3748 p_api_version => p_api_version,
3749 p_init_msg_list => p_init_msg_list,
3750 x_return_status => x_return_status,
3751 x_msg_count => x_msg_count,
3752 x_msg_data => x_msg_data,
3753 p_rgp_id => p_rgp_id,
3754 p_cle_id => p_cle_id,
3755 p_chr_id => p_chr_id,
3756 p_to_template_yn => p_to_template_yn,
3757 x_rgp_id => x_rgp_id
3758 );
3759 -- check return status
3760 If l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
3761 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3762 Elsif l_return_status = OKL_API.G_RET_STS_ERROR Then
3763 raise OKL_API.G_EXCEPTION_ERROR;
3764 End If;
3765 --Call End Activity
3766 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3767 EXCEPTION
3768 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3769 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3770 (substr(l_api_name,1,26),
3771 G_PKG_NAME,
3772 'OKL_API.G_RET_STS_ERROR',
3773 x_msg_count,
3774 x_msg_data,
3775 G_SCOPE);
3776 -- Resetting the global transaction id.
3777 okc_cvm_pvt.g_trans_id := 'XXX';
3778 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3779 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3780 (substr(l_api_name,1,26),
3781 G_PKG_NAME,
3782 'OKL_API.G_RET_STS_UNEXP_ERROR',
3783 x_msg_count,
3784 x_msg_data,
3785 G_SCOPE);
3786 -- Resetting the global transaction id.
3787 okc_cvm_pvt.g_trans_id := 'XXX';
3788 WHEN OTHERS THEN
3789 -- store SQL error message on message stack for caller
3790 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
3791 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3792 (substr(l_api_name,1,26),
3793 G_PKG_NAME,
3794 'OTHERS',
3795 x_msg_count,
3796 x_msg_data,
3797 G_SCOPE);
3798 -- Resetting the global transaction id.
3799 okc_cvm_pvt.g_trans_id := 'XXX';
3800 end copy_rules;
3801 ----
3802 --------------------------------------------------------------------------------
3803 -- Start of comments
3804 --
3805 -- Procedure Name : copy_party_roles
3806 -- Description : copies party_roles for a shadowed contract. will be
3807 -- published in OKL_COPY_CONTRACTS_PUB
3808 -- Business Rules :
3809 -- Parameters :
3810 -- Version : 1.0
3811 -- Notes :
3812 -- End of comments
3813 --------------------------------------------------------------------------------
3814
3815 PROCEDURE copy_party_roles(
3816 p_api_version IN NUMBER,
3817 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3818 x_return_status OUT NOCOPY VARCHAR2,
3819 x_msg_count OUT NOCOPY NUMBER,
3820 x_msg_data OUT NOCOPY VARCHAR2,
3821 p_cpl_id IN NUMBER,
3822 p_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3823 p_chr_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3824 P_rle_code IN VARCHAR2,
3825 x_cpl_id OUT NOCOPY NUMBER) IS
3826
3827 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_PARTY_ROLES';
3828 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3829
3830 -------------------------------------------------------
3831 --Bug# 3143522 : 11.5.10 Subsidies - copy of OKL shadow
3832 -------------------------------------------------------
3833 --cursor to find whether party payment details exist for party being copied
3834 Cursor l_pyd_csr (p_cpl_id in number) is
3835 Select pyd.id
3836 from okl_party_payment_dtls pyd
3837 where pyd.cpl_id = p_cpl_id;
3838
3839 l_pyd_id okl_party_payment_dtls.ID%TYPE;
3840 lx_pyd_id okl_party_payment_dtls.ID%TYPE;
3841
3842 -------------------------------------------------------
3843 --Bug# 3143522 : 11.5.10 Subsidies - copy of OKL shadow
3844 -------------------------------------------------------
3845
3846 --Bug# 4558486
3847 Cursor l_kpl_csr (p_cpl_id in number) is
3848 Select kpl.id
3849 from okl_k_party_roles kpl
3850 where kpl.id = p_cpl_id;
3851
3852 lx_kpl_id okl_k_party_roles.ID%TYPE;
3853
3854 BEGIN
3855 l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
3856 G_PKG_NAME,
3857 p_init_msg_list,
3858 G_API_VERSION,
3859 p_api_version,
3860 G_SCOPE,
3861 x_return_status);
3862 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3863 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3864 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3865 RAISE OKL_API.G_EXCEPTION_ERROR;
3866 END IF;
3867
3868 OKC_COPY_CONTRACT_PUB.copy_party_roles(
3869 p_api_version => p_api_version,
3870 p_init_msg_list => p_init_msg_list,
3871 x_return_status => x_return_status,
3872 x_msg_count => x_msg_count,
3873 x_msg_data => x_msg_data,
3874 p_cpl_id => p_cpl_id,
3875 p_cle_id => p_cle_id,
3876 p_chr_id => p_chr_id,
3877 p_rle_code => p_rle_code,
3878 x_cpl_id => x_cpl_id);
3879
3880 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3881 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3882 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3883 RAISE OKL_API.G_EXCEPTION_ERROR;
3884 END IF;
3885
3886 -------------------------------------------------------
3887 --Bug# 3143522 : 11.5.10 Subsidies - copy of OKL shadow
3888 -------------------------------------------------------
3889 Open l_pyd_csr (p_cpl_id => p_cpl_id);
3890 Loop
3891 Fetch l_pyd_csr into l_pyd_id;
3892 Exit when l_pyd_csr%NOTFOUND;
3893
3894 -------------------------------------------------
3895 --call local api to copy party payment details
3896 -------------------------------------------------
3897 copy_party_pymt_dtls
3898 (p_api_version => p_api_version,
3899 p_init_msg_list => p_init_msg_list,
3900 x_return_status => x_return_status,
3901 x_msg_count => x_msg_count,
3902 x_msg_data => x_msg_data,
3903 p_pyd_id => l_pyd_id,
3904 p_cpl_id => x_cpl_id,
3905 x_pyd_id => lx_pyd_id);
3906
3907
3908
3909 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3910 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3911 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3912 RAISE OKL_API.G_EXCEPTION_ERROR;
3913 END IF;
3914 End Loop;
3915 Close l_pyd_csr;
3916
3917 --Bug# 4558486
3918 For l_kpl_rec in l_kpl_csr(p_cpl_id => p_cpl_id)
3919 Loop
3920 copy_okl_k_party_roles
3921 (p_api_version => p_api_version,
3922 p_init_msg_list => p_init_msg_list,
3923 x_return_status => x_return_status,
3924 x_msg_count => x_msg_count,
3925 x_msg_data => x_msg_data,
3926 p_kpl_id => l_kpl_rec.id,
3927 p_cpl_id => x_cpl_id,
3928 x_kpl_id => lx_kpl_id);
3929
3930 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3931 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3932 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3933 RAISE OKL_API.G_EXCEPTION_ERROR;
3934 END IF;
3935 End Loop;
3936 --Bug# 4558486
3937
3938 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3939
3940 EXCEPTION
3941 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3942 If l_pyd_csr%ISOPEN then
3943 close l_pyd_csr;
3944 End If;
3945 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3946 (substr(l_api_name,1,26),
3947 G_PKG_NAME,
3948 'OKL_API.G_RET_STS_ERROR',
3949 x_msg_count,
3950 x_msg_data,
3951 G_SCOPE);
3952 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3953 If l_pyd_csr%ISOPEN then
3954 close l_pyd_csr;
3955 End If;
3956 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3957 (substr(l_api_name,1,26),
3958 G_PKG_NAME,
3959 'OKL_API.G_RET_STS_UNEXP_ERROR',
3960 x_msg_count,
3961 x_msg_data,
3962 G_SCOPE);
3963 WHEN OTHERS THEN
3964 If l_pyd_csr%ISOPEN then
3965 close l_pyd_csr;
3966 End If;
3967 -- store SQL error message on message stack for caller
3968 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
3969 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3970 (substr(l_api_name,1,26),
3971 G_PKG_NAME,
3972 'OTHERS',
3973 x_msg_count,
3974 x_msg_data,
3975 G_SCOPE);
3976
3977 END copy_party_roles;
3978 --------------------------------------------------------------------------------
3979 -- Start of comments
3980 --
3981 -- Procedure Name : copy_articles
3982 -- Description : copies articles for a shadowed contract. will be
3983 -- published in OKL_COPY_CONTRACTS_PUB
3984 -- Business Rules :
3985 -- Parameters :
3986 -- Version : 1.0
3987 -- Notes :
3988 -- End of comments
3989 --------------------------------------------------------------------------------
3990 PROCEDURE copy_articles(
3991 p_api_version IN NUMBER,
3992 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3993 x_return_status OUT NOCOPY VARCHAR2,
3994 x_msg_count OUT NOCOPY NUMBER,
3995 x_msg_data OUT NOCOPY VARCHAR2,
3996 p_cat_id IN NUMBER,
3997 p_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3998 p_chr_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
3999 p_sav_sav_release IN VARCHAR2 DEFAULT NULL,
4000 x_cat_id OUT NOCOPY NUMBER) IS
4001
4002
4003 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_ARTICLES';
4004 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4005 BEGIN
4006 l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
4007 G_PKG_NAME,
4008 p_init_msg_list,
4009 G_API_VERSION,
4010 p_api_version,
4011 G_SCOPE,
4012 x_return_status);
4013 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4014 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4015 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4016 RAISE OKL_API.G_EXCEPTION_ERROR;
4017 END IF;
4018
4019 OKC_COPY_CONTRACT_PUB.copy_articles(
4020 p_api_version => p_api_version,
4021 p_init_msg_list => p_init_msg_list,
4022 x_return_status => x_return_status,
4023 x_msg_count => x_msg_count,
4024 x_msg_data => x_msg_data,
4025 p_cat_id => p_cat_id,
4026 p_cle_id => p_cle_id,
4027 p_chr_id => p_chr_id,
4028 p_sav_sav_release => p_sav_sav_release,
4029 x_cat_id => x_cat_id);
4030
4031 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4032 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4033 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4034 RAISE OKL_API.G_EXCEPTION_ERROR;
4035 END IF;
4036
4037 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4038
4039 EXCEPTION
4040 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4041 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4042 (substr(l_api_name,1,26),
4043 G_PKG_NAME,
4044 'OKL_API.G_RET_STS_ERROR',
4045 x_msg_count,
4046 x_msg_data,
4047 G_SCOPE);
4048 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4049 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4050 (substr(l_api_name,1,26),
4051 G_PKG_NAME,
4052 'OKL_API.G_RET_STS_UNEXP_ERROR',
4053 x_msg_count,
4054 x_msg_data,
4055 G_SCOPE);
4056 WHEN OTHERS THEN
4057 -- store SQL error message on message stack for caller
4058 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4059 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4060 (substr(l_api_name,1,26),
4061 G_PKG_NAME,
4062 'OTHERS',
4063 x_msg_count,
4064 x_msg_data,
4065 G_SCOPE);
4066
4067 END copy_articles;
4068 --------------------------------------------------------------------------------
4069 -- Start of comments
4070 --
4071 -- Procedure Name : copy_latest_articles
4072 -- Description : copies latest articles for a shadowed contract. will be
4073 -- published in OKL_COPY_CONTRACTS_PUB
4074 -- Business Rules :
4075 -- Parameters :
4076 -- Version : 1.0
4077 -- Notes :
4078 -- End of comments
4079 --------------------------------------------------------------------------------
4080 PROCEDURE copy_latest_articles(
4081 p_api_version IN NUMBER,
4082 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4083 x_return_status OUT NOCOPY VARCHAR2,
4084 x_msg_count OUT NOCOPY NUMBER,
4085 x_msg_data OUT NOCOPY VARCHAR2,
4086 p_cat_id IN NUMBER,
4087 p_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
4088 p_chr_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
4089 x_cat_id OUT NOCOPY NUMBER) IS
4090
4091
4092 l_api_name CONSTANT VARCHAR2(30) := 'OKL_COPY_LATEST_ARTICLES';
4093 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4094 BEGIN
4095 l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
4096 G_PKG_NAME,
4097 p_init_msg_list,
4098 G_API_VERSION,
4099 p_api_version,
4100 G_SCOPE,
4101 x_return_status);
4102 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4103 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4104 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4105 RAISE OKL_API.G_EXCEPTION_ERROR;
4106 END IF;
4107
4108 OKC_COPY_CONTRACT_PUB.copy_latest_articles(
4109 p_api_version => p_api_version,
4110 p_init_msg_list => p_init_msg_list,
4111 x_return_status => x_return_status,
4112 x_msg_count => x_msg_count,
4113 x_msg_data => x_msg_data,
4114 p_cat_id => p_cat_id,
4115 p_cle_id => p_cle_id,
4116 p_chr_id => p_chr_id,
4117 x_cat_id => x_cat_id);
4118
4119 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4120 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4121 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4122 RAISE OKL_API.G_EXCEPTION_ERROR;
4123 END IF;
4124
4125 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4126
4127 EXCEPTION
4128 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4129 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4130 (substr(l_api_name,1,26),
4131 G_PKG_NAME,
4132 'OKL_API.G_RET_STS_ERROR',
4133 x_msg_count,
4134 x_msg_data,
4135 G_SCOPE);
4136 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4137 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4138 (substr(l_api_name,1,26),
4139 G_PKG_NAME,
4140 'OKL_API.G_RET_STS_UNEXP_ERROR',
4141 x_msg_count,
4142 x_msg_data,
4143 G_SCOPE);
4144 WHEN OTHERS THEN
4145 -- store SQL error message on message stack for caller
4146 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4147 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4148 (substr(l_api_name,1,26),
4149 G_PKG_NAME,
4150 'OTHERS',
4151 x_msg_count,
4152 x_msg_data,
4153 G_SCOPE);
4154 END copy_latest_articles;
4155 --------------------------------------------------------------------------
4156 --Start of Comments
4157 --Bug # 2337570 - TEMPLATE COPY DOES NOT DEFAULT ALL FIELDS ON HEADER
4158 --Procedure Name : Copy_Governances
4159 --Description : Makes a copy of the okc_governances.
4160 -- Local Procedure in OKC_COPY_CONTRACT_PVT - repeated here as governances
4161 -- need to be copied in case of lease contracts. In core contracts
4162 -- governances are copied only if renew reference flag is set to 'Yes'
4163 --------------------------------------------------------------------------
4164 PROCEDURE copy_governances(
4165 p_api_version IN NUMBER,
4166 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4167 x_return_status OUT NOCOPY VARCHAR2,
4168 x_msg_count OUT NOCOPY NUMBER,
4169 x_msg_data OUT NOCOPY VARCHAR2,
4170 p_from_chr_id IN NUMBER,
4171 p_to_chr_id IN NUMBER) IS
4172
4173 l_gvev_rec OKC_CONTRACT_PUB.gvev_rec_type;
4174 x_gvev_rec OKC_CONTRACT_PUB.gvev_rec_type;
4175 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4176
4177 CURSOR c_governances IS
4178 SELECT id
4179 FROM okc_governances_v
4180 WHERE dnz_chr_id = p_from_chr_id
4181 AND cle_id is null;
4182
4183 ----------------------------------------------------------------------------
4184 --Function to populate the contract governance record to be copied.
4185 ----------------------------------------------------------------------------
4186 FUNCTION get_gvev_rec(p_gve_id IN NUMBER,
4187 x_gvev_rec OUT NOCOPY OKC_CONTRACT_PUB.gvev_rec_type)
4188 RETURN VARCHAR2 IS
4189 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4190 l_no_data_found BOOLEAN := TRUE;
4191
4192 CURSOR c_gvev_rec IS
4193 SELECT
4194 DNZ_CHR_ID,
4195 ISA_AGREEMENT_ID,
4196 CHR_ID,
4197 CLE_ID,
4198 CHR_ID_REFERRED,
4199 CLE_ID_REFERRED,
4200 COPIED_ONLY_YN
4201 FROM OKC_GOVERNANCES
4202 WHERE ID = p_gve_id;
4203 BEGIN
4204 OPEN c_gvev_rec;
4205 FETCH c_gvev_rec
4206 INTO x_gvev_rec.DNZ_CHR_ID,
4207 x_gvev_rec.ISA_AGREEMENT_ID,
4208 x_gvev_rec.CHR_ID,
4209 x_gvev_rec.CLE_ID,
4210 x_gvev_rec.CHR_ID_REFERRED,
4211 x_gvev_rec.CLE_ID_REFERRED,
4212 x_gvev_rec.COPIED_ONLY_YN;
4213
4214 l_no_data_found := c_gvev_rec%NOTFOUND;
4215 CLOSE c_gvev_rec;
4216 IF l_no_data_found THEN
4217 l_return_status := OKC_API.G_RET_STS_ERROR;
4218 return(l_return_status);
4219 ELSE
4220 return(l_return_status);
4221 END IF;
4222 EXCEPTION
4223 WHEN OTHERS THEN
4224 -- store SQL error message on message stack for caller
4225 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4226 -- notify caller of an UNEXPECTED error
4227 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4228 return(l_return_status);
4229
4230 END get_gvev_rec;
4231 BEGIN
4232 x_return_status := l_return_status;
4233 FOR l_c_governances IN c_governances LOOP
4234 l_return_status := get_gvev_rec( p_gve_id => l_c_governances.id,
4235 x_gvev_rec => l_gvev_rec);
4236 l_gvev_rec.chr_id := p_to_chr_id;
4237 l_gvev_rec.dnz_chr_id := p_to_chr_id;
4238
4239 OKC_CONTRACT_PUB.create_governance(
4240 p_api_version => p_api_version,
4241 p_init_msg_list => p_init_msg_list,
4242 x_return_status => l_return_status,
4243 x_msg_count => x_msg_count,
4244 x_msg_data => x_msg_data,
4245 p_gvev_rec => l_gvev_rec,
4246 x_gvev_rec => x_gvev_rec);
4247
4248 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4249 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4250 x_return_status := l_return_status;
4251 RAISE G_EXCEPTION_HALT_VALIDATION;
4252 ELSE
4253 x_return_status := l_return_status;
4254 END IF;
4255 END IF;
4256 END LOOP;
4257
4258 EXCEPTION
4259 WHEN G_EXCEPTION_HALT_VALIDATION THEN
4260 NULL;
4261 WHEN OTHERS THEN
4262 -- store SQL error message on message stack for caller
4263 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4264 -- notify caller of an UNEXPECTED error
4265 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4266
4267 END copy_governances;
4268
4269 --------------------------------------------------------------------------------
4270 --Start of Comments
4271 --Procedure Name : link_cov_Asst
4272 --Description : Links covered assets/usage contract after copy
4273 --Notes : Usage soueces are blanked out
4274 -- for covered asset if a single copied fin asset line with
4275 -- matching source is found in the new contract covered item is
4276 -- made to piont to this line otherwise it is blanked (Null)
4277 -- to added Syndication 'OKX_LEASE' also
4278 -- This will also be pushed into Copy_Asset_Lines
4279 --------------------------------------------------------------------------------
4280 Procedure link_cov_asst( p_api_version IN NUMBER,
4281 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4282 x_return_status OUT NOCOPY VARCHAR2,
4283 x_msg_count OUT NOCOPY NUMBER,
4284 x_msg_data OUT NOCOPY VARCHAR2,
4285 p_orig_lnk_cle_id IN NUMBER,
4286 p_new_lnk_cim_id IN NUMBER,
4287 p_object_code IN VARCHAR2,
4288 p_new_chr_id IN NUMBER) is
4289
4290 --cursor to fetch original fin linked asset line id
4291 CURSOR l_orig_ast_csr(p_orig_lnk_cle_id IN NUMBER,
4292 p_new_chr_id IN NUMBER) IS
4293 SELECT new_cle.id
4294 FROM OKC_K_LINES_B new_cle,
4295 OKC_K_ITEMS orig_lnk_cim
4296 WHERE new_cle.ORIG_SYSTEM_ID1 = to_number(orig_lnk_cim.object1_id1)
4297 AND new_cle.chr_id = p_new_chr_id
4298 AND orig_lnk_cim.cle_id = p_orig_lnk_cle_id
4299 AND not exists (select null
4300 from OKC_K_LINES_B another_cle
4301 where another_cle.orig_system_id1 = new_cle.orig_system_id1
4302 and another_cle.lse_id = new_cle.lse_id
4303 and another_cle.chr_id = new_cle.chr_id
4304 and another_cle.id <> new_cle.id);
4305
4306 l_new_cle_id OKC_K_LINES_B.ID%TYPE;
4307
4308
4309 l_new_lnk_cim_id NUMBER;
4310
4311 l_cimv_rec OKL_OKC_MIGRATION_PVT.cimv_rec_type;
4312 lx_cimv_rec OKL_OKC_MIGRATION_PVT.cimv_rec_type;
4313
4314 Begin
4315 x_return_status := OKL_API.G_RET_STS_SUCCESS;
4316 l_new_lnk_cim_id := p_new_lnk_cim_id;
4317
4318 If p_object_code in ('OKL_USAGE','OKX_LEASE') then --for covered usage contract and syndicated contract
4319
4320 l_cimv_rec.id := l_new_lnk_cim_id;
4321 l_cimv_rec.object1_id1 := OKL_API.G_MISS_CHAR;
4322 l_cimv_rec.object1_id2 := OKL_API.G_MISS_CHAR;
4323 l_cimv_rec.jtot_object1_code := OKL_API.G_MISS_CHAR;
4324
4325 Else --for covered asset
4326
4327 Open l_orig_ast_csr(p_orig_lnk_cle_id => p_orig_lnk_cle_id,
4328 p_new_chr_id => p_new_chr_id);
4329 Fetch l_orig_ast_csr into l_new_cle_id;
4330 IF l_orig_ast_csr%NOTFOUND Then
4331 --null out the new link
4332 l_cimv_rec.id := l_new_lnk_cim_id;
4333 l_cimv_rec.object1_id1 := OKL_API.G_MISS_CHAR;
4334 l_cimv_rec.object1_id2 := OKL_API.G_MISS_CHAR;
4335 l_cimv_rec.jtot_object1_code := OKL_API.G_MISS_CHAR;
4336 ELSE
4337 --update the new link with new asset
4338 l_cimv_rec.id := l_new_lnk_cim_id;
4339 l_cimv_rec.object1_id1 := to_char(l_new_cle_id);
4340 END IF;
4341 Close l_orig_ast_csr;
4342
4343 End If;
4344
4345 --update link contract item accordingly
4346 okl_okc_migration_pvt.update_contract_item(
4347 p_api_version => p_api_version,
4348 p_init_msg_list => p_init_msg_list,
4349 x_return_status => x_return_status,
4350 x_msg_count => x_msg_count,
4351 x_msg_data => x_msg_data,
4352 p_cimv_rec => l_cimv_rec,
4353 x_cimv_rec => lx_cimv_rec);
4354
4355 Exception
4356 When Others then
4357 If l_orig_ast_csr%ISOPEN Then
4358 Close l_orig_ast_csr;
4359 End If;
4360 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4361
4362 End link_cov_asst;
4363 --------------------------------------------------------------------------------
4364 -- Start of comments
4365 -- Bug# 2555692
4366 -- Procedure Name : reset_contract_status
4367 -- Description : Local procedure will be called from copy_lease_contract to
4368 -- update the copied contracts status to a 'NEW' status. OKC
4369 -- APIs by default set the status of a new contract to 'ENTERED'
4370 -- Business Rules :
4371 -- Parameters :
4372 -- Version : 1.0
4373 -- Notes :
4374 -- End of comments
4375 --------------------------------------------------------------------------------
4376 Procedure reset_contract_status
4377 (p_api_version IN NUMBER,
4378 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4379 x_return_status OUT NOCOPY VARCHAR2,
4380 x_msg_count OUT NOCOPY NUMBER,
4381 x_msg_data OUT NOCOPY VARCHAR2,
4382 p_chr_id IN NUMBER,
4383 p_status IN VARCHAR2,
4384 p_cascade_lines IN VARCHAR2) IS
4385 BEGIN
4386 x_return_status := OKL_API.G_RET_STS_SUCCESS;
4387 -- Now call the stored program to update status of contact
4388 okl_contract_status_pub.update_contract_status
4389 (p_api_version => p_api_version,
4390 p_init_msg_list => p_init_msg_list,
4391 x_return_status => x_return_status,
4392 x_msg_count => x_msg_count,
4393 x_msg_data => x_msg_data,
4394 p_khr_status => p_status,
4395 p_chr_id => p_chr_id);
4396
4397 If (x_return_status <> OKL_API.G_RET_STS_SUCCESS) Then
4398 Raise G_EXCEPTION_HALT_PROCESS;
4399 End If;
4400
4401
4402 /*
4403 If nvl(p_cascade_lines,'N') = 'Y' Then
4404 okl_contract_status_pub.cascade_lease_status
4405 (p_api_version => p_api_version,
4406 p_init_msg_list => p_init_msg_list,
4407 x_return_status => x_return_status,
4408 x_msg_count => x_msg_count,
4409 x_msg_data => x_msg_data,
4410 p_chr_id => p_chr_id);
4411 End If;
4412 */
4413
4414 If (x_return_status <> OKL_API.G_RET_STS_SUCCESS) Then
4415 Raise G_EXCEPTION_HALT_PROCESS;
4416 End If;
4417
4418 EXCEPTION
4419 WHEN G_EXCEPTION_HALT_PROCESS Then
4420 Null;
4421 When OTHERS Then
4422 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4423 END reset_contract_status;
4424 --End Bug# 2555692
4425
4426 --------------------------------------------------------------------------------
4427 -- Start of comments
4428 -- Bug# 3159691
4429 -- Procedure Name : delete_yields
4430 -- Description : Local procedure will be called from copy_lease_contract to
4431 -- remove yield values from the new contract.
4432 --
4433 -- Business Rules :
4434 -- Parameters :
4435 -- Version : 1.0
4436 -- Notes :
4437 -- End of comments
4438 --------------------------------------------------------------------------------
4439 PROCEDURE delete_yields(
4440 p_api_version IN NUMBER,
4441 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4442 x_return_status OUT NOCOPY VARCHAR2,
4443 x_msg_count OUT NOCOPY NUMBER,
4444 x_msg_data OUT NOCOPY VARCHAR2,
4445 p_chr_id IN NUMBER,
4446 --Bug# 3973640
4447 p_trans_type IN VARCHAR2
4448 ) IS
4449
4450 l_api_name CONSTANT VARCHAR2(30) := 'OKL_DELETE_YIELDS';
4451 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4452
4453 l_chrv_rec chrv_rec_type;
4454 l_khrv_rec khrv_rec_type;
4455 l_khrv_qry_rec khrv_rec_type;
4456 lx_chrv_rec chrv_rec_type;
4457 lx_khrv_rec khrv_rec_type;
4458
4459 l_clev_rec clev_rec_type;
4460 l_klev_rec klev_rec_type;
4461 lx_clev_rec clev_rec_type;
4462 lx_klev_rec klev_rec_type;
4463
4464 cursor kle_csr is
4465 select kle.id
4466 ,kle.pre_tax_yield
4467 ,kle.after_tax_yield
4468 ,kle.implicit_interest_rate
4469 ,kle.implicit_non_idc_interest_rate
4470 ,kle.pre_tax_irr
4471 ,kle.after_tax_irr
4472 ,kle.sub_pre_tax_yield
4473 ,kle.sub_after_tax_yield
4474 ,kle.sub_impl_interest_rate
4475 ,kle.sub_impl_non_idc_int_rate
4476 ,kle.sub_pre_tax_irr
4477 ,kle.sub_after_tax_irr
4478 ,kle.capitalized_interest
4479 --Bug# 3973640
4480 ,kle.qte_id
4481 ,kle.funding_date
4482 from okc_k_lines_b cle
4483 ,okl_k_lines kle
4484 where cle.dnz_chr_id = p_chr_id
4485 and cle.id = kle.id;
4486
4487 BEGIN
4488
4489 x_return_status := OKL_API.G_RET_STS_SUCCESS;
4490 x_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
4491 G_PKG_NAME,
4492 p_init_msg_list,
4493 G_API_VERSION,
4494 p_api_version,
4495 G_SCOPE,
4496 x_return_status);
4497 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4498 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4499 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4500 RAISE OKL_API.G_EXCEPTION_ERROR;
4501 END IF;
4502
4503 l_khrv_qry_rec := get_khrv_rec(p_chr_id);
4504
4505 IF (l_khrv_qry_rec.pre_tax_yield IS NOT NULL OR
4506 l_khrv_qry_rec.after_tax_yield IS NOT NULL OR
4507 l_khrv_qry_rec.implicit_interest_rate IS NOT NULL OR
4508 l_khrv_qry_rec.implicit_non_idc_interest_rate IS NOT NULL OR
4509 l_khrv_qry_rec.pre_tax_irr IS NOT NULL OR
4510 l_khrv_qry_rec.after_tax_irr IS NOT NULL OR
4511 l_khrv_qry_rec.sub_pre_tax_yield IS NOT NULL OR
4512 l_khrv_qry_rec.sub_after_tax_yield IS NOT NULL OR
4513 l_khrv_qry_rec.sub_impl_interest_rate IS NOT NULL OR
4514 l_khrv_qry_rec.sub_impl_non_idc_int_rate IS NOT NULL OR
4515 l_khrv_qry_rec.sub_pre_tax_irr IS NOT NULL OR
4516 l_khrv_qry_rec.sub_after_tax_irr IS NOT NULL OR
4517 l_khrv_qry_rec.date_last_interim_interest_cal IS NOT NULL OR
4518 --bug# 3973640:
4519 l_khrv_qry_rec.TOT_CL_TRANSFER_AMT IS NOT NULL OR
4520 l_khrv_qry_rec.TOT_CL_NET_TRANSFER_AMT IS NOT NULL OR
4521 l_khrv_qry_rec.TOT_CL_LIMIT IS NOT NULL OR
4522 l_khrv_qry_rec.TOT_CL_FUNDING_AMT IS NOT NULL) THEN
4523
4524 l_chrv_rec.id := p_chr_id;
4525 l_khrv_rec.id := p_chr_id;
4526
4527 l_khrv_rec.pre_tax_yield := NULL;
4528 l_khrv_rec.after_tax_yield := NULL;
4529 l_khrv_rec.implicit_interest_rate := NULL;
4530 l_khrv_rec.implicit_non_idc_interest_rate := NULL;
4531 l_khrv_rec.pre_tax_irr := NULL;
4532 l_khrv_rec.after_tax_irr := NULL;
4533 l_khrv_rec.sub_pre_tax_yield := NULL;
4534 l_khrv_rec.sub_after_tax_yield := NULL;
4535 l_khrv_rec.sub_impl_interest_rate := NULL;
4536 l_khrv_rec.sub_impl_non_idc_int_rate := NULL;
4537 l_khrv_rec.sub_pre_tax_irr := NULL;
4538 l_khrv_rec.sub_after_tax_irr := NULL;
4539
4540 -- Bug# 3541098
4541 l_khrv_rec.date_last_interim_interest_cal := NULL;
4542 --bug# 3973640:
4543 l_khrv_rec.TOT_CL_TRANSFER_AMT := NULL;
4544 l_khrv_rec.TOT_CL_NET_TRANSFER_AMT := NULL;
4545 l_khrv_rec.TOT_CL_LIMIT := NULL;
4546 l_khrv_rec.TOT_CL_FUNDING_AMT := NULL;
4547
4548 okl_contract_pub.update_contract_header(
4549 p_api_version => p_api_version,
4550 p_init_msg_list => p_init_msg_list,
4551 x_return_status => x_return_status,
4552 x_msg_count => x_msg_count,
4553 x_msg_data => x_msg_data,
4554 p_chrv_rec => l_chrv_rec,
4555 p_khrv_rec => l_khrv_rec,
4556 x_chrv_rec => lx_chrv_rec,
4557 x_khrv_rec => lx_khrv_rec);
4558
4559 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4560 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4561 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4562 RAISE OKL_API.G_EXCEPTION_ERROR;
4563 END IF;
4564
4565 END IF;
4566
4567 FOR l_kle_rec IN kle_csr LOOP
4568
4569 IF (l_kle_rec.pre_tax_yield IS NOT NULL OR
4570 l_kle_rec.after_tax_yield IS NOT NULL OR
4571 l_kle_rec.implicit_interest_rate IS NOT NULL OR
4572 l_kle_rec.implicit_non_idc_interest_rate IS NOT NULL OR
4573 l_kle_rec.pre_tax_irr IS NOT NULL OR
4574 l_kle_rec.after_tax_irr IS NOT NULL OR
4575 l_kle_rec.sub_pre_tax_yield IS NOT NULL OR
4576 l_kle_rec.sub_after_tax_yield IS NOT NULL OR
4577 l_kle_rec.sub_impl_interest_rate IS NOT NULL OR
4578 l_kle_rec.sub_impl_non_idc_int_rate IS NOT NULL OR
4579 l_kle_rec.sub_pre_tax_irr IS NOT NULL OR
4580 l_kle_rec.sub_after_tax_irr IS NOT NULL OR
4581 l_kle_rec.capitalized_interest IS NOT NULL OR
4582 --Bug# 3973640:
4583 l_kle_rec.qte_id IS NOT NULL OR
4584 l_kle_rec.funding_date IS NOT NULL) THEN
4585
4586 l_clev_rec.id := l_kle_rec.id;
4587 l_klev_rec.id := l_kle_rec.id;
4588
4589 l_klev_rec.pre_tax_yield := NULL;
4590 l_klev_rec.after_tax_yield := NULL;
4591 l_klev_rec.implicit_interest_rate := NULL;
4592 l_klev_rec.implicit_non_idc_interest_rate := NULL;
4593 l_klev_rec.pre_tax_irr := NULL;
4594 l_klev_rec.after_tax_irr := NULL;
4595 l_klev_rec.sub_pre_tax_yield := NULL;
4596 l_klev_rec.sub_after_tax_yield := NULL;
4597 l_klev_rec.sub_impl_interest_rate := NULL;
4598 l_klev_rec.sub_impl_non_idc_int_rate := NULL;
4599 l_klev_rec.sub_pre_tax_irr := NULL;
4600 l_klev_rec.sub_after_tax_irr := NULL;
4601
4602 -- Bug# 3541098
4603 l_klev_rec.capitalized_interest := NULL;
4604 --Bug# 3973640
4605 l_klev_rec.funding_date := NULL;
4606 If nvl(p_trans_type,'CFA') = 'CFA' then
4607 l_klev_rec.qte_id := NULL;
4608 End If;
4609
4610 okl_contract_pub.update_contract_line(
4611 p_api_version => p_api_version,
4612 p_init_msg_list => p_init_msg_list,
4613 x_return_status => x_return_status,
4614 x_msg_count => x_msg_count,
4615 x_msg_data => x_msg_data,
4616 p_clev_rec => l_clev_rec,
4617 p_klev_rec => l_klev_rec,
4618 x_clev_rec => lx_clev_rec,
4619 x_klev_rec => lx_klev_rec);
4620
4621 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4622 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4623 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4624 RAISE OKL_API.G_EXCEPTION_ERROR;
4625 END IF;
4626
4627 END IF;
4628 END LOOP;
4629
4630 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4631
4632 EXCEPTION
4633 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4634 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4635 (substr(l_api_name,1,26),
4636 G_PKG_NAME,
4637 'OKL_API.G_RET_STS_ERROR',
4638 x_msg_count,
4639 x_msg_data,
4640 G_SCOPE);
4641 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4642 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4643 (substr(l_api_name,1,26),
4644 G_PKG_NAME,
4645 'OKL_API.G_RET_STS_UNEXP_ERROR',
4646 x_msg_count,
4647 x_msg_data,
4648 G_SCOPE);
4649 WHEN OTHERS THEN
4650 -- store SQL error message on message stack for caller
4651 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
4652 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4653 (substr(l_api_name,1,26),
4654 G_PKG_NAME,
4655 'OTHERS',
4656 x_msg_count,
4657 x_msg_data,
4658 G_SCOPE);
4659
4660 END delete_yields;
4661 --End Bug# 3159691
4662
4663 Procedure copy_var_int_rate_params(p_old_id IN NUMBER,
4664 p_new_id IN NUMBER,
4665 p_start_date IN DATE,
4666 p_trans_type IN VARCHAR2,
4667 p_rbk_date IN DATE) IS
4668 TYPE l_kkhr_id_type is table of okl_k_rate_params.khr_id%TYPE index by binary_integer;
4669 TYPE l_kparameter_type_code_type is table of okl_k_rate_params.parameter_type_code%TYPE index by binary_integer;
4670 TYPE l_keffective_from_date_type is table of okl_k_rate_params.effective_from_date%TYPE index by binary_integer;
4671 TYPE l_keffective_to_date_type is table of okl_k_rate_params.effective_to_date%TYPE index by binary_integer;
4672 TYPE l_kinterest_index_id_type is table of okl_k_rate_params.interest_index_id%TYPE index by binary_integer;
4673 TYPE l_kbase_rate_type is table of okl_k_rate_params.base_rate%TYPE index by binary_integer;
4674 TYPE l_kinterest_start_date_type is table of okl_k_rate_params.interest_start_date%TYPE index by binary_integer;
4675 TYPE l_kadder_rate_type is table of okl_k_rate_params.adder_rate%TYPE index by binary_integer;
4676 TYPE l_kmaximum_rate_type is table of okl_k_rate_params.maximum_rate%TYPE index by binary_integer;
4677 TYPE l_kminimum_rate_type is table of okl_k_rate_params.minimum_rate%TYPE index by binary_integer;
4678 TYPE l_kprincipal_basis_code_type is table of okl_k_rate_params.principal_basis_code%TYPE index by binary_integer;
4679 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;
4680 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;
4681 TYPE l_kinterest_basis_code_type is table of okl_k_rate_params.interest_basis_code%TYPE index by binary_integer;
4682 TYPE l_krate_delay_code_type is table of okl_k_rate_params.rate_delay_code%TYPE index by binary_integer;
4683 TYPE l_krate_delay_frequency_type is table of okl_k_rate_params.rate_delay_frequency%TYPE index by binary_integer;
4684 TYPE l_kcompounding_frequ_code_type is table of okl_k_rate_params.compounding_frequency_code%TYPE index by binary_integer;
4685 TYPE l_kcalculation_formula_id_type is table of okl_k_rate_params.calculation_formula_id%TYPE index by binary_integer;
4686 TYPE l_kcatchup_basis_code_type is table of okl_k_rate_params.catchup_basis_code%TYPE index by binary_integer;
4687 TYPE l_kcatchup_start_date_type is table of okl_k_rate_params.catchup_start_date%TYPE index by binary_integer;
4688 TYPE l_kcatchup_settlemen_code_type is table of okl_k_rate_params.catchup_settlement_code%TYPE index by binary_integer;
4689 TYPE l_krate_change_start_date_type is table of okl_k_rate_params.rate_change_start_date%TYPE index by binary_integer;
4690 TYPE l_krate_change_frequ_code_type is table of okl_k_rate_params.rate_change_frequency_code%TYPE index by binary_integer;
4691 TYPE l_krate_change_value_type is table of okl_k_rate_params.rate_change_value%TYPE index by binary_integer;
4692 TYPE l_kconversion_option_code_type is table of okl_k_rate_params.conversion_option_code%TYPE index by binary_integer;
4693 TYPE l_knext_conversion_date_type is table of okl_k_rate_params.next_conversion_date%TYPE index by binary_integer;
4694 TYPE l_kconversion_type_code_type is table of okl_k_rate_params.conversion_type_code%TYPE index by binary_integer;
4695 TYPE l_kattribute_category_type is table of okl_k_rate_params.attribute_category%TYPE index by binary_integer;
4696 TYPE l_kattribute1_type is table of okl_k_rate_params.attribute1%TYPE index by binary_integer;
4697 TYPE l_kattribute2_type is table of okl_k_rate_params.attribute2%TYPE index by binary_integer;
4698 TYPE l_kattribute3_type is table of okl_k_rate_params.attribute3%TYPE index by binary_integer;
4699 TYPE l_kattribute4_type is table of okl_k_rate_params.attribute4%TYPE index by binary_integer;
4700 TYPE l_kattribute5_type is table of okl_k_rate_params.attribute5%TYPE index by binary_integer;
4701 TYPE l_kattribute6_type is table of okl_k_rate_params.attribute6%TYPE index by binary_integer;
4702 TYPE l_kattribute7_type is table of okl_k_rate_params.attribute7%TYPE index by binary_integer;
4703 TYPE l_kattribute8_type is table of okl_k_rate_params.attribute8%TYPE index by binary_integer;
4704 TYPE l_kattribute9_type is table of okl_k_rate_params.attribute9%TYPE index by binary_integer;
4705 TYPE l_kattribute10_type is table of okl_k_rate_params.attribute10%TYPE index by binary_integer;
4706 TYPE l_kattribute11_type is table of okl_k_rate_params.attribute11%TYPE index by binary_integer;
4707 TYPE l_kattribute12_type is table of okl_k_rate_params.attribute12%TYPE index by binary_integer;
4708 TYPE l_kattribute13_type is table of okl_k_rate_params.attribute13%TYPE index by binary_integer;
4709 TYPE l_kattribute14_type is table of okl_k_rate_params.attribute14%TYPE index by binary_integer;
4710 TYPE l_kattribute15_type is table of okl_k_rate_params.attribute15%TYPE index by binary_integer;
4711 TYPE l_kcatchup_frequency_code_type is table of okl_k_rate_params.catchup_frequency_code%TYPE index by binary_integer;
4712
4713 l_kkhr_id_tab l_kkhr_id_type;
4714 l_kparameter_type_code_tab l_kparameter_type_code_type;
4715 l_keffective_from_date_tab l_keffective_from_date_type;
4716 l_keffective_to_date_tab l_keffective_to_date_type;
4717 l_kinterest_index_id_tab l_kinterest_index_id_type;
4718 l_kbase_rate_tab l_kbase_rate_type;
4719 l_kinterest_start_date_tab l_kinterest_start_date_type;
4720 l_kadder_rate_tab l_kadder_rate_type;
4721 l_kmaximum_rate_tab l_kmaximum_rate_type;
4722 l_kminimum_rate_tab l_kminimum_rate_type;
4723 l_kprincipal_basis_code_tab l_kprincipal_basis_code_type;
4724 l_kdays_in_a_month_code_tab l_kdays_in_a_month_code_type;
4725 l_kdays_in_a_year_code_tab l_kdays_in_a_year_code_type;
4726 l_kinterest_basis_code_tab l_kinterest_basis_code_type;
4727 l_krate_delay_code_tab l_krate_delay_code_type;
4728 l_krate_delay_frequency_tab l_krate_delay_frequency_type;
4729 l_kcompounding_frequ_code_tab l_kcompounding_frequ_code_type;
4730 l_kcalculation_formula_id_tab l_kcalculation_formula_id_type;
4731 l_kcatchup_basis_code_tab l_kcatchup_basis_code_type;
4732 l_kcatchup_start_date_tab l_kcatchup_start_date_type;
4733 l_kcatchup_settlemen_code_tab l_kcatchup_settlemen_code_type;
4734 l_krate_change_start_date_tab l_krate_change_start_date_type;
4735 l_krate_change_frequ_code_tab l_krate_change_frequ_code_type;
4736 l_krate_change_value_tab l_krate_change_value_type;
4737 l_kconversion_option_code_tab l_kconversion_option_code_type;
4738 l_knext_conversion_date_tab l_knext_conversion_date_type;
4739 l_kconversion_type_code_tab l_kconversion_type_code_type;
4740 l_kattribute_category_tab l_kattribute_category_type;
4741 l_kattribute1_tab l_kattribute1_type;
4742 l_kattribute2_tab l_kattribute2_type;
4743 l_kattribute3_tab l_kattribute3_type;
4744 l_kattribute4_tab l_kattribute4_type;
4745 l_kattribute5_tab l_kattribute5_type;
4746 l_kattribute6_tab l_kattribute6_type;
4747 l_kattribute7_tab l_kattribute7_type;
4748 l_kattribute8_tab l_kattribute8_type;
4749 l_kattribute9_tab l_kattribute9_type;
4750 l_kattribute10_tab l_kattribute10_type;
4751 l_kattribute11_tab l_kattribute11_type;
4752 l_kattribute12_tab l_kattribute12_type;
4753 l_kattribute13_tab l_kattribute13_type;
4754 l_kattribute14_tab l_kattribute14_type;
4755 l_kattribute15_tab l_kattribute15_type;
4756 l_kcatchup_frequency_code_tab l_kcatchup_frequency_code_type;
4757
4758 l_kkhr_id_tab2 l_kkhr_id_type;
4759 l_kparameter_type_code_tab2 l_kparameter_type_code_type;
4760 l_keffective_from_date_tab2 l_keffective_from_date_type;
4761 l_keffective_to_date_tab2 l_keffective_to_date_type;
4762 l_kinterest_index_id_tab2 l_kinterest_index_id_type;
4763 l_kbase_rate_tab2 l_kbase_rate_type;
4764 l_kinterest_start_date_tab2 l_kinterest_start_date_type;
4765 l_kadder_rate_tab2 l_kadder_rate_type;
4766 l_kmaximum_rate_tab2 l_kmaximum_rate_type;
4767 l_kminimum_rate_tab2 l_kminimum_rate_type;
4768 l_kprincipal_basis_code_tab2 l_kprincipal_basis_code_type;
4769 l_kdays_in_a_month_code_tab2 l_kdays_in_a_month_code_type;
4770 l_kdays_in_a_year_code_tab2 l_kdays_in_a_year_code_type;
4771 l_kinterest_basis_code_tab2 l_kinterest_basis_code_type;
4772 l_krate_delay_code_tab2 l_krate_delay_code_type;
4773 l_krate_delay_frequency_tab2 l_krate_delay_frequency_type;
4774 l_kcompounding_frequ_code_tab2 l_kcompounding_frequ_code_type;
4775 l_kcalculation_formula_id_tab2 l_kcalculation_formula_id_type;
4776 l_kcatchup_basis_code_tab2 l_kcatchup_basis_code_type;
4777 l_kcatchup_start_date_tab2 l_kcatchup_start_date_type;
4778 l_kcatchup_settlemen_code_tab2 l_kcatchup_settlemen_code_type;
4779 l_krate_change_start_date_tab2 l_krate_change_start_date_type;
4780 l_krate_change_frequ_code_tab2 l_krate_change_frequ_code_type;
4781 l_krate_change_value_tab2 l_krate_change_value_type;
4782 l_kconversion_option_code_tab2 l_kconversion_option_code_type;
4783 l_knext_conversion_date_tab2 l_knext_conversion_date_type;
4784 l_kconversion_type_code_tab2 l_kconversion_type_code_type;
4785 l_kattribute_category_tab2 l_kattribute_category_type;
4786 l_kattribute1_tab2 l_kattribute1_type;
4787 l_kattribute2_tab2 l_kattribute2_type;
4788 l_kattribute3_tab2 l_kattribute3_type;
4789 l_kattribute4_tab2 l_kattribute4_type;
4790 l_kattribute5_tab2 l_kattribute5_type;
4791 l_kattribute6_tab2 l_kattribute6_type;
4792 l_kattribute7_tab2 l_kattribute7_type;
4793 l_kattribute8_tab2 l_kattribute8_type;
4794 l_kattribute9_tab2 l_kattribute9_type;
4795 l_kattribute10_tab2 l_kattribute10_type;
4796 l_kattribute11_tab2 l_kattribute11_type;
4797 l_kattribute12_tab2 l_kattribute12_type;
4798 l_kattribute13_tab2 l_kattribute13_type;
4799 l_kattribute14_tab2 l_kattribute14_type;
4800 l_kattribute15_tab2 l_kattribute15_type;
4801 l_kcatchup_frequency_code_tab2 l_kcatchup_frequency_code_type;
4802
4803 l_k_rate_params_counter number := 1;
4804
4805 /*CURSOR get_rebook_date_csr(p_id NUMBER) IS
4806 SELECT DATE_TRANSACTION_OCCURRED
4807 FROM OKL_TRX_CONTRACTS
4808 WHERE KHR_ID = p_id
4809 AND TCN_TYPE = 'TRBK'
4810 and TSU_CODE = 'ENTERED';
4811
4812 l_rebook_date DATE; */
4813 l_prev_counter NUMBER;
4814
4815 CURSOR C30(p_id NUMBER) IS
4816 SELECT
4817 a.khr_id, a.parameter_type_code, a.effective_from_date,
4818 a.effective_to_date, a.interest_index_id, a.base_rate,
4819 a.interest_start_date, a.adder_rate, a.maximum_rate,
4820 a.minimum_rate, a.principal_basis_code, a.days_in_a_month_code,
4821 a.days_in_a_year_code, a.interest_basis_code, a.rate_delay_code,
4822 a.rate_delay_frequency, a.compounding_frequency_code, a.calculation_formula_id,
4823 a.catchup_basis_code, a.catchup_start_date, a.catchup_settlement_code,
4824 a.rate_change_start_date, a.rate_change_frequency_code, a.rate_change_value,
4825 a.conversion_option_code, a.next_conversion_date, a.conversion_type_code,
4826 a.attribute_category, a.attribute1, a.attribute2,
4827 a.attribute3, a.attribute4, a.attribute5,
4828 a.attribute6, a.attribute7, a.attribute8,
4829 a.attribute9, a.attribute10, a.attribute11,
4830 a.attribute12, a.attribute13, a.attribute14,
4831 a.attribute15, a.catchup_frequency_code
4832 FROM OKL_K_RATE_PARAMS a
4833 WHERE a.khr_id = p_id;
4834 -- Bug 4730726
4835 /*AND (
4836 (a.effective_to_date is NULL AND p_trans_type not in ('CRB', 'CRL'))
4837 OR
4838 ((a.effective_to_date is NULL OR a.effective_to_date IS NOT NULL) AND
4839 p_trans_type in ('CRB', 'CRL'))
4840 ); */
4841 BEGIN
4842 IF (G_DEBUG_ENABLED = 'Y') THEN
4843 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
4844 END IF;
4845 /*
4846 l_rebook_date := NULL;
4847 IF (p_trans_type = 'CRB') THEN
4848 FOR r IN get_rebook_date_csr(p_old_id)
4849 LOOP
4850 l_rebook_date := r.date_transaction_occurred;
4851 END LOOP;
4852 print('In copy_var_int_rate_params: l_rebook_date=' || l_rebook_date);
4853 IF (l_rebook_date is NULL) THEN
4854 RAISE OKL_API.G_EXCEPTION_ERROR;
4855 END IF;
4856 END IF;
4857 */
4858 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4859 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_rbk_date=' || p_rbk_date);
4860 END IF;
4861
4862 OPEN C30(p_old_id);
4863 LOOP
4864 FETCH C30 BULK COLLECT INTO
4865 l_kkhr_id_tab2, l_kparameter_type_code_tab2, l_keffective_from_date_tab2,
4866 l_keffective_to_date_tab2, l_kinterest_index_id_tab2, l_kbase_rate_tab2,
4867 l_kinterest_start_date_tab2, l_kadder_rate_tab2, l_kmaximum_rate_tab2,
4868 l_kminimum_rate_tab2, l_kprincipal_basis_code_tab2, l_kdays_in_a_month_code_tab2,
4869 l_kdays_in_a_year_code_tab2, l_kinterest_basis_code_tab2, l_krate_delay_code_tab2,
4870 l_krate_delay_frequency_tab2, l_kcompounding_frequ_code_tab2, l_kcalculation_formula_id_tab2,
4871 l_kcatchup_basis_code_tab2, l_kcatchup_start_date_tab2, l_kcatchup_settlemen_code_tab2,
4872 l_krate_change_start_date_tab2, l_krate_change_frequ_code_tab2, l_krate_change_value_tab2,
4873 l_kconversion_option_code_tab2, l_knext_conversion_date_tab2, l_kconversion_type_code_tab2,
4874 l_kattribute_category_tab2, l_kattribute1_tab2, l_kattribute2_tab2,
4875 l_kattribute3_tab2, l_kattribute4_tab2, l_kattribute5_tab2,
4876 l_kattribute6_tab2, l_kattribute7_tab2, l_kattribute8_tab2,
4877 l_kattribute9_tab2, l_kattribute10_tab2, l_kattribute11_tab2,
4878 l_kattribute12_tab2, l_kattribute13_tab2, l_kattribute14_tab2,
4879 l_kattribute15_tab2, l_kcatchup_frequency_code_tab2
4880 LIMIT G_BULK_SIZE;
4881 EXIT WHEN l_kkhr_id_tab2.COUNT = 0;
4882
4883 FOR i IN l_kkhr_id_tab2.FIRST..l_kkhr_id_tab2.LAST
4884 LOOP
4885 l_kkhr_id_tab(l_k_rate_params_counter) := l_kkhr_id_tab2(i);
4886 l_kkhr_id_tab(l_k_rate_params_counter) := p_new_id;
4887
4888 l_kparameter_type_code_tab(l_k_rate_params_counter) := l_kparameter_type_code_tab2(i);
4889 l_keffective_from_date_tab(l_k_rate_params_counter) := l_keffective_from_date_tab2(i);
4890 l_keffective_to_date_tab(l_k_rate_params_counter) := l_keffective_to_date_tab2(i);
4891 l_kinterest_index_id_tab(l_k_rate_params_counter) := l_kinterest_index_id_tab2(i);
4892 l_kbase_rate_tab(l_k_rate_params_counter) := l_kbase_rate_tab2(i);
4893 l_kinterest_start_date_tab(l_k_rate_params_counter) := l_kinterest_start_date_tab2(i);
4894 IF ( l_kinterest_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4895 l_kinterest_start_date_tab(l_k_rate_params_counter) := p_start_date;
4896 END IF;
4897
4898 l_kadder_rate_tab(l_k_rate_params_counter) := l_kadder_rate_tab2(i);
4899 l_kmaximum_rate_tab(l_k_rate_params_counter) := l_kmaximum_rate_tab2(i);
4900 l_kminimum_rate_tab(l_k_rate_params_counter) := l_kminimum_rate_tab2(i);
4901 l_kprincipal_basis_code_tab(l_k_rate_params_counter) := l_kprincipal_basis_code_tab2(i);
4902 l_kdays_in_a_month_code_tab(l_k_rate_params_counter) := l_kdays_in_a_month_code_tab2(i);
4903 l_kdays_in_a_year_code_tab(l_k_rate_params_counter) := l_kdays_in_a_year_code_tab2(i);
4904 l_kinterest_basis_code_tab(l_k_rate_params_counter) := l_kinterest_basis_code_tab2(i);
4905 l_krate_delay_code_tab(l_k_rate_params_counter) := l_krate_delay_code_tab2(i);
4906 l_krate_delay_frequency_tab(l_k_rate_params_counter) := l_krate_delay_frequency_tab2(i);
4907 l_kcompounding_frequ_code_tab(l_k_rate_params_counter) := l_kcompounding_frequ_code_tab2(i);
4908 l_kcalculation_formula_id_tab(l_k_rate_params_counter) := l_kcalculation_formula_id_tab2(i);
4909 l_kcatchup_basis_code_tab(l_k_rate_params_counter) := l_kcatchup_basis_code_tab2(i);
4910 l_kcatchup_start_date_tab(l_k_rate_params_counter) := l_kcatchup_start_date_tab2(i);
4911 IF (l_kcatchup_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4912 l_kcatchup_start_date_tab(l_k_rate_params_counter) := p_start_date;
4913 END IF;
4914
4915 l_kcatchup_settlemen_code_tab(l_k_rate_params_counter) := l_kcatchup_settlemen_code_tab2(i);
4916 l_krate_change_start_date_tab(l_k_rate_params_counter) := l_krate_change_start_date_tab2(i);
4917 IF (l_krate_change_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4918 l_krate_change_start_date_tab(l_k_rate_params_counter) := p_start_date;
4919 END IF;
4920
4921 l_krate_change_frequ_code_tab(l_k_rate_params_counter) := l_krate_change_frequ_code_tab2(i);
4922 l_krate_change_value_tab(l_k_rate_params_counter) := l_krate_change_value_tab2(i);
4923 l_kconversion_option_code_tab(l_k_rate_params_counter) := l_kconversion_option_code_tab2(i);
4924 l_knext_conversion_date_tab(l_k_rate_params_counter) := l_knext_conversion_date_tab2(i);
4925 l_kconversion_type_code_tab(l_k_rate_params_counter) := l_kconversion_type_code_tab2(i);
4926 l_kattribute_category_tab(l_k_rate_params_counter) := l_kattribute_category_tab2(i);
4927 l_kattribute1_tab(l_k_rate_params_counter) := l_kattribute1_tab2(i);
4928 l_kattribute2_tab(l_k_rate_params_counter) := l_kattribute2_tab2(i);
4929 l_kattribute3_tab(l_k_rate_params_counter) := l_kattribute3_tab2(i);
4930 l_kattribute4_tab(l_k_rate_params_counter) := l_kattribute4_tab2(i);
4931 l_kattribute5_tab(l_k_rate_params_counter) := l_kattribute5_tab2(i);
4932 l_kattribute6_tab(l_k_rate_params_counter) := l_kattribute6_tab2(i);
4933 l_kattribute7_tab(l_k_rate_params_counter) := l_kattribute7_tab2(i);
4934 l_kattribute8_tab(l_k_rate_params_counter) := l_kattribute8_tab2(i);
4935 l_kattribute9_tab(l_k_rate_params_counter) := l_kattribute9_tab2(i);
4936 l_kattribute10_tab(l_k_rate_params_counter) := l_kattribute10_tab2(i);
4937 l_kattribute11_tab(l_k_rate_params_counter) := l_kattribute11_tab2(i);
4938 l_kattribute12_tab(l_k_rate_params_counter) := l_kattribute12_tab2(i);
4939 l_kattribute13_tab(l_k_rate_params_counter) := l_kattribute13_tab2(i);
4940 l_kattribute14_tab(l_k_rate_params_counter) := l_kattribute14_tab2(i);
4941 l_kattribute15_tab(l_k_rate_params_counter) := l_kattribute15_tab2(i);
4942 l_kcatchup_frequency_code_tab(l_k_rate_params_counter) := l_kcatchup_frequency_code_tab2(i);
4943
4944 l_k_rate_params_counter := l_k_rate_params_counter + 1;
4945
4946 -- No special processing for rebook copy (Bug 4730726)
4947 /*IF (p_trans_type = 'CRB') THEN
4948 l_prev_counter := l_k_rate_params_counter - 1;
4949 IF (l_kparameter_type_code_tab(l_prev_counter) = 'ACTUAL' AND
4950 l_keffective_to_date_tab(l_prev_counter) IS NULL) THEN
4951 l_keffective_to_date_tab(l_prev_counter) := p_rbk_date - 1;
4952
4953 -- Make a copy of the current set for rebook copy
4954 l_kkhr_id_tab(l_k_rate_params_counter) := p_new_id;
4955
4956 l_kparameter_type_code_tab(l_k_rate_params_counter) := l_kparameter_type_code_tab(l_prev_counter);
4957
4958 l_keffective_from_date_tab(l_k_rate_params_counter) := p_rbk_date;
4959 l_keffective_to_date_tab(l_k_rate_params_counter) := NULL;
4960
4961 l_kinterest_index_id_tab(l_k_rate_params_counter) := l_kinterest_index_id_tab(l_prev_counter);
4962 l_kbase_rate_tab(l_k_rate_params_counter) := l_kbase_rate_tab(l_prev_counter);
4963 l_kinterest_start_date_tab(l_k_rate_params_counter) := l_kinterest_start_date_tab(l_prev_counter);
4964 IF ( l_kinterest_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4965 l_kinterest_start_date_tab(l_k_rate_params_counter) := p_start_date;
4966 END IF;
4967
4968 l_kadder_rate_tab(l_k_rate_params_counter) := l_kadder_rate_tab(l_prev_counter);
4969 l_kmaximum_rate_tab(l_k_rate_params_counter) := l_kmaximum_rate_tab(l_prev_counter);
4970 l_kminimum_rate_tab(l_k_rate_params_counter) := l_kminimum_rate_tab(l_prev_counter);
4971 l_kprincipal_basis_code_tab(l_k_rate_params_counter) := l_kprincipal_basis_code_tab(l_prev_counter);
4972 l_kdays_in_a_month_code_tab(l_k_rate_params_counter) := l_kdays_in_a_month_code_tab(l_prev_counter);
4973 l_kdays_in_a_year_code_tab(l_k_rate_params_counter) := l_kdays_in_a_year_code_tab(l_prev_counter);
4974 l_kinterest_basis_code_tab(l_k_rate_params_counter) := l_kinterest_basis_code_tab(l_prev_counter);
4975 l_krate_delay_code_tab(l_k_rate_params_counter) := l_krate_delay_code_tab(l_prev_counter);
4976 l_krate_delay_frequency_tab(l_k_rate_params_counter) := l_krate_delay_frequency_tab(l_prev_counter);
4977 l_kcompounding_frequ_code_tab(l_k_rate_params_counter) := l_kcompounding_frequ_code_tab(l_prev_counter);
4978 l_kcalculation_formula_id_tab(l_k_rate_params_counter) := l_kcalculation_formula_id_tab(l_prev_counter);
4979 l_kcatchup_basis_code_tab(l_k_rate_params_counter) := l_kcatchup_basis_code_tab(l_prev_counter);
4980 l_kcatchup_start_date_tab(l_k_rate_params_counter) := l_kcatchup_start_date_tab(l_prev_counter);
4981 IF (l_kcatchup_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4982 l_kcatchup_start_date_tab(l_k_rate_params_counter) := p_start_date;
4983 END IF;
4984
4985 l_kcatchup_settlemen_code_tab(l_k_rate_params_counter) := l_kcatchup_settlemen_code_tab(l_prev_counter);
4986 l_krate_change_start_date_tab(l_k_rate_params_counter) := l_krate_change_start_date_tab(l_prev_counter);
4987 IF (l_krate_change_start_date_tab(l_k_rate_params_counter) IS NOT NULL) THEN
4988 l_krate_change_start_date_tab(l_k_rate_params_counter) := p_start_date;
4989 END IF;
4990
4991 l_krate_change_frequ_code_tab(l_k_rate_params_counter) := l_krate_change_frequ_code_tab(l_prev_counter);
4992 l_krate_change_value_tab(l_k_rate_params_counter) := l_krate_change_value_tab(l_prev_counter);
4993 l_kconversion_option_code_tab(l_k_rate_params_counter) := l_kconversion_option_code_tab(l_prev_counter);
4994 l_knext_conversion_date_tab(l_k_rate_params_counter) := l_knext_conversion_date_tab(l_prev_counter);
4995 l_kconversion_type_code_tab(l_k_rate_params_counter) := l_kconversion_type_code_tab(l_prev_counter);
4996 l_kattribute_category_tab(l_k_rate_params_counter) := l_kattribute_category_tab(l_prev_counter);
4997 l_kattribute1_tab(l_k_rate_params_counter) := l_kattribute1_tab(l_prev_counter);
4998 l_kattribute2_tab(l_k_rate_params_counter) := l_kattribute2_tab(l_prev_counter);
4999 l_kattribute3_tab(l_k_rate_params_counter) := l_kattribute3_tab(l_prev_counter);
5000 l_kattribute4_tab(l_k_rate_params_counter) := l_kattribute4_tab(l_prev_counter);
5001 l_kattribute5_tab(l_k_rate_params_counter) := l_kattribute5_tab(l_prev_counter);
5002 l_kattribute6_tab(l_k_rate_params_counter) := l_kattribute6_tab(l_prev_counter);
5003 l_kattribute7_tab(l_k_rate_params_counter) := l_kattribute7_tab(l_prev_counter);
5004 l_kattribute8_tab(l_k_rate_params_counter) := l_kattribute8_tab(l_prev_counter);
5005 l_kattribute9_tab(l_k_rate_params_counter) := l_kattribute9_tab(l_prev_counter);
5006 l_kattribute10_tab(l_k_rate_params_counter) := l_kattribute10_tab(l_prev_counter);
5007 l_kattribute11_tab(l_k_rate_params_counter) := l_kattribute11_tab(l_prev_counter);
5008 l_kattribute12_tab(l_k_rate_params_counter) := l_kattribute12_tab(l_prev_counter);
5009 l_kattribute13_tab(l_k_rate_params_counter) := l_kattribute13_tab(l_prev_counter);
5010 l_kattribute14_tab(l_k_rate_params_counter) := l_kattribute14_tab(l_prev_counter);
5011 l_kattribute15_tab(l_k_rate_params_counter) := l_kattribute15_tab(l_prev_counter);
5012 l_kcatchup_frequency_code_tab(l_k_rate_params_counter) := l_kcatchup_frequency_code_tab(l_prev_counter);
5013
5014 l_k_rate_params_counter := l_k_rate_params_counter + 1;
5015 END IF;
5016 END IF;*/ -- if rebook copy
5017
5018 END LOOP;
5019 END LOOP;
5020 CLOSE C30;
5021
5022 IF l_k_rate_params_counter > 1 THEN
5023 FORALL i IN l_kkhr_id_tab.FIRST..l_kkhr_id_tab.LAST
5024 INSERT INTO okl_k_rate_params (
5025 khr_id, parameter_type_code, effective_from_date,
5026 effective_to_date, interest_index_id, base_rate,
5027 interest_start_date, adder_rate, maximum_rate,
5028 minimum_rate, principal_basis_code, days_in_a_month_code,
5029 days_in_a_year_code, interest_basis_code, rate_delay_code,
5030 rate_delay_frequency,compounding_frequency_code, calculation_formula_id,
5031 catchup_basis_code, catchup_start_date, catchup_settlement_code,
5032 rate_change_start_date, rate_change_frequency_code, rate_change_value,
5033 conversion_option_code, next_conversion_date, conversion_type_code,
5034 attribute_category, attribute1, attribute2,
5035 attribute3, attribute4, attribute5,
5036 attribute6, attribute7, attribute8,
5037 attribute9, attribute10, attribute11,
5038 attribute12, attribute13, attribute14,
5039 attribute15, created_by, creation_date,
5040 last_updated_by, last_update_date, last_update_login,
5041 catchup_frequency_code
5042 ) VALUES (
5043 l_kkhr_id_tab(i), l_kparameter_type_code_tab(i), l_keffective_from_date_tab(i),
5044 l_keffective_to_date_tab(i), l_kinterest_index_id_tab(i), l_kbase_rate_tab(i),
5045 l_kinterest_start_date_tab(i), l_kadder_rate_tab(i), l_kmaximum_rate_tab(i),
5046 l_kminimum_rate_tab(i), l_kprincipal_basis_code_tab(i), l_kdays_in_a_month_code_tab(i),
5047 l_kdays_in_a_year_code_tab(i), l_kinterest_basis_code_tab(i), l_krate_delay_code_tab(i),
5048 l_krate_delay_frequency_tab(i), l_kcompounding_frequ_code_tab(i), l_kcalculation_formula_id_tab(i),
5049 l_kcatchup_basis_code_tab(i), l_kcatchup_start_date_tab(i), l_kcatchup_settlemen_code_tab(i),
5050 l_krate_change_start_date_tab(i), l_krate_change_frequ_code_tab(i), l_krate_change_value_tab(i),
5051 l_kconversion_option_code_tab(i), l_knext_conversion_date_tab(i), l_kconversion_type_code_tab(i),
5052 l_kattribute_category_tab(i),l_kattribute1_tab(i), l_kattribute2_tab(i),
5053 l_kattribute3_tab(i), l_kattribute4_tab(i), l_kattribute5_tab(i),
5054 l_kattribute6_tab(i), l_kattribute7_tab(i), l_kattribute8_tab(i),
5055 l_kattribute9_tab(i), l_kattribute10_tab(i), l_kattribute11_tab(i),
5056 l_kattribute12_tab(i), l_kattribute13_tab(i), l_kattribute14_tab(i),
5057 l_kattribute15_tab(i), l_created_by, SYSDATE,
5058 l_last_updated_by, SYSDATE, l_last_update_login,
5059 l_kcatchup_frequency_code_tab(i)
5060 );
5061 END IF;
5062
5063 EXCEPTION WHEN OTHERS THEN
5064
5065 --x_return_status := OKL_API.G_RET_STS_ERROR;
5066 /* DEBUG */
5067 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
5068 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
5069 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 || ' ...');
5070 END IF;
5071 IF (l_kkhr_id_tab.COUNT > 0) THEN
5072 FOR i IN l_kkhr_id_tab.first..l_kkhr_id_tab.last
5073 LOOP
5074 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
5075 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'KHR_ID('||i||')=' || l_kKHR_ID_tab(i));
5076 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PARAMETER_TYPE_CODE('||i||')=' || l_kPARAMETER_TYPE_CODE_tab(i));
5077 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'EFFECTIVE_FROM_DATE('||i||')=' || l_kEFFECTIVE_FROM_DATE_tab(i));
5078 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'EFFECTIVE_TO_DATE('||i||')=' || l_kEFFECTIVE_TO_DATE_tab(i));
5079 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'INTEREST_INDEX_ID('||i||')=' || l_kINTEREST_INDEX_ID_tab(i));
5080 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'BASE_RATE('||i||')=' || l_kBASE_RATE_tab(i));
5081 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'INTEREST_START_DATE('||i||')=' || l_kINTEREST_START_DATE_tab(i));
5082 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ADDER_RATE('||i||')=' || l_kADDER_RATE_tab(i));
5083 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'MAXIMUM_RATE('||i||')=' || l_kMAXIMUM_RATE_tab(i));
5084 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'MINIMUM_RATE('||i||')=' || l_kMINIMUM_RATE_tab(i));
5085 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PRINCIPAL_BASIS_CODE('||i||')=' || l_kPRINCIPAL_BASIS_CODE_tab(i));
5086 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));
5087 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));
5088 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'INTEREST_BASIS_CODE('||i||')=' || l_kINTEREST_BASIS_CODE_tab(i));
5089 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_DELAY_CODE('||i||')=' || l_kRATE_DELAY_CODE_tab(i));
5090 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_DELAY_FREQUENCY('||i||')=' || l_kRATE_DELAY_FREQUENCY_tab(i));
5091 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'COMPOUNDING_FREQUENCY_CODE('||i||')=' || l_kCOMPOUNDING_FREQU_CODE_tab(i));
5092 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CALCULATION_FORMULA_ID('||i||')=' || l_kCALCULATION_FORMULA_ID_tab(i));
5093 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CATCHUP_BASIS_CODE('||i||')=' || l_kCATCHUP_BASIS_CODE_tab(i));
5094 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CATCHUP_START_DATE('||i||')=' || l_kCATCHUP_START_DATE_tab(i));
5095 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CATCHUP_SETTLEMENT_CODE('||i||')=' || l_kCATCHUP_SETTLEMEN_CODE_tab(i));
5096 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_CHANGE_START_DATE('||i||')=' || l_kRATE_CHANGE_START_DATE_tab(i));
5097 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_CHANGE_FREQUENCY_CODE('||i||')=' || l_kRATE_CHANGE_FREQU_CODE_tab(i));
5098 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'RATE_CHANGE_VALUE('||i||')=' || l_kRATE_CHANGE_VALUE_tab(i));
5099 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CONVERSION_OPTION_CODE('||i||')=' || l_kCONVERSION_OPTION_CODE_tab(i));
5100 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'NEXT_CONVERSION_DATE('||i||')=' || l_kNEXT_CONVERSION_DATE_tab(i));
5101 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CONVERSION_TYPE_CODE('||i||')=' || l_kCONVERSION_TYPE_CODE_tab(i));
5102 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE_CATEGORY('||i||')=' || l_kATTRIBUTE_CATEGORY_tab(i));
5103 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE1('||i||')=' || l_kATTRIBUTE1_tab(i));
5104 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE2('||i||')=' || l_kATTRIBUTE2_tab(i));
5105 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE3('||i||')=' || l_kATTRIBUTE3_tab(i));
5106 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE4('||i||')=' || l_kATTRIBUTE4_tab(i));
5107 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE5('||i||')=' || l_kATTRIBUTE5_tab(i));
5108 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE6('||i||')=' || l_kATTRIBUTE6_tab(i));
5109 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE7('||i||')=' || l_kATTRIBUTE7_tab(i));
5110 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE8('||i||')=' || l_kATTRIBUTE8_tab(i));
5111 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE9('||i||')=' || l_kATTRIBUTE9_tab(i));
5112 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE10('||i||')=' || l_kATTRIBUTE10_tab(i));
5113 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE11('||i||')=' || l_kATTRIBUTE11_tab(i));
5114 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE12('||i||')=' || l_kATTRIBUTE12_tab(i));
5115 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE13('||i||')=' || l_kATTRIBUTE13_tab(i));
5116 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE14('||i||')=' || l_kATTRIBUTE14_tab(i));
5117 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ATTRIBUTE15('||i||')=' || l_kATTRIBUTE15_tab(i));
5118 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CATCHUP_FREQUENCY_CODE('||i||')=' || l_kCATCHUP_FREQUENCY_CODE_tab(i));
5119 END IF;
5120 END LOOP;
5121 END IF;
5122
5123 RAISE OKC_API.G_EXCEPTION_ERROR;
5124 END copy_var_int_rate_params;
5125
5126 --------------------------------------------------------------------------------
5127 -- Start of comments
5128 --
5129 -- Procedure Name : copy_lease_contract_new
5130 -- Description : Copies the contract and all the lines attached to the contract
5131 -- Business Rules :
5132 -- Parameters :
5133 -- Version : 1.0
5134 -- Notes :
5135 -- End of comments
5136 --------------------------------------------------------------------------------
5137 PROCEDURE copy_lease_contract_new(
5138 p_api_version IN NUMBER,
5139 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
5140 x_return_status OUT NOCOPY VARCHAR2,
5141 x_msg_count OUT NOCOPY NUMBER,
5142 x_msg_data OUT NOCOPY VARCHAR2,
5143 p_commit IN VARCHAR2 DEFAULT 'F',
5144 p_chr_id IN NUMBER,
5145 p_contract_number IN VARCHAR2,
5146 p_contract_number_modifier IN VARCHAR2,
5147 p_to_template_yn IN VARCHAR2 DEFAULT 'N',
5148 p_renew_ref_yn IN VARCHAR2,
5149 p_copy_lines_yn IN VARCHAR2,
5150 p_override_org IN VARCHAR2 DEFAULT 'N',
5151 p_trans_type IN VARCHAR2,
5152 x_chr_id OUT NOCOPY NUMBER,
5153 p_rbk_date IN DATE DEFAULT NULL) IS
5154
5155 l_api_name CONSTANT VARCHAR2(30) := 'COPY_LEASE_CONTRACT_NEW';
5156 G_APP_NAME CONSTANT VARCHAR2(200) := 'OKL_COPY_CONTRACT';
5157 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKL_COPY_CONTRACT_PVT';
5158 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXP_ERROR';
5159 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
5160 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
5161 --G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(11) := 'CONTRACT_ID';
5162 G_WF_EVT_KHR_CREATED CONSTANT VARCHAR2(41) := 'oracle.apps.okl.la.lease_contract.created';
5163
5164 G_WF_EVT_SERV_FEXP_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.service_fee_expense_updated';
5165 G_WF_EVT_FEE_EXP_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.fee_expense_updated';
5166 G_WF_EVT_FEE_PASS_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.fee_passthrough_updated';
5167 G_WF_ITM_FEE_LINE_ID CONSTANT VARCHAR2(30) := 'FEE_LINE_ID';
5168 G_WF_ITM_SERV_CHR_ID CONSTANT VARCHAR2(30) := 'SERVICE_CONTRACT_ID';
5169 G_WF_ITM_SERV_CLE_ID CONSTANT VARCHAR2(30) := 'SERVICE_CONTRACT_LINE_ID';
5170
5171 G_WF_EVT_SERV_PASS_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.service_fee_passthrough_updated';
5172 G_WF_EVT_ASSET_PROPTAX_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.asset_property_tax_updated';
5173 G_WF_EVT_ASSET_FILING_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.asset_filing_updated';
5174 G_WF_EVT_CONTRACT_TERM_UPDATED CONSTANT VARCHAR2(70):= 'oracle.apps.okl.la.lease_contract.asset_filing_terms_updated';
5175 G_WF_ITM_TERMS_ID CONSTANT VARCHAR2(30) := 'TERMS_ID';
5176
5177 G_WF_EVT_ASSET_SUP_INV_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_supplier_invoice_created';
5178 G_WF_EVT_ASSETTAX_DPRN_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_tax_depreciation_created';
5179 G_WF_EVT_ASSETBOOK_DPRN_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_book_depreciation_created';
5180 G_WF_EVT_CR_LMT_CREATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.credit_limit.created';
5181 --G_WF_EVT_CR_LMT_UPDATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.credit_limit.updated';
5182 --G_WF_EVT_CR_LMT_REMOVED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.credit_limit.remove';
5183 G_WF_EVT_ASSET_CREATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.asset_created';
5184 --G_WF_EVT_ASSET_UPDATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.asset_updated';
5185 --G_WF_EVT_ASSET_REMOVED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.remove_asset';
5186 G_WF_EVT_SERVICE_CREATED CONSTANT VARCHAR2(60) := 'oracle.apps.okl.la.lease_contract.service_fee_created';
5187 --G_WF_EVT_SERVICE_UPDATED CONSTANT VARCHAR2(60) := 'oracle.apps.okl.la.lease_contract.service_fee_updated';
5188 G_WF_EVT_ASSET_SUBSIDY_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_subsidy_created';
5189
5190 G_WF_EVT_ASSET_SERIAL_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_serial_numbers_created';
5191 G_WF_ITM_SERIAL_NUM CONSTANT VARCHAR2(30) := 'SERIAL_NUMBER';
5192 G_WF_ITM_CR_LINE_ID CONSTANT VARCHAR2(30) := 'CREDIT_LINE_ID';
5193 G_WF_ITM_CR_LMT_ID CONSTANT VARCHAR2(30) := 'CREDIT_LIMIT_ID';
5194 G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(30) := 'CONTRACT_ID';
5195 G_WF_ITM_ASSET_ID CONSTANT VARCHAR2(30) := 'ASSET_ID';
5196 G_WF_ITM_CONTRACT_PROCESS CONSTANT VARCHAR2(20) := 'CONTRACT_PROCESS';
5197 G_WF_ITM_SRV_LINE_ID CONSTANT VARCHAR2(30) := 'SERVICE_LINE_ID';
5198 G_WF_ITM_SERVICE_KHR_ID CONSTANT VARCHAR2(30) := 'SERVICE_CONTRACT_ID';
5199 G_WF_ITM_SERVICE_CLE_ID CONSTANT VARCHAR2(30) := 'SERVICE_CONTRACT_LINE_ID';
5200 G_WF_ITM_SUBSIDY_ID CONSTANT VARCHAR2(30) := 'SUBSIDY_ID';
5201 G_WF_ITM_SERV_LINE_ID CONSTANT VARCHAR2(30) := 'SERVICE_LINE_ID';
5202
5203 G_WF_ITM_PARTY_ID CONSTANT VARCHAR2(15) := 'PARTY_ID';
5204 G_WF_ITM_PARTY_ROLE_ID CONSTANT VARCHAR2(15) := 'PARTY_ROLE_ID';
5205
5206 G_WF_EVT_KHR_PARTY_CREATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.party_created';
5207 G_WF_EVT_ASSET_FEE_CREATED CONSTANT VARCHAR2(60) := 'oracle.apps.okl.la.lease_contract.asset_fee_created';
5208 G_WF_EVT_ASSET_SERV_FEE_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_service_fee_created';
5209
5210 G_WF_EVT_FEE_CREATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.fee_created';
5211 --G_WF_EVT_FEE_UPDATED CONSTANT VARCHAR2(50) := 'oracle.apps.okl.la.lease_contract.fee_updated';
5212 --G_WF_ITM_FEE_LINE_ID CONSTANT VARCHAR2(30) := 'FEE_LINE_ID';
5213
5214 --G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(30) := 'CONTRACT_ID';
5215 --G_WF_ITM_ASSET_ID CONSTANT VARCHAR2(30) := 'ASSET_ID';
5216 G_WF_ITM_BOOK_CODE CONSTANT VARCHAR2(30) := 'BOOK_CODE';
5217 --G_WF_ITM_CONTRACT_PROCESS CONSTANT VARCHAR2(30) := 'CONTRACT_PROCESS';
5218
5219 l_inventory_org_id NUMBER;
5220 l_curr_pos VARCHAR2(80);
5221 l_message VARCHAR2(30) ;
5222 l_new_mapping_id NUMBER;
5223 l_hstv_rec okc_k_history_pvt.hstv_rec_type;
5224 x_hstv_rec okc_k_history_pvt.hstv_rec_type;
5225 l_serv_contract_id okc_k_headers_b.id%TYPE;
5226 l_service_top_line_id okc_k_lines_b.id%TYPE;
5227 l_deal_type okl_k_headers.deal_type%TYPE;
5228 l_queried BOOLEAN := FALSE;
5229 l_line_style okc_k_lines_b.lse_id%TYPE;
5230 l_terms_id NUMBER;
5231 l_vendor_id VARCHAR2(40);
5232 l_tal_kle_cle_id NUMBER;
5233 l_new_object1_id1 VARCHAR2(40);
5234 l_contract_process VARCHAR2(30);
5235 l_parameter_list wf_parameter_list_t;
5236 l_event_name wf_events.name%TYPE := NULL;
5237 l_raise_business_event VARCHAR2(1) := OKL_API.G_FALSE;
5238 l_business_event_name wf_events.name%TYPE := NULL;
5239
5240 l_contract_number okc_k_headers_b.contract_number%TYPE;
5241 l_copied_id NUMBER;
5242 l_gov_id NUMBER;
5243 l_capital_amount NUMBER;
5244 l_contract_currency okc_k_headers_b.currency_code%TYPE;
5245 l_contract_start_date okc_k_headers_b.start_date%TYPE;
5246 l_conversion_type okc_k_headers_b.CONVERSION_TYPE%TYPE;
5247 l_conversion_rate okc_k_headers_b.CONVERSION_RATE%TYPE;
5248 l_conversion_rate_date okc_k_headers_b.CONVERSION_RATE_DATE%TYPE;
5249 l_template_yn okc_k_headers_b.TEMPLATE_YN%TYPE;
5250 l_trx_assets_counter4 NUMBER := 1;
5251 l_tal_to_kle_counter NUMBER := 1;
5252 l_trx_assets_counter6 NUMBER := 1;
5253 l_okl_k_lines_counter NUMBER := 1;
5254 l_try_id NUMBER;
5255 CURSOR c1(p_chr_id NUMBER) IS
5256 SELECT * FROM okc_k_headers_b
5257 WHERE id=p_chr_id;
5258
5259 CURSOR c2(p_chr_id NUMBER) IS
5260 SELECT * FROM okc_governances
5261 WHERE dnz_chr_id = p_chr_id;
5262
5263 -- okc_governances_h is not needed
5264 /*
5265 cursor c3(p_chr_id number) is
5266 select * from okc_governances_h
5267 where dnz_chr_id = p_chr_id; */
5268
5269 CURSOR c4(p_chr_id NUMBER) IS
5270 SELECT
5271 a.id, a.line_number, a.chr_id,
5272 a.cle_id, a.cle_id_renewed, a.dnz_chr_id,
5273 a.display_sequence, a.sts_code, a.trn_code,
5274 a.lse_id, a.exception_yn, a.object_version_number,
5275 a.created_by, a.creation_date, a.last_updated_by,
5276 a.last_update_date, a.hidden_ind, a.price_negotiated,
5277 a.price_level_ind, a.price_unit, a.price_unit_percent,
5278 a.invoice_line_level_ind, a.dpas_rating, a.template_used,
5279 a.price_type, a.currency_code, a.last_update_login,
5280 a.date_terminated, a.start_date, a.end_date,
5281 a.attribute_category, a.attribute1, a.attribute2,
5282 a.attribute3, a.attribute4, a.attribute5,
5283 a.attribute6, a.attribute7, a.attribute8,
5284 a.attribute9, a.attribute10, a.attribute11,
5285 a.attribute12, a.attribute13, a.attribute14,
5286 a.attribute15, a.security_group_id, a.cle_id_renewed_to,
5287 a.price_negotiated_renewed, a.currency_code_renewed, a.upg_orig_system_ref,
5288 a.upg_orig_system_ref_id, a.date_renewed, a.orig_system_source_code,
5289 a.orig_system_id1, a.orig_system_reference1, a.program_application_id,
5290 a.program_id, a.program_update_date, a.request_id,
5291 a.price_list_id, a.price_list_line_id, a.line_list_price,
5292 a.item_to_price_yn, a.pricing_date, a.price_basis_yn,
5293 a.config_header_id, a.config_revision_number, a.config_complete_yn,
5294 a.config_valid_yn, a.config_top_model_line_id, a.config_item_type,
5295 a.config_item_id, a.service_item_yn, a.ph_pricing_type,
5296 a.ph_price_break_basis, a.ph_min_qty, a.ph_min_amt,
5297 a.ph_qp_reference_id, a.ph_value, a.ph_enforce_price_list_yn,
5298 a.ph_adjustment, a.ph_integrated_with_qp, a.cust_acct_id,
5299 a.bill_to_site_use_id, a.inv_rule_id, a.line_renewal_type_code,
5300 a.ship_to_site_use_id, a.payment_term_id, b.fee_type,
5301 c.name
5302 FROM okc_k_lines_b a,
5303 okl_k_lines b,
5304 okc_k_lines_tl c
5305 WHERE a.dnz_chr_id = p_chr_id
5306 AND a.id = b.id
5307 AND a.id = c.id
5308 AND c.LANGUAGE = USERENV('LANG');
5309
5310 CURSOR c29(p_id NUMBER) IS
5311 SELECT rlobj.cle_id, rlobj.object1_id1
5312 FROM okc_k_rel_objs_v rlobj
5313 WHERE rlobj.chr_id = p_id
5314 --AND rlobj.cle_id = p_line_id
5315 AND rlobj.rty_code = 'OKLSRV'
5316 AND rlobj.jtot_object1_code = 'OKL_SERVICE_LINE';
5317
5318 -- Bug 4738057
5319 CURSOR contract_exists_csr(p_contract_number IN VARCHAR2) IS
5320 SELECT ID
5321 FROM OKC_K_HEADERS_B
5322 WHERE CONTRACT_NUMBER = p_contract_number;
5323
5324 TYPE l_subsidy_id_type IS TABLE OF okl_k_lines.subsidy_id%TYPE INDEX BY BINARY_INTEGER;
5325
5326 TYPE l_id_type IS TABLE OF okc_k_lines_b.id%TYPE INDEX BY BINARY_INTEGER;
5327 TYPE l_line_number_type IS TABLE OF okc_k_lines_b.line_number%TYPE INDEX BY BINARY_INTEGER;
5328 TYPE l_chr_id_type IS TABLE OF okc_k_lines_b.chr_id%TYPE INDEX BY BINARY_INTEGER;
5329 TYPE l_cle_id_type IS TABLE OF okc_k_lines_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
5330 TYPE l_cle_id_renewed_type IS TABLE OF okc_k_lines_b.cle_id_renewed%TYPE INDEX BY BINARY_INTEGER;
5331 TYPE l_dnz_chr_id_type IS TABLE OF okc_k_lines_b.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5332 TYPE l_display_sequence_type IS TABLE OF okc_k_lines_b.display_sequence%TYPE INDEX BY BINARY_INTEGER;
5333 TYPE l_sts_code_type IS TABLE OF okc_k_lines_b.sts_code%TYPE INDEX BY BINARY_INTEGER;
5334 TYPE l_trn_code_type IS TABLE OF okc_k_lines_b.trn_code%TYPE INDEX BY BINARY_INTEGER;
5335 TYPE l_lse_id_type IS TABLE OF okc_k_lines_b.lse_id%TYPE INDEX BY BINARY_INTEGER;
5336 --avsingh: Bug 5710213: start
5337 TYPE l_lty_code_type IS TABLE OF okc_line_styles_b.lty_code%TYPE INDEX BY BINARY_INTEGER;
5338 --avsingh: Bug 5710213: end
5339 TYPE l_exception_yn_type IS TABLE OF okc_k_lines_b.exception_yn%TYPE INDEX BY BINARY_INTEGER;
5340 TYPE l_object_version_number_type IS TABLE OF okc_k_lines_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5341 TYPE l_created_by_type IS TABLE OF okc_k_lines_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5342 TYPE l_creation_date_type IS TABLE OF okc_k_lines_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5343 TYPE l_last_updated_by_type IS TABLE OF okc_k_lines_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5344 TYPE l_last_update_date_type IS TABLE OF okc_k_lines_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5345 TYPE l_hidden_ind_type IS TABLE OF okc_k_lines_b.hidden_ind%TYPE INDEX BY BINARY_INTEGER;
5346 TYPE l_price_negotiated_type IS TABLE OF okc_k_lines_b.price_negotiated%TYPE INDEX BY BINARY_INTEGER;
5347 TYPE l_price_level_ind_type IS TABLE OF okc_k_lines_b.price_level_ind%TYPE INDEX BY BINARY_INTEGER;
5348 TYPE l_price_unit_type IS TABLE OF okc_k_lines_b.price_unit%TYPE INDEX BY BINARY_INTEGER;
5349 TYPE l_price_unit_percent_type IS TABLE OF okc_k_lines_b.price_unit_percent%TYPE INDEX BY BINARY_INTEGER;
5350 TYPE l_invoice_line_level_ind_type IS TABLE OF okc_k_lines_b.invoice_line_level_ind%TYPE INDEX BY BINARY_INTEGER;
5351 TYPE l_dpas_rating_type IS TABLE OF okc_k_lines_b.dpas_rating%TYPE INDEX BY BINARY_INTEGER;
5352 TYPE l_template_used_type IS TABLE OF okc_k_lines_b.template_used%TYPE INDEX BY BINARY_INTEGER;
5353 TYPE l_price_type_type IS TABLE OF okc_k_lines_b.price_type%TYPE INDEX BY BINARY_INTEGER;
5354 TYPE l_currency_code_type IS TABLE OF okc_k_lines_b.currency_code%TYPE INDEX BY BINARY_INTEGER;
5355 TYPE l_last_update_login_type IS TABLE OF okc_k_lines_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5356 TYPE l_date_terminated_type IS TABLE OF okc_k_lines_b.date_terminated%TYPE INDEX BY BINARY_INTEGER;
5357 TYPE l_start_date_type IS TABLE OF okc_k_lines_b.start_date%TYPE INDEX BY BINARY_INTEGER;
5358 TYPE l_end_date_type IS TABLE OF okc_k_lines_b.end_date%TYPE INDEX BY BINARY_INTEGER;
5359 TYPE l_attribute_category_type IS TABLE OF okc_k_lines_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5360 TYPE l_attribute1_type IS TABLE OF okc_k_lines_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5361 TYPE l_attribute2_type IS TABLE OF okc_k_lines_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5362 TYPE l_attribute3_type IS TABLE OF okc_k_lines_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5363 TYPE l_attribute4_type IS TABLE OF okc_k_lines_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5364 TYPE l_attribute5_type IS TABLE OF okc_k_lines_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5365 TYPE l_attribute6_type IS TABLE OF okc_k_lines_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5366 TYPE l_attribute7_type IS TABLE OF okc_k_lines_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5367 TYPE l_attribute8_type IS TABLE OF okc_k_lines_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5368 TYPE l_attribute9_type IS TABLE OF okc_k_lines_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5369 TYPE l_attribute10_type IS TABLE OF okc_k_lines_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5370 TYPE l_attribute11_type IS TABLE OF okc_k_lines_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5371 TYPE l_attribute12_type IS TABLE OF okc_k_lines_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5372 TYPE l_attribute13_type IS TABLE OF okc_k_lines_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5373 TYPE l_attribute14_type IS TABLE OF okc_k_lines_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5374 TYPE l_attribute15_type IS TABLE OF okc_k_lines_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5375 TYPE l_security_group_id_type IS TABLE OF okc_k_lines_b.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5376 TYPE l_cle_id_renewed_to_type IS TABLE OF okc_k_lines_b.cle_id_renewed_to%TYPE INDEX BY BINARY_INTEGER;
5377 TYPE l_price_negotiated_renewed_typ IS TABLE OF okc_k_lines_b.price_negotiated_renewed%TYPE INDEX BY BINARY_INTEGER;
5378 TYPE l_currency_code_renewed_type IS TABLE OF okc_k_lines_b.currency_code_renewed%TYPE INDEX BY BINARY_INTEGER;
5379 TYPE l_upg_orig_system_ref_type IS TABLE OF okc_k_lines_b.upg_orig_system_ref%TYPE INDEX BY BINARY_INTEGER;
5380 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;
5381 TYPE l_date_renewed_type IS TABLE OF okc_k_lines_b.date_renewed%TYPE INDEX BY BINARY_INTEGER;
5382 TYPE l_orig_system_source_code_type IS TABLE OF okc_k_lines_b.orig_system_source_code%TYPE INDEX BY BINARY_INTEGER;
5383 TYPE l_orig_system_id1_type IS TABLE OF okc_k_lines_b.orig_system_id1%TYPE INDEX BY BINARY_INTEGER;
5384 TYPE l_orig_system_reference1_type IS TABLE OF okc_k_lines_b.orig_system_reference1%TYPE INDEX BY BINARY_INTEGER;
5385 TYPE l_program_application_id_type IS TABLE OF okc_k_lines_b.program_application_id%TYPE INDEX BY BINARY_INTEGER;
5386 TYPE l_program_id_type IS TABLE OF okc_k_lines_b.program_id%TYPE INDEX BY BINARY_INTEGER;
5387 TYPE l_program_update_date_type IS TABLE OF okc_k_lines_b.program_update_date%TYPE INDEX BY BINARY_INTEGER;
5388 TYPE l_request_id_type IS TABLE OF okc_k_lines_b.request_id%TYPE INDEX BY BINARY_INTEGER;
5389 TYPE l_price_list_id_type IS TABLE OF okc_k_lines_b.price_list_id%TYPE INDEX BY BINARY_INTEGER;
5390 TYPE l_price_list_line_id_type IS TABLE OF okc_k_lines_b.price_list_line_id%TYPE INDEX BY BINARY_INTEGER;
5391 TYPE l_line_list_price_type IS TABLE OF okc_k_lines_b.line_list_price%TYPE INDEX BY BINARY_INTEGER;
5392 TYPE l_item_to_price_yn_type IS TABLE OF okc_k_lines_b.item_to_price_yn%TYPE INDEX BY BINARY_INTEGER;
5393 TYPE l_pricing_date_type IS TABLE OF okc_k_lines_b.pricing_date%TYPE INDEX BY BINARY_INTEGER;
5394 TYPE l_price_basis_yn_type IS TABLE OF okc_k_lines_b.price_basis_yn%TYPE INDEX BY BINARY_INTEGER;
5395 TYPE l_config_header_id_type IS TABLE OF okc_k_lines_b.config_header_id%TYPE INDEX BY BINARY_INTEGER;
5396 TYPE l_config_revision_number_type IS TABLE OF okc_k_lines_b.config_revision_number%TYPE INDEX BY BINARY_INTEGER;
5397 TYPE l_config_complete_yn_type IS TABLE OF okc_k_lines_b.config_complete_yn%TYPE INDEX BY BINARY_INTEGER;
5398 TYPE l_config_valid_yn_type IS TABLE OF okc_k_lines_b.config_valid_yn%TYPE INDEX BY BINARY_INTEGER;
5399 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;
5400 TYPE l_config_item_type_type IS TABLE OF okc_k_lines_b.config_item_type%TYPE INDEX BY BINARY_INTEGER;
5401 TYPE l_config_item_id_type IS TABLE OF okc_k_lines_b.config_item_id%TYPE INDEX BY BINARY_INTEGER;
5402 TYPE l_service_item_yn_type IS TABLE OF okc_k_lines_b.service_item_yn%TYPE INDEX BY BINARY_INTEGER;
5403 TYPE l_ph_pricing_type_type IS TABLE OF okc_k_lines_b.ph_pricing_type%TYPE INDEX BY BINARY_INTEGER;
5404 TYPE l_ph_price_break_basis_type IS TABLE OF okc_k_lines_b.ph_price_break_basis%TYPE INDEX BY BINARY_INTEGER;
5405 TYPE l_ph_min_qty_type IS TABLE OF okc_k_lines_b.ph_min_qty%TYPE INDEX BY BINARY_INTEGER;
5406 TYPE l_ph_min_amt_type IS TABLE OF okc_k_lines_b.ph_min_amt%TYPE INDEX BY BINARY_INTEGER;
5407 TYPE l_ph_qp_reference_id_type IS TABLE OF okc_k_lines_b.ph_qp_reference_id%TYPE INDEX BY BINARY_INTEGER;
5408 TYPE l_ph_value_type IS TABLE OF okc_k_lines_b.ph_value%TYPE INDEX BY BINARY_INTEGER;
5409 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;
5410 TYPE l_ph_adjustment_type IS TABLE OF okc_k_lines_b.ph_adjustment%TYPE INDEX BY BINARY_INTEGER;
5411 TYPE l_ph_integrated_with_qp_type IS TABLE OF okc_k_lines_b.ph_integrated_with_qp%TYPE INDEX BY BINARY_INTEGER;
5412 TYPE l_cust_acct_id_type IS TABLE OF okc_k_lines_b.cust_acct_id%TYPE INDEX BY BINARY_INTEGER;
5413 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;
5414 TYPE l_inv_rule_id_type IS TABLE OF okc_k_lines_b.inv_rule_id%TYPE INDEX BY BINARY_INTEGER;
5415 TYPE l_line_renewal_type_code_type IS TABLE OF okc_k_lines_b.line_renewal_type_code%TYPE INDEX BY BINARY_INTEGER;
5416 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;
5417 TYPE l_payment_term_id_type IS TABLE OF okc_k_lines_b.payment_term_id%TYPE INDEX BY BINARY_INTEGER;
5418 TYPE l_fee_type_type IS TABLE OF okl_k_lines.fee_type%TYPE INDEX BY BINARY_INTEGER;
5419 TYPE l_name_type IS TABLE OF okc_k_lines_tl.name%TYPE INDEX BY BINARY_INTEGER;
5420
5421 -- For okl_k_lines whole record
5422 TYPE l_okl_k_lines_rec_type IS RECORD (
5423 --id okl_k_lines.id%type := OKC_API.G_MISS_NUM,
5424 id NUMBER := OKC_API.G_MISS_NUM,
5425 oec okl_k_lines.oec%TYPE,
5426 year_built okl_k_lines.year_built%TYPE,
5427 item_description okc_k_lines_tl.item_description%TYPE := OKC_API.G_MISS_CHAR
5428 );
5429 /*
5430 TYPE lines_rec_type is record (
5431 id okl_k_lines.id%type := OKC_API.G_MISS_NUM,
5432 oec okl_k_lines.oec%type
5433 );
5434 TYPE lines_tbl_type is TABLE OF lines_rec_type
5435 index by binary_integer; */
5436
5437 TYPE l_okl_k_lines_rec_tab IS TABLE OF l_okl_k_lines_rec_type
5438 INDEX BY BINARY_INTEGER;
5439 -- For okl_k_lines whole record
5440
5441 -- For okc_k_items whole record
5442 TYPE l_okc_k_items_rec_type IS RECORD (
5443 id okc_k_items.cle_id%TYPE := OKC_API.G_MISS_NUM,
5444 number_of_items okc_k_items.number_of_items%TYPE := OKC_API.G_MISS_NUM,
5445 object1_id1 okc_k_items.object1_id1%TYPE := OKC_API.G_MISS_CHAR,
5446 object1_id2 okc_k_items.object1_id2%TYPE := OKC_API.G_MISS_CHAR
5447 );
5448 TYPE l_okc_k_items_rec_tab IS TABLE OF l_okc_k_items_rec_type INDEX BY BINARY_INTEGER;
5449 -- For okc_k_items whole record
5450
5451
5452 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);
5453 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);
5454 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);
5455 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);
5456 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);
5457 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);
5458 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);
5459 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);
5460 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);
5461 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);
5462 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);
5463 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);
5464 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);
5465 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);
5466 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);
5467 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);
5468 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);
5469
5470 TYPE l_bid_mapping_tab_type IS TABLE OF l_bid_mapping_type INDEX BY BINARY_INTEGER;
5471 TYPE l_cle_lse_mapping_tab_type IS TABLE OF l_cle_lse_mapping_type INDEX BY BINARY_INTEGER;
5472 TYPE l_ssid_mapping_tab_type IS TABLE OF l_ssid_mapping_type INDEX BY BINARY_INTEGER;
5473 TYPE l_sid_mapping_tab_type IS TABLE OF l_sid_mapping_type INDEX BY BINARY_INTEGER;
5474 TYPE l_tid_mapping_tab_type IS TABLE OF l_tid_mapping_type INDEX BY BINARY_INTEGER;
5475 TYPE l_vid_mapping_tab_type IS TABLE OF l_vid_mapping_type INDEX BY BINARY_INTEGER;
5476 TYPE l_dbid_mapping_tab_type IS TABLE OF l_dbid_mapping_type INDEX BY BINARY_INTEGER;
5477 TYPE l_osid_mapping_tab_type IS TABLE OF l_osid_mapping_type INDEX BY BINARY_INTEGER;
5478 TYPE l_cid_mapping_tab_type IS TABLE OF l_cid_mapping_type INDEX BY BINARY_INTEGER;
5479 TYPE l_rid_mapping_tab_type IS TABLE OF l_rid_mapping_type INDEX BY BINARY_INTEGER;
5480 TYPE l_id_mapping_tab_type IS TABLE OF l_id_mapping_type INDEX BY BINARY_INTEGER;
5481 TYPE l_orig_system_tab_type IS TABLE OF l_orig_system_rec_type INDEX BY BINARY_INTEGER;
5482 TYPE l_rrid_mapping_tab_type IS TABLE OF l_rrid_mapping_type INDEX BY BINARY_INTEGER;
5483 TYPE l_aid_mapping_tab_type IS TABLE OF l_aid_mapping_type INDEX BY BINARY_INTEGER;
5484 TYPE l_oid_mapping_tab_type IS TABLE OF l_oid_mapping_type INDEX BY BINARY_INTEGER;
5485 TYPE l_cle_mapping_tab_type IS TABLE OF l_cle_mapping_type INDEX BY BINARY_INTEGER;
5486 TYPE l_cle_mapping_tab_type2 IS TABLE OF l_cle_mapping_type2 INDEX BY BINARY_INTEGER;
5487
5488 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);
5489 TYPE l_party_id_mapping_tab_type IS TABLE OF l_party_id_mapping_type INDEX BY BINARY_INTEGER;
5490
5491 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);
5492 TYPE l_trx_id_mapping_tab_type IS TABLE OF l_trx_id_mapping_type INDEX BY BINARY_INTEGER;
5493
5494 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);
5495 TYPE l_txl_id_mapping_tab_type IS TABLE OF l_txl_id_mapping_type INDEX BY BINARY_INTEGER;
5496
5497 -- For okl_k_party_roles begin
5498 TYPE l_plid_type is table of okl_k_party_roles.id%TYPE index by binary_integer;
5499 TYPE l_plobject_version_number_type is table of okl_k_party_roles.object_version_number%TYPE index by binary_integer;
5500 TYPE l_plattribute_category_type is table of okl_k_party_roles.attribute_category%TYPE index by binary_integer;
5501 TYPE l_plattribute1_type is table of okl_k_party_roles.attribute1%TYPE index by binary_integer;
5502 TYPE l_plattribute2_type is table of okl_k_party_roles.attribute2%TYPE index by binary_integer;
5503 TYPE l_plattribute3_type is table of okl_k_party_roles.attribute3%TYPE index by binary_integer;
5504 TYPE l_plattribute4_type is table of okl_k_party_roles.attribute4%TYPE index by binary_integer;
5505 TYPE l_plattribute5_type is table of okl_k_party_roles.attribute5%TYPE index by binary_integer;
5506 TYPE l_plattribute6_type is table of okl_k_party_roles.attribute6%TYPE index by binary_integer;
5507 TYPE l_plattribute7_type is table of okl_k_party_roles.attribute7%TYPE index by binary_integer;
5508 TYPE l_plattribute8_type is table of okl_k_party_roles.attribute8%TYPE index by binary_integer;
5509 TYPE l_plattribute9_type is table of okl_k_party_roles.attribute9%TYPE index by binary_integer;
5510 TYPE l_plattribute10_type is table of okl_k_party_roles.attribute10%TYPE index by binary_integer;
5511 TYPE l_plattribute11_type is table of okl_k_party_roles.attribute11%TYPE index by binary_integer;
5512 TYPE l_plattribute12_type is table of okl_k_party_roles.attribute12%TYPE index by binary_integer;
5513 TYPE l_plattribute13_type is table of okl_k_party_roles.attribute13%TYPE index by binary_integer;
5514 TYPE l_plattribute14_type is table of okl_k_party_roles.attribute14%TYPE index by binary_integer;
5515 TYPE l_plattribute15_type is table of okl_k_party_roles.attribute15%TYPE index by binary_integer;
5516 -- For okl_k_party_roles end
5517
5518 -- For party_roles_tl Begin
5519 TYPE l_pid_type IS TABLE OF okc_k_party_roles_tl.id%TYPE INDEX BY BINARY_INTEGER;
5520 TYPE l_planguage_type IS TABLE OF okc_k_party_roles_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
5521 TYPE l_psource_lang_type IS TABLE OF okc_k_party_roles_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
5522 TYPE l_psfwt_flag_type IS TABLE OF okc_k_party_roles_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
5523 TYPE l_pcreated_by_type IS TABLE OF okc_k_party_roles_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
5524 TYPE l_pcreation_date_type IS TABLE OF okc_k_party_roles_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
5525 TYPE l_plast_updated_by_type IS TABLE OF okc_k_party_roles_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5526 TYPE l_plast_update_date_type IS TABLE OF okc_k_party_roles_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5527 TYPE l_pcognomen_type IS TABLE OF okc_k_party_roles_tl.cognomen%TYPE INDEX BY BINARY_INTEGER;
5528 TYPE l_palias_type IS TABLE OF okc_k_party_roles_tl.alias%TYPE INDEX BY BINARY_INTEGER;
5529 TYPE l_plast_update_login_type IS TABLE OF okc_k_party_roles_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5530 TYPE l_psecurity_group_id_type IS TABLE OF okc_k_party_roles_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5531 -- For party_roles_tl End
5532
5533 -- For okl_supp_invoice_dtls Begin
5534 TYPE l_osid_type IS TABLE OF okl_supp_invoice_dtls.id%TYPE INDEX BY BINARY_INTEGER;
5535 TYPE l_osobject_version_number_type IS TABLE OF okl_supp_invoice_dtls.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5536 TYPE l_oscle_id_type IS TABLE OF okl_supp_invoice_dtls.cle_id%TYPE INDEX BY BINARY_INTEGER;
5537 TYPE l_osfa_cle_id_type IS TABLE OF okl_supp_invoice_dtls.fa_cle_id%TYPE INDEX BY BINARY_INTEGER;
5538 TYPE l_osinvoice_number_type IS TABLE OF okl_supp_invoice_dtls.invoice_number%TYPE INDEX BY BINARY_INTEGER;
5539 TYPE l_osdate_invoiced_type IS TABLE OF okl_supp_invoice_dtls.date_invoiced%TYPE INDEX BY BINARY_INTEGER;
5540 TYPE l_osdate_due_type IS TABLE OF okl_supp_invoice_dtls.date_due%TYPE INDEX BY BINARY_INTEGER;
5541 TYPE l_osshipping_address_id1_type IS TABLE OF okl_supp_invoice_dtls.shipping_address_id1%TYPE INDEX BY BINARY_INTEGER;
5542 TYPE l_osshipping_address_id2_type IS TABLE OF okl_supp_invoice_dtls.shipping_address_id2%TYPE INDEX BY BINARY_INTEGER;
5543 TYPE l_osshipping_address_code_type IS TABLE OF okl_supp_invoice_dtls.shipping_address_code%TYPE INDEX BY BINARY_INTEGER;
5544 TYPE l_osattribute_category_type IS TABLE OF okl_supp_invoice_dtls.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5545 TYPE l_osattribute1_type IS TABLE OF okl_supp_invoice_dtls.attribute1%TYPE INDEX BY BINARY_INTEGER;
5546 TYPE l_osattribute2_type IS TABLE OF okl_supp_invoice_dtls.attribute2%TYPE INDEX BY BINARY_INTEGER;
5547 TYPE l_osattribute3_type IS TABLE OF okl_supp_invoice_dtls.attribute3%TYPE INDEX BY BINARY_INTEGER;
5548 TYPE l_osattribute4_type IS TABLE OF okl_supp_invoice_dtls.attribute4%TYPE INDEX BY BINARY_INTEGER;
5549 TYPE l_osattribute5_type IS TABLE OF okl_supp_invoice_dtls.attribute5%TYPE INDEX BY BINARY_INTEGER;
5550 TYPE l_osattribute6_type IS TABLE OF okl_supp_invoice_dtls.attribute6%TYPE INDEX BY BINARY_INTEGER;
5551 TYPE l_osattribute7_type IS TABLE OF okl_supp_invoice_dtls.attribute7%TYPE INDEX BY BINARY_INTEGER;
5552 TYPE l_osattribute8_type IS TABLE OF okl_supp_invoice_dtls.attribute8%TYPE INDEX BY BINARY_INTEGER;
5553 TYPE l_osattribute9_type IS TABLE OF okl_supp_invoice_dtls.attribute9%TYPE INDEX BY BINARY_INTEGER;
5554 TYPE l_osattribute10_type IS TABLE OF okl_supp_invoice_dtls.attribute10%TYPE INDEX BY BINARY_INTEGER;
5555 TYPE l_osattribute11_type IS TABLE OF okl_supp_invoice_dtls.attribute11%TYPE INDEX BY BINARY_INTEGER;
5556 TYPE l_osattribute12_type IS TABLE OF okl_supp_invoice_dtls.attribute12%TYPE INDEX BY BINARY_INTEGER;
5557 TYPE l_osattribute13_type IS TABLE OF okl_supp_invoice_dtls.attribute13%TYPE INDEX BY BINARY_INTEGER;
5558 TYPE l_osattribute14_type IS TABLE OF okl_supp_invoice_dtls.attribute14%TYPE INDEX BY BINARY_INTEGER;
5559 TYPE l_osattribute15_type IS TABLE OF okl_supp_invoice_dtls.attribute15%TYPE INDEX BY BINARY_INTEGER;
5560 TYPE l_oscreated_by_type IS TABLE OF okl_supp_invoice_dtls.created_by%TYPE INDEX BY BINARY_INTEGER;
5561 TYPE l_oscreation_date_type IS TABLE OF okl_supp_invoice_dtls.creation_date%TYPE INDEX BY BINARY_INTEGER;
5562 TYPE l_oslast_updated_by_type IS TABLE OF okl_supp_invoice_dtls.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5563 TYPE l_oslast_update_date_type IS TABLE OF okl_supp_invoice_dtls.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5564 TYPE l_oslast_update_login_type IS TABLE OF okl_supp_invoice_dtls.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5565 -- For okl_supp_invoice_dtls End
5566
5567 TYPE l_misc_object1_id1 IS TABLE OF VARCHAR2(40) INDEX BY BINARY_INTEGER;
5568 -- For okc_contacts Begin
5569
5570 TYPE l_cid_type IS TABLE OF okc_contacts.id%TYPE INDEX BY BINARY_INTEGER;
5571 TYPE l_ccpl_id_type IS TABLE OF okc_contacts.cpl_id%TYPE INDEX BY BINARY_INTEGER;
5572 TYPE l_ccro_code_type IS TABLE OF okc_contacts.cro_code%TYPE INDEX BY BINARY_INTEGER;
5573 TYPE l_cdnz_chr_id_type IS TABLE OF okc_contacts.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5574 TYPE l_cobject1_id1_type IS TABLE OF okc_contacts.object1_id1%TYPE INDEX BY BINARY_INTEGER;
5575 TYPE l_cobject1_id2_type IS TABLE OF okc_contacts.object1_id2%TYPE INDEX BY BINARY_INTEGER;
5576 TYPE l_cjtot_object1_code_type IS TABLE OF okc_contacts.jtot_object1_code%TYPE INDEX BY BINARY_INTEGER;
5577 TYPE l_cobject_version_number_type IS TABLE OF okc_contacts.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5578 TYPE l_ccreated_by_type IS TABLE OF okc_contacts.created_by%TYPE INDEX BY BINARY_INTEGER;
5579 TYPE l_ccreation_date_type IS TABLE OF okc_contacts.creation_date%TYPE INDEX BY BINARY_INTEGER;
5580 TYPE l_clast_updated_by_type IS TABLE OF okc_contacts.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5581 TYPE l_clast_update_date_type IS TABLE OF okc_contacts.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5582 TYPE l_ccontact_sequence_type IS TABLE OF okc_contacts.contact_sequence%TYPE INDEX BY BINARY_INTEGER;
5583 TYPE l_clast_update_login_type IS TABLE OF okc_contacts.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5584 TYPE l_cattribute_category_type IS TABLE OF okc_contacts.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5585 TYPE l_cattribute1_type IS TABLE OF okc_contacts.attribute1%TYPE INDEX BY BINARY_INTEGER;
5586 TYPE l_cattribute2_type IS TABLE OF okc_contacts.attribute2%TYPE INDEX BY BINARY_INTEGER;
5587 TYPE l_cattribute3_type IS TABLE OF okc_contacts.attribute3%TYPE INDEX BY BINARY_INTEGER;
5588 TYPE l_cattribute4_type IS TABLE OF okc_contacts.attribute4%TYPE INDEX BY BINARY_INTEGER;
5589 TYPE l_cattribute5_type IS TABLE OF okc_contacts.attribute5%TYPE INDEX BY BINARY_INTEGER;
5590 TYPE l_cattribute6_type IS TABLE OF okc_contacts.attribute6%TYPE INDEX BY BINARY_INTEGER;
5591 TYPE l_cattribute7_type IS TABLE OF okc_contacts.attribute7%TYPE INDEX BY BINARY_INTEGER;
5592 TYPE l_cattribute8_type IS TABLE OF okc_contacts.attribute8%TYPE INDEX BY BINARY_INTEGER;
5593 TYPE l_cattribute9_type IS TABLE OF okc_contacts.attribute9%TYPE INDEX BY BINARY_INTEGER;
5594 TYPE l_cattribute10_type IS TABLE OF okc_contacts.attribute10%TYPE INDEX BY BINARY_INTEGER;
5595 TYPE l_cattribute11_type IS TABLE OF okc_contacts.attribute11%TYPE INDEX BY BINARY_INTEGER;
5596 TYPE l_cattribute12_type IS TABLE OF okc_contacts.attribute12%TYPE INDEX BY BINARY_INTEGER;
5597 TYPE l_cattribute13_type IS TABLE OF okc_contacts.attribute13%TYPE INDEX BY BINARY_INTEGER;
5598 TYPE l_cattribute14_type IS TABLE OF okc_contacts.attribute14%TYPE INDEX BY BINARY_INTEGER;
5599 TYPE l_cattribute15_type IS TABLE OF okc_contacts.attribute15%TYPE INDEX BY BINARY_INTEGER;
5600 TYPE l_csecurity_group_id_type IS TABLE OF okc_contacts.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5601 TYPE l_cstart_date_type IS TABLE OF okc_contacts.start_date%TYPE INDEX BY BINARY_INTEGER;
5602 TYPE l_cend_date_type IS TABLE OF okc_contacts.end_date%TYPE INDEX BY BINARY_INTEGER;
5603 TYPE l_cprimary_yn_type IS TABLE OF okc_contacts.primary_yn%TYPE INDEX BY BINARY_INTEGER;
5604 TYPE l_cresource_class_type IS TABLE OF okc_contacts.resource_class%TYPE INDEX BY BINARY_INTEGER;
5605
5606 -- For okc_contacts End
5607
5608 -- For okc_rule_groups_b Begin
5609
5610 TYPE l_rid_type IS TABLE OF okc_rule_groups_b.id%TYPE INDEX BY BINARY_INTEGER;
5611 TYPE l_rrgd_code_type IS TABLE OF okc_rule_groups_b.rgd_code%TYPE INDEX BY BINARY_INTEGER;
5612 TYPE l_rchr_id_type IS TABLE OF okc_rule_groups_b.chr_id%TYPE INDEX BY BINARY_INTEGER;
5613 TYPE l_rcle_id_type IS TABLE OF okc_rule_groups_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
5614 TYPE l_rdnz_chr_id_type IS TABLE OF okc_rule_groups_b.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5615 TYPE l_rparent_rgp_id_type IS TABLE OF okc_rule_groups_b.parent_rgp_id%TYPE INDEX BY BINARY_INTEGER;
5616 TYPE l_rsat_code_type IS TABLE OF okc_rule_groups_b.sat_code%TYPE INDEX BY BINARY_INTEGER;
5617 TYPE l_robject_version_number_type IS TABLE OF okc_rule_groups_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5618 TYPE l_rrgp_type_type IS TABLE OF okc_rule_groups_b.rgp_type%TYPE INDEX BY BINARY_INTEGER;
5619 TYPE l_rcreated_by_type IS TABLE OF okc_rule_groups_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5620 TYPE l_rcreation_date_type IS TABLE OF okc_rule_groups_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5621 TYPE l_rlast_updated_by_type IS TABLE OF okc_rule_groups_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5622 TYPE l_rlast_update_date_type IS TABLE OF okc_rule_groups_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5623 TYPE l_rlast_update_login_type IS TABLE OF okc_rule_groups_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5624 TYPE l_rattribute_category_type IS TABLE OF okc_rule_groups_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5625 TYPE l_rattribute1_type IS TABLE OF okc_rule_groups_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5626 TYPE l_rattribute2_type IS TABLE OF okc_rule_groups_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5627 TYPE l_rattribute3_type IS TABLE OF okc_rule_groups_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5628 TYPE l_rattribute4_type IS TABLE OF okc_rule_groups_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5629 TYPE l_rattribute5_type IS TABLE OF okc_rule_groups_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5630 TYPE l_rattribute6_type IS TABLE OF okc_rule_groups_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5631 TYPE l_rattribute7_type IS TABLE OF okc_rule_groups_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5632 TYPE l_rattribute8_type IS TABLE OF okc_rule_groups_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5633 TYPE l_rattribute9_type IS TABLE OF okc_rule_groups_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5634 TYPE l_rattribute10_type IS TABLE OF okc_rule_groups_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5635 TYPE l_rattribute11_type IS TABLE OF okc_rule_groups_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5636 TYPE l_rattribute12_type IS TABLE OF okc_rule_groups_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5637 TYPE l_rattribute13_type IS TABLE OF okc_rule_groups_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5638 TYPE l_rattribute14_type IS TABLE OF okc_rule_groups_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5639 TYPE l_rattribute15_type IS TABLE OF okc_rule_groups_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5640 TYPE l_rsecurity_group_id_type IS TABLE OF okc_rule_groups_b.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5641
5642 -- For okc_rule_groups_b End
5643
5644 -- For okc_rule_groups_tl Begin
5645 TYPE l_rtid_type IS TABLE OF okc_rule_groups_tl.id%TYPE INDEX BY BINARY_INTEGER;
5646 TYPE l_rtlanguage_type IS TABLE OF okc_rule_groups_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
5647 TYPE l_rtsource_lang_type IS TABLE OF okc_rule_groups_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
5648 TYPE l_rtsfwt_flag_type IS TABLE OF okc_rule_groups_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
5649 TYPE l_rtcomments_type IS TABLE OF okc_rule_groups_tl.comments%TYPE INDEX BY BINARY_INTEGER;
5650 TYPE l_rtcreated_by_type IS TABLE OF okc_rule_groups_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
5651 TYPE l_rtcreation_date_type IS TABLE OF okc_rule_groups_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
5652 TYPE l_rtlast_updated_by_type IS TABLE OF okc_rule_groups_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5653 TYPE l_rtlast_update_date_type IS TABLE OF okc_rule_groups_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5654 TYPE l_rtlast_update_login_type IS TABLE OF okc_rule_groups_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5655 TYPE l_rtsecurity_group_id_type IS TABLE OF okc_rule_groups_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5656
5657 -- For okc_rule_groups_tl End
5658
5659 -- For okc_rules_b Begin
5660 TYPE l_rrid_type IS TABLE OF okc_rules_b.id%TYPE INDEX BY BINARY_INTEGER;
5661 TYPE l_rrrgp_id_type IS TABLE OF okc_rules_b.rgp_id%TYPE INDEX BY BINARY_INTEGER;
5662 TYPE l_rrobject1_id1_type IS TABLE OF okc_rules_b.object1_id1%TYPE INDEX BY BINARY_INTEGER;
5663 TYPE l_rrobject2_id1_type IS TABLE OF okc_rules_b.object2_id1%TYPE INDEX BY BINARY_INTEGER;
5664 TYPE l_rrobject3_id1_type IS TABLE OF okc_rules_b.object3_id1%TYPE INDEX BY BINARY_INTEGER;
5665 TYPE l_rrobject1_id2_type IS TABLE OF okc_rules_b.object1_id2%TYPE INDEX BY BINARY_INTEGER;
5666 TYPE l_rrobject2_id2_type IS TABLE OF okc_rules_b.object2_id2%TYPE INDEX BY BINARY_INTEGER;
5667 TYPE l_rrobject3_id2_type IS TABLE OF okc_rules_b.object3_id2%TYPE INDEX BY BINARY_INTEGER;
5668 TYPE l_rrjtot_object1_code_type IS TABLE OF okc_rules_b.jtot_object1_code%TYPE INDEX BY BINARY_INTEGER;
5669 TYPE l_rrjtot_object2_code_type IS TABLE OF okc_rules_b.jtot_object2_code%TYPE INDEX BY BINARY_INTEGER;
5670 TYPE l_rrjtot_object3_code_type IS TABLE OF okc_rules_b.jtot_object3_code%TYPE INDEX BY BINARY_INTEGER;
5671 TYPE l_rrdnz_chr_id_type IS TABLE OF okc_rules_b.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5672 TYPE l_rrstd_template_yn_type IS TABLE OF okc_rules_b.std_template_yn%TYPE INDEX BY BINARY_INTEGER;
5673 TYPE l_rrwarn_yn_type IS TABLE OF okc_rules_b.warn_yn%TYPE INDEX BY BINARY_INTEGER;
5674 TYPE l_rrpriority_type IS TABLE OF okc_rules_b.priority%TYPE INDEX BY BINARY_INTEGER;
5675 TYPE l_rrobject_version_number_type IS TABLE OF okc_rules_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5676 TYPE l_rrcreated_by_type IS TABLE OF okc_rules_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5677 TYPE l_rrcreation_date_type IS TABLE OF okc_rules_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5678 TYPE l_rrlast_updated_by_type IS TABLE OF okc_rules_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5679 TYPE l_rrlast_update_date_type IS TABLE OF okc_rules_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5680 TYPE l_rrlast_update_login_type IS TABLE OF okc_rules_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5681 TYPE l_rrattribute_category_type IS TABLE OF okc_rules_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5682 TYPE l_rrattribute1_type IS TABLE OF okc_rules_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5683 TYPE l_rrattribute2_type IS TABLE OF okc_rules_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5684 TYPE l_rrattribute3_type IS TABLE OF okc_rules_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5685 TYPE l_rrattribute4_type IS TABLE OF okc_rules_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5686 TYPE l_rrattribute5_type IS TABLE OF okc_rules_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5687 TYPE l_rrattribute6_type IS TABLE OF okc_rules_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5688 TYPE l_rrattribute7_type IS TABLE OF okc_rules_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5689 TYPE l_rrattribute8_type IS TABLE OF okc_rules_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5690 TYPE l_rrattribute9_type IS TABLE OF okc_rules_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5691 TYPE l_rrattribute10_type IS TABLE OF okc_rules_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5692 TYPE l_rrattribute11_type IS TABLE OF okc_rules_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5693 TYPE l_rrattribute12_type IS TABLE OF okc_rules_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5694 TYPE l_rrattribute13_type IS TABLE OF okc_rules_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5695 TYPE l_rrattribute14_type IS TABLE OF okc_rules_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5696 TYPE l_rrattribute15_type IS TABLE OF okc_rules_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5697 TYPE l_rrrule_information_cate_type IS TABLE OF okc_rules_b.rule_information_category%TYPE INDEX BY BINARY_INTEGER;
5698 TYPE l_rrrule_information1_type IS TABLE OF okc_rules_b.rule_information1%TYPE INDEX BY BINARY_INTEGER;
5699 TYPE l_rrrule_information2_type IS TABLE OF okc_rules_b.rule_information2%TYPE INDEX BY BINARY_INTEGER;
5700 TYPE l_rrrule_information3_type IS TABLE OF okc_rules_b.rule_information3%TYPE INDEX BY BINARY_INTEGER;
5701 TYPE l_rrrule_information4_type IS TABLE OF okc_rules_b.rule_information4%TYPE INDEX BY BINARY_INTEGER;
5702 TYPE l_rrrule_information5_type IS TABLE OF okc_rules_b.rule_information5%TYPE INDEX BY BINARY_INTEGER;
5703 TYPE l_rrrule_information6_type IS TABLE OF okc_rules_b.rule_information6%TYPE INDEX BY BINARY_INTEGER;
5704 TYPE l_rrrule_information7_type IS TABLE OF okc_rules_b.rule_information7%TYPE INDEX BY BINARY_INTEGER;
5705 TYPE l_rrrule_information8_type IS TABLE OF okc_rules_b.rule_information8%TYPE INDEX BY BINARY_INTEGER;
5706 TYPE l_rrrule_information9_type IS TABLE OF okc_rules_b.rule_information9%TYPE INDEX BY BINARY_INTEGER;
5707 TYPE l_rrrule_information10_type IS TABLE OF okc_rules_b.rule_information10%TYPE INDEX BY BINARY_INTEGER;
5708 TYPE l_rrrule_information11_type IS TABLE OF okc_rules_b.rule_information11%TYPE INDEX BY BINARY_INTEGER;
5709 TYPE l_rrrule_information12_type IS TABLE OF okc_rules_b.rule_information12%TYPE INDEX BY BINARY_INTEGER;
5710 TYPE l_rrrule_information13_type IS TABLE OF okc_rules_b.rule_information13%TYPE INDEX BY BINARY_INTEGER;
5711 TYPE l_rrrule_information14_type IS TABLE OF okc_rules_b.rule_information14%TYPE INDEX BY BINARY_INTEGER;
5712 TYPE l_rrrule_information15_type IS TABLE OF okc_rules_b.rule_information15%TYPE INDEX BY BINARY_INTEGER;
5713 TYPE l_rrsecurity_group_id_type IS TABLE OF okc_rules_b.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5714 TYPE l_rrtemplate_yn_type IS TABLE OF okc_rules_b.template_yn%TYPE INDEX BY BINARY_INTEGER;
5715 TYPE l_rrans_set_jtot_object_c_type IS TABLE OF okc_rules_b.ans_set_jtot_object_code%TYPE INDEX BY BINARY_INTEGER;
5716 TYPE l_rrans_set_jtot_object_1_type IS TABLE OF okc_rules_b.ans_set_jtot_object_id1%TYPE INDEX BY BINARY_INTEGER;
5717 TYPE l_rrans_set_jtot_object_2_type IS TABLE OF okc_rules_b.ans_set_jtot_object_id2%TYPE INDEX BY BINARY_INTEGER;
5718 TYPE l_rrdisplay_sequence_type IS TABLE OF okc_rules_b.display_sequence%TYPE INDEX BY BINARY_INTEGER;
5719 TYPE l_rrcomments_type IS TABLE OF okc_rules_b.comments%TYPE INDEX BY BINARY_INTEGER;
5720
5721 -- For okc_rules_b End
5722
5723 -- For okc_rules_tl Begin
5724
5725 TYPE l_trid_type IS TABLE OF okc_rules_tl.id%TYPE INDEX BY BINARY_INTEGER;
5726 TYPE l_trlanguage_type IS TABLE OF okc_rules_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
5727 TYPE l_trsource_lang_type IS TABLE OF okc_rules_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
5728 TYPE l_trsfwt_flag_type IS TABLE OF okc_rules_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
5729 TYPE l_trcomments_type IS TABLE OF okc_rules_tl.comments%TYPE INDEX BY BINARY_INTEGER;
5730 TYPE l_trtext_type IS TABLE OF okc_rules_tl.text%TYPE INDEX BY BINARY_INTEGER;
5731 TYPE l_trcreated_by_type IS TABLE OF okc_rules_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
5732 TYPE l_trcreation_date_type IS TABLE OF okc_rules_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
5733 TYPE l_trlast_updated_by_type IS TABLE OF okc_rules_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5734 TYPE l_trlast_update_date_type IS TABLE OF okc_rules_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5735 TYPE l_trlast_update_login_type IS TABLE OF okc_rules_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5736 TYPE l_trsecurity_group_id_type IS TABLE OF okc_rules_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5737
5738 -- For okc_rules_tl End
5739
5740 -- For okc_k_items Begin
5741
5742 TYPE l_iid_type IS TABLE OF okc_k_items.id%TYPE INDEX BY BINARY_INTEGER;
5743 TYPE l_icle_id_type IS TABLE OF okc_k_items.cle_id%TYPE INDEX BY BINARY_INTEGER;
5744 TYPE l_ichr_id_type IS TABLE OF okc_k_items.chr_id%TYPE INDEX BY BINARY_INTEGER;
5745 TYPE l_icle_id_for_type IS TABLE OF okc_k_items.cle_id_for%TYPE INDEX BY BINARY_INTEGER;
5746 TYPE l_idnz_chr_id_type IS TABLE OF okc_k_items.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
5747 TYPE l_iobject1_id1_type IS TABLE OF okc_k_items.object1_id1%TYPE INDEX BY BINARY_INTEGER;
5748 TYPE l_iobject1_id2_type IS TABLE OF okc_k_items.object1_id2%TYPE INDEX BY BINARY_INTEGER;
5749 TYPE l_ijtot_object1_code_type IS TABLE OF okc_k_items.jtot_object1_code%TYPE INDEX BY BINARY_INTEGER;
5750 TYPE l_iuom_code_type IS TABLE OF okc_k_items.uom_code%TYPE INDEX BY BINARY_INTEGER;
5751 TYPE l_iexception_yn_type IS TABLE OF okc_k_items.exception_yn%TYPE INDEX BY BINARY_INTEGER;
5752 TYPE l_inumber_of_items_type IS TABLE OF okc_k_items.number_of_items%TYPE INDEX BY BINARY_INTEGER;
5753 TYPE l_ipriced_item_yn_type IS TABLE OF okc_k_items.priced_item_yn%TYPE INDEX BY BINARY_INTEGER;
5754 TYPE l_iobject_version_number_type IS TABLE OF okc_k_items.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5755 TYPE l_icreated_by_type IS TABLE OF okc_k_items.created_by%TYPE INDEX BY BINARY_INTEGER;
5756 TYPE l_icreation_date_type IS TABLE OF okc_k_items.creation_date%TYPE INDEX BY BINARY_INTEGER;
5757 TYPE l_ilast_updated_by_type IS TABLE OF okc_k_items.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5758 TYPE l_ilast_update_date_type IS TABLE OF okc_k_items.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5759 TYPE l_ilast_update_login_type IS TABLE OF okc_k_items.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5760 TYPE l_isecurity_group_id_type IS TABLE OF okc_k_items.security_group_id%TYPE INDEX BY BINARY_INTEGER;
5761 TYPE l_iupg_orig_system_ref_type IS TABLE OF okc_k_items.upg_orig_system_ref%TYPE INDEX BY BINARY_INTEGER;
5762 TYPE l_iupg_orig_system_ref_id_type IS TABLE OF okc_k_items.upg_orig_system_ref_id%TYPE INDEX BY BINARY_INTEGER;
5763 TYPE l_iprogram_application_id_type IS TABLE OF okc_k_items.program_application_id%TYPE INDEX BY BINARY_INTEGER;
5764 TYPE l_iprogram_id_type IS TABLE OF okc_k_items.program_id%TYPE INDEX BY BINARY_INTEGER;
5765 TYPE l_iprogram_update_date_type IS TABLE OF okc_k_items.program_update_date%TYPE INDEX BY BINARY_INTEGER;
5766 TYPE l_irequest_id_type IS TABLE OF okc_k_items.request_id%TYPE INDEX BY BINARY_INTEGER;
5767
5768 -- For okc_k_items End
5769
5770 -- For okl_trx_assets Begin (42)
5771
5772 TYPE l_tid_type IS TABLE OF okl_trx_assets.id%TYPE INDEX BY BINARY_INTEGER;
5773 TYPE l_tica_id_type IS TABLE OF okl_trx_assets.ica_id%TYPE INDEX BY BINARY_INTEGER;
5774 TYPE l_ttas_type_type IS TABLE OF okl_trx_assets.tas_type%TYPE INDEX BY BINARY_INTEGER;
5775 TYPE l_tobject_version_number_type IS TABLE OF okl_trx_assets.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5776 TYPE l_tattribute_category_type IS TABLE OF okl_trx_assets.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5777 TYPE l_tattribute1_type IS TABLE OF okl_trx_assets.attribute1%TYPE INDEX BY BINARY_INTEGER;
5778 TYPE l_tattribute2_type IS TABLE OF okl_trx_assets.attribute2%TYPE INDEX BY BINARY_INTEGER;
5779 TYPE l_tattribute3_type IS TABLE OF okl_trx_assets.attribute3%TYPE INDEX BY BINARY_INTEGER;
5780 TYPE l_tattribute4_type IS TABLE OF okl_trx_assets.attribute4%TYPE INDEX BY BINARY_INTEGER;
5781 TYPE l_tattribute5_type IS TABLE OF okl_trx_assets.attribute5%TYPE INDEX BY BINARY_INTEGER;
5782 TYPE l_tattribute6_type IS TABLE OF okl_trx_assets.attribute6%TYPE INDEX BY BINARY_INTEGER;
5783 TYPE l_tattribute7_type IS TABLE OF okl_trx_assets.attribute7%TYPE INDEX BY BINARY_INTEGER;
5784 TYPE l_tattribute8_type IS TABLE OF okl_trx_assets.attribute8%TYPE INDEX BY BINARY_INTEGER;
5785 TYPE l_tattribute9_type IS TABLE OF okl_trx_assets.attribute9%TYPE INDEX BY BINARY_INTEGER;
5786 TYPE l_tattribute10_type IS TABLE OF okl_trx_assets.attribute10%TYPE INDEX BY BINARY_INTEGER;
5787 TYPE l_tattribute11_type IS TABLE OF okl_trx_assets.attribute11%TYPE INDEX BY BINARY_INTEGER;
5788 TYPE l_tattribute12_type IS TABLE OF okl_trx_assets.attribute12%TYPE INDEX BY BINARY_INTEGER;
5789 TYPE l_tattribute13_type IS TABLE OF okl_trx_assets.attribute13%TYPE INDEX BY BINARY_INTEGER;
5790 TYPE l_tattribute14_type IS TABLE OF okl_trx_assets.attribute14%TYPE INDEX BY BINARY_INTEGER;
5791 TYPE l_tattribute15_type IS TABLE OF okl_trx_assets.attribute15%TYPE INDEX BY BINARY_INTEGER;
5792 TYPE l_tcreated_by_type IS TABLE OF okl_trx_assets.created_by%TYPE INDEX BY BINARY_INTEGER;
5793 TYPE l_tcreation_date_type IS TABLE OF okl_trx_assets.creation_date%TYPE INDEX BY BINARY_INTEGER;
5794 TYPE l_tlast_updated_by_type IS TABLE OF okl_trx_assets.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5795 TYPE l_tlast_update_date_type IS TABLE OF okl_trx_assets.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5796 TYPE l_tlast_update_login_type IS TABLE OF okl_trx_assets.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5797 TYPE l_ttsu_code_type IS TABLE OF okl_trx_assets.tsu_code%TYPE INDEX BY BINARY_INTEGER;
5798 TYPE l_ttry_id_type IS TABLE OF okl_trx_assets.try_id%TYPE INDEX BY BINARY_INTEGER;
5799 TYPE l_tdate_trans_occurred_type IS TABLE OF okl_trx_assets.date_trans_occurred%TYPE INDEX BY BINARY_INTEGER;
5800 TYPE l_ttrans_number_type IS TABLE OF okl_trx_assets.trans_number%TYPE INDEX BY BINARY_INTEGER;
5801 TYPE l_tcomments_type IS TABLE OF okl_trx_assets.comments%TYPE INDEX BY BINARY_INTEGER;
5802 TYPE l_treq_asset_id_type IS TABLE OF okl_trx_assets.req_asset_id%TYPE INDEX BY BINARY_INTEGER;
5803 TYPE l_ttotal_match_amount_type IS TABLE OF okl_trx_assets.total_match_amount%TYPE INDEX BY BINARY_INTEGER;
5804 TYPE l_torg_id_type IS TABLE OF okl_trx_assets.org_id%TYPE INDEX BY BINARY_INTEGER;
5805 TYPE l_tlegal_entity_id_type IS TABLE OF okl_trx_assets.legal_entity_id%TYPE INDEX BY BINARY_INTEGER;
5806
5807 -- For okl_trx_assets End (42)
5808
5809 -- For okl_trx_assets Begin (45)
5810 TYPE l_t2id_type IS TABLE OF okl_trx_assets.id%TYPE INDEX BY BINARY_INTEGER;
5811 TYPE l_t2ica_id_type IS TABLE OF okl_trx_assets.ica_id%TYPE INDEX BY BINARY_INTEGER;
5812 TYPE l_t2tas_type_type IS TABLE OF okl_trx_assets.tas_type%TYPE INDEX BY BINARY_INTEGER;
5813 TYPE l_t2object_version_number_type IS TABLE OF okl_trx_assets.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5814 TYPE l_t2attribute_category_type IS TABLE OF okl_trx_assets.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5815 TYPE l_t2attribute1_type IS TABLE OF okl_trx_assets.attribute1%TYPE INDEX BY BINARY_INTEGER;
5816 TYPE l_t2attribute2_type IS TABLE OF okl_trx_assets.attribute2%TYPE INDEX BY BINARY_INTEGER;
5817 TYPE l_t2attribute3_type IS TABLE OF okl_trx_assets.attribute3%TYPE INDEX BY BINARY_INTEGER;
5818 TYPE l_t2attribute4_type IS TABLE OF okl_trx_assets.attribute4%TYPE INDEX BY BINARY_INTEGER;
5819 TYPE l_t2attribute5_type IS TABLE OF okl_trx_assets.attribute5%TYPE INDEX BY BINARY_INTEGER;
5820 TYPE l_t2attribute6_type IS TABLE OF okl_trx_assets.attribute6%TYPE INDEX BY BINARY_INTEGER;
5821 TYPE l_t2attribute7_type IS TABLE OF okl_trx_assets.attribute7%TYPE INDEX BY BINARY_INTEGER;
5822 TYPE l_t2attribute8_type IS TABLE OF okl_trx_assets.attribute8%TYPE INDEX BY BINARY_INTEGER;
5823 TYPE l_t2attribute9_type IS TABLE OF okl_trx_assets.attribute9%TYPE INDEX BY BINARY_INTEGER;
5824 TYPE l_t2attribute10_type IS TABLE OF okl_trx_assets.attribute10%TYPE INDEX BY BINARY_INTEGER;
5825 TYPE l_t2attribute11_type IS TABLE OF okl_trx_assets.attribute11%TYPE INDEX BY BINARY_INTEGER;
5826 TYPE l_t2attribute12_type IS TABLE OF okl_trx_assets.attribute12%TYPE INDEX BY BINARY_INTEGER;
5827 TYPE l_t2attribute13_type IS TABLE OF okl_trx_assets.attribute13%TYPE INDEX BY BINARY_INTEGER;
5828 TYPE l_t2attribute14_type IS TABLE OF okl_trx_assets.attribute14%TYPE INDEX BY BINARY_INTEGER;
5829 TYPE l_t2attribute15_type IS TABLE OF okl_trx_assets.attribute15%TYPE INDEX BY BINARY_INTEGER;
5830 TYPE l_t2created_by_type IS TABLE OF okl_trx_assets.created_by%TYPE INDEX BY BINARY_INTEGER;
5831 TYPE l_t2creation_date_type IS TABLE OF okl_trx_assets.creation_date%TYPE INDEX BY BINARY_INTEGER;
5832 TYPE l_t2last_updated_by_type IS TABLE OF okl_trx_assets.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5833 TYPE l_t2last_update_date_type IS TABLE OF okl_trx_assets.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5834 TYPE l_t2last_update_login_type IS TABLE OF okl_trx_assets.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5835 TYPE l_t2tsu_code_type IS TABLE OF okl_trx_assets.tsu_code%TYPE INDEX BY BINARY_INTEGER;
5836 TYPE l_t2try_id_type IS TABLE OF okl_trx_assets.try_id%TYPE INDEX BY BINARY_INTEGER;
5837 TYPE l_t2date_trans_occurred_type IS TABLE OF okl_trx_assets.date_trans_occurred%TYPE INDEX BY BINARY_INTEGER;
5838 TYPE l_t2trans_number_type IS TABLE OF okl_trx_assets.trans_number%TYPE INDEX BY BINARY_INTEGER;
5839 TYPE l_t2comments_type IS TABLE OF okl_trx_assets.comments%TYPE INDEX BY BINARY_INTEGER;
5840 TYPE l_t2req_asset_id_type IS TABLE OF okl_trx_assets.req_asset_id%TYPE INDEX BY BINARY_INTEGER;
5841 TYPE l_t2total_match_amount_type IS TABLE OF okl_trx_assets.total_match_amount%TYPE INDEX BY BINARY_INTEGER;
5842 TYPE l_t2org_id_type IS TABLE OF okl_trx_assets.org_id%TYPE INDEX BY BINARY_INTEGER;
5843 TYPE l_t2legal_entity_id_type IS TABLE OF okl_trx_assets.legal_entity_id%TYPE INDEX BY BINARY_INTEGER;
5844
5845 -- For okl_trx_assets End (45)
5846
5847 -- For okl_txl_assets_b Begin
5848
5849 TYPE l_tbid_type IS TABLE OF okl_txl_assets_b.id%TYPE INDEX BY BINARY_INTEGER;
5850 TYPE l_tbobject_version_number_type IS TABLE OF okl_txl_assets_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5851 TYPE l_tbtas_id_type IS TABLE OF okl_txl_assets_b.tas_id%TYPE INDEX BY BINARY_INTEGER;
5852 TYPE l_tbilo_id_type IS TABLE OF okl_txl_assets_b.ilo_id%TYPE INDEX BY BINARY_INTEGER;
5853 TYPE l_tbilo_id_old_type IS TABLE OF okl_txl_assets_b.ilo_id_old%TYPE INDEX BY BINARY_INTEGER;
5854 TYPE l_tbiay_id_type IS TABLE OF okl_txl_assets_b.iay_id%TYPE INDEX BY BINARY_INTEGER;
5855 TYPE l_tbiay_id_new_type IS TABLE OF okl_txl_assets_b.iay_id_new%TYPE INDEX BY BINARY_INTEGER;
5856 TYPE l_tbkle_id_type IS TABLE OF okl_txl_assets_b.kle_id%TYPE INDEX BY BINARY_INTEGER;
5857 TYPE l_tbdnz_khr_id_type IS TABLE OF okl_txl_assets_b.dnz_khr_id%TYPE INDEX BY BINARY_INTEGER;
5858 TYPE l_tbline_number_type IS TABLE OF okl_txl_assets_b.line_number%TYPE INDEX BY BINARY_INTEGER;
5859 TYPE l_tborg_id_type IS TABLE OF okl_txl_assets_b.org_id%TYPE INDEX BY BINARY_INTEGER;
5860 TYPE l_tbtal_type_type IS TABLE OF okl_txl_assets_b.tal_type%TYPE INDEX BY BINARY_INTEGER;
5861 TYPE l_tbasset_number_type IS TABLE OF okl_txl_assets_b.asset_number%TYPE INDEX BY BINARY_INTEGER;
5862 TYPE l_tbfa_location_id_type IS TABLE OF okl_txl_assets_b.fa_location_id%TYPE INDEX BY BINARY_INTEGER;
5863 TYPE l_tboriginal_cost_type IS TABLE OF okl_txl_assets_b.original_cost%TYPE INDEX BY BINARY_INTEGER;
5864 TYPE l_tbcurrent_units_type IS TABLE OF okl_txl_assets_b.current_units%TYPE INDEX BY BINARY_INTEGER;
5865 TYPE l_tbmanufacturer_name_type IS TABLE OF okl_txl_assets_b.manufacturer_name%TYPE INDEX BY BINARY_INTEGER;
5866 TYPE l_tbyear_manufactured_type IS TABLE OF okl_txl_assets_b.year_manufactured%TYPE INDEX BY BINARY_INTEGER;
5867 TYPE l_tbsupplier_id_type IS TABLE OF okl_txl_assets_b.supplier_id%TYPE INDEX BY BINARY_INTEGER;
5868 TYPE l_tbused_asset_yn_type IS TABLE OF okl_txl_assets_b.used_asset_yn%TYPE INDEX BY BINARY_INTEGER;
5869 TYPE l_tbtag_number_type IS TABLE OF okl_txl_assets_b.tag_number%TYPE INDEX BY BINARY_INTEGER;
5870 TYPE l_tbmodel_number_type IS TABLE OF okl_txl_assets_b.model_number%TYPE INDEX BY BINARY_INTEGER;
5871 TYPE l_tbcorporate_book_type IS TABLE OF okl_txl_assets_b.corporate_book%TYPE INDEX BY BINARY_INTEGER;
5872 TYPE l_tbdate_purchased_type IS TABLE OF okl_txl_assets_b.date_purchased%TYPE INDEX BY BINARY_INTEGER;
5873 TYPE l_tbdate_delivery_type IS TABLE OF okl_txl_assets_b.date_delivery%TYPE INDEX BY BINARY_INTEGER;
5874 TYPE l_tbin_service_date_type IS TABLE OF okl_txl_assets_b.in_service_date%TYPE INDEX BY BINARY_INTEGER;
5875 TYPE l_tblife_in_months_type IS TABLE OF okl_txl_assets_b.life_in_months%TYPE INDEX BY BINARY_INTEGER;
5876 TYPE l_tbdepreciation_id_type IS TABLE OF okl_txl_assets_b.depreciation_id%TYPE INDEX BY BINARY_INTEGER;
5877 TYPE l_tbdepreciation_cost_type IS TABLE OF okl_txl_assets_b.depreciation_cost%TYPE INDEX BY BINARY_INTEGER;
5878 TYPE l_tbdeprn_method_type IS TABLE OF okl_txl_assets_b.deprn_method%TYPE INDEX BY BINARY_INTEGER;
5879 TYPE l_tbdeprn_rate_type IS TABLE OF okl_txl_assets_b.deprn_rate%TYPE INDEX BY BINARY_INTEGER;
5880 TYPE l_tbsalvage_value_type IS TABLE OF okl_txl_assets_b.salvage_value%TYPE INDEX BY BINARY_INTEGER;
5881 TYPE l_tbpercent_salvage_value_type IS TABLE OF okl_txl_assets_b.percent_salvage_value%TYPE INDEX BY BINARY_INTEGER;
5882 TYPE l_tbattribute_category_type IS TABLE OF okl_txl_assets_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5883 TYPE l_tbattribute1_type IS TABLE OF okl_txl_assets_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5884 TYPE l_tbattribute2_type IS TABLE OF okl_txl_assets_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5885 TYPE l_tbattribute3_type IS TABLE OF okl_txl_assets_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5886 TYPE l_tbattribute4_type IS TABLE OF okl_txl_assets_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5887 TYPE l_tbattribute5_type IS TABLE OF okl_txl_assets_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5888 TYPE l_tbattribute6_type IS TABLE OF okl_txl_assets_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5889 TYPE l_tbattribute7_type IS TABLE OF okl_txl_assets_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5890 TYPE l_tbattribute8_type IS TABLE OF okl_txl_assets_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5891 TYPE l_tbattribute9_type IS TABLE OF okl_txl_assets_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5892 TYPE l_tbattribute10_type IS TABLE OF okl_txl_assets_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5893 TYPE l_tbattribute11_type IS TABLE OF okl_txl_assets_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5894 TYPE l_tbattribute12_type IS TABLE OF okl_txl_assets_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5895 TYPE l_tbattribute13_type IS TABLE OF okl_txl_assets_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5896 TYPE l_tbattribute14_type IS TABLE OF okl_txl_assets_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5897 TYPE l_tbattribute15_type IS TABLE OF okl_txl_assets_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5898 TYPE l_tbcreated_by_type IS TABLE OF okl_txl_assets_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5899 TYPE l_tbcreation_date_type IS TABLE OF okl_txl_assets_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5900 TYPE l_tblast_updated_by_type IS TABLE OF okl_txl_assets_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5901 TYPE l_tblast_update_date_type IS TABLE OF okl_txl_assets_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5902 TYPE l_tblast_update_login_type IS TABLE OF okl_txl_assets_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5903 TYPE l_tbdepreciate_yn_type IS TABLE OF okl_txl_assets_b.depreciate_yn%TYPE INDEX BY BINARY_INTEGER;
5904 TYPE l_tbhold_period_days_type IS TABLE OF okl_txl_assets_b.hold_period_days%TYPE INDEX BY BINARY_INTEGER;
5905 TYPE l_tbold_salvage_value_type IS TABLE OF okl_txl_assets_b.old_salvage_value%TYPE INDEX BY BINARY_INTEGER;
5906 TYPE l_tbnew_residual_value_type IS TABLE OF okl_txl_assets_b.new_residual_value%TYPE INDEX BY BINARY_INTEGER;
5907 TYPE l_tbold_residual_value_type IS TABLE OF okl_txl_assets_b.old_residual_value%TYPE INDEX BY BINARY_INTEGER;
5908 TYPE l_tbunits_retired_type IS TABLE OF okl_txl_assets_b.units_retired%TYPE INDEX BY BINARY_INTEGER;
5909 TYPE l_tbcost_retired_type IS TABLE OF okl_txl_assets_b.cost_retired%TYPE INDEX BY BINARY_INTEGER;
5910 TYPE l_tbsale_proceeds_type IS TABLE OF okl_txl_assets_b.sale_proceeds%TYPE INDEX BY BINARY_INTEGER;
5911 TYPE l_tbremoval_cost_type IS TABLE OF okl_txl_assets_b.removal_cost%TYPE INDEX BY BINARY_INTEGER;
5912 TYPE l_tbdnz_asset_id_type IS TABLE OF okl_txl_assets_b.dnz_asset_id%TYPE INDEX BY BINARY_INTEGER;
5913 TYPE l_tbdate_due_type IS TABLE OF okl_txl_assets_b.date_due%TYPE INDEX BY BINARY_INTEGER;
5914 TYPE l_tbrep_asset_id_type IS TABLE OF okl_txl_assets_b.rep_asset_id%TYPE INDEX BY BINARY_INTEGER;
5915 TYPE l_tblke_asset_id_type IS TABLE OF okl_txl_assets_b.lke_asset_id%TYPE INDEX BY BINARY_INTEGER;
5916 TYPE l_tbmatch_amount_type IS TABLE OF okl_txl_assets_b.match_amount%TYPE INDEX BY BINARY_INTEGER;
5917 TYPE l_tbsplit_into_singles_fl_type IS TABLE OF okl_txl_assets_b.split_into_singles_flag%TYPE INDEX BY BINARY_INTEGER;
5918 TYPE l_tbsplit_into_units_type IS TABLE OF okl_txl_assets_b.split_into_units%TYPE INDEX BY BINARY_INTEGER;
5919 TYPE l_tbcurrency_code_type IS TABLE OF okl_txl_assets_b.currency_code%TYPE INDEX BY BINARY_INTEGER;
5920 TYPE l_tbcurrency_convers_type_type IS TABLE OF okl_txl_assets_b.currency_conversion_type%TYPE INDEX BY BINARY_INTEGER;
5921 TYPE l_tbcurrency_convers_rate_type IS TABLE OF okl_txl_assets_b.currency_conversion_rate%TYPE INDEX BY BINARY_INTEGER;
5922 TYPE l_tbcurrency_convers_date_type IS TABLE OF okl_txl_assets_b.currency_conversion_date%TYPE INDEX BY BINARY_INTEGER;
5923 TYPE l_tbasset_key_id_type IS TABLE OF okl_txl_assets_b.asset_key_id%TYPE INDEX BY BINARY_INTEGER;
5924 TYPE l_tbfa_trx_date_type IS TABLE OF okl_txl_assets_b.fa_trx_date%TYPE INDEX BY BINARY_INTEGER;
5925 TYPE l_tbfa_cost_type IS TABLE OF okl_txl_assets_b.fa_cost%TYPE INDEX BY BINARY_INTEGER;
5926
5927 -- For okl_txl_assets_b End
5928
5929
5930 -- For okl_txl_assets_tl Begin
5931
5932 TYPE l_tlid_type IS TABLE OF okl_txl_assets_tl.id%TYPE INDEX BY BINARY_INTEGER;
5933 TYPE l_tllanguage_type IS TABLE OF okl_txl_assets_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
5934 TYPE l_tlsource_lang_type IS TABLE OF okl_txl_assets_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
5935 TYPE l_tlsfwt_flag_type IS TABLE OF okl_txl_assets_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
5936 TYPE l_tldescription_type IS TABLE OF okl_txl_assets_tl.description%TYPE INDEX BY BINARY_INTEGER;
5937 TYPE l_tlcreated_by_type IS TABLE OF okl_txl_assets_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
5938 TYPE l_tlcreation_date_type IS TABLE OF okl_txl_assets_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
5939 TYPE l_tllast_updated_by_type IS TABLE OF okl_txl_assets_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5940 TYPE l_tllast_update_date_type IS TABLE OF okl_txl_assets_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5941 TYPE l_tllast_update_login_type IS TABLE OF okl_txl_assets_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5942
5943 -- For okl_txl_assets_tl End
5944
5945 -- For okl_txd_assets_b Begin
5946
5947 TYPE l_dbid_type IS TABLE OF okl_txd_assets_b.id%TYPE INDEX BY BINARY_INTEGER;
5948 TYPE l_dbobject_version_number_type IS TABLE OF okl_txd_assets_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
5949 TYPE l_dbtal_id_type IS TABLE OF okl_txd_assets_b.tal_id%TYPE INDEX BY BINARY_INTEGER;
5950 TYPE l_dbtarget_kle_id_type IS TABLE OF okl_txd_assets_b.target_kle_id%TYPE INDEX BY BINARY_INTEGER;
5951 TYPE l_dbline_detail_number_type IS TABLE OF okl_txd_assets_b.line_detail_number%TYPE INDEX BY BINARY_INTEGER;
5952 TYPE l_dbasset_number_type IS TABLE OF okl_txd_assets_b.asset_number%TYPE INDEX BY BINARY_INTEGER;
5953 TYPE l_dbquantity_type IS TABLE OF okl_txd_assets_b.quantity%TYPE INDEX BY BINARY_INTEGER;
5954 TYPE l_dbcost_type IS TABLE OF okl_txd_assets_b.cost%TYPE INDEX BY BINARY_INTEGER;
5955 TYPE l_dbtax_book_type IS TABLE OF okl_txd_assets_b.tax_book%TYPE INDEX BY BINARY_INTEGER;
5956 TYPE l_dblife_in_months_tax_type IS TABLE OF okl_txd_assets_b.life_in_months_tax%TYPE INDEX BY BINARY_INTEGER;
5957 TYPE l_dbdeprn_method_tax_type IS TABLE OF okl_txd_assets_b.deprn_method_tax%TYPE INDEX BY BINARY_INTEGER;
5958 TYPE l_dbdeprn_rate_tax_type IS TABLE OF okl_txd_assets_b.deprn_rate_tax%TYPE INDEX BY BINARY_INTEGER;
5959 TYPE l_dbsalvage_value_type IS TABLE OF okl_txd_assets_b.salvage_value%TYPE INDEX BY BINARY_INTEGER;
5960 TYPE l_dbsplit_percent_type IS TABLE OF okl_txd_assets_b.split_percent%TYPE INDEX BY BINARY_INTEGER;
5961 TYPE l_dbinventory_item_id_type IS TABLE OF okl_txd_assets_b.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
5962 TYPE l_dbattribute_category_type IS TABLE OF okl_txd_assets_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
5963 TYPE l_dbattribute1_type IS TABLE OF okl_txd_assets_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
5964 TYPE l_dbattribute2_type IS TABLE OF okl_txd_assets_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
5965 TYPE l_dbattribute3_type IS TABLE OF okl_txd_assets_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
5966 TYPE l_dbattribute4_type IS TABLE OF okl_txd_assets_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
5967 TYPE l_dbattribute5_type IS TABLE OF okl_txd_assets_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
5968 TYPE l_dbattribute6_type IS TABLE OF okl_txd_assets_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
5969 TYPE l_dbattribute7_type IS TABLE OF okl_txd_assets_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
5970 TYPE l_dbattribute8_type IS TABLE OF okl_txd_assets_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
5971 TYPE l_dbattribute9_type IS TABLE OF okl_txd_assets_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
5972 TYPE l_dbattribute10_type IS TABLE OF okl_txd_assets_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
5973 TYPE l_dbattribute11_type IS TABLE OF okl_txd_assets_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
5974 TYPE l_dbattribute12_type IS TABLE OF okl_txd_assets_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
5975 TYPE l_dbattribute13_type IS TABLE OF okl_txd_assets_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
5976 TYPE l_dbattribute14_type IS TABLE OF okl_txd_assets_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
5977 TYPE l_dbattribute15_type IS TABLE OF okl_txd_assets_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
5978 TYPE l_dbcreated_by_type IS TABLE OF okl_txd_assets_b.created_by%TYPE INDEX BY BINARY_INTEGER;
5979 TYPE l_dbcreation_date_type IS TABLE OF okl_txd_assets_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
5980 TYPE l_dblast_updated_by_type IS TABLE OF okl_txd_assets_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
5981 TYPE l_dblast_update_date_type IS TABLE OF okl_txd_assets_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
5982 TYPE l_dblast_update_login_type IS TABLE OF okl_txd_assets_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
5983 TYPE l_dbcurrency_code_type IS TABLE OF okl_txd_assets_b.currency_code%TYPE INDEX BY BINARY_INTEGER;
5984 TYPE l_dbcurrency_convers_type_type IS TABLE OF okl_txd_assets_b.currency_conversion_type%TYPE INDEX BY BINARY_INTEGER;
5985 TYPE l_dbcurrency_convers_rate_type IS TABLE OF okl_txd_assets_b.currency_conversion_rate%TYPE INDEX BY BINARY_INTEGER;
5986 TYPE l_dbcurrency_convers_date_type IS TABLE OF okl_txd_assets_b.currency_conversion_date%TYPE INDEX BY BINARY_INTEGER;
5987
5988 -- For okl_txd_assets_b End
5989
5990 -- For okl_txd_assets_tl Begin
5991
5992 TYPE l_dlid_type IS TABLE OF okl_txd_assets_tl.id%TYPE INDEX BY BINARY_INTEGER;
5993 TYPE l_dllanguage_type IS TABLE OF okl_txd_assets_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
5994 TYPE l_dlsource_lang_type IS TABLE OF okl_txd_assets_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
5995 TYPE l_dlsfwt_flag_type IS TABLE OF okl_txd_assets_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
5996 TYPE l_dldescription_type IS TABLE OF okl_txd_assets_tl.description%TYPE INDEX BY BINARY_INTEGER;
5997 TYPE l_dlcreated_by_type IS TABLE OF okl_txd_assets_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
5998 TYPE l_dlcreation_date_type IS TABLE OF okl_txd_assets_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
5999 TYPE l_dllast_updated_by_type IS TABLE OF okl_txd_assets_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6000 TYPE l_dllast_update_date_type IS TABLE OF okl_txd_assets_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6001 TYPE l_dllast_update_login_type IS TABLE OF okl_txd_assets_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6002
6003 -- For okl_txd_assets_tl End
6004
6005 -- For okl_txl_itm_insts Begin
6006
6007 TYPE l_tiid_type IS TABLE OF okl_txl_itm_insts.id%TYPE INDEX BY BINARY_INTEGER;
6008 TYPE l_tiobject_version_number_type IS TABLE OF okl_txl_itm_insts.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6009 TYPE l_titas_id_type IS TABLE OF okl_txl_itm_insts.tas_id%TYPE INDEX BY BINARY_INTEGER;
6010 TYPE l_tital_id_type IS TABLE OF okl_txl_itm_insts.tal_id%TYPE INDEX BY BINARY_INTEGER;
6011 TYPE l_tikle_id_type IS TABLE OF okl_txl_itm_insts.kle_id%TYPE INDEX BY BINARY_INTEGER;
6012 TYPE l_tital_type_type IS TABLE OF okl_txl_itm_insts.tal_type%TYPE INDEX BY BINARY_INTEGER;
6013 TYPE l_tiline_number_type IS TABLE OF okl_txl_itm_insts.line_number%TYPE INDEX BY BINARY_INTEGER;
6014 TYPE l_tiinstance_number_ib_type IS TABLE OF okl_txl_itm_insts.instance_number_ib%TYPE INDEX BY BINARY_INTEGER;
6015 TYPE l_tiobject_id1_new_type IS TABLE OF okl_txl_itm_insts.object_id1_new%TYPE INDEX BY BINARY_INTEGER;
6016 TYPE l_tiobject_id2_new_type IS TABLE OF okl_txl_itm_insts.object_id2_new%TYPE INDEX BY BINARY_INTEGER;
6017 TYPE l_tijtot_object_code_new_type IS TABLE OF okl_txl_itm_insts.jtot_object_code_new%TYPE INDEX BY BINARY_INTEGER;
6018 TYPE l_tiobject_id1_old_type IS TABLE OF okl_txl_itm_insts.object_id1_old%TYPE INDEX BY BINARY_INTEGER;
6019 TYPE l_tiobject_id2_old_type IS TABLE OF okl_txl_itm_insts.object_id2_old%TYPE INDEX BY BINARY_INTEGER;
6020 TYPE l_tijtot_object_code_old_type IS TABLE OF okl_txl_itm_insts.jtot_object_code_old%TYPE INDEX BY BINARY_INTEGER;
6021 TYPE l_tiinventory_org_id_type IS TABLE OF okl_txl_itm_insts.inventory_org_id%TYPE INDEX BY BINARY_INTEGER;
6022 TYPE l_tiserial_number_type IS TABLE OF okl_txl_itm_insts.serial_number%TYPE INDEX BY BINARY_INTEGER;
6023 TYPE l_timfg_serial_number_yn_type IS TABLE OF okl_txl_itm_insts.mfg_serial_number_yn%TYPE INDEX BY BINARY_INTEGER;
6024 TYPE l_tiinventory_item_id_type IS TABLE OF okl_txl_itm_insts.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
6025 TYPE l_tiinv_master_org_id_type IS TABLE OF okl_txl_itm_insts.inv_master_org_id%TYPE INDEX BY BINARY_INTEGER;
6026 TYPE l_tiattribute_category_type IS TABLE OF okl_txl_itm_insts.attribute_category%TYPE INDEX BY BINARY_INTEGER;
6027 TYPE l_tiattribute1_type IS TABLE OF okl_txl_itm_insts.attribute1%TYPE INDEX BY BINARY_INTEGER;
6028 TYPE l_tiattribute2_type IS TABLE OF okl_txl_itm_insts.attribute2%TYPE INDEX BY BINARY_INTEGER;
6029 TYPE l_tiattribute3_type IS TABLE OF okl_txl_itm_insts.attribute3%TYPE INDEX BY BINARY_INTEGER;
6030 TYPE l_tiattribute4_type IS TABLE OF okl_txl_itm_insts.attribute4%TYPE INDEX BY BINARY_INTEGER;
6031 TYPE l_tiattribute5_type IS TABLE OF okl_txl_itm_insts.attribute5%TYPE INDEX BY BINARY_INTEGER;
6032 TYPE l_tiattribute6_type IS TABLE OF okl_txl_itm_insts.attribute6%TYPE INDEX BY BINARY_INTEGER;
6033 TYPE l_tiattribute7_type IS TABLE OF okl_txl_itm_insts.attribute7%TYPE INDEX BY BINARY_INTEGER;
6034 TYPE l_tiattribute8_type IS TABLE OF okl_txl_itm_insts.attribute8%TYPE INDEX BY BINARY_INTEGER;
6035 TYPE l_tiattribute9_type IS TABLE OF okl_txl_itm_insts.attribute9%TYPE INDEX BY BINARY_INTEGER;
6036 TYPE l_tiattribute10_type IS TABLE OF okl_txl_itm_insts.attribute10%TYPE INDEX BY BINARY_INTEGER;
6037 TYPE l_tiattribute11_type IS TABLE OF okl_txl_itm_insts.attribute11%TYPE INDEX BY BINARY_INTEGER;
6038 TYPE l_tiattribute12_type IS TABLE OF okl_txl_itm_insts.attribute12%TYPE INDEX BY BINARY_INTEGER;
6039 TYPE l_tiattribute13_type IS TABLE OF okl_txl_itm_insts.attribute13%TYPE INDEX BY BINARY_INTEGER;
6040 TYPE l_tiattribute14_type IS TABLE OF okl_txl_itm_insts.attribute14%TYPE INDEX BY BINARY_INTEGER;
6041 TYPE l_tiattribute15_type IS TABLE OF okl_txl_itm_insts.attribute15%TYPE INDEX BY BINARY_INTEGER;
6042 TYPE l_ticreated_by_type IS TABLE OF okl_txl_itm_insts.created_by%TYPE INDEX BY BINARY_INTEGER;
6043 TYPE l_ticreation_date_type IS TABLE OF okl_txl_itm_insts.creation_date%TYPE INDEX BY BINARY_INTEGER;
6044 TYPE l_tilast_updated_by_type IS TABLE OF okl_txl_itm_insts.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6045 TYPE l_tilast_update_date_type IS TABLE OF okl_txl_itm_insts.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6046 TYPE l_tilast_update_login_type IS TABLE OF okl_txl_itm_insts.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6047 TYPE l_tidnz_cle_id_type IS TABLE OF okl_txl_itm_insts.dnz_cle_id%TYPE INDEX BY BINARY_INTEGER;
6048 TYPE l_tiinstance_id_type IS TABLE OF okl_txl_itm_insts.instance_id%TYPE INDEX BY BINARY_INTEGER;
6049 TYPE l_tiselected_for_split_fl_type IS TABLE OF okl_txl_itm_insts.selected_for_split_flag%TYPE INDEX BY BINARY_INTEGER;
6050 TYPE l_tiasd_id_type IS TABLE OF okl_txl_itm_insts.asd_id%TYPE INDEX BY BINARY_INTEGER;
6051
6052 -- For okl_txl_itm_insts End
6053
6054 -- For okl_party_payment_dtls Begin
6055
6056 TYPE l_ppid_type IS TABLE OF okl_party_payment_dtls.id%TYPE INDEX BY BINARY_INTEGER;
6057 TYPE l_ppobject_version_number_type IS TABLE OF okl_party_payment_dtls.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6058 TYPE l_ppcpl_id_type IS TABLE OF okl_party_payment_dtls.cpl_id%TYPE INDEX BY BINARY_INTEGER;
6059 TYPE l_ppvendor_id_type IS TABLE OF okl_party_payment_dtls.vendor_id%TYPE INDEX BY BINARY_INTEGER;
6060 TYPE l_pppay_site_id_type IS TABLE OF okl_party_payment_dtls.pay_site_id%TYPE INDEX BY BINARY_INTEGER;
6061 TYPE l_pppayment_term_id_type IS TABLE OF okl_party_payment_dtls.payment_term_id%TYPE INDEX BY BINARY_INTEGER;
6062 TYPE l_pppayment_method_code_type IS TABLE OF okl_party_payment_dtls.payment_method_code%TYPE INDEX BY BINARY_INTEGER;
6063 TYPE l_pppay_group_code_type IS TABLE OF okl_party_payment_dtls.pay_group_code%TYPE INDEX BY BINARY_INTEGER;
6064 TYPE l_ppattribute_category_type IS TABLE OF okl_party_payment_dtls.attribute_category%TYPE INDEX BY BINARY_INTEGER;
6065 TYPE l_ppattribute1_type IS TABLE OF okl_party_payment_dtls.attribute1%TYPE INDEX BY BINARY_INTEGER;
6066 TYPE l_ppattribute2_type IS TABLE OF okl_party_payment_dtls.attribute2%TYPE INDEX BY BINARY_INTEGER;
6067 TYPE l_ppattribute3_type IS TABLE OF okl_party_payment_dtls.attribute3%TYPE INDEX BY BINARY_INTEGER;
6068 TYPE l_ppattribute4_type IS TABLE OF okl_party_payment_dtls.attribute4%TYPE INDEX BY BINARY_INTEGER;
6069 TYPE l_ppattribute5_type IS TABLE OF okl_party_payment_dtls.attribute5%TYPE INDEX BY BINARY_INTEGER;
6070 TYPE l_ppattribute6_type IS TABLE OF okl_party_payment_dtls.attribute6%TYPE INDEX BY BINARY_INTEGER;
6071 TYPE l_ppattribute7_type IS TABLE OF okl_party_payment_dtls.attribute7%TYPE INDEX BY BINARY_INTEGER;
6072 TYPE l_ppattribute8_type IS TABLE OF okl_party_payment_dtls.attribute8%TYPE INDEX BY BINARY_INTEGER;
6073 TYPE l_ppattribute9_type IS TABLE OF okl_party_payment_dtls.attribute9%TYPE INDEX BY BINARY_INTEGER;
6074 TYPE l_ppattribute10_type IS TABLE OF okl_party_payment_dtls.attribute10%TYPE INDEX BY BINARY_INTEGER;
6075 TYPE l_ppattribute11_type IS TABLE OF okl_party_payment_dtls.attribute11%TYPE INDEX BY BINARY_INTEGER;
6076 TYPE l_ppattribute12_type IS TABLE OF okl_party_payment_dtls.attribute12%TYPE INDEX BY BINARY_INTEGER;
6077 TYPE l_ppattribute13_type IS TABLE OF okl_party_payment_dtls.attribute13%TYPE INDEX BY BINARY_INTEGER;
6078 TYPE l_ppattribute14_type IS TABLE OF okl_party_payment_dtls.attribute14%TYPE INDEX BY BINARY_INTEGER;
6079 TYPE l_ppattribute15_type IS TABLE OF okl_party_payment_dtls.attribute15%TYPE INDEX BY BINARY_INTEGER;
6080 TYPE l_ppcreated_by_type IS TABLE OF okl_party_payment_dtls.created_by%TYPE INDEX BY BINARY_INTEGER;
6081 TYPE l_ppcreation_date_type IS TABLE OF okl_party_payment_dtls.creation_date%TYPE INDEX BY BINARY_INTEGER;
6082 TYPE l_pplast_updated_by_type IS TABLE OF okl_party_payment_dtls.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6083 TYPE l_pplast_update_date_type IS TABLE OF okl_party_payment_dtls.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6084 TYPE l_pplast_update_login_type IS TABLE OF okl_party_payment_dtls.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6085 TYPE l_pppayment_hdr_id_type is table of okl_party_payment_dtls.payment_hdr_id%TYPE index by binary_integer;
6086 TYPE l_pppayment_start_date_type is table of okl_party_payment_dtls.payment_start_date%TYPE index by binary_integer;
6087 TYPE l_pppayment_frequency_type is table of okl_party_payment_dtls.payment_frequency%TYPE index by binary_integer;
6088 TYPE l_ppremit_days_type is table of okl_party_payment_dtls.remit_days%TYPE index by binary_integer;
6089 TYPE l_ppdisbursement_basis_type is table of okl_party_payment_dtls.disbursement_basis%TYPE index by binary_integer;
6090 TYPE l_ppdisbursement_fixed_am_type is table of okl_party_payment_dtls.disbursement_fixed_amount%TYPE index by binary_integer;
6091 TYPE l_ppdisbursement_percent_type is table of okl_party_payment_dtls.disbursement_percent%TYPE index by binary_integer;
6092 TYPE l_ppprocessing_fee_basis_type is table of okl_party_payment_dtls.processing_fee_basis%TYPE index by binary_integer;
6093 TYPE l_ppprocessing_fee_fixedt_type is table of okl_party_payment_dtls.processing_fee_fixed_amount%TYPE index by binary_integer;
6094 TYPE l_ppprocessing_fee_percen_type is table of okl_party_payment_dtls.processing_fee_percent%TYPE index by binary_integer;
6095 TYPE l_pppayment_basis_type is table of okl_party_payment_dtls.payment_basis%TYPE index by binary_integer;
6096
6097 -- For okl_party_payment_dtls End
6098
6099 -- For okl_slctd_optns Begin
6100
6101 TYPE l_sid_type IS TABLE OF okl_slctd_optns.id%TYPE INDEX BY BINARY_INTEGER;
6102 TYPE l_spov_id_type IS TABLE OF okl_slctd_optns.pov_id%TYPE INDEX BY BINARY_INTEGER;
6103 TYPE l_skhr_id_type IS TABLE OF okl_slctd_optns.khr_id%TYPE INDEX BY BINARY_INTEGER;
6104 TYPE l_sobject_version_number_type IS TABLE OF okl_slctd_optns.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6105 TYPE l_sattribute_category_type IS TABLE OF okl_slctd_optns.attribute_category%TYPE INDEX BY BINARY_INTEGER;
6106 TYPE l_sattribute1_type IS TABLE OF okl_slctd_optns.attribute1%TYPE INDEX BY BINARY_INTEGER;
6107 TYPE l_sattribute2_type IS TABLE OF okl_slctd_optns.attribute2%TYPE INDEX BY BINARY_INTEGER;
6108 TYPE l_sattribute3_type IS TABLE OF okl_slctd_optns.attribute3%TYPE INDEX BY BINARY_INTEGER;
6109 TYPE l_sattribute4_type IS TABLE OF okl_slctd_optns.attribute4%TYPE INDEX BY BINARY_INTEGER;
6110 TYPE l_sattribute5_type IS TABLE OF okl_slctd_optns.attribute5%TYPE INDEX BY BINARY_INTEGER;
6111 TYPE l_sattribute6_type IS TABLE OF okl_slctd_optns.attribute6%TYPE INDEX BY BINARY_INTEGER;
6112 TYPE l_sattribute7_type IS TABLE OF okl_slctd_optns.attribute7%TYPE INDEX BY BINARY_INTEGER;
6113 TYPE l_sattribute8_type IS TABLE OF okl_slctd_optns.attribute8%TYPE INDEX BY BINARY_INTEGER;
6114 TYPE l_sattribute9_type IS TABLE OF okl_slctd_optns.attribute9%TYPE INDEX BY BINARY_INTEGER;
6115 TYPE l_sattribute10_type IS TABLE OF okl_slctd_optns.attribute10%TYPE INDEX BY BINARY_INTEGER;
6116 TYPE l_sattribute11_type IS TABLE OF okl_slctd_optns.attribute11%TYPE INDEX BY BINARY_INTEGER;
6117 TYPE l_sattribute12_type IS TABLE OF okl_slctd_optns.attribute12%TYPE INDEX BY BINARY_INTEGER;
6118 TYPE l_sattribute13_type IS TABLE OF okl_slctd_optns.attribute13%TYPE INDEX BY BINARY_INTEGER;
6119 TYPE l_sattribute14_type IS TABLE OF okl_slctd_optns.attribute14%TYPE INDEX BY BINARY_INTEGER;
6120 TYPE l_sattribute15_type IS TABLE OF okl_slctd_optns.attribute15%TYPE INDEX BY BINARY_INTEGER;
6121 TYPE l_screated_by_type IS TABLE OF okl_slctd_optns.created_by%TYPE INDEX BY BINARY_INTEGER;
6122 TYPE l_screation_date_type IS TABLE OF okl_slctd_optns.creation_date%TYPE INDEX BY BINARY_INTEGER;
6123 TYPE l_slast_updated_by_type IS TABLE OF okl_slctd_optns.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6124 TYPE l_slast_update_date_type IS TABLE OF okl_slctd_optns.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6125 TYPE l_slast_update_login_type IS TABLE OF okl_slctd_optns.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6126
6127 -- For okl_slctd_optns End
6128
6129 -- For okc_rg_party_roles Begin
6130
6131 TYPE l_gid_type IS TABLE OF okc_rg_party_roles.id%TYPE INDEX BY BINARY_INTEGER;
6132 TYPE l_grgp_id_type IS TABLE OF okc_rg_party_roles.rgp_id%TYPE INDEX BY BINARY_INTEGER;
6133 TYPE l_grrd_id_type IS TABLE OF okc_rg_party_roles.rrd_id%TYPE INDEX BY BINARY_INTEGER;
6134 TYPE l_gcpl_id_type IS TABLE OF okc_rg_party_roles.cpl_id%TYPE INDEX BY BINARY_INTEGER;
6135 TYPE l_gdnz_chr_id_type IS TABLE OF okc_rg_party_roles.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
6136 TYPE l_gobject_version_number_type IS TABLE OF okc_rg_party_roles.object_version_number%TYPE INDEX BY BINARY_INTEGER;
6137 TYPE l_gcreated_by_type IS TABLE OF okc_rg_party_roles.created_by%TYPE INDEX BY BINARY_INTEGER;
6138 TYPE l_gcreation_date_type IS TABLE OF okc_rg_party_roles.creation_date%TYPE INDEX BY BINARY_INTEGER;
6139 TYPE l_glast_updated_by_type IS TABLE OF okc_rg_party_roles.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6140 TYPE l_glast_update_date_type IS TABLE OF okc_rg_party_roles.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6141 TYPE l_glast_update_login_type IS TABLE OF okc_rg_party_roles.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6142 TYPE l_gsecurity_group_id_type IS TABLE OF okc_rg_party_roles.security_group_id%TYPE INDEX BY BINARY_INTEGER;
6143
6144 -- For okc_rg_party_roles End
6145
6146 -- For okc_k_lines_tl begin
6147
6148 TYPE l_olid_type IS TABLE OF okc_k_lines_tl.id%TYPE INDEX BY BINARY_INTEGER;
6149 TYPE l_ollanguage_type IS TABLE OF okc_k_lines_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
6150 TYPE l_olsource_lang_type IS TABLE OF okc_k_lines_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
6151 TYPE l_olsfwt_flag_type IS TABLE OF okc_k_lines_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
6152 TYPE l_olname_type IS TABLE OF okc_k_lines_tl.name%TYPE INDEX BY BINARY_INTEGER;
6153 TYPE l_olcomments_type IS TABLE OF okc_k_lines_tl.comments%TYPE INDEX BY BINARY_INTEGER;
6154 TYPE l_olitem_description_type IS TABLE OF okc_k_lines_tl.item_description%TYPE INDEX BY BINARY_INTEGER;
6155 TYPE l_olblock23text_type IS TABLE OF okc_k_lines_tl.block23text%TYPE INDEX BY BINARY_INTEGER;
6156 TYPE l_olcreated_by_type IS TABLE OF okc_k_lines_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
6157 TYPE l_olcreation_date_type IS TABLE OF okc_k_lines_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
6158 TYPE l_ollast_updated_by_type IS TABLE OF okc_k_lines_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
6159 TYPE l_ollast_update_date_type IS TABLE OF okc_k_lines_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
6160 TYPE l_ollast_update_login_type IS TABLE OF okc_k_lines_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
6161 TYPE l_olsecurity_group_id_type IS TABLE OF okc_k_lines_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
6162 TYPE l_oloke_boe_description_type IS TABLE OF okc_k_lines_tl.oke_boe_description%TYPE INDEX BY BINARY_INTEGER;
6163 TYPE l_olcognomen_type IS TABLE OF okc_k_lines_tl.cognomen%TYPE INDEX BY BINARY_INTEGER;
6164 -- For okc_k_lines_tl End
6165
6166 -- okc_k_party_roles_b Begin
6167 TYPE l_prid_type IS TABLE OF okc_k_party_roles_b.id%TYPE INDEX BY BINARY_INTEGER;
6168 TYPE l_probject1_id1_type IS TABLE OF okc_k_party_roles_b.object1_id1%TYPE INDEX BY BINARY_INTEGER;
6169 -- okc_k_party_roles_b End
6170
6171 -- For okl_supp_invlice_dtls Begin
6172 l_osid_tab l_osid_type;
6173 l_osobject_version_number_tab l_osobject_version_number_type;
6174 l_oscle_id_tab l_oscle_id_type;
6175 l_osfa_cle_id_tab l_osfa_cle_id_type;
6176 l_osinvoice_number_tab l_osinvoice_number_type;
6177 l_osdate_invoiced_tab l_osdate_invoiced_type;
6178 l_osdate_due_tab l_osdate_due_type;
6179 l_osshipping_address_id1_tab l_osshipping_address_id1_type;
6180 l_osshipping_address_id2_tab l_osshipping_address_id2_type;
6181 l_osshipping_address_code_tab l_osshipping_address_code_type;
6182 l_osattribute_category_tab l_osattribute_category_type;
6183 l_osattribute1_tab l_osattribute1_type;
6184 l_osattribute2_tab l_osattribute2_type;
6185 l_osattribute3_tab l_osattribute3_type;
6186 l_osattribute4_tab l_osattribute4_type;
6187 l_osattribute5_tab l_osattribute5_type;
6188 l_osattribute6_tab l_osattribute6_type;
6189 l_osattribute7_tab l_osattribute7_type;
6190 l_osattribute8_tab l_osattribute8_type;
6191 l_osattribute9_tab l_osattribute9_type;
6192 l_osattribute10_tab l_osattribute10_type;
6193 l_osattribute11_tab l_osattribute11_type;
6194 l_osattribute12_tab l_osattribute12_type;
6195 l_osattribute13_tab l_osattribute13_type;
6196 l_osattribute14_tab l_osattribute14_type;
6197 l_osattribute15_tab l_osattribute15_type;
6198 l_oscreated_by_tab l_oscreated_by_type;
6199 l_oscreation_date_tab l_oscreation_date_type;
6200 l_oslast_updated_by_tab l_oslast_updated_by_type;
6201 l_oslast_update_date_tab l_oslast_update_date_type;
6202 l_oslast_update_login_tab l_oslast_update_login_type;
6203
6204 l_supp_invoice_dtls_counter NUMBER := 1;
6205
6206 -- For okl_supp_invlice_dtls End
6207
6208 -- For okl_k_party_roles Begin
6209 l_plid_tab l_plid_type;
6210 l_plobject_version_number_tab l_plobject_version_number_type;
6211 l_plattribute_category_tab l_plattribute_category_type;
6212 l_plattribute1_tab l_plattribute1_type;
6213 l_plattribute2_tab l_plattribute2_type;
6214 l_plattribute3_tab l_plattribute3_type;
6215 l_plattribute4_tab l_plattribute4_type;
6216 l_plattribute5_tab l_plattribute5_type;
6217 l_plattribute6_tab l_plattribute6_type;
6218 l_plattribute7_tab l_plattribute7_type;
6219 l_plattribute8_tab l_plattribute8_type;
6220 l_plattribute9_tab l_plattribute9_type;
6221 l_plattribute10_tab l_plattribute10_type;
6222 l_plattribute11_tab l_plattribute11_type;
6223 l_plattribute12_tab l_plattribute12_type;
6224 l_plattribute13_tab l_plattribute13_type;
6225 l_plattribute14_tab l_plattribute14_type;
6226 l_plattribute15_tab l_plattribute15_type;
6227
6228 l_okl_k_party_roles_counter number := 1;
6229
6230 -- For okl_k_party_roles End
6231
6232 -- For party_roles_tl Begin
6233 l_pid_tab l_pid_type;
6234 l_planguage_tab l_planguage_type;
6235 l_psource_lang_tab l_psource_lang_type;
6236 l_psfwt_flag_tab l_psfwt_flag_type;
6237 l_pcreated_by_tab l_pcreated_by_type;
6238 l_pcreation_date_tab l_pcreation_date_type;
6239 l_plast_updated_by_tab l_plast_updated_by_type;
6240 l_plast_update_date_tab l_plast_update_date_type;
6241 l_pcognomen_tab l_pcognomen_type;
6242 l_palias_tab l_palias_type;
6243 l_plast_update_login_tab l_plast_update_login_type;
6244 l_psecurity_group_id_tab l_psecurity_group_id_type;
6245
6246 l_party_roles_tl_counter NUMBER := 1;
6247 -- For party_roles_tl End
6248
6249 -- For okc_contacts Begin
6250
6251 l_cid_tab l_cid_type;
6252 l_ccpl_id_tab l_ccpl_id_type;
6253 l_ccro_code_tab l_ccro_code_type;
6254 l_cdnz_chr_id_tab l_cdnz_chr_id_type;
6255 l_cobject1_id1_tab l_cobject1_id1_type;
6256 l_cobject1_id2_tab l_cobject1_id2_type;
6257 l_cjtot_object1_code_tab l_cjtot_object1_code_type;
6258 l_cobject_version_number_tab l_cobject_version_number_type;
6259 l_ccreated_by_tab l_ccreated_by_type;
6260 l_ccreation_date_tab l_ccreation_date_type;
6261 l_clast_updated_by_tab l_clast_updated_by_type;
6262 l_clast_update_date_tab l_clast_update_date_type;
6263 l_ccontact_sequence_tab l_ccontact_sequence_type;
6264 l_clast_update_login_tab l_clast_update_login_type;
6265 l_cattribute_category_tab l_cattribute_category_type;
6266 l_cattribute1_tab l_cattribute1_type;
6267 l_cattribute2_tab l_cattribute2_type;
6268 l_cattribute3_tab l_cattribute3_type;
6269 l_cattribute4_tab l_cattribute4_type;
6270 l_cattribute5_tab l_cattribute5_type;
6271 l_cattribute6_tab l_cattribute6_type;
6272 l_cattribute7_tab l_cattribute7_type;
6273 l_cattribute8_tab l_cattribute8_type;
6274 l_cattribute9_tab l_cattribute9_type;
6275 l_cattribute10_tab l_cattribute10_type;
6276 l_cattribute11_tab l_cattribute11_type;
6277 l_cattribute12_tab l_cattribute12_type;
6278 l_cattribute13_tab l_cattribute13_type;
6279 l_cattribute14_tab l_cattribute14_type;
6280 l_cattribute15_tab l_cattribute15_type;
6281 l_csecurity_group_id_tab l_csecurity_group_id_type;
6282 l_cstart_date_tab l_cstart_date_type;
6283 l_cend_date_tab l_cend_date_type;
6284 l_cprimary_yn_tab l_cprimary_yn_type;
6285 l_cresource_class_tab l_cresource_class_type;
6286
6287 l_contacts_counter NUMBER := 1;
6288 -- For okc_contacts End
6289
6290 -- For okc_rule_groups_b Begin
6291 l_rid_tab3 l_rid_type;
6292
6293 l_rid_tab l_rid_type;
6294 l_rrgd_code_tab l_rrgd_code_type;
6295 l_rchr_id_tab l_rchr_id_type;
6296 l_rcle_id_tab l_rcle_id_type;
6297 l_rdnz_chr_id_tab l_rdnz_chr_id_type;
6298 l_rparent_rgp_id_tab l_rparent_rgp_id_type;
6299 l_rsat_code_tab l_rsat_code_type;
6300 l_robject_version_number_tab l_robject_version_number_type;
6301 l_rrgp_type_tab l_rrgp_type_type;
6302 l_rcreated_by_tab l_rcreated_by_type;
6303 l_rcreation_date_tab l_rcreation_date_type;
6304 l_rlast_updated_by_tab l_rlast_updated_by_type;
6305 l_rlast_update_date_tab l_rlast_update_date_type;
6306 l_rlast_update_login_tab l_rlast_update_login_type;
6307 l_rattribute_category_tab l_rattribute_category_type;
6308 l_rattribute1_tab l_rattribute1_type;
6309 l_rattribute2_tab l_rattribute2_type;
6310 l_rattribute3_tab l_rattribute3_type;
6311 l_rattribute4_tab l_rattribute4_type;
6312 l_rattribute5_tab l_rattribute5_type;
6313 l_rattribute6_tab l_rattribute6_type;
6314 l_rattribute7_tab l_rattribute7_type;
6315 l_rattribute8_tab l_rattribute8_type;
6316 l_rattribute9_tab l_rattribute9_type;
6317 l_rattribute10_tab l_rattribute10_type;
6318 l_rattribute11_tab l_rattribute11_type;
6319 l_rattribute12_tab l_rattribute12_type;
6320 l_rattribute13_tab l_rattribute13_type;
6321 l_rattribute14_tab l_rattribute14_type;
6322 l_rattribute15_tab l_rattribute15_type;
6323 l_rsecurity_group_id_tab l_rsecurity_group_id_type;
6324
6325 l_rule_groups_b_counter NUMBER := 1;
6326 -- For okc_rule_groups_b End
6327
6328 -- For okc_rule_groups_tl Begin
6329
6330 l_rtid_tab l_rtid_type;
6331 l_rtlanguage_tab l_rtlanguage_type;
6332 l_rtsource_lang_tab l_rtsource_lang_type;
6333 l_rtsfwt_flag_tab l_rtsfwt_flag_type;
6334 l_rtcomments_tab l_rtcomments_type;
6335 l_rtcreated_by_tab l_rtcreated_by_type;
6336 l_rtcreation_date_tab l_rtcreation_date_type;
6337 l_rtlast_updated_by_tab l_rtlast_updated_by_type;
6338 l_rtlast_update_date_tab l_rtlast_update_date_type;
6339 l_rtlast_update_login_tab l_rtlast_update_login_type;
6340 l_rtsecurity_group_id_tab l_rtsecurity_group_id_type;
6341
6342 l_rule_groups_tl_counter NUMBER := 1;
6343 -- For okc_rule_groups_tl End
6344
6345 -- For okc_rules_b Begin
6346
6347 l_rrid_tab3 l_rrid_type;
6348
6349 l_rrid_tab l_rrid_type;
6350 l_rrrgp_id_tab l_rrrgp_id_type;
6351 l_rrobject1_id1_tab l_rrobject1_id1_type;
6352 l_rrobject2_id1_tab l_rrobject2_id1_type;
6353 l_rrobject3_id1_tab l_rrobject3_id1_type;
6354 l_rrobject1_id2_tab l_rrobject1_id2_type;
6355 l_rrobject2_id2_tab l_rrobject2_id2_type;
6356 l_rrobject3_id2_tab l_rrobject3_id2_type;
6357 l_rrjtot_object1_code_tab l_rrjtot_object1_code_type;
6358 l_rrjtot_object2_code_tab l_rrjtot_object2_code_type;
6359 l_rrjtot_object3_code_tab l_rrjtot_object3_code_type;
6360 l_rrdnz_chr_id_tab l_rrdnz_chr_id_type;
6361 l_rrstd_template_yn_tab l_rrstd_template_yn_type;
6362 l_rrwarn_yn_tab l_rrwarn_yn_type;
6363 l_rrpriority_tab l_rrpriority_type;
6364 l_rrobject_version_number_tab l_rrobject_version_number_type;
6365 l_rrcreated_by_tab l_rrcreated_by_type;
6366 l_rrcreation_date_tab l_rrcreation_date_type;
6367 l_rrlast_updated_by_tab l_rrlast_updated_by_type;
6368 l_rrlast_update_date_tab l_rrlast_update_date_type;
6369 l_rrlast_update_login_tab l_rrlast_update_login_type;
6370 l_rrattribute_category_tab l_rrattribute_category_type;
6371 l_rrattribute1_tab l_rrattribute1_type;
6372 l_rrattribute2_tab l_rrattribute2_type;
6373 l_rrattribute3_tab l_rrattribute3_type;
6374 l_rrattribute4_tab l_rrattribute4_type;
6375 l_rrattribute5_tab l_rrattribute5_type;
6376 l_rrattribute6_tab l_rrattribute6_type;
6377 l_rrattribute7_tab l_rrattribute7_type;
6378 l_rrattribute8_tab l_rrattribute8_type;
6379 l_rrattribute9_tab l_rrattribute9_type;
6380 l_rrattribute10_tab l_rrattribute10_type;
6381 l_rrattribute11_tab l_rrattribute11_type;
6382 l_rrattribute12_tab l_rrattribute12_type;
6383 l_rrattribute13_tab l_rrattribute13_type;
6384 l_rrattribute14_tab l_rrattribute14_type;
6385 l_rrattribute15_tab l_rrattribute15_type;
6386 l_rrrule_information_cate_tab l_rrrule_information_cate_type;
6387 l_rrrule_information1_tab l_rrrule_information1_type;
6388 l_rrrule_information2_tab l_rrrule_information2_type;
6389 l_rrrule_information3_tab l_rrrule_information3_type;
6390 l_rrrule_information4_tab l_rrrule_information4_type;
6391 l_rrrule_information5_tab l_rrrule_information5_type;
6392 l_rrrule_information6_tab l_rrrule_information6_type;
6393 l_rrrule_information7_tab l_rrrule_information7_type;
6394 l_rrrule_information8_tab l_rrrule_information8_type;
6395 l_rrrule_information9_tab l_rrrule_information9_type;
6396 l_rrrule_information10_tab l_rrrule_information10_type;
6397 l_rrrule_information11_tab l_rrrule_information11_type;
6398 l_rrrule_information12_tab l_rrrule_information12_type;
6399 l_rrrule_information13_tab l_rrrule_information13_type;
6400 l_rrrule_information14_tab l_rrrule_information14_type;
6401 l_rrrule_information15_tab l_rrrule_information15_type;
6402 l_rrsecurity_group_id_tab l_rrsecurity_group_id_type;
6403 l_rrtemplate_yn_tab l_rrtemplate_yn_type;
6404 l_rrans_set_jtot_object_c_tab l_rrans_set_jtot_object_c_type;
6405 l_rrans_set_jtot_object_1_tab l_rrans_set_jtot_object_1_type;
6406 l_rrans_set_jtot_object_2_tab l_rrans_set_jtot_object_2_type;
6407 l_rrdisplay_sequence_tab l_rrdisplay_sequence_type;
6408 l_rrcomments_tab l_rrcomments_type;
6409
6410 l_rules_b_counter NUMBER := 1;
6411 -- For okc_rules_b End
6412
6413 -- For okc_rules_tl Begin
6414
6415 l_trid_tab l_trid_type;
6416 l_trlanguage_tab l_trlanguage_type;
6417 l_trsource_lang_tab l_trsource_lang_type;
6418 l_trsfwt_flag_tab l_trsfwt_flag_type;
6419 l_trcomments_tab l_trcomments_type;
6420 l_trtext_tab l_trtext_type;
6421 l_trcreated_by_tab l_trcreated_by_type;
6422 l_trcreation_date_tab l_trcreation_date_type;
6423 l_trlast_updated_by_tab l_trlast_updated_by_type;
6424 l_trlast_update_date_tab l_trlast_update_date_type;
6425 l_trlast_update_login_tab l_trlast_update_login_type;
6426 l_trsecurity_group_id_tab l_trsecurity_group_id_type;
6427
6428 l_rules_tl_counter NUMBER := 1;
6429 -- For okc_rules_tl End
6430
6431 -- For okc_k_items Begin
6432
6433 l_iid_tab l_iid_type;
6434 l_icle_id_tab l_icle_id_type;
6435 l_ichr_id_tab l_ichr_id_type;
6436 l_icle_id_for_tab l_icle_id_for_type;
6437 l_idnz_chr_id_tab l_idnz_chr_id_type;
6438 l_iobject1_id1_tab l_iobject1_id1_type;
6439 l_iobject1_id2_tab l_iobject1_id2_type;
6440 l_ijtot_object1_code_tab l_ijtot_object1_code_type;
6441 l_iuom_code_tab l_iuom_code_type;
6442 l_iexception_yn_tab l_iexception_yn_type;
6443 l_inumber_of_items_tab l_inumber_of_items_type;
6444 l_ipriced_item_yn_tab l_ipriced_item_yn_type;
6445 l_iobject_version_number_tab l_iobject_version_number_type;
6446 l_icreated_by_tab l_icreated_by_type;
6447 l_icreation_date_tab l_icreation_date_type;
6448 l_ilast_updated_by_tab l_ilast_updated_by_type;
6449 l_ilast_update_date_tab l_ilast_update_date_type;
6450 l_ilast_update_login_tab l_ilast_update_login_type;
6451 l_isecurity_group_id_tab l_isecurity_group_id_type;
6452 l_iupg_orig_system_ref_tab l_iupg_orig_system_ref_type;
6453 l_iupg_orig_system_ref_id_tab l_iupg_orig_system_ref_id_type;
6454 l_iprogram_application_id_tab l_iprogram_application_id_type;
6455 l_iprogram_id_tab l_iprogram_id_type;
6456 l_iprogram_update_date_tab l_iprogram_update_date_type;
6457 l_irequest_id_tab l_irequest_id_type;
6458
6459 l_items_counter NUMBER := 1;
6460 -- For okc_k_items End
6461
6462 -- For okl_trx_assets Begin (42)
6463
6464 l_tid_tab l_tid_type;
6465 l_tica_id_tab l_tica_id_type;
6466 l_ttas_type_tab l_ttas_type_type;
6467 l_tobject_version_number_tab l_tobject_version_number_type;
6468 l_tattribute_category_tab l_tattribute_category_type;
6469 l_tattribute1_tab l_tattribute1_type;
6470 l_tattribute2_tab l_tattribute2_type;
6471 l_tattribute3_tab l_tattribute3_type;
6472 l_tattribute4_tab l_tattribute4_type;
6473 l_tattribute5_tab l_tattribute5_type;
6474 l_tattribute6_tab l_tattribute6_type;
6475 l_tattribute7_tab l_tattribute7_type;
6476 l_tattribute8_tab l_tattribute8_type;
6477 l_tattribute9_tab l_tattribute9_type;
6478 l_tattribute10_tab l_tattribute10_type;
6479 l_tattribute11_tab l_tattribute11_type;
6480 l_tattribute12_tab l_tattribute12_type;
6481 l_tattribute13_tab l_tattribute13_type;
6482 l_tattribute14_tab l_tattribute14_type;
6483 l_tattribute15_tab l_tattribute15_type;
6484 l_tcreated_by_tab l_tcreated_by_type;
6485 l_tcreation_date_tab l_tcreation_date_type;
6486 l_tlast_updated_by_tab l_tlast_updated_by_type;
6487 l_tlast_update_date_tab l_tlast_update_date_type;
6488 l_tlast_update_login_tab l_tlast_update_login_type;
6489 l_ttsu_code_tab l_ttsu_code_type;
6490 l_ttry_id_tab l_ttry_id_type;
6491 l_tdate_trans_occurred_tab l_tdate_trans_occurred_type;
6492 l_ttrans_number_tab l_ttrans_number_type;
6493 l_tcomments_tab l_tcomments_type;
6494 l_treq_asset_id_tab l_treq_asset_id_type;
6495 l_ttotal_match_amount_tab l_ttotal_match_amount_type;
6496 l_torg_id_tab l_torg_id_type;
6497 l_tlegal_entity_id_tab l_tlegal_entity_id_type;
6498
6499 l_trx_assets_counter NUMBER := 1;
6500 -- For okl_trx_assets End (42)
6501
6502 -- For okl_trx_assets Begin (45)
6503
6504 l_t2id_tab l_t2id_type;
6505 l_t2ica_id_tab l_t2ica_id_type;
6506 l_t2tas_type_tab l_t2tas_type_type;
6507 l_t2object_version_number_tab l_t2object_version_number_type;
6508 l_t2attribute_category_tab l_t2attribute_category_type;
6509 l_t2attribute1_tab l_t2attribute1_type;
6510 l_t2attribute2_tab l_t2attribute2_type;
6511 l_t2attribute3_tab l_t2attribute3_type;
6512 l_t2attribute4_tab l_t2attribute4_type;
6513 l_t2attribute5_tab l_t2attribute5_type;
6514 l_t2attribute6_tab l_t2attribute6_type;
6515 l_t2attribute7_tab l_t2attribute7_type;
6516 l_t2attribute8_tab l_t2attribute8_type;
6517 l_t2attribute9_tab l_t2attribute9_type;
6518 l_t2attribute10_tab l_t2attribute10_type;
6519 l_t2attribute11_tab l_t2attribute11_type;
6520 l_t2attribute12_tab l_t2attribute12_type;
6521 l_t2attribute13_tab l_t2attribute13_type;
6522 l_t2attribute14_tab l_t2attribute14_type;
6523 l_t2attribute15_tab l_t2attribute15_type;
6524 l_t2created_by_tab l_t2created_by_type;
6525 l_t2creation_date_tab l_t2creation_date_type;
6526 l_t2last_updated_by_tab l_t2last_updated_by_type;
6527 l_t2last_update_date_tab l_t2last_update_date_type;
6528 l_t2last_update_login_tab l_t2last_update_login_type;
6529 l_t2tsu_code_tab l_t2tsu_code_type;
6530 l_t2try_id_tab l_t2try_id_type;
6531 l_t2date_trans_occurred_tab l_t2date_trans_occurred_type;
6532 l_t2trans_number_tab l_t2trans_number_type;
6533 l_t2comments_tab l_t2comments_type;
6534 l_t2req_asset_id_tab l_t2req_asset_id_type;
6535 l_t2total_match_amount_tab l_t2total_match_amount_type;
6536 l_t2org_id_tab l_t2org_id_type;
6537 l_t2legal_entity_id_tab l_t2legal_entity_id_type;
6538
6539 l_trx_assets_counter2 NUMBER := 1;
6540
6541 -- For okl_trx_assets End (45)
6542
6543 -- For okl_txl_assets_b Begin
6544
6545 l_tbid_tab3 l_tbid_type;
6546
6547 l_tbid_tab l_tbid_type;
6548 l_tbobject_version_number_tab l_tbobject_version_number_type;
6549 l_tbtas_id_tab l_tbtas_id_type;
6550 l_tbilo_id_tab l_tbilo_id_type;
6551 l_tbilo_id_old_tab l_tbilo_id_old_type;
6552 l_tbiay_id_tab l_tbiay_id_type;
6553 l_tbiay_id_new_tab l_tbiay_id_new_type;
6554 l_tbkle_id_tab l_tbkle_id_type;
6555 l_tbdnz_khr_id_tab l_tbdnz_khr_id_type;
6556 l_tbline_number_tab l_tbline_number_type;
6557 l_tborg_id_tab l_tborg_id_type;
6558 l_tbtal_type_tab l_tbtal_type_type;
6559 l_tbasset_number_tab l_tbasset_number_type;
6560 l_tbfa_location_id_tab l_tbfa_location_id_type;
6561 l_tboriginal_cost_tab l_tboriginal_cost_type;
6562 l_tbcurrent_units_tab l_tbcurrent_units_type;
6563 l_tbmanufacturer_name_tab l_tbmanufacturer_name_type;
6564 l_tbyear_manufactured_tab l_tbyear_manufactured_type;
6565 l_tbsupplier_id_tab l_tbsupplier_id_type;
6566 l_tbused_asset_yn_tab l_tbused_asset_yn_type;
6567 l_tbtag_number_tab l_tbtag_number_type;
6568 l_tbmodel_number_tab l_tbmodel_number_type;
6569 l_tbcorporate_book_tab l_tbcorporate_book_type;
6570 l_tbdate_purchased_tab l_tbdate_purchased_type;
6571 l_tbdate_delivery_tab l_tbdate_delivery_type;
6572 l_tbin_service_date_tab l_tbin_service_date_type;
6573 l_tblife_in_months_tab l_tblife_in_months_type;
6574 l_tbdepreciation_id_tab l_tbdepreciation_id_type;
6575 l_tbdepreciation_cost_tab l_tbdepreciation_cost_type;
6576 l_tbdeprn_method_tab l_tbdeprn_method_type;
6577 l_tbdeprn_rate_tab l_tbdeprn_rate_type;
6578 l_tbsalvage_value_tab l_tbsalvage_value_type;
6579 l_tbpercent_salvage_value_tab l_tbpercent_salvage_value_type;
6580 l_tbattribute_category_tab l_tbattribute_category_type;
6581 l_tbattribute1_tab l_tbattribute1_type;
6582 l_tbattribute2_tab l_tbattribute2_type;
6583 l_tbattribute3_tab l_tbattribute3_type;
6584 l_tbattribute4_tab l_tbattribute4_type;
6585 l_tbattribute5_tab l_tbattribute5_type;
6586 l_tbattribute6_tab l_tbattribute6_type;
6587 l_tbattribute7_tab l_tbattribute7_type;
6588 l_tbattribute8_tab l_tbattribute8_type;
6589 l_tbattribute9_tab l_tbattribute9_type;
6590 l_tbattribute10_tab l_tbattribute10_type;
6591 l_tbattribute11_tab l_tbattribute11_type;
6592 l_tbattribute12_tab l_tbattribute12_type;
6593 l_tbattribute13_tab l_tbattribute13_type;
6594 l_tbattribute14_tab l_tbattribute14_type;
6595 l_tbattribute15_tab l_tbattribute15_type;
6596 l_tbcreated_by_tab l_tbcreated_by_type;
6597 l_tbcreation_date_tab l_tbcreation_date_type;
6598 l_tblast_updated_by_tab l_tblast_updated_by_type;
6599 l_tblast_update_date_tab l_tblast_update_date_type;
6600 l_tblast_update_login_tab l_tblast_update_login_type;
6601 l_tbdepreciate_yn_tab l_tbdepreciate_yn_type;
6602 l_tbhold_period_days_tab l_tbhold_period_days_type;
6603 l_tbold_salvage_value_tab l_tbold_salvage_value_type;
6604 l_tbnew_residual_value_tab l_tbnew_residual_value_type;
6605 l_tbold_residual_value_tab l_tbold_residual_value_type;
6606 l_tbunits_retired_tab l_tbunits_retired_type;
6607 l_tbcost_retired_tab l_tbcost_retired_type;
6608 l_tbsale_proceeds_tab l_tbsale_proceeds_type;
6609 l_tbremoval_cost_tab l_tbremoval_cost_type;
6610 l_tbdnz_asset_id_tab l_tbdnz_asset_id_type;
6611 l_tbdate_due_tab l_tbdate_due_type;
6612 l_tbrep_asset_id_tab l_tbrep_asset_id_type;
6613 l_tblke_asset_id_tab l_tblke_asset_id_type;
6614 l_tbmatch_amount_tab l_tbmatch_amount_type;
6615 l_tbsplit_into_singles_fl_tab l_tbsplit_into_singles_fl_type;
6616 l_tbsplit_into_units_tab l_tbsplit_into_units_type;
6617 l_tbcurrency_code_tab l_tbcurrency_code_type;
6618 l_tbcurrency_convers_type_tab l_tbcurrency_convers_type_type;
6619 l_tbcurrency_convers_rate_tab l_tbcurrency_convers_rate_type;
6620 l_tbcurrency_convers_date_tab l_tbcurrency_convers_date_type;
6621 l_tbasset_key_id_tab l_tbasset_key_id_type;
6622 l_tbfa_trx_date_tab l_tbfa_trx_date_type;
6623
6624 l_txl_assets_b_counter NUMBER := 1;
6625
6626 l_tb2id_tab l_tbid_type;
6627 l_tb2object_version_number_tab l_tbobject_version_number_type;
6628 l_tb2tas_id_tab l_tbtas_id_type;
6629 l_tb2ilo_id_tab l_tbilo_id_type;
6630 l_tb2ilo_id_old_tab l_tbilo_id_old_type;
6631 l_tb2iay_id_tab l_tbiay_id_type;
6632 l_tb2iay_id_new_tab l_tbiay_id_new_type;
6633 l_tb2kle_id_tab l_tbkle_id_type;
6634 l_tb2dnz_khr_id_tab l_tbdnz_khr_id_type;
6635 l_tb2line_number_tab l_tbline_number_type;
6636 l_tb2org_id_tab l_tborg_id_type;
6637 l_tb2tal_type_tab l_tbtal_type_type;
6638 l_tb2asset_number_tab l_tbasset_number_type;
6639 l_tb2fa_location_id_tab l_tbfa_location_id_type;
6640 l_tb2original_cost_tab l_tboriginal_cost_type;
6641 l_tb2current_units_tab l_tbcurrent_units_type;
6642 l_tb2manufacturer_name_tab l_tbmanufacturer_name_type;
6643 l_tb2year_manufactured_tab l_tbyear_manufactured_type;
6644 l_tb2supplier_id_tab l_tbsupplier_id_type;
6645 l_tb2used_asset_yn_tab l_tbused_asset_yn_type;
6646 l_tb2tag_number_tab l_tbtag_number_type;
6647 l_tb2model_number_tab l_tbmodel_number_type;
6648 l_tb2corporate_book_tab l_tbcorporate_book_type;
6649 l_tb2date_purchased_tab l_tbdate_purchased_type;
6650 l_tb2date_delivery_tab l_tbdate_delivery_type;
6651 l_tb2in_service_date_tab l_tbin_service_date_type;
6652 l_tb2life_in_months_tab l_tblife_in_months_type;
6653 l_tb2depreciation_id_tab l_tbdepreciation_id_type;
6654 l_tb2depreciation_cost_tab l_tbdepreciation_cost_type;
6655 l_tb2deprn_method_tab l_tbdeprn_method_type;
6656 l_tb2deprn_rate_tab l_tbdeprn_rate_type;
6657 l_tb2salvage_value_tab l_tbsalvage_value_type;
6658 l_tb2percent_salvage_value_tab l_tbpercent_salvage_value_type;
6659 l_tb2attribute_category_tab l_tbattribute_category_type;
6660 l_tb2attribute1_tab l_tbattribute1_type;
6661 l_tb2attribute2_tab l_tbattribute2_type;
6662 l_tb2attribute3_tab l_tbattribute3_type;
6663 l_tb2attribute4_tab l_tbattribute4_type;
6664 l_tb2attribute5_tab l_tbattribute5_type;
6665 l_tb2attribute6_tab l_tbattribute6_type;
6666 l_tb2attribute7_tab l_tbattribute7_type;
6667 l_tb2attribute8_tab l_tbattribute8_type;
6668 l_tb2attribute9_tab l_tbattribute9_type;
6669 l_tb2attribute10_tab l_tbattribute10_type;
6670 l_tb2attribute11_tab l_tbattribute11_type;
6671 l_tb2attribute12_tab l_tbattribute12_type;
6672 l_tb2attribute13_tab l_tbattribute13_type;
6673 l_tb2attribute14_tab l_tbattribute14_type;
6674 l_tb2attribute15_tab l_tbattribute15_type;
6675 l_tb2created_by_tab l_tbcreated_by_type;
6676 l_tb2creation_date_tab l_tbcreation_date_type;
6677 l_tb2last_updated_by_tab l_tblast_updated_by_type;
6678 l_tb2last_update_date_tab l_tblast_update_date_type;
6679 l_tb2last_update_login_tab l_tblast_update_login_type;
6680 l_tb2depreciate_yn_tab l_tbdepreciate_yn_type;
6681 l_tb2hold_period_days_tab l_tbhold_period_days_type;
6682 l_tb2old_salvage_value_tab l_tbold_salvage_value_type;
6683 l_tb2new_residual_value_tab l_tbnew_residual_value_type;
6684 l_tb2old_residual_value_tab l_tbold_residual_value_type;
6685 l_tb2units_retired_tab l_tbunits_retired_type;
6686 l_tb2cost_retired_tab l_tbcost_retired_type;
6687 l_tb2sale_proceeds_tab l_tbsale_proceeds_type;
6688 l_tb2removal_cost_tab l_tbremoval_cost_type;
6689 l_tb2dnz_asset_id_tab l_tbdnz_asset_id_type;
6690 l_tb2date_due_tab l_tbdate_due_type;
6691 l_tb2rep_asset_id_tab l_tbrep_asset_id_type;
6692 l_tb2lke_asset_id_tab l_tblke_asset_id_type;
6693 l_tb2match_amount_tab l_tbmatch_amount_type;
6694 l_tb2split_into_units_tab l_tbsplit_into_units_type;
6695 l_tb2currency_code_tab l_tbcurrency_code_type;
6696 l_tb2asset_key_id_tab l_tbasset_key_id_type;
6697 l_tb2fa_trx_date_tab l_tbfa_trx_date_type;
6698 l_tb2fa_cost_tab l_tbfa_cost_type;
6699
6700 -- For okl_txl_assets_b End
6701
6702 -- For okl_txl_assets_tl Begin
6703
6704 l_tlid_tab l_tlid_type;
6705 l_tllanguage_tab l_tllanguage_type;
6706 l_tlsource_lang_tab l_tlsource_lang_type;
6707 l_tlsfwt_flag_tab l_tlsfwt_flag_type;
6708 l_tldescription_tab l_tldescription_type;
6709 l_tlcreated_by_tab l_tlcreated_by_type;
6710 l_tlcreation_date_tab l_tlcreation_date_type;
6711 l_tllast_updated_by_tab l_tllast_updated_by_type;
6712 l_tllast_update_date_tab l_tllast_update_date_type;
6713 l_tllast_update_login_tab l_tllast_update_login_type;
6714
6715 l_txl_assets_tl_counter NUMBER := 1;
6716
6717 -- For okl_txl_assets_tl End
6718
6719 -- For okl_txd_assets_b Begin
6720
6721 l_dbid_tab3 l_dbid_type;
6722 l_dbid_tab l_dbid_type;
6723 l_dbobject_version_number_tab l_dbobject_version_number_type;
6724 l_dbtal_id_tab l_dbtal_id_type;
6725 l_dbtarget_kle_id_tab l_dbtarget_kle_id_type;
6726 l_dbline_detail_number_tab l_dbline_detail_number_type;
6727 l_dbasset_number_tab l_dbasset_number_type;
6728 l_dbquantity_tab l_dbquantity_type;
6729 l_dbcost_tab l_dbcost_type;
6730 l_dbtax_book_tab l_dbtax_book_type;
6731 l_dblife_in_months_tax_tab l_dblife_in_months_tax_type;
6732 l_dbdeprn_method_tax_tab l_dbdeprn_method_tax_type;
6733 l_dbdeprn_rate_tax_tab l_dbdeprn_rate_tax_type;
6734 l_dbsalvage_value_tab l_dbsalvage_value_type;
6735 l_dbsplit_percent_tab l_dbsplit_percent_type;
6736 l_dbinventory_item_id_tab l_dbinventory_item_id_type;
6737 l_dbattribute_category_tab l_dbattribute_category_type;
6738 l_dbattribute1_tab l_dbattribute1_type;
6739 l_dbattribute2_tab l_dbattribute2_type;
6740 l_dbattribute3_tab l_dbattribute3_type;
6741 l_dbattribute4_tab l_dbattribute4_type;
6742 l_dbattribute5_tab l_dbattribute5_type;
6743 l_dbattribute6_tab l_dbattribute6_type;
6744 l_dbattribute7_tab l_dbattribute7_type;
6745 l_dbattribute8_tab l_dbattribute8_type;
6746 l_dbattribute9_tab l_dbattribute9_type;
6747 l_dbattribute10_tab l_dbattribute10_type;
6748 l_dbattribute11_tab l_dbattribute11_type;
6749 l_dbattribute12_tab l_dbattribute12_type;
6750 l_dbattribute13_tab l_dbattribute13_type;
6751 l_dbattribute14_tab l_dbattribute14_type;
6752 l_dbattribute15_tab l_dbattribute15_type;
6753 l_dbcreated_by_tab l_dbcreated_by_type;
6754 l_dbcreation_date_tab l_dbcreation_date_type;
6755 l_dblast_updated_by_tab l_dblast_updated_by_type;
6756 l_dblast_update_date_tab l_dblast_update_date_type;
6757 l_dblast_update_login_tab l_dblast_update_login_type;
6758 l_dbcurrency_code_tab l_dbcurrency_code_type;
6759 l_dbcurrency_convers_type_tab l_dbcurrency_convers_type_type;
6760 l_dbcurrency_convers_rate_tab l_dbcurrency_convers_rate_type;
6761 l_dbcurrency_convers_date_tab l_dbcurrency_convers_date_type;
6762
6763 l_txd_assets_b_counter NUMBER := 1;
6764
6765 -- For okl_txd_assets_b End
6766
6767 -- For okl_txd_assets_tl Begin
6768
6769 l_dlid_tab l_dlid_type;
6770 l_dllanguage_tab l_dllanguage_type;
6771 l_dlsource_lang_tab l_dlsource_lang_type;
6772 l_dlsfwt_flag_tab l_dlsfwt_flag_type;
6773 l_dldescription_tab l_dldescription_type;
6774 l_dlcreated_by_tab l_dlcreated_by_type;
6775 l_dlcreation_date_tab l_dlcreation_date_type;
6776 l_dllast_updated_by_tab l_dllast_updated_by_type;
6777 l_dllast_update_date_tab l_dllast_update_date_type;
6778 l_dllast_update_login_tab l_dllast_update_login_type;
6779
6780 l_txd_assets_tl_counter NUMBER := 1;
6781
6782 -- For okl_txd_assets_tl End
6783
6784 -- For okl_txl_itm_insts Begin
6785
6786 l_tiid_tab l_tiid_type;
6787 l_tiobject_version_number_tab l_tiobject_version_number_type;
6788 l_titas_id_tab l_titas_id_type;
6789 l_tital_id_tab l_tital_id_type;
6790 l_tikle_id_tab l_tikle_id_type;
6791 l_tital_type_tab l_tital_type_type;
6792 l_tiline_number_tab l_tiline_number_type;
6793 l_tiinstance_number_ib_tab l_tiinstance_number_ib_type;
6794 l_tiobject_id1_new_tab l_tiobject_id1_new_type;
6795 l_tiobject_id2_new_tab l_tiobject_id2_new_type;
6796 l_tijtot_object_code_new_tab l_tijtot_object_code_new_type;
6797 l_tiobject_id1_old_tab l_tiobject_id1_old_type;
6798 l_tiobject_id2_old_tab l_tiobject_id2_old_type;
6799 l_tijtot_object_code_old_tab l_tijtot_object_code_old_type;
6800 l_tiinventory_org_id_tab l_tiinventory_org_id_type;
6801 l_tiserial_number_tab l_tiserial_number_type;
6802 l_timfg_serial_number_yn_tab l_timfg_serial_number_yn_type;
6803 l_tiinventory_item_id_tab l_tiinventory_item_id_type;
6804 l_tiinv_master_org_id_tab l_tiinv_master_org_id_type;
6805 l_tiattribute_category_tab l_tiattribute_category_type;
6806 l_tiattribute1_tab l_tiattribute1_type;
6807 l_tiattribute2_tab l_tiattribute2_type;
6808 l_tiattribute3_tab l_tiattribute3_type;
6809 l_tiattribute4_tab l_tiattribute4_type;
6810 l_tiattribute5_tab l_tiattribute5_type;
6811 l_tiattribute6_tab l_tiattribute6_type;
6812 l_tiattribute7_tab l_tiattribute7_type;
6813 l_tiattribute8_tab l_tiattribute8_type;
6814 l_tiattribute9_tab l_tiattribute9_type;
6815 l_tiattribute10_tab l_tiattribute10_type;
6816 l_tiattribute11_tab l_tiattribute11_type;
6817 l_tiattribute12_tab l_tiattribute12_type;
6818 l_tiattribute13_tab l_tiattribute13_type;
6819 l_tiattribute14_tab l_tiattribute14_type;
6820 l_tiattribute15_tab l_tiattribute15_type;
6821 l_ticreated_by_tab l_ticreated_by_type;
6822 l_ticreation_date_tab l_ticreation_date_type;
6823 l_tilast_updated_by_tab l_tilast_updated_by_type;
6824 l_tilast_update_date_tab l_tilast_update_date_type;
6825 l_tilast_update_login_tab l_tilast_update_login_type;
6826 l_tidnz_cle_id_tab l_tidnz_cle_id_type;
6827 l_tiinstance_id_tab l_tiinstance_id_type;
6828 l_tiselected_for_split_fl_tab l_tiselected_for_split_fl_type;
6829 l_tiasd_id_tab l_tiasd_id_type;
6830
6831 l_txl_itm_insts_counter NUMBER := 1;
6832
6833 -- okl_txl_itm_insts
6834 l_ti2id_tab l_tiid_type;
6835 l_ti2tas_id_tab l_titas_id_type;
6836 l_ti2kle_id_tab l_tikle_id_type;
6837 l_ti2line_number_tab l_tiline_number_type;
6838 l_ti2instance_number_ib_tab l_tiinstance_number_ib_type;
6839 l_ti2object_id1_new_tab l_tiobject_id1_new_type;
6840 l_ti2object_id2_new_tab l_tiobject_id2_new_type;
6841 l_ti2jtot_object_code_new_tab l_tijtot_object_code_new_type;
6842 l_ti2dnz_cle_id_tab l_tidnz_cle_id_type;
6843 l_ti2inventory_item_id_tab l_tiinventory_item_id_type;
6844 l_ti2inv_master_org_id_tab l_tiinv_master_org_id_type;
6845 l_ti2inventory_org_id_tab l_tiinventory_org_id_type;
6846 l_ti2serial_number_tab l_tiserial_number_type;
6847 l_ti2mfg_serial_number_yn_tab l_timfg_serial_number_yn_type;
6848
6849 l_txl_itm_insts_counter2 NUMBER := 1;
6850
6851 -- For okl_txl_itm_insts End
6852
6853 -- For okc_k_lines_tl Begin
6854
6855 l_olid_tab l_olid_type;
6856 l_ollanguage_tab l_ollanguage_type;
6857 l_olsource_lang_tab l_olsource_lang_type;
6858 l_olsfwt_flag_tab l_olsfwt_flag_type;
6859 l_olname_tab l_olname_type;
6860 l_olcomments_tab l_olcomments_type;
6861 l_olitem_description_tab l_olitem_description_type;
6862 l_olblock23text_tab l_olblock23text_type;
6863 l_olcreated_by_tab l_olcreated_by_type;
6864 l_olcreation_date_tab l_olcreation_date_type;
6865 l_ollast_updated_by_tab l_ollast_updated_by_type;
6866 l_ollast_update_date_tab l_ollast_update_date_type;
6867 l_ollast_update_login_tab l_ollast_update_login_type;
6868 l_olsecurity_group_id_tab l_olsecurity_group_id_type;
6869 l_oloke_boe_description_tab l_oloke_boe_description_type;
6870 l_olcognomen_tab l_olcognomen_type;
6871
6872 l_ollse_id_tab l_lse_id_type;
6873 --avsingh: Bug 5710213: start
6874 l_ollty_code_tab l_lty_code_type;
6875 --avsingh: Bug 5710213: end
6876 l_olsts_code_tab l_sts_code_type;
6877 l_olfee_type_tab l_fee_type_type;
6878
6879 l_okc_k_lines_tl_counter NUMBER := 1;
6880 -- For okc_k_lines_tl End
6881
6882 -- For okl_party_payment_dtls Begin
6883
6884 l_ppid_tab l_ppid_type;
6885 l_ppobject_version_number_tab l_ppobject_version_number_type;
6886 l_ppcpl_id_tab l_ppcpl_id_type;
6887 l_ppvendor_id_tab l_ppvendor_id_type;
6888 l_pppay_site_id_tab l_pppay_site_id_type;
6889 l_pppayment_term_id_tab l_pppayment_term_id_type;
6890 l_pppayment_method_code_tab l_pppayment_method_code_type;
6891 l_pppay_group_code_tab l_pppay_group_code_type;
6892 l_ppattribute_category_tab l_ppattribute_category_type;
6893 l_ppattribute1_tab l_ppattribute1_type;
6894 l_ppattribute2_tab l_ppattribute2_type;
6895 l_ppattribute3_tab l_ppattribute3_type;
6896 l_ppattribute4_tab l_ppattribute4_type;
6897 l_ppattribute5_tab l_ppattribute5_type;
6898 l_ppattribute6_tab l_ppattribute6_type;
6899 l_ppattribute7_tab l_ppattribute7_type;
6900 l_ppattribute8_tab l_ppattribute8_type;
6901 l_ppattribute9_tab l_ppattribute9_type;
6902 l_ppattribute10_tab l_ppattribute10_type;
6903 l_ppattribute11_tab l_ppattribute11_type;
6904 l_ppattribute12_tab l_ppattribute12_type;
6905 l_ppattribute13_tab l_ppattribute13_type;
6906 l_ppattribute14_tab l_ppattribute14_type;
6907 l_ppattribute15_tab l_ppattribute15_type;
6908 l_ppcreated_by_tab l_ppcreated_by_type;
6909 l_ppcreation_date_tab l_ppcreation_date_type;
6910 l_pplast_updated_by_tab l_pplast_updated_by_type;
6911 l_pplast_update_date_tab l_pplast_update_date_type;
6912 l_pplast_update_login_tab l_pplast_update_login_type;
6913 l_pppayment_hdr_id_tab l_pppayment_hdr_id_type;
6914 l_pppayment_start_date_tab l_pppayment_start_date_type;
6915 l_pppayment_frequency_tab l_pppayment_frequency_type;
6916 l_ppremit_days_tab l_ppremit_days_type;
6917 l_ppdisbursement_basis_tab l_ppdisbursement_basis_type;
6918 l_ppdisbursement_fixed_am_tab l_ppdisbursement_fixed_am_type;
6919 l_ppdisbursement_percent_tab l_ppdisbursement_percent_type;
6920 l_ppprocessing_fee_basis_tab l_ppprocessing_fee_basis_type;
6921 l_ppprocessing_fee_fixedt_tab l_ppprocessing_fee_fixedt_type;
6922 l_ppprocessing_fee_percen_tab l_ppprocessing_fee_percen_type;
6923 l_pppayment_basis_tab l_pppayment_basis_type;
6924
6925 l_party_payment_dtls_counter NUMBER := 1;
6926
6927 -- For okl_party_payment_dtls End
6928
6929 -- For okl_slctd_optns Begin
6930
6931 l_sid_tab l_sid_type;
6932 l_spov_id_tab l_spov_id_type;
6933 l_skhr_id_tab l_skhr_id_type;
6934 l_sobject_version_number_tab l_sobject_version_number_type;
6935 l_sattribute_category_tab l_sattribute_category_type;
6936 l_sattribute1_tab l_sattribute1_type;
6937 l_sattribute2_tab l_sattribute2_type;
6938 l_sattribute3_tab l_sattribute3_type;
6939 l_sattribute4_tab l_sattribute4_type;
6940 l_sattribute5_tab l_sattribute5_type;
6941 l_sattribute6_tab l_sattribute6_type;
6942 l_sattribute7_tab l_sattribute7_type;
6943 l_sattribute8_tab l_sattribute8_type;
6944 l_sattribute9_tab l_sattribute9_type;
6945 l_sattribute10_tab l_sattribute10_type;
6946 l_sattribute11_tab l_sattribute11_type;
6947 l_sattribute12_tab l_sattribute12_type;
6948 l_sattribute13_tab l_sattribute13_type;
6949 l_sattribute14_tab l_sattribute14_type;
6950 l_sattribute15_tab l_sattribute15_type;
6951 l_screated_by_tab l_screated_by_type;
6952 l_screation_date_tab l_screation_date_type;
6953 l_slast_updated_by_tab l_slast_updated_by_type;
6954 l_slast_update_date_tab l_slast_update_date_type;
6955 l_slast_update_login_tab l_slast_update_login_type;
6956
6957 l_slctd_optns_counter NUMBER := 1;
6958
6959 -- For okl_slctd_optns End
6960
6961 -- For okc_rg_party_roles Begin
6962
6963 l_gid_tab l_gid_type;
6964 l_grgp_id_tab l_grgp_id_type;
6965 l_grrd_id_tab l_grrd_id_type;
6966 l_gcpl_id_tab l_gcpl_id_type;
6967 l_gdnz_chr_id_tab l_gdnz_chr_id_type;
6968 l_gobject_version_number_tab l_gobject_version_number_type;
6969 l_gcreated_by_tab l_gcreated_by_type;
6970 l_gcreation_date_tab l_gcreation_date_type;
6971 l_glast_updated_by_tab l_glast_updated_by_type;
6972 l_glast_update_date_tab l_glast_update_date_type;
6973 l_glast_update_login_tab l_glast_update_login_type;
6974 l_gsecurity_group_id_tab l_gsecurity_group_id_type;
6975
6976 l_rg_party_roles_counter NUMBER := 1;
6977
6978 -- For okc_rg_party_roles End
6979
6980 --l_okl_k_lines_rec2 lines_tbl_type;
6981 l_okl_k_lines_rec l_okl_k_lines_rec_tab;
6982 l_okl_k_lines_rec_counter NUMBER := 1;
6983 l_okc_k_items_rec l_okc_k_items_rec_tab;
6984 l_okc_k_items_rec_counter NUMBER := 1;
6985
6986 l_bid_mapping_tab l_bid_mapping_tab_type;
6987 l_cle_lse_mapping_tab l_cle_lse_mapping_tab_type;
6988 l_orig_system_tab l_orig_system_tab_type;
6989 l_id_mapping_tab l_id_mapping_tab_type;
6990 l_party_id_mapping_tab l_party_id_mapping_tab_type;
6991 l_ssid_mapping_tab l_ssid_mapping_tab_type;
6992 l_sid_mapping_tab l_sid_mapping_tab_type;
6993 l_tid_mapping_tab l_tid_mapping_tab_type;
6994 l_vid_mapping_tab l_vid_mapping_tab_type;
6995 l_dbid_mapping_tab l_dbid_mapping_tab_type;
6996 l_osid_mapping_tab l_osid_mapping_tab_type;
6997 l_cid_mapping_tab l_cid_mapping_tab_type;
6998 l_rid_mapping_tab l_rid_mapping_tab_type;
6999 l_rrid_mapping_tab l_rrid_mapping_tab_type;
7000 l_trx_id_mapping_tab l_trx_id_mapping_tab_type;
7001 l_trx_id_mapping_tab2 l_trx_id_mapping_tab_type;
7002 l_txl_id_mapping_tab l_txl_id_mapping_tab_type;
7003 l_aid_mapping_tab l_aid_mapping_tab_type;
7004 l_oid_mapping_tab l_oid_mapping_tab_type;
7005 l_cle_mapping_tab l_cle_mapping_tab_type;
7006 l_cle_mapping_tab2 l_cle_mapping_tab_type2;
7007 l_asset_counter NUMBER := 1;
7008 l_vid_counter NUMBER := 1;
7009 l_tid_counter NUMBER := 1;
7010 l_ssid_counter NUMBER := 1;
7011 l_s2cle_id_tab l_id_type;
7012 l_s2object1_id1_tab l_misc_object1_id1;
7013
7014 l_entered_id_tab l_id_type;
7015 l_entered_sts_code_tab l_sts_code_type; -- Bug 4872258
7016 l_entered_counter NUMBER := 1;
7017 l_delete_id_tab l_id_type;
7018 l_delete_counter NUMBER := 1;
7019 l_line_count NUMBER := 0; --5207066
7020
7021 l_id2_tab_counter NUMBER := 1;
7022 l_id2_tab l_id_type;
7023 l_id_tab l_id_type;
7024 l_line_number_tab l_line_number_type;
7025 l_chr_id_tab l_chr_id_type;
7026 l_cle_id_tab l_cle_id_type;
7027 l_cle_id_renewed_tab l_cle_id_renewed_type;
7028 l_dnz_chr_id_tab l_dnz_chr_id_type;
7029 l_display_sequence_tab l_display_sequence_type;
7030 l_sts_code_tab l_sts_code_type;
7031 l_trn_code_tab l_trn_code_type;
7032 l_lse_id2_tab l_lse_id_type;
7033 l_lse_id_tab l_lse_id_type;
7034 --avsingh: Bug 5710213: start
7035 l_lty_code_tab l_lty_code_type;
7036 --avsingh: Bug 5710213: end
7037 l_exception_yn_tab l_exception_yn_type;
7038 l_object_version_number_tab l_object_version_number_type;
7039 l_created_by_tab l_created_by_type;
7040 l_creation_date_tab l_creation_date_type;
7041 l_last_updated_by_tab l_last_updated_by_type;
7042 l_last_update_date_tab l_last_update_date_type;
7043 l_hidden_ind_tab l_hidden_ind_type;
7044 l_price_negotiated_tab l_price_negotiated_type;
7045 l_price_level_ind_tab l_price_level_ind_type;
7046 l_price_unit_tab l_price_unit_type;
7047 l_price_unit_percent_tab l_price_unit_percent_type;
7048 l_invoice_line_level_ind_tab l_invoice_line_level_ind_type;
7049 l_dpas_rating_tab l_dpas_rating_type;
7050 l_template_used_tab l_template_used_type;
7051 l_price_type_tab l_price_type_type;
7052 l_currency_code_tab l_currency_code_type;
7053 l_last_update_login_tab l_last_update_login_type;
7054 l_date_terminated_tab l_date_terminated_type;
7055 l_start_date_tab l_start_date_type;
7056 l_end_date_tab l_end_date_type;
7057 l_attribute_category_tab l_attribute_category_type;
7058 l_attribute1_tab l_attribute1_type;
7059 l_attribute2_tab l_attribute2_type;
7060 l_attribute3_tab l_attribute3_type;
7061 l_attribute4_tab l_attribute4_type;
7062 l_attribute5_tab l_attribute5_type;
7063 l_attribute6_tab l_attribute6_type;
7064 l_attribute7_tab l_attribute7_type;
7065 l_attribute8_tab l_attribute8_type;
7066 l_attribute9_tab l_attribute9_type;
7067 l_attribute10_tab l_attribute10_type;
7068 l_attribute11_tab l_attribute11_type;
7069 l_attribute12_tab l_attribute12_type;
7070 l_attribute13_tab l_attribute13_type;
7071 l_attribute14_tab l_attribute14_type;
7072 l_attribute15_tab l_attribute15_type;
7073 l_security_group_id_tab l_security_group_id_type;
7074 l_cle_id_renewed_to_tab l_cle_id_renewed_to_type;
7075 l_price_negotiated_renewed_tab l_price_negotiated_renewed_typ;
7076 l_currency_code_renewed_tab l_currency_code_renewed_type;
7077 l_upg_orig_system_ref_tab l_upg_orig_system_ref_type;
7078 l_upg_orig_system_ref_id_tab l_upg_orig_system_ref_id_type;
7079 l_date_renewed_tab l_date_renewed_type;
7080 l_orig_system_source_code_tab l_orig_system_source_code_type;
7081 l_orig_system_id1_tab l_orig_system_id1_type;
7082 l_orig_system_reference1_tab l_orig_system_reference1_type;
7083 l_program_application_id_tab l_program_application_id_type;
7084 l_program_id_tab l_program_id_type;
7085 l_program_update_date_tab l_program_update_date_type;
7086 l_request_id_tab l_request_id_type;
7087 l_price_list_id_tab l_price_list_id_type;
7088 l_price_list_line_id_tab l_price_list_line_id_type;
7089 l_line_list_price_tab l_line_list_price_type;
7090 l_item_to_price_yn_tab l_item_to_price_yn_type;
7091 l_pricing_date_tab l_pricing_date_type;
7092 l_price_basis_yn_tab l_price_basis_yn_type;
7093 l_config_header_id_tab l_config_header_id_type;
7094 l_config_revision_number_tab l_config_revision_number_type;
7095 l_config_complete_yn_tab l_config_complete_yn_type;
7096 l_config_valid_yn_tab l_config_valid_yn_type;
7097 l_config_top_model_line_id_tab l_config_top_model_line_id_typ;
7098 l_config_item_type_tab l_config_item_type_type;
7099 l_config_item_id_tab l_config_item_id_type;
7100 l_service_item_yn_tab l_service_item_yn_type;
7101 l_ph_pricing_type_tab l_ph_pricing_type_type;
7102 l_ph_price_break_basis_tab l_ph_price_break_basis_type;
7103 l_ph_min_qty_tab l_ph_min_qty_type;
7104 l_ph_min_amt_tab l_ph_min_amt_type;
7105 l_ph_qp_reference_id_tab l_ph_qp_reference_id_type;
7106 l_ph_value_tab l_ph_value_type;
7107 l_ph_enforce_price_list_yn_tab l_ph_enforce_price_list_yn_typ;
7108 l_ph_adjustment_tab l_ph_adjustment_type;
7109 l_ph_integrated_with_qp_tab l_ph_integrated_with_qp_type;
7110 l_cust_acct_id_tab l_cust_acct_id_type;
7111 l_bill_to_site_use_id_tab l_bill_to_site_use_id_type;
7112 l_inv_rule_id_tab l_inv_rule_id_type;
7113 l_line_renewal_type_code_tab l_line_renewal_type_code_type;
7114 l_ship_to_site_use_id_tab l_ship_to_site_use_id_type;
7115 l_payment_term_id_tab l_payment_term_id_type;
7116 l_fee_type_tab l_fee_type_type;
7117 l_name_tab l_name_type;
7118
7119 l_id_tab3 l_id_type;
7120 l_id_tab2 l_id_type;
7121 l_line_number_tab2 l_line_number_type;
7122 l_chr_id_tab2 l_chr_id_type;
7123 l_cle_id_tab2 l_cle_id_type;
7124 l_cle_id_renewed_tab2 l_cle_id_renewed_type;
7125 l_dnz_chr_id_tab2 l_dnz_chr_id_type;
7126 l_display_sequence_tab2 l_display_sequence_type;
7127 l_sts_code_tab2 l_sts_code_type;
7128 l_trn_code_tab2 l_trn_code_type;
7129 l_lse_id_tab2 l_lse_id_type;
7130 --avsingh: Bug 5710213: start
7131 l_lty_code_tab2 l_lty_code_type;
7132 --avsingh: Bug 5710213: end
7133 l_exception_yn_tab2 l_exception_yn_type;
7134 l_object_version_number_tab2 l_object_version_number_type;
7135 l_created_by_tab2 l_created_by_type;
7136 l_creation_date_tab2 l_creation_date_type;
7137 l_last_updated_by_tab2 l_last_updated_by_type;
7138 l_last_update_date_tab2 l_last_update_date_type;
7139 l_hidden_ind_tab2 l_hidden_ind_type;
7140 l_price_negotiated_tab2 l_price_negotiated_type;
7141 l_price_level_ind_tab2 l_price_level_ind_type;
7142 l_price_unit_tab2 l_price_unit_type;
7143 l_price_unit_percent_tab2 l_price_unit_percent_type;
7144 l_invoice_line_level_ind_tab2 l_invoice_line_level_ind_type;
7145 l_dpas_rating_tab2 l_dpas_rating_type;
7146 l_template_used_tab2 l_template_used_type;
7147 l_price_type_tab2 l_price_type_type;
7148 l_currency_code_tab2 l_currency_code_type;
7149 l_last_update_login_tab2 l_last_update_login_type;
7150 l_date_terminated_tab2 l_date_terminated_type;
7151 l_start_date_tab2 l_start_date_type;
7152 l_end_date_tab2 l_end_date_type;
7153 l_attribute_category_tab2 l_attribute_category_type;
7154 l_attribute1_tab2 l_attribute1_type;
7155 l_attribute2_tab2 l_attribute2_type;
7156 l_attribute3_tab2 l_attribute3_type;
7157 l_attribute4_tab2 l_attribute4_type;
7158 l_attribute5_tab2 l_attribute5_type;
7159 l_attribute6_tab2 l_attribute6_type;
7160 l_attribute7_tab2 l_attribute7_type;
7161 l_attribute8_tab2 l_attribute8_type;
7162 l_attribute9_tab2 l_attribute9_type;
7163 l_attribute10_tab2 l_attribute10_type;
7164 l_attribute11_tab2 l_attribute11_type;
7165 l_attribute12_tab2 l_attribute12_type;
7166 l_attribute13_tab2 l_attribute13_type;
7167 l_attribute14_tab2 l_attribute14_type;
7168 l_attribute15_tab2 l_attribute15_type;
7169 l_security_group_id_tab2 l_security_group_id_type;
7170 l_cle_id_renewed_to_tab2 l_cle_id_renewed_to_type;
7171 l_price_negotiated_renewed_tb2 l_price_negotiated_renewed_typ;
7172 l_currency_code_renewed_tab2 l_currency_code_renewed_type;
7173 l_upg_orig_system_ref_tab2 l_upg_orig_system_ref_type;
7174 l_upg_orig_system_ref_id_tab2 l_upg_orig_system_ref_id_type;
7175 l_date_renewed_tab2 l_date_renewed_type;
7176 l_orig_system_source_code_tab2 l_orig_system_source_code_type;
7177 l_orig_system_id1_tab2 l_orig_system_id1_type;
7178 l_orig_system_reference1_tab2 l_orig_system_reference1_type;
7179 l_program_application_id_tab2 l_program_application_id_type;
7180 l_program_id_tab2 l_program_id_type;
7181 l_program_update_date_tab2 l_program_update_date_type;
7182 l_request_id_tab2 l_request_id_type;
7183 l_price_list_id_tab2 l_price_list_id_type;
7184 l_price_list_line_id_tab2 l_price_list_line_id_type;
7185 l_line_list_price_tab2 l_line_list_price_type;
7186 l_item_to_price_yn_tab2 l_item_to_price_yn_type;
7187 l_pricing_date_tab2 l_pricing_date_type;
7188 l_price_basis_yn_tab2 l_price_basis_yn_type;
7189 l_config_header_id_tab2 l_config_header_id_type;
7190 l_config_revision_number_tab2 l_config_revision_number_type;
7191 l_config_complete_yn_tab2 l_config_complete_yn_type;
7192 l_config_valid_yn_tab2 l_config_valid_yn_type;
7193 l_config_top_model_line_id_tb2 l_config_top_model_line_id_typ;
7194 l_config_item_type_tab2 l_config_item_type_type;
7195 l_config_item_id_tab2 l_config_item_id_type;
7196 l_service_item_yn_tab2 l_service_item_yn_type;
7197 l_ph_pricing_type_tab2 l_ph_pricing_type_type;
7198 l_ph_price_break_basis_tab2 l_ph_price_break_basis_type;
7199 l_ph_min_qty_tab2 l_ph_min_qty_type;
7200 l_ph_min_amt_tab2 l_ph_min_amt_type;
7201 l_ph_qp_reference_id_tab2 l_ph_qp_reference_id_type;
7202 l_ph_value_tab2 l_ph_value_type;
7203 l_ph_enforce_price_list_yn_tb2 l_ph_enforce_price_list_yn_typ;
7204 l_ph_adjustment_tab2 l_ph_adjustment_type;
7205 l_ph_integrated_with_qp_tab2 l_ph_integrated_with_qp_type;
7206 l_cust_acct_id_tab2 l_cust_acct_id_type;
7207 l_bill_to_site_use_id_tab2 l_bill_to_site_use_id_type;
7208 l_inv_rule_id_tab2 l_inv_rule_id_type;
7209 l_line_renewal_type_code_tab2 l_line_renewal_type_code_type;
7210 l_ship_to_site_use_id_tab2 l_ship_to_site_use_id_type;
7211 l_payment_term_id_tab2 l_payment_term_id_type;
7212 l_fee_type_tab2 l_fee_type_type;
7213 l_name_tab2 l_name_type;
7214
7215 l_counter NUMBER;
7216 l_cid_counter NUMBER := 1;
7217 l_cle_lse_counter NUMBER := 1;
7218 l_new_id NUMBER;
7219 l_party_counter NUMBER := 1;
7220 l_prid_tab l_prid_type;
7221 l_probject1_id1_tab l_probject1_id1_type;
7222
7223 l_orig_system_source_code okc_k_headers_b.orig_system_source_code%TYPE;
7224 l_sts_code okc_k_headers_b.sts_code%TYPE;
7225 l_sts_code_orig okc_k_headers_b.sts_code%TYPE;
7226
7227 PROCEDURE validate_currency_code(
7228 x_return_status OUT NOCOPY VARCHAR2,
7229 p_ccy_code IN okc_k_headers_b.currency_code%TYPE) IS
7230
7231 l_dummy_var VARCHAR2(1) := '?';
7232 CURSOR l_fndv_csr IS
7233 SELECT 'x'
7234 FROM FND_CURRENCIES_VL
7235 WHERE currency_code = p_ccy_code
7236 AND SYSDATE BETWEEN NVL(start_date_active,SYSDATE)
7237 AND NVL(end_date_active,SYSDATE);
7238 BEGIN
7239
7240 -- initialize return status
7241 x_return_status := OKC_API.G_RET_STS_SUCCESS;
7242
7243 -- check that data exists
7244 IF (p_ccy_code = OKC_API.G_MISS_CHAR OR
7245 p_ccy_code IS NULL)
7246 THEN
7247 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7248 p_msg_name => g_required_value,
7249 p_token1 => g_col_name_token,
7250 p_token1_value => 'Currency Code');
7251 -- notify caller of an error
7252 x_return_status := OKC_API.G_RET_STS_ERROR;
7253
7254 -- halt validation
7255 RAISE G_EXCEPTION_HALT_VALIDATION;
7256 END IF;
7257
7258 -- check data is in lookup table
7259 OPEN l_fndv_csr;
7260 FETCH l_fndv_csr INTO l_dummy_var;
7261 CLOSE l_fndv_csr;
7262
7263 -- if l_dummy_var still set to default, data was not found
7264 IF (l_dummy_var = '?') THEN
7265 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7266 p_msg_name => 'OKL_NO_PARENT_RECORD',
7267 p_token1 => g_col_name_token,
7268 p_token1_value => 'currency_code',
7269 p_token2 => g_child_table_token,
7270 p_token2_value => 'OKL_TRX_AP_INVOICES_V',
7271 p_token3 => g_parent_table_token,
7272 p_token3_value => 'FND_CURRENCIES');
7273 -- notify caller of an error
7274 x_return_status := OKC_API.G_RET_STS_ERROR;
7275 END IF;
7276
7277
7278 EXCEPTION
7279 WHEN G_EXCEPTION_HALT_VALIDATION THEN
7280
7281
7282 -- no processing necessary; validation can continue with next column
7283 NULL;
7284
7285 WHEN OTHERS THEN
7286
7287
7288 -- store SQL error message on message stack
7289 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7290 p_msg_name => g_unexpected_error,
7291 p_token1 => g_sqlcode_token,
7292 p_token1_value => SQLCODE,
7293 p_token2 => g_sqlerrm_token,
7294 p_token2_value => SQLERRM);
7295 -- notify caller of an error as UNEXPETED error
7296 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7297
7298 -- verify that cursor was closed
7299 IF l_fndv_csr%ISOPEN THEN
7300 CLOSE l_fndv_csr;
7301 END IF;
7302
7303
7304 END validate_currency_code;
7305
7306 PROCEDURE validate_orig_sys_code
7307 (x_return_status OUT NOCOPY VARCHAR2,
7308 p_orig_system_source_code IN okc_k_headers_b.orig_system_source_code%TYPE
7309 ) IS
7310 BEGIN
7311
7312
7313 -- initialize return status
7314 x_return_status := OKC_API.G_RET_STS_SUCCESS;
7315
7316 -- enforce foreign key if data exists
7317 IF (p_orig_system_source_code <> OKC_API.G_MISS_CHAR AND
7318 p_orig_system_source_code IS NOT NULL)
7319 THEN
7320 -- Check if the value is a valid code from lookup table
7321 x_return_status := OKC_UTIL.check_lookup_code('OKC_CONTRACT_SOURCES',
7322 p_orig_system_source_code);
7323 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7324 --set error message in message stack
7325 OKC_API.SET_MESSAGE(
7326 p_app_name => G_APP_NAME,
7327 p_msg_name => G_INVALID_VALUE,
7328 p_token1 => G_COL_NAME_TOKEN,
7329 p_token1_value => 'ORIG_SYSTEM_SOURCE_CODE');
7330 RAISE G_EXCEPTION_HALT_VALIDATION;
7331 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7332 RAISE G_EXCEPTION_HALT_VALIDATION;
7333 END IF;
7334 END IF;
7335
7336
7337 EXCEPTION
7338 WHEN OTHERS THEN
7339
7340
7341 -- store SQL error message on message stack
7342 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7343 p_msg_name => g_unexpected_error,
7344 p_token1 => g_sqlcode_token,
7345 p_token1_value=> SQLCODE,
7346 p_token2 => g_sqlerrm_token,
7347 p_token2_value=> SQLERRM);
7348 -- notify caller of an error as UNEXPETED error
7349 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7350
7351 END validate_orig_sys_code;
7352
7353 PROCEDURE validate_currency_conv_type
7354 (x_return_status OUT NOCOPY VARCHAR2,
7355 p_currency_conversion_type IN okc_k_headers_b.conversion_type%TYPE) IS
7356
7357 --cursor to chk currency type fk
7358 CURSOR curr_conv_type_csr (p_curr_cotyp IN VARCHAR2) IS
7359 SELECT '!'
7360 FROM gl_daily_conversion_types
7361 WHERE conversion_type = p_curr_cotyp;
7362
7363 l_valid_convert_type VARCHAR2(1) DEFAULT '?';
7364 BEGIN
7365 -- initialize return status
7366 x_return_status := OKC_API.G_RET_STS_SUCCESS;
7367 IF (p_CURRENCY_CONVERSION_TYPE <> OKC_API.G_MISS_CHAR AND
7368 p_CURRENCY_CONVERSION_TYPE IS NOT NULL)
7369 THEN
7370 -- check allowed values
7371 l_valid_convert_type := '?';
7372 OPEN curr_conv_type_csr(p_curr_cotyp => p_CURRENCY_CONVERSION_TYPE);
7373 FETCH curr_conv_type_csr INTO l_valid_convert_type;
7374 IF curr_conv_type_csr%NOTFOUND THEN
7375 NULL;
7376 END IF;
7377 CLOSE curr_conv_type_csr;
7378
7379 IF (l_valid_convert_type = '?') THEN
7380 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7381 p_msg_name => g_invalid_value,
7382 p_token1 => g_col_name_token,
7383 p_token1_value => 'CURRENCY_CONVERSION_TYPE');
7384 -- notify caller of an error
7385 x_return_status := OKC_API.G_RET_STS_ERROR;
7386 END IF;
7387 END IF;
7388 EXCEPTION
7389 WHEN OTHERS THEN
7390 -- store SQL error message on message stack
7391 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
7392 p_msg_name => g_unexpected_error,
7393 p_token1 => g_sqlcode_token,
7394 p_token1_value => SQLCODE,
7395 p_token2 => g_sqlerrm_token,
7396 p_token2_value => SQLERRM);
7397 -- notify caller of an error as UNEXPETED error
7398 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7399 END validate_CURRENCY_CONV_TYPE;
7400
7401 PROCEDURE validate_amd_code(x_return_status OUT NOCOPY VARCHAR2,
7402 p_amd_code IN okl_k_headers.amd_code%TYPE) IS
7403 BEGIN
7404 -- initialize return status
7405 x_return_status := OKC_API.G_RET_STS_SUCCESS;
7406
7407 -- enforce foreign key if data exists
7408 IF (p_AMD_CODE <> OKC_API.G_MISS_CHAR AND
7409 p_AMD_CODE IS NOT NULL)
7410 THEN
7411 -- Check if the value is a valid code from lookup table
7412 x_return_status := OKC_UTIL.check_lookup_code('OKL_ACCEPTANCE_METHOD',
7413 p_AMD_CODE);
7414 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7415 --set error message in message stack
7416 OKC_API.SET_MESSAGE(
7417 p_app_name => G_APP_NAME,
7418 p_msg_name => G_INVALID_VALUE,
7419 p_token1 => G_COL_NAME_TOKEN,
7420 p_token1_value => 'ACCEPTANCE_METHOD');
7421 RAISE G_EXCEPTION_HALT_VALIDATION;
7422 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7423 RAISE G_EXCEPTION_HALT_VALIDATION;
7424 END IF;
7425 END IF;
7426 EXCEPTION
7427 WHEN OTHERS THEN
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 END validate_AMD_CODE;
7438 /*
7439 */
7440
7441 FUNCTION find_bid_mapping_id(p_id IN NUMBER, p_lse_id IN NUMBER) RETURN VARCHAR2 IS
7442 hi NUMBER;
7443 lo NUMBER;
7444 m NUMBER;
7445 l_id NUMBER;
7446 BEGIN
7447 --l_id := p_id*100 + p_lse_id ;
7448 l_id := p_id;
7449 lo := 1;
7450 hi := l_counter - 1;
7451 WHILE (lo <= hi) LOOP
7452 m := FLOOR((hi + lo)/2);
7453 IF (l_bid_mapping_tab(m).old_id = l_id) THEN
7454 RETURN l_bid_mapping_tab(m).new_id;
7455 ELSIF (l_bid_mapping_tab(m).old_id > l_id) THEN
7456 hi := m - 1;
7457 ELSE
7458 lo := m + 1;
7459 END IF;
7460 END LOOP;
7461 RETURN '-1';
7462 END; /* find_bid_mapping_id */
7463
7464 PROCEDURE sort_bid_mapping_tab IS
7465 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
7466 --a numtabtype;
7467 l_stack numtabtype;
7468 l_stack_index NUMBER := 0;
7469 N NUMBER;
7470 R NUMBER;
7471 L NUMBER;
7472 P NUMBER;
7473 W NUMBER;
7474 W2 VARCHAR2(40);
7475 X NUMBER;
7476 I NUMBER;
7477 J NUMBER;
7478 BEGIN
7479 IF (G_DEBUG_ENABLED = 'Y') THEN
7480 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
7481 END IF;
7482 NULL;
7483
7484 N := l_counter - 1;
7485 IF (N < 2) THEN
7486 RETURN;
7487 END IF;
7488 l_stack_index := l_stack_index + 1;
7489 l_stack(l_stack_index) := 1;
7490 l_stack_index := l_stack_index + 1;
7491 l_stack(l_stack_index) := N;
7492
7493 --dbms_output.put_line('l_stack_index=' || l_stack_index);
7494 WHILE l_stack_index > 0
7495 LOOP
7496 R := l_stack(l_stack_index);
7497 l_stack_index := l_stack_index - 1;
7498 L := l_stack(l_stack_index);
7499 l_stack_index := l_stack_index - 1;
7500 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
7501 WHILE 1=1
7502 LOOP -- loop until L >= R
7503 I := L;
7504 J := R;
7505 P := FLOOR((L+R)/2);
7506 --if (a(L) > a(P)) then
7507 IF (l_bid_mapping_tab(L).old_id > l_bid_mapping_tab(P).old_id)
7508 THEN
7509 W := l_bid_mapping_tab(L).old_id;
7510 W2 := l_bid_mapping_tab(L).new_id;
7511 l_bid_mapping_tab(L).old_id :=l_bid_mapping_tab(P).old_id;
7512 l_bid_mapping_tab(L).new_id :=l_bid_mapping_tab(P).new_id;
7513 l_bid_mapping_tab(P).old_id := W;
7514 l_bid_mapping_tab(P).new_id := W2;
7515 END IF;
7516 --if (a(L) > a(R)) then
7517 IF (l_bid_mapping_tab(L).old_id > l_bid_mapping_tab(R).old_id)
7518 THEN
7519 W := l_bid_mapping_tab(L).old_id;
7520 W2 := l_bid_mapping_tab(L).new_id;
7521 l_bid_mapping_tab(L).old_id :=l_bid_mapping_tab(R).old_id;
7522 l_bid_mapping_tab(L).new_id :=l_bid_mapping_tab(R).new_id;
7523 l_bid_mapping_tab(R).old_id := W;
7524 l_bid_mapping_tab(R).new_id := W2;
7525 END IF;
7526 --if (a(P) > a(R)) then
7527 IF (l_bid_mapping_tab(P).old_id > l_bid_mapping_tab(R).old_id)
7528 THEN
7529 W := l_bid_mapping_tab(P).old_id;
7530 W2 := l_bid_mapping_tab(P).new_id;
7531 l_bid_mapping_tab(P).old_id :=l_bid_mapping_tab(R).old_id;
7532 l_bid_mapping_tab(P).new_id :=l_bid_mapping_tab(R).new_id;
7533 l_bid_mapping_tab(R).old_id := W;
7534 l_bid_mapping_tab(R).new_id := W2;
7535 END IF;
7536 --X := a(P);
7537 X := l_bid_mapping_tab(P).old_id;
7538 WHILE 1=1
7539 LOOP -- until I > J
7540 --while (a(I) < X) loop
7541 WHILE (l_bid_mapping_tab(I).old_id < X) LOOP
7542 I := I + 1;
7543 END LOOP;
7544 WHILE (X < l_bid_mapping_tab(J).old_id) LOOP
7545 J := J - 1;
7546 END LOOP;
7547 IF (I <= J) THEN
7548 W := l_bid_mapping_tab(I).old_id;
7549 W2 := l_bid_mapping_tab(I).new_id;
7550 l_bid_mapping_tab(I).old_id :=l_bid_mapping_tab(J).old_id;
7551 l_bid_mapping_tab(I).new_id :=l_bid_mapping_tab(J).new_id;
7552 l_bid_mapping_tab(J).old_id := W;
7553 l_bid_mapping_tab(J).new_id := W2;
7554 I := I + 1;
7555 J := J - 1;
7556 END IF;
7557 EXIT WHEN I > J;
7558 END LOOP;
7559 IF (J - L < R - I) THEN
7560 IF (I < R) THEN
7561 --push(I); push(R);
7562 l_stack_index := l_stack_index + 1;
7563 l_stack(l_stack_index) := I;
7564 l_stack_index := l_stack_index + 1;
7565 l_stack(l_stack_index) := R;
7566 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7567 END IF;
7568 R := J;
7569 ELSE
7570 IF (L < J) THEN
7571 --push(L); push(J);
7572 l_stack_index := l_stack_index + 1;
7573 l_stack(l_stack_index) := L;
7574 l_stack_index := l_stack_index + 1;
7575 l_stack(l_stack_index) := J;
7576 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7577 END IF;
7578 L := I;
7579 END IF;
7580
7581 EXIT WHEN (L >= R);
7582 END LOOP;
7583 END LOOP;
7584
7585 EXCEPTION WHEN OTHERS THEN
7586
7587 x_return_status := OKL_API.G_RET_STS_ERROR;
7588 /*OKL_API.set_message(p_app_name => 'OKL',
7589 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
7590 p_token1 => 'ASSET_NUMBER',
7591 p_token1_value => 'sort_bid_mapping_tab');*/
7592 /* DEBUG */
7593 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7594 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
7595 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_bid_mapping_tab:l_bid_mapping_tab N=' || N || ' ...');
7596 END IF;
7597
7598 --print array
7599 FOR i IN 1..N
7600 LOOP
7601 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7602 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);
7603 END IF;
7604 END LOOP;
7605
7606 RAISE OKC_API.G_EXCEPTION_ERROR;
7607
7608 END; /* sort_bid_mapping_tab */
7609
7610 FUNCTION find_cle_lse_mapping_id(p_cle_id IN NUMBER, p_lse_id IN NUMBER) RETURN NUMBER IS
7611 hi NUMBER;
7612 lo NUMBER;
7613 m NUMBER;
7614 l_start NUMBER;
7615 l_found BOOLEAN;
7616 l_orig_cle_id NUMBER;
7617 l_curr_cle_id NUMBER;
7618 BEGIN
7619 lo := 1;
7620 hi := l_cle_lse_counter - 1;
7621 WHILE (lo <= hi) LOOP
7622 m := FLOOR((hi + lo)/2);
7623 --print('Searching at m=' || m);
7624 IF (l_cle_lse_mapping_tab(m).cle_id = p_cle_id) THEN
7625 --print('Found at m=' || m);
7626 IF (l_cle_lse_mapping_tab(m).lse_id = p_lse_id) THEN
7627 --print('Returning value from index m=' || m);
7628 RETURN l_cle_lse_mapping_tab(m).id;
7629 ELSE
7630 -- Loop thru sequentially from m below until lse_id matches
7631 --print('Going down...');
7632 l_found := FALSE;
7633 l_orig_cle_id := l_cle_lse_mapping_tab(m).cle_id;
7634 l_start := m;
7635 l_curr_cle_id := l_cle_lse_mapping_tab(l_start).cle_id;
7636 WHILE (NOT(l_found) AND (l_curr_cle_id = l_orig_cle_id))
7637 LOOP
7638 IF (l_cle_lse_mapping_tab(l_start).lse_id = p_lse_id) THEN
7639 l_found := TRUE;
7640 ELSE
7641 l_start := l_start + 1;
7642 EXIT WHEN l_start > hi;
7643 l_curr_cle_id := l_cle_lse_mapping_tab(l_start).cle_id;
7644 END IF;
7645 END LOOP;
7646 IF (l_found) THEN
7647 --print('Found at down... l_start'||l_start);
7648 RETURN l_cle_lse_mapping_tab(l_start).id;
7649 END IF;
7650
7651 -- Loop thru sequentially from m above until lse_id matches
7652 --print('Going up...');
7653 l_found := FALSE;
7654 l_orig_cle_id := l_cle_lse_mapping_tab(m).cle_id;
7655 l_start := m;
7656 l_curr_cle_id := l_cle_lse_mapping_tab(l_start).cle_id;
7657 WHILE (NOT(l_found) AND (l_curr_cle_id = l_orig_cle_id))
7658 LOOP
7659 IF (l_cle_lse_mapping_tab(l_start).lse_id = p_lse_id) THEN
7660 l_found := TRUE;
7661 ELSE
7662 l_start := l_start - 1;
7663 EXIT WHEN l_start < lo;
7664 l_curr_cle_id := l_cle_lse_mapping_tab(l_start).cle_id;
7665 END IF;
7666 END LOOP;
7667 IF (l_found) THEN
7668 --print('Found at up... l_start='||l_start);
7669 RETURN l_cle_lse_mapping_tab(l_start).id;
7670 END IF;
7671
7672 RETURN -1;
7673 END IF;
7674 ELSIF (l_cle_lse_mapping_tab(m).cle_id > p_cle_id) THEN
7675 hi := m - 1;
7676 ELSE
7677 lo := m + 1;
7678 END IF;
7679 END LOOP;
7680 RETURN -1;
7681 END; /* find_cle_lse_mapping_id */
7682
7683 PROCEDURE sort_cle_lse_mapping_tab IS
7684 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
7685 --a numtabtype;
7686 l_stack numtabtype;
7687 l_stack_index NUMBER := 0;
7688 N NUMBER;
7689 R NUMBER;
7690 L NUMBER;
7691 P NUMBER;
7692 W NUMBER;
7693 W2 NUMBER;
7694 W3 NUMBER;
7695 X NUMBER;
7696 I NUMBER;
7697 J NUMBER;
7698 BEGIN
7699 IF (G_DEBUG_ENABLED = 'Y') THEN
7700 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
7701 END IF;
7702 NULL;
7703
7704 N := l_cle_lse_counter - 1;
7705 IF (N < 2) THEN
7706 RETURN;
7707 END IF;
7708 l_stack_index := l_stack_index + 1;
7709 l_stack(l_stack_index) := 1;
7710 l_stack_index := l_stack_index + 1;
7711 l_stack(l_stack_index) := N;
7712
7713 --dbms_output.put_line('l_stack_index=' || l_stack_index);
7714 WHILE l_stack_index > 0
7715 LOOP
7716 R := l_stack(l_stack_index);
7717 l_stack_index := l_stack_index - 1;
7718 L := l_stack(l_stack_index);
7719 l_stack_index := l_stack_index - 1;
7720 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
7721 WHILE 1=1
7722 LOOP -- loop until L >= R
7723 I := L;
7724 J := R;
7725 P := FLOOR((L+R)/2);
7726 --if (a(L) > a(P)) then
7727 IF (l_cle_lse_mapping_tab(L).cle_id > l_cle_lse_mapping_tab(P).cle_id)
7728 THEN
7729 W := l_cle_lse_mapping_tab(L).cle_id;
7730 W2 := l_cle_lse_mapping_tab(L).id;
7731 W3 := l_cle_lse_mapping_tab(L).lse_id;
7732 l_cle_lse_mapping_tab(L).cle_id :=l_cle_lse_mapping_tab(P).cle_id;
7733 l_cle_lse_mapping_tab(L).id :=l_cle_lse_mapping_tab(P).id;
7734 l_cle_lse_mapping_tab(L).lse_id :=l_cle_lse_mapping_tab(P).lse_id;
7735 l_cle_lse_mapping_tab(P).cle_id := W;
7736 l_cle_lse_mapping_tab(P).id := W2;
7737 l_cle_lse_mapping_tab(P).lse_id := W3;
7738 END IF;
7739 --if (a(L) > a(R)) then
7740 IF (l_cle_lse_mapping_tab(L).cle_id > l_cle_lse_mapping_tab(R).cle_id)
7741 THEN
7742 W := l_cle_lse_mapping_tab(L).cle_id;
7743 W2 := l_cle_lse_mapping_tab(L).id;
7744 W3 := l_cle_lse_mapping_tab(L).lse_id;
7745 l_cle_lse_mapping_tab(L).cle_id :=l_cle_lse_mapping_tab(R).cle_id;
7746 l_cle_lse_mapping_tab(L).id :=l_cle_lse_mapping_tab(R).id;
7747 l_cle_lse_mapping_tab(L).lse_id :=l_cle_lse_mapping_tab(R).lse_id;
7748 l_cle_lse_mapping_tab(R).cle_id := W;
7749 l_cle_lse_mapping_tab(R).id := W2;
7750 l_cle_lse_mapping_tab(R).lse_id := W3;
7751 END IF;
7752 --if (a(P) > a(R)) then
7753 IF (l_cle_lse_mapping_tab(P).cle_id > l_cle_lse_mapping_tab(R).cle_id)
7754 THEN
7755 W := l_cle_lse_mapping_tab(P).cle_id;
7756 W2 := l_cle_lse_mapping_tab(P).id;
7757 W3 := l_cle_lse_mapping_tab(P).lse_id;
7758 l_cle_lse_mapping_tab(P).cle_id :=l_cle_lse_mapping_tab(R).cle_id;
7759 l_cle_lse_mapping_tab(P).id :=l_cle_lse_mapping_tab(R).id;
7760 l_cle_lse_mapping_tab(P).lse_id :=l_cle_lse_mapping_tab(R).lse_id;
7761 l_cle_lse_mapping_tab(R).cle_id := W;
7762 l_cle_lse_mapping_tab(R).id := W2;
7763 l_cle_lse_mapping_tab(R).lse_id := W3;
7764 END IF;
7765 --X := a(P);
7766 X := l_cle_lse_mapping_tab(P).cle_id;
7767 WHILE 1=1
7768 LOOP -- until I > J
7769 --while (a(I) < X) loop
7770 WHILE (l_cle_lse_mapping_tab(I).cle_id < X) LOOP
7771 I := I + 1;
7772 END LOOP;
7773 WHILE (X < l_cle_lse_mapping_tab(J).cle_id) LOOP
7774 J := J - 1;
7775 END LOOP;
7776 IF (I <= J) THEN
7777 W := l_cle_lse_mapping_tab(I).cle_id;
7778 W2 := l_cle_lse_mapping_tab(I).id;
7779 W3 := l_cle_lse_mapping_tab(I).lse_id;
7780 l_cle_lse_mapping_tab(I).cle_id :=l_cle_lse_mapping_tab(J).cle_id;
7781 l_cle_lse_mapping_tab(I).id :=l_cle_lse_mapping_tab(J).id;
7782 l_cle_lse_mapping_tab(I).lse_id :=l_cle_lse_mapping_tab(J).lse_id;
7783 l_cle_lse_mapping_tab(J).cle_id := W;
7784 l_cle_lse_mapping_tab(J).id := W2;
7785 l_cle_lse_mapping_tab(J).lse_id := W3;
7786 I := I + 1;
7787 J := J - 1;
7788 END IF;
7789 EXIT WHEN I > J;
7790 END LOOP;
7791 IF (J - L < R - I) THEN
7792 IF (I < R) THEN
7793 --push(I); push(R);
7794 l_stack_index := l_stack_index + 1;
7795 l_stack(l_stack_index) := I;
7796 l_stack_index := l_stack_index + 1;
7797 l_stack(l_stack_index) := R;
7798 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7799 END IF;
7800 R := J;
7801 ELSE
7802 IF (L < J) THEN
7803 --push(L); push(J);
7804 l_stack_index := l_stack_index + 1;
7805 l_stack(l_stack_index) := L;
7806 l_stack_index := l_stack_index + 1;
7807 l_stack(l_stack_index) := J;
7808 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7809 END IF;
7810 L := I;
7811 END IF;
7812
7813 EXIT WHEN (L >= R);
7814 END LOOP;
7815 END LOOP;
7816
7817 /*print('Now printing cle_lse_mapping_tab...');
7818 for i in 1..N
7819 loop
7820 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);
7821 end loop;*/
7822
7823 EXCEPTION WHEN OTHERS THEN
7824
7825 x_return_status := OKL_API.G_RET_STS_ERROR;
7826 /*OKL_API.set_message(p_app_name => 'OKL',
7827 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
7828 p_token1 => 'ASSET_NUMBER',
7829 p_token1_value => 'sort_cle_lse_mapping_tab');*/
7830 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7831 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
7832 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_cle_lse_mapping_tab:l_cle_lse_mapping_tab N=' || N || ' ...');
7833 END IF;
7834
7835 --print array
7836 FOR i IN 1..N
7837 LOOP
7838 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7839 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);
7840 END IF;
7841 END LOOP;
7842
7843 RAISE OKC_API.G_EXCEPTION_ERROR;
7844
7845 END; /* sort_cle_lse_mapping_tab */
7846
7847
7848 FUNCTION find_cid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
7849 hi NUMBER;
7850 lo NUMBER;
7851 m NUMBER;
7852 BEGIN
7853 lo := 1;
7854 hi := l_cid_counter - 1;
7855 WHILE (lo <= hi) LOOP
7856 m := FLOOR((hi + lo)/2);
7857 IF (l_cid_mapping_tab(m).old_id = p_id) THEN
7858 RETURN l_cid_mapping_tab(m).new_id;
7859 ELSIF (l_cid_mapping_tab(m).old_id > p_id) THEN
7860 hi := m - 1;
7861 ELSE
7862 lo := m + 1;
7863 END IF;
7864 END LOOP;
7865 RETURN -1;
7866 END; /* find_cid_mapping_id */
7867
7868 PROCEDURE sort_cid_mapping_tab IS
7869 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
7870 --a numtabtype;
7871 l_stack numtabtype;
7872 l_stack_index NUMBER := 0;
7873 N NUMBER;
7874 R NUMBER;
7875 L NUMBER;
7876 P NUMBER;
7877 W NUMBER;
7878 W2 NUMBER;
7879 X NUMBER;
7880 I NUMBER;
7881 J NUMBER;
7882 BEGIN
7883 IF (G_DEBUG_ENABLED = 'Y') THEN
7884 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
7885 END IF;
7886 NULL;
7887
7888 N := l_cid_counter - 1;
7889 IF (N < 2) THEN
7890 RETURN;
7891 END IF;
7892 l_stack_index := l_stack_index + 1;
7893 l_stack(l_stack_index) := 1;
7894 l_stack_index := l_stack_index + 1;
7895 l_stack(l_stack_index) := N;
7896
7897 --dbms_output.put_line('l_stack_index=' || l_stack_index);
7898 WHILE l_stack_index > 0
7899 LOOP
7900 R := l_stack(l_stack_index);
7901 l_stack_index := l_stack_index - 1;
7902 L := l_stack(l_stack_index);
7903 l_stack_index := l_stack_index - 1;
7904 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
7905 WHILE 1=1
7906 LOOP -- loop until L >= R
7907 I := L;
7908 J := R;
7909 P := FLOOR((L+R)/2);
7910 --if (a(L) > a(P)) then
7911 IF (l_cid_mapping_tab(L).old_id > l_cid_mapping_tab(P).old_id)
7912 THEN
7913 W := l_cid_mapping_tab(L).old_id;
7914 W2 := l_cid_mapping_tab(L).new_id;
7915 l_cid_mapping_tab(L).old_id :=l_cid_mapping_tab(P).old_id;
7916 l_cid_mapping_tab(L).new_id :=l_cid_mapping_tab(P).new_id;
7917 l_cid_mapping_tab(P).old_id := W;
7918 l_cid_mapping_tab(P).new_id := W2;
7919 END IF;
7920 --if (a(L) > a(R)) then
7921 IF (l_cid_mapping_tab(L).old_id > l_cid_mapping_tab(R).old_id)
7922 THEN
7923 W := l_cid_mapping_tab(L).old_id;
7924 W2 := l_cid_mapping_tab(L).new_id;
7925 l_cid_mapping_tab(L).old_id :=l_cid_mapping_tab(R).old_id;
7926 l_cid_mapping_tab(L).new_id :=l_cid_mapping_tab(R).new_id;
7927 l_cid_mapping_tab(R).old_id := W;
7928 l_cid_mapping_tab(R).new_id := W2;
7929 END IF;
7930 --if (a(P) > a(R)) then
7931 IF (l_cid_mapping_tab(P).old_id > l_cid_mapping_tab(R).old_id)
7932 THEN
7933 W := l_cid_mapping_tab(P).old_id;
7934 W2 := l_cid_mapping_tab(P).new_id;
7935 l_cid_mapping_tab(P).old_id :=l_cid_mapping_tab(R).old_id;
7936 l_cid_mapping_tab(P).new_id :=l_cid_mapping_tab(R).new_id;
7937 l_cid_mapping_tab(R).old_id := W;
7938 l_cid_mapping_tab(R).new_id := W2;
7939 END IF;
7940 --X := a(P);
7941 X := l_cid_mapping_tab(P).old_id;
7942 WHILE 1=1
7943 LOOP -- until I > J
7944 --while (a(I) < X) loop
7945 WHILE (l_cid_mapping_tab(I).old_id < X) LOOP
7946 I := I + 1;
7947 END LOOP;
7948 WHILE (X < l_cid_mapping_tab(J).old_id) LOOP
7949 J := J - 1;
7950 END LOOP;
7951 IF (I <= J) THEN
7952 W := l_cid_mapping_tab(I).old_id;
7953 W2 := l_cid_mapping_tab(I).new_id;
7954 l_cid_mapping_tab(I).old_id :=l_cid_mapping_tab(J).old_id;
7955 l_cid_mapping_tab(I).new_id :=l_cid_mapping_tab(J).new_id;
7956 l_cid_mapping_tab(J).old_id := W;
7957 l_cid_mapping_tab(J).new_id := W2;
7958 I := I + 1;
7959 J := J - 1;
7960 END IF;
7961 EXIT WHEN I > J;
7962 END LOOP;
7963 IF (J - L < R - I) THEN
7964 IF (I < R) THEN
7965 --push(I); push(R);
7966 l_stack_index := l_stack_index + 1;
7967 l_stack(l_stack_index) := I;
7968 l_stack_index := l_stack_index + 1;
7969 l_stack(l_stack_index) := R;
7970 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7971 END IF;
7972 R := J;
7973 ELSE
7974 IF (L < J) THEN
7975 --push(L); push(J);
7976 l_stack_index := l_stack_index + 1;
7977 l_stack(l_stack_index) := L;
7978 l_stack_index := l_stack_index + 1;
7979 l_stack(l_stack_index) := J;
7980 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
7981 END IF;
7982 L := I;
7983 END IF;
7984
7985 EXIT WHEN (L >= R);
7986 END LOOP;
7987 END LOOP;
7988
7989 EXCEPTION WHEN OTHERS THEN
7990
7991 x_return_status := OKL_API.G_RET_STS_ERROR;
7992 /*OKL_API.set_message(p_app_name => 'OKL',
7993 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
7994 p_token1 => 'ASSET_NUMBER',
7995 p_token1_value => 'sort_cid_mapping_tab');*/
7996 /* DEBUG */
7997 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
7998 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
7999 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_cid_mapping_tab:l_cid_mapping_tab N=' || N || ' ...');
8000 END IF;
8001
8002 --print array
8003 FOR i IN 1..N
8004 LOOP
8005 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8006 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);
8007 END IF;
8008 END LOOP;
8009
8010 RAISE OKC_API.G_EXCEPTION_ERROR;
8011
8012 END; /* sort_cid_mapping_tab */
8013
8014 PROCEDURE do_sort IS
8015 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8016 --a numtabtype;
8017 l_stack numtabtype;
8018 l_stack_index NUMBER := 0;
8019 N NUMBER;
8020 R NUMBER;
8021 L NUMBER;
8022 P NUMBER;
8023 W NUMBER;
8024 W2 NUMBER;
8025 X NUMBER;
8026 I NUMBER;
8027 J NUMBER;
8028 BEGIN
8029 IF (G_DEBUG_ENABLED = 'Y') THEN
8030 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
8031 END IF;
8032 NULL;
8033 /*a(1) := 10;
8034 a(2) := 50;
8035 a(3) := 27;
8036 a(4) := 5;
8037 a(5) := 100;
8038 a(6) := 50;
8039 a(7) := 35;
8040 a(8) := 41;
8041 a(9) := 75;
8042 a(10) := 20;
8043
8044 N := 10;
8045 */
8046
8047 N := l_counter - 1;
8048 IF (N < 2) THEN
8049 RETURN;
8050 END IF;
8051 l_stack_index := l_stack_index + 1;
8052 l_stack(l_stack_index) := 1;
8053 l_stack_index := l_stack_index + 1;
8054 l_stack(l_stack_index) := N;
8055
8056 --dbms_output.put_line('l_stack_index=' || l_stack_index);
8057 WHILE l_stack_index > 0
8058 LOOP
8059 R := l_stack(l_stack_index);
8060 l_stack_index := l_stack_index - 1;
8061 L := l_stack(l_stack_index);
8062 l_stack_index := l_stack_index - 1;
8063 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
8064 WHILE 1=1
8065 LOOP -- loop until L >= R
8066 I := L;
8067 J := R;
8068 P := FLOOR((L+R)/2);
8069 --if (a(L) > a(P)) then
8070 IF (l_orig_system_tab(L).orig_system_id1 > l_orig_system_tab(P).orig_system_id1)
8071 THEN
8072 /*W := a(L);
8073 a(L) := a(P);
8074 a(P) := W;*/
8075
8076 W := l_orig_system_tab(L).orig_system_id1;
8077 W2 := l_orig_system_tab(L).id;
8078 l_orig_system_tab(L).orig_system_id1 :=l_orig_system_tab(P).orig_system_id1;
8079 l_orig_system_tab(L).id :=l_orig_system_tab(P).id;
8080 l_orig_system_tab(P).orig_system_id1 := W;
8081 l_orig_system_tab(P).id := W2;
8082 END IF;
8083 --if (a(L) > a(R)) then
8084 IF (l_orig_system_tab(L).orig_system_id1 > l_orig_system_tab(R).orig_system_id1)
8085 THEN
8086 /*W := a(L);
8087 a(L) := a(R);
8088 a(R) := W;*/
8089 W := l_orig_system_tab(L).orig_system_id1;
8090 W2 := l_orig_system_tab(L).id;
8091 l_orig_system_tab(L).orig_system_id1 :=l_orig_system_tab(R).orig_system_id1;
8092 l_orig_system_tab(L).id :=l_orig_system_tab(R).id;
8093 l_orig_system_tab(R).orig_system_id1 := W;
8094 l_orig_system_tab(R).id := W2;
8095 END IF;
8096 --if (a(P) > a(R)) then
8097 IF (l_orig_system_tab(P).orig_system_id1 > l_orig_system_tab(R).orig_system_id1)
8098 THEN
8099 /*W := a(P);
8100 a(P) := a(R);
8101 a(R) := W; */
8102 W := l_orig_system_tab(P).orig_system_id1;
8103 W2 := l_orig_system_tab(P).id;
8104 l_orig_system_tab(P).orig_system_id1 :=l_orig_system_tab(R).orig_system_id1;
8105 l_orig_system_tab(P).id :=l_orig_system_tab(R).id;
8106 l_orig_system_tab(R).orig_system_id1 := W;
8107 l_orig_system_tab(R).id := W2;
8108 END IF;
8109 --X := a(P);
8110 X := l_orig_system_tab(P).orig_system_id1;
8111 WHILE 1=1
8112 LOOP -- until I > J
8113 --while (a(I) < X) loop
8114 WHILE (l_orig_system_tab(I).orig_system_id1 < X) LOOP
8115 I := I + 1;
8116 END LOOP;
8117 WHILE (X < l_orig_system_tab(J).orig_system_id1) LOOP
8118 J := J - 1;
8119 END LOOP;
8120 IF (I <= J) THEN
8121 /*W := a(I);
8122 a(I) := a(J);
8123 a(J) := W;*/
8124 W := l_orig_system_tab(I).orig_system_id1;
8125 W2 := l_orig_system_tab(I).id;
8126 l_orig_system_tab(I).orig_system_id1 :=l_orig_system_tab(J).orig_system_id1;
8127 l_orig_system_tab(I).id :=l_orig_system_tab(J).id;
8128 l_orig_system_tab(J).orig_system_id1 := W;
8129 l_orig_system_tab(J).id := W2;
8130 I := I + 1;
8131 J := J - 1;
8132 END IF;
8133 EXIT WHEN I > J;
8134 END LOOP;
8135 IF (J - L < R - I) THEN
8136 IF (I < R) THEN
8137 --push(I); push(R);
8138 l_stack_index := l_stack_index + 1;
8139 l_stack(l_stack_index) := I;
8140 l_stack_index := l_stack_index + 1;
8141 l_stack(l_stack_index) := R;
8142 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8143 END IF;
8144 R := J;
8145 ELSE
8146 IF (L < J) THEN
8147 --push(L); push(J);
8148 l_stack_index := l_stack_index + 1;
8149 l_stack(l_stack_index) := L;
8150 l_stack_index := l_stack_index + 1;
8151 l_stack(l_stack_index) := J;
8152 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8153 END IF;
8154 L := I;
8155 END IF;
8156
8157 EXIT WHEN (L >= R);
8158 END LOOP;
8159 END LOOP;
8160
8161
8162 EXCEPTION WHEN OTHERS THEN
8163
8164 x_return_status := OKL_API.G_RET_STS_ERROR;
8165 /*OKL_API.set_message(p_app_name => 'OKL',
8166 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8167 p_token1 => 'ASSET_NUMBER',
8168 p_token1_value => 'do_sort');*/
8169 /* DEBUG */
8170 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8171 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8172 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing do_sort:l_orig_system_tab N=' || N || ' ...');
8173 END IF;
8174
8175 --print array
8176 FOR i IN 1..N
8177 LOOP
8178 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8179 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);
8180 END IF;
8181 END LOOP;
8182
8183 RAISE OKC_API.G_EXCEPTION_ERROR;
8184
8185 END; /* do_sort */
8186
8187 FUNCTION find_id(p_id IN NUMBER) RETURN NUMBER IS
8188 hi NUMBER;
8189 lo NUMBER;
8190 m NUMBER;
8191 BEGIN
8192 lo := 1;
8193 hi := l_counter - 1;
8194 WHILE (lo <= hi) LOOP
8195 m := FLOOR((hi + lo)/2);
8196 IF (l_orig_system_tab(m).orig_system_id1 = p_id) THEN
8197 RETURN l_orig_system_tab(m).id;
8198 ELSIF (l_orig_system_tab(m).orig_system_id1 > p_id) THEN
8199 hi := m - 1;
8200 ELSE
8201 lo := m + 1;
8202 END IF;
8203 END LOOP;
8204 RETURN -1;
8205 END; /* find_id */
8206
8207 /* AKP To do: Delete this procedure from here.
8208 After the spec in okl_copy_asset_pvt spec has been changed to
8209 expose this function */
8210 FUNCTION generate_asset_number(x_asset_number OUT NOCOPY OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE)
8211 RETURN VARCHAR2 IS
8212 x_return_status VARCHAR2(3) := OKL_API.G_RET_STS_SUCCESS;
8213 ln_dummy1 NUMBER := 0;
8214 ln_dummy2 NUMBER := 0;
8215 ln_dummy3 NUMBER := 0;
8216 lv_asset_number OKX_ASSETS_V.ASSET_NUMBER%TYPE;
8217 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
8218 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXP_ERROR';
8219 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
8220 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
8221
8222 -- cursor to get sequence number for asset number
8223 CURSOR c_asset_no IS
8224 SELECT 'OKL'||OKL_FAN_SEQ.NEXTVAL
8225 FROM dual;
8226
8227 -- cursor to get check the existence of asset number
8228 CURSOR c_txl_asset_number(p_asset_number OKX_ASSETS_V.ASSET_NUMBER%TYPE)
8229 IS
8230 SELECT 1
8231 FROM DUAL
8232 WHERE EXISTS (SELECT '1'
8233 FROM OKL_TXL_ASSETS_B
8234 WHERE asset_number = p_asset_number);
8235
8236 CURSOR c_okx_asset_lines_v(p_asset_number OKX_ASSETS_V.ASSET_NUMBER%TYPE) IS
8237 SELECT 1
8238 FROM DUAL
8239 WHERE EXISTS (SELECT '1'
8240 FROM OKX_ASSET_LINES_V
8241 WHERE asset_number = p_asset_number);
8242
8243 CURSOR c_okx_assets_v(p_asset_number OKX_ASSETS_V.ASSET_NUMBER%TYPE) IS
8244 SELECT 1
8245 FROM DUAL
8246 WHERE EXISTS (SELECT '1'
8247 FROM OKX_ASSETS_V
8248 WHERE asset_number = p_asset_number);
8249
8250 BEGIN
8251 OPEN c_asset_no;
8252 FETCH c_asset_no INTO x_asset_number;
8253 IF (c_asset_no%NOTFOUND) THEN
8254 x_return_status := OKC_API.G_RET_STS_ERROR;
8255 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
8256 p_msg_name => g_unexpected_error,
8257 p_token1 => g_sqlcode_token,
8258 p_token1_value => SQLCODE,
8259 p_token2 => g_sqlerrm_token,
8260 p_token2_value => SQLERRM);
8261 END IF;
8262 CLOSE c_asset_no;
8263
8264 LOOP
8265 lv_asset_number := x_asset_number;
8266
8267 OPEN c_txl_asset_number(lv_asset_number);
8268 FETCH c_txl_asset_number INTO ln_dummy1;
8269 IF c_txl_asset_number%NOTFOUND THEN
8270 ln_dummy1 := 0;
8271 END IF;
8272 CLOSE c_txl_asset_number;
8273
8274 OPEN c_okx_asset_lines_v(lv_asset_number);
8275 FETCH c_okx_asset_lines_v INTO ln_dummy2;
8276 IF c_okx_asset_lines_v%NOTFOUND THEN
8277 ln_dummy2 := 0;
8278 END IF;
8279 CLOSE c_okx_asset_lines_v;
8280
8281 OPEN c_okx_assets_v(lv_asset_number);
8282 FETCH c_okx_assets_v INTO ln_dummy3;
8283 IF c_okx_assets_v%NOTFOUND THEN
8284 ln_dummy3 := 0;
8285 END IF;
8286 CLOSE c_okx_assets_v;
8287
8288 IF ln_dummy1 = 1 OR
8289 ln_dummy2 = 1 OR
8290 ln_dummy3 = 1 THEN
8291 OPEN c_asset_no;
8292 FETCH c_asset_no INTO x_asset_number;
8293 IF (c_asset_no%NOTFOUND) THEN
8294 x_return_status := OKC_API.G_RET_STS_ERROR;
8295 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
8296 p_msg_name => g_unexpected_error,
8297 p_token1 => g_sqlcode_token,
8298 p_token1_value => SQLCODE,
8299 p_token2 => g_sqlerrm_token,
8300 p_token2_value => SQLERRM);
8301 END IF;
8302 CLOSE c_asset_no;
8303 ELSE
8304 EXIT;
8305 END IF;
8306 END LOOP;
8307
8308 RETURN x_return_status;
8309 EXCEPTION
8310 WHEN OTHERS THEN
8311 IF c_asset_no%ISOPEN THEN
8312 CLOSE c_asset_no;
8313 END IF;
8314 IF c_txl_asset_number%ISOPEN THEN
8315 CLOSE c_txl_asset_number;
8316 END IF;
8317 IF c_okx_asset_lines_v%ISOPEN THEN
8318 CLOSE c_okx_asset_lines_v;
8319 END IF;
8320 IF c_okx_assets_v%ISOPEN THEN
8321 CLOSE c_okx_assets_v;
8322 END IF;
8323 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
8324 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
8325 p_msg_name => g_unexpected_error,
8326 p_token1 => g_sqlcode_token,
8327 p_token1_value => SQLCODE,
8328 p_token2 => g_sqlerrm_token,
8329 p_token2_value => SQLERRM);
8330 RETURN x_return_status;
8331 END generate_asset_number;
8332
8333 FUNCTION find_cle_line_number2(p_id IN NUMBER) RETURN NUMBER IS
8334 hi NUMBER;
8335 lo NUMBER;
8336 m NUMBER;
8337 l_curr_val NUMBER;
8338 BEGIN
8339 lo := 1;
8340 hi := l_trx_assets_counter6 - 1;
8341 WHILE (lo <= hi) LOOP
8342 m := FLOOR((hi + lo)/2);
8343 IF (l_cle_mapping_tab2(m).old_id = p_id) THEN
8344 l_curr_val := l_cle_mapping_tab2(m).new_id;
8345 l_cle_mapping_tab2(m).new_id := l_curr_val + 1;
8346 RETURN (l_curr_val + 1);
8347 ELSIF (l_cle_mapping_tab2(m).old_id > p_id) THEN
8348 hi := m - 1;
8349 ELSE
8350 lo := m + 1;
8351 END IF;
8352 END LOOP;
8353 RETURN -1;
8354 END; /* find_cle_line_number2 */
8355
8356 FUNCTION find_cle_line_number(p_id IN NUMBER) RETURN NUMBER IS
8357 hi NUMBER;
8358 lo NUMBER;
8359 m NUMBER;
8360 l_curr_val NUMBER;
8361 BEGIN
8362 lo := 1;
8363 hi := l_trx_assets_counter4 - 1;
8364 WHILE (lo <= hi) LOOP
8365 m := FLOOR((hi + lo)/2);
8366 IF (l_cle_mapping_tab(m).old_id = p_id) THEN
8367 l_curr_val := l_cle_mapping_tab(m).line_number;
8368 l_cle_mapping_tab(m).line_number := l_curr_val + 1;
8369 RETURN l_curr_val;
8370 ELSIF (l_cle_mapping_tab(m).old_id > p_id) THEN
8371 hi := m - 1;
8372 ELSE
8373 lo := m + 1;
8374 END IF;
8375 END LOOP;
8376 RETURN -1;
8377 END; /* find_cle_line_number */
8378
8379 FUNCTION find_cle_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
8380 hi NUMBER;
8381 lo NUMBER;
8382 m NUMBER;
8383 BEGIN
8384 lo := 1;
8385 hi := l_trx_assets_counter4 - 1;
8386 WHILE (lo <= hi) LOOP
8387 m := FLOOR((hi + lo)/2);
8388 IF (l_cle_mapping_tab(m).old_id = p_id) THEN
8389 RETURN l_cle_mapping_tab(m).new_id;
8390 ELSIF (l_cle_mapping_tab(m).old_id > p_id) THEN
8391 hi := m - 1;
8392 ELSE
8393 lo := m + 1;
8394 END IF;
8395 END LOOP;
8396 RETURN -1;
8397 END; /* find_cle_mapping_id */
8398
8399 PROCEDURE sort_cle_mapping_tab IS
8400 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8401 --a numtabtype;
8402 l_stack numtabtype;
8403 l_stack_index NUMBER := 0;
8404 N NUMBER;
8405 R NUMBER;
8406 L NUMBER;
8407 P NUMBER;
8408 W NUMBER;
8409 W2 NUMBER;
8410 X NUMBER;
8411 I NUMBER;
8412 J NUMBER;
8413 BEGIN
8414 IF (G_DEBUG_ENABLED = 'Y') THEN
8415 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
8416 END IF;
8417 NULL;
8418
8419 N := l_trx_assets_counter4 - 1;
8420 IF (N < 2) THEN
8421 RETURN;
8422 END IF;
8423 l_stack_index := l_stack_index + 1;
8424 l_stack(l_stack_index) := 1;
8425 l_stack_index := l_stack_index + 1;
8426 l_stack(l_stack_index) := N;
8427
8428 --dbms_output.put_line('l_stack_index=' || l_stack_index);
8429 WHILE l_stack_index > 0
8430 LOOP
8431 R := l_stack(l_stack_index);
8432 l_stack_index := l_stack_index - 1;
8433 L := l_stack(l_stack_index);
8434 l_stack_index := l_stack_index - 1;
8435 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
8436 WHILE 1=1
8437 LOOP -- loop until L >= R
8438 I := L;
8439 J := R;
8440 P := FLOOR((L+R)/2);
8441 --if (a(L) > a(P)) then
8442 IF (l_cle_mapping_tab(L).old_id > l_cle_mapping_tab(P).old_id)
8443 THEN
8444 W := l_cle_mapping_tab(L).old_id;
8445 W2 := l_cle_mapping_tab(L).new_id;
8446 l_cle_mapping_tab(L).old_id :=l_cle_mapping_tab(P).old_id;
8447 l_cle_mapping_tab(L).new_id :=l_cle_mapping_tab(P).new_id;
8448 l_cle_mapping_tab(P).old_id := W;
8449 l_cle_mapping_tab(P).new_id := W2;
8450 END IF;
8451 --if (a(L) > a(R)) then
8452 IF (l_cle_mapping_tab(L).old_id > l_cle_mapping_tab(R).old_id)
8453 THEN
8454 W := l_cle_mapping_tab(L).old_id;
8455 W2 := l_cle_mapping_tab(L).new_id;
8456 l_cle_mapping_tab(L).old_id :=l_cle_mapping_tab(R).old_id;
8457 l_cle_mapping_tab(L).new_id :=l_cle_mapping_tab(R).new_id;
8458 l_cle_mapping_tab(R).old_id := W;
8459 l_cle_mapping_tab(R).new_id := W2;
8460 END IF;
8461 --if (a(P) > a(R)) then
8462 IF (l_cle_mapping_tab(P).old_id > l_cle_mapping_tab(R).old_id)
8463 THEN
8464 W := l_cle_mapping_tab(P).old_id;
8465 W2 := l_cle_mapping_tab(P).new_id;
8466 l_cle_mapping_tab(P).old_id :=l_cle_mapping_tab(R).old_id;
8467 l_cle_mapping_tab(P).new_id :=l_cle_mapping_tab(R).new_id;
8468 l_cle_mapping_tab(R).old_id := W;
8469 l_cle_mapping_tab(R).new_id := W2;
8470 END IF;
8471 --X := a(P);
8472 X := l_cle_mapping_tab(P).old_id;
8473 WHILE 1=1
8474 LOOP -- until I > J
8475 --while (a(I) < X) loop
8476 WHILE (l_cle_mapping_tab(I).old_id < X) LOOP
8477 I := I + 1;
8478 END LOOP;
8479 WHILE (X < l_cle_mapping_tab(J).old_id) LOOP
8480 J := J - 1;
8481 END LOOP;
8482 IF (I <= J) THEN
8483 W := l_cle_mapping_tab(I).old_id;
8484 W2 := l_cle_mapping_tab(I).new_id;
8485 l_cle_mapping_tab(I).old_id :=l_cle_mapping_tab(J).old_id;
8486 l_cle_mapping_tab(I).new_id :=l_cle_mapping_tab(J).new_id;
8487 l_cle_mapping_tab(J).old_id := W;
8488 l_cle_mapping_tab(J).new_id := W2;
8489 I := I + 1;
8490 J := J - 1;
8491 END IF;
8492 EXIT WHEN I > J;
8493 END LOOP;
8494 IF (J - L < R - I) THEN
8495 IF (I < R) THEN
8496 --push(I); push(R);
8497 l_stack_index := l_stack_index + 1;
8498 l_stack(l_stack_index) := I;
8499 l_stack_index := l_stack_index + 1;
8500 l_stack(l_stack_index) := R;
8501 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8502 END IF;
8503 R := J;
8504 ELSE
8505 IF (L < J) THEN
8506 --push(L); push(J);
8507 l_stack_index := l_stack_index + 1;
8508 l_stack(l_stack_index) := L;
8509 l_stack_index := l_stack_index + 1;
8510 l_stack(l_stack_index) := J;
8511 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8512 END IF;
8513 L := I;
8514 END IF;
8515
8516 EXIT WHEN (L >= R);
8517 END LOOP;
8518 END LOOP;
8519
8520 /*for i in 1..N
8521 loop
8522 print('l_cle_mapping_tab('||i||')=' || l_cle_mapping_tab(i).old_id || ':' || l_cle_mapping_tab(i).new_id);
8523 end loop; */
8524
8525 EXCEPTION WHEN OTHERS THEN
8526
8527 x_return_status := OKL_API.G_RET_STS_ERROR;
8528 /*OKL_API.set_message(p_app_name => 'OKL',
8529 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8530 p_token1 => 'ASSET_NUMBER',
8531 p_token1_value => 'sort_cle_mapping_tab');*/
8532 /* DEBUG */
8533 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8534 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8535 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_cle_mapping_tab:l_cle_mapping_tab N=' || N || ' ...');
8536 END IF;
8537 --print array
8538 FOR i IN 1..N
8539 LOOP
8540 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8541 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);
8542 END IF;
8543 END LOOP;
8544
8545 RAISE OKC_API.G_EXCEPTION_ERROR;
8546
8547 END; /* sort_cle_mapping_tab */
8548
8549
8550 FUNCTION find_aid_mapping_id(p_id IN VARCHAR2) RETURN VARCHAR2 IS
8551 hi NUMBER;
8552 lo NUMBER;
8553 m NUMBER;
8554 p VARCHAR2(2) := '-1';
8555 BEGIN
8556 lo := 1;
8557 hi := l_asset_counter - 1;
8558 WHILE (lo <= hi) LOOP
8559 m := FLOOR((hi + lo)/2);
8560 IF (l_aid_mapping_tab(m).old_id = p_id) THEN
8561 RETURN l_aid_mapping_tab(m).new_id;
8562 ELSIF (l_aid_mapping_tab(m).old_id > p_id) THEN
8563 hi := m - 1;
8564 ELSE
8565 lo := m + 1;
8566 END IF;
8567 END LOOP;
8568 RETURN p;
8569 END; /* find_aid_mapping_id */
8570
8571 PROCEDURE sort_aid_mapping_tab IS
8572 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8573 --a numtabtype;
8574 l_stack numtabtype;
8575 l_stack_index NUMBER := 0;
8576 N NUMBER;
8577 R NUMBER;
8578 L NUMBER;
8579 P NUMBER;
8580
8581 W VARCHAR2(150);
8582 W2 VARCHAR2(150);
8583 X VARCHAR2(150);
8584 I NUMBER;
8585 J NUMBER;
8586 BEGIN
8587 IF (G_DEBUG_ENABLED = 'Y') THEN
8588 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
8589 END IF;
8590 NULL;
8591
8592 N := l_asset_counter - 1;
8593 IF (N < 2) THEN
8594 RETURN;
8595 END IF;
8596 l_stack_index := l_stack_index + 1;
8597 l_stack(l_stack_index) := 1;
8598 l_stack_index := l_stack_index + 1;
8599 l_stack(l_stack_index) := N;
8600
8601 --dbms_output.put_line('l_stack_index=' || l_stack_index);
8602 WHILE l_stack_index > 0
8603 LOOP
8604 R := l_stack(l_stack_index);
8605 l_stack_index := l_stack_index - 1;
8606 L := l_stack(l_stack_index);
8607 l_stack_index := l_stack_index - 1;
8608 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
8609 WHILE 1=1
8610 LOOP -- loop until L >= R
8611 I := L;
8612 J := R;
8613 P := FLOOR((L+R)/2);
8614 --if (a(L) > a(P)) then
8615 IF (l_aid_mapping_tab(L).old_id > l_aid_mapping_tab(P).old_id)
8616 THEN
8617 W := l_aid_mapping_tab(L).old_id;
8618 W2 := l_aid_mapping_tab(L).new_id;
8619 l_aid_mapping_tab(L).old_id :=l_aid_mapping_tab(P).old_id;
8620 l_aid_mapping_tab(L).new_id :=l_aid_mapping_tab(P).new_id;
8621 l_aid_mapping_tab(P).old_id := W;
8622 l_aid_mapping_tab(P).new_id := W2;
8623 END IF;
8624 --if (a(L) > a(R)) then
8625 IF (l_aid_mapping_tab(L).old_id > l_aid_mapping_tab(R).old_id)
8626 THEN
8627 W := l_aid_mapping_tab(L).old_id;
8628 W2 := l_aid_mapping_tab(L).new_id;
8629 l_aid_mapping_tab(L).old_id :=l_aid_mapping_tab(R).old_id;
8630 l_aid_mapping_tab(L).new_id :=l_aid_mapping_tab(R).new_id;
8631 l_aid_mapping_tab(R).old_id := W;
8632 l_aid_mapping_tab(R).new_id := W2;
8633 END IF;
8634 --if (a(P) > a(R)) then
8635 IF (l_aid_mapping_tab(P).old_id > l_aid_mapping_tab(R).old_id)
8636 THEN
8637 W := l_aid_mapping_tab(P).old_id;
8638 W2 := l_aid_mapping_tab(P).new_id;
8639 l_aid_mapping_tab(P).old_id :=l_aid_mapping_tab(R).old_id;
8640 l_aid_mapping_tab(P).new_id :=l_aid_mapping_tab(R).new_id;
8641 l_aid_mapping_tab(R).old_id := W;
8642 l_aid_mapping_tab(R).new_id := W2;
8643 END IF;
8644 --X := a(P);
8645 X := l_aid_mapping_tab(P).old_id;
8646 WHILE 1=1
8647 LOOP -- until I > J
8648 --while (a(I) < X) loop
8649 WHILE (l_aid_mapping_tab(I).old_id < X) LOOP
8650 I := I + 1;
8651 END LOOP;
8652 WHILE (X < l_aid_mapping_tab(J).old_id) LOOP
8653 J := J - 1;
8654 END LOOP;
8655 IF (I <= J) THEN
8656 W := l_aid_mapping_tab(I).old_id;
8657 W2 := l_aid_mapping_tab(I).new_id;
8658 l_aid_mapping_tab(I).old_id :=l_aid_mapping_tab(J).old_id;
8659 l_aid_mapping_tab(I).new_id :=l_aid_mapping_tab(J).new_id;
8660 l_aid_mapping_tab(J).old_id := W;
8661 l_aid_mapping_tab(J).new_id := W2;
8662 I := I + 1;
8663 J := J - 1;
8664 END IF;
8665 EXIT WHEN I > J;
8666 END LOOP;
8667 IF (J - L < R - I) THEN
8668 IF (I < R) THEN
8669 --push(I); push(R);
8670 l_stack_index := l_stack_index + 1;
8671 l_stack(l_stack_index) := I;
8672 l_stack_index := l_stack_index + 1;
8673 l_stack(l_stack_index) := R;
8674 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8675 END IF;
8676 R := J;
8677 ELSE
8678 IF (L < J) THEN
8679 --push(L); push(J);
8680 l_stack_index := l_stack_index + 1;
8681 l_stack(l_stack_index) := L;
8682 l_stack_index := l_stack_index + 1;
8683 l_stack(l_stack_index) := J;
8684 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8685 END IF;
8686 L := I;
8687 END IF;
8688
8689 EXIT WHEN (L >= R);
8690 END LOOP;
8691 END LOOP;
8692
8693 EXCEPTION WHEN OTHERS THEN
8694
8695 x_return_status := OKL_API.G_RET_STS_ERROR;
8696 /*OKL_API.set_message(p_app_name => 'OKL',
8697 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8698 p_token1 => 'ASSET_NUMBER',
8699 p_token1_value => 'sort_aid_mapping_tab');*/
8700 /* DEBUG */
8701 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8702 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8703 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_aid_mapping_tab:l_aid_mapping_tab N=' || N || ' ...');
8704 END IF;
8705
8706 --print array
8707 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8708 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'In sort_aid_mapping_tab:N='|| N);
8709 END IF;
8710 FOR i IN 1..N
8711 LOOP
8712 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8713 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);
8714 END IF;
8715 END LOOP;
8716
8717 RAISE OKC_API.G_EXCEPTION_ERROR;
8718
8719 END; /* sort_aid_mapping_tab */
8720
8721 PROCEDURE do_id_mapping_sort IS
8722 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8723 --a numtabtype;
8724 l_stack numtabtype;
8725 l_stack_index NUMBER := 0;
8726 N NUMBER;
8727 R NUMBER;
8728 L NUMBER;
8729 P NUMBER;
8730 W NUMBER;
8731 W2 NUMBER;
8732 X NUMBER;
8733 I NUMBER;
8734 J NUMBER;
8735 BEGIN
8736 IF (G_DEBUG_ENABLED = 'Y') THEN
8737 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
8738 END IF;
8739 NULL;
8740 /*a(1) := 10;
8741 a(2) := 50;
8742 a(3) := 27;
8743 a(4) := 5;
8744 a(5) := 100;
8745 a(6) := 50;
8746 a(7) := 35;
8747 a(8) := 41;
8748 a(9) := 75;
8749 a(10) := 20;
8750
8751 N := 10;
8752 */
8753
8754 N := l_counter - 1;
8755 IF (N < 2) THEN
8756 RETURN;
8757 END IF;
8758 l_stack_index := l_stack_index + 1;
8759 l_stack(l_stack_index) := 1;
8760 l_stack_index := l_stack_index + 1;
8761 l_stack(l_stack_index) := N;
8762
8763 --dbms_output.put_line('l_stack_index=' || l_stack_index);
8764 WHILE l_stack_index > 0
8765 LOOP
8766 R := l_stack(l_stack_index);
8767 l_stack_index := l_stack_index - 1;
8768 L := l_stack(l_stack_index);
8769 l_stack_index := l_stack_index - 1;
8770 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
8771 WHILE 1=1
8772 LOOP -- loop until L >= R
8773 I := L;
8774 J := R;
8775 P := FLOOR((L+R)/2);
8776 --if (a(L) > a(P)) then
8777 IF (l_id_mapping_tab(L).old_id > l_id_mapping_tab(P).old_id)
8778 THEN
8779 /*W := a(L);
8780 a(L) := a(P);
8781 a(P) := W;*/
8782
8783 W := l_id_mapping_tab(L).old_id;
8784 W2 := l_id_mapping_tab(L).new_id;
8785 l_id_mapping_tab(L).old_id :=l_id_mapping_tab(P).old_id;
8786 l_id_mapping_tab(L).new_id :=l_id_mapping_tab(P).new_id;
8787 l_id_mapping_tab(P).old_id := W;
8788 l_id_mapping_tab(P).new_id := W2;
8789 END IF;
8790 --if (a(L) > a(R)) then
8791 IF (l_id_mapping_tab(L).old_id > l_id_mapping_tab(R).old_id)
8792 THEN
8793 /*W := a(L);
8794 a(L) := a(R);
8795 a(R) := W;*/
8796 W := l_id_mapping_tab(L).old_id;
8797 W2 := l_id_mapping_tab(L).new_id;
8798 l_id_mapping_tab(L).old_id :=l_id_mapping_tab(R).old_id;
8799 l_id_mapping_tab(L).new_id :=l_id_mapping_tab(R).new_id;
8800 l_id_mapping_tab(R).old_id := W;
8801 l_id_mapping_tab(R).new_id := W2;
8802 END IF;
8803 --if (a(P) > a(R)) then
8804 IF (l_id_mapping_tab(P).old_id > l_id_mapping_tab(R).old_id)
8805 THEN
8806 /*W := a(P);
8807 a(P) := a(R);
8808 a(R) := W; */
8809 W := l_id_mapping_tab(P).old_id;
8810 W2 := l_id_mapping_tab(P).new_id;
8811 l_id_mapping_tab(P).old_id :=l_id_mapping_tab(R).old_id;
8812 l_id_mapping_tab(P).new_id :=l_id_mapping_tab(R).new_id;
8813 l_id_mapping_tab(R).old_id := W;
8814 l_id_mapping_tab(R).new_id := W2;
8815 END IF;
8816 --X := a(P);
8817 X := l_id_mapping_tab(P).old_id;
8818 WHILE 1=1
8819 LOOP -- until I > J
8820 --while (a(I) < X) loop
8821 WHILE (l_id_mapping_tab(I).old_id < X) LOOP
8822 I := I + 1;
8823 END LOOP;
8824 WHILE (X < l_id_mapping_tab(J).old_id) LOOP
8825 J := J - 1;
8826 END LOOP;
8827 IF (I <= J) THEN
8828 /*W := a(I);
8829 a(I) := a(J);
8830 a(J) := W;*/
8831 W := l_id_mapping_tab(I).old_id;
8832 W2 := l_id_mapping_tab(I).new_id;
8833 l_id_mapping_tab(I).old_id :=l_id_mapping_tab(J).old_id;
8834 l_id_mapping_tab(I).new_id :=l_id_mapping_tab(J).new_id;
8835 l_id_mapping_tab(J).old_id := W;
8836 l_id_mapping_tab(J).new_id := W2;
8837 I := I + 1;
8838 J := J - 1;
8839 END IF;
8840 EXIT WHEN I > J;
8841 END LOOP;
8842 IF (J - L < R - I) THEN
8843 IF (I < R) THEN
8844 --push(I); push(R);
8845 l_stack_index := l_stack_index + 1;
8846 l_stack(l_stack_index) := I;
8847 l_stack_index := l_stack_index + 1;
8848 l_stack(l_stack_index) := R;
8849 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8850 END IF;
8851 R := J;
8852 ELSE
8853 IF (L < J) THEN
8854 --push(L); push(J);
8855 l_stack_index := l_stack_index + 1;
8856 l_stack(l_stack_index) := L;
8857 l_stack_index := l_stack_index + 1;
8858 l_stack(l_stack_index) := J;
8859 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
8860 END IF;
8861 L := I;
8862 END IF;
8863
8864 EXIT WHEN (L >= R);
8865 END LOOP;
8866 END LOOP;
8867
8868 EXCEPTION WHEN OTHERS THEN
8869
8870 x_return_status := OKL_API.G_RET_STS_ERROR;
8871 /*OKL_API.set_message(p_app_name => 'OKL',
8872 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
8873 p_token1 => 'ASSET_NUMBER',
8874 p_token1_value => 'do_id_mapping_sort');*/
8875 /* DEBUG */
8876 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8877 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
8878 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing do_id_mapping_sort:l_id_mapping_tab N=' || N || ' ...');
8879 END IF;
8880
8881 --print array
8882 FOR i IN 1..N
8883 LOOP
8884 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
8885 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);
8886 END IF;
8887 END LOOP;
8888
8889 RAISE OKC_API.G_EXCEPTION_ERROR;
8890
8891 END; /* do_id_mapping_sort */
8892
8893 FUNCTION find_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
8894 hi NUMBER;
8895 lo NUMBER;
8896 m NUMBER;
8897 BEGIN
8898 lo := 1;
8899 hi := l_counter - 1;
8900 WHILE (lo <= hi) LOOP
8901 m := FLOOR((hi + lo)/2);
8902 IF (l_id_mapping_tab(m).old_id = p_id) THEN
8903 RETURN l_id_mapping_tab(m).new_id;
8904 ELSIF (l_id_mapping_tab(m).old_id > p_id) THEN
8905 hi := m - 1;
8906 ELSE
8907 lo := m + 1;
8908 END IF;
8909 END LOOP;
8910 RETURN -1;
8911 END; /* find_mapping_id */
8912
8913 PROCEDURE insert_okc_k_lines_tl(p_old_id IN okc_k_lines_b.id%TYPE) IS
8914 CURSOR c5(p_id NUMBER) IS
8915 SELECT
8916 a.id, a.LANGUAGE, a.source_lang,
8917 a.sfwt_flag, a.name, a.comments,
8918 a.item_description, a.block23text, a.created_by,
8919 a.creation_date, a.last_updated_by, a.last_update_date,
8920 a.last_update_login, a.security_group_id, a.oke_boe_description,
8921 a.cognomen, b.lse_id, b.sts_code, c.fee_type
8922 --avsingh: Bug 5710213: start
8923 , lsb.lty_code
8924 --avsingh: Bug 5710213: end
8925 FROM okc_k_lines_tl a,
8926 okc_k_lines_b b,
8927 okl_k_lines c,
8928 fnd_languages d
8929 --avsingh: Bug 5710213: start
8930 , okc_line_styles_b lsb
8931 --avsingh: Bug 5710213: end
8932 WHERE a.id = b.id
8933 AND b.id = c.id
8934 AND a.id = c.id
8935 AND b.dnz_chr_id = p_id
8936 AND a.LANGUAGE = d.language_code
8937 AND d.installed_flag = 'B'
8938 --avsingh: Bug 5710213: start
8939 AND b.lse_id = lsb.id
8940 --avsingh: Bug 5710213: end
8941 ;
8942
8943
8944 CURSOR c6 IS
8945 SELECT language_code
8946 FROM fnd_languages
8947 WHERE installed_flag IN ('B', 'I');
8948
8949 CURSOR c7(p_id NUMBER) IS
8950 SELECT DISTINCT a.name
8951 FROM okc_k_lines_tl a,
8952 okc_k_lines_b b
8953 WHERE a.id = b.id
8954 AND b.dnz_chr_id = p_id
8955 -- gboomina Bug 6353660 - Start
8956 -- excluding NULL values to get valid asset numbers
8957 -- which is used down the line to replace asset numbers.
8958 AND a.name IS NOT NULL
8959 -- gboomina Bug 6353660 - End
8960 AND a.LANGUAGE = USERENV('LANG');
8961 --and b.lse_id in (33, 42)
8962 --and p_trans_type not in ('CRB', 'CRL', 'CSP', 'CRV', 'ALI');
8963
8964
8965 l_olid_tab2 l_olid_type;
8966 l_ollanguage_tab2 l_ollanguage_type;
8967 l_olsource_lang_tab2 l_olsource_lang_type;
8968 l_olsfwt_flag_tab2 l_olsfwt_flag_type;
8969 l_olname_tab2 l_olname_type;
8970 l_olcomments_tab2 l_olcomments_type;
8971 l_olitem_description_tab2 l_olitem_description_type;
8972 l_olblock23text_tab2 l_olblock23text_type;
8973 l_olcreated_by_tab2 l_olcreated_by_type;
8974 l_olcreation_date_tab2 l_olcreation_date_type;
8975 l_ollast_updated_by_tab2 l_ollast_updated_by_type;
8976 l_ollast_update_date_tab2 l_ollast_update_date_type;
8977 l_ollast_update_login_tab2 l_ollast_update_login_type;
8978 l_olsecurity_group_id_tab2 l_olsecurity_group_id_type;
8979 l_oloke_boe_description_tab2 l_oloke_boe_description_type;
8980 l_olcognomen_tab2 l_olcognomen_type;
8981
8982 l_ollse_id_tab2 l_lse_id_type;
8983 --avsingh: Bug 5710213: start
8984 l_ollty_code_tab2 l_lty_code_type;
8985 --avsingh: Bug 5710213: end
8986 l_olsts_code_tab2 l_sts_code_type;
8987 l_olfee_type_tab2 l_fee_type_type;
8988
8989 l_olname_tab3 l_olname_type;
8990 l_ret_status VARCHAR2(30);
8991 l_new_asset_name VARCHAR2(150);
8992 l_new_id NUMBER;
8993
8994 BEGIN
8995 OPEN c5(p_old_id);
8996 LOOP
8997 FETCH c5 bulk collect INTO
8998 l_olid_tab2, l_ollanguage_tab2, l_olsource_lang_tab2,
8999 l_olsfwt_flag_tab2, l_olname_tab2, l_olcomments_tab2,
9000 l_olitem_description_tab2, l_olblock23text_tab2, l_olcreated_by_tab2,
9001 l_olcreation_date_tab2, l_ollast_updated_by_tab2, l_ollast_update_date_tab2,
9002 l_ollast_update_login_tab2, l_olsecurity_group_id_tab2, l_oloke_boe_description_tab2,
9003 l_olcognomen_tab2, l_ollse_id_tab2, l_olsts_code_tab2, l_olfee_type_tab2
9004 --avsingh: Bug 5710213: start
9005 , l_ollty_code_tab2
9006 --avsingh: Bug 5710213: end
9007 limit G_BULK_SIZE;
9008 EXIT WHEN l_olid_tab2.COUNT = 0;
9009 FOR i IN l_olid_tab2.first..l_olid_tab2.last
9010 LOOP
9011 --if ( (l_olfee_type_tab2(i) = 'ROLLOVER' and
9012 --l_ollse_id_tab2(i) = 52 and
9013 --p_trans_type = 'CFA') or
9014 --(l_olsts_code_tab2(i) = 'ABANDONED') or
9015 --(l_ollse_id_tab2(i) = 47) ) then
9016 --null;
9017 --else
9018 l_olid_tab(l_okc_k_lines_tl_counter) := l_olid_tab2(i);
9019 -- Change id
9020 l_new_id := find_mapping_id(l_olid_tab(l_okc_k_lines_tl_counter));
9021 --print('okc_k_lines_tl:l_new_id=' || l_new_id);
9022 l_olid_tab(l_okc_k_lines_tl_counter) := l_new_id;
9023
9024 l_ollanguage_tab(l_okc_k_lines_tl_counter) := l_ollanguage_tab2(i);
9025 l_olsource_lang_tab(l_okc_k_lines_tl_counter) := l_olsource_lang_tab2(i);
9026 l_olsfwt_flag_tab(l_okc_k_lines_tl_counter) := l_olsfwt_flag_tab2(i);
9027 l_olname_tab(l_okc_k_lines_tl_counter) := l_olname_tab2(i);
9028 l_olcomments_tab(l_okc_k_lines_tl_counter) := l_olcomments_tab2(i);
9029 l_olitem_description_tab(l_okc_k_lines_tl_counter) := l_olitem_description_tab2(i);
9030 l_olblock23text_tab(l_okc_k_lines_tl_counter) := l_olblock23text_tab2(i);
9031 l_olcreated_by_tab(l_okc_k_lines_tl_counter) := l_olcreated_by_tab2(i);
9032 l_olcreation_date_tab(l_okc_k_lines_tl_counter) := l_olcreation_date_tab2(i);
9033 l_ollast_updated_by_tab(l_okc_k_lines_tl_counter) := l_ollast_updated_by_tab2(i);
9034 l_ollast_update_date_tab(l_okc_k_lines_tl_counter) := l_ollast_update_date_tab2(i);
9035 l_ollast_update_login_tab(l_okc_k_lines_tl_counter) := l_ollast_update_login_tab2(i);
9036 l_olsecurity_group_id_tab(l_okc_k_lines_tl_counter) := l_olsecurity_group_id_tab2(i);
9037 l_oloke_boe_description_tab(l_okc_k_lines_tl_counter) := l_oloke_boe_description_tab2(i);
9038 l_olcognomen_tab(l_okc_k_lines_tl_counter) := l_olcognomen_tab2(i);
9039
9040 l_ollse_id_tab(l_okc_k_lines_tl_counter) := l_ollse_id_tab2(i);
9041 --avsingh: Bug 5710213: start
9042 l_ollty_code_tab(l_okc_k_lines_tl_counter) := l_ollty_code_tab2(i);
9043 --avsingh: Bug 5710213: end
9044 l_olsts_code_tab(l_okc_k_lines_tl_counter) := l_olsts_code_tab2(i);
9045 l_olfee_type_tab(l_okc_k_lines_tl_counter) := l_olfee_type_tab2(i);
9046
9047 l_okc_k_lines_tl_counter := l_okc_k_lines_tl_counter + 1;
9048
9049 --end if;
9050 END LOOP;
9051 END LOOP;
9052 CLOSE c5;
9053
9054 IF (l_okc_k_lines_tl_counter < 2) THEN
9055 RETURN;
9056 END IF;
9057
9058 --print('Opening c7 with p_old_id=' || p_old_id);
9059 OPEN c7(p_old_id);
9060 LOOP
9061 FETCH c7 bulk collect INTO
9062 l_olname_tab3
9063 limit G_BULK_SIZE;
9064 --print('l_olname_tab3.count=' || l_olname_tab3.count);
9065 EXIT WHEN l_olname_tab3.COUNT = 0;
9066 FOR i IN l_olname_tab3.first..l_olname_tab3.last
9067 LOOP
9068 -- Populate l_aid_mapping_tab
9069 l_aid_mapping_tab(l_asset_counter).old_id := l_olname_tab3(i);
9070 l_ret_status := generate_asset_number(l_new_asset_name);
9071 IF l_ret_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
9072 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9073 ELSIF l_ret_status = OKL_API.G_RET_STS_ERROR THEN
9074 RAISE OKL_API.G_EXCEPTION_ERROR;
9075 END IF;
9076
9077 l_aid_mapping_tab(l_asset_counter).new_id := l_new_asset_name;
9078
9079 l_asset_counter := l_asset_counter + 1;
9080 END LOOP;
9081 END LOOP;
9082 CLOSE c7;
9083 sort_aid_mapping_tab;
9084 /* Debug only */
9085 /*
9086 print('Printing insert_okc_k_lines_tl:l_olid_tab ...');
9087 for i in l_olid_tab.first..l_olid_tab.last
9088 loop
9089 print('l_olid_tab('||i||')=' || l_olid_tab(i));
9090 print('l_olfee_type_tab('||i||')=' || l_olfee_type_tab(i));
9091 print('l_ollse_id_tab('||i||')=' || l_ollse_id_tab(i));
9092 print('l_olsts_code_tab('||i||')=' || l_olsts_code_tab(i));
9093 print('l_olsource_lang_tab('||i||')=' || l_olsource_lang_tab(i));
9094 print('l_olname_tab('||i||')=' || l_olname_tab(i));
9095 print('l_olcomments_tab('||i||')=' || l_olcomments_tab(i));
9096 print('l_olitem_description_tab('||i||')=' || l_olitem_description_tab(i));
9097 print('l_olblock23text_tab('||i||')=' || l_olblock23text_tab(i));
9098 print('l_olsecurity_group_id_tab('||i||')=' || l_olsecurity_group_id_tab(i));
9099 print('l_oloke_boe_description_tab('||i||')=' || l_oloke_boe_description_tab(i));
9100 print('l_olcognomen_tab('||i||')=' || l_olcognomen_tab(i));
9101 end loop;
9102 */
9103
9104 -- Now replace name
9105 IF (l_olid_tab.COUNT > 0) THEN
9106 FOR i IN l_olid_tab.first..l_olid_tab.last
9107 LOOP
9108 --avsingh: Bug 5710213: start
9109 IF ( l_ollty_code_tab(i) IN ('FREE_FORM1', 'FIXED_ASSET', 'LINK_FEE_ASSET', 'LINK_SERV_ASSET' ) AND -- added by zrehman for Bug#5920670
9110 --IF ( l_ollse_id_tab(i) IN (33, 42) AND
9111 --avsingh: Bug 5710213: end
9112 p_trans_type NOT IN ('CRB', 'CRL', 'CSP', 'CRV', 'ALI')
9113 ) THEN
9114 l_new_asset_name := find_aid_mapping_id(l_olname_tab(i));
9115 IF (l_new_asset_name <> '-1') THEN
9116 l_olname_tab(i) := l_new_asset_name;
9117 END IF;
9118 END IF;
9119 END LOOP;
9120 END IF;
9121
9122 IF (l_okc_k_lines_tl_counter > 1) THEN
9123 FOR r IN c6
9124 LOOP
9125 --print('r.language_code=' || r.language_code);
9126 forall i IN l_olid_tab.first..l_olid_tab.last
9127 INSERT INTO okc_k_lines_tl (
9128 id, LANGUAGE, source_lang,
9129 sfwt_flag, name, comments,
9130 item_description, block23text, created_by,
9131 creation_date, last_updated_by, last_update_date,
9132 last_update_login, security_group_id, oke_boe_description,
9133 cognomen
9134 ) VALUES (
9135 l_olid_tab(i), r.language_code, l_olsource_lang_tab(i),
9136 'N', l_olname_tab(i), l_olcomments_tab(i),
9137 l_olitem_description_tab(i), l_olblock23text_tab(i), l_created_by,
9138 SYSDATE,l_last_updated_by,SYSDATE,
9139 l_last_update_login,l_olsecurity_group_id_tab(i),l_oloke_boe_description_tab(i),
9140 l_olcognomen_tab(i)
9141 );
9142 END LOOP;
9143 END IF;
9144
9145 EXCEPTION WHEN OTHERS THEN
9146
9147 x_return_status := OKL_API.G_RET_STS_ERROR;
9148 /*OKL_API.set_message(p_app_name => 'OKL',
9149 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
9150 p_token1 => 'ASSET_NUMBER',
9151 p_token1_value => 'insert_okc_k_lines_tl');*/
9152 /* DEBUG */
9153 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9154 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
9155 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 || ' ...');
9156 END IF;
9157 IF (l_olid_tab.COUNT > 0) THEN
9158 FOR i IN l_olid_tab.first..l_olid_tab.last
9159 LOOP
9160 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9161 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olid_tab('||i||')=' || l_olid_tab(i));
9162 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olsource_lang_tab('||i||')=' || l_olsource_lang_tab(i));
9163 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olname_tab('||i||')=' || l_olname_tab(i));
9164 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olcomments_tab('||i||')=' || l_olcomments_tab(i));
9165 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olitem_description_tab('||i||')=' || l_olitem_description_tab(i));
9166 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olblock23text_tab('||i||')=' || l_olblock23text_tab(i));
9167 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olsecurity_group_id_tab('||i||')=' || l_olsecurity_group_id_tab(i));
9168 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_oloke_boe_description_tab('||i||')=' || l_oloke_boe_description_tab(i));
9169 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_olcognomen_tab('||i||')=' || l_olcognomen_tab(i));
9170 END IF;
9171 END LOOP;
9172 END IF;
9173
9174
9175 RAISE OKC_API.G_EXCEPTION_ERROR;
9176
9177 END; /* insert okc_k_lines_tl */
9178
9179 PROCEDURE insert_okc_k_lines_tl_old(p_old_id IN okc_k_lines_b.id%TYPE,
9180 p_new_id IN okc_k_lines_b.id%TYPE,
9181 p_flush IN VARCHAR2 ) IS
9182 CURSOR c5(p_id okc_k_lines_b.id%TYPE) IS
9183 SELECT
9184 a.id, a.LANGUAGE, a.source_lang,
9185 a.sfwt_flag, a.name, a.comments,
9186 a.item_description, a.block23text, a.created_by,
9187 a.creation_date, a.last_updated_by, a.last_update_date,
9188 a.last_update_login, a.security_group_id, a.oke_boe_description,
9189 a.cognomen, b.lse_id
9190 FROM okc_k_lines_tl a,
9191 okc_k_lines_b b
9192 WHERE a.id = p_id
9193 AND a.id = b.id;
9194
9195 TYPE l_ollse_id_type IS TABLE OF okc_k_lines_b.lse_id%TYPE INDEX BY BINARY_INTEGER;
9196 l_olid_tab2 l_olid_type;
9197 l_ollanguage_tab2 l_ollanguage_type;
9198 l_olsource_lang_tab2 l_olsource_lang_type;
9199 l_olsfwt_flag_tab2 l_olsfwt_flag_type;
9200 l_olname_tab2 l_olname_type;
9201 l_olcomments_tab2 l_olcomments_type;
9202 l_olitem_description_tab2 l_olitem_description_type;
9203 l_olblock23text_tab2 l_olblock23text_type;
9204 l_olcreated_by_tab2 l_olcreated_by_type;
9205 l_olcreation_date_tab2 l_olcreation_date_type;
9206 l_ollast_updated_by_tab2 l_ollast_updated_by_type;
9207 l_ollast_update_date_tab2 l_ollast_update_date_type;
9208 l_ollast_update_login_tab2 l_ollast_update_login_type;
9209 l_olsecurity_group_id_tab2 l_olsecurity_group_id_type;
9210 l_oloke_boe_description_tab2 l_oloke_boe_description_type;
9211 l_olcognomen_tab2 l_olcognomen_type;
9212 l_ollse_id_tab2 l_ollse_id_type;
9213
9214 l_ret_status VARCHAR2(30);
9215 l_new_asset_name VARCHAR2(150);
9216 l_done_generating BOOLEAN := FALSE;
9217 l_old_asset_name VARCHAR2(150);
9218 BEGIN
9219 IF (G_DEBUG_ENABLED = 'Y') THEN
9220 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
9221 END IF;
9222 NULL;
9223 OPEN c5(p_old_id);
9224 FETCH c5 bulk collect INTO
9225 l_olid_tab2, l_ollanguage_tab2, l_olsource_lang_tab2,
9226 l_olsfwt_flag_tab2, l_olname_tab2, l_olcomments_tab2,
9227 l_olitem_description_tab2, l_olblock23text_tab2, l_olcreated_by_tab2,
9228 l_olcreation_date_tab2, l_ollast_updated_by_tab2, l_ollast_update_date_tab2,
9229 l_ollast_update_login_tab2,l_olsecurity_group_id_tab2, l_oloke_boe_description_tab2,
9230 l_olcognomen_tab2, l_ollse_id_tab2
9231 limit G_BULK_SIZE;
9232 CLOSE c5;
9233 --print('okc_k_lines_tab:l_id_tab.count='||l_id_tab.count);
9234 FOR i IN l_olid_tab2.first..l_olid_tab2.last LOOP
9235 -- Change id
9236 l_olid_tab2(i) := p_new_id;
9237 l_olid_tab(l_okc_k_lines_tl_counter) := l_olid_tab2(i);
9238
9239 l_ollanguage_tab(l_okc_k_lines_tl_counter) := l_ollanguage_tab2(i);
9240 l_olsource_lang_tab(l_okc_k_lines_tl_counter) := l_olsource_lang_tab2(i);
9241 l_olsfwt_flag_tab(l_okc_k_lines_tl_counter) := l_olsfwt_flag_tab2(i);
9242 l_olname_tab(l_okc_k_lines_tl_counter) := l_olname_tab2(i);
9243
9244 /* AKP - to do: Put okl_copy_asset_pvt.generate_asset_number as public api
9245 Call okl_copy_asset_pvt.generate_asset_number instead of local procedure */
9246 IF (p_trans_type NOT IN ('CRB','CRL','CSP','CRV','ALI') AND
9247 l_ollse_id_tab2(i) IN (33, 42) ) THEN
9248 -- Generate asset_number
9249 --l_ret_status := okl_copy_asset_pvt.generate_asset_number(
9250 IF (NOT(l_done_generating)) THEN
9251 IF (l_asset_counter > 1) THEN
9252 l_new_asset_name := find_aid_mapping_id(l_olname_tab(l_okc_k_lines_tl_counter));
9253 IF (l_new_asset_name = '-1') THEN
9254 l_ret_status := generate_asset_number(
9255 l_new_asset_name
9256 );
9257 IF l_ret_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
9258 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9259 ELSIF l_ret_status = OKL_API.G_RET_STS_ERROR THEN
9260 RAISE OKL_API.G_EXCEPTION_ERROR;
9261 END IF;
9262 END IF;
9263 ELSE
9264 l_ret_status := generate_asset_number(
9265 l_new_asset_name
9266 );
9267 IF l_ret_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
9268 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9269 ELSIF l_ret_status = OKL_API.G_RET_STS_ERROR THEN
9270 RAISE OKL_API.G_EXCEPTION_ERROR;
9271 END IF;
9272 END IF;
9273 l_done_generating := TRUE;
9274 END IF;
9275 l_old_asset_name := l_olname_tab(l_okc_k_lines_tl_counter);
9276 l_olname_tab(l_okc_k_lines_tl_counter) := l_new_asset_name;
9277 --print('Old Asset=' || l_old_asset_name);
9278 --print('New Asset=' || l_new_asset_name);
9279
9280 -- Store line id to asset_number mapping
9281 l_aid_mapping_tab(l_asset_counter).old_id := l_old_asset_name;
9282 l_aid_mapping_tab(l_asset_counter).new_id := l_new_asset_name;
9283
9284 l_asset_counter := l_asset_counter + 1;
9285
9286 END IF;
9287
9288 IF (l_asset_counter > 1) THEN
9289 sort_aid_mapping_tab;
9290 END IF;
9291 l_olcomments_tab(l_okc_k_lines_tl_counter) := l_olcomments_tab2(i);
9292 l_olitem_description_tab(l_okc_k_lines_tl_counter) := l_olitem_description_tab2(i);
9293 l_olblock23text_tab(l_okc_k_lines_tl_counter) := l_olblock23text_tab2(i);
9294 l_olcreated_by_tab(l_okc_k_lines_tl_counter) := l_olcreated_by_tab2(i);
9295 l_olcreation_date_tab(l_okc_k_lines_tl_counter) := l_olcreation_date_tab2(i);
9296 l_ollast_updated_by_tab(l_okc_k_lines_tl_counter) := l_ollast_updated_by_tab2(i);
9297 l_ollast_update_date_tab(l_okc_k_lines_tl_counter) := l_ollast_update_date_tab2(i);
9298 l_ollast_update_login_tab(l_okc_k_lines_tl_counter) := l_ollast_update_login_tab2(i);
9299 l_olsecurity_group_id_tab(l_okc_k_lines_tl_counter) := l_olsecurity_group_id_tab2(i);
9300 l_oloke_boe_description_tab(l_okc_k_lines_tl_counter) := l_oloke_boe_description_tab2(i);
9301 l_olcognomen_tab(l_okc_k_lines_tl_counter) := l_olcognomen_tab2(i);
9302
9303 l_okc_k_lines_tl_counter := l_okc_k_lines_tl_counter + 1;
9304
9305 END LOOP;
9306
9307 IF (p_flush = 'Y') THEN
9308 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9309 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);
9310 END IF;
9311 IF (l_okc_k_lines_tl_counter > 1) THEN
9312 forall i IN l_olid_tab.first..l_olid_tab.last
9313 INSERT INTO okc_k_lines_tl (
9314 id, LANGUAGE, source_lang,
9315 sfwt_flag, name, comments,
9316 item_description, block23text, created_by,
9317 creation_date, last_updated_by, last_update_date,
9318 last_update_login, security_group_id, oke_boe_description,
9319 cognomen
9320 ) VALUES (
9321 l_olid_tab(i), l_ollanguage_tab(i), l_olsource_lang_tab(i),
9322 'N', l_olname_tab(i), l_olcomments_tab(i),
9323 l_olitem_description_tab(i), l_olblock23text_tab(i), l_created_by,
9324 SYSDATE,l_last_updated_by,SYSDATE,
9325 l_last_update_login,l_olsecurity_group_id_tab(i),l_oloke_boe_description_tab(i),
9326 l_olcognomen_tab(i)
9327 );
9328 END IF;
9329 END IF;
9330
9331
9332 END; /* insert_okc_k_lines_tl_old */
9333
9334
9335 PROCEDURE insert_okc_k_headers_tl(p_old_id IN okc_k_headers_tl.id%TYPE,
9336 p_new_id IN okc_k_headers_tl.id%TYPE) IS
9337 CURSOR c6(p_id okc_k_headers_tl.id%TYPE) IS
9338 SELECT
9339 id, LANGUAGE, source_lang,
9340 sfwt_flag, short_description, comments,
9341 description, cognomen, non_response_reason,
9342 non_response_explain, set_aside_reason, created_by,
9343 creation_date, last_updated_by, last_update_date,
9344 last_update_login, security_group_id
9345 FROM okc_k_headers_tl
9346 WHERE id = p_id;
9347
9348 TYPE l_id_type IS TABLE OF okc_k_headers_tl.id%TYPE INDEX BY BINARY_INTEGER;
9349 TYPE l_language_type IS TABLE OF okc_k_headers_tl.LANGUAGE%TYPE INDEX BY BINARY_INTEGER;
9350 TYPE l_source_lang_type IS TABLE OF okc_k_headers_tl.source_lang%TYPE INDEX BY BINARY_INTEGER;
9351 TYPE l_sfwt_flag_type IS TABLE OF okc_k_headers_tl.sfwt_flag%TYPE INDEX BY BINARY_INTEGER;
9352 TYPE l_short_description_type IS TABLE OF okc_k_headers_tl.short_description%TYPE INDEX BY BINARY_INTEGER;
9353 TYPE l_comments_type IS TABLE OF okc_k_headers_tl.comments%TYPE INDEX BY BINARY_INTEGER;
9354 TYPE l_description_type IS TABLE OF okc_k_headers_tl.description%TYPE INDEX BY BINARY_INTEGER;
9355 TYPE l_cognomen_type IS TABLE OF okc_k_headers_tl.cognomen%TYPE INDEX BY BINARY_INTEGER;
9356 TYPE l_non_response_reason_type IS TABLE OF okc_k_headers_tl.non_response_reason%TYPE INDEX BY BINARY_INTEGER;
9357 TYPE l_non_response_explain_type IS TABLE OF okc_k_headers_tl.non_response_explain%TYPE INDEX BY BINARY_INTEGER;
9358 TYPE l_set_aside_reason_type IS TABLE OF okc_k_headers_tl.set_aside_reason%TYPE INDEX BY BINARY_INTEGER;
9359 TYPE l_created_by_type IS TABLE OF okc_k_headers_tl.created_by%TYPE INDEX BY BINARY_INTEGER;
9360 TYPE l_creation_date_type IS TABLE OF okc_k_headers_tl.creation_date%TYPE INDEX BY BINARY_INTEGER;
9361 TYPE l_last_updated_by_type IS TABLE OF okc_k_headers_tl.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
9362 TYPE l_last_update_date_type IS TABLE OF okc_k_headers_tl.last_update_date%TYPE INDEX BY BINARY_INTEGER;
9363 TYPE l_last_update_login_type IS TABLE OF okc_k_headers_tl.last_update_login%TYPE INDEX BY BINARY_INTEGER;
9364 TYPE l_security_group_id_type IS TABLE OF okc_k_headers_tl.security_group_id%TYPE INDEX BY BINARY_INTEGER;
9365
9366 l_id_tab l_id_type;
9367 l_language_tab l_language_type;
9368 l_source_lang_tab l_source_lang_type;
9369 l_sfwt_flag_tab l_sfwt_flag_type;
9370 l_short_description_tab l_short_description_type;
9371 l_comments_tab l_comments_type;
9372 l_description_tab l_description_type;
9373 l_cognomen_tab l_cognomen_type;
9374 l_non_response_reason_tab l_non_response_reason_type;
9375 l_non_response_explain_tab l_non_response_explain_type;
9376 l_set_aside_reason_tab l_set_aside_reason_type;
9377 l_created_by_tab l_created_by_type;
9378 l_creation_date_tab l_creation_date_type;
9379 l_last_updated_by_tab l_last_updated_by_type;
9380 l_last_update_date_tab l_last_update_date_type;
9381 l_last_update_login_tab l_last_update_login_type;
9382 l_security_group_id_tab l_security_group_id_type;
9383
9384
9385 BEGIN
9386 IF (G_DEBUG_ENABLED = 'Y') THEN
9387 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
9388 END IF;
9389 NULL;
9390 OPEN c6(p_old_id);
9391 FETCH c6 bulk collect INTO
9392 l_id_tab, l_language_tab, l_source_lang_tab,
9393 l_sfwt_flag_tab, l_short_description_tab, l_comments_tab,
9394 l_description_tab, l_cognomen_tab, l_non_response_reason_tab,
9395 l_non_response_explain_tab, l_set_aside_reason_tab, l_created_by_tab,
9396 l_creation_date_tab, l_last_updated_by_tab, l_last_update_date_tab,
9397 l_last_update_login_tab, l_security_group_id_tab
9398 limit G_BULK_SIZE;
9399 CLOSE c6;
9400
9401 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9402 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'okc_k_headers_tl_tab:l_id_tab.count='||l_id_tab.COUNT);
9403 END IF;
9404 IF (l_id_tab.COUNT > 0) THEN
9405 FOR i IN l_id_tab.first..l_id_tab.last LOOP
9406 l_id_tab(i) := p_new_id;
9407 END LOOP;
9408
9409 forall i IN l_id_tab.first..l_id_tab.last
9410 INSERT INTO okc_k_headers_tl (
9411 id, LANGUAGE, source_lang,
9412 sfwt_flag, short_description, comments,
9413 description, cognomen, non_response_reason,
9414 non_response_explain, set_aside_reason, created_by,
9415 creation_date, last_updated_by, last_update_date,
9416 last_update_login, security_group_id
9417 ) VALUES (
9418 l_id_tab(i), l_language_tab(i), l_source_lang_tab(i),
9419 'N', l_short_description_tab(i), l_comments_tab(i),
9420 l_description_tab(i), l_cognomen_tab(i), NULL,
9421 NULL, NULL, l_created_by,
9422 SYSDATE, l_last_updated_by, SYSDATE,
9423 l_last_update_login, l_security_group_id_tab(i)
9424 );
9425 END IF;
9426
9427 EXCEPTION WHEN OTHERS THEN
9428
9429 x_return_status := OKL_API.G_RET_STS_ERROR;
9430 /*OKL_API.set_message(p_app_name => 'OKL',
9431 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
9432 p_token1 => 'ASSET_NUMBER',
9433 p_token1_value => 'insert_okc_k_headers_tl');*/
9434 /* DEBUG */
9435 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9436 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
9437 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okc_k_headers_tl:l_id_tab.coun=' || l_id_tab.COUNT || ' ...');
9438 END IF;
9439 IF (l_id_tab.COUNT > 0) THEN
9440 FOR i IN l_id_tab.first..l_id_tab.last
9441 LOOP
9442 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9443 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab('||i||')=' || l_id_tab(i));
9444 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_language_tab('||i||')=' || l_language_tab(i));
9445 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_source_lang_tab('||i||')=' || l_source_lang_tab(i));
9446 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_short_description_tab('||i||')=' || l_short_description_tab(i));
9447 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_comments_tab('||i||')=' || l_comments_tab(i));
9448 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_description_tab('||i||')=' || l_description_tab(i));
9449 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cognomen_tab('||i||')=' || l_cognomen_tab(i));
9450 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_security_group_id_tab('||i||')=' || l_security_group_id_tab(i));
9451 END IF;
9452 END LOOP;
9453 END IF;
9454
9455 RAISE OKC_API.G_EXCEPTION_ERROR;
9456
9457 END; /* insert_okc_k_headers_tl */
9458
9459 PROCEDURE insert_okl_k_headers(p_old_id IN okc_k_headers_tl.id%TYPE,
9460 p_new_id IN okc_k_headers_tl.id%TYPE) IS
9461 CURSOR c7(p_id okl_k_headers.id%TYPE) IS
9462 SELECT
9463 id, isg_id, khr_id,
9464 pdt_id, object_version_number, date_first_activity,
9465 syndicatable_yn, salestype_yn, date_refinanced,
9466 date_conversion_effective, date_deal_transferred, term_duration,
9467 datetime_proposal_effective, datetime_proposal_ineffective, date_proposal_accepted,
9468 attribute_category, attribute1, attribute2,
9469 attribute3, attribute4, attribute5,
9470 attribute6, attribute7, attribute8,
9471 attribute9, attribute10, attribute11,
9472 attribute12, attribute13, attribute14,
9473 attribute15, created_by, creation_date,
9474 last_updated_by, last_update_date, last_update_login,
9475 amd_code, generate_accrual_yn, generate_accrual_override_yn,
9476 credit_act_yn, converted_account_yn, pre_tax_yield,
9477 after_tax_yield, implicit_interest_rate, implicit_non_idc_interest_rate,
9478 target_pre_tax_yield, target_after_tax_yield, target_implicit_interest_rate,
9479 target_implicit_nonidc_intrate, date_last_interim_interest_cal, deal_type,
9480 pre_tax_irr, after_tax_irr, expected_delivery_date,
9481 accepted_date, prefunding_eligible_yn, revolving_credit_yn,
9482 currency_conversion_type, currency_conversion_rate, currency_conversion_date,
9483 multi_gaap_yn, recourse_code, lessor_serv_org_code,
9484 assignable_yn, securitized_code, securitization_type,
9485 sub_pre_tax_yield, sub_after_tax_yield, sub_impl_interest_rate,
9486 sub_impl_non_idc_int_rate, sub_pre_tax_irr, sub_after_tax_irr,
9487 tot_cl_transfer_amt, tot_cl_net_transfer_amt, tot_cl_limit,
9488 tot_cl_funding_amt, crs_id, template_type_code,
9489 tradein_description, date_funding_expected, tradein_amount,
9490 date_tradein,
9491 legal_entity_id
9492 FROM okl_k_headers
9493 WHERE id = p_id;
9494
9495 TYPE l_id_type IS TABLE OF okl_k_headers.id%TYPE INDEX BY BINARY_INTEGER;
9496 TYPE l_isg_id_type IS TABLE OF okl_k_headers.isg_id%TYPE INDEX BY BINARY_INTEGER;
9497 TYPE l_khr_id_type IS TABLE OF okl_k_headers.khr_id%TYPE INDEX BY BINARY_INTEGER;
9498 TYPE l_pdt_id_type IS TABLE OF okl_k_headers.pdt_id%TYPE INDEX BY BINARY_INTEGER;
9499 TYPE l_object_version_number_type IS TABLE OF okl_k_headers.object_version_number%TYPE INDEX BY BINARY_INTEGER;
9500 TYPE l_date_first_activity_type IS TABLE OF okl_k_headers.date_first_activity%TYPE INDEX BY BINARY_INTEGER;
9501 TYPE l_syndicatable_yn_type IS TABLE OF okl_k_headers.syndicatable_yn%TYPE INDEX BY BINARY_INTEGER;
9502 TYPE l_salestype_yn_type IS TABLE OF okl_k_headers.salestype_yn%TYPE INDEX BY BINARY_INTEGER;
9503 TYPE l_date_refinanced_type IS TABLE OF okl_k_headers.date_refinanced%TYPE INDEX BY BINARY_INTEGER;
9504 TYPE l_date_conversion_effective_ty IS TABLE OF okl_k_headers.date_conversion_effective%TYPE INDEX BY BINARY_INTEGER;
9505 TYPE l_date_deal_transferred_type IS TABLE OF okl_k_headers.date_deal_transferred%TYPE INDEX BY BINARY_INTEGER;
9506 TYPE l_term_duration_type IS TABLE OF okl_k_headers.term_duration%TYPE INDEX BY BINARY_INTEGER;
9507 TYPE l_datetime_proposal_effec_type IS TABLE OF okl_k_headers.datetime_proposal_effective%TYPE INDEX BY BINARY_INTEGER;
9508 TYPE l_datetime_proposal_ineff_type IS TABLE OF okl_k_headers.datetime_proposal_ineffective%TYPE INDEX BY BINARY_INTEGER;
9509 TYPE l_date_proposal_accepted_type IS TABLE OF okl_k_headers.date_proposal_accepted%TYPE INDEX BY BINARY_INTEGER;
9510 TYPE l_attribute_category_type IS TABLE OF okl_k_headers.attribute_category%TYPE INDEX BY BINARY_INTEGER;
9511 TYPE l_attribute1_type IS TABLE OF okl_k_headers.attribute1%TYPE INDEX BY BINARY_INTEGER;
9512 TYPE l_attribute2_type IS TABLE OF okl_k_headers.attribute2%TYPE INDEX BY BINARY_INTEGER;
9513 TYPE l_attribute3_type IS TABLE OF okl_k_headers.attribute3%TYPE INDEX BY BINARY_INTEGER;
9514 TYPE l_attribute4_type IS TABLE OF okl_k_headers.attribute4%TYPE INDEX BY BINARY_INTEGER;
9515 TYPE l_attribute5_type IS TABLE OF okl_k_headers.attribute5%TYPE INDEX BY BINARY_INTEGER;
9516 TYPE l_attribute6_type IS TABLE OF okl_k_headers.attribute6%TYPE INDEX BY BINARY_INTEGER;
9517 TYPE l_attribute7_type IS TABLE OF okl_k_headers.attribute7%TYPE INDEX BY BINARY_INTEGER;
9518 TYPE l_attribute8_type IS TABLE OF okl_k_headers.attribute8%TYPE INDEX BY BINARY_INTEGER;
9519 TYPE l_attribute9_type IS TABLE OF okl_k_headers.attribute9%TYPE INDEX BY BINARY_INTEGER;
9520 TYPE l_attribute10_type IS TABLE OF okl_k_headers.attribute10%TYPE INDEX BY BINARY_INTEGER;
9521 TYPE l_attribute11_type IS TABLE OF okl_k_headers.attribute11%TYPE INDEX BY BINARY_INTEGER;
9522 TYPE l_attribute12_type IS TABLE OF okl_k_headers.attribute12%TYPE INDEX BY BINARY_INTEGER;
9523 TYPE l_attribute13_type IS TABLE OF okl_k_headers.attribute13%TYPE INDEX BY BINARY_INTEGER;
9524 TYPE l_attribute14_type IS TABLE OF okl_k_headers.attribute14%TYPE INDEX BY BINARY_INTEGER;
9525 TYPE l_attribute15_type IS TABLE OF okl_k_headers.attribute15%TYPE INDEX BY BINARY_INTEGER;
9526 TYPE l_created_by_type IS TABLE OF okl_k_headers.created_by%TYPE INDEX BY BINARY_INTEGER;
9527 TYPE l_creation_date_type IS TABLE OF okl_k_headers.creation_date%TYPE INDEX BY BINARY_INTEGER;
9528 TYPE l_last_updated_by_type IS TABLE OF okl_k_headers.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
9529 TYPE l_last_update_date_type IS TABLE OF okl_k_headers.last_update_date%TYPE INDEX BY BINARY_INTEGER;
9530 TYPE l_last_update_login_type IS TABLE OF okl_k_headers.last_update_login%TYPE INDEX BY BINARY_INTEGER;
9531 TYPE l_amd_code_type IS TABLE OF okl_k_headers.amd_code%TYPE INDEX BY BINARY_INTEGER;
9532 TYPE l_generate_accrual_yn_type IS TABLE OF okl_k_headers.generate_accrual_yn%TYPE INDEX BY BINARY_INTEGER;
9533 TYPE l_generate_ac_override_yn_type IS TABLE OF okl_k_headers.generate_accrual_override_yn%TYPE INDEX BY BINARY_INTEGER;
9534 TYPE l_credit_act_yn_type IS TABLE OF okl_k_headers.credit_act_yn%TYPE INDEX BY BINARY_INTEGER;
9535 TYPE l_converted_account_yn_type IS TABLE OF okl_k_headers.converted_account_yn%TYPE INDEX BY BINARY_INTEGER;
9536 TYPE l_pre_tax_yield_type IS TABLE OF okl_k_headers.pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9537 TYPE l_after_tax_yield_type IS TABLE OF okl_k_headers.after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9538 TYPE l_implicit_interest_rate_type IS TABLE OF okl_k_headers.implicit_interest_rate%TYPE INDEX BY BINARY_INTEGER;
9539 TYPE l_implicit_non_idc_i_rate_type IS TABLE OF okl_k_headers.implicit_non_idc_interest_rate%TYPE INDEX BY BINARY_INTEGER;
9540 TYPE l_target_pre_tax_yield_type IS TABLE OF okl_k_headers.target_pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9541 TYPE l_target_after_tax_yield_type IS TABLE OF okl_k_headers.target_after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9542 TYPE l_target_implicit_in_rate_type IS TABLE OF okl_k_headers.target_implicit_interest_rate%TYPE INDEX BY BINARY_INTEGER;
9543 TYPE l_target_i_nonidc_intrate_type IS TABLE OF okl_k_headers.target_implicit_nonidc_intrate%TYPE INDEX BY BINARY_INTEGER;
9544 TYPE l_date_last_interim_i_cal_type IS TABLE OF okl_k_headers.date_last_interim_interest_cal%TYPE INDEX BY BINARY_INTEGER;
9545 TYPE l_deal_type_type IS TABLE OF okl_k_headers.deal_type%TYPE INDEX BY BINARY_INTEGER;
9546 TYPE l_pre_tax_irr_type IS TABLE OF okl_k_headers.pre_tax_irr%TYPE INDEX BY BINARY_INTEGER;
9547 TYPE l_after_tax_irr_type IS TABLE OF okl_k_headers.after_tax_irr%TYPE INDEX BY BINARY_INTEGER;
9548 TYPE l_expected_delivery_date_type IS TABLE OF okl_k_headers.expected_delivery_date%TYPE INDEX BY BINARY_INTEGER;
9549 TYPE l_accepted_date_type IS TABLE OF okl_k_headers.accepted_date%TYPE INDEX BY BINARY_INTEGER;
9550 TYPE l_prefunding_eligible_yn_type IS TABLE OF okl_k_headers.prefunding_eligible_yn%TYPE INDEX BY BINARY_INTEGER;
9551 TYPE l_revolving_credit_yn_type IS TABLE OF okl_k_headers.revolving_credit_yn%TYPE INDEX BY BINARY_INTEGER;
9552 TYPE l_currency_conversion_type_typ IS TABLE OF okl_k_headers.currency_conversion_type%TYPE INDEX BY BINARY_INTEGER;
9553 TYPE l_currency_conversion_rate_typ IS TABLE OF okl_k_headers.currency_conversion_rate%TYPE INDEX BY BINARY_INTEGER;
9554 TYPE l_currency_conversion_date_typ IS TABLE OF okl_k_headers.currency_conversion_date%TYPE INDEX BY BINARY_INTEGER;
9555 TYPE l_multi_gaap_yn_type IS TABLE OF okl_k_headers.multi_gaap_yn%TYPE INDEX BY BINARY_INTEGER;
9556 TYPE l_recourse_code_type IS TABLE OF okl_k_headers.recourse_code%TYPE INDEX BY BINARY_INTEGER;
9557 TYPE l_lessor_serv_org_code_type IS TABLE OF okl_k_headers.lessor_serv_org_code%TYPE INDEX BY BINARY_INTEGER;
9558 TYPE l_assignable_yn_type IS TABLE OF okl_k_headers.assignable_yn%TYPE INDEX BY BINARY_INTEGER;
9559 TYPE l_securitized_code_type IS TABLE OF okl_k_headers.securitized_code%TYPE INDEX BY BINARY_INTEGER;
9560 TYPE l_securitization_type_type IS TABLE OF okl_k_headers.securitization_type%TYPE INDEX BY BINARY_INTEGER;
9561 TYPE l_sub_pre_tax_yield_type IS TABLE OF okl_k_headers.sub_pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9562 TYPE l_sub_after_tax_yield_type IS TABLE OF okl_k_headers.sub_after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
9563 TYPE l_sub_impl_interest_rate_type IS TABLE OF okl_k_headers.sub_impl_interest_rate%TYPE INDEX BY BINARY_INTEGER;
9564 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;
9565 TYPE l_sub_pre_tax_irr_type IS TABLE OF okl_k_headers.sub_pre_tax_irr%TYPE INDEX BY BINARY_INTEGER;
9566 TYPE l_sub_after_tax_irr_type IS TABLE OF okl_k_headers.sub_after_tax_irr%TYPE INDEX BY BINARY_INTEGER;
9567 TYPE l_tot_cl_transfer_amt_type IS TABLE OF okl_k_headers.tot_cl_transfer_amt%TYPE INDEX BY BINARY_INTEGER;
9568 TYPE l_tot_cl_net_transfer_amt_type IS TABLE OF okl_k_headers.tot_cl_net_transfer_amt%TYPE INDEX BY BINARY_INTEGER;
9569 TYPE l_tot_cl_limit_type IS TABLE OF okl_k_headers.tot_cl_limit%TYPE INDEX BY BINARY_INTEGER;
9570 TYPE l_tot_cl_funding_amt_type IS TABLE OF okl_k_headers.tot_cl_funding_amt%TYPE INDEX BY BINARY_INTEGER;
9571 TYPE l_crs_id_type is table of okl_k_headers.crs_id%TYPE index by binary_integer;
9572 TYPE l_template_type_code_type is table of okl_k_headers.template_type_code%TYPE index by binary_integer;
9573 TYPE l_tradein_description_type is table of okl_k_headers.tradein_description%TYPE index by binary_integer;
9574 TYPE l_date_funding_expected_type is table of okl_k_headers.date_funding_expected%TYPE index by binary_integer;
9575 TYPE l_tradein_amount_type is table of okl_k_headers.tradein_amount%TYPE index by binary_integer;
9576 TYPE l_date_tradein_type is table of okl_k_headers.date_tradein%TYPE index by binary_integer;
9577 --Added by dpsingh for LE Uptake
9578 TYPE l_legal_entity_id_type is table of okl_k_headers.legal_entity_id%TYPE index by binary_integer;
9579
9580 l_id_tab l_id_type;
9581 l_isg_id_tab l_isg_id_type;
9582 l_khr_id_tab l_khr_id_type;
9583 l_pdt_id_tab l_pdt_id_type;
9584 l_object_version_number_tab l_object_version_number_type;
9585 l_date_first_activity_tab l_date_first_activity_type;
9586 l_syndicatable_yn_tab l_syndicatable_yn_type;
9587 l_salestype_yn_tab l_salestype_yn_type;
9588 l_date_refinanced_tab l_date_refinanced_type;
9589 l_date_conversion_effectiv_tab l_date_conversion_effective_ty;
9590 l_date_deal_transferred_tab l_date_deal_transferred_type;
9591 l_term_duration_tab l_term_duration_type;
9592 l_datetime_proposal_effec_tab l_datetime_proposal_effec_type;
9593 l_datetime_proposal_ineff_tab l_datetime_proposal_ineff_type;
9594 l_date_proposal_accepted_tab l_date_proposal_accepted_type;
9595 l_attribute_category_tab l_attribute_category_type;
9596 l_attribute1_tab l_attribute1_type;
9597 l_attribute2_tab l_attribute2_type;
9598 l_attribute3_tab l_attribute3_type;
9599 l_attribute4_tab l_attribute4_type;
9600 l_attribute5_tab l_attribute5_type;
9601 l_attribute6_tab l_attribute6_type;
9602 l_attribute7_tab l_attribute7_type;
9603 l_attribute8_tab l_attribute8_type;
9604 l_attribute9_tab l_attribute9_type;
9605 l_attribute10_tab l_attribute10_type;
9606 l_attribute11_tab l_attribute11_type;
9607 l_attribute12_tab l_attribute12_type;
9608 l_attribute13_tab l_attribute13_type;
9609 l_attribute14_tab l_attribute14_type;
9610 l_attribute15_tab l_attribute15_type;
9611 l_created_by_tab l_created_by_type;
9612 l_creation_date_tab l_creation_date_type;
9613 l_last_updated_by_tab l_last_updated_by_type;
9614 l_last_update_date_tab l_last_update_date_type;
9615 l_last_update_login_tab l_last_update_login_type;
9616 l_amd_code_tab l_amd_code_type;
9617 l_generate_accrual_yn_tab l_generate_accrual_yn_type;
9618 l_generate_ac_override_yn_tab l_generate_ac_override_yn_type;
9619 l_credit_act_yn_tab l_credit_act_yn_type;
9620 l_converted_account_yn_tab l_converted_account_yn_type;
9621 l_pre_tax_yield_tab l_pre_tax_yield_type;
9622 l_after_tax_yield_tab l_after_tax_yield_type;
9623 l_implicit_interest_rate_tab l_implicit_interest_rate_type;
9624 l_implicit_non_idc_i_rate_tab l_implicit_non_idc_i_rate_type;
9625 l_target_pre_tax_yield_tab l_target_pre_tax_yield_type;
9626 l_target_after_tax_yield_tab l_target_after_tax_yield_type;
9627 l_target_implicit_in_rate_tab l_target_implicit_in_rate_type;
9628 l_target_i_nonidc_intrate_tab l_target_i_nonidc_intrate_type;
9629 l_date_last_interim_i_cal_tab l_date_last_interim_i_cal_type;
9630 l_deal_type_tab l_deal_type_type;
9631 l_pre_tax_irr_tab l_pre_tax_irr_type;
9632 l_after_tax_irr_tab l_after_tax_irr_type;
9633 l_expected_delivery_date_tab l_expected_delivery_date_type;
9634 l_accepted_date_tab l_accepted_date_type;
9635 l_prefunding_eligible_yn_tab l_prefunding_eligible_yn_type;
9636 l_revolving_credit_yn_tab l_revolving_credit_yn_type;
9637 l_currency_conversion_type_tab l_currency_conversion_type_typ;
9638 l_currency_conversion_rate_tab l_currency_conversion_rate_typ;
9639 l_currency_conversion_date_tab l_currency_conversion_date_typ;
9640 l_multi_gaap_yn_tab l_multi_gaap_yn_type;
9641 l_recourse_code_tab l_recourse_code_type;
9642 l_lessor_serv_org_code_tab l_lessor_serv_org_code_type;
9643 l_assignable_yn_tab l_assignable_yn_type;
9644 l_securitized_code_tab l_securitized_code_type;
9645 l_securitization_type_tab l_securitization_type_type;
9646 l_sub_pre_tax_yield_tab l_sub_pre_tax_yield_type;
9647 l_sub_after_tax_yield_tab l_sub_after_tax_yield_type;
9648 l_sub_impl_interest_rate_tab l_sub_impl_interest_rate_type;
9649 l_sub_impl_non_idc_int_ra_tab l_sub_impl_non_idc_int_ra_type;
9650 l_sub_pre_tax_irr_tab l_sub_pre_tax_irr_type;
9651 l_sub_after_tax_irr_tab l_sub_after_tax_irr_type;
9652 l_tot_cl_transfer_amt_tab l_tot_cl_transfer_amt_type;
9653 l_tot_cl_net_transfer_amt_tab l_tot_cl_net_transfer_amt_type;
9654 l_tot_cl_limit_tab l_tot_cl_limit_type;
9655 l_tot_cl_funding_amt_tab l_tot_cl_funding_amt_type;
9656 l_crs_id_tab l_crs_id_type;
9657 l_template_type_code_tab l_template_type_code_type;
9658 l_tradein_description_tab l_tradein_description_type;
9659 l_date_funding_expected_tab l_date_funding_expected_type;
9660 l_tradein_amount_tab l_tradein_amount_type;
9661 l_date_tradein_tab l_date_tradein_type;
9662 l_legal_entity_id_tab l_legal_entity_id_type;
9663
9664 BEGIN
9665 IF (G_DEBUG_ENABLED = 'Y') THEN
9666 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
9667 END IF;
9668 NULL;
9669 OPEN c7(p_old_id);
9670 FETCH c7 bulk collect INTO
9671 l_id_tab, l_isg_id_tab, l_khr_id_tab,
9672 l_pdt_id_tab, l_object_version_number_tab, l_date_first_activity_tab,
9673 l_syndicatable_yn_tab, l_salestype_yn_tab, l_date_refinanced_tab,
9674 l_date_conversion_effectiv_tab, l_date_deal_transferred_tab, l_term_duration_tab,
9675 l_datetime_proposal_effec_tab, l_datetime_proposal_ineff_tab, l_date_proposal_accepted_tab,
9676 l_attribute_category_tab, l_attribute1_tab, l_attribute2_tab,
9677 l_attribute3_tab, l_attribute4_tab, l_attribute5_tab,
9678 l_attribute6_tab, l_attribute7_tab, l_attribute8_tab,
9679 l_attribute9_tab, l_attribute10_tab, l_attribute11_tab,
9680 l_attribute12_tab, l_attribute13_tab, l_attribute14_tab,
9681 l_attribute15_tab, l_created_by_tab, l_creation_date_tab,
9682 l_last_updated_by_tab, l_last_update_date_tab, l_last_update_login_tab,
9683 l_amd_code_tab, l_generate_accrual_yn_tab, l_generate_ac_override_yn_tab,
9684 l_credit_act_yn_tab, l_converted_account_yn_tab, l_pre_tax_yield_tab,
9685 l_after_tax_yield_tab, l_implicit_interest_rate_tab, l_implicit_non_idc_i_rate_tab,
9686 l_target_pre_tax_yield_tab, l_target_after_tax_yield_tab, l_target_implicit_in_rate_tab,
9687 l_target_i_nonidc_intrate_tab, l_date_last_interim_i_cal_tab, l_deal_type_tab,
9688 l_pre_tax_irr_tab, l_after_tax_irr_tab, l_expected_delivery_date_tab,
9689 l_accepted_date_tab, l_prefunding_eligible_yn_tab, l_revolving_credit_yn_tab,
9690 l_currency_conversion_type_tab, l_currency_conversion_rate_tab, l_currency_conversion_date_tab,
9691 l_multi_gaap_yn_tab, l_recourse_code_tab, l_lessor_serv_org_code_tab,
9692 l_assignable_yn_tab, l_securitized_code_tab, l_securitization_type_tab,
9693 l_sub_pre_tax_yield_tab, l_sub_after_tax_yield_tab, l_sub_impl_interest_rate_tab,
9694 l_sub_impl_non_idc_int_ra_tab, l_sub_pre_tax_irr_tab, l_sub_after_tax_irr_tab,
9695 l_tot_cl_transfer_amt_tab, l_tot_cl_net_transfer_amt_tab, l_tot_cl_limit_tab,
9696 l_tot_cl_funding_amt_tab, l_crs_id_tab, l_template_type_code_tab,
9697 l_tradein_description_tab, l_date_funding_expected_tab, l_tradein_amount_tab,
9698 l_date_tradein_tab,l_legal_entity_id_tab
9699 limit G_BULK_SIZE;
9700 CLOSE c7;
9701
9702 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9703 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'okl_k_headers_tab:l_id_tab.count='||l_id_tab.COUNT);
9704 END IF;
9705 IF (l_id_tab.COUNT > 0) THEN
9706 l_deal_type := l_deal_type_tab(1);
9707 FOR i IN l_id_tab.first..l_id_tab.last LOOP
9708 l_id_tab(i) := p_new_id;
9709
9710 validate_amd_code(x_return_status, l_amd_code_tab(i));
9711 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
9712 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9713 END IF;
9714
9715 END LOOP;
9716
9717 forall i IN l_id_tab.first..l_id_tab.last
9718 INSERT INTO okl_k_headers (
9719 id, isg_id, khr_id,
9720 pdt_id, object_version_number, date_first_activity,
9721 syndicatable_yn, salestype_yn, date_refinanced,
9722 date_conversion_effective, date_deal_transferred, term_duration,
9723 datetime_proposal_effective, datetime_proposal_ineffective, date_proposal_accepted,
9724 attribute_category, attribute1, attribute2,
9725 attribute3, attribute4, attribute5,
9726 attribute6, attribute7, attribute8,
9727 attribute9, attribute10, attribute11,
9728 attribute12, attribute13, attribute14,
9729 attribute15, created_by, creation_date,
9730 last_updated_by, last_update_date, last_update_login,
9731 amd_code, generate_accrual_yn, generate_accrual_override_yn,
9732 credit_act_yn, converted_account_yn, pre_tax_yield,
9733 after_tax_yield, implicit_interest_rate, implicit_non_idc_interest_rate,
9734 target_pre_tax_yield, target_after_tax_yield, target_implicit_interest_rate,
9735 target_implicit_nonidc_intrate, date_last_interim_interest_cal, deal_type,
9736 pre_tax_irr, after_tax_irr, expected_delivery_date,
9737 accepted_date, prefunding_eligible_yn, revolving_credit_yn,
9738 currency_conversion_type, currency_conversion_rate, currency_conversion_date,
9739 multi_gaap_yn, recourse_code, lessor_serv_org_code,
9740 assignable_yn, securitized_code, securitization_type,
9741 sub_pre_tax_yield, sub_after_tax_yield, sub_impl_interest_rate,
9742 sub_impl_non_idc_int_rate, sub_pre_tax_irr, sub_after_tax_irr,
9743 tot_cl_transfer_amt, tot_cl_net_transfer_amt, tot_cl_limit,
9744 tot_cl_funding_amt, crs_id, template_type_code,
9745 tradein_description, date_funding_expected, tradein_amount,
9746 date_tradein,legal_entity_id
9747 ) VALUES (
9748 l_id_tab(i), l_isg_id_tab(i), l_khr_id_tab(i),
9749 l_pdt_id_tab(i), 1, l_date_first_activity_tab(i),
9750 l_syndicatable_yn_tab(i), l_salestype_yn_tab(i), l_date_refinanced_tab(i),
9751 l_date_conversion_effectiv_tab(i), l_date_deal_transferred_tab(i), l_term_duration_tab(i),
9752 l_datetime_proposal_effec_tab(i), l_datetime_proposal_ineff_tab(i), l_date_proposal_accepted_tab(i),
9753 l_attribute_category_tab(i), l_attribute1_tab(i), l_attribute2_tab(i),
9754 l_attribute3_tab(i), l_attribute4_tab(i), l_attribute5_tab(i),
9755 l_attribute6_tab(i), l_attribute7_tab(i), l_attribute8_tab(i),
9756 l_attribute9_tab(i), l_attribute10_tab(i), l_attribute11_tab(i),
9757 l_attribute12_tab(i), l_attribute13_tab(i), l_attribute14_tab(i),
9758 l_attribute15_tab(i), l_created_by, SYSDATE,
9759 l_last_updated_by, SYSDATE, l_last_update_login,
9760 l_amd_code_tab(i), l_generate_accrual_yn_tab(i), l_generate_ac_override_yn_tab(i),
9761 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)),
9762 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)),
9763 l_target_pre_tax_yield_tab(i), l_target_after_tax_yield_tab(i), l_target_implicit_in_rate_tab(i),
9764 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),
9765 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),
9766 l_accepted_date_tab(i), l_prefunding_eligible_yn_tab(i), l_revolving_credit_yn_tab(i),
9767 l_currency_conversion_type_tab(i), l_currency_conversion_rate_tab(i), l_currency_conversion_date_tab(i),
9768 l_multi_gaap_yn_tab(i), l_recourse_code_tab(i), l_lessor_serv_org_code_tab(i),
9769 --l_assignable_yn_tab(i), l_securitized_code_tab(i), l_securitization_type_tab(i),
9770 --Fix bug 4381642 to nullify securitized_code
9771 l_assignable_yn_tab(i), NULL, l_securitization_type_tab(i),
9772 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)),
9773 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)),
9774 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)),
9775 DECODE(p_trans_type, 'CFA',NULL, 'CRL',NULL, l_tot_cl_funding_amt_tab(i)),
9776 l_crs_id_tab(i), l_template_type_code_tab(i),l_tradein_description_tab(i),
9777 l_date_funding_expected_tab(i), l_tradein_amount_tab(i), l_date_tradein_tab(i),l_legal_entity_id_tab(i)
9778 );
9779 END IF;
9780
9781 EXCEPTION WHEN OTHERS THEN
9782
9783 x_return_status := OKL_API.G_RET_STS_ERROR;
9784 /*OKL_API.set_message(p_app_name => 'OKL',
9785 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
9786 p_token1 => 'ASSET_NUMBER',
9787 p_token1_value => 'insert_okl_k_headers');*/
9788 /* DEBUG */
9789 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9790 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
9791 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_k_headers:l_id_tab=' || l_id_tab.COUNT || ' ...');
9792 END IF;
9793 --print('p_trans_type=' || p_trans_type);
9794 IF (l_id_tab.COUNT > 0) THEN
9795 FOR i IN l_id_tab.first..l_id_tab.last
9796 LOOP
9797 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9798 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab('||i||')=' || l_id_tab(i));
9799 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_isg_id_tab('||i||')=' || l_isg_id_tab(i));
9800 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_khr_id_tab('||i||')=' || l_khr_id_tab(i));
9801 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pdt_id_tab('||i||')=' || l_pdt_id_tab(i));
9802 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_first_activity_tab('||i||')=' || l_date_first_activity_tab(i));
9803 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_syndicatable_yn_tab('||i||')=' || l_syndicatable_yn_tab(i));
9804 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_salestype_yn_tab('||i||')=' || l_salestype_yn_tab(i));
9805 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_refinanced_tab('||i||')=' || l_date_refinanced_tab(i));
9806 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_conversion_effectiv_tab('||i||')=' || l_date_conversion_effectiv_tab(i));
9807 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_deal_transferred_tab('||i||')=' || l_date_deal_transferred_tab(i));
9808 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_term_duration_tab('||i||')=' || l_term_duration_tab(i));
9809 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_datetime_proposal_effec_tab('||i||')=' || l_datetime_proposal_effec_tab(i));
9810 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_datetime_proposal_ineff_tab('||i||')=' || l_datetime_proposal_ineff_tab(i));
9811 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_proposal_accepted_tab('||i||')=' || l_date_proposal_accepted_tab(i));
9812 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute_category_tab('||i||')=' || l_attribute_category_tab(i));
9813 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute1_tab('||i||')=' || l_attribute1_tab(i));
9814 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute2_tab('||i||')=' || l_attribute2_tab(i));
9815 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute3_tab('||i||')=' || l_attribute3_tab(i));
9816 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute4_tab('||i||')=' || l_attribute4_tab(i));
9817 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute5_tab('||i||')=' || l_attribute5_tab(i));
9818 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute6_tab('||i||')=' || l_attribute6_tab(i));
9819 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute7_tab('||i||')=' || l_attribute7_tab(i));
9820 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute8_tab('||i||')=' || l_attribute8_tab(i));
9821 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute9_tab('||i||')=' || l_attribute9_tab(i));
9822 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute10_tab('||i||')=' || l_attribute10_tab(i));
9823 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute11_tab('||i||')=' || l_attribute11_tab(i));
9824 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute12_tab('||i||')=' || l_attribute12_tab(i));
9825 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute13_tab('||i||')=' || l_attribute13_tab(i));
9826 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute14_tab('||i||')=' || l_attribute14_tab(i));
9827 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute15_tab('||i||')=' || l_attribute15_tab(i));
9828 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_amd_code_tab('||i||')=' || l_amd_code_tab(i));
9829 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_generate_accrual_yn_tab('||i||')=' || l_generate_accrual_yn_tab(i));
9830 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));
9831 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_credit_act_yn_tab('||i||')=' || l_credit_act_yn_tab(i));
9832 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_converted_account_yn_tab('||i||')=' || l_converted_account_yn_tab(i));
9833 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pre_tax_yield_tab('||i||')=' || l_pre_tax_yield_tab(i));
9834 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_after_tax_yield_tab('||i||')=' || l_after_tax_yield_tab(i));
9835 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_implicit_interest_rate_tab('||i||')=' || l_implicit_interest_rate_tab(i));
9836 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));
9837 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));
9838 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));
9839 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));
9840 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));
9841 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));
9842 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_deal_type_tab('||i||')=' || l_deal_type_tab(i));
9843 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pre_tax_irr_tab('||i||')=' || l_pre_tax_irr_tab(i));
9844 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_after_tax_irr_tab('||i||')=' || l_after_tax_irr_tab(i));
9845 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_expected_delivery_date_tab('||i||')=' || l_expected_delivery_date_tab(i));
9846 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_accepted_date_tab('||i||')=' || l_accepted_date_tab(i));
9847 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_prefunding_eligible_yn_tab('||i||')=' || l_prefunding_eligible_yn_tab(i));
9848 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_revolving_credit_yn_tab('||i||')=' || l_revolving_credit_yn_tab(i));
9849 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_currency_conversion_type_tab('||i||')=' || l_currency_conversion_type_tab(i));
9850 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_currency_conversion_rate_tab('||i||')=' || l_currency_conversion_rate_tab(i));
9851 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_currency_conversion_date_tab('||i||')=' || l_currency_conversion_date_tab(i));
9852 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_multi_gaap_yn_tab('||i||')=' || l_multi_gaap_yn_tab(i));
9853 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_recourse_code_tab('||i||')=' || l_recourse_code_tab(i));
9854 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));
9855 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_assignable_yn_tab('||i||')=' || l_assignable_yn_tab(i));
9856 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_securitized_code_tab('||i||')=' || l_securitized_code_tab(i));
9857 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_securitization_type_tab('||i||')=' || l_securitization_type_tab(i));
9858 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));
9859 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));
9860 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));
9861 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));
9862 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));
9863 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));
9864 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));
9865 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));
9866 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tot_cl_limit_tab('||i||')=' || l_tot_cl_limit_tab(i));
9867 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));
9868 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_crs_id_tab('||i||')=' || l_crs_id_tab(i));
9869 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_template_type_code_tab('||i||')=' || l_template_type_code_tab(i));
9870 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tradein_description_tab('||i||')=' || l_tradein_description_tab(i));
9871 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_funding_expected_tab('||i||')=' || l_date_funding_expected_tab(i));
9872 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tradein_amount_tab('||i||')=' || l_tradein_amount_tab(i));
9873 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_tradein_tab('||i||')=' || l_date_tradein_tab(i));
9874 END IF;
9875 END LOOP;
9876 END IF;
9877
9878
9879 RAISE OKC_API.G_EXCEPTION_ERROR;
9880
9881 END; /* insert_okl_k_headers */
9882
9883 PROCEDURE insert_okl_slctd_optns(p_old_id IN okc_k_headers_tl.id%TYPE,
9884 p_new_id IN okc_k_headers_tl.id%TYPE) IS
9885 CURSOR c24(p_id NUMBER) IS
9886 SELECT
9887 id, pov_id, khr_id,
9888 object_version_number, attribute_category, attribute1,
9889 attribute2, attribute3, attribute4,
9890 attribute5, attribute6, attribute7,
9891 attribute8, attribute9, attribute10,
9892 attribute11, attribute12, attribute13,
9893 attribute14, attribute15, created_by,
9894 creation_date, last_updated_by, last_update_date,
9895 last_update_login
9896 FROM okl_slctd_optns
9897 WHERE khr_id = p_id;
9898
9899 l_sid_tab2 l_sid_type;
9900 l_spov_id_tab2 l_spov_id_type;
9901 l_skhr_id_tab2 l_skhr_id_type;
9902 l_sobject_version_number_tab2 l_sobject_version_number_type;
9903 l_sattribute_category_tab2 l_sattribute_category_type;
9904 l_sattribute1_tab2 l_sattribute1_type;
9905 l_sattribute2_tab2 l_sattribute2_type;
9906 l_sattribute3_tab2 l_sattribute3_type;
9907 l_sattribute4_tab2 l_sattribute4_type;
9908 l_sattribute5_tab2 l_sattribute5_type;
9909 l_sattribute6_tab2 l_sattribute6_type;
9910 l_sattribute7_tab2 l_sattribute7_type;
9911 l_sattribute8_tab2 l_sattribute8_type;
9912 l_sattribute9_tab2 l_sattribute9_type;
9913 l_sattribute10_tab2 l_sattribute10_type;
9914 l_sattribute11_tab2 l_sattribute11_type;
9915 l_sattribute12_tab2 l_sattribute12_type;
9916 l_sattribute13_tab2 l_sattribute13_type;
9917 l_sattribute14_tab2 l_sattribute14_type;
9918 l_sattribute15_tab2 l_sattribute15_type;
9919 l_screated_by_tab2 l_screated_by_type;
9920 l_screation_date_tab2 l_screation_date_type;
9921 l_slast_updated_by_tab2 l_slast_updated_by_type;
9922 l_slast_update_date_tab2 l_slast_update_date_type;
9923 l_slast_update_login_tab2 l_slast_update_login_type;
9924
9925 l_quote_chr_id NUMBER;
9926 l_return_status VARCHAR2(30);
9927
9928 BEGIN
9929 IF (G_DEBUG_ENABLED = 'Y') THEN
9930 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
9931 END IF;
9932 OPEN c24(p_old_id);
9933 LOOP
9934 FETCH c24 bulk collect INTO
9935 l_sid_tab2, l_spov_id_tab2, l_skhr_id_tab2,
9936 l_sobject_version_number_tab2, l_sattribute_category_tab2, l_sattribute1_tab2,
9937 l_sattribute2_tab2, l_sattribute3_tab2, l_sattribute4_tab2,
9938 l_sattribute5_tab2, l_sattribute6_tab2, l_sattribute7_tab2,
9939 l_sattribute8_tab2, l_sattribute9_tab2, l_sattribute10_tab2,
9940 l_sattribute11_tab2, l_sattribute12_tab2, l_sattribute13_tab2,
9941 l_sattribute14_tab2, l_sattribute15_tab2, l_screated_by_tab2,
9942 l_screation_date_tab2, l_slast_updated_by_tab2, l_slast_update_date_tab2,
9943 l_slast_update_login_tab2
9944 limit G_BULK_SIZE;
9945 EXIT WHEN l_sid_tab2.COUNT = 0;
9946 FOR i IN l_sid_tab2.first..l_sid_tab2.last
9947 LOOP
9948 l_sid_tab(l_slctd_optns_counter) := l_sid_tab2(i);
9949 -- Change id
9950 l_sid_tab(l_slctd_optns_counter) := okc_p_util.raw_to_number(sys_guid());
9951
9952 l_spov_id_tab(l_slctd_optns_counter) := l_spov_id_tab2(i);
9953 l_skhr_id_tab(l_slctd_optns_counter) := l_skhr_id_tab2(i);
9954 -- Change khr_id
9955 l_skhr_id_tab(l_slctd_optns_counter) := p_new_id;
9956
9957 l_sobject_version_number_tab(l_slctd_optns_counter) := l_sobject_version_number_tab2(i);
9958 l_sattribute_category_tab(l_slctd_optns_counter) := l_sattribute_category_tab2(i);
9959 l_sattribute1_tab(l_slctd_optns_counter) := l_sattribute1_tab2(i);
9960 l_sattribute2_tab(l_slctd_optns_counter) := l_sattribute2_tab2(i);
9961 l_sattribute3_tab(l_slctd_optns_counter) := l_sattribute3_tab2(i);
9962 l_sattribute4_tab(l_slctd_optns_counter) := l_sattribute4_tab2(i);
9963 l_sattribute5_tab(l_slctd_optns_counter) := l_sattribute5_tab2(i);
9964 l_sattribute6_tab(l_slctd_optns_counter) := l_sattribute6_tab2(i);
9965 l_sattribute7_tab(l_slctd_optns_counter) := l_sattribute7_tab2(i);
9966 l_sattribute8_tab(l_slctd_optns_counter) := l_sattribute8_tab2(i);
9967 l_sattribute9_tab(l_slctd_optns_counter) := l_sattribute9_tab2(i);
9968 l_sattribute10_tab(l_slctd_optns_counter) := l_sattribute10_tab2(i);
9969 l_sattribute11_tab(l_slctd_optns_counter) := l_sattribute11_tab2(i);
9970 l_sattribute12_tab(l_slctd_optns_counter) := l_sattribute12_tab2(i);
9971 l_sattribute13_tab(l_slctd_optns_counter) := l_sattribute13_tab2(i);
9972 l_sattribute14_tab(l_slctd_optns_counter) := l_sattribute14_tab2(i);
9973 l_sattribute15_tab(l_slctd_optns_counter) := l_sattribute15_tab2(i);
9974 l_screated_by_tab(l_slctd_optns_counter) := l_screated_by_tab2(i);
9975 l_screation_date_tab(l_slctd_optns_counter) := l_screation_date_tab2(i);
9976 l_slast_updated_by_tab(l_slctd_optns_counter) := l_slast_updated_by_tab2(i);
9977 l_slast_update_date_tab(l_slctd_optns_counter) := l_slast_update_date_tab2(i);
9978 l_slast_update_login_tab(l_slctd_optns_counter) := l_slast_update_login_tab2(i);
9979
9980 l_slctd_optns_counter := l_slctd_optns_counter + 1;
9981
9982 END LOOP;
9983 END LOOP;
9984 CLOSE c24;
9985
9986 IF (l_slctd_optns_counter > 1) THEN
9987 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
9988 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);
9989 END IF;
9990 forall i IN l_sid_tab.first..l_sid_tab.last
9991 INSERT INTO okl_slctd_optns (
9992 id, pov_id, khr_id,
9993 object_version_number, attribute_category, attribute1,
9994 attribute2, attribute3, attribute4,
9995 attribute5, attribute6, attribute7,
9996 attribute8, attribute9, attribute10,
9997 attribute11, attribute12, attribute13,
9998 attribute14, attribute15, created_by,
9999 creation_date, last_updated_by, last_update_date,
10000 last_update_login
10001 ) VALUES (
10002 l_sid_tab(i), l_spov_id_tab(i), l_skhr_id_tab(i),
10003 l_sobject_version_number_tab(i), l_sattribute_category_tab(i), l_sattribute1_tab(i),
10004 l_sattribute2_tab(i), l_sattribute3_tab(i), l_sattribute4_tab(i),
10005 l_sattribute5_tab(i), l_sattribute6_tab(i), l_sattribute7_tab(i),
10006 l_sattribute8_tab(i), l_sattribute9_tab(i), l_sattribute10_tab(i),
10007 l_sattribute11_tab(i), l_sattribute12_tab(i), l_sattribute13_tab(i),
10008 l_sattribute14_tab(i), l_sattribute15_tab(i), l_created_by,
10009 SYSDATE, l_last_updated_by, SYSDATE,
10010 l_last_update_login
10011 );
10012 --Bug# 5591688 - commenting as package has been stubbed in R12
10013 /*
10014 okl_quote_plans_pvt.modify_quote_structure(
10015 p_api_version => p_api_version,
10016 p_init_msg_list => p_init_msg_list,
10017 p_transaction_control => OKL_API.G_FALSE,
10018 p_chr_id => p_new_id,
10019 p_modify_reason_code => 'COPY_QUOTE',
10020 x_chr_id => l_quote_chr_id,
10021 x_return_status => l_return_status,
10022 x_msg_count => x_msg_count,
10023 x_msg_data => x_msg_data
10024 );
10025 IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
10026 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10027 ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
10028 RAISE OKL_API.G_EXCEPTION_ERROR;
10029 END IF;
10030 */
10031
10032 END IF;
10033 EXCEPTION WHEN OTHERS THEN
10034
10035 x_return_status := OKL_API.G_RET_STS_ERROR;
10036 /*OKL_API.set_message(p_app_name => 'OKL',
10037 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
10038 p_token1 => 'ASSET_NUMBER',
10039 p_token1_value => 'insert_okl_slctd_optns');*/
10040 /* DEBUG */
10041 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10042 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
10043 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_slctd_optns:l_sid_tab=' || l_sid_tab.COUNT || ' ...');
10044 END IF;
10045 IF (l_sid_tab.COUNT > 0) THEN
10046 FOR i IN l_sid_tab.first..l_sid_tab.last
10047 LOOP
10048 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10049 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sid_tab('||i||')=' || l_sid_tab(i));
10050 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_spov_id_tab('||i||')=' || l_spov_id_tab(i));
10051 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_skhr_id_tab('||i||')=' || l_skhr_id_tab(i));
10052 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sobject_version_number_tab('||i||')=' || l_sobject_version_number_tab(i));
10053 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute_category_tab('||i||')=' || l_sattribute_category_tab(i));
10054 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute1_tab('||i||')=' || l_sattribute1_tab(i));
10055 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute2_tab('||i||')=' || l_sattribute2_tab(i));
10056 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute3_tab('||i||')=' || l_sattribute3_tab(i));
10057 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute4_tab('||i||')=' || l_sattribute4_tab(i));
10058 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute5_tab('||i||')=' || l_sattribute5_tab(i));
10059 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute6_tab('||i||')=' || l_sattribute6_tab(i));
10060 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute7_tab('||i||')=' || l_sattribute7_tab(i));
10061 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute8_tab('||i||')=' || l_sattribute8_tab(i));
10062 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute9_tab('||i||')=' || l_sattribute9_tab(i));
10063 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute10_tab('||i||')=' || l_sattribute10_tab(i));
10064 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute11_tab('||i||')=' || l_sattribute11_tab(i));
10065 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute12_tab('||i||')=' || l_sattribute12_tab(i));
10066 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute13_tab('||i||')=' || l_sattribute13_tab(i));
10067 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute14_tab('||i||')=' || l_sattribute14_tab(i));
10068 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sattribute15_tab('||i||')=' || l_sattribute15_tab(i));
10069 END IF;
10070 END LOOP;
10071 END IF;
10072
10073 RAISE OKC_API.G_EXCEPTION_ERROR;
10074
10075 END; /* insert_okl_slctd_optns */
10076
10077 FUNCTION find_osid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
10078 hi NUMBER;
10079 lo NUMBER;
10080 m NUMBER;
10081 BEGIN
10082 lo := 1;
10083 hi := l_okl_k_lines_counter - 1;
10084 WHILE (lo <= hi) LOOP
10085 m := FLOOR((hi + lo)/2);
10086 IF (l_osid_mapping_tab(m).id = p_id) THEN
10087 RETURN l_osid_mapping_tab(m).subsidy_id;
10088 ELSIF (l_osid_mapping_tab(m).id > p_id) THEN
10089 hi := m - 1;
10090 ELSE
10091 lo := m + 1;
10092 END IF;
10093 END LOOP;
10094 RETURN -1;
10095 END; /* find_osid_mapping_id */
10096
10097 PROCEDURE sort_osid_mapping_tab IS
10098 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
10099 --a numtabtype;
10100 l_stack numtabtype;
10101 l_stack_index NUMBER := 0;
10102 N NUMBER;
10103 R NUMBER;
10104 L NUMBER;
10105 P NUMBER;
10106 W NUMBER;
10107 W2 NUMBER;
10108 X NUMBER;
10109 I NUMBER;
10110 J NUMBER;
10111 BEGIN
10112 IF (G_DEBUG_ENABLED = 'Y') THEN
10113 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
10114 END IF;
10115 NULL;
10116
10117 N := l_okl_k_lines_counter - 1;
10118 IF (N < 2) THEN
10119 RETURN;
10120 END IF;
10121 l_stack_index := l_stack_index + 1;
10122 l_stack(l_stack_index) := 1;
10123 l_stack_index := l_stack_index + 1;
10124 l_stack(l_stack_index) := N;
10125
10126 --dbms_output.put_line('l_stack_index=' || l_stack_index);
10127 WHILE l_stack_index > 0
10128 LOOP
10129 R := l_stack(l_stack_index);
10130 l_stack_index := l_stack_index - 1;
10131 L := l_stack(l_stack_index);
10132 l_stack_index := l_stack_index - 1;
10133 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
10134 WHILE 1=1
10135 LOOP -- loop until L >= R
10136 I := L;
10137 J := R;
10138 P := FLOOR((L+R)/2);
10139 --if (a(L) > a(P)) then
10140 IF (l_osid_mapping_tab(L).id > l_osid_mapping_tab(P).id)
10141 THEN
10142 W := l_osid_mapping_tab(L).id;
10143 W2 := l_osid_mapping_tab(L).subsidy_id;
10144 l_osid_mapping_tab(L).id :=l_osid_mapping_tab(P).id;
10145 l_osid_mapping_tab(L).subsidy_id :=l_osid_mapping_tab(P).subsidy_id;
10146 l_osid_mapping_tab(P).id := W;
10147 l_osid_mapping_tab(P).subsidy_id := W2;
10148 END IF;
10149 --if (a(L) > a(R)) then
10150 IF (l_osid_mapping_tab(L).id > l_osid_mapping_tab(R).id)
10151 THEN
10152 W := l_osid_mapping_tab(L).id;
10153 W2 := l_osid_mapping_tab(L).subsidy_id;
10154 l_osid_mapping_tab(L).id :=l_osid_mapping_tab(R).id;
10155 l_osid_mapping_tab(L).subsidy_id :=l_osid_mapping_tab(R).subsidy_id;
10156 l_osid_mapping_tab(R).id := W;
10157 l_osid_mapping_tab(R).subsidy_id := W2;
10158 END IF;
10159 --if (a(P) > a(R)) then
10160 IF (l_osid_mapping_tab(P).id > l_osid_mapping_tab(R).id)
10161 THEN
10162 W := l_osid_mapping_tab(P).id;
10163 W2 := l_osid_mapping_tab(P).subsidy_id;
10164 l_osid_mapping_tab(P).id :=l_osid_mapping_tab(R).id;
10165 l_osid_mapping_tab(P).subsidy_id :=l_osid_mapping_tab(R).subsidy_id;
10166 l_osid_mapping_tab(R).id := W;
10167 l_osid_mapping_tab(R).subsidy_id := W2;
10168 END IF;
10169 --X := a(P);
10170 X := l_osid_mapping_tab(P).id;
10171 WHILE 1=1
10172 LOOP -- until I > J
10173 --while (a(I) < X) loop
10174 WHILE (l_osid_mapping_tab(I).id < X) LOOP
10175 I := I + 1;
10176 END LOOP;
10177 WHILE (X < l_osid_mapping_tab(J).id) LOOP
10178 J := J - 1;
10179 END LOOP;
10180 IF (I <= J) THEN
10181 W := l_osid_mapping_tab(I).id;
10182 W2 := l_osid_mapping_tab(I).subsidy_id;
10183 l_osid_mapping_tab(I).id :=l_osid_mapping_tab(J).id;
10184 l_osid_mapping_tab(I).subsidy_id :=l_osid_mapping_tab(J).subsidy_id;
10185 l_osid_mapping_tab(J).id := W;
10186 l_osid_mapping_tab(J).subsidy_id := W2;
10187 I := I + 1;
10188 J := J - 1;
10189 END IF;
10190 EXIT WHEN I > J;
10191 END LOOP;
10192 IF (J - L < R - I) THEN
10193 IF (I < R) THEN
10194 --push(I); push(R);
10195 l_stack_index := l_stack_index + 1;
10196 l_stack(l_stack_index) := I;
10197 l_stack_index := l_stack_index + 1;
10198 l_stack(l_stack_index) := R;
10199 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
10200 END IF;
10201 R := J;
10202 ELSE
10203 IF (L < J) THEN
10204 --push(L); push(J);
10205 l_stack_index := l_stack_index + 1;
10206 l_stack(l_stack_index) := L;
10207 l_stack_index := l_stack_index + 1;
10208 l_stack(l_stack_index) := J;
10209 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
10210 END IF;
10211 L := I;
10212 END IF;
10213
10214 EXIT WHEN (L >= R);
10215 END LOOP;
10216 END LOOP;
10217
10218 EXCEPTION WHEN OTHERS THEN
10219
10220 x_return_status := OKL_API.G_RET_STS_ERROR;
10221 /*OKL_API.set_message(p_app_name => 'OKL',
10222 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
10223 p_token1 => 'ASSET_NUMBER',
10224 p_token1_value => 'sort_osid_mapping_tab');*/
10225 /* DEBUG */
10226 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10227 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
10228 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_osid_mapping_tab:l_osid_mapping_tab N=' || N || ' ...');
10229 END IF;
10230
10231 --print array
10232 FOR i IN 1..N
10233 LOOP
10234 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10235 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);
10236 END IF;
10237 END LOOP;
10238
10239 RAISE OKC_API.G_EXCEPTION_ERROR;
10240
10241 END; /* sort_osid_mapping_tab */
10242
10243 FUNCTION find_okl_k_lines_rec(p_id IN NUMBER) RETURN l_okl_k_lines_rec_type IS
10244 hi NUMBER;
10245 lo NUMBER;
10246 m NUMBER;
10247 l_tmp_rec l_okl_k_lines_rec_type;
10248 BEGIN
10249 lo := 1;
10250 hi := l_okl_k_lines_rec_counter - 1;
10251 WHILE (lo <= hi) LOOP
10252 m := FLOOR((hi + lo)/2);
10253 IF (l_okl_k_lines_rec(m).id = p_id) THEN
10254 RETURN l_okl_k_lines_rec(m);
10255 ELSIF (l_okl_k_lines_rec(m).id > p_id) THEN
10256 hi := m - 1;
10257 ELSE
10258 lo := m + 1;
10259 END IF;
10260 END LOOP;
10261 RETURN l_tmp_rec;
10262 END; /* find_okl_k_lines_rec */
10263
10264 PROCEDURE sort_okl_k_lines_rec IS
10265 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
10266 --a numtabtype;
10267 l_stack numtabtype;
10268 l_stack_index NUMBER := 0;
10269 N NUMBER;
10270 R NUMBER;
10271 L NUMBER;
10272 P NUMBER;
10273 W NUMBER;
10274 W2 NUMBER;
10275 W3 NUMBER;
10276 W4 okc_k_lines_tl.item_description%TYPE;
10277 X NUMBER;
10278 I NUMBER;
10279 J NUMBER;
10280 BEGIN
10281 IF (G_DEBUG_ENABLED = 'Y') THEN
10282 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
10283 END IF;
10284 NULL;
10285
10286 N := l_okl_k_lines_rec_counter - 1;
10287 IF (N < 2) THEN
10288 RETURN;
10289 END IF;
10290 l_stack_index := l_stack_index + 1;
10291 l_stack(l_stack_index) := 1;
10292 l_stack_index := l_stack_index + 1;
10293 l_stack(l_stack_index) := N;
10294
10295 --dbms_output.put_line('l_stack_index=' || l_stack_index);
10296 WHILE l_stack_index > 0
10297 LOOP
10298 R := l_stack(l_stack_index);
10299 l_stack_index := l_stack_index - 1;
10300 L := l_stack(l_stack_index);
10301 l_stack_index := l_stack_index - 1;
10302 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
10303 WHILE 1=1
10304 LOOP -- loop until L >= R
10305 I := L;
10306 J := R;
10307 P := FLOOR((L+R)/2);
10308 --if (a(L) > a(P)) then
10309 IF (l_okl_k_lines_rec(L).id > l_okl_k_lines_rec(P).id)
10310 THEN
10311 W := l_okl_k_lines_rec(L).id;
10312 W2 := l_okl_k_lines_rec(L).oec;
10313 W3 := l_okl_k_lines_rec(L).year_built;
10314 W4 := l_okl_k_lines_rec(L).item_description;
10315 l_okl_k_lines_rec(L).id :=l_okl_k_lines_rec(P).id;
10316 l_okl_k_lines_rec(L).oec :=l_okl_k_lines_rec(P).oec;
10317 l_okl_k_lines_rec(L).year_built :=l_okl_k_lines_rec(P).year_built;
10318 l_okl_k_lines_rec(L).item_description :=l_okl_k_lines_rec(P).item_description;
10319 l_okl_k_lines_rec(P).id := W;
10320 l_okl_k_lines_rec(P).oec := W2;
10321 l_okl_k_lines_rec(P).year_built := W3;
10322 l_okl_k_lines_rec(P).item_description := W4;
10323 END IF;
10324 --if (a(L) > a(R)) then
10325 IF (l_okl_k_lines_rec(L).id > l_okl_k_lines_rec(R).id)
10326 THEN
10327 W := l_okl_k_lines_rec(L).id;
10328 W2 := l_okl_k_lines_rec(L).oec;
10329 W3 := l_okl_k_lines_rec(L).year_built;
10330 W4 := l_okl_k_lines_rec(L).item_description;
10331 l_okl_k_lines_rec(L).id :=l_okl_k_lines_rec(R).id;
10332 l_okl_k_lines_rec(L).oec :=l_okl_k_lines_rec(R).oec;
10333 l_okl_k_lines_rec(L).year_built :=l_okl_k_lines_rec(R).year_built;
10334 l_okl_k_lines_rec(L).item_description :=l_okl_k_lines_rec(R).item_description;
10335 l_okl_k_lines_rec(R).id := W;
10336 l_okl_k_lines_rec(R).oec := W2;
10337 l_okl_k_lines_rec(R).year_built := W3;
10338 l_okl_k_lines_rec(R).item_description := W4;
10339 END IF;
10340 --if (a(P) > a(R)) then
10341 IF (l_okl_k_lines_rec(P).id > l_okl_k_lines_rec(R).id)
10342 THEN
10343 W := l_okl_k_lines_rec(P).id;
10344 W2 := l_okl_k_lines_rec(P).oec;
10345 W3 := l_okl_k_lines_rec(P).year_built;
10346 W4 := l_okl_k_lines_rec(P).item_description;
10347 l_okl_k_lines_rec(P).id :=l_okl_k_lines_rec(R).id;
10348 l_okl_k_lines_rec(P).oec :=l_okl_k_lines_rec(R).oec;
10349 l_okl_k_lines_rec(P).year_built :=l_okl_k_lines_rec(R).year_built;
10350 l_okl_k_lines_rec(P).item_description :=l_okl_k_lines_rec(R).item_description;
10351 l_okl_k_lines_rec(R).id := W;
10352 l_okl_k_lines_rec(R).oec := W2;
10353 l_okl_k_lines_rec(R).year_built := W3;
10354 l_okl_k_lines_rec(R).item_description := W4;
10355 END IF;
10356 --X := a(P);
10357 X := l_okl_k_lines_rec(P).id;
10358 WHILE 1=1
10359 LOOP -- until I > J
10360 --while (a(I) < X) loop
10361 WHILE (l_okl_k_lines_rec(I).id < X) LOOP
10362 I := I + 1;
10363 END LOOP;
10364 WHILE (X < l_okl_k_lines_rec(J).id) LOOP
10365 J := J - 1;
10366 END LOOP;
10367 IF (I <= J) THEN
10368 W := l_okl_k_lines_rec(I).id;
10369 W2 := l_okl_k_lines_rec(I).oec;
10370 W3 := l_okl_k_lines_rec(I).year_built;
10371 W4 := l_okl_k_lines_rec(I).item_description;
10372 l_okl_k_lines_rec(I).id :=l_okl_k_lines_rec(J).id;
10373 l_okl_k_lines_rec(I).oec :=l_okl_k_lines_rec(J).oec;
10374 l_okl_k_lines_rec(I).year_built :=l_okl_k_lines_rec(J).year_built;
10375 l_okl_k_lines_rec(I).item_description :=l_okl_k_lines_rec(J).item_description;
10376 l_okl_k_lines_rec(J).id := W;
10377 l_okl_k_lines_rec(J).oec := W2;
10378 l_okl_k_lines_rec(J).year_built := W3;
10379 l_okl_k_lines_rec(J).item_description := W4;
10380 I := I + 1;
10381 J := J - 1;
10382 END IF;
10383 EXIT WHEN I > J;
10384 END LOOP;
10385 IF (J - L < R - I) THEN
10386 IF (I < R) THEN
10387 --push(I); push(R);
10388 l_stack_index := l_stack_index + 1;
10389 l_stack(l_stack_index) := I;
10390 l_stack_index := l_stack_index + 1;
10391 l_stack(l_stack_index) := R;
10392 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
10393 END IF;
10394 R := J;
10395 ELSE
10396 IF (L < J) THEN
10397 --push(L); push(J);
10398 l_stack_index := l_stack_index + 1;
10399 l_stack(l_stack_index) := L;
10400 l_stack_index := l_stack_index + 1;
10401 l_stack(l_stack_index) := J;
10402 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
10403 END IF;
10404 L := I;
10405 END IF;
10406
10407 EXIT WHEN (L >= R);
10408 END LOOP;
10409 END LOOP;
10410
10411 EXCEPTION WHEN OTHERS THEN
10412
10413 x_return_status := OKL_API.G_RET_STS_ERROR;
10414 /*OKL_API.set_message(p_app_name => 'OKL',
10415 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
10416 p_token1 => 'ASSET_NUMBER',
10417 p_token1_value => 'sort_okl_k_lines_rec');*/
10418 /* DEBUG */
10419 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10420 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
10421 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_okl_k_lines_rec:l_okl_k_lines_rec N=' || N || ' ...');
10422 END IF;
10423
10424 --print array
10425 FOR i IN 1..N
10426 LOOP
10427 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10428 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 );
10429 END IF;
10430 END LOOP;
10431
10432 RAISE OKC_API.G_EXCEPTION_ERROR;
10433
10434 END; /* sort_okl_k_lines_rec */
10435
10436
10437 PROCEDURE insert_okl_k_lines IS
10438 CURSOR c8(p_id NUMBER) IS
10439 SELECT
10440 a.id, a.kle_id, a.sty_id,
10441 a.object_version_number, a.lao_amount, a.fee_charge,
10442 a.title_date, a.date_residual_last_review, a.date_last_reamortisation,
10443 a.termination_purchase_amount, a.date_last_cleanup, a.remarketed_amount,
10444 a.date_remarketed, a.remarket_margin, a.repurchased_amount,
10445 a.date_repurchased, a.gain_loss, a.floor_amount,
10446 a.previous_contract, a.tracked_residual, a.date_title_received,
10447 a.estimated_oec, a.residual_percentage, a.capital_reduction,
10448 a.vendor_advance_paid, a.tradein_amount, a.delivered_date,
10449 a.year_of_manufacture, a.initial_direct_cost, a.occupancy,
10450 a.date_last_inspection, a.date_next_inspection_due, a.weighted_average_life,
10451 a.bond_equivalent_yield, a.refinance_amount, a.year_built,
10452 a.coverage_ratio, a.gross_square_footage, a.net_rentable,
10453 a.date_letter_acceptance, a.date_commitment_expiration, a.date_appraisal,
10454 a.appraisal_value, a.residual_value, a.percent,
10455 a.coverage, a.lrv_amount, a.amount,
10456 a.lrs_percent, a.evergreen_percent, a.percent_stake,
10457 a.amount_stake, a.date_sold, a.sty_id_for,
10458 a.attribute_category, a.attribute1, a.attribute2,
10459 a.attribute3, a.attribute4, a.attribute5,
10460 a.attribute6, a.attribute7, a.attribute8,
10461 a.attribute9, a.attribute10, a.attribute11,
10462 a.attribute12, a.attribute13, a.attribute14,
10463 a.attribute15, a.created_by, a.creation_date,
10464 a.last_updated_by, a.last_update_date, a.last_update_login,
10465 a.nty_code, a.fcg_code, a.prc_code,
10466 a.re_lease_yn, a.prescribed_asset_yn, a.credit_tenant_yn,
10467 a.secured_deal_yn, a.clg_id, a.date_funding,
10468 a.date_funding_required, a.date_accepted, a.date_delivery_expected,
10469 a.oec, a.capital_amount, a.residual_grnty_amount,
10470 a.residual_code, a.rvi_premium, a.credit_nature,
10471 a.capitalized_interest, a.capital_reduction_percent, a.date_pay_investor_start,
10472 a.pay_investor_frequency, a.pay_investor_event, a.pay_investor_remittance_days,
10473 a.fee_type, a.subsidy_id, a.subsidy_override_amount,
10474 a.pre_tax_yield, a.after_tax_yield, a.implicit_interest_rate,
10475 a.implicit_non_idc_interest_rate, a.pre_tax_irr, a.after_tax_irr,
10476 a.sub_pre_tax_yield, a.sub_after_tax_yield, a.sub_impl_interest_rate,
10477 a.sub_impl_non_idc_int_rate, a.sub_pre_tax_irr, a.sub_after_tax_irr,
10478 a.item_insurance_category, a.qte_id, a.funding_date,
10479 a.stream_type_subclass, b.lse_id, c.item_description,
10480 a.fee_purpose_code, a.date_funding_expected, a.manufacturer_name,
10481 a.model_number, a.down_payment_receiver_code, a.capitalize_down_payment_yn
10482 FROM okl_k_lines a,
10483 okc_k_lines_b b,
10484 okc_k_lines_tl c
10485 WHERE b.id = a.id
10486 AND b.dnz_chr_id = p_id
10487 AND b.id = c.id
10488 AND c.LANGUAGE = USERENV('LANG');
10489
10490 TYPE l_id_type IS TABLE OF okl_k_lines.id%TYPE INDEX BY BINARY_INTEGER;
10491 TYPE l_kle_id_type IS TABLE OF okl_k_lines.kle_id%TYPE INDEX BY BINARY_INTEGER;
10492 TYPE l_sty_id_type IS TABLE OF okl_k_lines.sty_id%TYPE INDEX BY BINARY_INTEGER;
10493 TYPE l_object_version_number_type IS TABLE OF okl_k_lines.object_version_number%TYPE INDEX BY BINARY_INTEGER;
10494 TYPE l_lao_amount_type IS TABLE OF okl_k_lines.lao_amount%TYPE INDEX BY BINARY_INTEGER;
10495 TYPE l_fee_charge_type IS TABLE OF okl_k_lines.fee_charge%TYPE INDEX BY BINARY_INTEGER;
10496 TYPE l_title_date_type IS TABLE OF okl_k_lines.title_date%TYPE INDEX BY BINARY_INTEGER;
10497 TYPE l_date_residual_last_revi_type IS TABLE OF okl_k_lines.date_residual_last_review%TYPE INDEX BY BINARY_INTEGER;
10498 TYPE l_date_last_reamortisatio_type IS TABLE OF okl_k_lines.date_last_reamortisation%TYPE INDEX BY BINARY_INTEGER;
10499 TYPE l_termination_purchase_am_type IS TABLE OF okl_k_lines.termination_purchase_amount%TYPE INDEX BY BINARY_INTEGER;
10500 TYPE l_date_last_cleanup_type IS TABLE OF okl_k_lines.date_last_cleanup%TYPE INDEX BY BINARY_INTEGER;
10501 TYPE l_remarketed_amount_type IS TABLE OF okl_k_lines.remarketed_amount%TYPE INDEX BY BINARY_INTEGER;
10502 TYPE l_date_remarketed_type IS TABLE OF okl_k_lines.date_remarketed%TYPE INDEX BY BINARY_INTEGER;
10503 TYPE l_remarket_margin_type IS TABLE OF okl_k_lines.remarket_margin%TYPE INDEX BY BINARY_INTEGER;
10504 TYPE l_repurchased_amount_type IS TABLE OF okl_k_lines.repurchased_amount%TYPE INDEX BY BINARY_INTEGER;
10505 TYPE l_date_repurchased_type IS TABLE OF okl_k_lines.date_repurchased%TYPE INDEX BY BINARY_INTEGER;
10506 TYPE l_gain_loss_type IS TABLE OF okl_k_lines.gain_loss%TYPE INDEX BY BINARY_INTEGER;
10507 TYPE l_floor_amount_type IS TABLE OF okl_k_lines.floor_amount%TYPE INDEX BY BINARY_INTEGER;
10508 TYPE l_previous_contract_type IS TABLE OF okl_k_lines.previous_contract%TYPE INDEX BY BINARY_INTEGER;
10509 TYPE l_tracked_residual_type IS TABLE OF okl_k_lines.tracked_residual%TYPE INDEX BY BINARY_INTEGER;
10510 TYPE l_date_title_received_type IS TABLE OF okl_k_lines.date_title_received%TYPE INDEX BY BINARY_INTEGER;
10511 TYPE l_estimated_oec_type IS TABLE OF okl_k_lines.estimated_oec%TYPE INDEX BY BINARY_INTEGER;
10512 TYPE l_residual_percentage_type IS TABLE OF okl_k_lines.residual_percentage%TYPE INDEX BY BINARY_INTEGER;
10513 TYPE l_capital_reduction_type IS TABLE OF okl_k_lines.capital_reduction%TYPE INDEX BY BINARY_INTEGER;
10514 TYPE l_vendor_advance_paid_type IS TABLE OF okl_k_lines.vendor_advance_paid%TYPE INDEX BY BINARY_INTEGER;
10515 TYPE l_tradein_amount_type IS TABLE OF okl_k_lines.tradein_amount%TYPE INDEX BY BINARY_INTEGER;
10516 TYPE l_delivered_date_type IS TABLE OF okl_k_lines.delivered_date%TYPE INDEX BY BINARY_INTEGER;
10517 TYPE l_year_of_manufacture_type IS TABLE OF okl_k_lines.year_of_manufacture%TYPE INDEX BY BINARY_INTEGER;
10518 TYPE l_initial_direct_cost_type IS TABLE OF okl_k_lines.initial_direct_cost%TYPE INDEX BY BINARY_INTEGER;
10519 TYPE l_occupancy_type IS TABLE OF okl_k_lines.occupancy%TYPE INDEX BY BINARY_INTEGER;
10520 TYPE l_date_last_inspection_type IS TABLE OF okl_k_lines.date_last_inspection%TYPE INDEX BY BINARY_INTEGER;
10521 TYPE l_date_next_inspection_du_type IS TABLE OF okl_k_lines.date_next_inspection_due%TYPE INDEX BY BINARY_INTEGER;
10522 TYPE l_weighted_average_life_type IS TABLE OF okl_k_lines.weighted_average_life%TYPE INDEX BY BINARY_INTEGER;
10523 TYPE l_bond_equivalent_yield_type IS TABLE OF okl_k_lines.bond_equivalent_yield%TYPE INDEX BY BINARY_INTEGER;
10524 TYPE l_refinance_amount_type IS TABLE OF okl_k_lines.refinance_amount%TYPE INDEX BY BINARY_INTEGER;
10525 TYPE l_year_built_type IS TABLE OF okl_k_lines.year_built%TYPE INDEX BY BINARY_INTEGER;
10526 TYPE l_coverage_ratio_type IS TABLE OF okl_k_lines.coverage_ratio%TYPE INDEX BY BINARY_INTEGER;
10527 TYPE l_gross_square_footage_type IS TABLE OF okl_k_lines.gross_square_footage%TYPE INDEX BY BINARY_INTEGER;
10528 TYPE l_net_rentable_type IS TABLE OF okl_k_lines.net_rentable%TYPE INDEX BY BINARY_INTEGER;
10529 TYPE l_date_letter_acceptance_type IS TABLE OF okl_k_lines.date_letter_acceptance%TYPE INDEX BY BINARY_INTEGER;
10530 TYPE l_date_commitment_expirat_type IS TABLE OF okl_k_lines.date_commitment_expiration%TYPE INDEX BY BINARY_INTEGER;
10531 TYPE l_date_appraisal_type IS TABLE OF okl_k_lines.date_appraisal%TYPE INDEX BY BINARY_INTEGER;
10532 TYPE l_appraisal_value_type IS TABLE OF okl_k_lines.appraisal_value%TYPE INDEX BY BINARY_INTEGER;
10533 TYPE l_residual_value_type IS TABLE OF okl_k_lines.residual_value%TYPE INDEX BY BINARY_INTEGER;
10534 TYPE l_percent_type IS TABLE OF okl_k_lines.percent%TYPE INDEX BY BINARY_INTEGER;
10535 TYPE l_coverage_type IS TABLE OF okl_k_lines.coverage%TYPE INDEX BY BINARY_INTEGER;
10536 TYPE l_lrv_amount_type IS TABLE OF okl_k_lines.lrv_amount%TYPE INDEX BY BINARY_INTEGER;
10537 TYPE l_amount_type IS TABLE OF okl_k_lines.amount%TYPE INDEX BY BINARY_INTEGER;
10538 TYPE l_lrs_percent_type IS TABLE OF okl_k_lines.lrs_percent%TYPE INDEX BY BINARY_INTEGER;
10539 TYPE l_evergreen_percent_type IS TABLE OF okl_k_lines.evergreen_percent%TYPE INDEX BY BINARY_INTEGER;
10540 TYPE l_percent_stake_type IS TABLE OF okl_k_lines.percent_stake%TYPE INDEX BY BINARY_INTEGER;
10541 TYPE l_amount_stake_type IS TABLE OF okl_k_lines.amount_stake%TYPE INDEX BY BINARY_INTEGER;
10542 TYPE l_date_sold_type IS TABLE OF okl_k_lines.date_sold%TYPE INDEX BY BINARY_INTEGER;
10543 TYPE l_sty_id_for_type IS TABLE OF okl_k_lines.sty_id_for%TYPE INDEX BY BINARY_INTEGER;
10544 TYPE l_attribute_category_type IS TABLE OF okl_k_lines.attribute_category%TYPE INDEX BY BINARY_INTEGER;
10545 TYPE l_attribute1_type IS TABLE OF okl_k_lines.attribute1%TYPE INDEX BY BINARY_INTEGER;
10546 TYPE l_attribute2_type IS TABLE OF okl_k_lines.attribute2%TYPE INDEX BY BINARY_INTEGER;
10547 TYPE l_attribute3_type IS TABLE OF okl_k_lines.attribute3%TYPE INDEX BY BINARY_INTEGER;
10548 TYPE l_attribute4_type IS TABLE OF okl_k_lines.attribute4%TYPE INDEX BY BINARY_INTEGER;
10549 TYPE l_attribute5_type IS TABLE OF okl_k_lines.attribute5%TYPE INDEX BY BINARY_INTEGER;
10550 TYPE l_attribute6_type IS TABLE OF okl_k_lines.attribute6%TYPE INDEX BY BINARY_INTEGER;
10551 TYPE l_attribute7_type IS TABLE OF okl_k_lines.attribute7%TYPE INDEX BY BINARY_INTEGER;
10552 TYPE l_attribute8_type IS TABLE OF okl_k_lines.attribute8%TYPE INDEX BY BINARY_INTEGER;
10553 TYPE l_attribute9_type IS TABLE OF okl_k_lines.attribute9%TYPE INDEX BY BINARY_INTEGER;
10554 TYPE l_attribute10_type IS TABLE OF okl_k_lines.attribute10%TYPE INDEX BY BINARY_INTEGER;
10555 TYPE l_attribute11_type IS TABLE OF okl_k_lines.attribute11%TYPE INDEX BY BINARY_INTEGER;
10556 TYPE l_attribute12_type IS TABLE OF okl_k_lines.attribute12%TYPE INDEX BY BINARY_INTEGER;
10557 TYPE l_attribute13_type IS TABLE OF okl_k_lines.attribute13%TYPE INDEX BY BINARY_INTEGER;
10558 TYPE l_attribute14_type IS TABLE OF okl_k_lines.attribute14%TYPE INDEX BY BINARY_INTEGER;
10559 TYPE l_attribute15_type IS TABLE OF okl_k_lines.attribute15%TYPE INDEX BY BINARY_INTEGER;
10560 TYPE l_created_by_type IS TABLE OF okl_k_lines.created_by%TYPE INDEX BY BINARY_INTEGER;
10561 TYPE l_creation_date_type IS TABLE OF okl_k_lines.creation_date%TYPE INDEX BY BINARY_INTEGER;
10562 TYPE l_last_updated_by_type IS TABLE OF okl_k_lines.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
10563 TYPE l_last_update_date_type IS TABLE OF okl_k_lines.last_update_date%TYPE INDEX BY BINARY_INTEGER;
10564 TYPE l_last_update_login_type IS TABLE OF okl_k_lines.last_update_login%TYPE INDEX BY BINARY_INTEGER;
10565 TYPE l_nty_code_type IS TABLE OF okl_k_lines.nty_code%TYPE INDEX BY BINARY_INTEGER;
10566 TYPE l_fcg_code_type IS TABLE OF okl_k_lines.fcg_code%TYPE INDEX BY BINARY_INTEGER;
10567 TYPE l_prc_code_type IS TABLE OF okl_k_lines.prc_code%TYPE INDEX BY BINARY_INTEGER;
10568 TYPE l_re_lease_yn_type IS TABLE OF okl_k_lines.re_lease_yn%TYPE INDEX BY BINARY_INTEGER;
10569 TYPE l_prescribed_asset_yn_type IS TABLE OF okl_k_lines.prescribed_asset_yn%TYPE INDEX BY BINARY_INTEGER;
10570 TYPE l_credit_tenant_yn_type IS TABLE OF okl_k_lines.credit_tenant_yn%TYPE INDEX BY BINARY_INTEGER;
10571 TYPE l_secured_deal_yn_type IS TABLE OF okl_k_lines.secured_deal_yn%TYPE INDEX BY BINARY_INTEGER;
10572 TYPE l_clg_id_type IS TABLE OF okl_k_lines.clg_id%TYPE INDEX BY BINARY_INTEGER;
10573 TYPE l_date_funding_type IS TABLE OF okl_k_lines.date_funding%TYPE INDEX BY BINARY_INTEGER;
10574 TYPE l_date_funding_required_type IS TABLE OF okl_k_lines.date_funding_required%TYPE INDEX BY BINARY_INTEGER;
10575 TYPE l_date_accepted_type IS TABLE OF okl_k_lines.date_accepted%TYPE INDEX BY BINARY_INTEGER;
10576 TYPE l_date_delivery_expected_type IS TABLE OF okl_k_lines.date_delivery_expected%TYPE INDEX BY BINARY_INTEGER;
10577 TYPE l_oec_type IS TABLE OF okl_k_lines.oec%TYPE INDEX BY BINARY_INTEGER;
10578 TYPE l_capital_amount_type IS TABLE OF okl_k_lines.capital_amount%TYPE INDEX BY BINARY_INTEGER;
10579 TYPE l_residual_grnty_amount_type IS TABLE OF okl_k_lines.residual_grnty_amount%TYPE INDEX BY BINARY_INTEGER;
10580 TYPE l_residual_code_type IS TABLE OF okl_k_lines.residual_code%TYPE INDEX BY BINARY_INTEGER;
10581 TYPE l_rvi_premium_type IS TABLE OF okl_k_lines.rvi_premium%TYPE INDEX BY BINARY_INTEGER;
10582 TYPE l_credit_nature_type IS TABLE OF okl_k_lines.credit_nature%TYPE INDEX BY BINARY_INTEGER;
10583 TYPE l_capitalized_interest_type IS TABLE OF okl_k_lines.capitalized_interest%TYPE INDEX BY BINARY_INTEGER;
10584 TYPE l_capital_reduction_perce_type IS TABLE OF okl_k_lines.capital_reduction_percent%TYPE INDEX BY BINARY_INTEGER;
10585 TYPE l_date_pay_investor_start_type IS TABLE OF okl_k_lines.date_pay_investor_start%TYPE INDEX BY BINARY_INTEGER;
10586 TYPE l_pay_investor_frequency_type IS TABLE OF okl_k_lines.pay_investor_frequency%TYPE INDEX BY BINARY_INTEGER;
10587 TYPE l_pay_investor_event_type IS TABLE OF okl_k_lines.pay_investor_event%TYPE INDEX BY BINARY_INTEGER;
10588 TYPE l_pay_investor_remit_days_type IS TABLE OF okl_k_lines.pay_investor_remittance_days%TYPE INDEX BY BINARY_INTEGER;
10589 TYPE l_fee_type_type IS TABLE OF okl_k_lines.fee_type%TYPE INDEX BY BINARY_INTEGER;
10590 TYPE l_subsidy_id_type IS TABLE OF okl_k_lines.subsidy_id%TYPE INDEX BY BINARY_INTEGER;
10591 TYPE l_subsidy_override_amount_type IS TABLE OF okl_k_lines.subsidy_override_amount%TYPE INDEX BY BINARY_INTEGER;
10592 TYPE l_pre_tax_yield_type IS TABLE OF okl_k_lines.pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
10593 TYPE l_after_tax_yield_type IS TABLE OF okl_k_lines.after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
10594 TYPE l_implicit_interest_rate_type IS TABLE OF okl_k_lines.implicit_interest_rate%TYPE INDEX BY BINARY_INTEGER;
10595 TYPE l_implicit_non_idc_i_rate_type IS TABLE OF okl_k_lines.implicit_non_idc_interest_rate%TYPE INDEX BY BINARY_INTEGER;
10596 TYPE l_pre_tax_irr_type IS TABLE OF okl_k_lines.pre_tax_irr%TYPE INDEX BY BINARY_INTEGER;
10597 TYPE l_after_tax_irr_type IS TABLE OF okl_k_lines.after_tax_irr%TYPE INDEX BY BINARY_INTEGER;
10598 TYPE l_sub_pre_tax_yield_type IS TABLE OF okl_k_lines.sub_pre_tax_yield%TYPE INDEX BY BINARY_INTEGER;
10599 TYPE l_sub_after_tax_yield_type IS TABLE OF okl_k_lines.sub_after_tax_yield%TYPE INDEX BY BINARY_INTEGER;
10600 TYPE l_sub_impl_interest_rate_type IS TABLE OF okl_k_lines.sub_impl_interest_rate%TYPE INDEX BY BINARY_INTEGER;
10601 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;
10602 TYPE l_sub_pre_tax_irr_type IS TABLE OF okl_k_lines.sub_pre_tax_irr%TYPE INDEX BY BINARY_INTEGER;
10603 TYPE l_sub_after_tax_irr_type IS TABLE OF okl_k_lines.sub_after_tax_irr%TYPE INDEX BY BINARY_INTEGER;
10604 TYPE l_item_insurance_category_type IS TABLE OF okl_k_lines.item_insurance_category%TYPE INDEX BY BINARY_INTEGER;
10605 TYPE l_qte_id_type IS TABLE OF okl_k_lines.qte_id%TYPE INDEX BY BINARY_INTEGER;
10606 TYPE l_funding_date_type IS TABLE OF okl_k_lines.funding_date%TYPE INDEX BY BINARY_INTEGER;
10607 TYPE l_stream_type_subclass_type IS TABLE OF okl_k_lines.stream_type_subclass%TYPE INDEX BY BINARY_INTEGER;
10608 TYPE l_lse_id_type IS TABLE OF okc_k_lines_b.lse_id%TYPE INDEX BY BINARY_INTEGER;
10609 TYPE l_item_description_type IS TABLE OF okc_k_lines_tl.item_description%TYPE INDEX BY BINARY_INTEGER;
10610 TYPE l_fee_purpose_code_type IS TABLE OF okl_k_lines.fee_purpose_code%TYPE INDEX BY BINARY_INTEGER;
10611 TYPE l_date_funding_expected_type is table of okl_k_lines.date_funding_expected%TYPE index by binary_integer;
10612 TYPE l_manufacturer_name_type is table of okl_k_lines.manufacturer_name%TYPE index by binary_integer;
10613 TYPE l_model_number_type is table of okl_k_lines.model_number%TYPE index by binary_integer;
10614 TYPE l_down_payment_recei_code_type is table of okl_k_lines.down_payment_receiver_code%TYPE index by binary_integer;
10615 TYPE l_capitalize_down_paym_yn_type is table of okl_k_lines.capitalize_down_payment_yn%TYPE index by binary_integer;
10616
10617 l_id_tab l_id_type;
10618 l_kle_id_tab l_kle_id_type;
10619 l_sty_id_tab l_sty_id_type;
10620 l_object_version_number_tab l_object_version_number_type;
10621 l_lao_amount_tab l_lao_amount_type;
10622 l_fee_charge_tab l_fee_charge_type;
10623 l_title_date_tab l_title_date_type;
10624 l_date_residual_last_revi_tab l_date_residual_last_revi_type;
10625 l_date_last_reamortisatio_tab l_date_last_reamortisatio_type;
10626 l_termination_purchase_am_tab l_termination_purchase_am_type;
10627 l_date_last_cleanup_tab l_date_last_cleanup_type;
10628 l_remarketed_amount_tab l_remarketed_amount_type;
10629 l_date_remarketed_tab l_date_remarketed_type;
10630 l_remarket_margin_tab l_remarket_margin_type;
10631 l_repurchased_amount_tab l_repurchased_amount_type;
10632 l_date_repurchased_tab l_date_repurchased_type;
10633 l_gain_loss_tab l_gain_loss_type;
10634 l_floor_amount_tab l_floor_amount_type;
10635 l_previous_contract_tab l_previous_contract_type;
10636 l_tracked_residual_tab l_tracked_residual_type;
10637 l_date_title_received_tab l_date_title_received_type;
10638 l_estimated_oec_tab l_estimated_oec_type;
10639 l_residual_percentage_tab l_residual_percentage_type;
10640 l_capital_reduction_tab l_capital_reduction_type;
10641 l_vendor_advance_paid_tab l_vendor_advance_paid_type;
10642 l_tradein_amount_tab l_tradein_amount_type;
10643 l_delivered_date_tab l_delivered_date_type;
10644 l_year_of_manufacture_tab l_year_of_manufacture_type;
10645 l_initial_direct_cost_tab l_initial_direct_cost_type;
10646 l_occupancy_tab l_occupancy_type;
10647 l_date_last_inspection_tab l_date_last_inspection_type;
10648 l_date_next_inspection_du_tab l_date_next_inspection_du_type;
10649 l_weighted_average_life_tab l_weighted_average_life_type;
10650 l_bond_equivalent_yield_tab l_bond_equivalent_yield_type;
10651 l_refinance_amount_tab l_refinance_amount_type;
10652 l_year_built_tab l_year_built_type;
10653 l_coverage_ratio_tab l_coverage_ratio_type;
10654 l_gross_square_footage_tab l_gross_square_footage_type;
10655 l_net_rentable_tab l_net_rentable_type;
10656 l_date_letter_acceptance_tab l_date_letter_acceptance_type;
10657 l_date_commitment_expirat_tab l_date_commitment_expirat_type;
10658 l_date_appraisal_tab l_date_appraisal_type;
10659 l_appraisal_value_tab l_appraisal_value_type;
10660 l_residual_value_tab l_residual_value_type;
10661 l_percent_tab l_percent_type;
10662 l_coverage_tab l_coverage_type;
10663 l_lrv_amount_tab l_lrv_amount_type;
10664 l_amount_tab l_amount_type;
10665 l_lrs_percent_tab l_lrs_percent_type;
10666 l_evergreen_percent_tab l_evergreen_percent_type;
10667 l_percent_stake_tab l_percent_stake_type;
10668 l_amount_stake_tab l_amount_stake_type;
10669 l_date_sold_tab l_date_sold_type;
10670 l_sty_id_for_tab l_sty_id_for_type;
10671 l_attribute_category_tab l_attribute_category_type;
10672 l_attribute1_tab l_attribute1_type;
10673 l_attribute2_tab l_attribute2_type;
10674 l_attribute3_tab l_attribute3_type;
10675 l_attribute4_tab l_attribute4_type;
10676 l_attribute5_tab l_attribute5_type;
10677 l_attribute6_tab l_attribute6_type;
10678 l_attribute7_tab l_attribute7_type;
10679 l_attribute8_tab l_attribute8_type;
10680 l_attribute9_tab l_attribute9_type;
10681 l_attribute10_tab l_attribute10_type;
10682 l_attribute11_tab l_attribute11_type;
10683 l_attribute12_tab l_attribute12_type;
10684 l_attribute13_tab l_attribute13_type;
10685 l_attribute14_tab l_attribute14_type;
10686 l_attribute15_tab l_attribute15_type;
10687 l_created_by_tab l_created_by_type;
10688 l_creation_date_tab l_creation_date_type;
10689 l_last_updated_by_tab l_last_updated_by_type;
10690 l_last_update_date_tab l_last_update_date_type;
10691 l_last_update_login_tab l_last_update_login_type;
10692 l_nty_code_tab l_nty_code_type;
10693 l_fcg_code_tab l_fcg_code_type;
10694 l_prc_code_tab l_prc_code_type;
10695 l_re_lease_yn_tab l_re_lease_yn_type;
10696 l_prescribed_asset_yn_tab l_prescribed_asset_yn_type;
10697 l_credit_tenant_yn_tab l_credit_tenant_yn_type;
10698 l_secured_deal_yn_tab l_secured_deal_yn_type;
10699 l_clg_id_tab l_clg_id_type;
10700 l_date_funding_tab l_date_funding_type;
10701 l_date_funding_required_tab l_date_funding_required_type;
10702 l_date_accepted_tab l_date_accepted_type;
10703 l_date_delivery_expected_tab l_date_delivery_expected_type;
10704 l_oec_tab l_oec_type;
10705 l_capital_amount_tab l_capital_amount_type;
10706 l_residual_grnty_amount_tab l_residual_grnty_amount_type;
10707 l_residual_code_tab l_residual_code_type;
10708 l_rvi_premium_tab l_rvi_premium_type;
10709 l_credit_nature_tab l_credit_nature_type;
10710 l_capitalized_interest_tab l_capitalized_interest_type;
10711 l_capital_reduction_perce_tab l_capital_reduction_perce_type;
10712 l_date_pay_investor_start_tab l_date_pay_investor_start_type;
10713 l_pay_investor_frequency_tab l_pay_investor_frequency_type;
10714 l_pay_investor_event_tab l_pay_investor_event_type;
10715 l_pay_investor_remit_days_tab l_pay_investor_remit_days_type;
10716 l_fee_type_tab l_fee_type_type;
10717 l_subsidy_id_tab l_subsidy_id_type;
10718 l_subsidy_override_amount_tab l_subsidy_override_amount_type;
10719 l_pre_tax_yield_tab l_pre_tax_yield_type;
10720 l_after_tax_yield_tab l_after_tax_yield_type;
10721 l_implicit_interest_rate_tab l_implicit_interest_rate_type;
10722 l_implicit_non_idc_i_rate_tab l_implicit_non_idc_i_rate_type;
10723 l_pre_tax_irr_tab l_pre_tax_irr_type;
10724 l_after_tax_irr_tab l_after_tax_irr_type;
10725 l_sub_pre_tax_yield_tab l_sub_pre_tax_yield_type;
10726 l_sub_after_tax_yield_tab l_sub_after_tax_yield_type;
10727 l_sub_impl_interest_rate_tab l_sub_impl_interest_rate_type;
10728 l_sub_impl_non_idc_int_ra_tab l_sub_impl_non_idc_int_ra_type;
10729 l_sub_pre_tax_irr_tab l_sub_pre_tax_irr_type;
10730 l_sub_after_tax_irr_tab l_sub_after_tax_irr_type;
10731 l_item_insurance_category_tab l_item_insurance_category_type;
10732 l_qte_id_tab l_qte_id_type;
10733 l_funding_date_tab l_funding_date_type;
10734 l_stream_type_subclass_tab l_stream_type_subclass_type;
10735 l_item_description_tab l_item_description_type;
10736 l_fee_purpose_code_tab l_fee_purpose_code_type;
10737 l_date_funding_expected_tab l_date_funding_expected_type;
10738 l_manufacturer_name_tab l_manufacturer_name_type;
10739 l_model_number_tab l_model_number_type;
10740 l_down_payment_recei_code_tab l_down_payment_recei_code_type;
10741 l_capitalize_down_paym_yn_tab l_capitalize_down_paym_yn_type;
10742
10743 l_id_tab2 l_id_type;
10744 l_kle_id_tab2 l_kle_id_type;
10745 l_sty_id_tab2 l_sty_id_type;
10746 l_object_version_number_tab2 l_object_version_number_type;
10747 l_lao_amount_tab2 l_lao_amount_type;
10748 l_fee_charge_tab2 l_fee_charge_type;
10749 l_title_date_tab2 l_title_date_type;
10750 l_date_residual_last_revi_tab2 l_date_residual_last_revi_type;
10751 l_date_last_reamortisatio_tab2 l_date_last_reamortisatio_type;
10752 l_termination_purchase_am_tab2 l_termination_purchase_am_type;
10753 l_date_last_cleanup_tab2 l_date_last_cleanup_type;
10754 l_remarketed_amount_tab2 l_remarketed_amount_type;
10755 l_date_remarketed_tab2 l_date_remarketed_type;
10756 l_remarket_margin_tab2 l_remarket_margin_type;
10757 l_repurchased_amount_tab2 l_repurchased_amount_type;
10758 l_date_repurchased_tab2 l_date_repurchased_type;
10759 l_gain_loss_tab2 l_gain_loss_type;
10760 l_floor_amount_tab2 l_floor_amount_type;
10761 l_previous_contract_tab2 l_previous_contract_type;
10762 l_tracked_residual_tab2 l_tracked_residual_type;
10763 l_date_title_received_tab2 l_date_title_received_type;
10764 l_estimated_oec_tab2 l_estimated_oec_type;
10765 l_residual_percentage_tab2 l_residual_percentage_type;
10766 l_capital_reduction_tab2 l_capital_reduction_type;
10767 l_vendor_advance_paid_tab2 l_vendor_advance_paid_type;
10768 l_tradein_amount_tab2 l_tradein_amount_type;
10769 l_delivered_date_tab2 l_delivered_date_type;
10770 l_year_of_manufacture_tab2 l_year_of_manufacture_type;
10771 l_initial_direct_cost_tab2 l_initial_direct_cost_type;
10772 l_occupancy_tab2 l_occupancy_type;
10773 l_date_last_inspection_tab2 l_date_last_inspection_type;
10774 l_date_next_inspection_du_tab2 l_date_next_inspection_du_type;
10775 l_weighted_average_life_tab2 l_weighted_average_life_type;
10776 l_bond_equivalent_yield_tab2 l_bond_equivalent_yield_type;
10777 l_refinance_amount_tab2 l_refinance_amount_type;
10778 l_year_built_tab2 l_year_built_type;
10779 l_coverage_ratio_tab2 l_coverage_ratio_type;
10780 l_gross_square_footage_tab2 l_gross_square_footage_type;
10781 l_net_rentable_tab2 l_net_rentable_type;
10782 l_date_letter_acceptance_tab2 l_date_letter_acceptance_type;
10783 l_date_commitment_expirat_tab2 l_date_commitment_expirat_type;
10784 l_date_appraisal_tab2 l_date_appraisal_type;
10785 l_appraisal_value_tab2 l_appraisal_value_type;
10786 l_residual_value_tab2 l_residual_value_type;
10787 l_percent_tab2 l_percent_type;
10788 l_coverage_tab2 l_coverage_type;
10789 l_lrv_amount_tab2 l_lrv_amount_type;
10790 l_amount_tab2 l_amount_type;
10791 l_lrs_percent_tab2 l_lrs_percent_type;
10792 l_evergreen_percent_tab2 l_evergreen_percent_type;
10793 l_percent_stake_tab2 l_percent_stake_type;
10794 l_amount_stake_tab2 l_amount_stake_type;
10795 l_date_sold_tab2 l_date_sold_type;
10796 l_sty_id_for_tab2 l_sty_id_for_type;
10797 l_attribute_category_tab2 l_attribute_category_type;
10798 l_attribute1_tab2 l_attribute1_type;
10799 l_attribute2_tab2 l_attribute2_type;
10800 l_attribute3_tab2 l_attribute3_type;
10801 l_attribute4_tab2 l_attribute4_type;
10802 l_attribute5_tab2 l_attribute5_type;
10803 l_attribute6_tab2 l_attribute6_type;
10804 l_attribute7_tab2 l_attribute7_type;
10805 l_attribute8_tab2 l_attribute8_type;
10806 l_attribute9_tab2 l_attribute9_type;
10807 l_attribute10_tab2 l_attribute10_type;
10808 l_attribute11_tab2 l_attribute11_type;
10809 l_attribute12_tab2 l_attribute12_type;
10810 l_attribute13_tab2 l_attribute13_type;
10811 l_attribute14_tab2 l_attribute14_type;
10812 l_attribute15_tab2 l_attribute15_type;
10813 l_created_by_tab2 l_created_by_type;
10814 l_creation_date_tab2 l_creation_date_type;
10815 l_last_updated_by_tab2 l_last_updated_by_type;
10816 l_last_update_date_tab2 l_last_update_date_type;
10817 l_last_update_login_tab2 l_last_update_login_type;
10818 l_nty_code_tab2 l_nty_code_type;
10819 l_fcg_code_tab2 l_fcg_code_type;
10820 l_prc_code_tab2 l_prc_code_type;
10821 l_re_lease_yn_tab2 l_re_lease_yn_type;
10822 l_prescribed_asset_yn_tab2 l_prescribed_asset_yn_type;
10823 l_credit_tenant_yn_tab2 l_credit_tenant_yn_type;
10824 l_secured_deal_yn_tab2 l_secured_deal_yn_type;
10825 l_clg_id_tab2 l_clg_id_type;
10826 l_date_funding_tab2 l_date_funding_type;
10827 l_date_funding_required_tab2 l_date_funding_required_type;
10828 l_date_accepted_tab2 l_date_accepted_type;
10829 l_date_delivery_expected_tab2 l_date_delivery_expected_type;
10830 l_oec_tab2 l_oec_type;
10831 l_capital_amount_tab2 l_capital_amount_type;
10832 l_residual_grnty_amount_tab2 l_residual_grnty_amount_type;
10833 l_residual_code_tab2 l_residual_code_type;
10834 l_rvi_premium_tab2 l_rvi_premium_type;
10835 l_credit_nature_tab2 l_credit_nature_type;
10836 l_capitalized_interest_tab2 l_capitalized_interest_type;
10837 l_capital_reduction_perce_tab2 l_capital_reduction_perce_type;
10838 l_date_pay_investor_start_tab2 l_date_pay_investor_start_type;
10839 l_pay_investor_frequency_tab2 l_pay_investor_frequency_type;
10840 l_pay_investor_event_tab2 l_pay_investor_event_type;
10841 l_pay_investor_remit_days_tab2 l_pay_investor_remit_days_type;
10842 l_fee_type_tab2 l_fee_type_type;
10843 l_subsidy_id_tab2 l_subsidy_id_type;
10844 l_subsidy_override_amount_tab2 l_subsidy_override_amount_type;
10845 l_pre_tax_yield_tab2 l_pre_tax_yield_type;
10846 l_after_tax_yield_tab2 l_after_tax_yield_type;
10847 l_implicit_interest_rate_tab2 l_implicit_interest_rate_type;
10848 l_implicit_non_idc_i_rate_tab2 l_implicit_non_idc_i_rate_type;
10849 l_pre_tax_irr_tab2 l_pre_tax_irr_type;
10850 l_after_tax_irr_tab2 l_after_tax_irr_type;
10851 l_sub_pre_tax_yield_tab2 l_sub_pre_tax_yield_type;
10852 l_sub_after_tax_yield_tab2 l_sub_after_tax_yield_type;
10853 l_sub_impl_interest_rate_tab2 l_sub_impl_interest_rate_type;
10854 l_sub_impl_non_idc_int_ra_tab2 l_sub_impl_non_idc_int_ra_type;
10855 l_sub_pre_tax_irr_tab2 l_sub_pre_tax_irr_type;
10856 l_sub_after_tax_irr_tab2 l_sub_after_tax_irr_type;
10857 l_item_insurance_category_tab2 l_item_insurance_category_type;
10858 l_qte_id_tab2 l_qte_id_type;
10859 l_funding_date_tab2 l_funding_date_type;
10860 l_stream_type_subclass_tab2 l_stream_type_subclass_type;
10861 l_lse_id_tab2 l_lse_id_type;
10862 l_item_description_tab2 l_item_description_type;
10863 l_fee_purpose_code_tab2 l_fee_purpose_code_type;
10864 l_date_funding_expected_tab2 l_date_funding_expected_type;
10865 l_manufacturer_name_tab2 l_manufacturer_name_type;
10866 l_model_number_tab2 l_model_number_type;
10867 l_down_payment_recei_code_tab2 l_down_payment_recei_code_type;
10868 l_capitalize_down_paym_yn_tab2 l_capitalize_down_paym_yn_type;
10869
10870 l_new_id NUMBER;
10871 l_new_kle_id NUMBER;
10872 l_curr_id NUMBER;
10873 l_asset_category_id NUMBER;
10874 l_34_id NUMBER;
10875 --l_okl_k_lines_rec2 lines_tbl_type;
10876
10877 BEGIN
10878 IF (G_DEBUG_ENABLED = 'Y') THEN
10879 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
10880 END IF;
10881 NULL;
10882 OPEN c8(p_chr_id);
10883 LOOP
10884 FETCH c8 bulk collect INTO
10885 l_id_tab2, l_kle_id_tab2, l_sty_id_tab2,
10886 l_object_version_number_tab2, l_lao_amount_tab2, l_fee_charge_tab2,
10887 l_title_date_tab2, l_date_residual_last_revi_tab2, l_date_last_reamortisatio_tab2,
10888 l_termination_purchase_am_tab2, l_date_last_cleanup_tab2, l_remarketed_amount_tab2,
10889 l_date_remarketed_tab2, l_remarket_margin_tab2, l_repurchased_amount_tab2,
10890 l_date_repurchased_tab2, l_gain_loss_tab2, l_floor_amount_tab2,
10891 l_previous_contract_tab2, l_tracked_residual_tab2, l_date_title_received_tab2,
10892 l_estimated_oec_tab2, l_residual_percentage_tab2, l_capital_reduction_tab2,
10893 l_vendor_advance_paid_tab2, l_tradein_amount_tab2, l_delivered_date_tab2,
10894 l_year_of_manufacture_tab2, l_initial_direct_cost_tab2, l_occupancy_tab2,
10895 l_date_last_inspection_tab2, l_date_next_inspection_du_tab2, l_weighted_average_life_tab2,
10896 l_bond_equivalent_yield_tab2, l_refinance_amount_tab2, l_year_built_tab2,
10897 l_coverage_ratio_tab2, l_gross_square_footage_tab2, l_net_rentable_tab2,
10898 l_date_letter_acceptance_tab2, l_date_commitment_expirat_tab2, l_date_appraisal_tab2,
10899 l_appraisal_value_tab2, l_residual_value_tab2, l_percent_tab2,
10900 l_coverage_tab2, l_lrv_amount_tab2, l_amount_tab2,
10901 l_lrs_percent_tab2, l_evergreen_percent_tab2, l_percent_stake_tab2,
10902 l_amount_stake_tab2, l_date_sold_tab2, l_sty_id_for_tab2,
10903 l_attribute_category_tab2, l_attribute1_tab2, l_attribute2_tab2,
10904 l_attribute3_tab2, l_attribute4_tab2, l_attribute5_tab2,
10905 l_attribute6_tab2, l_attribute7_tab2, l_attribute8_tab2,
10906 l_attribute9_tab2, l_attribute10_tab2, l_attribute11_tab2,
10907 l_attribute12_tab2, l_attribute13_tab2, l_attribute14_tab2,
10908 l_attribute15_tab2, l_created_by_tab2, l_creation_date_tab2,
10909 l_last_updated_by_tab2, l_last_update_date_tab2, l_last_update_login_tab2,
10910 l_nty_code_tab2, l_fcg_code_tab2, l_prc_code_tab2,
10911 l_re_lease_yn_tab2, l_prescribed_asset_yn_tab2, l_credit_tenant_yn_tab2,
10912 l_secured_deal_yn_tab2, l_clg_id_tab2, l_date_funding_tab2,
10913 l_date_funding_required_tab2, l_date_accepted_tab2, l_date_delivery_expected_tab2,
10914 l_oec_tab2, l_capital_amount_tab2, l_residual_grnty_amount_tab2,
10915 l_residual_code_tab2, l_rvi_premium_tab2, l_credit_nature_tab2,
10916 l_capitalized_interest_tab2, l_capital_reduction_perce_tab2, l_date_pay_investor_start_tab2,
10917 l_pay_investor_frequency_tab2, l_pay_investor_event_tab2, l_pay_investor_remit_days_tab2,
10918 l_fee_type_tab2, l_subsidy_id_tab2, l_subsidy_override_amount_tab2,
10919 l_pre_tax_yield_tab2, l_after_tax_yield_tab2, l_implicit_interest_rate_tab2,
10920 l_implicit_non_idc_i_rate_tab2, l_pre_tax_irr_tab2, l_after_tax_irr_tab2,
10921 l_sub_pre_tax_yield_tab2, l_sub_after_tax_yield_tab2, l_sub_impl_interest_rate_tab2,
10922 l_sub_impl_non_idc_int_ra_tab2, l_sub_pre_tax_irr_tab2, l_sub_after_tax_irr_tab2,
10923 l_item_insurance_category_tab2, l_qte_id_tab2, l_funding_date_tab2,
10924 l_stream_type_subclass_tab2, l_lse_id_tab2, l_item_description_tab2,
10925 l_fee_purpose_code_tab2, l_date_funding_expected_tab2, l_manufacturer_name_tab2,
10926 l_model_number_tab2, l_down_payment_recei_code_tab2, l_capitalize_down_paym_yn_tab2
10927 limit G_BULK_SIZE;
10928 EXIT WHEN l_id_tab2.COUNT = 0;
10929
10930 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10931 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab2.count=' || l_id_tab2.COUNT);
10932 END IF;
10933 FOR i IN l_id_tab2.first..l_id_tab2.last
10934 LOOP
10935
10936 --print('Processing record ' || i);
10937 l_id_tab(l_okl_k_lines_counter) := l_id_tab2(i);
10938 -- Change id
10939 --print('l_okl_k_lines_counter='|| l_okl_k_lines_counter || ' id=' || l_id_tab(l_okl_k_lines_counter));
10940 l_new_id := find_mapping_id(l_id_tab(l_okl_k_lines_counter));
10941 IF (l_new_id = -1) THEN
10942 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
10943 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));
10944 END IF;
10945 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10946 --raise_application_error(-20001, 'Can not find mapping id');
10947 END IF;
10948 l_id_tab(l_okl_k_lines_counter) := l_new_id;
10949 l_osid_mapping_tab(l_okl_k_lines_counter).id := l_id_tab(l_okl_k_lines_counter);
10950
10951 l_kle_id_tab(l_okl_k_lines_counter) := l_kle_id_tab2(i);
10952 -- Change kle_id ??? AKP. No, Leave it alone
10953 /*if (l_kle_id_tab(l_okl_k_lines_counter) is not null) then
10954 l_new_kle_id := find_mapping_id(l_kle_id_tab(l_okl_k_lines_counter));
10955 if (l_new_kle_id = -1) then
10956 print('ERROR : Mapping kle_id not found for ' || l_kle_id_tab(l_okl_k_lines_counter));
10957 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10958 end if;
10959 l_kle_id_tab(l_okl_k_lines_counter) := l_new_kle_id;
10960 end if; */
10961
10962 --print('Before assigning sty_id');
10963 l_sty_id_tab(l_okl_k_lines_counter) := l_sty_id_tab2(i);
10964 l_object_version_number_tab(l_okl_k_lines_counter) := l_object_version_number_tab2(i);
10965 l_lao_amount_tab(l_okl_k_lines_counter) := l_lao_amount_tab2(i);
10966 l_fee_charge_tab(l_okl_k_lines_counter) := l_fee_charge_tab2(i);
10967 l_title_date_tab(l_okl_k_lines_counter) := l_title_date_tab2(i);
10968 l_date_residual_last_revi_tab(l_okl_k_lines_counter) := l_date_residual_last_revi_tab2(i);
10969 l_date_last_reamortisatio_tab(l_okl_k_lines_counter) := l_date_last_reamortisatio_tab2(i);
10970 l_termination_purchase_am_tab(l_okl_k_lines_counter) := l_termination_purchase_am_tab2(i);
10971 l_date_last_cleanup_tab(l_okl_k_lines_counter) := l_date_last_cleanup_tab2(i);
10972 l_remarketed_amount_tab(l_okl_k_lines_counter) := l_remarketed_amount_tab2(i);
10973 l_date_remarketed_tab(l_okl_k_lines_counter) := l_date_remarketed_tab2(i);
10974 l_remarket_margin_tab(l_okl_k_lines_counter) := l_remarket_margin_tab2(i);
10975 l_repurchased_amount_tab(l_okl_k_lines_counter) := l_repurchased_amount_tab2(i);
10976 l_date_repurchased_tab(l_okl_k_lines_counter) := l_date_repurchased_tab2(i);
10977 l_gain_loss_tab(l_okl_k_lines_counter) := l_gain_loss_tab2(i);
10978 l_floor_amount_tab(l_okl_k_lines_counter) := l_floor_amount_tab2(i);
10979 l_previous_contract_tab(l_okl_k_lines_counter) := l_previous_contract_tab2(i);
10980 l_tracked_residual_tab(l_okl_k_lines_counter) := l_tracked_residual_tab2(i);
10981 l_date_title_received_tab(l_okl_k_lines_counter) := l_date_title_received_tab2(i);
10982 l_estimated_oec_tab(l_okl_k_lines_counter) := l_estimated_oec_tab2(i);
10983 l_residual_percentage_tab(l_okl_k_lines_counter) := l_residual_percentage_tab2(i);
10984 l_capital_reduction_tab(l_okl_k_lines_counter) := l_capital_reduction_tab2(i);
10985 l_vendor_advance_paid_tab(l_okl_k_lines_counter) := l_vendor_advance_paid_tab2(i);
10986 l_tradein_amount_tab(l_okl_k_lines_counter) := l_tradein_amount_tab2(i);
10987 l_delivered_date_tab(l_okl_k_lines_counter) := l_delivered_date_tab2(i);
10988 l_year_of_manufacture_tab(l_okl_k_lines_counter) := l_year_of_manufacture_tab2(i);
10989 l_initial_direct_cost_tab(l_okl_k_lines_counter) := l_initial_direct_cost_tab2(i);
10990 l_occupancy_tab(l_okl_k_lines_counter) := l_occupancy_tab2(i);
10991 l_date_last_inspection_tab(l_okl_k_lines_counter) := l_date_last_inspection_tab2(i);
10992 l_date_next_inspection_du_tab(l_okl_k_lines_counter) := l_date_next_inspection_du_tab2(i);
10993 l_weighted_average_life_tab(l_okl_k_lines_counter) := l_weighted_average_life_tab2(i);
10994 l_bond_equivalent_yield_tab(l_okl_k_lines_counter) := l_bond_equivalent_yield_tab2(i);
10995 l_refinance_amount_tab(l_okl_k_lines_counter) := l_refinance_amount_tab2(i);
10996 l_year_built_tab(l_okl_k_lines_counter) := l_year_built_tab2(i);
10997 l_coverage_ratio_tab(l_okl_k_lines_counter) := l_coverage_ratio_tab2(i);
10998 l_gross_square_footage_tab(l_okl_k_lines_counter) := l_gross_square_footage_tab2(i);
10999 l_net_rentable_tab(l_okl_k_lines_counter) := l_net_rentable_tab2(i);
11000 l_date_letter_acceptance_tab(l_okl_k_lines_counter) := l_date_letter_acceptance_tab2(i);
11001 l_date_commitment_expirat_tab(l_okl_k_lines_counter) := l_date_commitment_expirat_tab2(i);
11002 l_date_appraisal_tab(l_okl_k_lines_counter) := l_date_appraisal_tab2(i);
11003 l_appraisal_value_tab(l_okl_k_lines_counter) := l_appraisal_value_tab2(i);
11004 l_residual_value_tab(l_okl_k_lines_counter) := l_residual_value_tab2(i);
11005 l_percent_tab(l_okl_k_lines_counter) := l_percent_tab2(i);
11006 l_coverage_tab(l_okl_k_lines_counter) := l_coverage_tab2(i);
11007 l_lrv_amount_tab(l_okl_k_lines_counter) := l_lrv_amount_tab2(i);
11008 l_amount_tab(l_okl_k_lines_counter) := l_amount_tab2(i);
11009 l_lrs_percent_tab(l_okl_k_lines_counter) := l_lrs_percent_tab2(i);
11010 l_evergreen_percent_tab(l_okl_k_lines_counter) := l_evergreen_percent_tab2(i);
11011 l_percent_stake_tab(l_okl_k_lines_counter) := l_percent_stake_tab2(i);
11012 l_amount_stake_tab(l_okl_k_lines_counter) := l_amount_stake_tab2(i);
11013 l_date_sold_tab(l_okl_k_lines_counter) := l_date_sold_tab2(i);
11014 l_sty_id_for_tab(l_okl_k_lines_counter) := l_sty_id_for_tab2(i);
11015 l_attribute_category_tab(l_okl_k_lines_counter) := l_attribute_category_tab2(i);
11016 l_attribute1_tab(l_okl_k_lines_counter) := l_attribute1_tab2(i);
11017 l_attribute2_tab(l_okl_k_lines_counter) := l_attribute2_tab2(i);
11018 l_attribute3_tab(l_okl_k_lines_counter) := l_attribute3_tab2(i);
11019 l_attribute4_tab(l_okl_k_lines_counter) := l_attribute4_tab2(i);
11020 l_attribute5_tab(l_okl_k_lines_counter) := l_attribute5_tab2(i);
11021 l_attribute6_tab(l_okl_k_lines_counter) := l_attribute6_tab2(i);
11022 l_attribute7_tab(l_okl_k_lines_counter) := l_attribute7_tab2(i);
11023 l_attribute8_tab(l_okl_k_lines_counter) := l_attribute8_tab2(i);
11024 l_attribute9_tab(l_okl_k_lines_counter) := l_attribute9_tab2(i);
11025 l_attribute10_tab(l_okl_k_lines_counter) := l_attribute10_tab2(i);
11026 l_attribute11_tab(l_okl_k_lines_counter) := l_attribute11_tab2(i);
11027 l_attribute12_tab(l_okl_k_lines_counter) := l_attribute12_tab2(i);
11028 l_attribute13_tab(l_okl_k_lines_counter) := l_attribute13_tab2(i);
11029 l_attribute14_tab(l_okl_k_lines_counter) := l_attribute14_tab2(i);
11030 l_attribute15_tab(l_okl_k_lines_counter) := l_attribute15_tab2(i);
11031 l_created_by_tab(l_okl_k_lines_counter) := l_created_by_tab2(i);
11032 l_creation_date_tab(l_okl_k_lines_counter) := l_creation_date_tab2(i);
11033 l_last_updated_by_tab(l_okl_k_lines_counter) := l_last_updated_by_tab2(i);
11034 l_last_update_date_tab(l_okl_k_lines_counter) := l_last_update_date_tab2(i);
11035 l_last_update_login_tab(l_okl_k_lines_counter) := l_last_update_login_tab2(i);
11036 l_nty_code_tab(l_okl_k_lines_counter) := l_nty_code_tab2(i);
11037 l_fcg_code_tab(l_okl_k_lines_counter) := l_fcg_code_tab2(i);
11038 l_prc_code_tab(l_okl_k_lines_counter) := l_prc_code_tab2(i);
11039 l_re_lease_yn_tab(l_okl_k_lines_counter) := l_re_lease_yn_tab2(i);
11040 l_prescribed_asset_yn_tab(l_okl_k_lines_counter) := l_prescribed_asset_yn_tab2(i);
11041 l_credit_tenant_yn_tab(l_okl_k_lines_counter) := l_credit_tenant_yn_tab2(i);
11042 l_secured_deal_yn_tab(l_okl_k_lines_counter) := l_secured_deal_yn_tab2(i);
11043 l_clg_id_tab(l_okl_k_lines_counter) := l_clg_id_tab2(i);
11044 l_date_funding_tab(l_okl_k_lines_counter) := l_date_funding_tab2(i);
11045 l_date_funding_required_tab(l_okl_k_lines_counter) := l_date_funding_required_tab2(i);
11046 l_date_accepted_tab(l_okl_k_lines_counter) := l_date_accepted_tab2(i);
11047 l_date_delivery_expected_tab(l_okl_k_lines_counter) := l_date_delivery_expected_tab2(i);
11048 l_oec_tab(l_okl_k_lines_counter) := l_oec_tab2(i);
11049 l_capital_amount_tab(l_okl_k_lines_counter) := l_capital_amount_tab2(i);
11050 l_residual_grnty_amount_tab(l_okl_k_lines_counter) := l_residual_grnty_amount_tab2(i);
11051 l_residual_code_tab(l_okl_k_lines_counter) := l_residual_code_tab2(i);
11052 l_rvi_premium_tab(l_okl_k_lines_counter) := l_rvi_premium_tab2(i);
11053 l_credit_nature_tab(l_okl_k_lines_counter) := l_credit_nature_tab2(i);
11054 l_capitalized_interest_tab(l_okl_k_lines_counter) := l_capitalized_interest_tab2(i);
11055 l_capital_reduction_perce_tab(l_okl_k_lines_counter) := l_capital_reduction_perce_tab2(i);
11056 l_date_pay_investor_start_tab(l_okl_k_lines_counter) := l_date_pay_investor_start_tab2(i);
11057 l_pay_investor_frequency_tab(l_okl_k_lines_counter) := l_pay_investor_frequency_tab2(i);
11058 l_pay_investor_event_tab(l_okl_k_lines_counter) := l_pay_investor_event_tab2(i);
11059 l_pay_investor_remit_days_tab(l_okl_k_lines_counter) := l_pay_investor_remit_days_tab2(i);
11060 l_fee_type_tab(l_okl_k_lines_counter) := l_fee_type_tab2(i);
11061 l_subsidy_id_tab(l_okl_k_lines_counter) := l_subsidy_id_tab2(i);
11062 -- Store subsidy id in global
11063 l_osid_mapping_tab(l_okl_k_lines_counter).subsidy_id := l_subsidy_id_tab2(i);
11064 l_subsidy_override_amount_tab(l_okl_k_lines_counter) := l_subsidy_override_amount_tab2(i);
11065 l_pre_tax_yield_tab(l_okl_k_lines_counter) := l_pre_tax_yield_tab2(i);
11066 l_after_tax_yield_tab(l_okl_k_lines_counter) := l_after_tax_yield_tab2(i);
11067 l_implicit_interest_rate_tab(l_okl_k_lines_counter) := l_implicit_interest_rate_tab2(i);
11068 l_implicit_non_idc_i_rate_tab(l_okl_k_lines_counter) := l_implicit_non_idc_i_rate_tab2(i);
11069 l_pre_tax_irr_tab(l_okl_k_lines_counter) := l_pre_tax_irr_tab2(i);
11070 l_after_tax_irr_tab(l_okl_k_lines_counter) := l_after_tax_irr_tab2(i);
11071 l_sub_pre_tax_yield_tab(l_okl_k_lines_counter) := l_sub_pre_tax_yield_tab2(i);
11072 l_sub_after_tax_yield_tab(l_okl_k_lines_counter) := l_sub_after_tax_yield_tab2(i);
11073 l_sub_impl_interest_rate_tab(l_okl_k_lines_counter) := l_sub_impl_interest_rate_tab2(i);
11074 l_sub_impl_non_idc_int_ra_tab(l_okl_k_lines_counter) := l_sub_impl_non_idc_int_ra_tab2(i);
11075 l_sub_pre_tax_irr_tab(l_okl_k_lines_counter) := l_sub_pre_tax_irr_tab2(i);
11076 l_sub_after_tax_irr_tab(l_okl_k_lines_counter) := l_sub_after_tax_irr_tab2(i);
11077 IF ( (l_item_insurance_category_tab2(i) IS NULL) AND (l_lse_id_tab2(i)=33) ) THEN
11078 BEGIN
11079 l_curr_id := l_id_tab2(i);
11080 -- Get id for 34
11081 SELECT id INTO l_34_id
11082 FROM okc_k_lines_b
11083 WHERE cle_id = l_curr_id
11084 AND lse_id = 34;
11085 -- Query from mtl_system_items
11086 SELECT a.asset_category_id
11087 INTO l_asset_category_id
11088 FROM mtl_system_items a,
11089 okc_k_items b
11090 WHERE a.inventory_item_id = TO_NUMBER(b.object1_id1)
11091 AND a.organization_id = TO_NUMBER(b.object1_id2)
11092 AND b.cle_id = l_34_id;
11093 --and b.cle_id = l_curr_id; previous wrong
11094 l_item_insurance_category_tab(l_okl_k_lines_counter) := l_asset_category_id;
11095 EXCEPTION WHEN OTHERS THEN
11096 l_item_insurance_category_tab(l_okl_k_lines_counter) := NULL;
11097 END;
11098 ELSE
11099 l_item_insurance_category_tab(l_okl_k_lines_counter) := l_item_insurance_category_tab2(i);
11100 END IF;
11101 --print('Before assigning qte_id');
11102 l_qte_id_tab(l_okl_k_lines_counter) := l_qte_id_tab2(i);
11103 l_funding_date_tab(l_okl_k_lines_counter) := l_funding_date_tab2(i);
11104 l_stream_type_subclass_tab(l_okl_k_lines_counter) := l_stream_type_subclass_tab2(i);
11105 l_item_description_tab(l_okl_k_lines_counter) := l_item_description_tab2(i);
11106 l_fee_purpose_code_tab(l_okl_k_lines_counter) := l_fee_purpose_code_tab2(i);
11107 l_date_funding_expected_tab(l_okl_k_lines_counter) := l_date_funding_expected_tab2(i);
11108 l_manufacturer_name_tab(l_okl_k_lines_counter) := l_manufacturer_name_tab2(i);
11109 l_model_number_tab(l_okl_k_lines_counter) := l_model_number_tab2(i);
11110 l_down_payment_recei_code_tab(l_okl_k_lines_counter) := l_down_payment_recei_code_tab2(i);
11111 l_capitalize_down_paym_yn_tab(l_okl_k_lines_counter) := l_capitalize_down_paym_yn_tab2(i);
11112
11113 --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);
11114
11115 --print('l_id_tab(' || l_okl_k_lines_counter || ')=' || l_id_tab(l_okl_k_lines_counter));
11116 l_okl_k_lines_rec(l_okl_k_lines_rec_counter).id := l_id_tab(l_okl_k_lines_counter);
11117 --print('Before assigning l_okl_k_lines_rec 1');
11118 --print('l_oec_tab=' || l_oec_tab(l_okl_k_lines_counter));
11119 l_okl_k_lines_rec(l_okl_k_lines_rec_counter).oec := l_oec_tab(l_okl_k_lines_counter);
11120 --print('Before assigning l_okl_k_lines_rec 2');
11121 l_okl_k_lines_rec(l_okl_k_lines_rec_counter).year_built := l_year_built_tab(l_okl_k_lines_counter);
11122 --print('Before assigning l_okl_k_lines_rec 3');
11123 l_okl_k_lines_rec(l_okl_k_lines_rec_counter).item_description := l_item_description_tab(l_okl_k_lines_counter);
11124 l_okl_k_lines_rec_counter := l_okl_k_lines_rec_counter + 1;
11125
11126 l_okl_k_lines_counter := l_okl_k_lines_counter + 1;
11127
11128 END LOOP;
11129 END LOOP;
11130 CLOSE c8;
11131 sort_osid_mapping_tab;
11132 sort_okl_k_lines_rec;
11133
11134 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11135 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);
11136 END IF;
11137 IF (l_okl_k_lines_counter > 1) THEN
11138 forall i IN l_id_tab.first..l_id_tab.last
11139 INSERT INTO okl_k_lines (
11140 id, kle_id, sty_id,
11141 object_version_number, lao_amount, fee_charge,
11142 title_date, date_residual_last_review, date_last_reamortisation,
11143 termination_purchase_amount, date_last_cleanup, remarketed_amount,
11144 date_remarketed, remarket_margin, repurchased_amount,
11145 date_repurchased, gain_loss, floor_amount,
11146 previous_contract, tracked_residual, date_title_received,
11147 estimated_oec, residual_percentage, capital_reduction,
11148 vendor_advance_paid, tradein_amount, delivered_date,
11149 year_of_manufacture, initial_direct_cost, occupancy,
11150 date_last_inspection, date_next_inspection_due, weighted_average_life,
11151 bond_equivalent_yield, refinance_amount, year_built,
11152 coverage_ratio, gross_square_footage, net_rentable,
11153 date_letter_acceptance, date_commitment_expiration, date_appraisal,
11154 appraisal_value, residual_value, percent,
11155 coverage, lrv_amount, amount,
11156 lrs_percent, evergreen_percent, percent_stake,
11157 amount_stake, date_sold, sty_id_for,
11158 attribute_category, attribute1, attribute2,
11159 attribute3, attribute4, attribute5,
11160 attribute6, attribute7, attribute8,
11161 attribute9, attribute10, attribute11,
11162 attribute12, attribute13, attribute14,
11163 attribute15, created_by, creation_date,
11164 last_updated_by, last_update_date, last_update_login,
11165 nty_code, fcg_code, prc_code,
11166 re_lease_yn, prescribed_asset_yn, credit_tenant_yn,
11167 secured_deal_yn, clg_id, date_funding,
11168 date_funding_required, date_accepted, date_delivery_expected,
11169 oec, capital_amount, residual_grnty_amount,
11170 residual_code, rvi_premium, credit_nature,
11171 capitalized_interest, capital_reduction_percent,date_pay_investor_start,
11172 pay_investor_frequency, pay_investor_event,pay_investor_remittance_days,
11173 fee_type, subsidy_id, subsidy_override_amount,
11174 pre_tax_yield, after_tax_yield, implicit_interest_rate,
11175 implicit_non_idc_interest_rate, pre_tax_irr, after_tax_irr,
11176 sub_pre_tax_yield, sub_after_tax_yield, sub_impl_interest_rate,
11177 sub_impl_non_idc_int_rate, sub_pre_tax_irr, sub_after_tax_irr,
11178 item_insurance_category, qte_id, funding_date,
11179 stream_type_subclass, fee_purpose_code, date_funding_expected,
11180 manufacturer_name, model_number, down_payment_receiver_code,
11181 capitalize_down_payment_yn
11182 ) VALUES (
11183 l_id_tab(i), l_kle_id_tab(i), l_sty_id_tab(i),
11184 l_object_version_number_tab(i), l_lao_amount_tab(i), l_fee_charge_tab(i),
11185 l_title_date_tab(i), l_date_residual_last_revi_tab(i), l_date_last_reamortisatio_tab(i),
11186 l_termination_purchase_am_tab(i), l_date_last_cleanup_tab(i), l_remarketed_amount_tab(i),
11187 l_date_remarketed_tab(i), l_remarket_margin_tab(i), l_repurchased_amount_tab(i),
11188 l_date_repurchased_tab(i), l_gain_loss_tab(i), l_floor_amount_tab(i),
11189 l_previous_contract_tab(i), l_tracked_residual_tab(i), l_date_title_received_tab(i),
11190 l_estimated_oec_tab(i), l_residual_percentage_tab(i), l_capital_reduction_tab(i),
11191 l_vendor_advance_paid_tab(i), l_tradein_amount_tab(i), l_delivered_date_tab(i),
11192 l_year_of_manufacture_tab(i), l_initial_direct_cost_tab(i), l_occupancy_tab(i),
11193 l_date_last_inspection_tab(i), l_date_next_inspection_du_tab(i), l_weighted_average_life_tab(i),
11194 l_bond_equivalent_yield_tab(i), l_refinance_amount_tab(i), l_year_built_tab(i),
11195 l_coverage_ratio_tab(i), l_gross_square_footage_tab(i), l_net_rentable_tab(i),
11196 l_date_letter_acceptance_tab(i), l_date_commitment_expirat_tab(i), l_date_appraisal_tab(i),
11197 l_appraisal_value_tab(i), l_residual_value_tab(i), l_percent_tab(i),
11198 l_coverage_tab(i), l_lrv_amount_tab(i), l_amount_tab(i),
11199 l_lrs_percent_tab(i), l_evergreen_percent_tab(i), l_percent_stake_tab(i),
11200 l_amount_stake_tab(i), l_date_sold_tab(i), l_sty_id_for_tab(i),
11201 l_attribute_category_tab(i), l_attribute1_tab(i), l_attribute2_tab(i),
11202 l_attribute3_tab(i), l_attribute4_tab(i), l_attribute5_tab(i),
11203 l_attribute6_tab(i), l_attribute7_tab(i), l_attribute8_tab(i),
11204 l_attribute9_tab(i), l_attribute10_tab(i), l_attribute11_tab(i),
11205 l_attribute12_tab(i), l_attribute13_tab(i), l_attribute14_tab(i),
11206 l_attribute15_tab(i), l_created_by_tab(i), l_creation_date_tab(i),
11207 l_last_updated_by_tab(i), l_last_update_date_tab(i), l_last_update_login_tab(i),
11208 l_nty_code_tab(i), l_fcg_code_tab(i), l_prc_code_tab(i),
11209 l_re_lease_yn_tab(i), l_prescribed_asset_yn_tab(i), l_credit_tenant_yn_tab(i),
11210 l_secured_deal_yn_tab(i), l_clg_id_tab(i), l_date_funding_tab(i),
11211 l_date_funding_required_tab(i), l_date_accepted_tab(i), l_date_delivery_expected_tab(i),
11212 l_oec_tab(i), l_capital_amount_tab(i), l_residual_grnty_amount_tab(i),
11213 l_residual_code_tab(i), l_rvi_premium_tab(i), l_credit_nature_tab(i),
11214 l_capitalized_interest_tab(i), l_capital_reduction_perce_tab(i), l_date_pay_investor_start_tab(i),
11215 l_pay_investor_frequency_tab(i), l_pay_investor_event_tab(i), l_pay_investor_remit_days_tab(i),
11216 l_fee_type_tab(i), l_subsidy_id_tab(i), l_subsidy_override_amount_tab(i),
11217 l_pre_tax_yield_tab(i), l_after_tax_yield_tab(i), l_implicit_interest_rate_tab(i),
11218 l_implicit_non_idc_i_rate_tab(i), l_pre_tax_irr_tab(i), l_after_tax_irr_tab(i),
11219 l_sub_pre_tax_yield_tab(i), l_sub_after_tax_yield_tab(i), l_sub_impl_interest_rate_tab(i),
11220 l_sub_impl_non_idc_int_ra_tab(i), l_sub_pre_tax_irr_tab(i), l_sub_after_tax_irr_tab(i),
11221 l_item_insurance_category_tab(i), l_qte_id_tab(i), l_funding_date_tab(i),
11222 l_stream_type_subclass_tab(i), l_fee_purpose_code_tab(i), l_date_funding_expected_tab(i),
11223 l_manufacturer_name_tab(i), l_model_number_tab(i), l_down_payment_recei_code_tab(i),
11224 l_capitalize_down_paym_yn_tab(i)
11225 );
11226 END IF;
11227
11228 EXCEPTION WHEN OTHERS THEN
11229
11230 x_return_status := OKL_API.G_RET_STS_ERROR;
11231 /*OKL_API.set_message(p_app_name => 'OKL',
11232 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
11233 p_token1 => 'ASSET_NUMBER',
11234 p_token1_value => 'insert_okl_k_lines');*/
11235 /* DEBUG */
11236 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11237 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
11238 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_k_lines:l_id_tab.count=' || l_id_tab.COUNT || ' ...');
11239 END IF;
11240 IF (l_id_tab.COUNT > 0) THEN
11241 FOR i IN l_id_tab.first..l_id_tab.last
11242 LOOP
11243 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11244 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab('||i||')=' || l_id_tab(i));
11245 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_kle_id_tab('||i||')=' || l_kle_id_tab(i));
11246 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sty_id_tab('||i||')=' || l_sty_id_tab(i));
11247 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_object_version_number_tab('||i||')=' || l_object_version_number_tab(i));
11248 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_lao_amount_tab('||i||')=' || l_lao_amount_tab(i));
11249 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_fee_charge_tab('||i||')=' || l_fee_charge_tab(i));
11250 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_title_date_tab('||i||')=' || l_title_date_tab(i));
11251 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));
11252 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_last_reamortisatio_tab('||i||')=' || l_date_last_reamortisatio_tab(i));
11253 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_termination_purchase_am_tab('||i||')=' || l_termination_purchase_am_tab(i));
11254 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_last_cleanup_tab('||i||')=' || l_date_last_cleanup_tab(i));
11255 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_remarketed_amount_tab('||i||')=' || l_remarketed_amount_tab(i));
11256 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_remarketed_tab('||i||')=' || l_date_remarketed_tab(i));
11257 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_remarket_margin_tab('||i||')=' || l_remarket_margin_tab(i));
11258 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_repurchased_amount_tab('||i||')=' || l_repurchased_amount_tab(i));
11259 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_repurchased_tab('||i||')=' || l_date_repurchased_tab(i));
11260 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gain_loss_tab('||i||')=' || l_gain_loss_tab(i));
11261 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_floor_amount_tab('||i||')=' || l_floor_amount_tab(i));
11262 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_previous_contract_tab('||i||')=' || l_previous_contract_tab(i));
11263 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tracked_residual_tab('||i||')=' || l_tracked_residual_tab(i));
11264 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_title_received_tab('||i||')=' || l_date_title_received_tab(i));
11265 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_estimated_oec_tab('||i||')=' || l_estimated_oec_tab(i));
11266 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_residual_percentage_tab('||i||')=' || l_residual_percentage_tab(i));
11267 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capital_reduction_tab('||i||')=' || l_capital_reduction_tab(i));
11268 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_vendor_advance_paid_tab('||i||')=' || l_vendor_advance_paid_tab(i));
11269 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tradein_amount_tab('||i||')=' || l_tradein_amount_tab(i));
11270 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_delivered_date_tab('||i||')=' || l_delivered_date_tab(i));
11271 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_year_of_manufacture_tab('||i||')=' || l_year_of_manufacture_tab(i));
11272 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_initial_direct_cost_tab('||i||')=' || l_initial_direct_cost_tab(i));
11273 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_occupancy_tab('||i||')=' || l_occupancy_tab(i));
11274 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_last_inspection_tab('||i||')=' || l_date_last_inspection_tab(i));
11275 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));
11276 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_weighted_average_life_tab('||i||')=' || l_weighted_average_life_tab(i));
11277 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_bond_equivalent_yield_tab('||i||')=' || l_bond_equivalent_yield_tab(i));
11278 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_refinance_amount_tab('||i||')=' || l_refinance_amount_tab(i));
11279 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_year_built_tab('||i||')=' || l_year_built_tab(i));
11280 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_coverage_ratio_tab('||i||')=' || l_coverage_ratio_tab(i));
11281 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gross_square_footage_tab('||i||')=' || l_gross_square_footage_tab(i));
11282 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_net_rentable_tab('||i||')=' || l_net_rentable_tab(i));
11283 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_letter_acceptance_tab('||i||')=' || l_date_letter_acceptance_tab(i));
11284 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_commitment_expirat_tab('||i||')=' || l_date_commitment_expirat_tab(i));
11285 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_appraisal_tab('||i||')=' || l_date_appraisal_tab(i));
11286 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_appraisal_value_tab('||i||')=' || l_appraisal_value_tab(i));
11287 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_residual_value_tab('||i||')=' || l_residual_value_tab(i));
11288 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_percent_tab('||i||')=' || l_percent_tab(i));
11289 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_coverage_tab('||i||')=' || l_coverage_tab(i));
11290 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_lrv_amount_tab('||i||')=' || l_lrv_amount_tab(i));
11291 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_amount_tab('||i||')=' || l_amount_tab(i));
11292 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_lrs_percent_tab('||i||')=' || l_lrs_percent_tab(i));
11293 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_evergreen_percent_tab('||i||')=' || l_evergreen_percent_tab(i));
11294 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_percent_stake_tab('||i||')=' || l_percent_stake_tab(i));
11295 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_amount_stake_tab('||i||')=' || l_amount_stake_tab(i));
11296 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_sold_tab('||i||')=' || l_date_sold_tab(i));
11297 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_sty_id_for_tab('||i||')=' || l_sty_id_for_tab(i));
11298 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute_category_tab('||i||')=' || l_attribute_category_tab(i));
11299 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute1_tab('||i||')=' || l_attribute1_tab(i));
11300 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute2_tab('||i||')=' || l_attribute2_tab(i));
11301 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute3_tab('||i||')=' || l_attribute3_tab(i));
11302 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute4_tab('||i||')=' || l_attribute4_tab(i));
11303 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute5_tab('||i||')=' || l_attribute5_tab(i));
11304 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute6_tab('||i||')=' || l_attribute6_tab(i));
11305 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute7_tab('||i||')=' || l_attribute7_tab(i));
11306 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute8_tab('||i||')=' || l_attribute8_tab(i));
11307 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute9_tab('||i||')=' || l_attribute9_tab(i));
11308 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute10_tab('||i||')=' || l_attribute10_tab(i));
11309 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute11_tab('||i||')=' || l_attribute11_tab(i));
11310 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute12_tab('||i||')=' || l_attribute12_tab(i));
11311 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute13_tab('||i||')=' || l_attribute13_tab(i));
11312 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute14_tab('||i||')=' || l_attribute14_tab(i));
11313 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute15_tab('||i||')=' || l_attribute15_tab(i));
11314 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_created_by_tab('||i||')=' || l_created_by_tab(i));
11315 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_creation_date_tab('||i||')=' || l_creation_date_tab(i));
11316 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_last_updated_by_tab('||i||')=' || l_last_updated_by_tab(i));
11317 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_last_update_date_tab('||i||')=' || l_last_update_date_tab(i));
11318 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_last_update_login_tab('||i||')=' || l_last_update_login_tab(i));
11319 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_nty_code_tab('||i||')=' || l_nty_code_tab(i));
11320 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_fcg_code_tab('||i||')=' || l_fcg_code_tab(i));
11321 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_prc_code_tab('||i||')=' || l_prc_code_tab(i));
11322 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_re_lease_yn_tab('||i||')=' || l_re_lease_yn_tab(i));
11323 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_prescribed_asset_yn_tab('||i||')=' || l_prescribed_asset_yn_tab(i));
11324 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_credit_tenant_yn_tab('||i||')=' || l_credit_tenant_yn_tab(i));
11325 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_secured_deal_yn_tab('||i||')=' || l_secured_deal_yn_tab(i));
11326 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_clg_id_tab('||i||')=' || l_clg_id_tab(i));
11327 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_funding_tab('||i||')=' || l_date_funding_tab(i));
11328 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_funding_required_tab('||i||')=' || l_date_funding_required_tab(i));
11329 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_accepted_tab('||i||')=' || l_date_accepted_tab(i));
11330 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_delivery_expected_tab('||i||')=' || l_date_delivery_expected_tab(i));
11331 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_oec_tab('||i||')=' || l_oec_tab(i));
11332 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capital_amount_tab('||i||')=' || l_capital_amount_tab(i));
11333 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_residual_grnty_amount_tab('||i||')=' || l_residual_grnty_amount_tab(i));
11334 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_residual_code_tab('||i||')=' || l_residual_code_tab(i));
11335 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rvi_premium_tab('||i||')=' || l_rvi_premium_tab(i));
11336 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_credit_nature_tab('||i||')=' || l_credit_nature_tab(i));
11337 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capitalized_interest_tab('||i||')=' || l_capitalized_interest_tab(i));
11338 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_capital_reduction_perce_tab('||i||')=' || l_capital_reduction_perce_tab(i));
11339 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));
11340 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pay_investor_frequency_tab('||i||')=' || l_pay_investor_frequency_tab(i));
11341 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pay_investor_event_tab('||i||')=' || l_pay_investor_event_tab(i));
11342 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));
11343 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_fee_type_tab('||i||')=' || l_fee_type_tab(i));
11344 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_subsidy_id_tab('||i||')=' || l_subsidy_id_tab(i));
11345 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_subsidy_override_amount_tab('||i||')=' || l_subsidy_override_amount_tab(i));
11346 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pre_tax_yield_tab('||i||')=' || l_pre_tax_yield_tab(i));
11347 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_after_tax_yield_tab('||i||')=' || l_after_tax_yield_tab(i));
11348 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_implicit_interest_rate_tab('||i||')=' || l_implicit_interest_rate_tab(i));
11349 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));
11350 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pre_tax_irr_tab('||i||')=' || l_pre_tax_irr_tab(i));
11351 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_after_tax_irr_tab('||i||')=' || l_after_tax_irr_tab(i));
11352 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));
11353 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));
11354 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));
11355 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));
11356 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));
11357 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));
11358 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_item_insurance_category_tab('||i||')=' || l_item_insurance_category_tab(i));
11359 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_qte_id_tab('||i||')=' || l_qte_id_tab(i));
11360 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_funding_date_tab('||i||')=' || l_funding_date_tab(i));
11361 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_stream_type_subclass_tab('||i||')=' || l_stream_type_subclass_tab(i));
11362 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_fee_purpose_code_tab('||i||')=' || l_fee_purpose_code_tab(i));
11363 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_date_funding_expected_tab('||i||')=' || l_date_funding_expected_tab(i));
11364 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_manufacturer_name_tab('||i||')=' || l_manufacturer_name_tab(i));
11365 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_model_number_tab('||i||')=' || l_model_number_tab(i));
11366 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));
11367 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));
11368 END IF;
11369 END LOOP;
11370 END IF;
11371
11372 RAISE OKC_API.G_EXCEPTION_ERROR;
11373
11374 END; /* insert_okl_k_lines */
11375
11376 PROCEDURE do_sort_party_mapping_id IS
11377 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
11378 --a numtabtype;
11379 l_stack numtabtype;
11380 l_stack_index NUMBER := 0;
11381 N NUMBER;
11382 R NUMBER;
11383 L NUMBER;
11384 P NUMBER;
11385 W NUMBER;
11386 W2 NUMBER;
11387 X NUMBER;
11388 I NUMBER;
11389 J NUMBER;
11390 BEGIN
11391 IF (G_DEBUG_ENABLED = 'Y') THEN
11392 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
11393 END IF;
11394 NULL;
11395 /*a(1) := 10;
11396 a(2) := 50;
11397 a(3) := 27;
11398 a(4) := 5;
11399 a(5) := 100;
11400 a(6) := 50;
11401 a(7) := 35;
11402 a(8) := 41;
11403 a(9) := 75;
11404 a(10) := 20;
11405
11406 N := 10;
11407 */
11408
11409 N := l_party_counter - 1;
11410 IF (N < 2) THEN
11411 RETURN;
11412 END IF;
11413 l_stack_index := l_stack_index + 1;
11414 l_stack(l_stack_index) := 1;
11415 l_stack_index := l_stack_index + 1;
11416 l_stack(l_stack_index) := N;
11417
11418 --dbms_output.put_line('l_stack_index=' || l_stack_index);
11419 WHILE l_stack_index > 0
11420 LOOP
11421 R := l_stack(l_stack_index);
11422 l_stack_index := l_stack_index - 1;
11423 L := l_stack(l_stack_index);
11424 l_stack_index := l_stack_index - 1;
11425 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
11426 WHILE 1=1
11427 LOOP -- loop until L >= R
11428 I := L;
11429 J := R;
11430 P := FLOOR((L+R)/2);
11431 --if (a(L) > a(P)) then
11432 IF (l_party_id_mapping_tab(L).old_id > l_party_id_mapping_tab(P).old_id)
11433 THEN
11434 /*W := a(L);
11435 a(L) := a(P);
11436 a(P) := W;*/
11437
11438 W := l_party_id_mapping_tab(L).old_id;
11439 W2 := l_party_id_mapping_tab(L).new_id;
11440 l_party_id_mapping_tab(L).old_id :=l_party_id_mapping_tab(P).old_id;
11441 l_party_id_mapping_tab(L).new_id :=l_party_id_mapping_tab(P).new_id;
11442 l_party_id_mapping_tab(P).old_id := W;
11443 l_party_id_mapping_tab(P).new_id := W2;
11444 END IF;
11445 --if (a(L) > a(R)) then
11446 IF (l_party_id_mapping_tab(L).old_id > l_party_id_mapping_tab(R).old_id)
11447 THEN
11448 /*W := a(L);
11449 a(L) := a(R);
11450 a(R) := W;*/
11451 W := l_party_id_mapping_tab(L).old_id;
11452 W2 := l_party_id_mapping_tab(L).new_id;
11453 l_party_id_mapping_tab(L).old_id :=l_party_id_mapping_tab(R).old_id;
11454 l_party_id_mapping_tab(L).new_id :=l_party_id_mapping_tab(R).new_id;
11455 l_party_id_mapping_tab(R).old_id := W;
11456 l_party_id_mapping_tab(R).new_id := W2;
11457 END IF;
11458 --if (a(P) > a(R)) then
11459 IF (l_party_id_mapping_tab(P).old_id > l_party_id_mapping_tab(R).old_id)
11460 THEN
11461 /*W := a(P);
11462 a(P) := a(R);
11463 a(R) := W; */
11464 W := l_party_id_mapping_tab(P).old_id;
11465 W2 := l_party_id_mapping_tab(P).new_id;
11466 l_party_id_mapping_tab(P).old_id :=l_party_id_mapping_tab(R).old_id;
11467 l_party_id_mapping_tab(P).new_id :=l_party_id_mapping_tab(R).new_id;
11468 l_party_id_mapping_tab(R).old_id := W;
11469 l_party_id_mapping_tab(R).new_id := W2;
11470 END IF;
11471 --X := a(P);
11472 X := l_party_id_mapping_tab(P).old_id;
11473 WHILE 1=1
11474 LOOP -- until I > J
11475 --while (a(I) < X) loop
11476 WHILE (l_party_id_mapping_tab(I).old_id < X) LOOP
11477 I := I + 1;
11478 END LOOP;
11479 WHILE (X < l_party_id_mapping_tab(J).old_id) LOOP
11480 J := J - 1;
11481 END LOOP;
11482 IF (I <= J) THEN
11483 /*W := a(I);
11484 a(I) := a(J);
11485 a(J) := W;*/
11486 W := l_party_id_mapping_tab(I).old_id;
11487 W2 := l_party_id_mapping_tab(I).new_id;
11488 l_party_id_mapping_tab(I).old_id :=l_party_id_mapping_tab(J).old_id;
11489 l_party_id_mapping_tab(I).new_id :=l_party_id_mapping_tab(J).new_id;
11490 l_party_id_mapping_tab(J).old_id := W;
11491 l_party_id_mapping_tab(J).new_id := W2;
11492 I := I + 1;
11493 J := J - 1;
11494 END IF;
11495 EXIT WHEN I > J;
11496 END LOOP;
11497 IF (J - L < R - I) THEN
11498 IF (I < R) THEN
11499 --push(I); push(R);
11500 l_stack_index := l_stack_index + 1;
11501 l_stack(l_stack_index) := I;
11502 l_stack_index := l_stack_index + 1;
11503 l_stack(l_stack_index) := R;
11504 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
11505 END IF;
11506 R := J;
11507 ELSE
11508 IF (L < J) THEN
11509 --push(L); push(J);
11510 l_stack_index := l_stack_index + 1;
11511 l_stack(l_stack_index) := L;
11512 l_stack_index := l_stack_index + 1;
11513 l_stack(l_stack_index) := J;
11514 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
11515 END IF;
11516 L := I;
11517 END IF;
11518
11519 EXIT WHEN (L >= R);
11520 END LOOP;
11521 END LOOP;
11522
11523 EXCEPTION WHEN OTHERS THEN
11524
11525 x_return_status := OKL_API.G_RET_STS_ERROR;
11526 /*OKL_API.set_message(p_app_name => 'OKL',
11527 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
11528 p_token1 => 'ASSET_NUMBER',
11529 p_token1_value => 'do_sort_party_mapping_id');*/
11530 /* DEBUG */
11531 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11532 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
11533 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing do_sort_party_mapping:l_party_id_mapping_tab N=' || N || ' ...');
11534 END IF;
11535
11536 --print array
11537 FOR i IN 1..N
11538 LOOP
11539 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11540 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);
11541 END IF;
11542 END LOOP;
11543
11544 RAISE OKC_API.G_EXCEPTION_ERROR;
11545
11546 END; /* do_sort_party_mapping_id */
11547
11548 FUNCTION find_party_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
11549 hi NUMBER;
11550 lo NUMBER;
11551 m NUMBER;
11552 BEGIN
11553 lo := 1;
11554 hi := l_party_counter - 1;
11555 WHILE (lo <= hi) LOOP
11556 m := FLOOR((hi + lo)/2);
11557 IF (l_party_id_mapping_tab(m).old_id = p_id) THEN
11558 RETURN l_party_id_mapping_tab(m).new_id;
11559 ELSIF (l_party_id_mapping_tab(m).old_id > p_id) THEN
11560 hi := m - 1;
11561 ELSE
11562 lo := m + 1;
11563 END IF;
11564 END LOOP;
11565 RETURN -1;
11566 END; /* find_party_mapping_id */
11567
11568 PROCEDURE prepare_okl_party_roles (p_old_id IN okl_k_party_roles.id%TYPE,
11569 p_new_id IN okl_k_party_roles.id%TYPE,
11570 p_flush IN VARCHAR2) IS
11571 CURSOR c30(p_id okl_k_party_roles.id%TYPE) IS
11572 SELECT
11573 a.id, a.object_version_number, a.attribute_category,
11574 a.attribute1, a.attribute2, a.attribute3,
11575 a.attribute4, a.attribute5, a.attribute6,
11576 a.attribute7, a.attribute8, a.attribute9,
11577 a.attribute10, a.attribute11, a.attribute12,
11578 a.attribute13, a.attribute14, a.attribute15
11579 FROM okl_k_party_roles a
11580 WHERE id = p_id;
11581
11582 l_plid_tab2 l_plid_type;
11583 l_plobject_version_number_tab2 l_plobject_version_number_type;
11584 l_plattribute_category_tab2 l_plattribute_category_type;
11585 l_plattribute1_tab2 l_plattribute1_type;
11586 l_plattribute2_tab2 l_plattribute2_type;
11587 l_plattribute3_tab2 l_plattribute3_type;
11588 l_plattribute4_tab2 l_plattribute4_type;
11589 l_plattribute5_tab2 l_plattribute5_type;
11590 l_plattribute6_tab2 l_plattribute6_type;
11591 l_plattribute7_tab2 l_plattribute7_type;
11592 l_plattribute8_tab2 l_plattribute8_type;
11593 l_plattribute9_tab2 l_plattribute9_type;
11594 l_plattribute10_tab2 l_plattribute10_type;
11595 l_plattribute11_tab2 l_plattribute11_type;
11596 l_plattribute12_tab2 l_plattribute12_type;
11597 l_plattribute13_tab2 l_plattribute13_type;
11598 l_plattribute14_tab2 l_plattribute14_type;
11599 l_plattribute15_tab2 l_plattribute15_type;
11600
11601 BEGIN
11602 IF (G_DEBUG_ENABLED = 'Y') THEN
11603 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
11604 END IF;
11605 --print('In prepare_okl_party_roles p_old_id=' || p_old_id);
11606 --print('In prepare_okl_party_roles p_new_id=' || p_new_id);
11607 OPEN c30(p_old_id);
11608 LOOP
11609 FETCH c30 bulk collect INTO
11610 l_plid_tab2, l_plobject_version_number_tab2, l_plattribute_category_tab2,
11611 l_plattribute1_tab2, l_plattribute2_tab2, l_plattribute3_tab2,
11612 l_plattribute4_tab2, l_plattribute5_tab2, l_plattribute6_tab2,
11613 l_plattribute7_tab2, l_plattribute8_tab2, l_plattribute9_tab2,
11614 l_plattribute10_tab2, l_plattribute11_tab2, l_plattribute12_tab2,
11615 l_plattribute13_tab2, l_plattribute14_tab2, l_plattribute15_tab2
11616 limit G_BULK_SIZE;
11617 EXIT WHEN l_plid_tab2.COUNT = 0;
11618
11619 FOR i IN l_plid_tab2.first..l_plid_tab2.last
11620 LOOP
11621 l_plid_tab(l_okl_k_party_roles_counter) := l_plid_tab2(i);
11622 -- Replace id
11623 l_plid_tab(l_okl_k_party_roles_counter) := p_new_id;
11624
11625 l_plobject_version_number_tab(l_okl_k_party_roles_counter) := l_plobject_version_number_tab2(i);
11626 l_plattribute_category_tab(l_okl_k_party_roles_counter) := l_plattribute_category_tab2(i);
11627 l_plattribute1_tab(l_okl_k_party_roles_counter) := l_plattribute1_tab2(i);
11628 l_plattribute2_tab(l_okl_k_party_roles_counter) := l_plattribute2_tab2(i);
11629 l_plattribute3_tab(l_okl_k_party_roles_counter) := l_plattribute3_tab2(i);
11630 l_plattribute4_tab(l_okl_k_party_roles_counter) := l_plattribute4_tab2(i);
11631 l_plattribute5_tab(l_okl_k_party_roles_counter) := l_plattribute5_tab2(i);
11632 l_plattribute6_tab(l_okl_k_party_roles_counter) := l_plattribute6_tab2(i);
11633 l_plattribute7_tab(l_okl_k_party_roles_counter) := l_plattribute7_tab2(i);
11634 l_plattribute8_tab(l_okl_k_party_roles_counter) := l_plattribute8_tab2(i);
11635 l_plattribute9_tab(l_okl_k_party_roles_counter) := l_plattribute9_tab2(i);
11636 l_plattribute10_tab(l_okl_k_party_roles_counter) := l_plattribute10_tab2(i);
11637 l_plattribute11_tab(l_okl_k_party_roles_counter) := l_plattribute11_tab2(i);
11638 l_plattribute12_tab(l_okl_k_party_roles_counter) := l_plattribute12_tab2(i);
11639 l_plattribute13_tab(l_okl_k_party_roles_counter) := l_plattribute13_tab2(i);
11640 l_plattribute14_tab(l_okl_k_party_roles_counter) := l_plattribute14_tab2(i);
11641 l_plattribute15_tab(l_okl_k_party_roles_counter) := l_plattribute15_tab2(i);
11642
11643 l_okl_k_party_roles_counter := l_okl_k_party_roles_counter + 1;
11644
11645 END LOOP;
11646
11647 END LOOP;
11648 CLOSE c30;
11649
11650 IF (p_flush = 'Y') THEN
11651 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11652 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);
11653 END IF;
11654 IF (l_plid_tab.COUNT > 0) THEN
11655 forall i IN l_plid_tab.first..l_plid_tab.last
11656 INSERT INTO okl_k_party_roles (
11657 id, object_version_number, attribute_category,
11658 attribute1, attribute2, attribute3,
11659 attribute4, attribute5, attribute6,
11660 attribute7, attribute8, attribute9,
11661 attribute10, attribute11, attribute12,
11662 attribute13, attribute14, attribute15,
11663 created_by, creation_date, last_updated_by,
11664 last_update_date, last_update_login
11665 ) VALUES (
11666 l_plid_tab(i), l_plobject_version_number_tab(i), l_plattribute_category_tab(i),
11667 l_plattribute1_tab(i), l_plattribute2_tab(i), l_plattribute3_tab(i),
11668 l_plattribute4_tab(i), l_plattribute5_tab(i), l_plattribute6_tab(i),
11669 l_plattribute7_tab(i), l_plattribute8_tab(i), l_plattribute9_tab(i),
11670 l_plattribute10_tab(i), l_plattribute11_tab(i), l_plattribute12_tab(i),
11671 l_plattribute13_tab(i), l_plattribute14_tab(i), l_plattribute15_tab(i),
11672 l_created_by, SYSDATE, l_last_updated_by,
11673 SYSDATE, l_last_update_login
11674 );
11675 END IF;
11676 END IF;
11677
11678 EXCEPTION WHEN OTHERS THEN
11679
11680 x_return_status := OKL_API.G_RET_STS_ERROR;
11681 /* DEBUG */
11682 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11683 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
11684 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_okl_party_roles:l_plid_tab.count=' || l_plid_tab.COUNT || ' ...');
11685 END IF;
11686 IF (l_plid_tab.COUNT > 0) THEN
11687 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11688 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_plid_tab...');
11689 END IF;
11690 FOR i IN l_plid_tab.FIRST..l_plid_tab.LAST
11691 LOOP
11692 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11693 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plid_tab('||i||')=' || l_plid_tab(i));
11694 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plobject_version_number_tab('||i||')=' || l_plobject_version_number_tab(i));
11695 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute_category_tab('||i||')=' || l_plattribute_category_tab(i));
11696 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute1_tab('||i||')=' || l_plattribute1_tab(i));
11697 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute2_tab('||i||')=' || l_plattribute2_tab(i));
11698 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute3_tab('||i||')=' || l_plattribute3_tab(i));
11699 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute4_tab('||i||')=' || l_plattribute4_tab(i));
11700 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute5_tab('||i||')=' || l_plattribute5_tab(i));
11701 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute6_tab('||i||')=' || l_plattribute6_tab(i));
11702 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute7_tab('||i||')=' || l_plattribute7_tab(i));
11703 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute8_tab('||i||')=' || l_plattribute8_tab(i));
11704 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute9_tab('||i||')=' || l_plattribute9_tab(i));
11705 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute10_tab('||i||')=' || l_plattribute10_tab(i));
11706 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute11_tab('||i||')=' || l_plattribute11_tab(i));
11707 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute12_tab('||i||')=' || l_plattribute12_tab(i));
11708 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute13_tab('||i||')=' || l_plattribute13_tab(i));
11709 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute14_tab('||i||')=' || l_plattribute14_tab(i));
11710 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_plattribute15_tab('||i||')=' || l_plattribute15_tab(i));
11711 END IF;
11712 END LOOP;
11713
11714 END IF;
11715
11716 RAISE OKC_API.G_EXCEPTION_ERROR;
11717
11718 END; /* prepare_okl_party_roles */
11719
11720 PROCEDURE prepare_party_roles_tl (p_old_id IN okc_k_party_roles_b.id%TYPE,
11721 p_new_id IN okc_k_party_roles_b.id%TYPE,
11722 p_flush IN VARCHAR2) IS
11723 CURSOR c10(p_id okc_k_party_roles_tl.id%TYPE) IS
11724 SELECT
11725 id, LANGUAGE, source_lang,
11726 sfwt_flag, created_by, creation_date,
11727 last_updated_by, last_update_date, cognomen,
11728 alias, last_update_login, security_group_id
11729 FROM okc_k_party_roles_tl
11730 WHERE id = p_id;
11731
11732 l_pid_tab2 l_pid_type;
11733 l_planguage_tab2 l_planguage_type;
11734 l_psource_lang_tab2 l_psource_lang_type;
11735 l_psfwt_flag_tab2 l_psfwt_flag_type;
11736 l_pcreated_by_tab2 l_pcreated_by_type;
11737 l_pcreation_date_tab2 l_pcreation_date_type;
11738 l_plast_updated_by_tab2 l_plast_updated_by_type;
11739 l_plast_update_date_tab2 l_plast_update_date_type;
11740 l_pcognomen_tab2 l_pcognomen_type;
11741 l_palias_tab2 l_palias_type;
11742 l_plast_update_login_tab2 l_plast_update_login_type;
11743 l_psecurity_group_id_tab2 l_psecurity_group_id_type;
11744
11745 BEGIN
11746 IF (G_DEBUG_ENABLED = 'Y') THEN
11747 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
11748 END IF;
11749 --print('In prepare_party_roles_tl p_old_id=' || p_old_id);
11750 --print('In prepare_party_roles_tl p_new_id=' || p_new_id);
11751 OPEN c10(p_old_id);
11752 LOOP
11753 FETCH c10 bulk collect INTO
11754 l_pid_tab2, l_planguage_tab2, l_psource_lang_tab2,
11755 l_psfwt_flag_tab2, l_pcreated_by_tab2, l_pcreation_date_tab2,
11756 l_plast_updated_by_tab2, l_plast_update_date_tab2, l_pcognomen_tab2,
11757 l_palias_tab2, l_plast_update_login_tab2, l_psecurity_group_id_tab2
11758 limit G_BULK_SIZE;
11759 EXIT WHEN l_pid_tab2.COUNT = 0;
11760
11761 FOR i IN l_pid_tab2.first..l_pid_tab2.last
11762 LOOP
11763 l_pid_tab(l_party_roles_tl_counter) := l_pid_tab2(i);
11764
11765 -- Replace id
11766 l_pid_tab(l_party_roles_tl_counter) := p_new_id;
11767
11768 l_planguage_tab(l_party_roles_tl_counter) := l_planguage_tab2(i);
11769 l_psource_lang_tab(l_party_roles_tl_counter) := l_psource_lang_tab2(i);
11770 l_psfwt_flag_tab(l_party_roles_tl_counter) := l_psfwt_flag_tab2(i);
11771 l_pcreated_by_tab(l_party_roles_tl_counter) := l_pcreated_by_tab2(i);
11772 l_pcreation_date_tab(l_party_roles_tl_counter) := l_pcreation_date_tab2(i);
11773 l_plast_updated_by_tab(l_party_roles_tl_counter) := l_plast_updated_by_tab2(i);
11774 l_plast_update_date_tab(l_party_roles_tl_counter) := l_plast_update_date_tab2(i);
11775 l_pcognomen_tab(l_party_roles_tl_counter) := l_pcognomen_tab2(i);
11776 l_palias_tab(l_party_roles_tl_counter) := l_palias_tab2(i);
11777 l_plast_update_login_tab(l_party_roles_tl_counter) := l_plast_update_login_tab2(i);
11778 l_psecurity_group_id_tab(l_party_roles_tl_counter) := l_psecurity_group_id_tab2(i);
11779
11780 l_party_roles_tl_counter := l_party_roles_tl_counter + 1;
11781 END LOOP;
11782
11783 END LOOP;
11784 CLOSE c10;
11785
11786 IF (p_flush = 'L') THEN
11787 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11788 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);
11789 END IF;
11790 IF (l_pid_tab.COUNT > 0) THEN
11791 forall i IN l_pid_tab.first..l_pid_tab.last
11792 INSERT INTO okc_k_party_roles_tl (
11793 id, LANGUAGE, source_lang,
11794 sfwt_flag, created_by, creation_date,
11795 last_updated_by, last_update_date, cognomen,
11796 alias, last_update_login, security_group_id
11797 ) VALUES (
11798 l_pid_tab(i), l_planguage_tab(i), l_psource_lang_tab(i),
11799 'N', l_created_by, SYSDATE,
11800 l_last_updated_by, SYSDATE,l_pcognomen_tab(i),
11801 l_palias_tab(i),l_last_update_login, l_psecurity_group_id_tab(i)
11802 );
11803 END IF;
11804 END IF;
11805
11806 EXCEPTION WHEN OTHERS THEN
11807
11808 x_return_status := OKL_API.G_RET_STS_ERROR;
11809 /*OKL_API.set_message(p_app_name => 'OKL',
11810 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
11811 p_token1 => 'ASSET_NUMBER',
11812 p_token1_value => 'prepare_party_roles_tl');*/
11813 /* DEBUG */
11814 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11815 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
11816 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_party_roles_tl:l_pid_tab.count=' || l_pid_tab.COUNT || ' ...');
11817 END IF;
11818 IF (l_pid_tab.COUNT > 0) THEN
11819 FOR i IN l_pid_tab.first..l_pid_tab.last
11820 LOOP
11821 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11822 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pid_tab('||i||')=' || l_pid_tab(i));
11823 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_planguage_tab('||i||')=' || l_planguage_tab(i));
11824 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_psource_lang_tab('||i||')=' || l_psource_lang_tab(i));
11825 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pcognomen_tab('||i||')=' || l_pcognomen_tab(i));
11826 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_palias_tab('||i||')=' || l_palias_tab(i));
11827 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_psecurity_group_id_tab('||i||')=' || l_psecurity_group_id_tab(i));
11828 END IF;
11829 END LOOP;
11830 END IF;
11831
11832 RAISE OKC_API.G_EXCEPTION_ERROR;
11833
11834 END; /* prepare_party_roles_tl */
11835
11836 PROCEDURE prepare_contacts (p_old_id IN okc_k_party_roles_b.id%TYPE,
11837 p_new_id IN okc_k_party_roles_b.id%TYPE,
11838 p_flush IN VARCHAR2) IS
11839 CURSOR c11(p_id okc_k_party_roles_tl.id%TYPE) IS
11840 SELECT
11841 id, cpl_id, cro_code,
11842 dnz_chr_id, object1_id1, object1_id2,
11843 jtot_object1_code, object_version_number, created_by,
11844 creation_date, last_updated_by, last_update_date,
11845 contact_sequence, last_update_login, attribute_category,
11846 attribute1, attribute2, attribute3,
11847 attribute4, attribute5, attribute6,
11848 attribute7, attribute8, attribute9,
11849 attribute10, attribute11, attribute12,
11850 attribute13, attribute14, attribute15,
11851 security_group_id, start_date, end_date,
11852 primary_yn, resource_class
11853 FROM okc_contacts
11854 WHERE cpl_id = p_id;
11855
11856 l_cid_tab2 l_cid_type;
11857 l_ccpl_id_tab2 l_ccpl_id_type;
11858 l_ccro_code_tab2 l_ccro_code_type;
11859 l_cdnz_chr_id_tab2 l_cdnz_chr_id_type;
11860 l_cobject1_id1_tab2 l_cobject1_id1_type;
11861 l_cobject1_id2_tab2 l_cobject1_id2_type;
11862 l_cjtot_object1_code_tab2 l_cjtot_object1_code_type;
11863 l_cobject_version_number_tab2 l_cobject_version_number_type;
11864 l_ccreated_by_tab2 l_ccreated_by_type;
11865 l_ccreation_date_tab2 l_ccreation_date_type;
11866 l_clast_updated_by_tab2 l_clast_updated_by_type;
11867 l_clast_update_date_tab2 l_clast_update_date_type;
11868 l_ccontact_sequence_tab2 l_ccontact_sequence_type;
11869 l_clast_update_login_tab2 l_clast_update_login_type;
11870 l_cattribute_category_tab2 l_cattribute_category_type;
11871 l_cattribute1_tab2 l_cattribute1_type;
11872 l_cattribute2_tab2 l_cattribute2_type;
11873 l_cattribute3_tab2 l_cattribute3_type;
11874 l_cattribute4_tab2 l_cattribute4_type;
11875 l_cattribute5_tab2 l_cattribute5_type;
11876 l_cattribute6_tab2 l_cattribute6_type;
11877 l_cattribute7_tab2 l_cattribute7_type;
11878 l_cattribute8_tab2 l_cattribute8_type;
11879 l_cattribute9_tab2 l_cattribute9_type;
11880 l_cattribute10_tab2 l_cattribute10_type;
11881 l_cattribute11_tab2 l_cattribute11_type;
11882 l_cattribute12_tab2 l_cattribute12_type;
11883 l_cattribute13_tab2 l_cattribute13_type;
11884 l_cattribute14_tab2 l_cattribute14_type;
11885 l_cattribute15_tab2 l_cattribute15_type;
11886 l_csecurity_group_id_tab2 l_csecurity_group_id_type;
11887 l_cstart_date_tab2 l_cstart_date_type;
11888 l_cend_date_tab2 l_cend_date_type;
11889 l_cprimary_yn_tab2 l_cprimary_yn_type;
11890 l_cresource_class_tab2 l_cresource_class_type;
11891
11892 BEGIN
11893 IF (G_DEBUG_ENABLED = 'Y') THEN
11894 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
11895 END IF;
11896 --print('In prepare_contacts p_old_id=' || p_old_id);
11897 --print('In prepare_contacts p_new_id=' || p_new_id);
11898 OPEN c11(p_old_id);
11899 LOOP
11900 FETCH c11 bulk collect INTO
11901 l_cid_tab2, l_ccpl_id_tab2, l_ccro_code_tab2,
11902 l_cdnz_chr_id_tab2, l_cobject1_id1_tab2, l_cobject1_id2_tab2,
11903 l_cjtot_object1_code_tab2,l_cobject_version_number_tab2,l_ccreated_by_tab2,
11904 l_ccreation_date_tab2, l_clast_updated_by_tab2, l_clast_update_date_tab2,
11905 l_ccontact_sequence_tab2, l_clast_update_login_tab2, l_cattribute_category_tab2,
11906 l_cattribute1_tab2, l_cattribute2_tab2, l_cattribute3_tab2,
11907 l_cattribute4_tab2, l_cattribute5_tab2, l_cattribute6_tab2,
11908 l_cattribute7_tab2, l_cattribute8_tab2, l_cattribute9_tab2,
11909 l_cattribute10_tab2, l_cattribute11_tab2, l_cattribute12_tab2,
11910 l_cattribute13_tab2, l_cattribute14_tab2, l_cattribute15_tab2,
11911 l_csecurity_group_id_tab2, l_cstart_date_tab2, l_cend_date_tab2,
11912 l_cprimary_yn_tab2, l_cresource_class_tab2
11913 limit G_BULK_SIZE;
11914 EXIT WHEN l_cid_tab2.COUNT = 0;
11915
11916 FOR i IN l_cid_tab2.first..l_cid_tab2.last
11917 LOOP
11918 l_cid_tab(l_contacts_counter) := l_cid_tab2(i);
11919
11920 -- Replace id
11921 l_cid_tab(l_contacts_counter) := okc_p_util.raw_to_number(sys_guid());
11922
11923 l_ccpl_id_tab(l_contacts_counter) := l_ccpl_id_tab2(i);
11924 -- Replace cpl_id
11925 l_ccpl_id_tab(l_contacts_counter) := p_new_id;
11926
11927 l_ccro_code_tab(l_contacts_counter) := l_ccro_code_tab2(i);
11928 l_cdnz_chr_id_tab(l_contacts_counter) := l_cdnz_chr_id_tab2(i);
11929 -- Replace dnz_chr_id
11930 l_cdnz_chr_id_tab(l_contacts_counter) := l_copied_id;
11931
11932 l_cobject1_id1_tab(l_contacts_counter) := l_cobject1_id1_tab2(i);
11933 l_cobject1_id2_tab(l_contacts_counter) := l_cobject1_id2_tab2(i);
11934 l_cjtot_object1_code_tab(l_contacts_counter) := l_cjtot_object1_code_tab2(i);
11935 l_cobject_version_number_tab(l_contacts_counter) := l_cobject_version_number_tab2(i);
11936 l_ccreated_by_tab(l_contacts_counter) := l_ccreated_by_tab2(i);
11937 l_ccreation_date_tab(l_contacts_counter) := l_ccreation_date_tab2(i);
11938 l_clast_updated_by_tab(l_contacts_counter) := l_clast_updated_by_tab2(i);
11939 l_clast_update_date_tab(l_contacts_counter) := l_clast_update_date_tab2(i);
11940 l_ccontact_sequence_tab(l_contacts_counter) := l_ccontact_sequence_tab2(i);
11941 l_clast_update_login_tab(l_contacts_counter) := l_clast_update_login_tab2(i);
11942 l_cattribute_category_tab(l_contacts_counter) := l_cattribute_category_tab2(i);
11943 l_cattribute1_tab(l_contacts_counter) := l_cattribute1_tab2(i);
11944 l_cattribute2_tab(l_contacts_counter) := l_cattribute2_tab2(i);
11945 l_cattribute3_tab(l_contacts_counter) := l_cattribute3_tab2(i);
11946 l_cattribute4_tab(l_contacts_counter) := l_cattribute4_tab2(i);
11947 l_cattribute5_tab(l_contacts_counter) := l_cattribute5_tab2(i);
11948 l_cattribute6_tab(l_contacts_counter) := l_cattribute6_tab2(i);
11949 l_cattribute7_tab(l_contacts_counter) := l_cattribute7_tab2(i);
11950 l_cattribute8_tab(l_contacts_counter) := l_cattribute8_tab2(i);
11951 l_cattribute9_tab(l_contacts_counter) := l_cattribute9_tab2(i);
11952 l_cattribute10_tab(l_contacts_counter) := l_cattribute10_tab2(i);
11953 l_cattribute11_tab(l_contacts_counter) := l_cattribute11_tab2(i);
11954 l_cattribute12_tab(l_contacts_counter) := l_cattribute12_tab2(i);
11955 l_cattribute13_tab(l_contacts_counter) := l_cattribute13_tab2(i);
11956 l_cattribute14_tab(l_contacts_counter) := l_cattribute14_tab2(i);
11957 l_cattribute15_tab(l_contacts_counter) := l_cattribute15_tab2(i);
11958 l_csecurity_group_id_tab(l_contacts_counter) := l_csecurity_group_id_tab2(i);
11959 l_cstart_date_tab(l_contacts_counter) := l_cstart_date_tab2(i);
11960 l_cend_date_tab(l_contacts_counter) := l_cend_date_tab2(i);
11961 l_cprimary_yn_tab(l_contacts_counter) := l_cprimary_yn_tab2(i);
11962 l_cresource_class_tab(l_contacts_counter) := l_cresource_class_tab2(i);
11963
11964 l_contacts_counter := l_contacts_counter + 1;
11965 END LOOP;
11966
11967 END LOOP;
11968 CLOSE c11;
11969
11970 IF (p_flush = 'L') THEN
11971 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
11972 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);
11973 END IF;
11974 IF (l_contacts_counter > 1) THEN
11975 forall i IN l_cid_tab.first..l_cid_tab.last
11976 INSERT INTO okc_contacts (
11977 id, cpl_id, cro_code,
11978 dnz_chr_id, object1_id1, object1_id2,
11979 jtot_object1_code, object_version_number, created_by,
11980 creation_date, last_updated_by, last_update_date,
11981 contact_sequence, last_update_login, attribute_category,
11982 attribute1, attribute2, attribute3,
11983 attribute4, attribute5, attribute6,
11984 attribute7, attribute8, attribute9,
11985 attribute10, attribute11, attribute12,
11986 attribute13, attribute14, attribute15,
11987 security_group_id, start_date, end_date,
11988 primary_yn, resource_class
11989 ) VALUES (
11990 l_cid_tab(i), l_ccpl_id_tab(i), l_ccro_code_tab(i),
11991 l_cdnz_chr_id_tab(i), l_cobject1_id1_tab(i), l_cobject1_id2_tab(i),
11992 l_cjtot_object1_code_tab(i), 1, l_created_by,
11993 SYSDATE, l_last_updated_by, SYSDATE,
11994 l_ccontact_sequence_tab(i), l_last_update_login, l_cattribute_category_tab(i),
11995 l_cattribute1_tab(i), l_cattribute2_tab(i), l_cattribute3_tab(i),
11996 l_cattribute4_tab(i), l_cattribute5_tab(i), l_cattribute6_tab(i),
11997 l_cattribute7_tab(i), l_cattribute8_tab(i), l_cattribute9_tab(i),
11998 l_cattribute10_tab(i), l_cattribute11_tab(i), l_cattribute12_tab(i),
11999 l_cattribute13_tab(i), l_cattribute14_tab(i), l_cattribute15_tab(i),
12000 l_csecurity_group_id_tab(i), l_cstart_date_tab(i), l_cend_date_tab(i),
12001 l_cprimary_yn_tab(i),l_cresource_class_tab(i)
12002 );
12003 END IF;
12004 END IF;
12005
12006 EXCEPTION WHEN OTHERS THEN
12007
12008 x_return_status := OKL_API.G_RET_STS_ERROR;
12009 /*OKL_API.set_message(p_app_name => 'OKL',
12010 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
12011 p_token1 => 'ASSET_NUMBER',
12012 p_token1_value => 'prepare_contacts');*/
12013 /* DEBUG */
12014 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12015 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
12016 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_contacts:l_cid_tab.count=' || l_cid_tab.COUNT || ' ...');
12017 END IF;
12018 IF (l_cid_tab.COUNT > 0) THEN
12019 FOR i IN l_cid_tab.first..l_cid_tab.last
12020 LOOP
12021 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12022 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cid_tab('||i||')=' || l_cid_tab(i));
12023 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ccpl_id_tab('||i||')=' || l_ccpl_id_tab(i));
12024 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ccro_code_tab('||i||')=' || l_ccro_code_tab(i));
12025 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cdnz_chr_id_tab('||i||')=' || l_cdnz_chr_id_tab(i));
12026 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cobject1_id1_tab('||i||')=' || l_cobject1_id1_tab(i));
12027 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cobject1_id2_tab('||i||')=' || l_cobject1_id2_tab(i));
12028 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cjtot_object1_code_tab('||i||')=' || l_cjtot_object1_code_tab(i));
12029 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ccontact_sequence_tab('||i||')=' || l_ccontact_sequence_tab(i));
12030 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute_category_tab('||i||')=' || l_cattribute_category_tab(i));
12031 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute1_tab('||i||')=' || l_cattribute1_tab(i));
12032 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute2_tab('||i||')=' || l_cattribute2_tab(i));
12033 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute3_tab('||i||')=' || l_cattribute3_tab(i));
12034 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute4_tab('||i||')=' || l_cattribute4_tab(i));
12035 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute5_tab('||i||')=' || l_cattribute5_tab(i));
12036 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute6_tab('||i||')=' || l_cattribute6_tab(i));
12037 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute7_tab('||i||')=' || l_cattribute7_tab(i));
12038 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute8_tab('||i||')=' || l_cattribute8_tab(i));
12039 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute9_tab('||i||')=' || l_cattribute9_tab(i));
12040 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute10_tab('||i||')=' || l_cattribute10_tab(i));
12041 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute11_tab('||i||')=' || l_cattribute11_tab(i));
12042 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute12_tab('||i||')=' || l_cattribute12_tab(i));
12043 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute13_tab('||i||')=' || l_cattribute13_tab(i));
12044 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute14_tab('||i||')=' || l_cattribute14_tab(i));
12045 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cattribute15_tab('||i||')=' || l_cattribute15_tab(i));
12046 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_csecurity_group_id_tab('||i||')=' || l_csecurity_group_id_tab(i));
12047 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cstart_date_tab('||i||')=' || l_cstart_date_tab(i));
12048 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cend_date_tab('||i||')=' || l_cend_date_tab(i));
12049 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cprimary_yn_tab('||i||')=' || l_cprimary_yn_tab(i));
12050 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cresource_class_tab('||i||')=' || l_cresource_class_tab(i));
12051 END IF;
12052 END LOOP;
12053 END IF;
12054
12055 RAISE OKC_API.G_EXCEPTION_ERROR;
12056
12057 END; /* prepare_contacts */
12058
12059 FUNCTION find_phid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
12060 hi NUMBER;
12061 lo NUMBER;
12062 m NUMBER;
12063 BEGIN
12064 lo := 1;
12065 hi := l_party_payment_hdr_counter - 1;
12066 WHILE (lo <= hi) LOOP
12067 m := FLOOR((hi + lo)/2);
12068 IF (l_phid_mapping_tab(m).old_id = p_id) THEN
12069 RETURN l_phid_mapping_tab(m).new_id;
12070 ELSIF (l_phid_mapping_tab(m).old_id > p_id) THEN
12071 hi := m - 1;
12072 ELSE
12073 lo := m + 1;
12074 END IF;
12075 END LOOP;
12076 RETURN -1;
12077 END; /* find_phid_mapping_id */
12078
12079 PROCEDURE sort_phid_mapping_tab IS
12080 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
12081 --a numtabtype;
12082 l_stack numtabtype;
12083 l_stack_index NUMBER := 0;
12084 N NUMBER;
12085 R NUMBER;
12086 L NUMBER;
12087 P NUMBER;
12088 W NUMBER;
12089 W2 NUMBER;
12090 X NUMBER;
12091 I NUMBER;
12092 J NUMBER;
12093 BEGIN
12094 IF (G_DEBUG_ENABLED = 'Y') THEN
12095 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
12096 END IF;
12097 NULL;
12098
12099 N := l_party_payment_hdr_counter - 1;
12100 IF (N < 2) THEN
12101 RETURN;
12102 END IF;
12103 l_stack_index := l_stack_index + 1;
12104 l_stack(l_stack_index) := 1;
12105 l_stack_index := l_stack_index + 1;
12106 l_stack(l_stack_index) := N;
12107
12108 --dbms_output.put_line('l_stack_index=' || l_stack_index);
12109 WHILE l_stack_index > 0
12110 LOOP
12111 R := l_stack(l_stack_index);
12112 l_stack_index := l_stack_index - 1;
12113 L := l_stack(l_stack_index);
12114 l_stack_index := l_stack_index - 1;
12115 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
12116 WHILE 1=1
12117 LOOP -- loop until L >= R
12118 I := L;
12119 J := R;
12120 P := FLOOR((L+R)/2);
12121 --if (a(L) > a(P)) then
12122 IF (l_phid_mapping_tab(L).old_id > l_phid_mapping_tab(P).old_id)
12123 THEN
12124 W := l_phid_mapping_tab(L).old_id;
12125 W2 := l_phid_mapping_tab(L).new_id;
12126 l_phid_mapping_tab(L).old_id :=l_phid_mapping_tab(P).old_id;
12127 l_phid_mapping_tab(L).new_id :=l_phid_mapping_tab(P).new_id;
12128 l_phid_mapping_tab(P).old_id := W;
12129 l_phid_mapping_tab(P).new_id := W2;
12130 END IF;
12131 --if (a(L) > a(R)) then
12132 IF (l_phid_mapping_tab(L).old_id > l_phid_mapping_tab(R).old_id)
12133 THEN
12134 W := l_phid_mapping_tab(L).old_id;
12135 W2 := l_phid_mapping_tab(L).new_id;
12136 l_phid_mapping_tab(L).old_id :=l_phid_mapping_tab(R).old_id;
12137 l_phid_mapping_tab(L).new_id :=l_phid_mapping_tab(R).new_id;
12138 l_phid_mapping_tab(R).old_id := W;
12139 l_phid_mapping_tab(R).new_id := W2;
12140 END IF;
12141 --if (a(P) > a(R)) then
12142 IF (l_phid_mapping_tab(P).old_id > l_phid_mapping_tab(R).old_id)
12143 THEN
12144 W := l_phid_mapping_tab(P).old_id;
12145 W2 := l_phid_mapping_tab(P).new_id;
12146 l_phid_mapping_tab(P).old_id :=l_phid_mapping_tab(R).old_id;
12147 l_phid_mapping_tab(P).new_id :=l_phid_mapping_tab(R).new_id;
12148 l_phid_mapping_tab(R).old_id := W;
12149 l_phid_mapping_tab(R).new_id := W2;
12150 END IF;
12151 --X := a(P);
12152 X := l_phid_mapping_tab(P).old_id;
12153 WHILE 1=1
12154 LOOP -- until I > J
12155 --while (a(I) < X) loop
12156 WHILE (l_phid_mapping_tab(I).old_id < X) LOOP
12157 I := I + 1;
12158 END LOOP;
12159 WHILE (X < l_phid_mapping_tab(J).old_id) LOOP
12160 J := J - 1;
12161 END LOOP;
12162 IF (I <= J) THEN
12163 W := l_phid_mapping_tab(I).old_id;
12164 W2 := l_phid_mapping_tab(I).new_id;
12165 l_phid_mapping_tab(I).old_id :=l_phid_mapping_tab(J).old_id;
12166 l_phid_mapping_tab(I).new_id :=l_phid_mapping_tab(J).new_id;
12167 l_phid_mapping_tab(J).old_id := W;
12168 l_phid_mapping_tab(J).new_id := W2;
12169 I := I + 1;
12170 J := J - 1;
12171 END IF;
12172 EXIT WHEN I > J;
12173 END LOOP;
12174 IF (J - L < R - I) THEN
12175 IF (I < R) THEN
12176 --push(I); push(R);
12177 l_stack_index := l_stack_index + 1;
12178 l_stack(l_stack_index) := I;
12179 l_stack_index := l_stack_index + 1;
12180 l_stack(l_stack_index) := R;
12181 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
12182 END IF;
12183 R := J;
12184 ELSE
12185 IF (L < J) THEN
12186 --push(L); push(J);
12187 l_stack_index := l_stack_index + 1;
12188 l_stack(l_stack_index) := L;
12189 l_stack_index := l_stack_index + 1;
12190 l_stack(l_stack_index) := J;
12191 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
12192 END IF;
12193 L := I;
12194 END IF;
12195
12196 EXIT WHEN (L >= R);
12197 END LOOP;
12198 END LOOP;
12199
12200 EXCEPTION WHEN OTHERS THEN
12201
12202 --x_return_status := OKL_API.G_RET_STS_ERROR;
12203 /* DEBUG */
12204 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12205 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
12206 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_phid_mapping_tab:l_phid_mapping_tab N=' || N || ' ...');
12207 END IF;
12208 --print array
12209 FOR i IN 1..N
12210 LOOP
12211 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12212 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);
12213 END IF;
12214 END LOOP;
12215
12216 RAISE OKC_API.G_EXCEPTION_ERROR;
12217
12218 END; /* sort_phid_mapping_tab */
12219
12220
12221 Procedure copy_party_payment_hdr(p_old_id IN NUMBER,
12222 p_new_id IN NUMBER) IS
12223 TYPE l_phid_type is table of okl_party_payment_hdr.id%TYPE index by binary_integer;
12224 TYPE l_phdnz_chr_id_type is table of okl_party_payment_hdr.dnz_chr_id%TYPE index by binary_integer;
12225 TYPE l_phcle_id_type is table of okl_party_payment_hdr.cle_id%TYPE index by binary_integer;
12226 TYPE l_phppl_id_type is table of okl_party_payment_hdr.ppl_id%TYPE index by binary_integer;
12227 TYPE l_phpassthru_start_date_type is table of okl_party_payment_hdr.passthru_start_date%TYPE index by binary_integer;
12228 TYPE l_phpayout_basis_type is table of okl_party_payment_hdr.payout_basis%TYPE index by binary_integer;
12229 TYPE l_pheffective_from_type is table of okl_party_payment_hdr.effective_from%TYPE index by binary_integer;
12230 TYPE l_pheffective_to_type is table of okl_party_payment_hdr.effective_to%TYPE index by binary_integer;
12231 TYPE l_phobject_version_number_type is table of okl_party_payment_hdr.object_version_number%TYPE index by binary_integer;
12232 TYPE l_phpassthru_term_type is table of okl_party_payment_hdr.passthru_term%TYPE index by binary_integer;
12233 TYPE l_phpayout_basis_formula_type is table of okl_party_payment_hdr.payout_basis_formula%TYPE index by binary_integer;
12234 TYPE l_phpassthru_stre_type_id_type is table of okl_party_payment_hdr.passthru_stream_type_id%TYPE index by binary_integer;
12235
12236 l_phid_tab l_phid_type;
12237 l_phdnz_chr_id_tab l_phdnz_chr_id_type;
12238 l_phcle_id_tab l_phcle_id_type;
12239 l_phppl_id_tab l_phppl_id_type;
12240 l_phpassthru_start_date_tab l_phpassthru_start_date_type;
12241 l_phpayout_basis_tab l_phpayout_basis_type;
12242 l_pheffective_from_tab l_pheffective_from_type;
12243 l_pheffective_to_tab l_pheffective_to_type;
12244 l_phobject_version_number_tab l_phobject_version_number_type;
12245 l_phpassthru_term_tab l_phpassthru_term_type;
12246 l_phpayout_basis_formula_tab l_phpayout_basis_formula_type;
12247 l_phpassthru_stre_type_id_tab l_phpassthru_stre_type_id_type;
12248
12249 l_phid_tab2 l_phid_type;
12250 l_phdnz_chr_id_tab2 l_phdnz_chr_id_type;
12251 l_phcle_id_tab2 l_phcle_id_type;
12252 l_phppl_id_tab2 l_phppl_id_type;
12253 l_phpassthru_start_date_tab2 l_phpassthru_start_date_type;
12254 l_phpayout_basis_tab2 l_phpayout_basis_type;
12255 l_pheffective_from_tab2 l_pheffective_from_type;
12256 l_pheffective_to_tab2 l_pheffective_to_type;
12257 l_phobject_version_number_tab2 l_phobject_version_number_type;
12258 l_phpassthru_term_tab2 l_phpassthru_term_type;
12259 l_phpayout_basis_formula_tab2 l_phpayout_basis_formula_type;
12260 l_phpassthru_stre_type_id_tab2 l_phpassthru_stre_type_id_type;
12261
12262 CURSOR C31(p_id NUMBER) IS
12263 SELECT
12264 a.id, a.dnz_chr_id, a.cle_id,
12265 a.ppl_id, a.passthru_start_date, a.payout_basis,
12266 a.effective_from, a.effective_to, a.object_version_number,
12267 a.passthru_term, a.payout_basis_formula, a.passthru_stream_type_id
12268 FROM okl_party_payment_hdr a
12269 WHERE a.dnz_chr_id = p_id;
12270 l_new_cle_id NUMBER;
12271
12272 BEGIN
12273 NULL;
12274 OPEN C31(p_old_id);
12275 LOOP
12276 FETCH C31 BULK COLLECT INTO
12277 l_phid_tab2, l_phdnz_chr_id_tab2, l_phcle_id_tab2,
12278 l_phppl_id_tab2, l_phpassthru_start_date_tab2, l_phpayout_basis_tab2,
12279 l_pheffective_from_tab2, l_pheffective_to_tab2, l_phobject_version_number_tab2,
12280 l_phpassthru_term_tab2, l_phpayout_basis_formula_tab2, l_phpassthru_stre_type_id_tab2
12281 LIMIT G_BULK_SIZE;
12282 EXIT WHEN l_phid_tab2.COUNT = 0;
12283
12284 FOR i IN l_phid_tab2.FIRST..l_phid_tab2.LAST
12285 LOOP
12286 l_phid_tab(l_party_payment_hdr_counter) := l_phid_tab2(i);
12287 -- Replace id
12288 l_phid_tab(l_party_payment_hdr_counter) := okc_p_util.raw_to_number(sys_guid());
12289
12290 l_phid_mapping_tab(l_party_payment_hdr_counter).old_id :=
12291 l_phid_tab2(i);
12292 l_phid_mapping_tab(l_party_payment_hdr_counter).new_id :=
12293 l_phid_tab(l_party_payment_hdr_counter) ;
12294
12295 l_phdnz_chr_id_tab(l_party_payment_hdr_counter) := l_phdnz_chr_id_tab2(i);
12296 l_phdnz_chr_id_tab(l_party_payment_hdr_counter) := p_new_id;
12297
12298 l_phcle_id_tab(l_party_payment_hdr_counter) := l_phcle_id_tab2(i);
12299 l_new_cle_id := find_id(l_phcle_id_tab2(i));
12300
12301 -- l_phcle_id_tab2 could be null for header evergreen passthru, dedey 11/09
12302 IF (l_phcle_id_tab2(i) IS NOT NULL) THEN
12303 IF (l_new_cle_id = -1) THEN
12304 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12305 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: CLE_ID to NEW_CLE_ID mapping not found');
12306 END IF;
12307 RAISE OKL_API.G_EXCEPTION_ERROR;
12308 END IF;
12309 l_phcle_id_tab(l_party_payment_hdr_counter) := l_new_cle_id;
12310 END IF;
12311
12312 l_phppl_id_tab(l_party_payment_hdr_counter) := l_phppl_id_tab2(i);
12313 l_phpassthru_start_date_tab(l_party_payment_hdr_counter) := l_phpassthru_start_date_tab2(i);
12314 l_phpayout_basis_tab(l_party_payment_hdr_counter) := l_phpayout_basis_tab2(i);
12315 l_pheffective_from_tab(l_party_payment_hdr_counter) := l_pheffective_from_tab2(i);
12316 l_pheffective_to_tab(l_party_payment_hdr_counter) := l_pheffective_to_tab2(i);
12317 l_phobject_version_number_tab(l_party_payment_hdr_counter) := l_phobject_version_number_tab2(i);
12318 l_phpassthru_term_tab(l_party_payment_hdr_counter) := l_phpassthru_term_tab2(i);
12319 l_phpayout_basis_formula_tab(l_party_payment_hdr_counter) := l_phpayout_basis_formula_tab2(i);
12320 l_phpassthru_stre_type_id_tab(l_party_payment_hdr_counter) := l_phpassthru_stre_type_id_tab2(i);
12321
12322 l_party_payment_hdr_counter := l_party_payment_hdr_counter + 1;
12323 END LOOP;
12324 END LOOP;
12325 CLOSE C31;
12326 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12327 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_party_payment_hdr_counter=' || l_party_payment_hdr_counter);
12328 END IF;
12329 IF (l_party_payment_hdr_counter > 1) THEN
12330 sort_phid_mapping_tab;
12331 FORALL i IN l_phid_tab.FIRST..l_phid_tab.LAST
12332 INSERT INTO okl_party_payment_hdr (
12333 id, dnz_chr_id, cle_id,
12334 ppl_id, passthru_start_date, payout_basis,
12335 effective_from, effective_to, created_by,
12336 creation_date, last_updated_by, last_update_date,
12337 last_update_login, object_version_number, passthru_term,
12338 payout_basis_formula, passthru_stream_type_id
12339 ) VALUES (
12340 l_phid_tab(i), l_phdnz_chr_id_tab(i), l_phcle_id_tab(i),
12341 l_phppl_id_tab(i), l_phpassthru_start_date_tab(i), l_phpayout_basis_tab(i),
12342 l_pheffective_from_tab(i), l_pheffective_to_tab(i), l_created_by,
12343 SYSDATE, l_last_updated_by, SYSDATE,
12344 l_last_update_login, l_phobject_version_number_tab(i), l_phpassthru_term_tab(i),
12345 l_phpayout_basis_formula_tab(i), l_phpassthru_stre_type_id_tab(i)
12346 );
12347 END IF;
12348
12349 EXCEPTION WHEN OTHERS THEN
12350 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12351 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_phid_tab...l_phid_tab.COUNT=' || l_phid_tab.COUNT);
12352 END IF;
12353 IF (l_phid_tab.COUNT > 0) THEN
12354 for i in l_phID_tab.first..l_phID_tab.last
12355 loop
12356 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12357 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ID('||i||')=' || l_phID_tab(i));
12358 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'DNZ_CHR_ID('||i||')=' || l_phDNZ_CHR_ID_tab(i));
12359 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'CLE_ID('||i||')=' || l_phCLE_ID_tab(i));
12360 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PPL_ID('||i||')=' || l_phPPL_ID_tab(i));
12361 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PASSTHRU_START_DATE('||i||')=' || l_phPASSTHRU_START_DATE_tab(i));
12362 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PAYOUT_BASIS('||i||')=' || l_phPAYOUT_BASIS_tab(i));
12363 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'EFFECTIVE_FROM('||i||')=' || l_phEFFECTIVE_FROM_tab(i));
12364 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'EFFECTIVE_TO('||i||')=' || l_phEFFECTIVE_TO_tab(i));
12365 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'OBJECT_VERSION_NUMBER('||i||')=' || l_phOBJECT_VERSION_NUMBER_tab(i));
12366 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PASSTHRU_TERM('||i||')=' || l_phPASSTHRU_TERM_tab(i));
12367 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PAYOUT_BASIS_FORMULA('||i||')=' || l_phPAYOUT_BASIS_FORMULA_tab(i));
12368 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'PASSTHRU_STREAM_TYPE_ID('||i||')=' || l_phPASSTHRU_STRE_TYPE_ID_tab(i));
12369 END IF;
12370 end loop;
12371 END IF;
12372 RAISE OKC_API.G_EXCEPTION_ERROR;
12373
12374 END;
12375
12376 PROCEDURE prepare_party_payment_dtls (p_old_id IN okc_k_party_roles_b.id%TYPE,
12377 p_new_id IN okc_k_party_roles_b.id%TYPE,
12378 p_flush IN VARCHAR2) IS
12379 CURSOR c23(p_id NUMBER) IS
12380 SELECT
12381 id, object_version_number, cpl_id,
12382 vendor_id, pay_site_id, payment_term_id,
12383 payment_method_code, pay_group_code, attribute_category,
12384 attribute1, attribute2, attribute3,
12385 attribute4, attribute5, attribute6,
12386 attribute7, attribute8, attribute9,
12387 attribute10, attribute11, attribute12,
12388 attribute13, attribute14, attribute15,
12389 created_by, creation_date, last_updated_by,
12390 last_update_date, last_update_login, payment_hdr_id,
12391 payment_start_date, payment_frequency, remit_days,
12392 disbursement_basis, disbursement_fixed_amount, disbursement_percent,
12393 processing_fee_basis, processing_fee_fixed_amount, processing_fee_percent,
12394 payment_basis
12395 FROM okl_party_payment_dtls
12396 WHERE cpl_id = p_id;
12397
12398 l_ppid_tab2 l_ppid_type;
12399 l_ppobject_version_number_tab2 l_ppobject_version_number_type;
12400 l_ppcpl_id_tab2 l_ppcpl_id_type;
12401 l_ppvendor_id_tab2 l_ppvendor_id_type;
12402 l_pppay_site_id_tab2 l_pppay_site_id_type;
12403 l_pppayment_term_id_tab2 l_pppayment_term_id_type;
12404 l_pppayment_method_code_tab2 l_pppayment_method_code_type;
12405 l_pppay_group_code_tab2 l_pppay_group_code_type;
12406 l_ppattribute_category_tab2 l_ppattribute_category_type;
12407 l_ppattribute1_tab2 l_ppattribute1_type;
12408 l_ppattribute2_tab2 l_ppattribute2_type;
12409 l_ppattribute3_tab2 l_ppattribute3_type;
12410 l_ppattribute4_tab2 l_ppattribute4_type;
12411 l_ppattribute5_tab2 l_ppattribute5_type;
12412 l_ppattribute6_tab2 l_ppattribute6_type;
12413 l_ppattribute7_tab2 l_ppattribute7_type;
12414 l_ppattribute8_tab2 l_ppattribute8_type;
12415 l_ppattribute9_tab2 l_ppattribute9_type;
12416 l_ppattribute10_tab2 l_ppattribute10_type;
12417 l_ppattribute11_tab2 l_ppattribute11_type;
12418 l_ppattribute12_tab2 l_ppattribute12_type;
12419 l_ppattribute13_tab2 l_ppattribute13_type;
12420 l_ppattribute14_tab2 l_ppattribute14_type;
12421 l_ppattribute15_tab2 l_ppattribute15_type;
12422 l_ppcreated_by_tab2 l_ppcreated_by_type;
12423 l_ppcreation_date_tab2 l_ppcreation_date_type;
12424 l_pplast_updated_by_tab2 l_pplast_updated_by_type;
12425 l_pplast_update_date_tab2 l_pplast_update_date_type;
12426 l_pplast_update_login_tab2 l_pplast_update_login_type;
12427 l_pppayment_hdr_id_tab2 l_pppayment_hdr_id_type;
12428 l_pppayment_start_date_tab2 l_pppayment_start_date_type;
12429 l_pppayment_frequency_tab2 l_pppayment_frequency_type;
12430 l_ppremit_days_tab2 l_ppremit_days_type;
12431 l_ppdisbursement_basis_tab2 l_ppdisbursement_basis_type;
12432 l_ppdisbursement_fixed_am_tab2 l_ppdisbursement_fixed_am_type;
12433 l_ppdisbursement_percent_tab2 l_ppdisbursement_percent_type;
12434 l_ppprocessing_fee_basis_tab2 l_ppprocessing_fee_basis_type;
12435 l_ppprocessing_fee_fixedt_tab2 l_ppprocessing_fee_fixedt_type;
12436 l_ppprocessing_fee_percen_tab2 l_ppprocessing_fee_percen_type;
12437 l_pppayment_basis_tab2 l_pppayment_basis_type;
12438
12439 l_new_payment_hdr_id NUMBER;
12440
12441 BEGIN
12442 IF (G_DEBUG_ENABLED = 'Y') THEN
12443 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
12444 END IF;
12445 OPEN c23(p_old_id);
12446 LOOP
12447 FETCH c23 bulk collect INTO
12448 l_ppid_tab2, l_ppobject_version_number_tab2, l_ppcpl_id_tab2,
12449 l_ppvendor_id_tab2, l_pppay_site_id_tab2, l_pppayment_term_id_tab2,
12450 l_pppayment_method_code_tab2, l_pppay_group_code_tab2, l_ppattribute_category_tab2,
12451 l_ppattribute1_tab2, l_ppattribute2_tab2, l_ppattribute3_tab2,
12452 l_ppattribute4_tab2, l_ppattribute5_tab2, l_ppattribute6_tab2,
12453 l_ppattribute7_tab2, l_ppattribute8_tab2, l_ppattribute9_tab2,
12454 l_ppattribute10_tab2, l_ppattribute11_tab2, l_ppattribute12_tab2,
12455 l_ppattribute13_tab2, l_ppattribute14_tab2, l_ppattribute15_tab2,
12456 l_ppcreated_by_tab2, l_ppcreation_date_tab2, l_pplast_updated_by_tab2,
12457 l_pplast_update_date_tab2, l_pplast_update_login_tab2, l_pppayment_hdr_id_tab2,
12458 l_pppayment_start_date_tab2, l_pppayment_frequency_tab2, l_ppremit_days_tab2,
12459 l_ppdisbursement_basis_tab2, l_ppdisbursement_fixed_am_tab2, l_ppdisbursement_percent_tab2,
12460 l_ppprocessing_fee_basis_tab2, l_ppprocessing_fee_fixedt_tab2, l_ppprocessing_fee_percen_tab2,
12461 l_pppayment_basis_tab2
12462 limit G_BULK_SIZE;
12463 EXIT WHEN l_ppid_tab2.COUNT = 0;
12464 FOR i IN l_ppid_tab2.first..l_ppid_tab2.last
12465 LOOP
12466
12467 l_ppid_tab(l_party_payment_dtls_counter) := l_ppid_tab2(i);
12468 -- Change id
12469 l_ppid_tab(l_party_payment_dtls_counter) := okc_p_util.raw_to_number(sys_guid());
12470
12471 l_ppobject_version_number_tab(l_party_payment_dtls_counter) := l_ppobject_version_number_tab2(i);
12472 l_ppcpl_id_tab(l_party_payment_dtls_counter) := l_ppcpl_id_tab2(i);
12473 -- Change cpl_id
12474 l_ppcpl_id_tab(l_party_payment_dtls_counter) := p_new_id;
12475
12476 l_ppvendor_id_tab(l_party_payment_dtls_counter) := l_ppvendor_id_tab2(i);
12477 l_pppay_site_id_tab(l_party_payment_dtls_counter) := l_pppay_site_id_tab2(i);
12478 l_pppayment_term_id_tab(l_party_payment_dtls_counter) := l_pppayment_term_id_tab2(i);
12479 l_pppayment_method_code_tab(l_party_payment_dtls_counter) := l_pppayment_method_code_tab2(i);
12480 l_pppay_group_code_tab(l_party_payment_dtls_counter) := l_pppay_group_code_tab2(i);
12481 l_ppattribute_category_tab(l_party_payment_dtls_counter) := l_ppattribute_category_tab2(i);
12482 l_ppattribute1_tab(l_party_payment_dtls_counter) := l_ppattribute1_tab2(i);
12483 l_ppattribute2_tab(l_party_payment_dtls_counter) := l_ppattribute2_tab2(i);
12484 l_ppattribute3_tab(l_party_payment_dtls_counter) := l_ppattribute3_tab2(i);
12485 l_ppattribute4_tab(l_party_payment_dtls_counter) := l_ppattribute4_tab2(i);
12486 l_ppattribute5_tab(l_party_payment_dtls_counter) := l_ppattribute5_tab2(i);
12487 l_ppattribute6_tab(l_party_payment_dtls_counter) := l_ppattribute6_tab2(i);
12488 l_ppattribute7_tab(l_party_payment_dtls_counter) := l_ppattribute7_tab2(i);
12489 l_ppattribute8_tab(l_party_payment_dtls_counter) := l_ppattribute8_tab2(i);
12490 l_ppattribute9_tab(l_party_payment_dtls_counter) := l_ppattribute9_tab2(i);
12491 l_ppattribute10_tab(l_party_payment_dtls_counter) := l_ppattribute10_tab2(i);
12492 l_ppattribute11_tab(l_party_payment_dtls_counter) := l_ppattribute11_tab2(i);
12493 l_ppattribute12_tab(l_party_payment_dtls_counter) := l_ppattribute12_tab2(i);
12494 l_ppattribute13_tab(l_party_payment_dtls_counter) := l_ppattribute13_tab2(i);
12495 l_ppattribute14_tab(l_party_payment_dtls_counter) := l_ppattribute14_tab2(i);
12496 l_ppattribute15_tab(l_party_payment_dtls_counter) := l_ppattribute15_tab2(i);
12497 l_ppcreated_by_tab(l_party_payment_dtls_counter) := l_ppcreated_by_tab2(i);
12498 l_ppcreation_date_tab(l_party_payment_dtls_counter) := l_ppcreation_date_tab2(i);
12499 l_pplast_updated_by_tab(l_party_payment_dtls_counter) := l_pplast_updated_by_tab2(i);
12500 l_pplast_update_date_tab(l_party_payment_dtls_counter) := l_pplast_update_date_tab2(i);
12501 l_pplast_update_login_tab(l_party_payment_dtls_counter) := l_pplast_update_login_tab2(i);
12502 l_pppayment_hdr_id_tab(l_party_payment_dtls_counter) := l_pppayment_hdr_id_tab2(i);
12503 IF (l_pppayment_hdr_id_tab(l_party_payment_dtls_counter) IS NOT NULL) THEN
12504 l_new_payment_hdr_id := find_phid_mapping_id(
12505 l_pppayment_hdr_id_tab(l_party_payment_dtls_counter));
12506 l_pppayment_hdr_id_tab(l_party_payment_dtls_counter) := l_new_payment_hdr_id;
12507 END IF;
12508 l_pppayment_start_date_tab(l_party_payment_dtls_counter) := l_pppayment_start_date_tab2(i);
12509 l_pppayment_frequency_tab(l_party_payment_dtls_counter) := l_pppayment_frequency_tab2(i);
12510 l_ppremit_days_tab(l_party_payment_dtls_counter) := l_ppremit_days_tab2(i);
12511 l_ppdisbursement_basis_tab(l_party_payment_dtls_counter) := l_ppdisbursement_basis_tab2(i);
12512 l_ppdisbursement_fixed_am_tab(l_party_payment_dtls_counter) := l_ppdisbursement_fixed_am_tab2(i);
12513 l_ppdisbursement_percent_tab(l_party_payment_dtls_counter) := l_ppdisbursement_percent_tab2(i);
12514 l_ppprocessing_fee_basis_tab(l_party_payment_dtls_counter) := l_ppprocessing_fee_basis_tab2(i);
12515 l_ppprocessing_fee_fixedt_tab(l_party_payment_dtls_counter) := l_ppprocessing_fee_fixedt_tab2(i);
12516 l_ppprocessing_fee_percen_tab(l_party_payment_dtls_counter) := l_ppprocessing_fee_percen_tab2(i);
12517 l_pppayment_basis_tab(l_party_payment_dtls_counter) := l_pppayment_basis_tab2(i);
12518
12519 l_party_payment_dtls_counter := l_party_payment_dtls_counter + 1;
12520
12521 END LOOP;
12522 END LOOP;
12523 CLOSE c23;
12524
12525 IF (p_flush = 'Y') THEN
12526 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12527 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);
12528 END IF;
12529 IF (l_party_payment_dtls_counter > 1) THEN
12530 forall i IN l_ppid_tab.first..l_ppid_tab.last
12531 INSERT INTO okl_party_payment_dtls (
12532 id, object_version_number, cpl_id,
12533 vendor_id, pay_site_id, payment_term_id,
12534 payment_method_code, pay_group_code, attribute_category,
12535 attribute1, attribute2, attribute3,
12536 attribute4, attribute5, attribute6,
12537 attribute7, attribute8, attribute9,
12538 attribute10, attribute11, attribute12,
12539 attribute13, attribute14, attribute15,
12540 created_by, creation_date, last_updated_by,
12541 last_update_date, last_update_login, payment_hdr_id,
12542 payment_start_date, payment_frequency, remit_days,
12543 disbursement_basis, disbursement_fixed_amount, disbursement_percent,
12544 processing_fee_basis, processing_fee_fixed_amount, processing_fee_percent,
12545 payment_basis
12546 ) VALUES (
12547 l_ppid_tab(i), l_ppobject_version_number_tab(i), l_ppcpl_id_tab(i),
12548 l_ppvendor_id_tab(i), l_pppay_site_id_tab(i), l_pppayment_term_id_tab(i),
12549 l_pppayment_method_code_tab(i), l_pppay_group_code_tab(i), l_ppattribute_category_tab(i),
12550 l_ppattribute1_tab(i), l_ppattribute2_tab(i), l_ppattribute3_tab(i),
12551 l_ppattribute4_tab(i), l_ppattribute5_tab(i), l_ppattribute6_tab(i),
12552 l_ppattribute7_tab(i), l_ppattribute8_tab(i), l_ppattribute9_tab(i),
12553 l_ppattribute10_tab(i), l_ppattribute11_tab(i), l_ppattribute12_tab(i),
12554 l_ppattribute13_tab(i), l_ppattribute14_tab(i), l_ppattribute15_tab(i),
12555 l_created_by, SYSDATE, l_last_updated_by,
12556 SYSDATE, l_last_update_login, l_pppayment_hdr_id_tab(i),
12557 l_pppayment_start_date_tab(i), l_pppayment_frequency_tab(i), l_ppremit_days_tab(i),
12558 l_ppdisbursement_basis_tab(i), l_ppdisbursement_fixed_am_tab(i), l_ppdisbursement_percent_tab(i),
12559 l_ppprocessing_fee_basis_tab(i), l_ppprocessing_fee_fixedt_tab(i), l_ppprocessing_fee_percen_tab(i),
12560 l_pppayment_basis_tab(i)
12561 );
12562 END IF;
12563 END IF;
12564
12565 EXCEPTION WHEN OTHERS THEN
12566
12567 x_return_status := OKL_API.G_RET_STS_ERROR;
12568 /*OKL_API.set_message(p_app_name => 'OKL',
12569 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
12570 p_token1 => 'ASSET_NUMBER',
12571 p_token1_value => 'prepare_party_payment_dtls');*/
12572 /* DEBUG */
12573 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12574 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
12575 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_party_payment_dtls:l_ppid_tab.count=' ||l_ppid_tab.COUNT || ' ...');
12576 END IF;
12577 IF (l_ppid_tab.COUNT > 0) THEN
12578 FOR i IN l_ppid_tab.first..l_ppid_tab.last
12579 LOOP
12580 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12581 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppid_tab('||i||')=' || l_ppid_tab(i));
12582 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppobject_version_number_tab('||i||')=' || l_ppobject_version_number_tab(i));
12583 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppcpl_id_tab('||i||')=' || l_ppcpl_id_tab(i));
12584 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppvendor_id_tab('||i||')=' || l_ppvendor_id_tab(i));
12585 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pppay_site_id_tab('||i||')=' || l_pppay_site_id_tab(i));
12586 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pppayment_term_id_tab('||i||')=' || l_pppayment_term_id_tab(i));
12587 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pppayment_method_code_tab('||i||')=' || l_pppayment_method_code_tab(i));
12588 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_pppay_group_code_tab('||i||')=' || l_pppay_group_code_tab(i));
12589 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute_category_tab('||i||')=' || l_ppattribute_category_tab(i));
12590 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute1_tab('||i||')=' || l_ppattribute1_tab(i));
12591 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute2_tab('||i||')=' || l_ppattribute2_tab(i));
12592 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute3_tab('||i||')=' || l_ppattribute3_tab(i));
12593 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute4_tab('||i||')=' || l_ppattribute4_tab(i));
12594 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute5_tab('||i||')=' || l_ppattribute5_tab(i));
12595 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute6_tab('||i||')=' || l_ppattribute6_tab(i));
12596 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute7_tab('||i||')=' || l_ppattribute7_tab(i));
12597 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute8_tab('||i||')=' || l_ppattribute8_tab(i));
12598 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute9_tab('||i||')=' || l_ppattribute9_tab(i));
12599 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute10_tab('||i||')=' || l_ppattribute10_tab(i));
12600 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute11_tab('||i||')=' || l_ppattribute11_tab(i));
12601 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute12_tab('||i||')=' || l_ppattribute12_tab(i));
12602 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute13_tab('||i||')=' || l_ppattribute13_tab(i));
12603 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute14_tab('||i||')=' || l_ppattribute14_tab(i));
12604 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppattribute15_tab('||i||')=' || l_ppattribute15_tab(i));
12605 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPAYMENT_HDR_ID_tab('||i||')=' || l_ppPAYMENT_HDR_ID_tab(i));
12606 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPAYMENT_START_DATE_tab('||i||')=' || l_ppPAYMENT_START_DATE_tab(i));
12607 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPAYMENT_FREQUENCY_tab('||i||')=' || l_ppPAYMENT_FREQUENCY_tab(i));
12608 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppREMIT_DAYS_tab('||i||')=' || l_ppREMIT_DAYS_tab(i));
12609 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppDISBURSEMENT_BASIS_tab('||i||')=' || l_ppDISBURSEMENT_BASIS_tab(i));
12610 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppDISBURSEMENT_FIXED_AMOUNT_tab('||i||')=' || l_ppDISBURSEMENT_FIXED_AM_tab(i));
12611 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppDISBURSEMENT_PERCENT_tab('||i||')=' || l_ppDISBURSEMENT_PERCENT_tab(i));
12612 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPROCESSING_FEE_BASIS_tab('||i||')=' || l_ppPROCESSING_FEE_BASIS_tab(i));
12613 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPROCESSING_FEE_FIXED_AMOUNT_tab('||i||')=' || l_ppPROCESSING_FEE_FIXEDt_tab(i));
12614 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPROCESSING_FEE_PERCENT_tab('||i||')=' || l_ppPROCESSING_FEE_PERCEN_tab(i));
12615 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ppPAYMENT_BASIS_tab('||i||')=' || l_ppPAYMENT_BASIS_tab(i));
12616 END IF;
12617 END LOOP;
12618 END IF;
12619
12620 RAISE OKC_API.G_EXCEPTION_ERROR;
12621
12622 END; /* prepare_party_payment_dtls */
12623
12624 FUNCTION find_vid_mapping_id(p_id IN NUMBER) RETURN VARCHAR2 IS
12625 hi NUMBER;
12626 lo NUMBER;
12627 m NUMBER;
12628 BEGIN
12629 lo := 1;
12630 hi := l_vid_counter - 1;
12631 WHILE (lo <= hi) LOOP
12632 m := FLOOR((hi + lo)/2);
12633 IF (l_vid_mapping_tab(m).cle_id = p_id) THEN
12634 RETURN l_vid_mapping_tab(m).object1_id1;
12635 ELSIF (l_vid_mapping_tab(m).cle_id > p_id) THEN
12636 hi := m - 1;
12637 ELSE
12638 lo := m + 1;
12639 END IF;
12640 END LOOP;
12641 RETURN NULL;
12642 END; /* find_vid_mapping_id */
12643
12644 PROCEDURE sort_vid_mapping_tab IS
12645 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
12646 --a numtabtype;
12647 l_stack numtabtype;
12648 l_stack_index NUMBER := 0;
12649 N NUMBER;
12650 R NUMBER;
12651 L NUMBER;
12652 P NUMBER;
12653 W NUMBER;
12654 W2 VARCHAR2(40);
12655 X NUMBER;
12656 I NUMBER;
12657 J NUMBER;
12658 BEGIN
12659 IF (G_DEBUG_ENABLED = 'Y') THEN
12660 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
12661 END IF;
12662 NULL;
12663
12664 N := l_vid_counter - 1;
12665 IF (N < 2) THEN
12666 RETURN;
12667 END IF;
12668 l_stack_index := l_stack_index + 1;
12669 l_stack(l_stack_index) := 1;
12670 l_stack_index := l_stack_index + 1;
12671 l_stack(l_stack_index) := N;
12672
12673 --dbms_output.put_line('l_stack_index=' || l_stack_index);
12674 WHILE l_stack_index > 0
12675 LOOP
12676 R := l_stack(l_stack_index);
12677 l_stack_index := l_stack_index - 1;
12678 L := l_stack(l_stack_index);
12679 l_stack_index := l_stack_index - 1;
12680 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
12681 WHILE 1=1
12682 LOOP -- loop until L >= R
12683 I := L;
12684 J := R;
12685 P := FLOOR((L+R)/2);
12686 --if (a(L) > a(P)) then
12687 IF (l_vid_mapping_tab(L).cle_id > l_vid_mapping_tab(P).cle_id)
12688 THEN
12689 W := l_vid_mapping_tab(L).cle_id;
12690 W2 := l_vid_mapping_tab(L).object1_id1;
12691 l_vid_mapping_tab(L).cle_id :=l_vid_mapping_tab(P).cle_id;
12692 l_vid_mapping_tab(L).object1_id1 :=l_vid_mapping_tab(P).object1_id1;
12693 l_vid_mapping_tab(P).cle_id := W;
12694 l_vid_mapping_tab(P).object1_id1 := W2;
12695 END IF;
12696 --if (a(L) > a(R)) then
12697 IF (l_vid_mapping_tab(L).cle_id > l_vid_mapping_tab(R).cle_id)
12698 THEN
12699 W := l_vid_mapping_tab(L).cle_id;
12700 W2 := l_vid_mapping_tab(L).object1_id1;
12701 l_vid_mapping_tab(L).cle_id :=l_vid_mapping_tab(R).cle_id;
12702 l_vid_mapping_tab(L).object1_id1 :=l_vid_mapping_tab(R).object1_id1;
12703 l_vid_mapping_tab(R).cle_id := W;
12704 l_vid_mapping_tab(R).object1_id1 := W2;
12705 END IF;
12706 --if (a(P) > a(R)) then
12707 IF (l_vid_mapping_tab(P).cle_id > l_vid_mapping_tab(R).cle_id)
12708 THEN
12709 W := l_vid_mapping_tab(P).cle_id;
12710 W2 := l_vid_mapping_tab(P).object1_id1;
12711 l_vid_mapping_tab(P).cle_id :=l_vid_mapping_tab(R).cle_id;
12712 l_vid_mapping_tab(P).object1_id1 :=l_vid_mapping_tab(R).object1_id1;
12713 l_vid_mapping_tab(R).cle_id := W;
12714 l_vid_mapping_tab(R).object1_id1 := W2;
12715 END IF;
12716 --X := a(P);
12717 X := l_vid_mapping_tab(P).cle_id;
12718 WHILE 1=1
12719 LOOP -- until I > J
12720 --while (a(I) < X) loop
12721 WHILE (l_vid_mapping_tab(I).cle_id < X) LOOP
12722 I := I + 1;
12723 END LOOP;
12724 WHILE (X < l_vid_mapping_tab(J).cle_id) LOOP
12725 J := J - 1;
12726 END LOOP;
12727 IF (I <= J) THEN
12728 W := l_vid_mapping_tab(I).cle_id;
12729 W2 := l_vid_mapping_tab(I).object1_id1;
12730 l_vid_mapping_tab(I).cle_id :=l_vid_mapping_tab(J).cle_id;
12731 l_vid_mapping_tab(I).object1_id1 :=l_vid_mapping_tab(J).object1_id1;
12732 l_vid_mapping_tab(J).cle_id := W;
12733 l_vid_mapping_tab(J).object1_id1 := W2;
12734 I := I + 1;
12735 J := J - 1;
12736 END IF;
12737 EXIT WHEN I > J;
12738 END LOOP;
12739 IF (J - L < R - I) THEN
12740 IF (I < R) THEN
12741 --push(I); push(R);
12742 l_stack_index := l_stack_index + 1;
12743 l_stack(l_stack_index) := I;
12744 l_stack_index := l_stack_index + 1;
12745 l_stack(l_stack_index) := R;
12746 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
12747 END IF;
12748 R := J;
12749 ELSE
12750 IF (L < J) THEN
12751 --push(L); push(J);
12752 l_stack_index := l_stack_index + 1;
12753 l_stack(l_stack_index) := L;
12754 l_stack_index := l_stack_index + 1;
12755 l_stack(l_stack_index) := J;
12756 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
12757 END IF;
12758 L := I;
12759 END IF;
12760
12761 EXIT WHEN (L >= R);
12762 END LOOP;
12763 END LOOP;
12764
12765 EXCEPTION WHEN OTHERS THEN
12766
12767 x_return_status := OKL_API.G_RET_STS_ERROR;
12768 /*OKL_API.set_message(p_app_name => 'OKL',
12769 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
12770 p_token1 => 'ASSET_NUMBER',
12771 p_token1_value => 'sort_vid_mapping_tab');*/
12772 /* DEBUG */
12773 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12774 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
12775 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_vid_mapping_tab:l_vid_mapping_tab N=' || N || ' ...');
12776 END IF;
12777
12778 --print array
12779 FOR i IN 1..N
12780 LOOP
12781 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
12782 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);
12783 END IF;
12784 END LOOP;
12785
12786 RAISE OKC_API.G_EXCEPTION_ERROR;
12787
12788 END; /* sort_vid_mapping_tab */
12789
12790 PROCEDURE insert_okc_k_party_roles(p_old_id IN okc_k_headers_b.id%TYPE,
12791 p_new_id IN okc_k_headers_b.id%TYPE) IS
12792 CURSOR c9(p_id okc_k_party_roles_b.dnz_chr_id%TYPE) IS
12793 SELECT
12794 id, chr_id, cle_id,
12795 dnz_chr_id, rle_code, object1_id1,
12796 object1_id2, jtot_object1_code, object_version_number,
12797 created_by, creation_date, last_updated_by,
12798 last_update_date, code, facility,
12799 minority_group_lookup_code, small_business_flag, women_owned_flag,
12800 last_update_login, attribute_category, attribute1,
12801 attribute2, attribute3, attribute4,
12802 attribute5, attribute6, attribute7,
12803 attribute8, attribute9, attribute10,
12804 attribute11, attribute12, attribute13,
12805 attribute14, attribute15, security_group_id,
12806 cpl_id, primary_yn, bill_to_site_use_id,
12807 cust_acct_id, id orig_system_id1
12808 FROM okc_k_party_roles_b
12809 WHERE dnz_chr_id = p_id
12810 AND (
12811 chr_id = chr_id
12812 OR (
12813 NVL(p_copy_lines_yn, 'N') = 'Y'
12814 AND cle_id IS NOT NULL
12815 )
12816 );
12817
12818 TYPE l_id_type IS TABLE OF okc_k_party_roles_b.id%TYPE INDEX BY BINARY_INTEGER;
12819 TYPE l_chr_id_type IS TABLE OF okc_k_party_roles_b.chr_id%TYPE INDEX BY BINARY_INTEGER;
12820 TYPE l_cle_id_type IS TABLE OF okc_k_party_roles_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
12821 TYPE l_dnz_chr_id_type IS TABLE OF okc_k_party_roles_b.dnz_chr_id%TYPE INDEX BY BINARY_INTEGER;
12822 TYPE l_rle_code_type IS TABLE OF okc_k_party_roles_b.rle_code%TYPE INDEX BY BINARY_INTEGER;
12823 TYPE l_object1_id1_type IS TABLE OF okc_k_party_roles_b.object1_id1%TYPE INDEX BY BINARY_INTEGER;
12824 TYPE l_object1_id2_type IS TABLE OF okc_k_party_roles_b.object1_id2%TYPE INDEX BY BINARY_INTEGER;
12825 TYPE l_jtot_object1_code_type IS TABLE OF okc_k_party_roles_b.jtot_object1_code%TYPE INDEX BY BINARY_INTEGER;
12826 TYPE l_object_version_number_type IS TABLE OF okc_k_party_roles_b.object_version_number%TYPE INDEX BY BINARY_INTEGER;
12827 TYPE l_created_by_type IS TABLE OF okc_k_party_roles_b.created_by%TYPE INDEX BY BINARY_INTEGER;
12828 TYPE l_creation_date_type IS TABLE OF okc_k_party_roles_b.creation_date%TYPE INDEX BY BINARY_INTEGER;
12829 TYPE l_last_updated_by_type IS TABLE OF okc_k_party_roles_b.last_updated_by%TYPE INDEX BY BINARY_INTEGER;
12830 TYPE l_last_update_date_type IS TABLE OF okc_k_party_roles_b.last_update_date%TYPE INDEX BY BINARY_INTEGER;
12831 TYPE l_code_type IS TABLE OF okc_k_party_roles_b.code%TYPE INDEX BY BINARY_INTEGER;
12832 TYPE l_facility_type IS TABLE OF okc_k_party_roles_b.facility%TYPE INDEX BY BINARY_INTEGER;
12833 TYPE l_minority_group_lookup_c_type IS TABLE OF okc_k_party_roles_b.minority_group_lookup_code%TYPE INDEX BY BINARY_INTEGER;
12834 TYPE l_small_business_flag_type IS TABLE OF okc_k_party_roles_b.small_business_flag%TYPE INDEX BY BINARY_INTEGER;
12835 TYPE l_women_owned_flag_type IS TABLE OF okc_k_party_roles_b.women_owned_flag%TYPE INDEX BY BINARY_INTEGER;
12836 TYPE l_last_update_login_type IS TABLE OF okc_k_party_roles_b.last_update_login%TYPE INDEX BY BINARY_INTEGER;
12837 TYPE l_attribute_category_type IS TABLE OF okc_k_party_roles_b.attribute_category%TYPE INDEX BY BINARY_INTEGER;
12838 TYPE l_attribute1_type IS TABLE OF okc_k_party_roles_b.attribute1%TYPE INDEX BY BINARY_INTEGER;
12839 TYPE l_attribute2_type IS TABLE OF okc_k_party_roles_b.attribute2%TYPE INDEX BY BINARY_INTEGER;
12840 TYPE l_attribute3_type IS TABLE OF okc_k_party_roles_b.attribute3%TYPE INDEX BY BINARY_INTEGER;
12841 TYPE l_attribute4_type IS TABLE OF okc_k_party_roles_b.attribute4%TYPE INDEX BY BINARY_INTEGER;
12842 TYPE l_attribute5_type IS TABLE OF okc_k_party_roles_b.attribute5%TYPE INDEX BY BINARY_INTEGER;
12843 TYPE l_attribute6_type IS TABLE OF okc_k_party_roles_b.attribute6%TYPE INDEX BY BINARY_INTEGER;
12844 TYPE l_attribute7_type IS TABLE OF okc_k_party_roles_b.attribute7%TYPE INDEX BY BINARY_INTEGER;
12845 TYPE l_attribute8_type IS TABLE OF okc_k_party_roles_b.attribute8%TYPE INDEX BY BINARY_INTEGER;
12846 TYPE l_attribute9_type IS TABLE OF okc_k_party_roles_b.attribute9%TYPE INDEX BY BINARY_INTEGER;
12847 TYPE l_attribute10_type IS TABLE OF okc_k_party_roles_b.attribute10%TYPE INDEX BY BINARY_INTEGER;
12848 TYPE l_attribute11_type IS TABLE OF okc_k_party_roles_b.attribute11%TYPE INDEX BY BINARY_INTEGER;
12849 TYPE l_attribute12_type IS TABLE OF okc_k_party_roles_b.attribute12%TYPE INDEX BY BINARY_INTEGER;
12850 TYPE l_attribute13_type IS TABLE OF okc_k_party_roles_b.attribute13%TYPE INDEX BY BINARY_INTEGER;
12851 TYPE l_attribute14_type IS TABLE OF okc_k_party_roles_b.attribute14%TYPE INDEX BY BINARY_INTEGER;
12852 TYPE l_attribute15_type IS TABLE OF okc_k_party_roles_b.attribute15%TYPE INDEX BY BINARY_INTEGER;
12853 TYPE l_security_group_id_type IS TABLE OF okc_k_party_roles_b.security_group_id%TYPE INDEX BY BINARY_INTEGER;
12854 TYPE l_cpl_id_type IS TABLE OF okc_k_party_roles_b.cpl_id%TYPE INDEX BY BINARY_INTEGER;
12855 TYPE l_primary_yn_type IS TABLE OF okc_k_party_roles_b.primary_yn%TYPE INDEX BY BINARY_INTEGER;
12856 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;
12857 TYPE l_cust_acct_id_type IS TABLE OF okc_k_party_roles_b.cust_acct_id%TYPE INDEX BY BINARY_INTEGER;
12858 TYPE l_orig_system_id1_type IS TABLE OF okc_k_party_roles_b.orig_system_id1%TYPE INDEX BY BINARY_INTEGER;
12859
12860 l_id_tab_old l_id_type;
12861
12862 l_id_tab l_id_type;
12863 l_chr_id_tab l_chr_id_type;
12864 l_cle_id_tab l_cle_id_type;
12865 l_dnz_chr_id_tab l_dnz_chr_id_type;
12866 l_rle_code_tab l_rle_code_type;
12867 l_object1_id1_tab l_object1_id1_type;
12868 l_object1_id2_tab l_object1_id2_type;
12869 l_jtot_object1_code_tab l_jtot_object1_code_type;
12870 l_object_version_number_tab l_object_version_number_type;
12871 l_created_by_tab l_created_by_type;
12872 l_creation_date_tab l_creation_date_type;
12873 l_last_updated_by_tab l_last_updated_by_type;
12874 l_last_update_date_tab l_last_update_date_type;
12875 l_code_tab l_code_type;
12876 l_facility_tab l_facility_type;
12877 l_minority_group_lookup_c_tab l_minority_group_lookup_c_type;
12878 l_small_business_flag_tab l_small_business_flag_type;
12879 l_women_owned_flag_tab l_women_owned_flag_type;
12880 l_last_update_login_tab l_last_update_login_type;
12881 l_attribute_category_tab l_attribute_category_type;
12882 l_attribute1_tab l_attribute1_type;
12883 l_attribute2_tab l_attribute2_type;
12884 l_attribute3_tab l_attribute3_type;
12885 l_attribute4_tab l_attribute4_type;
12886 l_attribute5_tab l_attribute5_type;
12887 l_attribute6_tab l_attribute6_type;
12888 l_attribute7_tab l_attribute7_type;
12889 l_attribute8_tab l_attribute8_type;
12890 l_attribute9_tab l_attribute9_type;
12891 l_attribute10_tab l_attribute10_type;
12892 l_attribute11_tab l_attribute11_type;
12893 l_attribute12_tab l_attribute12_type;
12894 l_attribute13_tab l_attribute13_type;
12895 l_attribute14_tab l_attribute14_type;
12896 l_attribute15_tab l_attribute15_type;
12897 l_security_group_id_tab l_security_group_id_type;
12898 l_cpl_id_tab l_cpl_id_type;
12899 l_primary_yn_tab l_primary_yn_type;
12900 l_bill_to_site_use_id_tab l_bill_to_site_use_id_type;
12901 l_cust_acct_id_tab l_cust_acct_id_type;
12902 l_orig_system_id1_tab l_orig_system_id1_type;
12903
12904 l_id_tab2 l_id_type;
12905 l_chr_id_tab2 l_chr_id_type;
12906 l_cle_id_tab2 l_cle_id_type;
12907 l_dnz_chr_id_tab2 l_dnz_chr_id_type;
12908 l_rle_code_tab2 l_rle_code_type;
12909 l_object1_id1_tab2 l_object1_id1_type;
12910 l_object1_id2_tab2 l_object1_id2_type;
12911 l_jtot_object1_code_tab2 l_jtot_object1_code_type;
12912 l_object_version_number_tab2 l_object_version_number_type;
12913 l_created_by_tab2 l_created_by_type;
12914 l_creation_date_tab2 l_creation_date_type;
12915 l_last_updated_by_tab2 l_last_updated_by_type;
12916 l_last_update_date_tab2 l_last_update_date_type;
12917 l_code_tab2 l_code_type;
12918 l_facility_tab2 l_facility_type;
12919 l_minority_group_lookup_c_tab2 l_minority_group_lookup_c_type;
12920 l_small_business_flag_tab2 l_small_business_flag_type;
12921 l_women_owned_flag_tab2 l_women_owned_flag_type;
12922 l_last_update_login_tab2 l_last_update_login_type;
12923 l_attribute_category_tab2 l_attribute_category_type;
12924 l_attribute1_tab2 l_attribute1_type;
12925 l_attribute2_tab2 l_attribute2_type;
12926 l_attribute3_tab2 l_attribute3_type;
12927 l_attribute4_tab2 l_attribute4_type;
12928 l_attribute5_tab2 l_attribute5_type;
12929 l_attribute6_tab2 l_attribute6_type;
12930 l_attribute7_tab2 l_attribute7_type;
12931 l_attribute8_tab2 l_attribute8_type;
12932 l_attribute9_tab2 l_attribute9_type;
12933 l_attribute10_tab2 l_attribute10_type;
12934 l_attribute11_tab2 l_attribute11_type;
12935 l_attribute12_tab2 l_attribute12_type;
12936 l_attribute13_tab2 l_attribute13_type;
12937 l_attribute14_tab2 l_attribute14_type;
12938 l_attribute15_tab2 l_attribute15_type;
12939 l_security_group_id_tab2 l_security_group_id_type;
12940 l_cpl_id_tab2 l_cpl_id_type;
12941 l_primary_yn_tab2 l_primary_yn_type;
12942 l_bill_to_site_use_id_tab2 l_bill_to_site_use_id_type;
12943 l_cust_acct_id_tab2 l_cust_acct_id_type;
12944 l_orig_system_id1_tab2 l_orig_system_id1_type;
12945
12946 l_loop_counter NUMBER := 0;
12947 l_new_cle_id NUMBER := 0;
12948
12949 BEGIN
12950 IF (G_DEBUG_ENABLED = 'Y') THEN
12951 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
12952 END IF;
12953 NULL;
12954 OPEN c9(p_old_id);
12955 LOOP
12956 FETCH c9 bulk collect INTO
12957 l_id_tab2, l_chr_id_tab2, l_cle_id_tab2,
12958 l_dnz_chr_id_tab2, l_rle_code_tab2, l_object1_id1_tab2,
12959 l_object1_id2_tab2, l_jtot_object1_code_tab2, l_object_version_number_tab2,
12960 l_created_by_tab2, l_creation_date_tab2, l_last_updated_by_tab2,
12961 l_last_update_date_tab2, l_code_tab2, l_facility_tab2,
12962 l_minority_group_lookup_c_tab2, l_small_business_flag_tab2, l_women_owned_flag_tab2,
12963 l_last_update_login_tab2, l_attribute_category_tab2, l_attribute1_tab2,
12964 l_attribute2_tab2, l_attribute3_tab2, l_attribute4_tab2,
12965 l_attribute5_tab2, l_attribute6_tab2, l_attribute7_tab2,
12966 l_attribute8_tab2, l_attribute9_tab2, l_attribute10_tab2,
12967 l_attribute11_tab2, l_attribute12_tab2, l_attribute13_tab2,
12968 l_attribute14_tab2, l_attribute15_tab2, l_security_group_id_tab2,
12969 l_cpl_id_tab2, l_primary_yn_tab2, l_bill_to_site_use_id_tab2,
12970 l_cust_acct_id_tab2, l_orig_system_id1_tab2
12971 limit G_BULK_SIZE;
12972 EXIT WHEN l_id_tab2.COUNT = 0;
12973
12974 FOR i IN l_id_tab2.first..l_id_tab2.last
12975 LOOP
12976 l_loop_counter := l_loop_counter + 1;
12977
12978 -- Store old ids
12979 l_id_tab_old(l_loop_counter) := l_id_tab2(i);
12980
12981 l_id_tab(l_loop_counter) := l_id_tab2(i);
12982
12983 -- Store party old_id and new_id in mapping table
12984 l_party_id_mapping_tab(l_party_counter).old_id := l_id_tab2(i);
12985
12986 -- Replace l_id_tab
12987 l_id_tab(l_loop_counter) := okc_p_util.raw_to_number(sys_guid());
12988 l_prid_tab(l_loop_counter) := l_id_tab(l_loop_counter);
12989
12990 l_party_id_mapping_tab(l_party_counter).new_id := l_id_tab(l_loop_counter);
12991 l_chr_id_tab(l_loop_counter) := l_chr_id_tab2(i);
12992
12993 -- Replace l_chr_id_tab
12994 IF (l_chr_id_tab(l_loop_counter) IS NOT NULL) THEN
12995 l_chr_id_tab(l_loop_counter) := p_new_id;
12996 END IF;
12997
12998 l_cle_id_tab(l_loop_counter) := l_cle_id_tab2(i);
12999
13000 -- Replace l_cle_id_tab
13001 IF (l_cle_id_tab(l_loop_counter) IS NOT NULL) THEN
13002 l_new_cle_id := find_mapping_id(l_cle_id_tab(l_loop_counter));
13003 IF (l_new_cle_id = -1) THEN
13004 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13005 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_cle_id_tab(l_loop_counter));
13006 END IF;
13007 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13008 END IF;
13009 l_cle_id_tab(l_loop_counter) := l_new_cle_id;
13010 END IF;
13011
13012 l_dnz_chr_id_tab(l_loop_counter) := l_dnz_chr_id_tab2(i);
13013
13014 -- Replace dnz_chr_id
13015 l_dnz_chr_id_tab(l_loop_counter) := p_new_id;
13016
13017 l_rle_code_tab(l_loop_counter) := l_rle_code_tab2(i);
13018
13019 l_object1_id1_tab(l_loop_counter) := l_object1_id1_tab2(i);
13020 l_probject1_id1_tab(l_loop_counter) := l_object1_id1_tab(l_loop_counter);
13021
13022 -- Store vendor id mapping for business event processing only
13023 IF (l_rle_code_tab(l_loop_counter) = 'OKL_VENDOR' AND
13024 l_cle_id_tab(l_loop_counter) IS NOT NULL) THEN
13025 l_vid_mapping_tab(l_vid_counter).cle_id := l_cle_id_tab(l_loop_counter);
13026 l_vid_mapping_tab(l_vid_counter).object1_id1 := l_object1_id1_tab(l_loop_counter);
13027 l_vid_counter := l_vid_counter + 1;
13028 END IF;
13029
13030
13031 l_object1_id2_tab(l_loop_counter) := l_object1_id2_tab2(i);
13032 l_jtot_object1_code_tab(l_loop_counter) := l_jtot_object1_code_tab2(i);
13033 l_object_version_number_tab(l_loop_counter) := l_object_version_number_tab2(i);
13034 l_created_by_tab(l_loop_counter) := l_created_by_tab2(i);
13035 l_creation_date_tab(l_loop_counter) := l_creation_date_tab2(i);
13036 l_last_updated_by_tab(l_loop_counter) := l_last_updated_by_tab2(i);
13037 l_last_update_date_tab(l_loop_counter) := l_last_update_date_tab2(i);
13038 l_code_tab(l_loop_counter) := l_code_tab2(i);
13039 l_facility_tab(l_loop_counter) := l_facility_tab2(i);
13040 l_minority_group_lookup_c_tab(l_loop_counter) := l_minority_group_lookup_c_tab2(i);
13041 l_small_business_flag_tab(l_loop_counter) := l_small_business_flag_tab2(i);
13042 l_women_owned_flag_tab(l_loop_counter) := l_women_owned_flag_tab2(i);
13043 l_last_update_login_tab(l_loop_counter) := l_last_update_login_tab2(i);
13044 l_attribute_category_tab(l_loop_counter) := l_attribute_category_tab2(i);
13045 l_attribute1_tab(l_loop_counter) := l_attribute1_tab2(i);
13046 l_attribute2_tab(l_loop_counter) := l_attribute2_tab2(i);
13047 l_attribute3_tab(l_loop_counter) := l_attribute3_tab2(i);
13048 l_attribute4_tab(l_loop_counter) := l_attribute4_tab2(i);
13049 l_attribute5_tab(l_loop_counter) := l_attribute5_tab2(i);
13050 l_attribute6_tab(l_loop_counter) := l_attribute6_tab2(i);
13051 l_attribute7_tab(l_loop_counter) := l_attribute7_tab2(i);
13052 l_attribute8_tab(l_loop_counter) := l_attribute8_tab2(i);
13053 l_attribute9_tab(l_loop_counter) := l_attribute9_tab2(i);
13054 l_attribute10_tab(l_loop_counter) := l_attribute10_tab2(i);
13055 l_attribute11_tab(l_loop_counter) := l_attribute11_tab2(i);
13056 l_attribute12_tab(l_loop_counter) := l_attribute12_tab2(i);
13057 l_attribute13_tab(l_loop_counter) := l_attribute13_tab2(i);
13058 l_attribute14_tab(l_loop_counter) := l_attribute14_tab2(i);
13059 l_attribute15_tab(l_loop_counter) := l_attribute15_tab2(i);
13060 l_security_group_id_tab(l_loop_counter) := l_security_group_id_tab2(i);
13061 l_cpl_id_tab(l_loop_counter) := l_cpl_id_tab2(i);
13062 l_primary_yn_tab(l_loop_counter) := l_primary_yn_tab2(i);
13063 l_bill_to_site_use_id_tab(l_loop_counter) := l_bill_to_site_use_id_tab2(i);
13064 l_cust_acct_id_tab(l_loop_counter) := l_cust_acct_id_tab2(i);
13065 l_orig_system_id1_tab(l_loop_counter) := l_orig_system_id1_tab2(i);
13066
13067 l_party_counter := l_party_counter + 1;
13068 END LOOP;
13069 END LOOP;
13070 CLOSE c9;
13071 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13072 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_vid_counter=' || l_vid_counter);
13073 END IF;
13074 IF (l_vid_counter > 1) THEN
13075 sort_vid_mapping_tab;
13076 END IF;
13077
13078 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13079 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);
13080 END IF;
13081 IF (l_party_counter > 1) THEN
13082 forall i IN l_id_tab.first..l_id_tab.last
13083 INSERT INTO okc_k_party_roles_b (
13084 id, chr_id, cle_id,
13085 dnz_chr_id, rle_code, object1_id1,
13086 object1_id2, jtot_object1_code, object_version_number,
13087 created_by, creation_date, last_updated_by,
13088 last_update_date, code, facility,
13089 minority_group_lookup_code, small_business_flag, women_owned_flag,
13090 last_update_login, attribute_category, attribute1,
13091 attribute2, attribute3, attribute4,
13092 attribute5, attribute6, attribute7,
13093 attribute8, attribute9, attribute10,
13094 attribute11, attribute12, attribute13,
13095 attribute14, attribute15, security_group_id,
13096 cpl_id, primary_yn, bill_to_site_use_id,
13097 cust_acct_id, orig_system_id1
13098 ) VALUES (
13099 l_id_tab(i), l_chr_id_tab(i), l_cle_id_tab(i),
13100 l_dnz_chr_id_tab(i), l_rle_code_tab(i), l_object1_id1_tab(i),
13101 l_object1_id2_tab(i), l_jtot_object1_code_tab(i), 1,
13102 l_created_by, SYSDATE, l_last_updated_by,
13103 SYSDATE, l_code_tab(i), l_facility_tab(i),
13104 l_minority_group_lookup_c_tab(i), l_small_business_flag_tab(i), l_women_owned_flag_tab(i),
13105 l_last_update_login, l_attribute_category_tab(i), l_attribute1_tab(i),
13106 l_attribute2_tab(i), l_attribute3_tab(i), l_attribute4_tab(i),
13107 l_attribute5_tab(i), l_attribute6_tab(i), l_attribute7_tab(i),
13108 l_attribute8_tab(i), l_attribute9_tab(i), l_attribute10_tab(i),
13109 l_attribute11_tab(i), l_attribute12_tab(i), l_attribute13_tab(i),
13110 l_attribute14_tab(i), l_attribute15_tab(i), l_security_group_id_tab(i),
13111 l_cpl_id_tab(i), l_primary_yn_tab(i), l_bill_to_site_use_id_tab(i),
13112 l_cust_acct_id_tab(i), l_orig_system_id1_tab(i)
13113 );
13114
13115 do_sort_party_mapping_id;
13116
13117 IF (l_id_tab_old.COUNT > 0) THEN
13118 FOR i IN l_id_tab_old.first..l_id_tab_old.last
13119 LOOP
13120 IF (i = l_id_tab.last)
13121 THEN
13122 prepare_party_roles_tl(l_id_tab_old(i), l_id_tab(i), 'L');
13123 ELSE
13124 prepare_party_roles_tl(l_id_tab_old(i), l_id_tab(i), 'NL');
13125 END IF;
13126 END LOOP;
13127
13128 l_message := 'OKL_NEW_COPY_KPR_ERROR';
13129 FOR i IN l_id_tab_old.first..l_id_tab_old.last
13130 LOOP
13131 IF (i = l_id_tab.last)
13132 THEN
13133 prepare_okl_party_roles(l_id_tab_old(i), l_id_tab(i), 'Y');
13134 ELSE
13135 prepare_okl_party_roles(l_id_tab_old(i), l_id_tab(i), 'N');
13136 END IF;
13137 END LOOP;
13138
13139 l_message := 'OKL_NEW_COPY_CRO_ERROR';
13140 FOR i IN l_id_tab_old.first..l_id_tab_old.last
13141 LOOP
13142 IF (i = l_id_tab.last)
13143 THEN
13144 prepare_contacts(l_id_tab_old(i), l_id_tab(i), 'L');
13145 ELSE
13146 prepare_contacts(l_id_tab_old(i), l_id_tab(i), 'NL');
13147 END IF;
13148 END LOOP;
13149
13150 l_message := 'OKL_NEW_COPY_PHD_ERROR';
13151 IF (p_copy_lines_yn = 'Y') THEN
13152 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13153 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Calling party_payment_hdr...');
13154 END IF;
13155 copy_party_payment_hdr(p_old_id, p_new_id);
13156 END IF;
13157
13158 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13159 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Calling party_payment_dtls...');
13160 END IF;
13161 l_message := 'OKL_NEW_COPY_PYD_ERROR';
13162 FOR i IN l_id_tab_old.first..l_id_tab_old.last
13163 LOOP
13164 IF (i = l_id_tab.last)
13165 THEN
13166 prepare_party_payment_dtls(l_id_tab_old(i), l_id_tab(i), 'Y');
13167 ELSE
13168 prepare_party_payment_dtls(l_id_tab_old(i), l_id_tab(i), 'N');
13169 END IF;
13170 END LOOP;
13171 END IF;
13172 END IF;
13173
13174 EXCEPTION WHEN OTHERS THEN
13175
13176 x_return_status := OKL_API.G_RET_STS_ERROR;
13177 /*OKL_API.set_message(p_app_name => 'OKL',
13178 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13179 p_token1 => 'ASSET_NUMBER',
13180 p_token1_value => 'insert_okc_k_party_roles');*/
13181 /* DEBUG */
13182 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13183 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13184 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 || ' ...');
13185 END IF;
13186 IF (l_id_tab.COUNT > 0) THEN
13187 FOR i IN l_id_tab.first..l_id_tab.last
13188 LOOP
13189 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13190 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab('||i||')=' || l_id_tab(i));
13191 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_chr_id_tab('||i||')=' || l_chr_id_tab(i));
13192 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cle_id_tab('||i||')=' || l_cle_id_tab(i));
13193 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dnz_chr_id_tab('||i||')=' || l_dnz_chr_id_tab(i));
13194 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rle_code_tab('||i||')=' || l_rle_code_tab(i));
13195 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_object1_id1_tab('||i||')=' || l_object1_id1_tab(i));
13196 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_object1_id2_tab('||i||')=' || l_object1_id2_tab(i));
13197 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_jtot_object1_code_tab('||i||')=' || l_jtot_object1_code_tab(i));
13198 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_code_tab('||i||')=' || l_code_tab(i));
13199 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_facility_tab('||i||')=' || l_facility_tab(i));
13200 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));
13201 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_small_business_flag_tab('||i||')=' || l_small_business_flag_tab(i));
13202 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_women_owned_flag_tab('||i||')=' || l_women_owned_flag_tab(i));
13203 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute_category_tab('||i||')=' || l_attribute_category_tab(i));
13204 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute1_tab('||i||')=' || l_attribute1_tab(i));
13205 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute2_tab('||i||')=' || l_attribute2_tab(i));
13206 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute3_tab('||i||')=' || l_attribute3_tab(i));
13207 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute4_tab('||i||')=' || l_attribute4_tab(i));
13208 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute5_tab('||i||')=' || l_attribute5_tab(i));
13209 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute6_tab('||i||')=' || l_attribute6_tab(i));
13210 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute7_tab('||i||')=' || l_attribute7_tab(i));
13211 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute8_tab('||i||')=' || l_attribute8_tab(i));
13212 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute9_tab('||i||')=' || l_attribute9_tab(i));
13213 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute10_tab('||i||')=' || l_attribute10_tab(i));
13214 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute11_tab('||i||')=' || l_attribute11_tab(i));
13215 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute12_tab('||i||')=' || l_attribute12_tab(i));
13216 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute13_tab('||i||')=' || l_attribute13_tab(i));
13217 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute14_tab('||i||')=' || l_attribute14_tab(i));
13218 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_attribute15_tab('||i||')=' || l_attribute15_tab(i));
13219 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_security_group_id_tab('||i||')=' || l_security_group_id_tab(i));
13220 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cpl_id_tab('||i||')=' || l_cpl_id_tab(i));
13221 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_primary_yn_tab('||i||')=' || l_primary_yn_tab(i));
13222 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));
13223 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_cust_acct_id_tab('||i||')=' || l_cust_acct_id_tab(i));
13224 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_orig_system_id1_tab('||i||')=' || l_orig_system_id1_tab(i));
13225 END IF;
13226 END LOOP;
13227 END IF;
13228
13229 RAISE OKC_API.G_EXCEPTION_ERROR;
13230
13231 END; /* insert_okc_k_party_roles */
13232
13233 FUNCTION find_rid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
13234 hi NUMBER;
13235 lo NUMBER;
13236 m NUMBER;
13237 BEGIN
13238 lo := 1;
13239 hi := l_rule_groups_b_counter - 1;
13240 WHILE (lo <= hi) LOOP
13241 m := FLOOR((hi + lo)/2);
13242 IF (l_rid_mapping_tab(m).old_id = p_id) THEN
13243 RETURN l_rid_mapping_tab(m).new_id;
13244 ELSIF (l_rid_mapping_tab(m).old_id > p_id) THEN
13245 hi := m - 1;
13246 ELSE
13247 lo := m + 1;
13248 END IF;
13249 END LOOP;
13250 RETURN -1;
13251 END; /* find_rid_mapping_id */
13252
13253 PROCEDURE sort_rid_mapping_tab IS
13254 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
13255 --a numtabtype;
13256 l_stack numtabtype;
13257 l_stack_index NUMBER := 0;
13258 N NUMBER;
13259 R NUMBER;
13260 L NUMBER;
13261 P NUMBER;
13262 W NUMBER;
13263 W2 NUMBER;
13264 X NUMBER;
13265 I NUMBER;
13266 J NUMBER;
13267 BEGIN
13268 IF (G_DEBUG_ENABLED = 'Y') THEN
13269 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13270 END IF;
13271 NULL;
13272
13273 N := l_rule_groups_b_counter - 1;
13274 IF (N < 2) THEN
13275 RETURN;
13276 END IF;
13277 l_stack_index := l_stack_index + 1;
13278 l_stack(l_stack_index) := 1;
13279 l_stack_index := l_stack_index + 1;
13280 l_stack(l_stack_index) := N;
13281
13282 --dbms_output.put_line('l_stack_index=' || l_stack_index);
13283 WHILE l_stack_index > 0
13284 LOOP
13285 R := l_stack(l_stack_index);
13286 l_stack_index := l_stack_index - 1;
13287 L := l_stack(l_stack_index);
13288 l_stack_index := l_stack_index - 1;
13289 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
13290 WHILE 1=1
13291 LOOP -- loop until L >= R
13292 I := L;
13293 J := R;
13294 P := FLOOR((L+R)/2);
13295 --if (a(L) > a(P)) then
13296 IF (l_rid_mapping_tab(L).old_id > l_rid_mapping_tab(P).old_id)
13297 THEN
13298 W := l_rid_mapping_tab(L).old_id;
13299 W2 := l_rid_mapping_tab(L).new_id;
13300 l_rid_mapping_tab(L).old_id :=l_rid_mapping_tab(P).old_id;
13301 l_rid_mapping_tab(L).new_id :=l_rid_mapping_tab(P).new_id;
13302 l_rid_mapping_tab(P).old_id := W;
13303 l_rid_mapping_tab(P).new_id := W2;
13304 END IF;
13305 --if (a(L) > a(R)) then
13306 IF (l_rid_mapping_tab(L).old_id > l_rid_mapping_tab(R).old_id)
13307 THEN
13308 W := l_rid_mapping_tab(L).old_id;
13309 W2 := l_rid_mapping_tab(L).new_id;
13310 l_rid_mapping_tab(L).old_id :=l_rid_mapping_tab(R).old_id;
13311 l_rid_mapping_tab(L).new_id :=l_rid_mapping_tab(R).new_id;
13312 l_rid_mapping_tab(R).old_id := W;
13313 l_rid_mapping_tab(R).new_id := W2;
13314 END IF;
13315 --if (a(P) > a(R)) then
13316 IF (l_rid_mapping_tab(P).old_id > l_rid_mapping_tab(R).old_id)
13317 THEN
13318 W := l_rid_mapping_tab(P).old_id;
13319 W2 := l_rid_mapping_tab(P).new_id;
13320 l_rid_mapping_tab(P).old_id :=l_rid_mapping_tab(R).old_id;
13321 l_rid_mapping_tab(P).new_id :=l_rid_mapping_tab(R).new_id;
13322 l_rid_mapping_tab(R).old_id := W;
13323 l_rid_mapping_tab(R).new_id := W2;
13324 END IF;
13325 --X := a(P);
13326 X := l_rid_mapping_tab(P).old_id;
13327 WHILE 1=1
13328 LOOP -- until I > J
13329 --while (a(I) < X) loop
13330 WHILE (l_rid_mapping_tab(I).old_id < X) LOOP
13331 I := I + 1;
13332 END LOOP;
13333 WHILE (X < l_rid_mapping_tab(J).old_id) LOOP
13334 J := J - 1;
13335 END LOOP;
13336 IF (I <= J) THEN
13337 W := l_rid_mapping_tab(I).old_id;
13338 W2 := l_rid_mapping_tab(I).new_id;
13339 l_rid_mapping_tab(I).old_id :=l_rid_mapping_tab(J).old_id;
13340 l_rid_mapping_tab(I).new_id :=l_rid_mapping_tab(J).new_id;
13341 l_rid_mapping_tab(J).old_id := W;
13342 l_rid_mapping_tab(J).new_id := W2;
13343 I := I + 1;
13344 J := J - 1;
13345 END IF;
13346 EXIT WHEN I > J;
13347 END LOOP;
13348 IF (J - L < R - I) THEN
13349 IF (I < R) THEN
13350 --push(I); push(R);
13351 l_stack_index := l_stack_index + 1;
13352 l_stack(l_stack_index) := I;
13353 l_stack_index := l_stack_index + 1;
13354 l_stack(l_stack_index) := R;
13355 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
13356 END IF;
13357 R := J;
13358 ELSE
13359 IF (L < J) THEN
13360 --push(L); push(J);
13361 l_stack_index := l_stack_index + 1;
13362 l_stack(l_stack_index) := L;
13363 l_stack_index := l_stack_index + 1;
13364 l_stack(l_stack_index) := J;
13365 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
13366 END IF;
13367 L := I;
13368 END IF;
13369
13370 EXIT WHEN (L >= R);
13371 END LOOP;
13372 END LOOP;
13373
13374 EXCEPTION WHEN OTHERS THEN
13375
13376 x_return_status := OKL_API.G_RET_STS_ERROR;
13377 /*OKL_API.set_message(p_app_name => 'OKL',
13378 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13379 p_token1 => 'ASSET_NUMBER',
13380 p_token1_value => 'sort_rid_mapping_tab');*/
13381 /* DEBUG */
13382 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13383 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13384 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_rid_mapping_tab:l_rid_mapping_tab N=' || N || ' ...');
13385 END IF;
13386
13387 --print array
13388 FOR i IN 1..N
13389 LOOP
13390 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13391 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);
13392 END IF;
13393 END LOOP;
13394
13395 RAISE OKC_API.G_EXCEPTION_ERROR;
13396
13397 END; /* sort_rid_mapping_tab */
13398
13399
13400 FUNCTION find_rrid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
13401 hi NUMBER;
13402 lo NUMBER;
13403 m NUMBER;
13404 BEGIN
13405 lo := 1;
13406 hi := l_rules_b_counter - 1;
13407 WHILE (lo <= hi) LOOP
13408 m := FLOOR((hi + lo)/2);
13409 IF (l_rrid_mapping_tab(m).old_id = p_id) THEN
13410 RETURN l_rrid_mapping_tab(m).new_id;
13411 ELSIF (l_rrid_mapping_tab(m).old_id > p_id) THEN
13412 hi := m - 1;
13413 ELSE
13414 lo := m + 1;
13415 END IF;
13416 END LOOP;
13417 RETURN -1;
13418 END; /* find_rrid_mapping_id */
13419
13420 PROCEDURE sort_rrid_mapping_tab IS
13421 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
13422 --a numtabtype;
13423 l_stack numtabtype;
13424 l_stack_index NUMBER := 0;
13425 N NUMBER;
13426 R NUMBER;
13427 L NUMBER;
13428 P NUMBER;
13429 W NUMBER;
13430 W2 NUMBER;
13431 X NUMBER;
13432 I NUMBER;
13433 J NUMBER;
13434 BEGIN
13435 IF (G_DEBUG_ENABLED = 'Y') THEN
13436 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13437 END IF;
13438 NULL;
13439
13440 N := l_rules_b_counter - 1;
13441 IF (N < 2) THEN
13442 RETURN;
13443 END IF;
13444 l_stack_index := l_stack_index + 1;
13445 l_stack(l_stack_index) := 1;
13446 l_stack_index := l_stack_index + 1;
13447 l_stack(l_stack_index) := N;
13448
13449 --dbms_output.put_line('l_stack_index=' || l_stack_index);
13450 WHILE l_stack_index > 0
13451 LOOP
13452 R := l_stack(l_stack_index);
13453 l_stack_index := l_stack_index - 1;
13454 L := l_stack(l_stack_index);
13455 l_stack_index := l_stack_index - 1;
13456 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
13457 WHILE 1=1
13458 LOOP -- loop until L >= R
13459 I := L;
13460 J := R;
13461 P := FLOOR((L+R)/2);
13462 --if (a(L) > a(P)) then
13463 IF (l_rrid_mapping_tab(L).old_id > l_rrid_mapping_tab(P).old_id)
13464 THEN
13465 W := l_rrid_mapping_tab(L).old_id;
13466 W2 := l_rrid_mapping_tab(L).new_id;
13467 l_rrid_mapping_tab(L).old_id :=l_rrid_mapping_tab(P).old_id;
13468 l_rrid_mapping_tab(L).new_id :=l_rrid_mapping_tab(P).new_id;
13469 l_rrid_mapping_tab(P).old_id := W;
13470 l_rrid_mapping_tab(P).new_id := W2;
13471 END IF;
13472 --if (a(L) > a(R)) then
13473 IF (l_rrid_mapping_tab(L).old_id > l_rrid_mapping_tab(R).old_id)
13474 THEN
13475 W := l_rrid_mapping_tab(L).old_id;
13476 W2 := l_rrid_mapping_tab(L).new_id;
13477 l_rrid_mapping_tab(L).old_id :=l_rrid_mapping_tab(R).old_id;
13478 l_rrid_mapping_tab(L).new_id :=l_rrid_mapping_tab(R).new_id;
13479 l_rrid_mapping_tab(R).old_id := W;
13480 l_rrid_mapping_tab(R).new_id := W2;
13481 END IF;
13482 --if (a(P) > a(R)) then
13483 IF (l_rrid_mapping_tab(P).old_id > l_rrid_mapping_tab(R).old_id)
13484 THEN
13485 W := l_rrid_mapping_tab(P).old_id;
13486 W2 := l_rrid_mapping_tab(P).new_id;
13487 l_rrid_mapping_tab(P).old_id :=l_rrid_mapping_tab(R).old_id;
13488 l_rrid_mapping_tab(P).new_id :=l_rrid_mapping_tab(R).new_id;
13489 l_rrid_mapping_tab(R).old_id := W;
13490 l_rrid_mapping_tab(R).new_id := W2;
13491 END IF;
13492 --X := a(P);
13493 X := l_rrid_mapping_tab(P).old_id;
13494 WHILE 1=1
13495 LOOP -- until I > J
13496 --while (a(I) < X) loop
13497 WHILE (l_rrid_mapping_tab(I).old_id < X) LOOP
13498 I := I + 1;
13499 END LOOP;
13500 WHILE (X < l_rrid_mapping_tab(J).old_id) LOOP
13501 J := J - 1;
13502 END LOOP;
13503 IF (I <= J) THEN
13504 W := l_rrid_mapping_tab(I).old_id;
13505 W2 := l_rrid_mapping_tab(I).new_id;
13506 l_rrid_mapping_tab(I).old_id :=l_rrid_mapping_tab(J).old_id;
13507 l_rrid_mapping_tab(I).new_id :=l_rrid_mapping_tab(J).new_id;
13508 l_rrid_mapping_tab(J).old_id := W;
13509 l_rrid_mapping_tab(J).new_id := W2;
13510 I := I + 1;
13511 J := J - 1;
13512 END IF;
13513 EXIT WHEN I > J;
13514 END LOOP;
13515 IF (J - L < R - I) THEN
13516 IF (I < R) THEN
13517 --push(I); push(R);
13518 l_stack_index := l_stack_index + 1;
13519 l_stack(l_stack_index) := I;
13520 l_stack_index := l_stack_index + 1;
13521 l_stack(l_stack_index) := R;
13522 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
13523 END IF;
13524 R := J;
13525 ELSE
13526 IF (L < J) THEN
13527 --push(L); push(J);
13528 l_stack_index := l_stack_index + 1;
13529 l_stack(l_stack_index) := L;
13530 l_stack_index := l_stack_index + 1;
13531 l_stack(l_stack_index) := J;
13532 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
13533 END IF;
13534 L := I;
13535 END IF;
13536
13537 EXIT WHEN (L >= R);
13538 END LOOP;
13539 END LOOP;
13540
13541 EXCEPTION WHEN OTHERS THEN
13542
13543 x_return_status := OKL_API.G_RET_STS_ERROR;
13544 /*OKL_API.set_message(p_app_name => 'OKL',
13545 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13546 p_token1 => 'ASSET_NUMBER',
13547 p_token1_value => 'sort_rrid_mapping_tab');*/
13548 /* DEBUG */
13549 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13550 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13551 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_rrid_mapping_tab:l_rrid_mapping_tab N=' || N || ' ...');
13552 END IF;
13553
13554 --print array
13555 FOR i IN 1..N
13556 LOOP
13557 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13558 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);
13559 END IF;
13560 END LOOP;
13561
13562 RAISE OKC_API.G_EXCEPTION_ERROR;
13563
13564 END; /* sort_rrid_mapping_tab */
13565
13566
13567 PROCEDURE prepare_rule_groups_tl(p_old_id IN okc_rule_groups_b.id%TYPE,
13568 p_new_id IN okc_rule_groups_b.id%TYPE,
13569 p_flush IN VARCHAR2) IS
13570 CURSOR c13(p_id NUMBER) IS
13571 SELECT
13572 id, LANGUAGE, source_lang,
13573 sfwt_flag, comments, created_by,
13574 creation_date, last_updated_by, last_update_date,
13575 last_update_login, security_group_id
13576 FROM okc_rule_groups_tl
13577 WHERE id = p_id;
13578
13579 l_rtid_tab2 l_rtid_type;
13580 l_rtlanguage_tab2 l_rtlanguage_type;
13581 l_rtsource_lang_tab2 l_rtsource_lang_type;
13582 l_rtsfwt_flag_tab2 l_rtsfwt_flag_type;
13583 l_rtcomments_tab2 l_rtcomments_type;
13584 l_rtcreated_by_tab2 l_rtcreated_by_type;
13585 l_rtcreation_date_tab2 l_rtcreation_date_type;
13586 l_rtlast_updated_by_tab2 l_rtlast_updated_by_type;
13587 l_rtlast_update_date_tab2 l_rtlast_update_date_type;
13588 l_rtlast_update_login_tab2 l_rtlast_update_login_type;
13589 l_rtsecurity_group_id_tab2 l_rtsecurity_group_id_type;
13590
13591 BEGIN
13592 IF (G_DEBUG_ENABLED = 'Y') THEN
13593 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13594 END IF;
13595 NULL;
13596 OPEN c13(p_old_id);
13597 LOOP
13598 FETCH c13 bulk collect INTO
13599 l_rtid_tab2, l_rtlanguage_tab2, l_rtsource_lang_tab2,
13600 l_rtsfwt_flag_tab2, l_rtcomments_tab2, l_rtcreated_by_tab2,
13601 l_rtcreation_date_tab2,l_rtlast_updated_by_tab2,l_rtlast_update_date_tab2,
13602 l_rtlast_update_login_tab2, l_rtsecurity_group_id_tab2
13603 limit G_BULK_SIZE;
13604 EXIT WHEN l_rtid_tab2.COUNT = 0;
13605 FOR i IN l_rtid_tab2.first..l_rtid_tab2.last
13606 LOOP
13607 l_rtid_tab(l_rule_groups_tl_counter) := l_rtid_tab2(i);
13608
13609 -- Change id
13610 l_rtid_tab(l_rule_groups_tl_counter) := p_new_id;
13611
13612 l_rtlanguage_tab(l_rule_groups_tl_counter) := l_rtlanguage_tab2(i);
13613 l_rtsource_lang_tab(l_rule_groups_tl_counter) := l_rtsource_lang_tab2(i);
13614 l_rtsfwt_flag_tab(l_rule_groups_tl_counter) := l_rtsfwt_flag_tab2(i);
13615 l_rtcomments_tab(l_rule_groups_tl_counter) := l_rtcomments_tab2(i);
13616 l_rtcreated_by_tab(l_rule_groups_tl_counter) := l_rtcreated_by_tab2(i);
13617 l_rtcreation_date_tab(l_rule_groups_tl_counter) := l_rtcreation_date_tab2(i);
13618 l_rtlast_updated_by_tab(l_rule_groups_tl_counter) := l_rtlast_updated_by_tab2(i);
13619 l_rtlast_update_date_tab(l_rule_groups_tl_counter) := l_rtlast_update_date_tab2(i);
13620 l_rtlast_update_login_tab(l_rule_groups_tl_counter) := l_rtlast_update_login_tab2(i);
13621 l_rtsecurity_group_id_tab(l_rule_groups_tl_counter) := l_rtsecurity_group_id_tab2(i);
13622
13623 l_rule_groups_tl_counter := l_rule_groups_tl_counter + 1;
13624 END LOOP;
13625 END LOOP;
13626 CLOSE c13;
13627
13628 IF (p_flush = 'Y') THEN
13629 IF (l_rule_groups_tl_counter > 1) THEN
13630 forall i IN l_rtid_tab.first..l_rtid_tab.last
13631 INSERT INTO okc_rule_groups_tl (
13632 id, LANGUAGE, source_lang,
13633 sfwt_flag, comments, created_by,
13634 creation_date, last_updated_by, last_update_date,
13635 last_update_login, security_group_id
13636 ) VALUES (
13637 l_rtid_tab(i), l_rtlanguage_tab(i), l_rtsource_lang_tab(i),
13638 'N', l_rtcomments_tab(i), l_created_by,
13639 SYSDATE, l_last_updated_by, SYSDATE,
13640 l_last_update_login, l_rtsecurity_group_id_tab(i)
13641 );
13642 END IF;
13643 END IF;
13644
13645 EXCEPTION WHEN OTHERS THEN
13646
13647 x_return_status := OKL_API.G_RET_STS_ERROR;
13648 /*OKL_API.set_message(p_app_name => 'OKL',
13649 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13650 p_token1 => 'ASSET_NUMBER',
13651 p_token1_value => 'prepare_rule_groups_tl');*/
13652 /* DEBUG */
13653 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13654 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13655 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing prepare_rule_groups_tl:l_rtid_tab.count=' || l_rtid_tab.COUNT || ' ...');
13656 END IF;
13657 IF (l_rtid_tab.COUNT > 0) THEN
13658 FOR i IN l_rtid_tab.first..l_rtid_tab.last
13659 LOOP
13660 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13661 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtid_tab('||i||')=' || l_rtid_tab(i));
13662 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtlanguage_tab('||i||')=' || l_rtlanguage_tab(i));
13663 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtsource_lang_tab('||i||')=' || l_rtsource_lang_tab(i));
13664 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtcomments_tab('||i||')=' || l_rtcomments_tab(i));
13665 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rtsecurity_group_id_tab('||i||')=' || l_rtsecurity_group_id_tab(i));
13666 END IF;
13667 END LOOP;
13668 END IF;
13669
13670 RAISE OKC_API.G_EXCEPTION_ERROR;
13671
13672 END; /* prepare_rule_groups_tl */
13673
13674 PROCEDURE insert_okc_rules_tl(p_old_id IN okc_rules_b.id%TYPE,
13675 p_new_id okc_rules_b.id%TYPE,
13676 p_flush IN VARCHAR2 ) IS
13677 CURSOR c15(p_id okc_rules_b.id%TYPE) IS
13678 SELECT
13679 id, LANGUAGE, source_lang,
13680 sfwt_flag, comments, text,
13681 created_by, creation_date, last_updated_by,
13682 last_update_date, last_update_login, security_group_id
13683 FROM okc_rules_tl
13684 WHERE id = p_id;
13685
13686 l_trid_tab2 l_trid_type;
13687 l_trlanguage_tab2 l_trlanguage_type;
13688 l_trsource_lang_tab2 l_trsource_lang_type;
13689 l_trsfwt_flag_tab2 l_trsfwt_flag_type;
13690 l_trcomments_tab2 l_trcomments_type;
13691 l_trtext_tab2 l_trtext_type;
13692 l_trcreated_by_tab2 l_trcreated_by_type;
13693 l_trcreation_date_tab2 l_trcreation_date_type;
13694 l_trlast_updated_by_tab2 l_trlast_updated_by_type;
13695 l_trlast_update_date_tab2 l_trlast_update_date_type;
13696 l_trlast_update_login_tab2 l_trlast_update_login_type;
13697 l_trsecurity_group_id_tab2 l_trsecurity_group_id_type;
13698
13699 BEGIN
13700 IF (G_DEBUG_ENABLED = 'Y') THEN
13701 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13702 END IF;
13703 OPEN c15(p_old_id);
13704 LOOP
13705 FETCH c15 bulk collect INTO
13706 l_trid_tab2, l_trlanguage_tab2, l_trsource_lang_tab2,
13707 l_trsfwt_flag_tab2, l_trcomments_tab2, l_trtext_tab2,
13708 l_trcreated_by_tab2, l_trcreation_date_tab2, l_trlast_updated_by_tab2,
13709 l_trlast_update_date_tab2, l_trlast_update_login_tab2, l_trsecurity_group_id_tab2
13710 limit G_BULK_SIZE;
13711 EXIT WHEN l_trid_tab2.COUNT = 0;
13712 FOR i IN l_trid_tab2.first..l_trid_tab2.last
13713 LOOP
13714
13715 l_trid_tab(l_rules_tl_counter) := l_trid_tab2(i);
13716 -- Change id
13717 l_trid_tab(l_rules_tl_counter) := p_new_id;
13718
13719 l_trlanguage_tab(l_rules_tl_counter) := l_trlanguage_tab2(i);
13720 l_trsource_lang_tab(l_rules_tl_counter) := l_trsource_lang_tab2(i);
13721 l_trsfwt_flag_tab(l_rules_tl_counter) := l_trsfwt_flag_tab2(i);
13722 l_trcomments_tab(l_rules_tl_counter) := l_trcomments_tab2(i);
13723 l_trtext_tab(l_rules_tl_counter) := l_trtext_tab2(i);
13724 l_trcreated_by_tab(l_rules_tl_counter) := l_trcreated_by_tab2(i);
13725 l_trcreation_date_tab(l_rules_tl_counter) := l_trcreation_date_tab2(i);
13726 l_trlast_updated_by_tab(l_rules_tl_counter) := l_trlast_updated_by_tab2(i);
13727 l_trlast_update_date_tab(l_rules_tl_counter) := l_trlast_update_date_tab2(i);
13728 l_trlast_update_login_tab(l_rules_tl_counter) := l_trlast_update_login_tab2(i);
13729 l_trsecurity_group_id_tab(l_rules_tl_counter) := l_trsecurity_group_id_tab2(i);
13730
13731 l_rules_tl_counter := l_rules_tl_counter + 1;
13732 END LOOP;
13733 END LOOP;
13734 CLOSE c15;
13735
13736 IF (p_flush = 'Y') THEN
13737 IF (l_rules_tl_counter > 1) THEN
13738 forall i IN l_trid_tab.first..l_trid_tab.last
13739 INSERT INTO okc_rules_tl (
13740 id, LANGUAGE, source_lang,
13741 sfwt_flag, comments, text,
13742 created_by, creation_date, last_updated_by,
13743 last_update_date, last_update_login, security_group_id
13744 ) VALUES (
13745 l_trid_tab(i), l_trlanguage_tab(i), l_trsource_lang_tab(i),
13746 l_trsfwt_flag_tab(i), l_trcomments_tab(i), l_trtext_tab(i),
13747 l_trcreated_by_tab(i), l_trcreation_date_tab(i), l_trlast_updated_by_tab(i),
13748 l_trlast_update_date_tab(i), l_trlast_update_login_tab(i), l_trsecurity_group_id_tab(i)
13749 );
13750 END IF;
13751 END IF;
13752
13753 EXCEPTION WHEN OTHERS THEN
13754
13755 x_return_status := OKL_API.G_RET_STS_ERROR;
13756 /*OKL_API.set_message(p_app_name => 'OKL',
13757 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
13758 p_token1 => 'ASSET_NUMBER',
13759 p_token1_value => 'insert_okc_rules_tl');*/
13760 /* DEBUG */
13761 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13762 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
13763 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_rules_tl:l_trid_tab.count=' || l_trid_tab.COUNT || ' ...');
13764 END IF;
13765 IF (l_trid_tab.COUNT > 0 ) THEN
13766 FOR i IN l_trid_tab.first..l_trid_tab.last
13767 LOOP
13768 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
13769 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trid_tab('||i||')=' || l_trid_tab(i));
13770 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trlanguage_tab('||i||')=' || l_trlanguage_tab(i));
13771 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trsource_lang_tab('||i||')=' || l_trsource_lang_tab(i));
13772 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trsfwt_flag_tab('||i||')=' || l_trsfwt_flag_tab(i));
13773 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trcomments_tab('||i||')=' || l_trcomments_tab(i));
13774 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trtext_tab('||i||')=' || l_trtext_tab(i));
13775 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_trsecurity_group_id_tab('||i||')=' || l_trsecurity_group_id_tab(i));
13776 END IF;
13777 END LOOP;
13778 END IF;
13779
13780 RAISE OKC_API.G_EXCEPTION_ERROR;
13781
13782 END; /* insert_okc_rules_tl */
13783
13784 PROCEDURE insert_okc_rules_b( p_old_id IN okc_rule_groups_b.id%TYPE,
13785 p_new_id IN okc_rule_groups_b.id%TYPE) IS
13786 CURSOR c14(p_id okc_rule_groups_b.id%TYPE) IS
13787 SELECT
13788 a.id, a.rgp_id, a.object1_id1,
13789 a.object2_id1, a.object3_id1, a.object1_id2,
13790 a.object2_id2, a.object3_id2, a.jtot_object1_code,
13791 a.jtot_object2_code, a.jtot_object3_code, a.dnz_chr_id,
13792 a.std_template_yn, a.warn_yn, a.priority,
13793 a.object_version_number, a.created_by, a.creation_date,
13794 a.last_updated_by, a.last_update_date, a.last_update_login,
13795 a.attribute_category, a.attribute1, a.attribute2,
13796 a.attribute3, a.attribute4, a.attribute5,
13797 a.attribute6, a.attribute7, a.attribute8,
13798 a.attribute9, a.attribute10, a.attribute11,
13799 a.attribute12, a.attribute13, a.attribute14,
13800 a.attribute15, a.rule_information_category, a.rule_information1,
13801 a.rule_information2, a.rule_information3, a.rule_information4,
13802 a.rule_information5, a.rule_information6, a.rule_information7,
13803 a.rule_information8, a.rule_information9, a.rule_information10,
13804 a.rule_information11, a.rule_information12, a.rule_information13,
13805 a.rule_information14, a.rule_information15, a.security_group_id,
13806 a.template_yn, a.ans_set_jtot_object_code, a.ans_set_jtot_object_id1,
13807 a.ans_set_jtot_object_id2, a.display_sequence, a.comments
13808 FROM okc_rules_b a,
13809 okc_rule_groups_b rgp,
13810 okc_rg_def_rules rgdef
13811 WHERE a.dnz_chr_id=p_id
13812 AND a.rgp_id=rgp.id
13813 AND rgp.rgd_code=rgdef.rgd_code
13814 AND a.rule_information_category = rgdef.rdf_code
13815 AND (
13816 rgp.chr_id = rgp.chr_id
13817 OR (
13818 NVL(p_copy_lines_yn, 'N') = 'Y'
13819 AND rgp.cle_id IS NOT NULL
13820 )
13821 );
13822
13823 l_rrid_tab2 l_rrid_type;
13824 l_rrrgp_id_tab2 l_rrrgp_id_type;
13825 l_rrobject1_id1_tab2 l_rrobject1_id1_type;
13826 l_rrobject2_id1_tab2 l_rrobject2_id1_type;
13827 l_rrobject3_id1_tab2 l_rrobject3_id1_type;
13828 l_rrobject1_id2_tab2 l_rrobject1_id2_type;
13829 l_rrobject2_id2_tab2 l_rrobject2_id2_type;
13830 l_rrobject3_id2_tab2 l_rrobject3_id2_type;
13831 l_rrjtot_object1_code_tab2 l_rrjtot_object1_code_type;
13832 l_rrjtot_object2_code_tab2 l_rrjtot_object2_code_type;
13833 l_rrjtot_object3_code_tab2 l_rrjtot_object3_code_type;
13834 l_rrdnz_chr_id_tab2 l_rrdnz_chr_id_type;
13835 l_rrstd_template_yn_tab2 l_rrstd_template_yn_type;
13836 l_rrwarn_yn_tab2 l_rrwarn_yn_type;
13837 l_rrpriority_tab2 l_rrpriority_type;
13838 l_rrobject_version_number_tab2 l_rrobject_version_number_type;
13839 l_rrcreated_by_tab2 l_rrcreated_by_type;
13840 l_rrcreation_date_tab2 l_rrcreation_date_type;
13841 l_rrlast_updated_by_tab2 l_rrlast_updated_by_type;
13842 l_rrlast_update_date_tab2 l_rrlast_update_date_type;
13843 l_rrlast_update_login_tab2 l_rrlast_update_login_type;
13844 l_rrattribute_category_tab2 l_rrattribute_category_type;
13845 l_rrattribute1_tab2 l_rrattribute1_type;
13846 l_rrattribute2_tab2 l_rrattribute2_type;
13847 l_rrattribute3_tab2 l_rrattribute3_type;
13848 l_rrattribute4_tab2 l_rrattribute4_type;
13849 l_rrattribute5_tab2 l_rrattribute5_type;
13850 l_rrattribute6_tab2 l_rrattribute6_type;
13851 l_rrattribute7_tab2 l_rrattribute7_type;
13852 l_rrattribute8_tab2 l_rrattribute8_type;
13853 l_rrattribute9_tab2 l_rrattribute9_type;
13854 l_rrattribute10_tab2 l_rrattribute10_type;
13855 l_rrattribute11_tab2 l_rrattribute11_type;
13856 l_rrattribute12_tab2 l_rrattribute12_type;
13857 l_rrattribute13_tab2 l_rrattribute13_type;
13858 l_rrattribute14_tab2 l_rrattribute14_type;
13859 l_rrattribute15_tab2 l_rrattribute15_type;
13860 l_rrrule_information_cate_tab2 l_rrrule_information_cate_type;
13861 l_rrrule_information1_tab2 l_rrrule_information1_type;
13862 l_rrrule_information2_tab2 l_rrrule_information2_type;
13863 l_rrrule_information3_tab2 l_rrrule_information3_type;
13864 l_rrrule_information4_tab2 l_rrrule_information4_type;
13865 l_rrrule_information5_tab2 l_rrrule_information5_type;
13866 l_rrrule_information6_tab2 l_rrrule_information6_type;
13867 l_rrrule_information7_tab2 l_rrrule_information7_type;
13868 l_rrrule_information8_tab2 l_rrrule_information8_type;
13869 l_rrrule_information9_tab2 l_rrrule_information9_type;
13870 l_rrrule_information10_tab2 l_rrrule_information10_type;
13871 l_rrrule_information11_tab2 l_rrrule_information11_type;
13872 l_rrrule_information12_tab2 l_rrrule_information12_type;
13873 l_rrrule_information13_tab2 l_rrrule_information13_type;
13874 l_rrrule_information14_tab2 l_rrrule_information14_type;
13875 l_rrrule_information15_tab2 l_rrrule_information15_type;
13876 l_rrsecurity_group_id_tab2 l_rrsecurity_group_id_type;
13877 l_rrtemplate_yn_tab2 l_rrtemplate_yn_type;
13878 l_rrans_set_jtot_object_c_tab2 l_rrans_set_jtot_object_c_type;
13879 l_rrans_set_jtot_object_1_tab2 l_rrans_set_jtot_object_1_type;
13880 l_rrans_set_jtot_object_2_tab2 l_rrans_set_jtot_object_2_type;
13881 l_rrdisplay_sequence_tab2 l_rrdisplay_sequence_type;
13882 l_rrcomments_tab2 l_rrcomments_type;
13883
13884 l_new_rgp_id NUMBER;
13885 l_new_id NUMBER;
13886
13887 l_return_status2 VARCHAR2(1);
13888 l_unsched_prin_stream_id NUMBER := NULL;
13889 l_unsched_loan_stream_id NUMBER := NULL;
13890 l_proceed_processing BOOLEAN := TRUE;
13891 l_prin_rule_id NUMBER := NULL;
13892 l_loan_rule_id NUMBER := NULL;
13893 BEGIN
13894 IF (G_DEBUG_ENABLED = 'Y') THEN
13895 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
13896 END IF;
13897 NULL;
13898 okl_streams_util.get_dependent_stream_type (
13899 p_khr_id => p_old_id,
13900 p_primary_sty_purpose => 'RENT',
13901 p_dependent_sty_purpose => 'UNSCHEDULED_PRINCIPAL_PAYMENT',
13902 x_return_status => l_return_status2,
13903 x_dependent_sty_id => l_unsched_prin_stream_id);
13904 IF (l_return_status2 <> OKC_API.G_RET_STS_SUCCESS) THEN
13905 l_unsched_prin_stream_id := NULL;
13906 END IF;
13907
13908 okl_streams_util.get_dependent_stream_type (
13909 p_khr_id => p_old_id,
13910 p_primary_sty_purpose => 'RENT',
13911 p_dependent_sty_purpose => 'UNSCHEDULED_LOAN_PAYMENT',
13912 x_return_status => l_return_status2,
13913 x_dependent_sty_id => l_unsched_loan_stream_id);
13914 IF (l_return_status2 <> OKC_API.G_RET_STS_SUCCESS) THEN
13915 l_unsched_loan_stream_id := NULL;
13916 END IF;
13917
13918 --print('AKP:l_unsched_prin_stream_id=' || l_unsched_prin_stream_id);
13919 --print('AKP:l_unsched_loan_stream_id=' || l_unsched_loan_stream_id);
13920 OPEN c14(p_old_id);
13921 LOOP
13922 FETCH c14 bulk collect INTO
13923 l_rrid_tab2, l_rrrgp_id_tab2, l_rrobject1_id1_tab2,
13924 l_rrobject2_id1_tab2, l_rrobject3_id1_tab2, l_rrobject1_id2_tab2,
13925 l_rrobject2_id2_tab2, l_rrobject3_id2_tab2, l_rrjtot_object1_code_tab2,
13926 l_rrjtot_object2_code_tab2, l_rrjtot_object3_code_tab2, l_rrdnz_chr_id_tab2,
13927 l_rrstd_template_yn_tab2, l_rrwarn_yn_tab2, l_rrpriority_tab2,
13928 l_rrobject_version_number_tab2, l_rrcreated_by_tab2, l_rrcreation_date_tab2,
13929 l_rrlast_updated_by_tab2, l_rrlast_update_date_tab2, l_rrlast_update_login_tab2,
13930 l_rrattribute_category_tab2, l_rrattribute1_tab2, l_rrattribute2_tab2,
13931 l_rrattribute3_tab2, l_rrattribute4_tab2, l_rrattribute5_tab2,
13932 l_rrattribute6_tab2, l_rrattribute7_tab2, l_rrattribute8_tab2,
13933 l_rrattribute9_tab2, l_rrattribute10_tab2, l_rrattribute11_tab2,
13934 l_rrattribute12_tab2, l_rrattribute13_tab2, l_rrattribute14_tab2,
13935 l_rrattribute15_tab2, l_rrrule_information_cate_tab2, l_rrrule_information1_tab2,
13936 l_rrrule_information2_tab2, l_rrrule_information3_tab2, l_rrrule_information4_tab2,
13937 l_rrrule_information5_tab2, l_rrrule_information6_tab2, l_rrrule_information7_tab2,
13938 l_rrrule_information8_tab2, l_rrrule_information9_tab2, l_rrrule_information10_tab2,
13939 l_rrrule_information11_tab2, l_rrrule_information12_tab2, l_rrrule_information13_tab2,
13940 l_rrrule_information14_tab2, l_rrrule_information15_tab2, l_rrsecurity_group_id_tab2,
13941 l_rrtemplate_yn_tab2, l_rrans_set_jtot_object_c_tab2, l_rrans_set_jtot_object_1_tab2,
13942 l_rrans_set_jtot_object_2_tab2, l_rrdisplay_sequence_tab2, l_rrcomments_tab2
13943 limit G_BULK_SIZE;
13944 EXIT WHEN l_rrid_tab2.COUNT = 0;
13945 FOR i IN l_rrid_tab2.first..l_rrid_tab2.last
13946 LOOP
13947
13948 l_proceed_processing := TRUE;
13949 IF p_trans_type not in ('CRB', 'CRL', 'CSP', 'CRV', 'ALI') THEN
13950 IF (l_rrobject1_id1_tab2(i) = to_char(l_unsched_prin_stream_id)) THEN
13951 l_proceed_processing := FALSE;
13952 l_prin_rule_id := l_rrid_tab2(i);
13953 --print('AKP:l_prin_rule_id=' || l_prin_rule_id);
13954 END IF;
13955
13956 IF (l_rrobject1_id1_tab2(i) = to_char(l_unsched_loan_stream_id)) THEN
13957 l_proceed_processing := FALSE;
13958 l_loan_rule_id := l_rrid_tab2(i);
13959 END IF;
13960
13961 IF (l_rrobject2_id1_tab2(i) = to_char(l_prin_rule_id)) THEN
13962 l_proceed_processing := FALSE;
13963 END IF;
13964
13965 IF (l_rrobject2_id1_tab2(i) = to_char(l_loan_rule_id)) THEN
13966 l_proceed_processing := FALSE;
13967 END IF;
13968
13969 END IF;
13970
13971 /*IF (l_proceed_processing) THEN
13972 print('AKP: i=' || i || ': l_proceed_processing = TRUE');
13973 ELSE
13974 print('AKP: i=' || i || ': l_proceed_processing = FALSE');
13975 END IF;*/
13976
13977 IF (l_proceed_processing) THEN
13978 -- Store old in tab3
13979 l_rrid_tab3(l_rules_b_counter) := l_rrid_tab2(i);
13980
13981 l_rrid_tab(l_rules_b_counter) := l_rrid_tab2(i);
13982 -- Change id
13983 l_rrid_tab(l_rules_b_counter) := okc_p_util.raw_to_number(sys_guid());
13984
13985 l_rrid_mapping_tab(l_rules_b_counter).old_id := l_rrid_tab3(l_rules_b_counter);
13986 l_rrid_mapping_tab(l_rules_b_counter).new_id := l_rrid_tab(l_rules_b_counter);
13987
13988 l_rrrgp_id_tab(l_rules_b_counter) := l_rrrgp_id_tab2(i);
13989 -- Change rgp_id
13990 l_new_rgp_id := find_rid_mapping_id(l_rrrgp_id_tab(l_rules_b_counter));
13991 l_rrrgp_id_tab(l_rules_b_counter) := l_new_rgp_id;
13992
13993 l_rrobject1_id1_tab(l_rules_b_counter) := l_rrobject1_id1_tab2(i);
13994 l_rrobject2_id1_tab(l_rules_b_counter) := l_rrobject2_id1_tab2(i);
13995 l_rrobject3_id1_tab(l_rules_b_counter) := l_rrobject3_id1_tab2(i);
13996 l_rrobject1_id2_tab(l_rules_b_counter) := l_rrobject1_id2_tab2(i);
13997 l_rrobject2_id2_tab(l_rules_b_counter) := l_rrobject2_id2_tab2(i);
13998 l_rrobject3_id2_tab(l_rules_b_counter) := l_rrobject3_id2_tab2(i);
13999 l_rrjtot_object1_code_tab(l_rules_b_counter) := l_rrjtot_object1_code_tab2(i);
14000 l_rrjtot_object2_code_tab(l_rules_b_counter) := l_rrjtot_object2_code_tab2(i);
14001 l_rrjtot_object3_code_tab(l_rules_b_counter) := l_rrjtot_object3_code_tab2(i);
14002 l_rrdnz_chr_id_tab(l_rules_b_counter) := l_rrdnz_chr_id_tab2(i);
14003 -- Change dnz_chr_id
14004 l_rrdnz_chr_id_tab(l_rules_b_counter) := p_new_id;
14005
14006 l_rrstd_template_yn_tab(l_rules_b_counter) := l_rrstd_template_yn_tab2(i);
14007 l_rrwarn_yn_tab(l_rules_b_counter) := l_rrwarn_yn_tab2(i);
14008 l_rrpriority_tab(l_rules_b_counter) := l_rrpriority_tab2(i);
14009 l_rrobject_version_number_tab(l_rules_b_counter) := l_rrobject_version_number_tab2(i);
14010 l_rrcreated_by_tab(l_rules_b_counter) := l_rrcreated_by_tab2(i);
14011 l_rrcreation_date_tab(l_rules_b_counter) := l_rrcreation_date_tab2(i);
14012 l_rrlast_updated_by_tab(l_rules_b_counter) := l_rrlast_updated_by_tab2(i);
14013 l_rrlast_update_date_tab(l_rules_b_counter) := l_rrlast_update_date_tab2(i);
14014 l_rrlast_update_login_tab(l_rules_b_counter) := l_rrlast_update_login_tab2(i);
14015 l_rrattribute_category_tab(l_rules_b_counter) := l_rrattribute_category_tab2(i);
14016 l_rrattribute1_tab(l_rules_b_counter) := l_rrattribute1_tab2(i);
14017 l_rrattribute2_tab(l_rules_b_counter) := l_rrattribute2_tab2(i);
14018 l_rrattribute3_tab(l_rules_b_counter) := l_rrattribute3_tab2(i);
14019 l_rrattribute4_tab(l_rules_b_counter) := l_rrattribute4_tab2(i);
14020 l_rrattribute5_tab(l_rules_b_counter) := l_rrattribute5_tab2(i);
14021 l_rrattribute6_tab(l_rules_b_counter) := l_rrattribute6_tab2(i);
14022 l_rrattribute7_tab(l_rules_b_counter) := l_rrattribute7_tab2(i);
14023 l_rrattribute8_tab(l_rules_b_counter) := l_rrattribute8_tab2(i);
14024 l_rrattribute9_tab(l_rules_b_counter) := l_rrattribute9_tab2(i);
14025 l_rrattribute10_tab(l_rules_b_counter) := l_rrattribute10_tab2(i);
14026 l_rrattribute11_tab(l_rules_b_counter) := l_rrattribute11_tab2(i);
14027 l_rrattribute12_tab(l_rules_b_counter) := l_rrattribute12_tab2(i);
14028 l_rrattribute13_tab(l_rules_b_counter) := l_rrattribute13_tab2(i);
14029 l_rrattribute14_tab(l_rules_b_counter) := l_rrattribute14_tab2(i);
14030 l_rrattribute15_tab(l_rules_b_counter) := l_rrattribute15_tab2(i);
14031 l_rrrule_information_cate_tab(l_rules_b_counter) := l_rrrule_information_cate_tab2(i);
14032 l_rrrule_information1_tab(l_rules_b_counter) := l_rrrule_information1_tab2(i);
14033 --gboomina Bug 5362977 - Start
14034 -- Do not set Re-lease asset Flag to 'N' for Rebook and Re-lease copy
14035 -- contracts
14036 IF ( NVL(l_orig_system_source_code,OKL_API.G_MISS_CHAR) IN ('OKL_REBOOK','OKL_RELEASE'))
14037 THEN
14038 NULL;
14039 ELSE
14040 IF ( l_rrrule_information_cate_tab(l_rules_b_counter) = 'LARLES') THEN
14041 l_rrrule_information1_tab(l_rules_b_counter) := 'N';
14042 END IF;
14043 END IF;
14044 -- gboomina Bug 5362977 - End
14045
14046 l_rrrule_information2_tab(l_rules_b_counter) := l_rrrule_information2_tab2(i);
14047 l_rrrule_information3_tab(l_rules_b_counter) := l_rrrule_information3_tab2(i);
14048 l_rrrule_information4_tab(l_rules_b_counter) := l_rrrule_information4_tab2(i);
14049 l_rrrule_information5_tab(l_rules_b_counter) := l_rrrule_information5_tab2(i);
14050 l_rrrule_information6_tab(l_rules_b_counter) := l_rrrule_information6_tab2(i);
14051 l_rrrule_information7_tab(l_rules_b_counter) := l_rrrule_information7_tab2(i);
14052 l_rrrule_information8_tab(l_rules_b_counter) := l_rrrule_information8_tab2(i);
14053 l_rrrule_information9_tab(l_rules_b_counter) := l_rrrule_information9_tab2(i);
14054 l_rrrule_information10_tab(l_rules_b_counter) := l_rrrule_information10_tab2(i);
14055 l_rrrule_information11_tab(l_rules_b_counter) := l_rrrule_information11_tab2(i);
14056 l_rrrule_information12_tab(l_rules_b_counter) := l_rrrule_information12_tab2(i);
14057 -- bug 6489689 veramach start
14058 IF (l_rrrule_information_cate_tab(l_rules_b_counter) = 'LASLL') THEN
14059 l_rrrule_information13_tab(l_rules_b_counter) := NULL;
14060 ELSE
14061 l_rrrule_information13_tab(l_rules_b_counter) := l_rrrule_information13_tab2(i);
14062 END IF;
14063 -- bug 6489689 veramach end
14064 l_rrrule_information14_tab(l_rules_b_counter) := l_rrrule_information14_tab2(i);
14065 l_rrrule_information15_tab(l_rules_b_counter) := l_rrrule_information15_tab2(i);
14066 l_rrsecurity_group_id_tab(l_rules_b_counter) := l_rrsecurity_group_id_tab2(i);
14067 l_rrtemplate_yn_tab(l_rules_b_counter) := l_rrtemplate_yn_tab2(i);
14068 l_rrans_set_jtot_object_c_tab(l_rules_b_counter) := l_rrans_set_jtot_object_c_tab2(i);
14069 l_rrans_set_jtot_object_1_tab(l_rules_b_counter) := l_rrans_set_jtot_object_1_tab2(i);
14070 l_rrans_set_jtot_object_2_tab(l_rules_b_counter) := l_rrans_set_jtot_object_2_tab2(i);
14071 l_rrdisplay_sequence_tab(l_rules_b_counter) := l_rrdisplay_sequence_tab2(i);
14072 l_rrcomments_tab(l_rules_b_counter) := l_rrcomments_tab2(i);
14073
14074 l_rules_b_counter := l_rules_b_counter + 1;
14075
14076 END IF; -- if proceed_processing
14077 END LOOP;
14078 END LOOP;
14079 CLOSE c14;
14080
14081 IF (l_rules_b_counter > 1) THEN
14082 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14083 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);
14084 END IF;
14085 sort_rrid_mapping_tab;
14086 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14087 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sort_rrid_mapping_tab done...');
14088 END IF;
14089 -- Replace object1_id2
14090 FOR i IN l_rrid_tab.first..l_rrid_tab.last
14091 LOOP
14092 IF ((l_rrobject2_id1_tab(i) IS NOT NULL) AND
14093 --(l_rrobject2_id1_tab(i) != '#' ) and
14094 (l_rrrule_information_cate_tab(i) = 'LASLL')) THEN
14095 BEGIN
14096 l_new_id := find_rrid_mapping_id(TO_NUMBER(l_rrobject2_id1_tab(i)));
14097 IF (l_new_id = -1) THEN
14098 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14099 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR : Mapping id not found for ' || l_rrobject2_id1_tab(i));
14100 END IF;
14101 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14102 END IF;
14103 l_rrobject2_id1_tab(i) := l_new_id;
14104 --print('object2_id1:l_new_id=' || l_new_id);
14105 EXCEPTION WHEN OTHERS THEN
14106 NULL;
14107 --print('l_rrobject2_id1_tab(i)=' || l_rrobject2_id1_tab(i));
14108 END;
14109 END IF;
14110 END LOOP;
14111 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14112 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'replacing object1_id2 done...');
14113 END IF;
14114
14115 forall i IN l_rrid_tab.first..l_rrid_tab.last
14116 INSERT INTO okc_rules_b (
14117 id, rgp_id, object1_id1,
14118 object2_id1, object3_id1, object1_id2,
14119 object2_id2, object3_id2, jtot_object1_code,
14120 jtot_object2_code, jtot_object3_code, dnz_chr_id,
14121 std_template_yn, warn_yn, priority,
14122 object_version_number, created_by, creation_date,
14123 last_updated_by, last_update_date, last_update_login,
14124 attribute_category, attribute1, attribute2,
14125 attribute3, attribute4, attribute5,
14126 attribute6, attribute7, attribute8,
14127 attribute9, attribute10, attribute11,
14128 attribute12, attribute13, attribute14,
14129 attribute15, rule_information_category, rule_information1,
14130 rule_information2, rule_information3, rule_information4,
14131 rule_information5, rule_information6, rule_information7,
14132 rule_information8, rule_information9, rule_information10,
14133 rule_information11, rule_information12, rule_information13,
14134 rule_information14, rule_information15, security_group_id,
14135 template_yn, ans_set_jtot_object_code, ans_set_jtot_object_id1,
14136 ans_set_jtot_object_id2, display_sequence, comments
14137 ) VALUES (
14138 l_rrid_tab(i), l_rrrgp_id_tab(i), l_rrobject1_id1_tab(i),
14139 l_rrobject2_id1_tab(i), l_rrobject3_id1_tab(i), l_rrobject1_id2_tab(i),
14140 l_rrobject2_id2_tab(i), l_rrobject3_id2_tab(i), l_rrjtot_object1_code_tab(i),
14141 l_rrjtot_object2_code_tab(i), l_rrjtot_object3_code_tab(i), l_rrdnz_chr_id_tab(i),
14142 l_rrstd_template_yn_tab(i), l_rrwarn_yn_tab(i), l_rrpriority_tab(i),
14143 1, l_created_by, SYSDATE,
14144 l_last_updated_by, SYSDATE, l_last_update_login,
14145 l_rrattribute_category_tab(i), l_rrattribute1_tab(i), l_rrattribute2_tab(i),
14146 l_rrattribute3_tab(i), l_rrattribute4_tab(i), l_rrattribute5_tab(i),
14147 l_rrattribute6_tab(i), l_rrattribute7_tab(i), l_rrattribute8_tab(i),
14148 l_rrattribute9_tab(i), l_rrattribute10_tab(i), l_rrattribute11_tab(i),
14149 l_rrattribute12_tab(i), l_rrattribute13_tab(i), l_rrattribute14_tab(i),
14150 l_rrattribute15_tab(i), l_rrrule_information_cate_tab(i), l_rrrule_information1_tab(i),
14151 l_rrrule_information2_tab(i), l_rrrule_information3_tab(i), l_rrrule_information4_tab(i),
14152 l_rrrule_information5_tab(i), l_rrrule_information6_tab(i), l_rrrule_information7_tab(i),
14153 l_rrrule_information8_tab(i), l_rrrule_information9_tab(i), l_rrrule_information10_tab(i),
14154 l_rrrule_information11_tab(i), l_rrrule_information12_tab(i), l_rrrule_information13_tab(i),
14155 l_rrrule_information14_tab(i), l_rrrule_information15_tab(i), l_rrsecurity_group_id_tab(i),
14156 l_rrtemplate_yn_tab(i), l_rrans_set_jtot_object_c_tab(i), l_rrans_set_jtot_object_1_tab(i),
14157 l_rrans_set_jtot_object_2_tab(i), l_rrdisplay_sequence_tab(i), l_rrcomments_tab(i)
14158 );
14159 -- AKP: Special processing link_slh_sll ???
14160 FOR i IN l_rrid_tab.first..l_rrid_tab.last
14161 LOOP
14162 IF ( i = l_rrid_tab.last) THEN
14163 insert_okc_rules_tl(l_rrid_tab3(i),l_rrid_tab(i), 'Y');
14164 ELSE
14165 insert_okc_rules_tl(l_rrid_tab3(i),l_rrid_tab(i), 'N');
14166 END IF;
14167 END LOOP;
14168
14169 END IF;
14170
14171 EXCEPTION WHEN OTHERS THEN
14172
14173 x_return_status := OKL_API.G_RET_STS_ERROR;
14174 /*OKL_API.set_message(p_app_name => 'OKL',
14175 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
14176 p_token1 => 'ASSET_NUMBER',
14177 p_token1_value => 'insert_okc_rules_b');*/
14178 /* DEBUG */
14179 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14180 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
14181 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_rules_b:l_rrid_tab.count=' || l_rrid_tab.COUNT || ' ...');
14182 END IF;
14183
14184 IF (l_rrid_tab.COUNT > 0) THEN
14185 FOR i IN l_rrid_tab.first..l_rrid_tab.last
14186 LOOP
14187 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14188 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrid_tab('||i||')=' || l_rrid_tab(i));
14189 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrgp_id_tab('||i||')=' || l_rrrgp_id_tab(i));
14190 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject1_id1_tab('||i||')=' || l_rrobject1_id1_tab(i));
14191 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject2_id1_tab('||i||')=' || l_rrobject2_id1_tab(i));
14192 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject3_id1_tab('||i||')=' || l_rrobject3_id1_tab(i));
14193 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject1_id2_tab('||i||')=' || l_rrobject1_id2_tab(i));
14194 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject2_id2_tab('||i||')=' || l_rrobject2_id2_tab(i));
14195 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrobject3_id2_tab('||i||')=' || l_rrobject3_id2_tab(i));
14196 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrjtot_object1_code_tab('||i||')=' || l_rrjtot_object1_code_tab(i));
14197 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrjtot_object2_code_tab('||i||')=' || l_rrjtot_object2_code_tab(i));
14198 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrjtot_object3_code_tab('||i||')=' || l_rrjtot_object3_code_tab(i));
14199 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrdnz_chr_id_tab('||i||')=' || l_rrdnz_chr_id_tab(i));
14200 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrstd_template_yn_tab('||i||')=' || l_rrstd_template_yn_tab(i));
14201 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrwarn_yn_tab('||i||')=' || l_rrwarn_yn_tab(i));
14202 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrpriority_tab('||i||')=' || l_rrpriority_tab(i));
14203 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute_category_tab('||i||')=' || l_rrattribute_category_tab(i));
14204 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute1_tab('||i||')=' || l_rrattribute1_tab(i));
14205 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute2_tab('||i||')=' || l_rrattribute2_tab(i));
14206 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute3_tab('||i||')=' || l_rrattribute3_tab(i));
14207 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute4_tab('||i||')=' || l_rrattribute4_tab(i));
14208 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute5_tab('||i||')=' || l_rrattribute5_tab(i));
14209 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute6_tab('||i||')=' || l_rrattribute6_tab(i));
14210 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute7_tab('||i||')=' || l_rrattribute7_tab(i));
14211 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute8_tab('||i||')=' || l_rrattribute8_tab(i));
14212 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute9_tab('||i||')=' || l_rrattribute9_tab(i));
14213 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute10_tab('||i||')=' || l_rrattribute10_tab(i));
14214 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute11_tab('||i||')=' || l_rrattribute11_tab(i));
14215 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute12_tab('||i||')=' || l_rrattribute12_tab(i));
14216 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute13_tab('||i||')=' || l_rrattribute13_tab(i));
14217 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute14_tab('||i||')=' || l_rrattribute14_tab(i));
14218 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrattribute15_tab('||i||')=' || l_rrattribute15_tab(i));
14219 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information_cate_tab('||i||')=' || l_rrrule_information_cate_tab(i));
14220 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information1_tab('||i||')=' || l_rrrule_information1_tab(i));
14221 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information2_tab('||i||')=' || l_rrrule_information2_tab(i));
14222 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information3_tab('||i||')=' || l_rrrule_information3_tab(i));
14223 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information4_tab('||i||')=' || l_rrrule_information4_tab(i));
14224 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information5_tab('||i||')=' || l_rrrule_information5_tab(i));
14225 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information6_tab('||i||')=' || l_rrrule_information6_tab(i));
14226 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information7_tab('||i||')=' || l_rrrule_information7_tab(i));
14227 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information8_tab('||i||')=' || l_rrrule_information8_tab(i));
14228 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information9_tab('||i||')=' || l_rrrule_information9_tab(i));
14229 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information10_tab('||i||')=' || l_rrrule_information10_tab(i));
14230 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information11_tab('||i||')=' || l_rrrule_information11_tab(i));
14231 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information12_tab('||i||')=' || l_rrrule_information12_tab(i));
14232 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information13_tab('||i||')=' || l_rrrule_information13_tab(i));
14233 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information14_tab('||i||')=' || l_rrrule_information14_tab(i));
14234 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrrule_information15_tab('||i||')=' || l_rrrule_information15_tab(i));
14235 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrsecurity_group_id_tab('||i||')=' || l_rrsecurity_group_id_tab(i));
14236 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrtemplate_yn_tab('||i||')=' || l_rrtemplate_yn_tab(i));
14237 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));
14238 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));
14239 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));
14240 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrdisplay_sequence_tab('||i||')=' || l_rrdisplay_sequence_tab(i));
14241 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrcomments_tab('||i||')=' || l_rrcomments_tab(i));
14242 END IF;
14243 END LOOP;
14244 END IF;
14245
14246 RAISE OKC_API.G_EXCEPTION_ERROR;
14247
14248 END; /* insert_okc_rules_b */
14249
14250 FUNCTION find_tid_mapping_id(p_id IN VARCHAR2) RETURN NUMBER IS
14251 hi NUMBER;
14252 lo NUMBER;
14253 m NUMBER;
14254 BEGIN
14255 lo := 1;
14256 hi := l_tid_counter - 1;
14257 WHILE (lo <= hi) LOOP
14258 m := FLOOR((hi + lo)/2);
14259 IF (l_tid_mapping_tab(m).rgd_code = p_id) THEN
14260 RETURN l_tid_mapping_tab(m).id;
14261 ELSIF (l_tid_mapping_tab(m).rgd_code > p_id) THEN
14262 hi := m - 1;
14263 ELSE
14264 lo := m + 1;
14265 END IF;
14266 END LOOP;
14267 RETURN -1;
14268 END; /* find_tid_mapping_id */
14269
14270 PROCEDURE sort_tid_mapping_tab IS
14271 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
14272 --a numtabtype;
14273 l_stack numtabtype;
14274 l_stack_index NUMBER := 0;
14275 N NUMBER;
14276 R NUMBER;
14277 L NUMBER;
14278 P NUMBER;
14279 W VARCHAR2(30);
14280 W2 NUMBER;
14281 X VARCHAR2(30);
14282 I NUMBER;
14283 J NUMBER;
14284 BEGIN
14285 IF (G_DEBUG_ENABLED = 'Y') THEN
14286 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
14287 END IF;
14288 NULL;
14289
14290 N := l_tid_counter - 1;
14291 IF (N < 2) THEN
14292 RETURN;
14293 END IF;
14294 l_stack_index := l_stack_index + 1;
14295 l_stack(l_stack_index) := 1;
14296 l_stack_index := l_stack_index + 1;
14297 l_stack(l_stack_index) := N;
14298
14299 --dbms_output.put_line('l_stack_index=' || l_stack_index);
14300 WHILE l_stack_index > 0
14301 LOOP
14302 R := l_stack(l_stack_index);
14303 l_stack_index := l_stack_index - 1;
14304 L := l_stack(l_stack_index);
14305 l_stack_index := l_stack_index - 1;
14306 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
14307 WHILE 1=1
14308 LOOP -- loop until L >= R
14309 I := L;
14310 J := R;
14311 P := FLOOR((L+R)/2);
14312 --if (a(L) > a(P)) then
14313 IF (l_tid_mapping_tab(L).rgd_code > l_tid_mapping_tab(P).rgd_code)
14314 THEN
14315 W := l_tid_mapping_tab(L).rgd_code;
14316 W2 := l_tid_mapping_tab(L).id;
14317 l_tid_mapping_tab(L).rgd_code :=l_tid_mapping_tab(P).rgd_code;
14318 l_tid_mapping_tab(L).id :=l_tid_mapping_tab(P).id;
14319 l_tid_mapping_tab(P).rgd_code := W;
14320 l_tid_mapping_tab(P).id := W2;
14321 END IF;
14322 --if (a(L) > a(R)) then
14323 IF (l_tid_mapping_tab(L).rgd_code > l_tid_mapping_tab(R).rgd_code)
14324 THEN
14325 W := l_tid_mapping_tab(L).rgd_code;
14326 W2 := l_tid_mapping_tab(L).id;
14327 l_tid_mapping_tab(L).rgd_code :=l_tid_mapping_tab(R).rgd_code;
14328 l_tid_mapping_tab(L).id :=l_tid_mapping_tab(R).id;
14329 l_tid_mapping_tab(R).rgd_code := W;
14330 l_tid_mapping_tab(R).id := W2;
14331 END IF;
14332 --if (a(P) > a(R)) then
14333 IF (l_tid_mapping_tab(P).rgd_code > l_tid_mapping_tab(R).rgd_code)
14334 THEN
14335 W := l_tid_mapping_tab(P).rgd_code;
14336 W2 := l_tid_mapping_tab(P).id;
14337 l_tid_mapping_tab(P).rgd_code :=l_tid_mapping_tab(R).rgd_code;
14338 l_tid_mapping_tab(P).id :=l_tid_mapping_tab(R).id;
14339 l_tid_mapping_tab(R).rgd_code := W;
14340 l_tid_mapping_tab(R).id := W2;
14341 END IF;
14342 --X := a(P);
14343 X := l_tid_mapping_tab(P).rgd_code;
14344 WHILE 1=1
14345 LOOP -- until I > J
14346 --while (a(I) < X) loop
14347 WHILE (l_tid_mapping_tab(I).rgd_code < X) LOOP
14348 I := I + 1;
14349 END LOOP;
14350 WHILE (X < l_tid_mapping_tab(J).rgd_code) LOOP
14351 J := J - 1;
14352 END LOOP;
14353 IF (I <= J) THEN
14354 W := l_tid_mapping_tab(I).rgd_code;
14355 W2 := l_tid_mapping_tab(I).id;
14356 l_tid_mapping_tab(I).rgd_code :=l_tid_mapping_tab(J).rgd_code;
14357 l_tid_mapping_tab(I).id :=l_tid_mapping_tab(J).id;
14358 l_tid_mapping_tab(J).rgd_code := W;
14359 l_tid_mapping_tab(J).id := W2;
14360 I := I + 1;
14361 J := J - 1;
14362 END IF;
14363 EXIT WHEN I > J;
14364 END LOOP;
14365 IF (J - L < R - I) THEN
14366 IF (I < R) THEN
14367 --push(I); push(R);
14368 l_stack_index := l_stack_index + 1;
14369 l_stack(l_stack_index) := I;
14370 l_stack_index := l_stack_index + 1;
14371 l_stack(l_stack_index) := R;
14372 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14373 END IF;
14374 R := J;
14375 ELSE
14376 IF (L < J) THEN
14377 --push(L); push(J);
14378 l_stack_index := l_stack_index + 1;
14379 l_stack(l_stack_index) := L;
14380 l_stack_index := l_stack_index + 1;
14381 l_stack(l_stack_index) := J;
14382 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14383 END IF;
14384 L := I;
14385 END IF;
14386
14387 EXIT WHEN (L >= R);
14388 END LOOP;
14389 END LOOP;
14390
14391 EXCEPTION WHEN OTHERS THEN
14392
14393 x_return_status := OKL_API.G_RET_STS_ERROR;
14394 /*OKL_API.set_message(p_app_name => 'OKL',
14395 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
14396 p_token1 => 'ASSET_NUMBER',
14397 p_token1_value => 'sort_tid_mapping_tab');*/
14398 /* DEBUG */
14399 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14400 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
14401 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_tid_mapping_tab:l_tid_mapping_tab N=' || N || ' ...');
14402 END IF;
14403
14404 --print array
14405 FOR i IN 1..N
14406 LOOP
14407 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14408 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);
14409 END IF;
14410 END LOOP;
14411
14412 RAISE OKC_API.G_EXCEPTION_ERROR;
14413
14414 END; /* sort_tid_mapping_tab */
14415
14416 PROCEDURE insert_okc_rule_groups (p_old_id IN okc_k_headers_b.id%TYPE,
14417 p_new_id IN okc_k_headers_b.id%TYPE) IS
14418 CURSOR c12(p_id NUMBER) IS
14419 SELECT
14420 id, rgd_code, chr_id,
14421 cle_id, dnz_chr_id, parent_rgp_id,
14422 sat_code, object_version_number, rgp_type,
14423 created_by, creation_date, last_updated_by,
14424 last_update_date, last_update_login, attribute_category,
14425 attribute1, attribute2, attribute3,
14426 attribute4, attribute5, attribute6,
14427 attribute7, attribute8, attribute9,
14428 attribute10, attribute11, attribute12,
14429 attribute13, attribute14, attribute15,
14430 security_group_id
14431 FROM okc_rule_groups_b
14432 WHERE dnz_chr_id = p_id
14433 AND (
14434 chr_id = chr_id
14435 OR (
14436 NVL(p_copy_lines_yn, 'N') = 'Y'
14437 AND cle_id IS NOT NULL
14438 )
14439 );
14440
14441 l_rid_tab2 l_rid_type;
14442 l_rrgd_code_tab2 l_rrgd_code_type;
14443 l_rchr_id_tab2 l_rchr_id_type;
14444 l_rcle_id_tab2 l_rcle_id_type;
14445 l_rdnz_chr_id_tab2 l_rdnz_chr_id_type;
14446 l_rparent_rgp_id_tab2 l_rparent_rgp_id_type;
14447 l_rsat_code_tab2 l_rsat_code_type;
14448 l_robject_version_number_tab2 l_robject_version_number_type;
14449 l_rrgp_type_tab2 l_rrgp_type_type;
14450 l_rcreated_by_tab2 l_rcreated_by_type;
14451 l_rcreation_date_tab2 l_rcreation_date_type;
14452 l_rlast_updated_by_tab2 l_rlast_updated_by_type;
14453 l_rlast_update_date_tab2 l_rlast_update_date_type;
14454 l_rlast_update_login_tab2 l_rlast_update_login_type;
14455 l_rattribute_category_tab2 l_rattribute_category_type;
14456 l_rattribute1_tab2 l_rattribute1_type;
14457 l_rattribute2_tab2 l_rattribute2_type;
14458 l_rattribute3_tab2 l_rattribute3_type;
14459 l_rattribute4_tab2 l_rattribute4_type;
14460 l_rattribute5_tab2 l_rattribute5_type;
14461 l_rattribute6_tab2 l_rattribute6_type;
14462 l_rattribute7_tab2 l_rattribute7_type;
14463 l_rattribute8_tab2 l_rattribute8_type;
14464 l_rattribute9_tab2 l_rattribute9_type;
14465 l_rattribute10_tab2 l_rattribute10_type;
14466 l_rattribute11_tab2 l_rattribute11_type;
14467 l_rattribute12_tab2 l_rattribute12_type;
14468 l_rattribute13_tab2 l_rattribute13_type;
14469 l_rattribute14_tab2 l_rattribute14_type;
14470 l_rattribute15_tab2 l_rattribute15_type;
14471 l_rsecurity_group_id_tab2 l_rsecurity_group_id_type;
14472
14473 l_new_cle_id NUMBER;
14474 BEGIN
14475 IF (G_DEBUG_ENABLED = 'Y') THEN
14476 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
14477 END IF;
14478 NULL;
14479 OPEN c12(p_old_id);
14480 LOOP
14481 FETCH c12 bulk collect INTO
14482 l_rid_tab2, l_rrgd_code_tab2, l_rchr_id_tab2,
14483 l_rcle_id_tab2, l_rdnz_chr_id_tab2, l_rparent_rgp_id_tab2,
14484 l_rsat_code_tab2, l_robject_version_number_tab2, l_rrgp_type_tab2,
14485 l_rcreated_by_tab2, l_rcreation_date_tab2, l_rlast_updated_by_tab2,
14486 l_rlast_update_date_tab2, l_rlast_update_login_tab2, l_rattribute_category_tab2,
14487 l_rattribute1_tab2, l_rattribute2_tab2, l_rattribute3_tab2,
14488 l_rattribute4_tab2, l_rattribute5_tab2, l_rattribute6_tab2,
14489 l_rattribute7_tab2, l_rattribute8_tab2, l_rattribute9_tab2,
14490 l_rattribute10_tab2, l_rattribute11_tab2, l_rattribute12_tab2,
14491 l_rattribute13_tab2, l_rattribute14_tab2, l_rattribute15_tab2,
14492 l_rsecurity_group_id_tab2
14493 limit G_BULK_SIZE;
14494 EXIT WHEN l_rid_tab2.COUNT = 0;
14495 FOR i IN l_rid_tab2.first..l_rid_tab2.last
14496 LOOP
14497
14498 l_rid_tab(l_rule_groups_b_counter) := l_rid_tab2(i);
14499 -- Store old value in tab3
14500 l_rid_tab3(l_rule_groups_b_counter) := l_rid_tab2(i);
14501 -- Change id
14502 l_rid_tab(l_rule_groups_b_counter) :=okc_p_util.raw_to_number(sys_guid());
14503
14504 l_rid_mapping_tab(l_rule_groups_b_counter).old_id := l_rid_tab3(l_rule_groups_b_counter);
14505 l_rid_mapping_tab(l_rule_groups_b_counter).new_id := l_rid_tab(l_rule_groups_b_counter);
14506
14507 l_rrgd_code_tab(l_rule_groups_b_counter) := l_rrgd_code_tab2(i);
14508 l_rchr_id_tab(l_rule_groups_b_counter) := l_rchr_id_tab2(i);
14509 -- Change chr_id
14510 IF (l_rchr_id_tab(l_rule_groups_b_counter) IS NOT NULL) THEN
14511 l_rchr_id_tab(l_rule_groups_b_counter) := p_new_id;
14512 END IF;
14513
14514 l_rcle_id_tab(l_rule_groups_b_counter) := l_rcle_id_tab2(i);
14515 -- Change cle_id
14516 IF (l_rcle_id_tab(l_rule_groups_b_counter) IS NOT NULL) THEN
14517 l_new_cle_id := find_mapping_id(l_rcle_id_tab(l_rule_groups_b_counter));
14518 IF (l_new_cle_id = -1) THEN
14519 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14520 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));
14521 END IF;
14522 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14523 END IF;
14524 l_rcle_id_tab(l_rule_groups_b_counter) := l_new_cle_id;
14525 END IF;
14526
14527 l_rdnz_chr_id_tab(l_rule_groups_b_counter) := l_rdnz_chr_id_tab2(i);
14528 -- Change dnz_chr_id
14529 IF (l_rdnz_chr_id_tab(l_rule_groups_b_counter) IS NOT NULL) THEN
14530 l_rdnz_chr_id_tab(l_rule_groups_b_counter) := p_new_id;
14531 END IF;
14532
14533 -- Store terms id for business event processing
14534 IF (l_rcle_id_tab(l_rule_groups_b_counter) IS NULL) THEN
14535 l_tid_mapping_tab(l_tid_counter).rgd_code := l_rrgd_code_tab(l_rule_groups_b_counter);
14536 l_tid_mapping_tab(l_tid_counter).id := l_rid_tab(l_rule_groups_b_counter);
14537 l_tid_counter := l_tid_counter + 1;
14538 END IF;
14539
14540 l_rparent_rgp_id_tab(l_rule_groups_b_counter) := l_rparent_rgp_id_tab2(i);
14541 -- Change parent_rgp_id ??? AKP
14542
14543 l_rsat_code_tab(l_rule_groups_b_counter) := l_rsat_code_tab2(i);
14544 l_robject_version_number_tab(l_rule_groups_b_counter) := l_robject_version_number_tab2(i);
14545 l_rrgp_type_tab(l_rule_groups_b_counter) := l_rrgp_type_tab2(i);
14546 l_rcreated_by_tab(l_rule_groups_b_counter) := l_rcreated_by_tab2(i);
14547 l_rcreation_date_tab(l_rule_groups_b_counter) := l_rcreation_date_tab2(i);
14548 l_rlast_updated_by_tab(l_rule_groups_b_counter) := l_rlast_updated_by_tab2(i);
14549 l_rlast_update_date_tab(l_rule_groups_b_counter) := l_rlast_update_date_tab2(i);
14550 l_rlast_update_login_tab(l_rule_groups_b_counter) := l_rlast_update_login_tab2(i);
14551 l_rattribute_category_tab(l_rule_groups_b_counter) := l_rattribute_category_tab2(i);
14552 l_rattribute1_tab(l_rule_groups_b_counter) := l_rattribute1_tab2(i);
14553 l_rattribute2_tab(l_rule_groups_b_counter) := l_rattribute2_tab2(i);
14554 l_rattribute3_tab(l_rule_groups_b_counter) := l_rattribute3_tab2(i);
14555 l_rattribute4_tab(l_rule_groups_b_counter) := l_rattribute4_tab2(i);
14556 l_rattribute5_tab(l_rule_groups_b_counter) := l_rattribute5_tab2(i);
14557 l_rattribute6_tab(l_rule_groups_b_counter) := l_rattribute6_tab2(i);
14558 l_rattribute7_tab(l_rule_groups_b_counter) := l_rattribute7_tab2(i);
14559 l_rattribute8_tab(l_rule_groups_b_counter) := l_rattribute8_tab2(i);
14560 l_rattribute9_tab(l_rule_groups_b_counter) := l_rattribute9_tab2(i);
14561 l_rattribute10_tab(l_rule_groups_b_counter) := l_rattribute10_tab2(i);
14562 l_rattribute11_tab(l_rule_groups_b_counter) := l_rattribute11_tab2(i);
14563 l_rattribute12_tab(l_rule_groups_b_counter) := l_rattribute12_tab2(i);
14564 l_rattribute13_tab(l_rule_groups_b_counter) := l_rattribute13_tab2(i);
14565 l_rattribute14_tab(l_rule_groups_b_counter) := l_rattribute14_tab2(i);
14566 l_rattribute15_tab(l_rule_groups_b_counter) := l_rattribute15_tab2(i);
14567 l_rsecurity_group_id_tab(l_rule_groups_b_counter) := l_rsecurity_group_id_tab2(i);
14568
14569 l_rule_groups_b_counter := l_rule_groups_b_counter + 1;
14570 END LOOP;
14571 END LOOP;
14572 CLOSE c12;
14573 sort_tid_mapping_tab;
14574
14575 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14576 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);
14577 END IF;
14578 IF (l_rule_groups_b_counter > 1) THEN
14579 sort_rid_mapping_tab;
14580
14581 forall i IN l_rid_tab.first..l_rid_tab.last
14582 INSERT INTO okc_rule_groups_b (
14583 id, rgd_code, chr_id,
14584 cle_id, dnz_chr_id, parent_rgp_id,
14585 sat_code, object_version_number, rgp_type,
14586 created_by, creation_date, last_updated_by,
14587 last_update_date, last_update_login, attribute_category,
14588 attribute1, attribute2, attribute3,
14589 attribute4, attribute5, attribute6,
14590 attribute7, attribute8, attribute9,
14591 attribute10, attribute11, attribute12,
14592 attribute13, attribute14, attribute15,
14593 security_group_id
14594 ) VALUES (
14595 l_rid_tab(i), l_rrgd_code_tab(i), l_rchr_id_tab(i),
14596 l_rcle_id_tab(i), l_rdnz_chr_id_tab(i), l_rparent_rgp_id_tab(i),
14597 l_rsat_code_tab(i), 1, l_rrgp_type_tab(i),
14598 l_created_by, SYSDATE, l_last_updated_by,
14599 SYSDATE, l_last_update_login, l_rattribute_category_tab(i),
14600 l_rattribute1_tab(i), l_rattribute2_tab(i), l_rattribute3_tab(i),
14601 l_rattribute4_tab(i), l_rattribute5_tab(i), l_rattribute6_tab(i),
14602 l_rattribute7_tab(i), l_rattribute8_tab(i), l_rattribute9_tab(i),
14603 l_rattribute10_tab(i), l_rattribute11_tab(i), l_rattribute12_tab(i),
14604 l_rattribute13_tab(i), l_rattribute14_tab(i), l_rattribute15_tab(i),
14605 l_rsecurity_group_id_tab(i)
14606 );
14607 FOR i IN l_rid_tab.first..l_rid_tab.last
14608 LOOP
14609 IF (i = l_rid_tab.last) THEN
14610 prepare_rule_groups_tl(l_rid_tab3(i), l_rid_tab(i), 'Y');
14611 ELSE
14612 prepare_rule_groups_tl(l_rid_tab3(i), l_rid_tab(i), 'N');
14613 END IF;
14614 END LOOP;
14615
14616 l_message := 'OKL_NEW_COPY_RUL_ERROR';
14617 insert_okc_rules_b(p_chr_id, l_copied_id);
14618
14619 END IF;
14620
14621 EXCEPTION WHEN OTHERS THEN
14622
14623 x_return_status := OKL_API.G_RET_STS_ERROR;
14624 /*OKL_API.set_message(p_app_name => 'OKL',
14625 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
14626 p_token1 => 'ASSET_NUMBER',
14627 p_token1_value => 'insert_okc_rule_groups');*/
14628 /* DEBUG */
14629 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14630 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
14631 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_rule_groups:l_rid_tab.count=' || l_rid_tab.COUNT || ' ...');
14632 END IF;
14633 IF (l_rid_tab.COUNT > 0) THEN
14634 FOR i IN l_rid_tab.first..l_rid_tab.last
14635 LOOP
14636 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14637 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rid_tab('||i||')=' || l_rid_tab(i));
14638 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrgd_code_tab('||i||')=' || l_rrgd_code_tab(i));
14639 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rchr_id_tab('||i||')=' || l_rchr_id_tab(i));
14640 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rcle_id_tab('||i||')=' || l_rcle_id_tab(i));
14641 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rdnz_chr_id_tab('||i||')=' || l_rdnz_chr_id_tab(i));
14642 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rparent_rgp_id_tab('||i||')=' || l_rparent_rgp_id_tab(i));
14643 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rsat_code_tab('||i||')=' || l_rsat_code_tab(i));
14644 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rrgp_type_tab('||i||')=' || l_rrgp_type_tab(i));
14645 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute_category_tab('||i||')=' || l_rattribute_category_tab(i));
14646 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute1_tab('||i||')=' || l_rattribute1_tab(i));
14647 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute2_tab('||i||')=' || l_rattribute2_tab(i));
14648 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute3_tab('||i||')=' || l_rattribute3_tab(i));
14649 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute4_tab('||i||')=' || l_rattribute4_tab(i));
14650 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute5_tab('||i||')=' || l_rattribute5_tab(i));
14651 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute6_tab('||i||')=' || l_rattribute6_tab(i));
14652 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute7_tab('||i||')=' || l_rattribute7_tab(i));
14653 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute8_tab('||i||')=' || l_rattribute8_tab(i));
14654 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute9_tab('||i||')=' || l_rattribute9_tab(i));
14655 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute10_tab('||i||')=' || l_rattribute10_tab(i));
14656 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute11_tab('||i||')=' || l_rattribute11_tab(i));
14657 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute12_tab('||i||')=' || l_rattribute12_tab(i));
14658 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute13_tab('||i||')=' || l_rattribute13_tab(i));
14659 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute14_tab('||i||')=' || l_rattribute14_tab(i));
14660 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rattribute15_tab('||i||')=' || l_rattribute15_tab(i));
14661 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_rsecurity_group_id_tab('||i||')=' || l_rsecurity_group_id_tab(i));
14662 END IF;
14663 END LOOP;
14664 END IF;
14665
14666 RAISE OKC_API.G_EXCEPTION_ERROR;
14667
14668 END; /* insert_okc_rule_groups */
14669
14670 FUNCTION find_oid_mapping_id(p_id IN NUMBER) RETURN VARCHAR2 IS
14671 hi NUMBER;
14672 lo NUMBER;
14673 m NUMBER;
14674 p VARCHAR2(2) := '-1';
14675 BEGIN
14676 lo := 1;
14677 hi := l_items_counter - 1;
14678 WHILE (lo <= hi) LOOP
14679 m := FLOOR((hi + lo)/2);
14680 IF (l_oid_mapping_tab(m).cle_id = p_id) THEN
14681 RETURN l_oid_mapping_tab(m).object1_id1;
14682 ELSIF (l_oid_mapping_tab(m).cle_id > p_id) THEN
14683 hi := m - 1;
14684 ELSE
14685 lo := m + 1;
14686 END IF;
14687 END LOOP;
14688 RETURN p;
14689 END; /* find_oid_mapping_id */
14690
14691 PROCEDURE sort_oid_mapping_tab IS
14692 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
14693 --a numtabtype;
14694 l_stack numtabtype;
14695 l_stack_index NUMBER := 0;
14696 N NUMBER;
14697 R NUMBER;
14698 L NUMBER;
14699 P NUMBER;
14700
14701 W NUMBER;
14702 W2 VARCHAR2(150);
14703 X NUMBER;
14704 I NUMBER;
14705 J NUMBER;
14706 BEGIN
14707 IF (G_DEBUG_ENABLED = 'Y') THEN
14708 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
14709 END IF;
14710 NULL;
14711
14712 N := l_items_counter - 1;
14713 IF (N < 2) THEN
14714 RETURN;
14715 END IF;
14716 l_stack_index := l_stack_index + 1;
14717 l_stack(l_stack_index) := 1;
14718 l_stack_index := l_stack_index + 1;
14719 l_stack(l_stack_index) := N;
14720
14721 --dbms_output.put_line('l_stack_index=' || l_stack_index);
14722 WHILE l_stack_index > 0
14723 LOOP
14724 R := l_stack(l_stack_index);
14725 l_stack_index := l_stack_index - 1;
14726 L := l_stack(l_stack_index);
14727 l_stack_index := l_stack_index - 1;
14728 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
14729 WHILE 1=1
14730 LOOP -- loop until L >= R
14731 I := L;
14732 J := R;
14733 P := FLOOR((L+R)/2);
14734 --if (a(L) > a(P)) then
14735 IF (l_oid_mapping_tab(L).cle_id > l_oid_mapping_tab(P).cle_id)
14736 THEN
14737 W := l_oid_mapping_tab(L).cle_id;
14738 W2 := l_oid_mapping_tab(L).object1_id1;
14739 l_oid_mapping_tab(L).cle_id :=l_oid_mapping_tab(P).cle_id;
14740 l_oid_mapping_tab(L).object1_id1 :=l_oid_mapping_tab(P).object1_id1;
14741 l_oid_mapping_tab(P).cle_id := W;
14742 l_oid_mapping_tab(P).object1_id1 := W2;
14743 END IF;
14744 --if (a(L) > a(R)) then
14745 IF (l_oid_mapping_tab(L).cle_id > l_oid_mapping_tab(R).cle_id)
14746 THEN
14747 W := l_oid_mapping_tab(L).cle_id;
14748 W2 := l_oid_mapping_tab(L).object1_id1;
14749 l_oid_mapping_tab(L).cle_id :=l_oid_mapping_tab(R).cle_id;
14750 l_oid_mapping_tab(L).object1_id1 :=l_oid_mapping_tab(R).object1_id1;
14751 l_oid_mapping_tab(R).cle_id := W;
14752 l_oid_mapping_tab(R).object1_id1 := W2;
14753 END IF;
14754 --if (a(P) > a(R)) then
14755 IF (l_oid_mapping_tab(P).cle_id > l_oid_mapping_tab(R).cle_id)
14756 THEN
14757 W := l_oid_mapping_tab(P).cle_id;
14758 W2 := l_oid_mapping_tab(P).object1_id1;
14759 l_oid_mapping_tab(P).cle_id :=l_oid_mapping_tab(R).cle_id;
14760 l_oid_mapping_tab(P).object1_id1 :=l_oid_mapping_tab(R).object1_id1;
14761 l_oid_mapping_tab(R).cle_id := W;
14762 l_oid_mapping_tab(R).object1_id1 := W2;
14763 END IF;
14764 --X := a(P);
14765 X := l_oid_mapping_tab(P).cle_id;
14766 WHILE 1=1
14767 LOOP -- until I > J
14768 --while (a(I) < X) loop
14769 WHILE (l_oid_mapping_tab(I).cle_id < X) LOOP
14770 I := I + 1;
14771 END LOOP;
14772 WHILE (X < l_oid_mapping_tab(J).cle_id) LOOP
14773 J := J - 1;
14774 END LOOP;
14775 IF (I <= J) THEN
14776 W := l_oid_mapping_tab(I).cle_id;
14777 W2 := l_oid_mapping_tab(I).object1_id1;
14778 l_oid_mapping_tab(I).cle_id :=l_oid_mapping_tab(J).cle_id;
14779 l_oid_mapping_tab(I).object1_id1 :=l_oid_mapping_tab(J).object1_id1;
14780 l_oid_mapping_tab(J).cle_id := W;
14781 l_oid_mapping_tab(J).object1_id1 := W2;
14782 I := I + 1;
14783 J := J - 1;
14784 END IF;
14785 EXIT WHEN I > J;
14786 END LOOP;
14787 IF (J - L < R - I) THEN
14788 IF (I < R) THEN
14789 --push(I); push(R);
14790 l_stack_index := l_stack_index + 1;
14791 l_stack(l_stack_index) := I;
14792 l_stack_index := l_stack_index + 1;
14793 l_stack(l_stack_index) := R;
14794 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14795 END IF;
14796 R := J;
14797 ELSE
14798 IF (L < J) THEN
14799 --push(L); push(J);
14800 l_stack_index := l_stack_index + 1;
14801 l_stack(l_stack_index) := L;
14802 l_stack_index := l_stack_index + 1;
14803 l_stack(l_stack_index) := J;
14804 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14805 END IF;
14806 L := I;
14807 END IF;
14808
14809 EXIT WHEN (L >= R);
14810 END LOOP;
14811 END LOOP;
14812
14813 EXCEPTION WHEN OTHERS THEN
14814
14815 x_return_status := OKL_API.G_RET_STS_ERROR;
14816 /*OKL_API.set_message(p_app_name => 'OKL',
14817 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
14818 p_token1 => 'ASSET_NUMBER',
14819 p_token1_value => 'sort_oid_mapping_tab');*/
14820 /* DEBUG */
14821 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14822 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
14823 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_oid_mapping_tab:l_oid_mapping_tab N=' || N || ' ...');
14824 END IF;
14825
14826 --print array
14827 FOR i IN 1..N
14828 LOOP
14829 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
14830 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);
14831 END IF;
14832 END LOOP;
14833
14834 RAISE OKC_API.G_EXCEPTION_ERROR;
14835
14836 END; /* sort_oid_mapping_tab */
14837
14838 FUNCTION find_okc_k_items_rec(p_id IN NUMBER) RETURN l_okc_k_items_rec_type IS
14839 hi NUMBER;
14840 lo NUMBER;
14841 m NUMBER;
14842 l_dummy_rec l_okc_k_items_rec_type;
14843 BEGIN
14844 lo := 1;
14845 hi := l_okc_k_items_rec_counter - 1;
14846 WHILE (lo <= hi) LOOP
14847 m := FLOOR((hi + lo)/2);
14848 IF (l_okc_k_items_rec(m).id = p_id) THEN
14849 RETURN l_okc_k_items_rec(m);
14850 ELSIF (l_okc_k_items_rec(m).id > p_id) THEN
14851 hi := m - 1;
14852 ELSE
14853 lo := m + 1;
14854 END IF;
14855 END LOOP;
14856 l_dummy_rec.number_of_items := OKC_API.G_MISS_NUM;
14857 RETURN l_dummy_rec;
14858 END; /* find_okc_k_items_rec */
14859
14860 PROCEDURE sort_okc_k_items_rec IS
14861 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
14862 --a numtabtype;
14863 l_stack numtabtype;
14864 l_stack_index NUMBER := 0;
14865 N NUMBER;
14866 R NUMBER;
14867 L NUMBER;
14868 P NUMBER;
14869 W NUMBER;
14870 W2 NUMBER;
14871 W3 VARCHAR2(40);
14872 W4 VARCHAR2(200);
14873 X NUMBER;
14874 I NUMBER;
14875 J NUMBER;
14876 BEGIN
14877 IF (G_DEBUG_ENABLED = 'Y') THEN
14878 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
14879 END IF;
14880 NULL;
14881
14882 N := l_okc_k_items_rec_counter - 1;
14883 IF (N < 2) THEN
14884 RETURN;
14885 END IF;
14886 l_stack_index := l_stack_index + 1;
14887 l_stack(l_stack_index) := 1;
14888 l_stack_index := l_stack_index + 1;
14889 l_stack(l_stack_index) := N;
14890
14891 --dbms_output.put_line('l_stack_index=' || l_stack_index);
14892 WHILE l_stack_index > 0
14893 LOOP
14894 R := l_stack(l_stack_index);
14895 l_stack_index := l_stack_index - 1;
14896 L := l_stack(l_stack_index);
14897 l_stack_index := l_stack_index - 1;
14898 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
14899 WHILE 1=1
14900 LOOP -- loop until L >= R
14901 I := L;
14902 J := R;
14903 P := FLOOR((L+R)/2);
14904 --if (a(L) > a(P)) then
14905 IF (l_okc_k_items_rec(L).id > l_okc_k_items_rec(P).id)
14906 THEN
14907 W := l_okc_k_items_rec(L).id;
14908 W2 := l_okc_k_items_rec(L).number_of_items;
14909 W3 := l_okc_k_items_rec(L).object1_id1;
14910 W4 := l_okc_k_items_rec(L).object1_id2;
14911 l_okc_k_items_rec(L).id :=l_okc_k_items_rec(P).id;
14912 l_okc_k_items_rec(L).number_of_items :=l_okc_k_items_rec(P).number_of_items;
14913 l_okc_k_items_rec(L).object1_id1 :=l_okc_k_items_rec(P).object1_id1;
14914 l_okc_k_items_rec(L).object1_id2 :=l_okc_k_items_rec(P).object1_id2;
14915 l_okc_k_items_rec(P).id := W;
14916 l_okc_k_items_rec(P).number_of_items := W2;
14917 l_okc_k_items_rec(P).object1_id1 := W3;
14918 l_okc_k_items_rec(P).object1_id2 := W4;
14919 END IF;
14920 --if (a(L) > a(R)) then
14921 IF (l_okc_k_items_rec(L).id > l_okc_k_items_rec(R).id)
14922 THEN
14923 W := l_okc_k_items_rec(L).id;
14924 W2 := l_okc_k_items_rec(L).number_of_items;
14925 W3 := l_okc_k_items_rec(L).object1_id1;
14926 W4 := l_okc_k_items_rec(L).object1_id2;
14927 l_okc_k_items_rec(L).id :=l_okc_k_items_rec(R).id;
14928 l_okc_k_items_rec(L).number_of_items :=l_okc_k_items_rec(R).number_of_items;
14929 l_okc_k_items_rec(L).object1_id1 :=l_okc_k_items_rec(R).object1_id1;
14930 l_okc_k_items_rec(L).object1_id2 :=l_okc_k_items_rec(R).object1_id2;
14931 l_okc_k_items_rec(R).id := W;
14932 l_okc_k_items_rec(R).number_of_items := W2;
14933 l_okc_k_items_rec(R).object1_id1 := W3;
14934 l_okc_k_items_rec(R).object1_id2 := W4;
14935 END IF;
14936 --if (a(P) > a(R)) then
14937 IF (l_okc_k_items_rec(P).id > l_okc_k_items_rec(R).id)
14938 THEN
14939 W := l_okc_k_items_rec(P).id;
14940 W2 := l_okc_k_items_rec(P).number_of_items;
14941 W3 := l_okc_k_items_rec(P).object1_id1;
14942 W4 := l_okc_k_items_rec(P).object1_id2;
14943 l_okc_k_items_rec(P).id :=l_okc_k_items_rec(R).id;
14944 l_okc_k_items_rec(P).number_of_items :=l_okc_k_items_rec(R).number_of_items;
14945 l_okc_k_items_rec(P).object1_id1 :=l_okc_k_items_rec(R).object1_id1;
14946 l_okc_k_items_rec(P).object1_id2 :=l_okc_k_items_rec(R).object1_id2;
14947 l_okc_k_items_rec(R).id := W;
14948 l_okc_k_items_rec(R).number_of_items := W2;
14949 l_okc_k_items_rec(R).object1_id1 := W3;
14950 l_okc_k_items_rec(R).object1_id2 := W4;
14951 END IF;
14952 --X := a(P);
14953 X := l_okc_k_items_rec(P).id;
14954 WHILE 1=1
14955 LOOP -- until I > J
14956 --while (a(I) < X) loop
14957 WHILE (l_okc_k_items_rec(I).id < X) LOOP
14958 I := I + 1;
14959 END LOOP;
14960 WHILE (X < l_okc_k_items_rec(J).id) LOOP
14961 J := J - 1;
14962 END LOOP;
14963 IF (I <= J) THEN
14964 W := l_okc_k_items_rec(I).id;
14965 W2 := l_okc_k_items_rec(I).number_of_items;
14966 W3 := l_okc_k_items_rec(I).object1_id1;
14967 W4 := l_okc_k_items_rec(I).object1_id2;
14968 l_okc_k_items_rec(I).id :=l_okc_k_items_rec(J).id;
14969 l_okc_k_items_rec(I).number_of_items :=l_okc_k_items_rec(J).number_of_items;
14970 l_okc_k_items_rec(I).object1_id1 :=l_okc_k_items_rec(J).object1_id1;
14971 l_okc_k_items_rec(I).object1_id2 :=l_okc_k_items_rec(J).object1_id2;
14972 l_okc_k_items_rec(J).id := W;
14973 l_okc_k_items_rec(J).number_of_items := W2;
14974 l_okc_k_items_rec(J).object1_id1 := W3;
14975 l_okc_k_items_rec(J).object1_id2 := W4;
14976 I := I + 1;
14977 J := J - 1;
14978 END IF;
14979 EXIT WHEN I > J;
14980 END LOOP;
14981 IF (J - L < R - I) THEN
14982 IF (I < R) THEN
14983 --push(I); push(R);
14984 l_stack_index := l_stack_index + 1;
14985 l_stack(l_stack_index) := I;
14986 l_stack_index := l_stack_index + 1;
14987 l_stack(l_stack_index) := R;
14988 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14989 END IF;
14990 R := J;
14991 ELSE
14992 IF (L < J) THEN
14993 --push(L); push(J);
14994 l_stack_index := l_stack_index + 1;
14995 l_stack(l_stack_index) := L;
14996 l_stack_index := l_stack_index + 1;
14997 l_stack(l_stack_index) := J;
14998 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
14999 END IF;
15000 L := I;
15001 END IF;
15002
15003 EXIT WHEN (L >= R);
15004 END LOOP;
15005 END LOOP;
15006 /*print('Now Printing okc_k_items_rec...');
15007 for i in 1..N
15008 loop
15009 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 );
15010 end loop;*/
15011
15012
15013 EXCEPTION WHEN OTHERS THEN
15014
15015 x_return_status := OKL_API.G_RET_STS_ERROR;
15016 /*OKL_API.set_message(p_app_name => 'OKL',
15017 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15018 p_token1 => 'ASSET_NUMBER',
15019 p_token1_value => 'sort_okc_k_items_rec');*/
15020 /* DEBUG */
15021 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15022 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15023 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_okc_k_items_rec:l_okc_k_items_rec N=' || N || ' ...');
15024 END IF;
15025
15026 --print array
15027 FOR i IN 1..N
15028 LOOP
15029 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15030 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_okc_k_items_rec('||i||')='
15031 || l_okc_k_items_rec(i).id || ':' || l_okc_k_items_rec(i).number_of_items || ':'
15032 || l_okc_k_items_rec(i).object1_id1 || ':' || l_okc_k_items_rec(i).object1_id2 );
15033 END IF;
15034 END LOOP;
15035
15036 RAISE OKC_API.G_EXCEPTION_ERROR;
15037
15038 END; /* sort_okc_k_items_rec */
15039
15040
15041
15042 PROCEDURE insert_okc_k_items (p_old_id IN okc_k_headers_b.id%TYPE,
15043 p_new_id IN okc_k_headers_b.id%TYPE) IS
15044 CURSOR c16(p_id NUMBER) IS
15045 SELECT
15046 a.id, a.cle_id, a.chr_id,
15047 a.cle_id_for, a.dnz_chr_id, a.object1_id1,
15048 a.object1_id2, a.jtot_object1_code, a.uom_code,
15049 a.exception_yn, a.number_of_items, a.priced_item_yn,
15050 a.object_version_number, a.created_by, a.creation_date,
15051 a.last_updated_by, a.last_update_date, a.last_update_login,
15052 a.security_group_id, a.upg_orig_system_ref, a.upg_orig_system_ref_id,
15053 a.program_application_id, a.program_id, a.program_update_date,
15054 a.request_id, b.lse_id
15055 FROM okc_k_items a,
15056 okc_k_lines_b b
15057 WHERE a.dnz_chr_id = p_id
15058 AND a.cle_id = b.id;
15059
15060 TYPE l_ilse_id_type IS TABLE OF okc_k_lines_b.lse_id%TYPE INDEX BY BINARY_INTEGER;
15061 l_iid_tab2 l_iid_type;
15062 l_icle_id_tab2 l_icle_id_type;
15063 l_ichr_id_tab2 l_ichr_id_type;
15064 l_icle_id_for_tab2 l_icle_id_for_type;
15065 l_idnz_chr_id_tab2 l_idnz_chr_id_type;
15066 l_iobject1_id1_tab2 l_iobject1_id1_type;
15067 l_iobject1_id2_tab2 l_iobject1_id2_type;
15068 l_ijtot_object1_code_tab2 l_ijtot_object1_code_type;
15069 l_iuom_code_tab2 l_iuom_code_type;
15070 l_iexception_yn_tab2 l_iexception_yn_type;
15071 l_inumber_of_items_tab2 l_inumber_of_items_type;
15072 l_ipriced_item_yn_tab2 l_ipriced_item_yn_type;
15073 l_iobject_version_number_tab2 l_iobject_version_number_type;
15074 l_icreated_by_tab2 l_icreated_by_type;
15075 l_icreation_date_tab2 l_icreation_date_type;
15076 l_ilast_updated_by_tab2 l_ilast_updated_by_type;
15077 l_ilast_update_date_tab2 l_ilast_update_date_type;
15078 l_ilast_update_login_tab2 l_ilast_update_login_type;
15079 l_isecurity_group_id_tab2 l_isecurity_group_id_type;
15080 l_iupg_orig_system_ref_tab2 l_iupg_orig_system_ref_type;
15081 l_iupg_orig_system_ref_id_tab2 l_iupg_orig_system_ref_id_type;
15082 l_iprogram_application_id_tab2 l_iprogram_application_id_type;
15083 l_iprogram_id_tab2 l_iprogram_id_type;
15084 l_iprogram_update_date_tab2 l_iprogram_update_date_type;
15085 l_irequest_id_tab2 l_irequest_id_type;
15086 l_ilse_id_tab2 l_ilse_id_type;
15087
15088 l_new_cle_id NUMBER;
15089 l_new_object1_id1 NUMBER;
15090 BEGIN
15091
15092 OPEN c16(p_old_id);
15093 LOOP
15094 FETCH c16 bulk collect INTO
15095 l_iid_tab2, l_icle_id_tab2, l_ichr_id_tab2,
15096 l_icle_id_for_tab2, l_idnz_chr_id_tab2, l_iobject1_id1_tab2,
15097 l_iobject1_id2_tab2, l_ijtot_object1_code_tab2, l_iuom_code_tab2,
15098 l_iexception_yn_tab2, l_inumber_of_items_tab2, l_ipriced_item_yn_tab2,
15099 l_iobject_version_number_tab2, l_icreated_by_tab2, l_icreation_date_tab2,
15100 l_ilast_updated_by_tab2, l_ilast_update_date_tab2, l_ilast_update_login_tab2,
15101 l_isecurity_group_id_tab2, l_iupg_orig_system_ref_tab2, l_iupg_orig_system_ref_id_tab2,
15102 l_iprogram_application_id_tab2, l_iprogram_id_tab2, l_iprogram_update_date_tab2,
15103 l_irequest_id_tab2, l_ilse_id_tab2
15104 limit G_BULK_SIZE;
15105 EXIT WHEN l_iid_tab2.COUNT = 0;
15106 FOR i IN l_iid_tab2.first..l_iid_tab2.last
15107 LOOP
15108
15109 l_iid_tab(l_items_counter) := l_iid_tab2(i);
15110 -- Change id
15111 l_iid_tab(l_items_counter) := okc_p_util.raw_to_number(sys_guid());
15112
15113 l_icle_id_tab(l_items_counter) := l_icle_id_tab2(i);
15114 -- Change cle_id
15115 IF (l_icle_id_tab(l_items_counter) IS NOT NULL) THEN
15116 l_new_cle_id := find_mapping_id(l_icle_id_tab(l_items_counter));
15117 IF (l_new_cle_id = -1) THEN
15118 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15119 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));
15120 END IF;
15121 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15122 END IF;
15123 l_icle_id_tab(l_items_counter) := l_new_cle_id;
15124 END IF;
15125
15126 l_ichr_id_tab(l_items_counter) := l_ichr_id_tab2(i);
15127 -- Change chr_id
15128 IF (l_ichr_id_tab(l_items_counter) IS NOT NULL) THEN
15129 l_ichr_id_tab(l_items_counter):= p_new_id;
15130 END IF;
15131
15132 l_icle_id_for_tab(l_items_counter) := l_icle_id_for_tab2(i);
15133 -- Change cle_id_for ??? AKP
15134
15135 l_idnz_chr_id_tab(l_items_counter) := l_idnz_chr_id_tab2(i);
15136 -- Change dnz_chr_id
15137 l_idnz_chr_id_tab(l_items_counter) := p_new_id;
15138
15139 l_iobject1_id1_tab(l_items_counter) := l_iobject1_id1_tab2(i);
15140 -- Change object1_id1
15141 IF(l_ilse_id_tab2(i) IN (53, 49, 57)) THEN
15142 -- Bug 4891184
15143 IF (l_iobject1_id1_tab(l_items_counter) IS NOT NULL) THEN
15144 l_new_object1_id1 := find_mapping_id(l_iobject1_id1_tab(l_items_counter));
15145 IF (l_new_object1_id1 = -1) THEN
15146 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15147 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));
15148 END IF;
15149 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15150 END IF;
15151 l_iobject1_id1_tab(l_items_counter) := l_new_object1_id1;
15152 END IF;
15153 END IF;
15154 l_iobject1_id2_tab(l_items_counter) := l_iobject1_id2_tab2(i);
15155 -- Change object1_id1 and object1_id2
15156
15157 IF (p_trans_type NOT IN ('OKL_REBOOK', 'OKL_RELEASE') AND
15158 l_ilse_id_tab2(i) IN (42, 45)) THEN
15159 l_iobject1_id1_tab(l_items_counter) := NULL;
15160 l_iobject1_id2_tab(l_items_counter) := NULL;
15161 END IF;
15162
15163 -- Store cle_id to object1_id1 mapping (needed for business function)
15164 l_oid_mapping_tab(l_items_counter).cle_id := l_icle_id_tab(l_items_counter);
15165 l_oid_mapping_tab(l_items_counter).object1_id1 := l_iobject1_id1_tab(l_items_counter);
15166
15167 l_ijtot_object1_code_tab(l_items_counter) := l_ijtot_object1_code_tab2(i);
15168 l_iuom_code_tab(l_items_counter) := l_iuom_code_tab2(i);
15169 l_iexception_yn_tab(l_items_counter) := l_iexception_yn_tab2(i);
15170 l_inumber_of_items_tab(l_items_counter) := l_inumber_of_items_tab2(i);
15171 l_ipriced_item_yn_tab(l_items_counter) := l_ipriced_item_yn_tab2(i);
15172 l_iobject_version_number_tab(l_items_counter) := l_iobject_version_number_tab2(i);
15173 l_icreated_by_tab(l_items_counter) := l_icreated_by_tab2(i);
15174 l_icreation_date_tab(l_items_counter) := l_icreation_date_tab2(i);
15175 l_ilast_updated_by_tab(l_items_counter) := l_ilast_updated_by_tab2(i);
15176 l_ilast_update_date_tab(l_items_counter) := l_ilast_update_date_tab2(i);
15177 l_ilast_update_login_tab(l_items_counter) := l_ilast_update_login_tab2(i);
15178 l_isecurity_group_id_tab(l_items_counter) := l_isecurity_group_id_tab2(i);
15179 l_iupg_orig_system_ref_tab(l_items_counter) := l_iupg_orig_system_ref_tab2(i);
15180 l_iupg_orig_system_ref_id_tab(l_items_counter) := l_iupg_orig_system_ref_id_tab2(i);
15181 l_iprogram_application_id_tab(l_items_counter) := l_iprogram_application_id_tab2(i);
15182 l_iprogram_id_tab(l_items_counter) := l_iprogram_id_tab2(i);
15183 l_iprogram_update_date_tab(l_items_counter) := l_iprogram_update_date_tab2(i);
15184 l_irequest_id_tab(l_items_counter) := l_irequest_id_tab2(i);
15185
15186 l_okc_k_items_rec(l_okc_k_items_rec_counter).id := l_icle_id_tab(l_items_counter);
15187 l_okc_k_items_rec(l_okc_k_items_rec_counter).number_of_items := l_inumber_of_items_tab(l_items_counter);
15188 l_okc_k_items_rec(l_okc_k_items_rec_counter).object1_id1 := l_iobject1_id1_tab(l_items_counter);
15189 l_okc_k_items_rec(l_okc_k_items_rec_counter).object1_id2 := l_iobject1_id2_tab(l_items_counter);
15190 l_okc_k_items_rec_counter := l_okc_k_items_rec_counter + 1 ;
15191
15192 l_items_counter := l_items_counter + 1;
15193 END LOOP;
15194 END LOOP;
15195 CLOSE c16;
15196 sort_oid_mapping_tab;
15197 sort_okc_k_items_rec;
15198
15199 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15200 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);
15201 END IF;
15202 IF (l_items_counter > 1) THEN
15203 forall i IN l_iid_tab.first..l_iid_tab.last
15204 INSERT INTO okc_k_items (
15205 id, cle_id, chr_id,
15206 cle_id_for, dnz_chr_id, object1_id1,
15207 object1_id2, jtot_object1_code, uom_code,
15208 exception_yn, number_of_items, priced_item_yn,
15209 object_version_number, created_by, creation_date,
15210 last_updated_by, last_update_date, last_update_login,
15211 security_group_id, upg_orig_system_ref, upg_orig_system_ref_id,
15212 program_application_id, program_id, program_update_date,
15213 request_id
15214 ) VALUES (
15215 l_iid_tab(i), l_icle_id_tab(i), l_ichr_id_tab(i),
15216 l_icle_id_for_tab(i), l_idnz_chr_id_tab(i), l_iobject1_id1_tab(i),
15217 l_iobject1_id2_tab(i), l_ijtot_object1_code_tab(i), l_iuom_code_tab(i),
15218 l_iexception_yn_tab(i), l_inumber_of_items_tab(i), l_ipriced_item_yn_tab(i),
15219 1, l_icreated_by_tab(i), l_icreation_date_tab(i),
15220 l_ilast_updated_by_tab(i), l_ilast_update_date_tab(i), l_ilast_update_login_tab(i),
15221 l_isecurity_group_id_tab(i), l_iupg_orig_system_ref_tab(i), l_iupg_orig_system_ref_id_tab(i),
15222 l_iprogram_application_id_tab(i), l_iprogram_id_tab(i), l_iprogram_update_date_tab(i),
15223 l_irequest_id_tab(i)
15224 );
15225 END IF;
15226
15227 EXCEPTION WHEN OTHERS THEN
15228
15229 x_return_status := OKL_API.G_RET_STS_ERROR;
15230 /*OKL_API.set_message(p_app_name => 'OKL',
15231 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15232 p_token1 => 'ASSET_NUMBER',
15233 p_token1_value => 'insert_okc_k_items');*/
15234 /* DEBUG */
15235 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15236 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15237 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okc_k_items:l_iid_tab.count=' || l_iid_tab.COUNT || ' ...');
15238 END IF;
15239 IF (l_iid_tab.COUNT > 0) THEN
15240 FOR i IN l_iid_tab.first..l_iid_tab.last
15241 LOOP
15242 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15243 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iid_tab('||i||')=' || l_iid_tab(i));
15244 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_icle_id_tab('||i||')=' || l_icle_id_tab(i));
15245 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ichr_id_tab('||i||')=' || l_ichr_id_tab(i));
15246 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_icle_id_for_tab('||i||')=' || l_icle_id_for_tab(i));
15247 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_idnz_chr_id_tab('||i||')=' || l_idnz_chr_id_tab(i));
15248 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iobject1_id1_tab('||i||')=' || l_iobject1_id1_tab(i));
15249 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iobject1_id2_tab('||i||')=' || l_iobject1_id2_tab(i));
15250 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ijtot_object1_code_tab('||i||')=' || l_ijtot_object1_code_tab(i));
15251 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iuom_code_tab('||i||')=' || l_iuom_code_tab(i));
15252 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iexception_yn_tab('||i||')=' || l_iexception_yn_tab(i));
15253 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_inumber_of_items_tab('||i||')=' || l_inumber_of_items_tab(i));
15254 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ipriced_item_yn_tab('||i||')=' || l_ipriced_item_yn_tab(i));
15255 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_isecurity_group_id_tab('||i||')=' || l_isecurity_group_id_tab(i));
15256 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));
15257 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));
15258 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iprogram_application_id_tab('||i||')=' || l_iprogram_application_id_tab(i));
15259 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iprogram_id_tab('||i||')=' || l_iprogram_id_tab(i));
15260 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_iprogram_update_date_tab('||i||')=' || l_iprogram_update_date_tab(i));
15261 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_irequest_id_tab('||i||')=' || l_irequest_id_tab(i));
15262 END IF;
15263 END LOOP;
15264 END IF;
15265
15266 RAISE OKC_API.G_EXCEPTION_ERROR;
15267
15268 END; /* insert okc_k_items */
15269
15270 PROCEDURE sort_trx_id_mapping_tab IS
15271 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
15272 --a numtabtype;
15273 l_stack numtabtype;
15274 l_stack_index NUMBER := 0;
15275 N NUMBER;
15276 R NUMBER;
15277 L NUMBER;
15278 P NUMBER;
15279 W NUMBER;
15280 W2 NUMBER;
15281 X NUMBER;
15282 I NUMBER;
15283 J NUMBER;
15284 BEGIN
15285 IF (G_DEBUG_ENABLED = 'Y') THEN
15286 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15287 END IF;
15288 NULL;
15289
15290 N := l_trx_assets_counter - 1;
15291 IF (N < 2) THEN
15292 RETURN;
15293 END IF;
15294 l_stack_index := l_stack_index + 1;
15295 l_stack(l_stack_index) := 1;
15296 l_stack_index := l_stack_index + 1;
15297 l_stack(l_stack_index) := N;
15298
15299 --dbms_output.put_line('l_stack_index=' || l_stack_index);
15300 WHILE l_stack_index > 0
15301 LOOP
15302 R := l_stack(l_stack_index);
15303 l_stack_index := l_stack_index - 1;
15304 L := l_stack(l_stack_index);
15305 l_stack_index := l_stack_index - 1;
15306 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
15307 WHILE 1=1
15308 LOOP -- loop until L >= R
15309 I := L;
15310 J := R;
15311 P := FLOOR((L+R)/2);
15312 --if (a(L) > a(P)) then
15313 IF (l_trx_id_mapping_tab(L).old_id > l_trx_id_mapping_tab(P).old_id)
15314 THEN
15315 W := l_trx_id_mapping_tab(L).old_id;
15316 W2 := l_trx_id_mapping_tab(L).new_id;
15317 l_trx_id_mapping_tab(L).old_id :=l_trx_id_mapping_tab(P).old_id;
15318 l_trx_id_mapping_tab(L).new_id :=l_trx_id_mapping_tab(P).new_id;
15319 l_trx_id_mapping_tab(P).old_id := W;
15320 l_trx_id_mapping_tab(P).new_id := W2;
15321 END IF;
15322 --if (a(L) > a(R)) then
15323 IF (l_trx_id_mapping_tab(L).old_id > l_trx_id_mapping_tab(R).old_id)
15324 THEN
15325 W := l_trx_id_mapping_tab(L).old_id;
15326 W2 := l_trx_id_mapping_tab(L).new_id;
15327 l_trx_id_mapping_tab(L).old_id :=l_trx_id_mapping_tab(R).old_id;
15328 l_trx_id_mapping_tab(L).new_id :=l_trx_id_mapping_tab(R).new_id;
15329 l_trx_id_mapping_tab(R).old_id := W;
15330 l_trx_id_mapping_tab(R).new_id := W2;
15331 END IF;
15332 --if (a(P) > a(R)) then
15333 IF (l_trx_id_mapping_tab(P).old_id > l_trx_id_mapping_tab(R).old_id)
15334 THEN
15335 W := l_trx_id_mapping_tab(P).old_id;
15336 W2 := l_trx_id_mapping_tab(P).new_id;
15337 l_trx_id_mapping_tab(P).old_id :=l_trx_id_mapping_tab(R).old_id;
15338 l_trx_id_mapping_tab(P).new_id :=l_trx_id_mapping_tab(R).new_id;
15339 l_trx_id_mapping_tab(R).old_id := W;
15340 l_trx_id_mapping_tab(R).new_id := W2;
15341 END IF;
15342 --X := a(P);
15343 X := l_trx_id_mapping_tab(P).old_id;
15344 WHILE 1=1
15345 LOOP -- until I > J
15346 --while (a(I) < X) loop
15347 WHILE (l_trx_id_mapping_tab(I).old_id < X) LOOP
15348 I := I + 1;
15349 END LOOP;
15350 WHILE (X < l_trx_id_mapping_tab(J).old_id) LOOP
15351 J := J - 1;
15352 END LOOP;
15353 IF (I <= J) THEN
15354 W := l_trx_id_mapping_tab(I).old_id;
15355 W2 := l_trx_id_mapping_tab(I).new_id;
15356 l_trx_id_mapping_tab(I).old_id :=l_trx_id_mapping_tab(J).old_id;
15357 l_trx_id_mapping_tab(I).new_id :=l_trx_id_mapping_tab(J).new_id;
15358 l_trx_id_mapping_tab(J).old_id := W;
15359 l_trx_id_mapping_tab(J).new_id := W2;
15360 I := I + 1;
15361 J := J - 1;
15362 END IF;
15363 EXIT WHEN I > J;
15364 END LOOP;
15365 IF (J - L < R - I) THEN
15366 IF (I < R) THEN
15367 --push(I); push(R);
15368 l_stack_index := l_stack_index + 1;
15369 l_stack(l_stack_index) := I;
15370 l_stack_index := l_stack_index + 1;
15371 l_stack(l_stack_index) := R;
15372 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15373 END IF;
15374 R := J;
15375 ELSE
15376 IF (L < J) THEN
15377 --push(L); push(J);
15378 l_stack_index := l_stack_index + 1;
15379 l_stack(l_stack_index) := L;
15380 l_stack_index := l_stack_index + 1;
15381 l_stack(l_stack_index) := J;
15382 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15383 END IF;
15384 L := I;
15385 END IF;
15386
15387 EXIT WHEN (L >= R);
15388 END LOOP;
15389 END LOOP;
15390
15391 EXCEPTION WHEN OTHERS THEN
15392
15393 x_return_status := OKL_API.G_RET_STS_ERROR;
15394 /*OKL_API.set_message(p_app_name => 'OKL',
15395 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15396 p_token1 => 'ASSET_NUMBER',
15397 p_token1_value => 'sort_trx_id_mapping_tab');*/
15398 /* DEBUG */
15399 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15400 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15401 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_trx_id_mapping_tab:l_trx_id_mapping_tab N=' || N || ' ...');
15402 END IF;
15403
15404 --print array
15405 FOR i IN 1..N
15406 LOOP
15407 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15408 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);
15409 END IF;
15410 END LOOP;
15411
15412 RAISE OKC_API.G_EXCEPTION_ERROR;
15413
15414 END; /* sort_trx_id_mapping_tab */
15415
15416 FUNCTION find_trx_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
15417 hi NUMBER;
15418 lo NUMBER;
15419 m NUMBER;
15420 BEGIN
15421 lo := 1;
15422 hi := l_trx_assets_counter - 1;
15423 WHILE (lo <= hi) LOOP
15424 m := FLOOR((hi + lo)/2);
15425 IF (l_trx_id_mapping_tab(m).old_id = p_id) THEN
15426 RETURN l_trx_id_mapping_tab(m).new_id;
15427 ELSIF (l_trx_id_mapping_tab(m).old_id > p_id) THEN
15428 hi := m - 1;
15429 ELSE
15430 lo := m + 1;
15431 END IF;
15432 END LOOP;
15433 RETURN -1;
15434 END; /* find_trx_mapping_id */
15435
15436
15437 PROCEDURE sort_trx_id_mapping_tab2 IS
15438 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
15439 --a numtabtype;
15440 l_stack numtabtype;
15441 l_stack_index NUMBER := 0;
15442 N NUMBER;
15443 R NUMBER;
15444 L NUMBER;
15445 P NUMBER;
15446 W NUMBER;
15447 W2 NUMBER;
15448 X NUMBER;
15449 I NUMBER;
15450 J NUMBER;
15451 BEGIN
15452 IF (G_DEBUG_ENABLED = 'Y') THEN
15453 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15454 END IF;
15455 NULL;
15456
15457 N := l_trx_assets_counter2 - 1;
15458 IF (N < 2) THEN
15459 RETURN;
15460 END IF;
15461 l_stack_index := l_stack_index + 1;
15462 l_stack(l_stack_index) := 1;
15463 l_stack_index := l_stack_index + 1;
15464 l_stack(l_stack_index) := N;
15465
15466 --dbms_output.put_line('l_stack_index=' || l_stack_index);
15467 WHILE l_stack_index > 0
15468 LOOP
15469 R := l_stack(l_stack_index);
15470 l_stack_index := l_stack_index - 1;
15471 L := l_stack(l_stack_index);
15472 l_stack_index := l_stack_index - 1;
15473 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
15474 WHILE 1=1
15475 LOOP -- loop until L >= R
15476 I := L;
15477 J := R;
15478 P := FLOOR((L+R)/2);
15479 --if (a(L) > a(P)) then
15480 IF (l_trx_id_mapping_tab2(L).old_id > l_trx_id_mapping_tab2(P).old_id)
15481 THEN
15482 W := l_trx_id_mapping_tab2(L).old_id;
15483 W2 := l_trx_id_mapping_tab2(L).new_id;
15484 l_trx_id_mapping_tab2(L).old_id :=l_trx_id_mapping_tab2(P).old_id;
15485 l_trx_id_mapping_tab2(L).new_id :=l_trx_id_mapping_tab2(P).new_id;
15486 l_trx_id_mapping_tab2(P).old_id := W;
15487 l_trx_id_mapping_tab2(P).new_id := W2;
15488 END IF;
15489 --if (a(L) > a(R)) then
15490 IF (l_trx_id_mapping_tab2(L).old_id > l_trx_id_mapping_tab2(R).old_id)
15491 THEN
15492 W := l_trx_id_mapping_tab2(L).old_id;
15493 W2 := l_trx_id_mapping_tab2(L).new_id;
15494 l_trx_id_mapping_tab2(L).old_id :=l_trx_id_mapping_tab2(R).old_id;
15495 l_trx_id_mapping_tab2(L).new_id :=l_trx_id_mapping_tab2(R).new_id;
15496 l_trx_id_mapping_tab2(R).old_id := W;
15497 l_trx_id_mapping_tab2(R).new_id := W2;
15498 END IF;
15499 --if (a(P) > a(R)) then
15500 IF (l_trx_id_mapping_tab2(P).old_id > l_trx_id_mapping_tab2(R).old_id)
15501 THEN
15502 W := l_trx_id_mapping_tab2(P).old_id;
15503 W2 := l_trx_id_mapping_tab2(P).new_id;
15504 l_trx_id_mapping_tab2(P).old_id :=l_trx_id_mapping_tab2(R).old_id;
15505 l_trx_id_mapping_tab2(P).new_id :=l_trx_id_mapping_tab2(R).new_id;
15506 l_trx_id_mapping_tab2(R).old_id := W;
15507 l_trx_id_mapping_tab2(R).new_id := W2;
15508 END IF;
15509 --X := a(P);
15510 X := l_trx_id_mapping_tab2(P).old_id;
15511 WHILE 1=1
15512 LOOP -- until I > J
15513 --while (a(I) < X) loop
15514 WHILE (l_trx_id_mapping_tab2(I).old_id < X) LOOP
15515 I := I + 1;
15516 END LOOP;
15517 WHILE (X < l_trx_id_mapping_tab2(J).old_id) LOOP
15518 J := J - 1;
15519 END LOOP;
15520 IF (I <= J) THEN
15521 W := l_trx_id_mapping_tab2(I).old_id;
15522 W2 := l_trx_id_mapping_tab2(I).new_id;
15523 l_trx_id_mapping_tab2(I).old_id :=l_trx_id_mapping_tab2(J).old_id;
15524 l_trx_id_mapping_tab2(I).new_id :=l_trx_id_mapping_tab2(J).new_id;
15525 l_trx_id_mapping_tab2(J).old_id := W;
15526 l_trx_id_mapping_tab2(J).new_id := W2;
15527 I := I + 1;
15528 J := J - 1;
15529 END IF;
15530 EXIT WHEN I > J;
15531 END LOOP;
15532 IF (J - L < R - I) THEN
15533 IF (I < R) THEN
15534 --push(I); push(R);
15535 l_stack_index := l_stack_index + 1;
15536 l_stack(l_stack_index) := I;
15537 l_stack_index := l_stack_index + 1;
15538 l_stack(l_stack_index) := R;
15539 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15540 END IF;
15541 R := J;
15542 ELSE
15543 IF (L < J) THEN
15544 --push(L); push(J);
15545 l_stack_index := l_stack_index + 1;
15546 l_stack(l_stack_index) := L;
15547 l_stack_index := l_stack_index + 1;
15548 l_stack(l_stack_index) := J;
15549 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15550 END IF;
15551 L := I;
15552 END IF;
15553
15554 EXIT WHEN (L >= R);
15555 END LOOP;
15556 END LOOP;
15557
15558 EXCEPTION WHEN OTHERS THEN
15559
15560 x_return_status := OKL_API.G_RET_STS_ERROR;
15561 /*OKL_API.set_message(p_app_name => 'OKL',
15562 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15563 p_token1 => 'ASSET_NUMBER',
15564 p_token1_value => 'sort_trx_id_mapping_tab2');*/
15565 /* DEBUG */
15566 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15567 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15568 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_trx_id_mapping_tab2:l_trx_id_mapping_tab2 N=' || N || ' ...');
15569 END IF;
15570
15571 --print array
15572 FOR i IN 1..N
15573 LOOP
15574 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15575 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);
15576 END IF;
15577 END LOOP;
15578
15579 RAISE OKC_API.G_EXCEPTION_ERROR;
15580
15581 END; /* sort_trx_id_mapping_tab2 */
15582
15583 FUNCTION find_trx_mapping_id2(p_id IN NUMBER) RETURN NUMBER IS
15584 hi NUMBER;
15585 lo NUMBER;
15586 m NUMBER;
15587 BEGIN
15588 lo := 1;
15589 hi := l_trx_assets_counter2 - 1;
15590 WHILE (lo <= hi) LOOP
15591 m := FLOOR((hi + lo)/2);
15592 IF (l_trx_id_mapping_tab2(m).old_id = p_id) THEN
15593 RETURN l_trx_id_mapping_tab2(m).new_id;
15594 ELSIF (l_trx_id_mapping_tab2(m).old_id > p_id) THEN
15595 hi := m - 1;
15596 ELSE
15597 lo := m + 1;
15598 END IF;
15599 END LOOP;
15600 RETURN -1;
15601 END; /* find_trx_mapping_id2 */
15602
15603 PROCEDURE sort_txl_id_mapping_tab IS
15604 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
15605 --a numtabtype;
15606 l_stack numtabtype;
15607 l_stack_index NUMBER := 0;
15608 N NUMBER;
15609 R NUMBER;
15610 L NUMBER;
15611 P NUMBER;
15612 W NUMBER;
15613 W2 NUMBER;
15614 X NUMBER;
15615 I NUMBER;
15616 J NUMBER;
15617 BEGIN
15618 IF (G_DEBUG_ENABLED = 'Y') THEN
15619 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15620 END IF;
15621 NULL;
15622
15623 N := l_txl_assets_b_counter - 1;
15624 IF (N < 2) THEN
15625 RETURN;
15626 END IF;
15627 l_stack_index := l_stack_index + 1;
15628 l_stack(l_stack_index) := 1;
15629 l_stack_index := l_stack_index + 1;
15630 l_stack(l_stack_index) := N;
15631
15632 --dbms_output.put_line('l_stack_index=' || l_stack_index);
15633 WHILE l_stack_index > 0
15634 LOOP
15635 R := l_stack(l_stack_index);
15636 l_stack_index := l_stack_index - 1;
15637 L := l_stack(l_stack_index);
15638 l_stack_index := l_stack_index - 1;
15639 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
15640 WHILE 1=1
15641 LOOP -- loop until L >= R
15642 I := L;
15643 J := R;
15644 P := FLOOR((L+R)/2);
15645 --if (a(L) > a(P)) then
15646 IF (l_txl_id_mapping_tab(L).old_id > l_txl_id_mapping_tab(P).old_id)
15647 THEN
15648 W := l_txl_id_mapping_tab(L).old_id;
15649 W2 := l_txl_id_mapping_tab(L).new_id;
15650 l_txl_id_mapping_tab(L).old_id :=l_txl_id_mapping_tab(P).old_id;
15651 l_txl_id_mapping_tab(L).new_id :=l_txl_id_mapping_tab(P).new_id;
15652 l_txl_id_mapping_tab(P).old_id := W;
15653 l_txl_id_mapping_tab(P).new_id := W2;
15654 END IF;
15655 --if (a(L) > a(R)) then
15656 IF (l_txl_id_mapping_tab(L).old_id > l_txl_id_mapping_tab(R).old_id)
15657 THEN
15658 W := l_txl_id_mapping_tab(L).old_id;
15659 W2 := l_txl_id_mapping_tab(L).new_id;
15660 l_txl_id_mapping_tab(L).old_id :=l_txl_id_mapping_tab(R).old_id;
15661 l_txl_id_mapping_tab(L).new_id :=l_txl_id_mapping_tab(R).new_id;
15662 l_txl_id_mapping_tab(R).old_id := W;
15663 l_txl_id_mapping_tab(R).new_id := W2;
15664 END IF;
15665 --if (a(P) > a(R)) then
15666 IF (l_txl_id_mapping_tab(P).old_id > l_txl_id_mapping_tab(R).old_id)
15667 THEN
15668 W := l_txl_id_mapping_tab(P).old_id;
15669 W2 := l_txl_id_mapping_tab(P).new_id;
15670 l_txl_id_mapping_tab(P).old_id :=l_txl_id_mapping_tab(R).old_id;
15671 l_txl_id_mapping_tab(P).new_id :=l_txl_id_mapping_tab(R).new_id;
15672 l_txl_id_mapping_tab(R).old_id := W;
15673 l_txl_id_mapping_tab(R).new_id := W2;
15674 END IF;
15675 --X := a(P);
15676 X := l_txl_id_mapping_tab(P).old_id;
15677 WHILE 1=1
15678 LOOP -- until I > J
15679 --while (a(I) < X) loop
15680 WHILE (l_txl_id_mapping_tab(I).old_id < X) LOOP
15681 I := I + 1;
15682 END LOOP;
15683 WHILE (X < l_txl_id_mapping_tab(J).old_id) LOOP
15684 J := J - 1;
15685 END LOOP;
15686 IF (I <= J) THEN
15687 W := l_txl_id_mapping_tab(I).old_id;
15688 W2 := l_txl_id_mapping_tab(I).new_id;
15689 l_txl_id_mapping_tab(I).old_id :=l_txl_id_mapping_tab(J).old_id;
15690 l_txl_id_mapping_tab(I).new_id :=l_txl_id_mapping_tab(J).new_id;
15691 l_txl_id_mapping_tab(J).old_id := W;
15692 l_txl_id_mapping_tab(J).new_id := W2;
15693 I := I + 1;
15694 J := J - 1;
15695 END IF;
15696 EXIT WHEN I > J;
15697 END LOOP;
15698 IF (J - L < R - I) THEN
15699 IF (I < R) THEN
15700 --push(I); push(R);
15701 l_stack_index := l_stack_index + 1;
15702 l_stack(l_stack_index) := I;
15703 l_stack_index := l_stack_index + 1;
15704 l_stack(l_stack_index) := R;
15705 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15706 END IF;
15707 R := J;
15708 ELSE
15709 IF (L < J) THEN
15710 --push(L); push(J);
15711 l_stack_index := l_stack_index + 1;
15712 l_stack(l_stack_index) := L;
15713 l_stack_index := l_stack_index + 1;
15714 l_stack(l_stack_index) := J;
15715 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
15716 END IF;
15717 L := I;
15718 END IF;
15719
15720 EXIT WHEN (L >= R);
15721 END LOOP;
15722 END LOOP;
15723
15724 EXCEPTION WHEN OTHERS THEN
15725
15726 x_return_status := OKL_API.G_RET_STS_ERROR;
15727 /*OKL_API.set_message(p_app_name => 'OKL',
15728 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15729 p_token1 => 'ASSET_NUMBER',
15730 p_token1_value => 'sort_txl_id_mapping_tab');*/
15731 /* DEBUG */
15732 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15733 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15734 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_txl_id_mapping_tab:l_txl_id_mapping_tab N=' || N || ' ...');
15735 END IF;
15736
15737 --print array
15738 FOR i IN 1..N
15739 LOOP
15740 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15741 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);
15742 END IF;
15743 END LOOP;
15744
15745 RAISE OKC_API.G_EXCEPTION_ERROR;
15746
15747 END; /* sort_txl_id_mapping_tab */
15748
15749 FUNCTION find_txl_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
15750 hi NUMBER;
15751 lo NUMBER;
15752 m NUMBER;
15753 BEGIN
15754 lo := 1;
15755 hi := l_txl_assets_b_counter - 1;
15756 WHILE (lo <= hi) LOOP
15757 m := FLOOR((hi + lo)/2);
15758 IF (l_txl_id_mapping_tab(m).old_id = p_id) THEN
15759 RETURN l_txl_id_mapping_tab(m).new_id;
15760 ELSIF (l_txl_id_mapping_tab(m).old_id > p_id) THEN
15761 hi := m - 1;
15762 ELSE
15763 lo := m + 1;
15764 END IF;
15765 END LOOP;
15766 RETURN -1;
15767 END; /* find_txl_mapping_id */
15768
15769 PROCEDURE insert_okl_txl_assets_tl(p_old_id IN okl_txl_assets_b.id%TYPE,
15770 p_new_id IN okl_txl_assets_b.id%TYPE,
15771 p_flush IN VARCHAR2 ) IS
15772 CURSOR c19(p_id NUMBER) IS
15773 SELECT
15774 id, LANGUAGE, source_lang,
15775 sfwt_flag, description, created_by,
15776 creation_date, last_updated_by, last_update_date,
15777 last_update_login
15778 FROM okl_txl_assets_tl
15779 WHERE id = p_id;
15780
15781 l_tlid_tab2 l_tlid_type;
15782 l_tllanguage_tab2 l_tllanguage_type;
15783 l_tlsource_lang_tab2 l_tlsource_lang_type;
15784 l_tlsfwt_flag_tab2 l_tlsfwt_flag_type;
15785 l_tldescription_tab2 l_tldescription_type;
15786 l_tlcreated_by_tab2 l_tlcreated_by_type;
15787 l_tlcreation_date_tab2 l_tlcreation_date_type;
15788 l_tllast_updated_by_tab2 l_tllast_updated_by_type;
15789 l_tllast_update_date_tab2 l_tllast_update_date_type;
15790 l_tllast_update_login_tab2 l_tllast_update_login_type;
15791
15792 BEGIN
15793 IF (G_DEBUG_ENABLED = 'Y') THEN
15794 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15795 END IF;
15796 OPEN c19(p_old_id);
15797 LOOP
15798 FETCH c19 bulk collect INTO
15799 l_tlid_tab2, l_tllanguage_tab2, l_tlsource_lang_tab2,
15800 l_tlsfwt_flag_tab2, l_tldescription_tab2, l_tlcreated_by_tab2,
15801 l_tlcreation_date_tab2, l_tllast_updated_by_tab2, l_tllast_update_date_tab2,
15802 l_tllast_update_login_tab2
15803 limit G_BULK_SIZE;
15804 EXIT WHEN l_tlid_tab2.COUNT=0;
15805 FOR i IN l_tlid_tab2.first..l_tlid_tab2.last
15806 LOOP
15807
15808 l_tlid_tab(l_txl_assets_tl_counter) := l_tlid_tab2(i);
15809 -- Change id
15810 l_tlid_tab(l_txl_assets_tl_counter) := p_new_id;
15811
15812 l_tllanguage_tab(l_txl_assets_tl_counter) := l_tllanguage_tab2(i);
15813 l_tlsource_lang_tab(l_txl_assets_tl_counter) := l_tlsource_lang_tab2(i);
15814 l_tlsfwt_flag_tab(l_txl_assets_tl_counter) := l_tlsfwt_flag_tab2(i);
15815 l_tldescription_tab(l_txl_assets_tl_counter) := l_tldescription_tab2(i);
15816 l_tlcreated_by_tab(l_txl_assets_tl_counter) := l_tlcreated_by_tab2(i);
15817 l_tlcreation_date_tab(l_txl_assets_tl_counter) := l_tlcreation_date_tab2(i);
15818 l_tllast_updated_by_tab(l_txl_assets_tl_counter) := l_tllast_updated_by_tab2(i);
15819 l_tllast_update_date_tab(l_txl_assets_tl_counter) := l_tllast_update_date_tab2(i);
15820 l_tllast_update_login_tab(l_txl_assets_tl_counter) := l_tllast_update_login_tab2(i);
15821
15822 l_txl_assets_tl_counter := l_txl_assets_tl_counter + 1;
15823
15824 END LOOP;
15825 END LOOP;
15826 CLOSE c19;
15827
15828 IF (p_flush = 'Y') THEN
15829 IF (l_txl_assets_tl_counter > 1) THEN
15830 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15831 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);
15832 END IF;
15833 forall i IN l_tlid_tab.first..l_tlid_tab.last
15834 INSERT INTO okl_txl_assets_tl (
15835 id, LANGUAGE, source_lang,
15836 sfwt_flag, description, created_by,
15837 creation_date, last_updated_by, last_update_date,
15838 last_update_login
15839 ) VALUES (
15840 l_tlid_tab(i), l_tllanguage_tab(i), l_tlsource_lang_tab(i),
15841 l_tlsfwt_flag_tab(i), l_tldescription_tab(i), l_created_by,
15842 SYSDATE, l_last_updated_by, SYSDATE,
15843 l_last_update_login
15844 );
15845 END IF;
15846 END IF;
15847
15848 EXCEPTION WHEN OTHERS THEN
15849
15850 x_return_status := OKL_API.G_RET_STS_ERROR;
15851 /*OKL_API.set_message(p_app_name => 'OKL',
15852 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15853 p_token1 => 'ASSET_NUMBER',
15854 p_token1_value => 'insert_okl_txl_assets_tl');*/
15855 /* DEBUG */
15856 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15857 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15858 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 || ' ...');
15859 END IF;
15860 IF (l_tlid_tab.COUNT > 0) THEN
15861 FOR i IN l_tlid_tab.first..l_tlid_tab.last
15862 LOOP
15863 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15864 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tlid_tab('||i||')=' || l_tlid_tab(i));
15865 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tllanguage_tab('||i||')=' || l_tllanguage_tab(i));
15866 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tlsource_lang_tab('||i||')=' || l_tlsource_lang_tab(i));
15867 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tlsfwt_flag_tab('||i||')=' || l_tlsfwt_flag_tab(i));
15868 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tldescription_tab('||i||')=' || l_tldescription_tab(i));
15869 END IF;
15870 END LOOP;
15871 END IF;
15872
15873 RAISE OKC_API.G_EXCEPTION_ERROR;
15874
15875 END; /* insert_okl_txl_assets_tl */
15876
15877 PROCEDURE insert_okl_txd_assets_tl(p_old_id IN okc_k_headers_b.id%TYPE,
15878 p_new_id IN okc_k_headers_b.id%TYPE,
15879 p_flush IN VARCHAR2) IS
15880 CURSOR c21(p_id NUMBER) IS
15881 SELECT
15882 id, LANGUAGE, source_lang,
15883 sfwt_flag, description, created_by,
15884 creation_date, last_updated_by, last_update_date,
15885 last_update_login
15886 FROM okl_txd_assets_tl
15887 WHERE id = p_id
15888 AND id IN (
15889 SELECT b.id FROM okl_txd_assets_b b, okl_txl_assets_b c
15890 WHERE b.id = p_id
15891 AND b.tal_id = c.id
15892 AND c.dnz_khr_id = p_chr_id
15893 );
15894
15895 l_dlid_tab2 l_dlid_type;
15896 l_dllanguage_tab2 l_dllanguage_type;
15897 l_dlsource_lang_tab2 l_dlsource_lang_type;
15898 l_dlsfwt_flag_tab2 l_dlsfwt_flag_type;
15899 l_dldescription_tab2 l_dldescription_type;
15900 l_dlcreated_by_tab2 l_dlcreated_by_type;
15901 l_dlcreation_date_tab2 l_dlcreation_date_type;
15902 l_dllast_updated_by_tab2 l_dllast_updated_by_type;
15903 l_dllast_update_date_tab2 l_dllast_update_date_type;
15904 l_dllast_update_login_tab2 l_dllast_update_login_type;
15905
15906 BEGIN
15907 IF (G_DEBUG_ENABLED = 'Y') THEN
15908 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
15909 END IF;
15910 OPEN c21(p_old_id);
15911 LOOP
15912 FETCH c21 bulk collect INTO
15913 l_dlid_tab2, l_dllanguage_tab2, l_dlsource_lang_tab2,
15914 l_dlsfwt_flag_tab2, l_dldescription_tab2, l_dlcreated_by_tab2,
15915 l_dlcreation_date_tab2, l_dllast_updated_by_tab2, l_dllast_update_date_tab2,
15916 l_dllast_update_login_tab2
15917 limit G_BULK_SIZE;
15918 EXIT WHEN l_dlid_tab2.COUNT = 0;
15919 FOR i IN l_dlid_tab2.first..l_dlid_tab2.last
15920 LOOP
15921
15922 l_dlid_tab(l_txd_assets_tl_counter) := l_dlid_tab2(i);
15923 -- Change id
15924 l_dlid_tab(l_txd_assets_tl_counter) := p_new_id;
15925
15926 l_dllanguage_tab(l_txd_assets_tl_counter) := l_dllanguage_tab2(i);
15927 l_dlsource_lang_tab(l_txd_assets_tl_counter) := l_dlsource_lang_tab2(i);
15928 l_dlsfwt_flag_tab(l_txd_assets_tl_counter) := l_dlsfwt_flag_tab2(i);
15929 l_dldescription_tab(l_txd_assets_tl_counter) := l_dldescription_tab2(i);
15930 l_dlcreated_by_tab(l_txd_assets_tl_counter) := l_dlcreated_by_tab2(i);
15931 l_dlcreation_date_tab(l_txd_assets_tl_counter) := l_dlcreation_date_tab2(i);
15932 l_dllast_updated_by_tab(l_txd_assets_tl_counter) := l_dllast_updated_by_tab2(i);
15933 l_dllast_update_date_tab(l_txd_assets_tl_counter) := l_dllast_update_date_tab2(i);
15934 l_dllast_update_login_tab(l_txd_assets_tl_counter) := l_dllast_update_login_tab2(i);
15935
15936 l_txd_assets_tl_counter := l_txd_assets_tl_counter + 1;
15937
15938 END LOOP;
15939 END LOOP;
15940 CLOSE c21;
15941 IF (p_flush = 'Y') THEN
15942 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15943 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);
15944 END IF;
15945 IF (l_txd_assets_tl_counter > 1) THEN
15946 forall i IN l_dlid_tab.first..l_dlid_tab.last
15947 INSERT INTO okl_txd_assets_tl (
15948 id, LANGUAGE, source_lang,
15949 sfwt_flag, description, created_by,
15950 creation_date, last_updated_by, last_update_date,
15951 last_update_login
15952 ) VALUES (
15953 l_dlid_tab(i), l_dllanguage_tab(i), l_dlsource_lang_tab(i),
15954 l_dlsfwt_flag_tab(i), l_dldescription_tab(i), l_created_by,
15955 SYSDATE, l_last_updated_by, SYSDATE,
15956 l_last_update_login
15957 );
15958 END IF;
15959 END IF;
15960 EXCEPTION WHEN OTHERS THEN
15961
15962 x_return_status := OKL_API.G_RET_STS_ERROR;
15963 /*OKL_API.set_message(p_app_name => 'OKL',
15964 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
15965 p_token1 => 'ASSET_NUMBER',
15966 p_token1_value => 'insert_okl_txd_assets_tl');*/
15967 /* DEBUG */
15968 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15969 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
15970 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 || ' ...');
15971 END IF;
15972 IF (l_dlid_tab.COUNT > 0) THEN
15973 FOR i IN l_dlid_tab.first..l_dlid_tab.last
15974 LOOP
15975 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
15976 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dlid_tab('||i||')=' || l_dlid_tab(i));
15977 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dllanguage_tab('||i||')=' || l_dllanguage_tab(i));
15978 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dlsource_lang_tab('||i||')=' || l_dlsource_lang_tab(i));
15979 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dlsfwt_flag_tab('||i||')=' || l_dlsfwt_flag_tab(i));
15980 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dldescription_tab('||i||')=' || l_dldescription_tab(i));
15981 END IF;
15982 END LOOP;
15983 END IF;
15984
15985 RAISE OKC_API.G_EXCEPTION_ERROR;
15986
15987 END; /* insert_okl_txd_assets_tl */
15988
15989 PROCEDURE insert_okl_txd_assets_b(p_old_id IN okc_k_headers_b.id%TYPE,
15990 p_new_id IN okc_k_headers_b.id%TYPE) IS
15991 CURSOR c20(p_id NUMBER) IS
15992 SELECT
15993 id, object_version_number, tal_id,
15994 target_kle_id, line_detail_number, asset_number,
15995 quantity, cost, tax_book,
15996 life_in_months_tax, deprn_method_tax, deprn_rate_tax,
15997 salvage_value, split_percent, inventory_item_id,
15998 attribute_category, attribute1, attribute2,
15999 attribute3, attribute4, attribute5,
16000 attribute6, attribute7, attribute8,
16001 attribute9, attribute10, attribute11,
16002 attribute12, attribute13, attribute14,
16003 attribute15, created_by, creation_date,
16004 last_updated_by, last_update_date, last_update_login,
16005 currency_code, currency_conversion_type, currency_conversion_rate,
16006 currency_conversion_date
16007 FROM okl_txd_assets_b
16008 WHERE tal_id IN (
16009 SELECT a.id
16010 FROM okl_txl_assets_b a,
16011 okc_k_lines_b b,
16012 okc_k_items c
16013 WHERE a.dnz_khr_id = p_id
16014 AND b.dnz_chr_id = p_id
16015 AND c.dnz_chr_id = p_id
16016 AND b.lse_id = 42
16017 AND a.kle_id = b.id
16018 AND a.kle_id = c.cle_id
16019 AND c.object1_id1 IS NULL
16020 AND c.object1_id2 IS NULL
16021 );
16022
16023 l_dbid_tab2 l_dbid_type;
16024 l_dbobject_version_number_tab2 l_dbobject_version_number_type;
16025 l_dbtal_id_tab2 l_dbtal_id_type;
16026 l_dbtarget_kle_id_tab2 l_dbtarget_kle_id_type;
16027 l_dbline_detail_number_tab2 l_dbline_detail_number_type;
16028 l_dbasset_number_tab2 l_dbasset_number_type;
16029 l_dbquantity_tab2 l_dbquantity_type;
16030 l_dbcost_tab2 l_dbcost_type;
16031 l_dbtax_book_tab2 l_dbtax_book_type;
16032 l_dblife_in_months_tax_tab2 l_dblife_in_months_tax_type;
16033 l_dbdeprn_method_tax_tab2 l_dbdeprn_method_tax_type;
16034 l_dbdeprn_rate_tax_tab2 l_dbdeprn_rate_tax_type;
16035 l_dbsalvage_value_tab2 l_dbsalvage_value_type;
16036 l_dbsplit_percent_tab2 l_dbsplit_percent_type;
16037 l_dbinventory_item_id_tab2 l_dbinventory_item_id_type;
16038 l_dbattribute_category_tab2 l_dbattribute_category_type;
16039 l_dbattribute1_tab2 l_dbattribute1_type;
16040 l_dbattribute2_tab2 l_dbattribute2_type;
16041 l_dbattribute3_tab2 l_dbattribute3_type;
16042 l_dbattribute4_tab2 l_dbattribute4_type;
16043 l_dbattribute5_tab2 l_dbattribute5_type;
16044 l_dbattribute6_tab2 l_dbattribute6_type;
16045 l_dbattribute7_tab2 l_dbattribute7_type;
16046 l_dbattribute8_tab2 l_dbattribute8_type;
16047 l_dbattribute9_tab2 l_dbattribute9_type;
16048 l_dbattribute10_tab2 l_dbattribute10_type;
16049 l_dbattribute11_tab2 l_dbattribute11_type;
16050 l_dbattribute12_tab2 l_dbattribute12_type;
16051 l_dbattribute13_tab2 l_dbattribute13_type;
16052 l_dbattribute14_tab2 l_dbattribute14_type;
16053 l_dbattribute15_tab2 l_dbattribute15_type;
16054 l_dbcreated_by_tab2 l_dbcreated_by_type;
16055 l_dbcreation_date_tab2 l_dbcreation_date_type;
16056 l_dblast_updated_by_tab2 l_dblast_updated_by_type;
16057 l_dblast_update_date_tab2 l_dblast_update_date_type;
16058 l_dblast_update_login_tab2 l_dblast_update_login_type;
16059 l_dbcurrency_code_tab2 l_dbcurrency_code_type;
16060 l_dbcurrency_convers_type_tab2 l_dbcurrency_convers_type_type;
16061 l_dbcurrency_convers_rate_tab2 l_dbcurrency_convers_rate_type;
16062 l_dbcurrency_convers_date_tab2 l_dbcurrency_convers_date_type;
16063
16064 l_new_tal_id NUMBER;
16065 l_new_kle_id NUMBER;
16066
16067 BEGIN
16068 IF (G_DEBUG_ENABLED = 'Y') THEN
16069 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
16070 END IF;
16071 OPEN c20(p_old_id);
16072 LOOP
16073 FETCH c20 bulk collect INTO
16074 l_dbid_tab2, l_dbobject_version_number_tab2, l_dbtal_id_tab2,
16075 l_dbtarget_kle_id_tab2, l_dbline_detail_number_tab2, l_dbasset_number_tab2,
16076 l_dbquantity_tab2, l_dbcost_tab2, l_dbtax_book_tab2,
16077 l_dblife_in_months_tax_tab2, l_dbdeprn_method_tax_tab2, l_dbdeprn_rate_tax_tab2,
16078 l_dbsalvage_value_tab2, l_dbsplit_percent_tab2, l_dbinventory_item_id_tab2,
16079 l_dbattribute_category_tab2, l_dbattribute1_tab2, l_dbattribute2_tab2,
16080 l_dbattribute3_tab2, l_dbattribute4_tab2, l_dbattribute5_tab2,
16081 l_dbattribute6_tab2, l_dbattribute7_tab2, l_dbattribute8_tab2,
16082 l_dbattribute9_tab2, l_dbattribute10_tab2, l_dbattribute11_tab2,
16083 l_dbattribute12_tab2, l_dbattribute13_tab2, l_dbattribute14_tab2,
16084 l_dbattribute15_tab2, l_dbcreated_by_tab2, l_dbcreation_date_tab2,
16085 l_dblast_updated_by_tab2, l_dblast_update_date_tab2, l_dblast_update_login_tab2,
16086 l_dbcurrency_code_tab2, l_dbcurrency_convers_type_tab2, l_dbcurrency_convers_rate_tab2,
16087 l_dbcurrency_convers_date_tab2
16088 limit G_BULK_SIZE;
16089 EXIT WHEN l_dbid_tab2.COUNT = 0;
16090 FOR i IN l_dbid_tab2.first..l_dbid_tab2.last
16091 LOOP
16092
16093 l_dbid_tab3(l_txd_assets_b_counter) := l_dbid_tab2(i);
16094 l_dbid_tab(l_txd_assets_b_counter) := l_dbid_tab2(i);
16095 -- Change id
16096 l_dbid_tab(l_txd_assets_b_counter) := okc_p_util.raw_to_number(sys_guid());
16097
16098 l_dbobject_version_number_tab(l_txd_assets_b_counter) := l_dbobject_version_number_tab2(i);
16099 l_dbtal_id_tab(l_txd_assets_b_counter) := l_dbtal_id_tab2(i);
16100 -- Change tal_id
16101 l_new_tal_id := find_txl_mapping_id(l_dbtal_id_tab(l_txd_assets_b_counter));
16102 l_dbtal_id_tab(l_txd_assets_b_counter) := l_new_tal_id;
16103
16104 l_dbtarget_kle_id_tab(l_txd_assets_b_counter) := l_dbtarget_kle_id_tab2(i);
16105 -- Change target_kle_id ??? AKP
16106 --l_new_kle_id := find_mapping_id(l_dbtarget_kle_id_tab(l_txd_assets_b_counter));
16107 --l_dbtarget_kle_id_tab(l_txd_assets_b_counter) := l_new_kle_id;
16108 l_dbtarget_kle_id_tab(l_txd_assets_b_counter) := NULL;
16109
16110 l_dbline_detail_number_tab(l_txd_assets_b_counter) := l_dbline_detail_number_tab2(i);
16111 l_dbasset_number_tab(l_txd_assets_b_counter) := l_dbasset_number_tab2(i);
16112 l_dbquantity_tab(l_txd_assets_b_counter) := l_dbquantity_tab2(i);
16113 l_dbcost_tab(l_txd_assets_b_counter) := l_dbcost_tab2(i);
16114 l_dbtax_book_tab(l_txd_assets_b_counter) := l_dbtax_book_tab2(i);
16115 l_dblife_in_months_tax_tab(l_txd_assets_b_counter) := l_dblife_in_months_tax_tab2(i);
16116 l_dbdeprn_method_tax_tab(l_txd_assets_b_counter) := l_dbdeprn_method_tax_tab2(i);
16117 l_dbdeprn_rate_tax_tab(l_txd_assets_b_counter) := l_dbdeprn_rate_tax_tab2(i);
16118 l_dbsalvage_value_tab(l_txd_assets_b_counter) := l_dbsalvage_value_tab2(i);
16119 l_dbsplit_percent_tab(l_txd_assets_b_counter) := l_dbsplit_percent_tab2(i);
16120 l_dbinventory_item_id_tab(l_txd_assets_b_counter) := l_dbinventory_item_id_tab2(i);
16121 l_dbattribute_category_tab(l_txd_assets_b_counter) := l_dbattribute_category_tab2(i);
16122 l_dbattribute1_tab(l_txd_assets_b_counter) := l_dbattribute1_tab2(i);
16123 l_dbattribute2_tab(l_txd_assets_b_counter) := l_dbattribute2_tab2(i);
16124 l_dbattribute3_tab(l_txd_assets_b_counter) := l_dbattribute3_tab2(i);
16125 l_dbattribute4_tab(l_txd_assets_b_counter) := l_dbattribute4_tab2(i);
16126 l_dbattribute5_tab(l_txd_assets_b_counter) := l_dbattribute5_tab2(i);
16127 l_dbattribute6_tab(l_txd_assets_b_counter) := l_dbattribute6_tab2(i);
16128 l_dbattribute7_tab(l_txd_assets_b_counter) := l_dbattribute7_tab2(i);
16129 l_dbattribute8_tab(l_txd_assets_b_counter) := l_dbattribute8_tab2(i);
16130 l_dbattribute9_tab(l_txd_assets_b_counter) := l_dbattribute9_tab2(i);
16131 l_dbattribute10_tab(l_txd_assets_b_counter) := l_dbattribute10_tab2(i);
16132 l_dbattribute11_tab(l_txd_assets_b_counter) := l_dbattribute11_tab2(i);
16133 l_dbattribute12_tab(l_txd_assets_b_counter) := l_dbattribute12_tab2(i);
16134 l_dbattribute13_tab(l_txd_assets_b_counter) := l_dbattribute13_tab2(i);
16135 l_dbattribute14_tab(l_txd_assets_b_counter) := l_dbattribute14_tab2(i);
16136 l_dbattribute15_tab(l_txd_assets_b_counter) := l_dbattribute15_tab2(i);
16137 l_dbcreated_by_tab(l_txd_assets_b_counter) := l_dbcreated_by_tab2(i);
16138 l_dbcreation_date_tab(l_txd_assets_b_counter) := l_dbcreation_date_tab2(i);
16139 l_dblast_updated_by_tab(l_txd_assets_b_counter) := l_dblast_updated_by_tab2(i);
16140 l_dblast_update_date_tab(l_txd_assets_b_counter) := l_dblast_update_date_tab2(i);
16141 l_dblast_update_login_tab(l_txd_assets_b_counter) := l_dblast_update_login_tab2(i);
16142 /*l_dbcurrency_code_tab(l_txd_assets_b_counter) := l_dbcurrency_code_tab2(i);
16143 l_dbcurrency_convers_type_tab(l_txd_assets_b_counter) := l_dbcurrency_convers_type_tab2(i);
16144 l_dbcurrency_convers_rate_tab(l_txd_assets_b_counter) := l_dbcurrency_convers_rate_tab2(i);
16145 l_dbcurrency_convers_date_tab(l_txd_assets_b_counter) := l_dbcurrency_convers_date_tab2(i); */
16146 -- AKP: Default the following four from the contract header
16147 l_dbcurrency_code_tab(l_txd_assets_b_counter) := l_contract_currency;
16148 l_dbcurrency_convers_type_tab(l_txd_assets_b_counter) := l_conversion_type;
16149 l_dbcurrency_convers_rate_tab(l_txd_assets_b_counter) := l_conversion_rate;
16150 l_dbcurrency_convers_date_tab(l_txd_assets_b_counter) := l_conversion_rate_date;
16151
16152 l_txd_assets_b_counter := l_txd_assets_b_counter + 1;
16153
16154 END LOOP;
16155 END LOOP;
16156 CLOSE c20;
16157 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16158 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);
16159 END IF;
16160 IF (l_txd_assets_b_counter > 1) THEN
16161 forall i IN l_dbid_tab.first..l_dbid_tab.last
16162 INSERT INTO okl_txd_assets_b (
16163 id, object_version_number, tal_id,
16164 target_kle_id, line_detail_number, asset_number,
16165 quantity, cost, tax_book,
16166 life_in_months_tax, deprn_method_tax, deprn_rate_tax,
16167 salvage_value, split_percent, inventory_item_id,
16168 attribute_category, attribute1, attribute2,
16169 attribute3, attribute4, attribute5,
16170 attribute6, attribute7, attribute8,
16171 attribute9, attribute10, attribute11,
16172 attribute12, attribute13, attribute14,
16173 attribute15, created_by, creation_date,
16174 last_updated_by, last_update_date, last_update_login,
16175 currency_code, currency_conversion_type, currency_conversion_rate,
16176 currency_conversion_date
16177 ) VALUES (
16178 l_dbid_tab(i), 1, l_dbtal_id_tab(i),
16179 l_dbtarget_kle_id_tab(i), l_dbline_detail_number_tab(i), l_dbasset_number_tab(i),
16180 l_dbquantity_tab(i), l_dbcost_tab(i), l_dbtax_book_tab(i),
16181 l_dblife_in_months_tax_tab(i), l_dbdeprn_method_tax_tab(i), l_dbdeprn_rate_tax_tab(i),
16182 l_dbsalvage_value_tab(i), l_dbsplit_percent_tab(i), l_dbinventory_item_id_tab(i),
16183 l_dbattribute_category_tab(i), l_dbattribute1_tab(i), l_dbattribute2_tab(i),
16184 l_dbattribute3_tab(i), l_dbattribute4_tab(i), l_dbattribute5_tab(i),
16185 l_dbattribute6_tab(i), l_dbattribute7_tab(i), l_dbattribute8_tab(i),
16186 l_dbattribute9_tab(i), l_dbattribute10_tab(i), l_dbattribute11_tab(i),
16187 l_dbattribute12_tab(i), l_dbattribute13_tab(i), l_dbattribute14_tab(i),
16188 l_dbattribute15_tab(i), l_created_by, SYSDATE,
16189 l_last_updated_by, SYSDATE, l_last_update_login,
16190 l_dbcurrency_code_tab(i), l_dbcurrency_convers_type_tab(i), l_dbcurrency_convers_rate_tab(i),
16191 l_dbcurrency_convers_date_tab(i)
16192 );
16193 FOR i IN l_dbid_tab.first..l_dbid_tab.last
16194 LOOP
16195 IF (i = l_dbid_tab.last) THEN
16196 insert_okl_txd_assets_tl(l_dbid_tab3(i),l_dbid_tab(i), 'Y');
16197 ELSE
16198 insert_okl_txd_assets_tl(l_dbid_tab3(i),l_dbid_tab(i), 'N');
16199 END IF;
16200 END LOOP;
16201 END IF;
16202 EXCEPTION WHEN OTHERS THEN
16203
16204 x_return_status := OKL_API.G_RET_STS_ERROR;
16205 /*OKL_API.set_message(p_app_name => 'OKL',
16206 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
16207 p_token1 => 'ASSET_NUMBER',
16208 p_token1_value => 'insert_okl_txd_assets_b');*/
16209 /* DEBUG */
16210 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16211 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
16212 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 || ' ...');
16213 END IF;
16214 IF (l_dbid_tab.COUNT > 0) THEN
16215 FOR i IN l_dbid_tab.first..l_dbid_tab.last
16216 LOOP
16217 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16218 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbid_tab('||i||')=' || l_dbid_tab(i));
16219 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbtal_id_tab('||i||')=' || l_dbtal_id_tab(i));
16220 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbtarget_kle_id_tab('||i||')=' || l_dbtarget_kle_id_tab(i));
16221 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbline_detail_number_tab('||i||')=' || l_dbline_detail_number_tab(i));
16222 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbasset_number_tab('||i||')=' || l_dbasset_number_tab(i));
16223 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbquantity_tab('||i||')=' || l_dbquantity_tab(i));
16224 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcost_tab('||i||')=' || l_dbcost_tab(i));
16225 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbtax_book_tab('||i||')=' || l_dbtax_book_tab(i));
16226 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));
16227 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbdeprn_method_tax_tab('||i||')=' || l_dbdeprn_method_tax_tab(i));
16228 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbdeprn_rate_tax_tab('||i||')=' || l_dbdeprn_rate_tax_tab(i));
16229 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbsalvage_value_tab('||i||')=' || l_dbsalvage_value_tab(i));
16230 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbsplit_percent_tab('||i||')=' || l_dbsplit_percent_tab(i));
16231 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbinventory_item_id_tab('||i||')=' || l_dbinventory_item_id_tab(i));
16232 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute_category_tab('||i||')=' || l_dbattribute_category_tab(i));
16233 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute1_tab('||i||')=' || l_dbattribute1_tab(i));
16234 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute2_tab('||i||')=' || l_dbattribute2_tab(i));
16235 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute3_tab('||i||')=' || l_dbattribute3_tab(i));
16236 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute4_tab('||i||')=' || l_dbattribute4_tab(i));
16237 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute5_tab('||i||')=' || l_dbattribute5_tab(i));
16238 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute6_tab('||i||')=' || l_dbattribute6_tab(i));
16239 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute7_tab('||i||')=' || l_dbattribute7_tab(i));
16240 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute8_tab('||i||')=' || l_dbattribute8_tab(i));
16241 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute9_tab('||i||')=' || l_dbattribute9_tab(i));
16242 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute10_tab('||i||')=' || l_dbattribute10_tab(i));
16243 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute11_tab('||i||')=' || l_dbattribute11_tab(i));
16244 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute12_tab('||i||')=' || l_dbattribute12_tab(i));
16245 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute13_tab('||i||')=' || l_dbattribute13_tab(i));
16246 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute14_tab('||i||')=' || l_dbattribute14_tab(i));
16247 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbattribute15_tab('||i||')=' || l_dbattribute15_tab(i));
16248 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcurrency_code_tab('||i||')=' || l_dbcurrency_code_tab(i));
16249 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcurrency_convers_type_tab('||i||')=' || l_dbcurrency_convers_type_tab(i));
16250 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcurrency_convers_rate_tab('||i||')=' || l_dbcurrency_convers_rate_tab(i));
16251 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dbcurrency_convers_date_tab('||i||')=' || l_dbcurrency_convers_date_tab(i));
16252 END IF;
16253 END LOOP;
16254 END IF;
16255
16256 RAISE OKC_API.G_EXCEPTION_ERROR;
16257
16258 END; /* insert_okl_txd_assets_b */
16259
16260 FUNCTION find_dbid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
16261 hi NUMBER;
16262 lo NUMBER;
16263 m NUMBER;
16264 BEGIN
16265 lo := 1;
16266 hi := l_tal_to_kle_counter - 1;
16267 WHILE (lo <= hi) LOOP
16268 m := FLOOR((hi + lo)/2);
16269 IF (l_dbid_mapping_tab(m).tal_id = p_id) THEN
16270 RETURN l_dbid_mapping_tab(m).kle_id;
16271 ELSIF (l_dbid_mapping_tab(m).tal_id > p_id) THEN
16272 hi := m - 1;
16273 ELSE
16274 lo := m + 1;
16275 END IF;
16276 END LOOP;
16277 RETURN -1;
16278 END; /* find_dbid_mapping_id */
16279
16280 PROCEDURE sort_dbid_mapping_tab IS
16281 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
16282 --a numtabtype;
16283 l_stack numtabtype;
16284 l_stack_index NUMBER := 0;
16285 N NUMBER;
16286 R NUMBER;
16287 L NUMBER;
16288 P NUMBER;
16289 W NUMBER;
16290 W2 NUMBER;
16291 X NUMBER;
16292 I NUMBER;
16293 J NUMBER;
16294 BEGIN
16295 IF (G_DEBUG_ENABLED = 'Y') THEN
16296 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
16297 END IF;
16298 NULL;
16299
16300 N := l_tal_to_kle_counter - 1;
16301 IF (N < 2) THEN
16302 RETURN;
16303 END IF;
16304 l_stack_index := l_stack_index + 1;
16305 l_stack(l_stack_index) := 1;
16306 l_stack_index := l_stack_index + 1;
16307 l_stack(l_stack_index) := N;
16308
16309 --dbms_output.put_line('l_stack_index=' || l_stack_index);
16310 WHILE l_stack_index > 0
16311 LOOP
16312 R := l_stack(l_stack_index);
16313 l_stack_index := l_stack_index - 1;
16314 L := l_stack(l_stack_index);
16315 l_stack_index := l_stack_index - 1;
16316 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
16317 WHILE 1=1
16318 LOOP -- loop until L >= R
16319 I := L;
16320 J := R;
16321 P := FLOOR((L+R)/2);
16322 --if (a(L) > a(P)) then
16323 IF (l_dbid_mapping_tab(L).tal_id > l_dbid_mapping_tab(P).tal_id)
16324 THEN
16325 W := l_dbid_mapping_tab(L).tal_id;
16326 W2 := l_dbid_mapping_tab(L).kle_id;
16327 l_dbid_mapping_tab(L).tal_id :=l_dbid_mapping_tab(P).tal_id;
16328 l_dbid_mapping_tab(L).kle_id :=l_dbid_mapping_tab(P).kle_id;
16329 l_dbid_mapping_tab(P).tal_id := W;
16330 l_dbid_mapping_tab(P).kle_id := W2;
16331 END IF;
16332 --if (a(L) > a(R)) then
16333 IF (l_dbid_mapping_tab(L).tal_id > l_dbid_mapping_tab(R).tal_id)
16334 THEN
16335 W := l_dbid_mapping_tab(L).tal_id;
16336 W2 := l_dbid_mapping_tab(L).kle_id;
16337 l_dbid_mapping_tab(L).tal_id :=l_dbid_mapping_tab(R).tal_id;
16338 l_dbid_mapping_tab(L).kle_id :=l_dbid_mapping_tab(R).kle_id;
16339 l_dbid_mapping_tab(R).tal_id := W;
16340 l_dbid_mapping_tab(R).kle_id := W2;
16341 END IF;
16342 --if (a(P) > a(R)) then
16343 IF (l_dbid_mapping_tab(P).tal_id > l_dbid_mapping_tab(R).tal_id)
16344 THEN
16345 W := l_dbid_mapping_tab(P).tal_id;
16346 W2 := l_dbid_mapping_tab(P).kle_id;
16347 l_dbid_mapping_tab(P).tal_id :=l_dbid_mapping_tab(R).tal_id;
16348 l_dbid_mapping_tab(P).kle_id :=l_dbid_mapping_tab(R).kle_id;
16349 l_dbid_mapping_tab(R).tal_id := W;
16350 l_dbid_mapping_tab(R).kle_id := W2;
16351 END IF;
16352 --X := a(P);
16353 X := l_dbid_mapping_tab(P).tal_id;
16354 WHILE 1=1
16355 LOOP -- until I > J
16356 --while (a(I) < X) loop
16357 WHILE (l_dbid_mapping_tab(I).tal_id < X) LOOP
16358 I := I + 1;
16359 END LOOP;
16360 WHILE (X < l_dbid_mapping_tab(J).tal_id) LOOP
16361 J := J - 1;
16362 END LOOP;
16363 IF (I <= J) THEN
16364 W := l_dbid_mapping_tab(I).tal_id;
16365 W2 := l_dbid_mapping_tab(I).kle_id;
16366 l_dbid_mapping_tab(I).tal_id :=l_dbid_mapping_tab(J).tal_id;
16367 l_dbid_mapping_tab(I).kle_id :=l_dbid_mapping_tab(J).kle_id;
16368 l_dbid_mapping_tab(J).tal_id := W;
16369 l_dbid_mapping_tab(J).kle_id := W2;
16370 I := I + 1;
16371 J := J - 1;
16372 END IF;
16373 EXIT WHEN I > J;
16374 END LOOP;
16375 IF (J - L < R - I) THEN
16376 IF (I < R) THEN
16377 --push(I); push(R);
16378 l_stack_index := l_stack_index + 1;
16379 l_stack(l_stack_index) := I;
16380 l_stack_index := l_stack_index + 1;
16381 l_stack(l_stack_index) := R;
16382 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
16383 END IF;
16384 R := J;
16385 ELSE
16386 IF (L < J) THEN
16387 --push(L); push(J);
16388 l_stack_index := l_stack_index + 1;
16389 l_stack(l_stack_index) := L;
16390 l_stack_index := l_stack_index + 1;
16391 l_stack(l_stack_index) := J;
16392 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
16393 END IF;
16394 L := I;
16395 END IF;
16396
16397 EXIT WHEN (L >= R);
16398 END LOOP;
16399 END LOOP;
16400
16401 EXCEPTION WHEN OTHERS THEN
16402
16403 x_return_status := OKL_API.G_RET_STS_ERROR;
16404 /*OKL_API.set_message(p_app_name => 'OKL',
16405 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
16406 p_token1 => 'ASSET_NUMBER',
16407 p_token1_value => 'sort_dbid_mapping_tab');*/
16408 /* DEBUG */
16409 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16410 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
16411 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_dbid_mapping_tab:l_dbid_mapping_tab N=' || N || ' ...');
16412 END IF;
16413
16414 --print array
16415 FOR i IN 1..N
16416 LOOP
16417 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16418 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);
16419 END IF;
16420 END LOOP;
16421
16422 RAISE OKC_API.G_EXCEPTION_ERROR;
16423
16424 END; /* sort_dbid_mapping_tab */
16425
16426 PROCEDURE insert_okl_txl_assets_b(p_old_id IN okc_k_headers_b.id%TYPE,
16427 p_new_id IN okc_k_headers_b.id%TYPE) IS
16428 CURSOR c18(p_id NUMBER) IS
16429 SELECT
16430 a.id, a.object_version_number, a.tas_id,
16431 a.ilo_id, a.ilo_id_old, a.iay_id,
16432 a.iay_id_new, a.kle_id, a.dnz_khr_id,
16433 a.line_number, a.org_id, a.tal_type,
16434 a.asset_number, a.fa_location_id, a.original_cost,
16435 a.current_units, a.manufacturer_name, a.year_manufactured,
16436 a.supplier_id, a.used_asset_yn, a.tag_number,
16437 a.model_number, a.corporate_book, a.date_purchased,
16438 a.date_delivery, a.in_service_date, a.life_in_months,
16439 a.depreciation_id, a.depreciation_cost, a.deprn_method,
16440 a.deprn_rate, a.salvage_value, a.percent_salvage_value,
16441 a.attribute_category, a.attribute1, a.attribute2,
16442 a.attribute3, a.attribute4, a.attribute5,
16443 a.attribute6, a.attribute7, a.attribute8,
16444 a.attribute9, a.attribute10, a.attribute11,
16445 a.attribute12, a.attribute13, a.attribute14,
16446 a.attribute15, a.created_by, a.creation_date,
16447 a.last_updated_by, a.last_update_date, a.last_update_login,
16448 a.depreciate_yn, a.hold_period_days, a.old_salvage_value,
16449 a.new_residual_value, a.old_residual_value, a.units_retired,
16450 a.cost_retired, a.sale_proceeds, a.removal_cost,
16451 a.dnz_asset_id, a.date_due, a.rep_asset_id,
16452 a.lke_asset_id, a.match_amount, a.split_into_singles_flag,
16453 a.split_into_units, a.currency_code, a.currency_conversion_type,
16454 a.currency_conversion_rate, a.currency_conversion_date, a.asset_key_id,
16455 a.fa_trx_date
16456 FROM okl_txl_assets_b a,
16457 okc_k_lines_b b,
16458 okc_k_items c
16459 WHERE a.dnz_khr_id = p_id
16460 AND b.dnz_chr_id = p_id
16461 AND c.dnz_chr_id = p_id
16462 AND b.lse_id = 42
16463 AND a.kle_id = b.id
16464 AND a.kle_id = c.cle_id
16465 AND c.object1_id1 IS NULL
16466 AND c.object1_id2 IS NULL;
16467
16468 l_tbid_tab2 l_tbid_type;
16469 l_tbobject_version_number_tab2 l_tbobject_version_number_type;
16470 l_tbtas_id_tab2 l_tbtas_id_type;
16471 l_tbilo_id_tab2 l_tbilo_id_type;
16472 l_tbilo_id_old_tab2 l_tbilo_id_old_type;
16473 l_tbiay_id_tab2 l_tbiay_id_type;
16474 l_tbiay_id_new_tab2 l_tbiay_id_new_type;
16475 l_tbkle_id_tab2 l_tbkle_id_type;
16476 l_tbdnz_khr_id_tab2 l_tbdnz_khr_id_type;
16477 l_tbline_number_tab2 l_tbline_number_type;
16478 l_tborg_id_tab2 l_tborg_id_type;
16479 l_tbtal_type_tab2 l_tbtal_type_type;
16480 l_tbasset_number_tab2 l_tbasset_number_type;
16481 l_tbfa_location_id_tab2 l_tbfa_location_id_type;
16482 l_tboriginal_cost_tab2 l_tboriginal_cost_type;
16483 l_tbcurrent_units_tab2 l_tbcurrent_units_type;
16484 l_tbmanufacturer_name_tab2 l_tbmanufacturer_name_type;
16485 l_tbyear_manufactured_tab2 l_tbyear_manufactured_type;
16486 l_tbsupplier_id_tab2 l_tbsupplier_id_type;
16487 l_tbused_asset_yn_tab2 l_tbused_asset_yn_type;
16488 l_tbtag_number_tab2 l_tbtag_number_type;
16489 l_tbmodel_number_tab2 l_tbmodel_number_type;
16490 l_tbcorporate_book_tab2 l_tbcorporate_book_type;
16491 l_tbdate_purchased_tab2 l_tbdate_purchased_type;
16492 l_tbdate_delivery_tab2 l_tbdate_delivery_type;
16493 l_tbin_service_date_tab2 l_tbin_service_date_type;
16494 l_tblife_in_months_tab2 l_tblife_in_months_type;
16495 l_tbdepreciation_id_tab2 l_tbdepreciation_id_type;
16496 l_tbdepreciation_cost_tab2 l_tbdepreciation_cost_type;
16497 l_tbdeprn_method_tab2 l_tbdeprn_method_type;
16498 l_tbdeprn_rate_tab2 l_tbdeprn_rate_type;
16499 l_tbsalvage_value_tab2 l_tbsalvage_value_type;
16500 l_tbpercent_salvage_value_tab2 l_tbpercent_salvage_value_type;
16501 l_tbattribute_category_tab2 l_tbattribute_category_type;
16502 l_tbattribute1_tab2 l_tbattribute1_type;
16503 l_tbattribute2_tab2 l_tbattribute2_type;
16504 l_tbattribute3_tab2 l_tbattribute3_type;
16505 l_tbattribute4_tab2 l_tbattribute4_type;
16506 l_tbattribute5_tab2 l_tbattribute5_type;
16507 l_tbattribute6_tab2 l_tbattribute6_type;
16508 l_tbattribute7_tab2 l_tbattribute7_type;
16509 l_tbattribute8_tab2 l_tbattribute8_type;
16510 l_tbattribute9_tab2 l_tbattribute9_type;
16511 l_tbattribute10_tab2 l_tbattribute10_type;
16512 l_tbattribute11_tab2 l_tbattribute11_type;
16513 l_tbattribute12_tab2 l_tbattribute12_type;
16514 l_tbattribute13_tab2 l_tbattribute13_type;
16515 l_tbattribute14_tab2 l_tbattribute14_type;
16516 l_tbattribute15_tab2 l_tbattribute15_type;
16517 l_tbcreated_by_tab2 l_tbcreated_by_type;
16518 l_tbcreation_date_tab2 l_tbcreation_date_type;
16519 l_tblast_updated_by_tab2 l_tblast_updated_by_type;
16520 l_tblast_update_date_tab2 l_tblast_update_date_type;
16521 l_tblast_update_login_tab2 l_tblast_update_login_type;
16522 l_tbdepreciate_yn_tab2 l_tbdepreciate_yn_type;
16523 l_tbhold_period_days_tab2 l_tbhold_period_days_type;
16524 l_tbold_salvage_value_tab2 l_tbold_salvage_value_type;
16525 l_tbnew_residual_value_tab2 l_tbnew_residual_value_type;
16526 l_tbold_residual_value_tab2 l_tbold_residual_value_type;
16527 l_tbunits_retired_tab2 l_tbunits_retired_type;
16528 l_tbcost_retired_tab2 l_tbcost_retired_type;
16529 l_tbsale_proceeds_tab2 l_tbsale_proceeds_type;
16530 l_tbremoval_cost_tab2 l_tbremoval_cost_type;
16531 l_tbdnz_asset_id_tab2 l_tbdnz_asset_id_type;
16532 l_tbdate_due_tab2 l_tbdate_due_type;
16533 l_tbrep_asset_id_tab2 l_tbrep_asset_id_type;
16534 l_tblke_asset_id_tab2 l_tblke_asset_id_type;
16535 l_tbmatch_amount_tab2 l_tbmatch_amount_type;
16536 l_tbsplit_into_singles_fl_tab2 l_tbsplit_into_singles_fl_type;
16537 l_tbsplit_into_units_tab2 l_tbsplit_into_units_type;
16538 l_tbcurrency_code_tab2 l_tbcurrency_code_type;
16539 l_tbcurrency_convers_type_tab2 l_tbcurrency_convers_type_type;
16540 l_tbcurrency_convers_rate_tab2 l_tbcurrency_convers_rate_type;
16541 l_tbcurrency_convers_date_tab2 l_tbcurrency_convers_date_type;
16542 l_tbasset_key_id_tab2 l_tbasset_key_id_type;
16543 l_tbfa_trx_date_tab2 l_tbfa_trx_date_type;
16544
16545 l_new_tas_id NUMBER;
16546 l_new_kle_id NUMBER;
16547 l_new_asset_number VARCHAR2(15);
16548
16549 BEGIN
16550 IF (G_DEBUG_ENABLED = 'Y') THEN
16551 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
16552 END IF;
16553 OPEN c18(p_old_id);
16554 LOOP
16555 FETCH c18 bulk collect INTO
16556 l_tbid_tab2, l_tbobject_version_number_tab2, l_tbtas_id_tab2,
16557 l_tbilo_id_tab2, l_tbilo_id_old_tab2, l_tbiay_id_tab2,
16558 l_tbiay_id_new_tab2, l_tbkle_id_tab2, l_tbdnz_khr_id_tab2,
16559 l_tbline_number_tab2, l_tborg_id_tab2, l_tbtal_type_tab2,
16560 l_tbasset_number_tab2, l_tbfa_location_id_tab2, l_tboriginal_cost_tab2,
16561 l_tbcurrent_units_tab2, l_tbmanufacturer_name_tab2, l_tbyear_manufactured_tab2,
16562 l_tbsupplier_id_tab2, l_tbused_asset_yn_tab2, l_tbtag_number_tab2,
16563 l_tbmodel_number_tab2, l_tbcorporate_book_tab2, l_tbdate_purchased_tab2,
16564 l_tbdate_delivery_tab2, l_tbin_service_date_tab2, l_tblife_in_months_tab2,
16565 l_tbdepreciation_id_tab2, l_tbdepreciation_cost_tab2, l_tbdeprn_method_tab2,
16566 l_tbdeprn_rate_tab2, l_tbsalvage_value_tab2, l_tbpercent_salvage_value_tab2,
16567 l_tbattribute_category_tab2, l_tbattribute1_tab2, l_tbattribute2_tab2,
16568 l_tbattribute3_tab2, l_tbattribute4_tab2, l_tbattribute5_tab2,
16569 l_tbattribute6_tab2, l_tbattribute7_tab2, l_tbattribute8_tab2,
16570 l_tbattribute9_tab2, l_tbattribute10_tab2, l_tbattribute11_tab2,
16571 l_tbattribute12_tab2, l_tbattribute13_tab2, l_tbattribute14_tab2,
16572 l_tbattribute15_tab2, l_tbcreated_by_tab2, l_tbcreation_date_tab2,
16573 l_tblast_updated_by_tab2, l_tblast_update_date_tab2, l_tblast_update_login_tab2,
16574 l_tbdepreciate_yn_tab2, l_tbhold_period_days_tab2, l_tbold_salvage_value_tab2,
16575 l_tbnew_residual_value_tab2, l_tbold_residual_value_tab2, l_tbunits_retired_tab2,
16576 l_tbcost_retired_tab2, l_tbsale_proceeds_tab2, l_tbremoval_cost_tab2,
16577 l_tbdnz_asset_id_tab2, l_tbdate_due_tab2, l_tbrep_asset_id_tab2,
16578 l_tblke_asset_id_tab2, l_tbmatch_amount_tab2, l_tbsplit_into_singles_fl_tab2,
16579 l_tbsplit_into_units_tab2, l_tbcurrency_code_tab2, l_tbcurrency_convers_type_tab2,
16580 l_tbcurrency_convers_rate_tab2, l_tbcurrency_convers_date_tab2, l_tbasset_key_id_tab2,
16581 l_tbfa_trx_date_tab2
16582 limit G_BULK_SIZE;
16583 EXIT WHEN l_tbid_tab2.COUNT = 0;
16584 FOR i IN l_tbid_tab2.first..l_tbid_tab2.last
16585 LOOP
16586
16587 l_tbid_tab3(l_txl_assets_b_counter) := l_tbid_tab2(i);
16588 l_tbid_tab(l_txl_assets_b_counter) := l_tbid_tab2(i);
16589 -- Change id
16590 l_tbid_tab(l_txl_assets_b_counter) := okc_p_util.raw_to_number(sys_guid());
16591 l_txl_id_mapping_tab(l_txl_assets_b_counter).old_id := l_tbid_tab3(l_txl_assets_b_counter);
16592 l_txl_id_mapping_tab(l_txl_assets_b_counter).new_id := l_tbid_tab(l_txl_assets_b_counter);
16593
16594 l_tbobject_version_number_tab(l_txl_assets_b_counter) := l_tbobject_version_number_tab2(i);
16595 l_tbtas_id_tab(l_txl_assets_b_counter) := l_tbtas_id_tab2(i);
16596 --Change tas_id
16597 l_new_tas_id := find_trx_mapping_id( l_tbtas_id_tab(l_txl_assets_b_counter));
16598 IF (l_new_tas_id = -1) THEN
16599 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16600 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));
16601 END IF;
16602 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
16603 END IF;
16604 l_tbtas_id_tab(l_txl_assets_b_counter) := l_new_tas_id;
16605
16606 l_tbilo_id_tab(l_txl_assets_b_counter) := l_tbilo_id_tab2(i);
16607 l_tbilo_id_old_tab(l_txl_assets_b_counter) := l_tbilo_id_old_tab2(i);
16608 l_tbiay_id_tab(l_txl_assets_b_counter) := l_tbiay_id_tab2(i);
16609 l_tbiay_id_new_tab(l_txl_assets_b_counter) := l_tbiay_id_new_tab2(i);
16610 l_tbkle_id_tab(l_txl_assets_b_counter) := l_tbkle_id_tab2(i);
16611 -- Change kle_id
16612 IF (l_tbkle_id_tab(l_txl_assets_b_counter) IS NOT NULL) THEN
16613 l_new_kle_id := find_mapping_id(l_tbkle_id_tab(l_txl_assets_b_counter));
16614 IF (l_new_kle_id = -1) THEN
16615 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16616 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));
16617 END IF;
16618 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
16619 END IF;
16620 l_tbkle_id_tab(l_txl_assets_b_counter) := l_new_kle_id;
16621 END IF;
16622
16623 -- Store Tal id to kle_id mapping
16624 l_dbid_mapping_tab(l_tal_to_kle_counter).tal_id := l_tbid_tab(l_txl_assets_b_counter);
16625 l_dbid_mapping_tab(l_tal_to_kle_counter).kle_id := l_tbkle_id_tab(l_txl_assets_b_counter);
16626 l_tal_to_kle_counter := l_tal_to_kle_counter + 1;
16627
16628 l_tbdnz_khr_id_tab(l_txl_assets_b_counter) := l_tbdnz_khr_id_tab2(i);
16629 -- Change dnz_chr_id
16630 IF (l_tbdnz_khr_id_tab(l_txl_assets_b_counter) IS NOT NULL) THEN
16631 l_tbdnz_khr_id_tab(l_txl_assets_b_counter) := p_new_id;
16632 END IF;
16633
16634 l_tbline_number_tab(l_txl_assets_b_counter) := l_tbline_number_tab2(i);
16635 l_tborg_id_tab(l_txl_assets_b_counter) := l_tborg_id_tab2(i);
16636 l_tbtal_type_tab(l_txl_assets_b_counter) := l_tbtal_type_tab2(i);
16637 l_tbasset_number_tab(l_txl_assets_b_counter) := l_tbasset_number_tab2(i);
16638 -- Change asset_number
16639 l_new_asset_number := find_aid_mapping_id(l_tbasset_number_tab(l_txl_assets_b_counter));
16640 IF (l_new_asset_number <> '-1') THEN
16641 l_tbasset_number_tab(l_txl_assets_b_counter) := l_new_asset_number;
16642 END IF;
16643
16644 l_tbfa_location_id_tab(l_txl_assets_b_counter) := l_tbfa_location_id_tab2(i);
16645 l_tboriginal_cost_tab(l_txl_assets_b_counter) := l_tboriginal_cost_tab2(i);
16646 l_tbcurrent_units_tab(l_txl_assets_b_counter) := l_tbcurrent_units_tab2(i);
16647 l_tbmanufacturer_name_tab(l_txl_assets_b_counter) := l_tbmanufacturer_name_tab2(i);
16648 l_tbyear_manufactured_tab(l_txl_assets_b_counter) := l_tbyear_manufactured_tab2(i);
16649 l_tbsupplier_id_tab(l_txl_assets_b_counter) := l_tbsupplier_id_tab2(i);
16650 l_tbused_asset_yn_tab(l_txl_assets_b_counter) := l_tbused_asset_yn_tab2(i);
16651 l_tbtag_number_tab(l_txl_assets_b_counter) := l_tbtag_number_tab2(i);
16652 l_tbmodel_number_tab(l_txl_assets_b_counter) := l_tbmodel_number_tab2(i);
16653 l_tbcorporate_book_tab(l_txl_assets_b_counter) := l_tbcorporate_book_tab2(i);
16654 l_tbdate_purchased_tab(l_txl_assets_b_counter) := l_tbdate_purchased_tab2(i);
16655 l_tbdate_delivery_tab(l_txl_assets_b_counter) := l_tbdate_delivery_tab2(i);
16656 l_tbin_service_date_tab(l_txl_assets_b_counter) := l_tbin_service_date_tab2(i);
16657 l_tblife_in_months_tab(l_txl_assets_b_counter) := l_tblife_in_months_tab2(i);
16658 l_tbdepreciation_id_tab(l_txl_assets_b_counter) := l_tbdepreciation_id_tab2(i);
16659 l_tbdepreciation_cost_tab(l_txl_assets_b_counter) := l_tbdepreciation_cost_tab2(i);
16660 l_tbdeprn_method_tab(l_txl_assets_b_counter) := l_tbdeprn_method_tab2(i);
16661 l_tbdeprn_rate_tab(l_txl_assets_b_counter) := l_tbdeprn_rate_tab2(i);
16662 l_tbsalvage_value_tab(l_txl_assets_b_counter) := l_tbsalvage_value_tab2(i);
16663 l_tbpercent_salvage_value_tab(l_txl_assets_b_counter) := l_tbpercent_salvage_value_tab2(i);
16664 l_tbattribute_category_tab(l_txl_assets_b_counter) := l_tbattribute_category_tab2(i);
16665 l_tbattribute1_tab(l_txl_assets_b_counter) := l_tbattribute1_tab2(i);
16666 l_tbattribute2_tab(l_txl_assets_b_counter) := l_tbattribute2_tab2(i);
16667 l_tbattribute3_tab(l_txl_assets_b_counter) := l_tbattribute3_tab2(i);
16668 l_tbattribute4_tab(l_txl_assets_b_counter) := l_tbattribute4_tab2(i);
16669 l_tbattribute5_tab(l_txl_assets_b_counter) := l_tbattribute5_tab2(i);
16670 l_tbattribute6_tab(l_txl_assets_b_counter) := l_tbattribute6_tab2(i);
16671 l_tbattribute7_tab(l_txl_assets_b_counter) := l_tbattribute7_tab2(i);
16672 l_tbattribute8_tab(l_txl_assets_b_counter) := l_tbattribute8_tab2(i);
16673 l_tbattribute9_tab(l_txl_assets_b_counter) := l_tbattribute9_tab2(i);
16674 l_tbattribute10_tab(l_txl_assets_b_counter) := l_tbattribute10_tab2(i);
16675 l_tbattribute11_tab(l_txl_assets_b_counter) := l_tbattribute11_tab2(i);
16676 l_tbattribute12_tab(l_txl_assets_b_counter) := l_tbattribute12_tab2(i);
16677 l_tbattribute13_tab(l_txl_assets_b_counter) := l_tbattribute13_tab2(i);
16678 l_tbattribute14_tab(l_txl_assets_b_counter) := l_tbattribute14_tab2(i);
16679 l_tbattribute15_tab(l_txl_assets_b_counter) := l_tbattribute15_tab2(i);
16680 l_tbcreated_by_tab(l_txl_assets_b_counter) := l_tbcreated_by_tab2(i);
16681 l_tbcreation_date_tab(l_txl_assets_b_counter) := l_tbcreation_date_tab2(i);
16682 l_tblast_updated_by_tab(l_txl_assets_b_counter) := l_tblast_updated_by_tab2(i);
16683 l_tblast_update_date_tab(l_txl_assets_b_counter) := l_tblast_update_date_tab2(i);
16684 l_tblast_update_login_tab(l_txl_assets_b_counter) := l_tblast_update_login_tab2(i);
16685 l_tbdepreciate_yn_tab(l_txl_assets_b_counter) := l_tbdepreciate_yn_tab2(i);
16686 l_tbhold_period_days_tab(l_txl_assets_b_counter) := l_tbhold_period_days_tab2(i);
16687 l_tbold_salvage_value_tab(l_txl_assets_b_counter) := l_tbold_salvage_value_tab2(i);
16688 l_tbnew_residual_value_tab(l_txl_assets_b_counter) := l_tbnew_residual_value_tab2(i);
16689 l_tbold_residual_value_tab(l_txl_assets_b_counter) := l_tbold_residual_value_tab2(i);
16690 l_tbunits_retired_tab(l_txl_assets_b_counter) := l_tbunits_retired_tab2(i);
16691 l_tbcost_retired_tab(l_txl_assets_b_counter) := l_tbcost_retired_tab2(i);
16692 l_tbsale_proceeds_tab(l_txl_assets_b_counter) := l_tbsale_proceeds_tab2(i);
16693 l_tbremoval_cost_tab(l_txl_assets_b_counter) := l_tbremoval_cost_tab2(i);
16694 l_tbdnz_asset_id_tab(l_txl_assets_b_counter) := l_tbdnz_asset_id_tab2(i);
16695 l_tbdate_due_tab(l_txl_assets_b_counter) := l_tbdate_due_tab2(i);
16696 l_tbrep_asset_id_tab(l_txl_assets_b_counter) := l_tbrep_asset_id_tab2(i);
16697 l_tblke_asset_id_tab(l_txl_assets_b_counter) := l_tblke_asset_id_tab2(i);
16698 l_tbmatch_amount_tab(l_txl_assets_b_counter) := l_tbmatch_amount_tab2(i);
16699 l_tbsplit_into_singles_fl_tab(l_txl_assets_b_counter) := l_tbsplit_into_singles_fl_tab2(i);
16700 l_tbsplit_into_units_tab(l_txl_assets_b_counter) := l_tbsplit_into_units_tab2(i);
16701 /*l_tbcurrency_code_tab(l_txl_assets_b_counter) := l_tbcurrency_code_tab2(i);
16702 l_tbcurrency_convers_type_tab(l_txl_assets_b_counter) := l_tbcurrency_convers_type_tab2(i);
16703 l_tbcurrency_convers_rate_tab(l_txl_assets_b_counter) := l_tbcurrency_convers_rate_tab2(i);
16704 l_tbcurrency_convers_date_tab(l_txl_assets_b_counter) := l_tbcurrency_convers_date_tab2(i);*/
16705 -- AKP: Default the following four from the contract header
16706 l_tbcurrency_code_tab(l_txl_assets_b_counter) := l_contract_currency;
16707 l_tbcurrency_convers_type_tab(l_txl_assets_b_counter) := l_conversion_type;
16708 l_tbcurrency_convers_rate_tab(l_txl_assets_b_counter) := l_conversion_rate;
16709 l_tbcurrency_convers_date_tab(l_txl_assets_b_counter) := l_conversion_rate_date;
16710 l_tbasset_key_id_tab(l_txl_assets_b_counter) := l_tbasset_key_id_tab2(i);
16711 l_tbfa_trx_date_tab(l_txl_assets_b_counter) := l_tbfa_trx_date_tab2(i);
16712
16713 l_txl_assets_b_counter := l_txl_assets_b_counter + 1;
16714
16715 END LOOP;
16716 END LOOP;
16717 CLOSE c18;
16718 sort_dbid_mapping_tab;
16719
16720 IF (l_txl_assets_b_counter > 1) THEN
16721 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16722 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);
16723 END IF;
16724 forall i IN l_tbid_tab.first..l_tbid_tab.last
16725 INSERT INTO okl_txl_assets_b (
16726 id, object_version_number, tas_id,
16727 ilo_id, ilo_id_old, iay_id,
16728 iay_id_new, kle_id, dnz_khr_id,
16729 line_number, org_id, tal_type,
16730 asset_number, fa_location_id, original_cost,
16731 current_units, manufacturer_name, year_manufactured,
16732 supplier_id, used_asset_yn, tag_number,
16733 model_number, corporate_book, date_purchased,
16734 date_delivery, in_service_date, life_in_months,
16735 depreciation_id, depreciation_cost, deprn_method,
16736 deprn_rate, salvage_value, percent_salvage_value,
16737 attribute_category, attribute1, attribute2,
16738 attribute3, attribute4, attribute5,
16739 attribute6, attribute7, attribute8,
16740 attribute9, attribute10, attribute11,
16741 attribute12, attribute13, attribute14,
16742 attribute15, created_by, creation_date,
16743 last_updated_by, last_update_date, last_update_login,
16744 depreciate_yn, hold_period_days, old_salvage_value,
16745 new_residual_value, old_residual_value, units_retired,
16746 cost_retired, sale_proceeds, removal_cost,
16747 dnz_asset_id, date_due, rep_asset_id,
16748 lke_asset_id, match_amount, split_into_singles_flag,
16749 split_into_units, currency_code, currency_conversion_type,
16750 currency_conversion_rate, currency_conversion_date, asset_key_id,
16751 fa_trx_date
16752 ) VALUES (
16753 l_tbid_tab(i), 1, l_tbtas_id_tab(i),
16754 l_tbilo_id_tab(i), l_tbilo_id_old_tab(i), l_tbiay_id_tab(i),
16755 l_tbiay_id_new_tab(i), l_tbkle_id_tab(i), l_tbdnz_khr_id_tab(i),
16756 l_tbline_number_tab(i), l_tborg_id_tab(i), p_trans_type,
16757 l_tbasset_number_tab(i), l_tbfa_location_id_tab(i), l_tboriginal_cost_tab(i),
16758 l_tbcurrent_units_tab(i), l_tbmanufacturer_name_tab(i), l_tbyear_manufactured_tab(i),
16759 l_tbsupplier_id_tab(i), l_tbused_asset_yn_tab(i), l_tbtag_number_tab(i),
16760 l_tbmodel_number_tab(i), l_tbcorporate_book_tab(i), l_tbdate_purchased_tab(i),
16761 l_tbdate_delivery_tab(i), l_tbin_service_date_tab(i), l_tblife_in_months_tab(i),
16762 l_tbdepreciation_id_tab(i), l_tbdepreciation_cost_tab(i), l_tbdeprn_method_tab(i),
16763 l_tbdeprn_rate_tab(i), l_tbsalvage_value_tab(i), l_tbpercent_salvage_value_tab(i),
16764 l_tbattribute_category_tab(i), l_tbattribute1_tab(i), l_tbattribute2_tab(i),
16765 l_tbattribute3_tab(i), l_tbattribute4_tab(i), l_tbattribute5_tab(i),
16766 l_tbattribute6_tab(i), l_tbattribute7_tab(i), l_tbattribute8_tab(i),
16767 l_tbattribute9_tab(i), l_tbattribute10_tab(i), l_tbattribute11_tab(i),
16768 l_tbattribute12_tab(i), l_tbattribute13_tab(i), l_tbattribute14_tab(i),
16769 l_tbattribute15_tab(i), l_created_by, SYSDATE,
16770 l_last_updated_by, SYSDATE, l_last_update_login,
16771 l_tbdepreciate_yn_tab(i), l_tbhold_period_days_tab(i), l_tbold_salvage_value_tab(i),
16772 l_tbnew_residual_value_tab(i), l_tbold_residual_value_tab(i), l_tbunits_retired_tab(i),
16773 l_tbcost_retired_tab(i), l_tbsale_proceeds_tab(i), l_tbremoval_cost_tab(i),
16774 l_tbdnz_asset_id_tab(i), l_tbdate_due_tab(i), l_tbrep_asset_id_tab(i),
16775 l_tblke_asset_id_tab(i), l_tbmatch_amount_tab(i), l_tbsplit_into_singles_fl_tab(i),
16776 l_tbsplit_into_units_tab(i), l_tbcurrency_code_tab(i), l_tbcurrency_convers_type_tab(i),
16777 l_tbcurrency_convers_rate_tab(i), l_tbcurrency_convers_date_tab(i), l_tbasset_key_id_tab(i),
16778 NULL
16779 );
16780
16781 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16782 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_assets_b done...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
16783 END IF;
16784 sort_txl_id_mapping_tab;
16785 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16786 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_assets_tl...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
16787 END IF;
16788 FOR i IN l_tbid_tab.first..l_tbid_tab.last
16789 LOOP
16790 IF (i = l_tbid_tab.last) THEN
16791 insert_okl_txl_assets_tl(l_tbid_tab3(i), l_tbid_tab(i), 'Y');
16792 ELSE
16793 insert_okl_txl_assets_tl(l_tbid_tab3(i), l_tbid_tab(i), 'N');
16794 END IF;
16795 END LOOP;
16796
16797 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16798 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txd_assets_b ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
16799 END IF;
16800 l_message := 'OKL_NEW_COPY_ASD_ERROR';
16801 insert_okl_txd_assets_b(p_chr_id, l_copied_id);
16802 END IF;
16803
16804 EXCEPTION WHEN OTHERS THEN
16805
16806 x_return_status := OKL_API.G_RET_STS_ERROR;
16807 /*OKL_API.set_message(p_app_name => 'OKL',
16808 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
16809 p_token1 => 'ASSET_NUMBER',
16810 p_token1_value => 'insert_okl_txl_assets_b');*/
16811 /* DEBUG */
16812 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16813 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
16814 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 || ' ...');
16815 END IF;
16816 IF (l_tbid_tab.COUNT > 0) THEN
16817 FOR i IN l_tbid_tab.first..l_tbid_tab.last
16818 LOOP
16819 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
16820 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbid_tab('||i||')=' || l_tbid_tab(i));
16821 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbtas_id_tab('||i||')=' || l_tbtas_id_tab(i));
16822 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbilo_id_tab('||i||')=' || l_tbilo_id_tab(i));
16823 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbilo_id_old_tab('||i||')=' || l_tbilo_id_old_tab(i));
16824 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbiay_id_tab('||i||')=' || l_tbiay_id_tab(i));
16825 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbiay_id_new_tab('||i||')=' || l_tbiay_id_new_tab(i));
16826 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbkle_id_tab('||i||')=' || l_tbkle_id_tab(i));
16827 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdnz_khr_id_tab('||i||')=' || l_tbdnz_khr_id_tab(i));
16828 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbline_number_tab('||i||')=' || l_tbline_number_tab(i));
16829 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tborg_id_tab('||i||')=' || l_tborg_id_tab(i));
16830 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbasset_number_tab('||i||')=' || l_tbasset_number_tab(i));
16831 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbfa_location_id_tab('||i||')=' || l_tbfa_location_id_tab(i));
16832 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tboriginal_cost_tab('||i||')=' || l_tboriginal_cost_tab(i));
16833 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrent_units_tab('||i||')=' || l_tbcurrent_units_tab(i));
16834 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbmanufacturer_name_tab('||i||')=' || l_tbmanufacturer_name_tab(i));
16835 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbyear_manufactured_tab('||i||')=' || l_tbyear_manufactured_tab(i));
16836 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsupplier_id_tab('||i||')=' || l_tbsupplier_id_tab(i));
16837 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbused_asset_yn_tab('||i||')=' || l_tbused_asset_yn_tab(i));
16838 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbtag_number_tab('||i||')=' || l_tbtag_number_tab(i));
16839 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbmodel_number_tab('||i||')=' || l_tbmodel_number_tab(i));
16840 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcorporate_book_tab('||i||')=' || l_tbcorporate_book_tab(i));
16841 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdate_purchased_tab('||i||')=' || l_tbdate_purchased_tab(i));
16842 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdate_delivery_tab('||i||')=' || l_tbdate_delivery_tab(i));
16843 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbin_service_date_tab('||i||')=' || l_tbin_service_date_tab(i));
16844 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tblife_in_months_tab('||i||')=' || l_tblife_in_months_tab(i));
16845 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdepreciation_id_tab('||i||')=' || l_tbdepreciation_id_tab(i));
16846 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdepreciation_cost_tab('||i||')=' || l_tbdepreciation_cost_tab(i));
16847 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdeprn_method_tab('||i||')=' || l_tbdeprn_method_tab(i));
16848 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdeprn_rate_tab('||i||')=' || l_tbdeprn_rate_tab(i));
16849 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsalvage_value_tab('||i||')=' || l_tbsalvage_value_tab(i));
16850 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbpercent_salvage_value_tab('||i||')=' || l_tbpercent_salvage_value_tab(i));
16851 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute_category_tab('||i||')=' || l_tbattribute_category_tab(i));
16852 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute1_tab('||i||')=' || l_tbattribute1_tab(i));
16853 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute2_tab('||i||')=' || l_tbattribute2_tab(i));
16854 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute3_tab('||i||')=' || l_tbattribute3_tab(i));
16855 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute4_tab('||i||')=' || l_tbattribute4_tab(i));
16856 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute5_tab('||i||')=' || l_tbattribute5_tab(i));
16857 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute6_tab('||i||')=' || l_tbattribute6_tab(i));
16858 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute7_tab('||i||')=' || l_tbattribute7_tab(i));
16859 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute8_tab('||i||')=' || l_tbattribute8_tab(i));
16860 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute9_tab('||i||')=' || l_tbattribute9_tab(i));
16861 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute10_tab('||i||')=' || l_tbattribute10_tab(i));
16862 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute11_tab('||i||')=' || l_tbattribute11_tab(i));
16863 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute12_tab('||i||')=' || l_tbattribute12_tab(i));
16864 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute13_tab('||i||')=' || l_tbattribute13_tab(i));
16865 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute14_tab('||i||')=' || l_tbattribute14_tab(i));
16866 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbattribute15_tab('||i||')=' || l_tbattribute15_tab(i));
16867 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdepreciate_yn_tab('||i||')=' || l_tbdepreciate_yn_tab(i));
16868 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbhold_period_days_tab('||i||')=' || l_tbhold_period_days_tab(i));
16869 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbold_salvage_value_tab('||i||')=' || l_tbold_salvage_value_tab(i));
16870 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbnew_residual_value_tab('||i||')=' || l_tbnew_residual_value_tab(i));
16871 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbold_residual_value_tab('||i||')=' || l_tbold_residual_value_tab(i));
16872 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbunits_retired_tab('||i||')=' || l_tbunits_retired_tab(i));
16873 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcost_retired_tab('||i||')=' || l_tbcost_retired_tab(i));
16874 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsale_proceeds_tab('||i||')=' || l_tbsale_proceeds_tab(i));
16875 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbremoval_cost_tab('||i||')=' || l_tbremoval_cost_tab(i));
16876 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdnz_asset_id_tab('||i||')=' || l_tbdnz_asset_id_tab(i));
16877 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbdate_due_tab('||i||')=' || l_tbdate_due_tab(i));
16878 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbrep_asset_id_tab('||i||')=' || l_tbrep_asset_id_tab(i));
16879 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tblke_asset_id_tab('||i||')=' || l_tblke_asset_id_tab(i));
16880 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbmatch_amount_tab('||i||')=' || l_tbmatch_amount_tab(i));
16881 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));
16882 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbsplit_into_units_tab('||i||')=' || l_tbsplit_into_units_tab(i));
16883 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrency_code_tab('||i||')=' || l_tbcurrency_code_tab(i));
16884 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrency_convers_type_tab('||i||')=' || l_tbcurrency_convers_type_tab(i));
16885 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrency_convers_rate_tab('||i||')=' || l_tbcurrency_convers_rate_tab(i));
16886 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbcurrency_convers_date_tab('||i||')=' || l_tbcurrency_convers_date_tab(i));
16887 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tbasset_key_id_tab('||i||')=' || l_tbasset_key_id_tab(i));
16888 END IF;
16889 END LOOP;
16890 END IF;
16891
16892 RAISE OKC_API.G_EXCEPTION_ERROR;
16893
16894 END; /* insert_okl_txl_assets_b */
16895
16896 PROCEDURE insert_okl_trx_assets(p_old_id IN okc_k_headers_b.id%TYPE,
16897 p_new_id IN okc_k_headers_b.id%TYPE) IS
16898 CURSOR c17(p_id NUMBER) IS
16899 SELECT
16900 id, ica_id, tas_type,
16901 object_version_number, attribute_category, attribute1,
16902 attribute2, attribute3, attribute4,
16903 attribute5, attribute6, attribute7,
16904 attribute8, attribute9, attribute10,
16905 attribute11, attribute12, attribute13,
16906 attribute14, attribute15, created_by,
16907 creation_date, last_updated_by, last_update_date,
16908 last_update_login, tsu_code, try_id,
16909 date_trans_occurred, trans_number, comments,
16910 req_asset_id, total_match_amount, org_id,legal_entity_id
16911 FROM okl_trx_assets
16912 WHERE id IN
16913 (SELECT a.tas_id FROM okl_txl_assets_b a,
16914 okc_k_lines_b b,
16915 okc_k_items c
16916 WHERE a.dnz_khr_id = p_id
16917 AND b.dnz_chr_id = p_id
16918 AND c.dnz_chr_id = p_id
16919 AND b.lse_id = 42
16920 AND a.kle_id = b.id
16921 AND a.kle_id = c.cle_id
16922 AND c.object1_id1 IS NULL
16923 AND c.object1_id2 IS NULL);
16924
16925 l_tid_tab2 l_tid_type;
16926 l_tica_id_tab2 l_tica_id_type;
16927 l_ttas_type_tab2 l_ttas_type_type;
16928 l_tobject_version_number_tab2 l_tobject_version_number_type;
16929 l_tattribute_category_tab2 l_tattribute_category_type;
16930 l_tattribute1_tab2 l_tattribute1_type;
16931 l_tattribute2_tab2 l_tattribute2_type;
16932 l_tattribute3_tab2 l_tattribute3_type;
16933 l_tattribute4_tab2 l_tattribute4_type;
16934 l_tattribute5_tab2 l_tattribute5_type;
16935 l_tattribute6_tab2 l_tattribute6_type;
16936 l_tattribute7_tab2 l_tattribute7_type;
16937 l_tattribute8_tab2 l_tattribute8_type;
16938 l_tattribute9_tab2 l_tattribute9_type;
16939 l_tattribute10_tab2 l_tattribute10_type;
16940 l_tattribute11_tab2 l_tattribute11_type;
16941 l_tattribute12_tab2 l_tattribute12_type;
16942 l_tattribute13_tab2 l_tattribute13_type;
16943 l_tattribute14_tab2 l_tattribute14_type;
16944 l_tattribute15_tab2 l_tattribute15_type;
16945 l_tcreated_by_tab2 l_tcreated_by_type;
16946 l_tcreation_date_tab2 l_tcreation_date_type;
16947 l_tlast_updated_by_tab2 l_tlast_updated_by_type;
16948 l_tlast_update_date_tab2 l_tlast_update_date_type;
16949 l_tlast_update_login_tab2 l_tlast_update_login_type;
16950 l_ttsu_code_tab2 l_ttsu_code_type;
16951 l_ttry_id_tab2 l_ttry_id_type;
16952 l_tdate_trans_occurred_tab2 l_tdate_trans_occurred_type;
16953 l_ttrans_number_tab2 l_ttrans_number_type;
16954 l_tcomments_tab2 l_tcomments_type;
16955 l_treq_asset_id_tab2 l_treq_asset_id_type;
16956 l_ttotal_match_amount_tab2 l_ttotal_match_amount_type;
16957 l_torg_id_tab2 l_torg_id_type;
16958 l_tlegal_entity_id_tab2 l_tlegal_entity_id_type;
16959
16960 BEGIN
16961 IF (G_DEBUG_ENABLED = 'Y') THEN
16962 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
16963 END IF;
16964 OPEN c17(p_old_id);
16965 LOOP
16966 FETCH c17 bulk collect INTO
16967 l_tid_tab2, l_tica_id_tab2, l_ttas_type_tab2,
16968 l_tobject_version_number_tab2, l_tattribute_category_tab2, l_tattribute1_tab2,
16969 l_tattribute2_tab2, l_tattribute3_tab2, l_tattribute4_tab2,
16970 l_tattribute5_tab2, l_tattribute6_tab2, l_tattribute7_tab2,
16971 l_tattribute8_tab2, l_tattribute9_tab2, l_tattribute10_tab2,
16972 l_tattribute11_tab2, l_tattribute12_tab2, l_tattribute13_tab2,
16973 l_tattribute14_tab2, l_tattribute15_tab2, l_tcreated_by_tab2,
16974 l_tcreation_date_tab2, l_tlast_updated_by_tab2, l_tlast_update_date_tab2,
16975 l_tlast_update_login_tab2, l_ttsu_code_tab2, l_ttry_id_tab2,
16976 l_tdate_trans_occurred_tab2, l_ttrans_number_tab2, l_tcomments_tab2,
16977 l_treq_asset_id_tab2, l_ttotal_match_amount_tab2, l_torg_id_tab2,l_tlegal_entity_id_tab2
16978 limit G_BULK_SIZE;
16979 EXIT WHEN l_tid_tab2.COUNT = 0;
16980 FOR i IN l_tid_tab2.first..l_tid_tab2.last
16981 LOOP
16982
16983 l_tid_tab(l_trx_assets_counter) := l_tid_tab2(i);
16984 l_trx_id_mapping_tab(l_trx_assets_counter).old_id := l_tid_tab2(i);
16985
16986 --Change id
16987 l_tid_tab(l_trx_assets_counter) := okc_p_util.raw_to_number(sys_guid());
16988 l_trx_id_mapping_tab(l_trx_assets_counter).new_id := l_tid_tab(l_trx_assets_counter);
16989
16990 l_tica_id_tab(l_trx_assets_counter) := l_tica_id_tab2(i);
16991 l_ttas_type_tab(l_trx_assets_counter) := l_ttas_type_tab2(i);
16992 l_tobject_version_number_tab(l_trx_assets_counter) := l_tobject_version_number_tab2(i);
16993 l_tattribute_category_tab(l_trx_assets_counter) := l_tattribute_category_tab2(i);
16994 l_tattribute1_tab(l_trx_assets_counter) := l_tattribute1_tab2(i);
16995 l_tattribute2_tab(l_trx_assets_counter) := l_tattribute2_tab2(i);
16996 l_tattribute3_tab(l_trx_assets_counter) := l_tattribute3_tab2(i);
16997 l_tattribute4_tab(l_trx_assets_counter) := l_tattribute4_tab2(i);
16998 l_tattribute5_tab(l_trx_assets_counter) := l_tattribute5_tab2(i);
16999 l_tattribute6_tab(l_trx_assets_counter) := l_tattribute6_tab2(i);
17000 l_tattribute7_tab(l_trx_assets_counter) := l_tattribute7_tab2(i);
17001 l_tattribute8_tab(l_trx_assets_counter) := l_tattribute8_tab2(i);
17002 l_tattribute9_tab(l_trx_assets_counter) := l_tattribute9_tab2(i);
17003 l_tattribute10_tab(l_trx_assets_counter) := l_tattribute10_tab2(i);
17004 l_tattribute11_tab(l_trx_assets_counter) := l_tattribute11_tab2(i);
17005 l_tattribute12_tab(l_trx_assets_counter) := l_tattribute12_tab2(i);
17006 l_tattribute13_tab(l_trx_assets_counter) := l_tattribute13_tab2(i);
17007 l_tattribute14_tab(l_trx_assets_counter) := l_tattribute14_tab2(i);
17008 l_tattribute15_tab(l_trx_assets_counter) := l_tattribute15_tab2(i);
17009 l_tcreated_by_tab(l_trx_assets_counter) := l_tcreated_by_tab2(i);
17010 l_tcreation_date_tab(l_trx_assets_counter) := l_tcreation_date_tab2(i);
17011 l_tlast_updated_by_tab(l_trx_assets_counter) := l_tlast_updated_by_tab2(i);
17012 l_tlast_update_date_tab(l_trx_assets_counter) := l_tlast_update_date_tab2(i);
17013 l_tlast_update_login_tab(l_trx_assets_counter) := l_tlast_update_login_tab2(i);
17014 l_ttsu_code_tab(l_trx_assets_counter) := l_ttsu_code_tab2(i);
17015 l_ttry_id_tab(l_trx_assets_counter) := l_ttry_id_tab2(i);
17016 l_tdate_trans_occurred_tab(l_trx_assets_counter) := l_tdate_trans_occurred_tab2(i);
17017 l_ttrans_number_tab(l_trx_assets_counter) := l_ttrans_number_tab2(i);
17018 l_tcomments_tab(l_trx_assets_counter) := l_tcomments_tab2(i);
17019 l_treq_asset_id_tab(l_trx_assets_counter) := l_treq_asset_id_tab2(i);
17020 l_ttotal_match_amount_tab(l_trx_assets_counter) := l_ttotal_match_amount_tab2(i);
17021 l_torg_id_tab(l_trx_assets_counter) := l_torg_id_tab2(i);
17022 l_tlegal_entity_id_tab(l_trx_assets_counter) := l_tlegal_entity_id_tab2(i);
17023
17024 l_trx_assets_counter := l_trx_assets_counter + 1;
17025 END LOOP;
17026 END LOOP;
17027 CLOSE c17;
17028
17029 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17030 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);
17031 END IF;
17032 IF (l_trx_assets_counter > 1) THEN
17033 forall i IN l_tid_tab.first..l_tid_tab.last
17034 INSERT INTO okl_trx_assets (
17035 id, ica_id, tas_type,
17036 object_version_number, attribute_category, attribute1,
17037 attribute2, attribute3, attribute4,
17038 attribute5, attribute6, attribute7,
17039 attribute8, attribute9, attribute10,
17040 attribute11, attribute12, attribute13,
17041 attribute14, attribute15, created_by,
17042 creation_date, last_updated_by, last_update_date,
17043 last_update_login, tsu_code, try_id,
17044 date_trans_occurred, trans_number, comments,
17045 req_asset_id, total_match_amount, org_id,legal_entity_id
17046 ,transaction_date
17047 ) VALUES (
17048 l_tid_tab(i), l_tica_id_tab(i), p_trans_type,
17049 1, l_tattribute_category_tab(i), l_tattribute1_tab(i),
17050 l_tattribute2_tab(i), l_tattribute3_tab(i), l_tattribute4_tab(i),
17051 l_tattribute5_tab(i), l_tattribute6_tab(i), l_tattribute7_tab(i),
17052 l_tattribute8_tab(i), l_tattribute9_tab(i), l_tattribute10_tab(i),
17053 l_tattribute11_tab(i), l_tattribute12_tab(i), l_tattribute13_tab(i),
17054 l_tattribute14_tab(i), l_tattribute15_tab(i), l_created_by,
17055 SYSDATE, l_last_updated_by, SYSDATE,
17056 l_last_update_login, 'ENTERED', l_ttry_id_tab(i),
17057 SYSDATE, okl_trn_seq.NEXTVAL, l_tcomments_tab(i),
17058 l_treq_asset_id_tab(i), l_ttotal_match_amount_tab(i), l_torg_id_tab(i),l_tlegal_entity_id_tab(i)
17059 ,SYSDATE
17060 );
17061
17062 sort_trx_id_mapping_tab;
17063
17064 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17065 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_assets_b...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
17066 END IF;
17067 l_message := 'OKL_NEW_COPY_TAL_ERROR';
17068 insert_okl_txl_assets_b(p_chr_id, l_copied_id);
17069
17070 END IF;
17071 EXCEPTION WHEN OTHERS THEN
17072
17073 x_return_status := OKL_API.G_RET_STS_ERROR;
17074 /*OKL_API.set_message(p_app_name => 'OKL',
17075 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
17076 p_token1 => 'ASSET_NUMBER',
17077 p_token1_value => 'insert_okl_trx_assets');*/
17078 /* DEBUG */
17079 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17080 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
17081 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing insert_okl_trx_assets:l_tid_tab.count=' || l_tid_tab.COUNT || ' ...');
17082 END IF;
17083 IF (l_tid_tab.COUNT > 0) THEN
17084 FOR i IN l_tid_tab.first..l_tid_tab.last
17085 LOOP
17086 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17087 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tid_tab('||i||')=' || l_tid_tab(i));
17088 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tica_id_tab('||i||')=' || l_tica_id_tab(i));
17089 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute_category_tab('||i||')=' || l_tattribute_category_tab(i));
17090 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute1_tab('||i||')=' || l_tattribute1_tab(i));
17091 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute2_tab('||i||')=' || l_tattribute2_tab(i));
17092 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute3_tab('||i||')=' || l_tattribute3_tab(i));
17093 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute4_tab('||i||')=' || l_tattribute4_tab(i));
17094 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute5_tab('||i||')=' || l_tattribute5_tab(i));
17095 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute6_tab('||i||')=' || l_tattribute6_tab(i));
17096 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute7_tab('||i||')=' || l_tattribute7_tab(i));
17097 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute8_tab('||i||')=' || l_tattribute8_tab(i));
17098 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute9_tab('||i||')=' || l_tattribute9_tab(i));
17099 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute10_tab('||i||')=' || l_tattribute10_tab(i));
17100 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute11_tab('||i||')=' || l_tattribute11_tab(i));
17101 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute12_tab('||i||')=' || l_tattribute12_tab(i));
17102 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute13_tab('||i||')=' || l_tattribute13_tab(i));
17103 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute14_tab('||i||')=' || l_tattribute14_tab(i));
17104 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tattribute15_tab('||i||')=' || l_tattribute15_tab(i));
17105 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ttry_id_tab('||i||')=' || l_ttry_id_tab(i));
17106 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tcomments_tab('||i||')=' || l_tcomments_tab(i));
17107 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_treq_asset_id_tab('||i||')=' || l_treq_asset_id_tab(i));
17108 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ttotal_match_amount_tab('||i||')=' || l_ttotal_match_amount_tab(i));
17109 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_torg_id_tab('||i||')=' || l_torg_id_tab(i));
17110 END IF;
17111 END LOOP;
17112 END IF;
17113
17114 RAISE OKC_API.G_EXCEPTION_ERROR;
17115
17116 END; /* insert_okl_trx_assets */
17117
17118 PROCEDURE insert_okl_trx_assets_2(p_old_id IN okc_k_headers_b.id%TYPE,
17119 p_new_id IN okc_k_headers_b.id%TYPE) IS
17120 CURSOR c17_2(p_id NUMBER) IS
17121 SELECT
17122 id, ica_id, tas_type,
17123 object_version_number, attribute_category, attribute1,
17124 attribute2, attribute3, attribute4,
17125 attribute5, attribute6, attribute7,
17126 attribute8, attribute9, attribute10,
17127 attribute11, attribute12, attribute13,
17128 attribute14, attribute15, created_by,
17129 creation_date, last_updated_by, last_update_date,
17130 last_update_login, tsu_code, try_id,
17131 date_trans_occurred, trans_number, comments,
17132 req_asset_id, total_match_amount, org_id,legal_entity_id
17133 FROM okl_trx_assets
17134 WHERE id IN
17135 (
17136 SELECT tas_id
17137 FROM okl_txl_itm_insts b
17138 WHERE kle_id IN
17139 (SELECT a.id
17140 FROM okc_k_lines_b a,
17141 okc_k_items c
17142 WHERE a.dnz_chr_id = p_id
17143 AND c.dnz_chr_id = p_id
17144 AND c.cle_id = a.id
17145 AND a.lse_id = 45
17146 AND c.object1_id1 IS NULL
17147 AND c.object1_id2 IS NULL)
17148 );
17149
17150 l_t2id_tab2 l_t2id_type;
17151 l_t2ica_id_tab2 l_t2ica_id_type;
17152 l_t2tas_type_tab2 l_t2tas_type_type;
17153 l_t2object_version_number_tab2 l_t2object_version_number_type;
17154 l_t2attribute_category_tab2 l_t2attribute_category_type;
17155 l_t2attribute1_tab2 l_t2attribute1_type;
17156 l_t2attribute2_tab2 l_t2attribute2_type;
17157 l_t2attribute3_tab2 l_t2attribute3_type;
17158 l_t2attribute4_tab2 l_t2attribute4_type;
17159 l_t2attribute5_tab2 l_t2attribute5_type;
17160 l_t2attribute6_tab2 l_t2attribute6_type;
17161 l_t2attribute7_tab2 l_t2attribute7_type;
17162 l_t2attribute8_tab2 l_t2attribute8_type;
17163 l_t2attribute9_tab2 l_t2attribute9_type;
17164 l_t2attribute10_tab2 l_t2attribute10_type;
17165 l_t2attribute11_tab2 l_t2attribute11_type;
17166 l_t2attribute12_tab2 l_t2attribute12_type;
17167 l_t2attribute13_tab2 l_t2attribute13_type;
17168 l_t2attribute14_tab2 l_t2attribute14_type;
17169 l_t2attribute15_tab2 l_t2attribute15_type;
17170 l_t2created_by_tab2 l_t2created_by_type;
17171 l_t2creation_date_tab2 l_t2creation_date_type;
17172 l_t2last_updated_by_tab2 l_t2last_updated_by_type;
17173 l_t2last_update_date_tab2 l_t2last_update_date_type;
17174 l_t2last_update_login_tab2 l_t2last_update_login_type;
17175 l_t2tsu_code_tab2 l_t2tsu_code_type;
17176 l_t2try_id_tab2 l_t2try_id_type;
17177 l_t2date_trans_occurred_tab2 l_t2date_trans_occurred_type;
17178 l_t2trans_number_tab2 l_t2trans_number_type;
17179 l_t2comments_tab2 l_t2comments_type;
17180 l_t2req_asset_id_tab2 l_t2req_asset_id_type;
17181 l_t2total_match_amount_tab2 l_t2total_match_amount_type;
17182 l_t2org_id_tab2 l_t2org_id_type;
17183 l_t2legal_entity_id_tab2 l_t2legal_entity_id_type;
17184
17185 BEGIN
17186 IF (G_DEBUG_ENABLED = 'Y') THEN
17187 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
17188 END IF;
17189 OPEN c17_2(p_old_id);
17190 LOOP
17191 FETCH c17_2 bulk collect INTO
17192 l_t2id_tab2, l_t2ica_id_tab2, l_t2tas_type_tab2,
17193 l_t2object_version_number_tab2, l_t2attribute_category_tab2, l_t2attribute1_tab2,
17194 l_t2attribute2_tab2, l_t2attribute3_tab2, l_t2attribute4_tab2,
17195 l_t2attribute5_tab2, l_t2attribute6_tab2, l_t2attribute7_tab2,
17196 l_t2attribute8_tab2, l_t2attribute9_tab2, l_t2attribute10_tab2,
17197 l_t2attribute11_tab2, l_t2attribute12_tab2, l_t2attribute13_tab2,
17198 l_t2attribute14_tab2, l_t2attribute15_tab2, l_t2created_by_tab2,
17199 l_t2creation_date_tab2, l_t2last_updated_by_tab2, l_t2last_update_date_tab2,
17200 l_t2last_update_login_tab2, l_t2tsu_code_tab2, l_t2try_id_tab2,
17201 l_t2date_trans_occurred_tab2, l_t2trans_number_tab2, l_t2comments_tab2,
17202 l_t2req_asset_id_tab2, l_t2total_match_amount_tab2, l_t2org_id_tab2,l_t2legal_entity_id_tab2
17203 limit G_BULK_SIZE;
17204 EXIT WHEN l_t2id_tab2.COUNT = 0;
17205 FOR i IN l_t2id_tab2.first..l_t2id_tab2.last
17206 LOOP
17207
17208 l_t2id_tab(l_trx_assets_counter2) := l_t2id_tab2(i);
17209 l_trx_id_mapping_tab2(l_trx_assets_counter2).old_id := l_t2id_tab2(i);
17210 -- Change id
17211 l_t2id_tab(l_trx_assets_counter2) := okc_p_util.raw_to_number(sys_guid());
17212 l_trx_id_mapping_tab2(l_trx_assets_counter2).new_id := l_t2id_tab(l_trx_assets_counter2);
17213
17214 l_t2ica_id_tab(l_trx_assets_counter2) := l_t2ica_id_tab2(i);
17215 l_t2tas_type_tab(l_trx_assets_counter2) := l_t2tas_type_tab2(i);
17216 l_t2object_version_number_tab(l_trx_assets_counter2) := l_t2object_version_number_tab2(i);
17217 l_t2attribute_category_tab(l_trx_assets_counter2) := l_t2attribute_category_tab2(i);
17218 l_t2attribute1_tab(l_trx_assets_counter2) := l_t2attribute1_tab2(i);
17219 l_t2attribute2_tab(l_trx_assets_counter2) := l_t2attribute2_tab2(i);
17220 l_t2attribute3_tab(l_trx_assets_counter2) := l_t2attribute3_tab2(i);
17221 l_t2attribute4_tab(l_trx_assets_counter2) := l_t2attribute4_tab2(i);
17222 l_t2attribute5_tab(l_trx_assets_counter2) := l_t2attribute5_tab2(i);
17223 l_t2attribute6_tab(l_trx_assets_counter2) := l_t2attribute6_tab2(i);
17224 l_t2attribute7_tab(l_trx_assets_counter2) := l_t2attribute7_tab2(i);
17225 l_t2attribute8_tab(l_trx_assets_counter2) := l_t2attribute8_tab2(i);
17226 l_t2attribute9_tab(l_trx_assets_counter2) := l_t2attribute9_tab2(i);
17227 l_t2attribute10_tab(l_trx_assets_counter2) := l_t2attribute10_tab2(i);
17228 l_t2attribute11_tab(l_trx_assets_counter2) := l_t2attribute11_tab2(i);
17229 l_t2attribute12_tab(l_trx_assets_counter2) := l_t2attribute12_tab2(i);
17230 l_t2attribute13_tab(l_trx_assets_counter2) := l_t2attribute13_tab2(i);
17231 l_t2attribute14_tab(l_trx_assets_counter2) := l_t2attribute14_tab2(i);
17232 l_t2attribute15_tab(l_trx_assets_counter2) := l_t2attribute15_tab2(i);
17233 l_t2created_by_tab(l_trx_assets_counter2) := l_t2created_by_tab2(i);
17234 l_t2creation_date_tab(l_trx_assets_counter2) := l_t2creation_date_tab2(i);
17235 l_t2last_updated_by_tab(l_trx_assets_counter2) := l_t2last_updated_by_tab2(i);
17236 l_t2last_update_date_tab(l_trx_assets_counter2) := l_t2last_update_date_tab2(i);
17237 l_t2last_update_login_tab(l_trx_assets_counter2) := l_t2last_update_login_tab2(i);
17238 l_t2tsu_code_tab(l_trx_assets_counter2) := l_t2tsu_code_tab2(i);
17239 l_t2try_id_tab(l_trx_assets_counter2) := l_t2try_id_tab2(i);
17240 l_t2date_trans_occurred_tab(l_trx_assets_counter2) := l_t2date_trans_occurred_tab2(i);
17241 l_t2trans_number_tab(l_trx_assets_counter2) := l_t2trans_number_tab2(i);
17242 l_t2comments_tab(l_trx_assets_counter2) := l_t2comments_tab2(i);
17243 l_t2req_asset_id_tab(l_trx_assets_counter2) := l_t2req_asset_id_tab2(i);
17244 l_t2total_match_amount_tab(l_trx_assets_counter2) := l_t2total_match_amount_tab2(i);
17245 l_t2org_id_tab(l_trx_assets_counter2) := l_t2org_id_tab2(i);
17246 l_t2legal_entity_id_tab(l_trx_assets_counter2) := l_t2legal_entity_id_tab2(i);
17247
17248 l_trx_assets_counter2 := l_trx_assets_counter2 + 1;
17249
17250 END LOOP;
17251 END LOOP;
17252 CLOSE c17_2;
17253
17254 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17255 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);
17256 END IF;
17257 IF (l_trx_assets_counter2 > 1) THEN
17258 forall i IN l_t2id_tab.first..l_t2id_tab.last
17259 INSERT INTO okl_trx_assets (
17260 id, ica_id, tas_type,
17261 object_version_number, attribute_category, attribute1,
17262 attribute2, attribute3, attribute4,
17263 attribute5, attribute6, attribute7,
17264 attribute8, attribute9, attribute10,
17265 attribute11, attribute12, attribute13,
17266 attribute14, attribute15, created_by,
17267 creation_date, last_updated_by, last_update_date,
17268 last_update_login, tsu_code, try_id,
17269 date_trans_occurred, trans_number, comments,
17270 req_asset_id, total_match_amount, org_id,legal_entity_id
17271 ,transaction_date
17272 ) VALUES (
17273 l_t2id_tab(i), l_t2ica_id_tab(i), p_trans_type,
17274 1, l_t2attribute_category_tab(i), l_t2attribute1_tab(i),
17275 l_t2attribute2_tab(i), l_t2attribute3_tab(i), l_t2attribute4_tab(i),
17276 l_t2attribute5_tab(i), l_t2attribute6_tab(i), l_t2attribute7_tab(i),
17277 l_t2attribute8_tab(i), l_t2attribute9_tab(i), l_t2attribute10_tab(i),
17278 l_t2attribute11_tab(i), l_t2attribute12_tab(i), l_t2attribute13_tab(i),
17279 l_t2attribute14_tab(i), l_t2attribute15_tab(i), l_created_by,
17280 SYSDATE, l_last_updated_by, SYSDATE,
17281 l_last_update_login, 'ENTERED', l_t2try_id_tab(i),
17282 SYSDATE, okl_trn_seq.NEXTVAL, l_t2comments_tab(i),
17283 l_t2req_asset_id_tab(i), l_t2total_match_amount_tab(i), l_t2org_id_tab(i),l_t2legal_entity_id_tab(i)
17284 ,SYSDATE
17285 );
17286
17287 sort_trx_id_mapping_tab2;
17288
17289 END IF;
17290 EXCEPTION WHEN OTHERS THEN
17291
17292 x_return_status := OKL_API.G_RET_STS_ERROR;
17293 /*OKL_API.set_message(p_app_name => 'OKL',
17294 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
17295 p_token1 => 'ASSET_NUMBER',
17296 p_token1_value => 'insert_okl_trx_assets_2');*/
17297 /* DEBUG */
17298 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17299 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
17300 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 || ' ...');
17301 END IF;
17302 IF (l_t2id_tab.COUNT > 0) THEN
17303 FOR i IN l_t2id_tab.first..l_t2id_tab.last
17304 LOOP
17305 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17306 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2id_tab('||i||')=' || l_t2id_tab(i));
17307 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2ica_id_tab('||i||')=' || l_t2ica_id_tab(i));
17308 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute_category_tab('||i||')=' || l_t2attribute_category_tab(i));
17309 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute1_tab('||i||')=' || l_t2attribute1_tab(i));
17310 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute2_tab('||i||')=' || l_t2attribute2_tab(i));
17311 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute3_tab('||i||')=' || l_t2attribute3_tab(i));
17312 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute4_tab('||i||')=' || l_t2attribute4_tab(i));
17313 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute5_tab('||i||')=' || l_t2attribute5_tab(i));
17314 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute6_tab('||i||')=' || l_t2attribute6_tab(i));
17315 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute7_tab('||i||')=' || l_t2attribute7_tab(i));
17316 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute8_tab('||i||')=' || l_t2attribute8_tab(i));
17317 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute9_tab('||i||')=' || l_t2attribute9_tab(i));
17318 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute10_tab('||i||')=' || l_t2attribute10_tab(i));
17319 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute11_tab('||i||')=' || l_t2attribute11_tab(i));
17320 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute12_tab('||i||')=' || l_t2attribute12_tab(i));
17321 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute13_tab('||i||')=' || l_t2attribute13_tab(i));
17322 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute14_tab('||i||')=' || l_t2attribute14_tab(i));
17323 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2attribute15_tab('||i||')=' || l_t2attribute15_tab(i));
17324 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2try_id_tab('||i||')=' || l_t2try_id_tab(i));
17325 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2comments_tab('||i||')=' || l_t2comments_tab(i));
17326 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2req_asset_id_tab('||i||')=' || l_t2req_asset_id_tab(i));
17327 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2total_match_amount_tab('||i||')=' || l_t2total_match_amount_tab(i));
17328 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t2org_id_tab('||i||')=' || l_t2org_id_tab(i));
17329 END IF;
17330 END LOOP;
17331 END IF;
17332
17333 RAISE OKC_API.G_EXCEPTION_ERROR;
17334
17335 END; /* insert_okl_trx_assets_2 */
17336
17337 -- AKP: Delete this function from here. And use
17338 -- okl_copy_asset_pvt.generate_instance_number_ib instead
17339
17340 FUNCTION generate_instance_number_ib(x_instance_number_ib OUT NOCOPY OKL_TXL_ITM_INSTS_V.INSTANCE_NUMBER_IB%TYPE)
17341 RETURN VARCHAR2 IS
17342 x_return_status VARCHAR2(3) := OKL_API.G_RET_STS_SUCCESS;
17343 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
17344 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXP_ERROR';
17345 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
17346 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
17347 -- cursor to get sequence number for asset number
17348 CURSOR c_instance_no_ib IS
17349 SELECT TO_CHAR(OKL_IBN_SEQ.NEXTVAL)
17350 FROM dual;
17351 BEGIN
17352 OPEN c_instance_no_ib;
17353 FETCH c_instance_no_ib INTO x_instance_number_ib;
17354 IF (c_instance_no_ib%NOTFOUND) THEN
17355 x_return_status := OKC_API.G_RET_STS_ERROR;
17356 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
17357 p_msg_name => g_unexpected_error,
17358 p_token1 => g_sqlcode_token,
17359 p_token1_value => SQLCODE,
17360 p_token2 => g_sqlerrm_token,
17361 p_token2_value => SQLERRM);
17362 END IF;
17363 CLOSE c_instance_no_ib;
17364 RETURN x_return_status;
17365 EXCEPTION
17366 WHEN OTHERS THEN
17367 IF c_instance_no_ib%ISOPEN THEN
17368 CLOSE c_instance_no_ib;
17369 END IF;
17370 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
17371 OKL_API.SET_MESSAGE(p_app_name => g_app_name,
17372 p_msg_name => g_unexpected_error,
17373 p_token1 => g_sqlcode_token,
17374 p_token1_value => SQLCODE,
17375 p_token2 => g_sqlerrm_token,
17376 p_token2_value => SQLERRM);
17377 RETURN x_return_status;
17378 END generate_instance_number_ib;
17379
17380 PROCEDURE insert_okl_txl_itm_insts(p_old_id IN okc_k_headers_b.id%TYPE,
17381 p_new_id IN okc_k_headers_b.id%TYPE) IS
17382 CURSOR c22(p_id NUMBER) IS
17383 SELECT
17384 p.id, p.object_version_number, p.tas_id,
17385 p.tal_id, p.kle_id, p.tal_type,
17386 p.line_number, p.instance_number_ib, p.object_id1_new,
17387 p.object_id2_new, p.jtot_object_code_new, p.object_id1_old,
17388 p.object_id2_old, p.jtot_object_code_old, p.inventory_org_id,
17389 p.serial_number, p.mfg_serial_number_yn, p.inventory_item_id,
17390 p.inv_master_org_id, p.attribute_category, p.attribute1,
17391 p.attribute2, p.attribute3, p.attribute4,
17392 p.attribute5, p.attribute6, p.attribute7,
17393 p.attribute8, p.attribute9, p.attribute10,
17394 p.attribute11, p.attribute12, p.attribute13,
17395 p.attribute14, p.attribute15, p.created_by,
17396 p.creation_date, p.last_updated_by, p.last_update_date,
17397 p.last_update_login, p.dnz_cle_id, p.instance_id,
17398 p.selected_for_split_flag, p.asd_id
17399 FROM okl_txl_itm_insts p
17400 WHERE p.kle_id IN
17401 (
17402 SELECT a.id
17403 FROM okc_k_lines_b a,
17404 okc_k_items c
17405 WHERE a.dnz_chr_id = p_id
17406 AND c.dnz_chr_id = p_id
17407 AND c.cle_id = a.id
17408 AND a.lse_id = 45
17409 AND c.object1_id1 IS NULL
17410 AND c.object1_id2 IS NULL
17411 );
17412
17413 l_tiid_tab2 l_tiid_type;
17414 l_tiobject_version_number_tab2 l_tiobject_version_number_type;
17415 l_titas_id_tab2 l_titas_id_type;
17416 l_tital_id_tab2 l_tital_id_type;
17417 l_tikle_id_tab2 l_tikle_id_type;
17418 l_tital_type_tab2 l_tital_type_type;
17419 l_tiline_number_tab2 l_tiline_number_type;
17420 l_tiinstance_number_ib_tab2 l_tiinstance_number_ib_type;
17421 l_tiobject_id1_new_tab2 l_tiobject_id1_new_type;
17422 l_tiobject_id2_new_tab2 l_tiobject_id2_new_type;
17423 l_tijtot_object_code_new_tab2 l_tijtot_object_code_new_type;
17424 l_tiobject_id1_old_tab2 l_tiobject_id1_old_type;
17425 l_tiobject_id2_old_tab2 l_tiobject_id2_old_type;
17426 l_tijtot_object_code_old_tab2 l_tijtot_object_code_old_type;
17427 l_tiinventory_org_id_tab2 l_tiinventory_org_id_type;
17428 l_tiserial_number_tab2 l_tiserial_number_type;
17429 l_timfg_serial_number_yn_tab2 l_timfg_serial_number_yn_type;
17430 l_tiinventory_item_id_tab2 l_tiinventory_item_id_type;
17431 l_tiinv_master_org_id_tab2 l_tiinv_master_org_id_type;
17432 l_tiattribute_category_tab2 l_tiattribute_category_type;
17433 l_tiattribute1_tab2 l_tiattribute1_type;
17434 l_tiattribute2_tab2 l_tiattribute2_type;
17435 l_tiattribute3_tab2 l_tiattribute3_type;
17436 l_tiattribute4_tab2 l_tiattribute4_type;
17437 l_tiattribute5_tab2 l_tiattribute5_type;
17438 l_tiattribute6_tab2 l_tiattribute6_type;
17439 l_tiattribute7_tab2 l_tiattribute7_type;
17440 l_tiattribute8_tab2 l_tiattribute8_type;
17441 l_tiattribute9_tab2 l_tiattribute9_type;
17442 l_tiattribute10_tab2 l_tiattribute10_type;
17443 l_tiattribute11_tab2 l_tiattribute11_type;
17444 l_tiattribute12_tab2 l_tiattribute12_type;
17445 l_tiattribute13_tab2 l_tiattribute13_type;
17446 l_tiattribute14_tab2 l_tiattribute14_type;
17447 l_tiattribute15_tab2 l_tiattribute15_type;
17448 l_ticreated_by_tab2 l_ticreated_by_type;
17449 l_ticreation_date_tab2 l_ticreation_date_type;
17450 l_tilast_updated_by_tab2 l_tilast_updated_by_type;
17451 l_tilast_update_date_tab2 l_tilast_update_date_type;
17452 l_tilast_update_login_tab2 l_tilast_update_login_type;
17453 l_tidnz_cle_id_tab2 l_tidnz_cle_id_type;
17454 l_tiinstance_id_tab2 l_tiinstance_id_type;
17455 l_tiselected_for_split_fl_tab2 l_tiselected_for_split_fl_type;
17456 l_tiasd_id_tab2 l_tiasd_id_type;
17457
17458 l_new_tas_id NUMBER;
17459 l_new_tal_id NUMBER;
17460 l_new_kle_id NUMBER;
17461 l_new_dnz_cle_id NUMBER;
17462 l_new_asset_name VARCHAR2(150);
17463 l_generated_instance_number_ib NUMBER;
17464 l_return_status VARCHAR2(30);
17465
17466 BEGIN
17467 IF (G_DEBUG_ENABLED = 'Y') THEN
17468 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
17469 END IF;
17470 OPEN c22(p_old_id);
17471 LOOP
17472 FETCH c22 bulk collect INTO
17473 l_tiid_tab2, l_tiobject_version_number_tab2, l_titas_id_tab2,
17474 l_tital_id_tab2, l_tikle_id_tab2, l_tital_type_tab2,
17475 l_tiline_number_tab2, l_tiinstance_number_ib_tab2, l_tiobject_id1_new_tab2,
17476 l_tiobject_id2_new_tab2, l_tijtot_object_code_new_tab2, l_tiobject_id1_old_tab2,
17477 l_tiobject_id2_old_tab2, l_tijtot_object_code_old_tab2, l_tiinventory_org_id_tab2,
17478 l_tiserial_number_tab2, l_timfg_serial_number_yn_tab2, l_tiinventory_item_id_tab2,
17479 l_tiinv_master_org_id_tab2, l_tiattribute_category_tab2, l_tiattribute1_tab2,
17480 l_tiattribute2_tab2, l_tiattribute3_tab2, l_tiattribute4_tab2,
17481 l_tiattribute5_tab2, l_tiattribute6_tab2, l_tiattribute7_tab2,
17482 l_tiattribute8_tab2, l_tiattribute9_tab2, l_tiattribute10_tab2,
17483 l_tiattribute11_tab2, l_tiattribute12_tab2, l_tiattribute13_tab2,
17484 l_tiattribute14_tab2, l_tiattribute15_tab2, l_ticreated_by_tab2,
17485 l_ticreation_date_tab2, l_tilast_updated_by_tab2, l_tilast_update_date_tab2,
17486 l_tilast_update_login_tab2, l_tidnz_cle_id_tab2, l_tiinstance_id_tab2,
17487 l_tiselected_for_split_fl_tab2, l_tiasd_id_tab2
17488 limit G_BULK_SIZE;
17489 EXIT WHEN l_tiid_tab2.COUNT = 0;
17490 FOR i IN l_tiid_tab2.first..l_tiid_tab2.last
17491 LOOP
17492
17493 l_tiid_tab(l_txl_itm_insts_counter) := l_tiid_tab2(i);
17494 -- Change id
17495 l_tiid_tab(l_txl_itm_insts_counter) := okc_p_util.raw_to_number(sys_guid());
17496
17497 l_tiobject_version_number_tab(l_txl_itm_insts_counter) := l_tiobject_version_number_tab2(i);
17498 l_titas_id_tab(l_txl_itm_insts_counter) := l_titas_id_tab2(i);
17499 -- Change tas_id
17500 l_new_tas_id := find_trx_mapping_id2(l_titas_id_tab(l_txl_itm_insts_counter));
17501 l_titas_id_tab(l_txl_itm_insts_counter) := l_new_tas_id;
17502
17503 l_tital_id_tab(l_txl_itm_insts_counter) := l_tital_id_tab2(i);
17504 -- Change tal_id
17505 --l_new_tal_id := find_txl_mapping_id(l_tital_id_tab(l_txl_itm_insts_counter));
17506 --l_tital_id_tab(l_txl_itm_insts_counter) := l_new_tal_id;
17507 l_new_tal_id := NULL;
17508
17509 l_tikle_id_tab(l_txl_itm_insts_counter) := l_tikle_id_tab2(i);
17510 -- Change kle_id
17511 l_new_kle_id := find_mapping_id(l_tikle_id_tab(l_txl_itm_insts_counter));
17512 IF (l_new_kle_id = -1) THEN
17513 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17514 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));
17515 END IF;
17516 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
17517 END IF;
17518 l_tikle_id_tab(l_txl_itm_insts_counter) := l_new_kle_id;
17519
17520 l_tital_type_tab(l_txl_itm_insts_counter) := l_tital_type_tab2(i);
17521 l_tiline_number_tab(l_txl_itm_insts_counter) := l_tiline_number_tab2(i);
17522 l_tiinstance_number_ib_tab(l_txl_itm_insts_counter) := l_tiinstance_number_ib_tab2(i);
17523
17524 -- Change instance_number_ib
17525 --print('Old asset_name: ' || l_tiinstance_number_ib_tab(l_txl_itm_insts_counter));
17526 --l_new_asset_name := find_aid_mapping_id(l_tiinstance_number_ib_tab(l_txl_itm_insts_counter));
17527 -- To do: expose okl_copy_asset_pvt.generate_instance_number_ib
17528 -- Use the package call instead
17529 l_return_status := generate_instance_number_ib(l_generated_instance_number_ib);
17530 IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
17531 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
17532 ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
17533 RAISE OKL_API.G_EXCEPTION_ERROR;
17534 END IF;
17535
17536 l_tiinstance_number_ib_tab(l_txl_itm_insts_counter) := l_generated_instance_number_ib;
17537
17538 l_tiobject_id1_new_tab(l_txl_itm_insts_counter) := l_tiobject_id1_new_tab2(i);
17539 l_tiobject_id2_new_tab(l_txl_itm_insts_counter) := l_tiobject_id2_new_tab2(i);
17540 l_tijtot_object_code_new_tab(l_txl_itm_insts_counter) := l_tijtot_object_code_new_tab2(i);
17541 l_tiobject_id1_old_tab(l_txl_itm_insts_counter) := l_tiobject_id1_old_tab2(i);
17542 l_tiobject_id2_old_tab(l_txl_itm_insts_counter) := l_tiobject_id2_old_tab2(i);
17543 l_tijtot_object_code_old_tab(l_txl_itm_insts_counter) := l_tijtot_object_code_old_tab2(i);
17544 l_tiinventory_org_id_tab(l_txl_itm_insts_counter) := l_tiinventory_org_id_tab2(i);
17545 l_tiserial_number_tab(l_txl_itm_insts_counter) := l_tiserial_number_tab2(i);
17546 l_timfg_serial_number_yn_tab(l_txl_itm_insts_counter) := l_timfg_serial_number_yn_tab2(i);
17547 l_tiinventory_item_id_tab(l_txl_itm_insts_counter) := l_tiinventory_item_id_tab2(i);
17548 l_tiinv_master_org_id_tab(l_txl_itm_insts_counter) := l_tiinv_master_org_id_tab2(i);
17549 l_tiattribute_category_tab(l_txl_itm_insts_counter) := l_tiattribute_category_tab2(i);
17550 l_tiattribute1_tab(l_txl_itm_insts_counter) := l_tiattribute1_tab2(i);
17551 l_tiattribute2_tab(l_txl_itm_insts_counter) := l_tiattribute2_tab2(i);
17552 l_tiattribute3_tab(l_txl_itm_insts_counter) := l_tiattribute3_tab2(i);
17553 l_tiattribute4_tab(l_txl_itm_insts_counter) := l_tiattribute4_tab2(i);
17554 l_tiattribute5_tab(l_txl_itm_insts_counter) := l_tiattribute5_tab2(i);
17555 l_tiattribute6_tab(l_txl_itm_insts_counter) := l_tiattribute6_tab2(i);
17556 l_tiattribute7_tab(l_txl_itm_insts_counter) := l_tiattribute7_tab2(i);
17557 l_tiattribute8_tab(l_txl_itm_insts_counter) := l_tiattribute8_tab2(i);
17558 l_tiattribute9_tab(l_txl_itm_insts_counter) := l_tiattribute9_tab2(i);
17559 l_tiattribute10_tab(l_txl_itm_insts_counter) := l_tiattribute10_tab2(i);
17560 l_tiattribute11_tab(l_txl_itm_insts_counter) := l_tiattribute11_tab2(i);
17561 l_tiattribute12_tab(l_txl_itm_insts_counter) := l_tiattribute12_tab2(i);
17562 l_tiattribute13_tab(l_txl_itm_insts_counter) := l_tiattribute13_tab2(i);
17563 l_tiattribute14_tab(l_txl_itm_insts_counter) := l_tiattribute14_tab2(i);
17564 l_tiattribute15_tab(l_txl_itm_insts_counter) := l_tiattribute15_tab2(i);
17565 l_ticreated_by_tab(l_txl_itm_insts_counter) := l_ticreated_by_tab2(i);
17566 l_ticreation_date_tab(l_txl_itm_insts_counter) := l_ticreation_date_tab2(i);
17567 l_tilast_updated_by_tab(l_txl_itm_insts_counter) := l_tilast_updated_by_tab2(i);
17568 l_tilast_update_date_tab(l_txl_itm_insts_counter) := l_tilast_update_date_tab2(i);
17569 l_tilast_update_login_tab(l_txl_itm_insts_counter) := l_tilast_update_login_tab2(i);
17570 l_tidnz_cle_id_tab(l_txl_itm_insts_counter) := l_tidnz_cle_id_tab2(i);
17571 -- Change dnz_cle_id ??? AKP
17572 l_new_dnz_cle_id := find_mapping_id(l_tidnz_cle_id_tab(l_txl_itm_insts_counter));
17573 /*if (l_new_dnz_cle_id = -1) then
17574 print('ERROR : Mapping id not found for ' || l_tidnz_cle_id_tab(l_txl_itm_insts_counter));
17575 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
17576 end if;*/
17577 l_tidnz_cle_id_tab(l_txl_itm_insts_counter) := l_new_dnz_cle_id;
17578
17579 l_tiinstance_id_tab(l_txl_itm_insts_counter) := l_tiinstance_id_tab2(i);
17580 l_tiselected_for_split_fl_tab(l_txl_itm_insts_counter) := l_tiselected_for_split_fl_tab2(i);
17581 l_tiasd_id_tab(l_txl_itm_insts_counter) := l_tiasd_id_tab2(i);
17582
17583 l_txl_itm_insts_counter := l_txl_itm_insts_counter + 1;
17584
17585 END LOOP;
17586 END LOOP;
17587 CLOSE c22;
17588
17589 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17590 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);
17591 END IF;
17592 IF (l_txl_itm_insts_counter > 1) THEN
17593 forall i IN l_tiid_tab.first..l_tiid_tab.last
17594 INSERT INTO okl_txl_itm_insts (
17595 id, object_version_number, tas_id,
17596 tal_id, kle_id, tal_type,
17597 line_number, instance_number_ib, object_id1_new,
17598 object_id2_new, jtot_object_code_new, object_id1_old,
17599 object_id2_old, jtot_object_code_old, inventory_org_id,
17600 serial_number, mfg_serial_number_yn, inventory_item_id,
17601 inv_master_org_id, attribute_category, attribute1,
17602 attribute2, attribute3, attribute4,
17603 attribute5, attribute6, attribute7,
17604 attribute8, attribute9, attribute10,
17605 attribute11, attribute12, attribute13,
17606 attribute14, attribute15, created_by,
17607 creation_date, last_updated_by, last_update_date,
17608 last_update_login, dnz_cle_id, instance_id,
17609 selected_for_split_flag, asd_id
17610 ) VALUES (
17611 l_tiid_tab(i), 1, l_titas_id_tab(i),
17612 l_tital_id_tab(i), l_tikle_id_tab(i), p_trans_type,
17613 l_tiline_number_tab(i), l_tiinstance_number_ib_tab(i), l_tiobject_id1_new_tab(i),
17614 l_tiobject_id2_new_tab(i), l_tijtot_object_code_new_tab(i), l_tiobject_id1_old_tab(i),
17615 l_tiobject_id2_old_tab(i), l_tijtot_object_code_old_tab(i), l_tiinventory_org_id_tab(i),
17616 l_tiserial_number_tab(i), l_timfg_serial_number_yn_tab(i), l_tiinventory_item_id_tab(i),
17617 l_tiinv_master_org_id_tab(i), l_tiattribute_category_tab(i), l_tiattribute1_tab(i),
17618 l_tiattribute2_tab(i), l_tiattribute3_tab(i), l_tiattribute4_tab(i),
17619 l_tiattribute5_tab(i), l_tiattribute6_tab(i), l_tiattribute7_tab(i),
17620 l_tiattribute8_tab(i), l_tiattribute9_tab(i), l_tiattribute10_tab(i),
17621 l_tiattribute11_tab(i), l_tiattribute12_tab(i), l_tiattribute13_tab(i),
17622 l_tiattribute14_tab(i), l_tiattribute15_tab(i), l_created_by,
17623 SYSDATE, l_last_updated_by, SYSDATE,
17624 l_last_update_login, l_tidnz_cle_id_tab(i), l_tiinstance_id_tab(i),
17625 l_tiselected_for_split_fl_tab(i), l_tiasd_id_tab(i)
17626 );
17627 END IF;
17628 EXCEPTION WHEN OTHERS THEN
17629
17630 x_return_status := OKL_API.G_RET_STS_ERROR;
17631 /*OKL_API.set_message(p_app_name => 'OKL',
17632 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
17633 p_token1 => 'ASSET_NUMBER',
17634 p_token1_value => 'insert_okl_txl_itm_insts');*/
17635 /* DEBUG */
17636 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17637 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
17638 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 || ' ...');
17639 END IF;
17640 IF (l_tiid_tab.COUNT > 0) THEN
17641 FOR i IN l_tiid_tab.first..l_tiid_tab.last
17642 LOOP
17643 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17644 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiid_tab('||i||')=' || l_tiid_tab(i));
17645 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_titas_id_tab('||i||')=' || l_titas_id_tab(i));
17646 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tital_id_tab('||i||')=' || l_tital_id_tab(i));
17647 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tikle_id_tab('||i||')=' || l_tikle_id_tab(i));
17648 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiline_number_tab('||i||')=' || l_tiline_number_tab(i));
17649 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinstance_number_ib_tab('||i||')=' || l_tiinstance_number_ib_tab(i));
17650 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiobject_id1_new_tab('||i||')=' || l_tiobject_id1_new_tab(i));
17651 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiobject_id2_new_tab('||i||')=' || l_tiobject_id2_new_tab(i));
17652 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));
17653 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiobject_id1_old_tab('||i||')=' || l_tiobject_id1_old_tab(i));
17654 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiobject_id2_old_tab('||i||')=' || l_tiobject_id2_old_tab(i));
17655 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));
17656 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinventory_org_id_tab('||i||')=' || l_tiinventory_org_id_tab(i));
17657 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiserial_number_tab('||i||')=' || l_tiserial_number_tab(i));
17658 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));
17659 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinventory_item_id_tab('||i||')=' || l_tiinventory_item_id_tab(i));
17660 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));
17661 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute_category_tab('||i||')=' || l_tiattribute_category_tab(i));
17662 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute1_tab('||i||')=' || l_tiattribute1_tab(i));
17663 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute2_tab('||i||')=' || l_tiattribute2_tab(i));
17664 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute3_tab('||i||')=' || l_tiattribute3_tab(i));
17665 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute4_tab('||i||')=' || l_tiattribute4_tab(i));
17666 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute5_tab('||i||')=' || l_tiattribute5_tab(i));
17667 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute6_tab('||i||')=' || l_tiattribute6_tab(i));
17668 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute7_tab('||i||')=' || l_tiattribute7_tab(i));
17669 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute8_tab('||i||')=' || l_tiattribute8_tab(i));
17670 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute9_tab('||i||')=' || l_tiattribute9_tab(i));
17671 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute10_tab('||i||')=' || l_tiattribute10_tab(i));
17672 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute11_tab('||i||')=' || l_tiattribute11_tab(i));
17673 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute12_tab('||i||')=' || l_tiattribute12_tab(i));
17674 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute13_tab('||i||')=' || l_tiattribute13_tab(i));
17675 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute14_tab('||i||')=' || l_tiattribute14_tab(i));
17676 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiattribute15_tab('||i||')=' || l_tiattribute15_tab(i));
17677 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tidnz_cle_id_tab('||i||')=' || l_tidnz_cle_id_tab(i));
17678 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiinstance_id_tab('||i||')=' || l_tiinstance_id_tab(i));
17679 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));
17680 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tiasd_id_tab('||i||')=' || l_tiasd_id_tab(i));
17681 END IF;
17682 END LOOP;
17683 END IF;
17684
17685 RAISE OKC_API.G_EXCEPTION_ERROR;
17686
17687 END; /* insert_okl_txl_itm_insts */
17688
17689 PROCEDURE get_orig_depreciation_cost( p_fa_cost IN NUMBER,
17690 x_original_cost OUT NOCOPY NUMBER,
17691 x_depreciable_cost OUT NOCOPY NUMBER) IS
17692 l_func_currency VARCHAR2(15);
17693 l_k_currency VARCHAR2(15);
17694 x_contract_currency VARCHAR2(15);
17695 x_currency_conversion_type okl_txl_assets_b.currency_conversion_type%TYPE;
17696 x_currency_conversion_rate okl_txl_assets_b.currency_conversion_rate%TYPE;
17697 x_currency_conversion_date okl_txl_assets_b.currency_conversion_date%TYPE;
17698 l_converted_cost NUMBER;
17699 BEGIN
17700 IF (G_DEBUG_ENABLED = 'Y') THEN
17701 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
17702 END IF;
17703 l_func_currency := OKL_ACCOUNTING_UTIL.get_func_curr_code;
17704 l_k_currency := l_contract_currency;
17705
17706 IF (l_func_currency = l_k_currency) THEN
17707 x_original_cost := p_fa_cost;
17708 x_depreciable_cost := p_fa_cost;
17709 ELSE
17710 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17711 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);
17712 END IF;
17713 okl_accounting_util.convert_to_contract_currency(
17714 p_khr_id => l_copied_id,
17715 p_from_currency => l_func_currency,
17716 p_transaction_date => l_contract_start_date,
17717 p_amount => p_fa_cost,
17718 x_contract_currency => x_contract_currency,
17719 x_currency_conversion_type => x_currency_conversion_type,
17720 x_currency_conversion_rate => x_currency_conversion_rate,
17721 x_currency_conversion_date => x_currency_conversion_date,
17722 x_converted_amount => l_converted_cost);
17723 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
17724 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_fa_cost='|| p_fa_cost || ' l_converted_cost='||l_converted_cost);
17725 END IF;
17726 IF (p_fa_cost >= 0) AND (l_converted_cost < 0) THEN
17727 --currency conversion rate was not found in Oracle GL
17728 OKC_API.set_message(p_app_name => 'OKL_COPY_CONTRACT_PVT',
17729 p_msg_name => 'OKL_LLA_CONV_RATE_NOT_FOUND',
17730 p_token1 => 'FROM_CURRENCY',
17731 p_token1_value => x_contract_currency,
17732 p_token2 => 'TO_CURRENCY',
17733 p_token2_value => l_func_currency,
17734 p_token3 => 'CONVERSION_TYPE',
17735 p_token3_value => x_currency_conversion_type,
17736 p_token4 => 'CONVERSION_DATE',
17737 p_token4_value => TO_CHAR(x_currency_conversion_date,'DD-MON-YYYY'));
17738 RAISE OKL_API.G_EXCEPTION_ERROR;
17739 END IF;
17740 x_original_cost := l_converted_cost;
17741 x_depreciable_cost := l_converted_cost;
17742 END IF;
17743
17744 END; /* get_orig_depreciation_cost */
17745
17746 PROCEDURE get_deprn_details(p_deprn_method_code IN fa_books.deprn_method_code%TYPE,
17747 p_life_in_months IN fa_books.life_in_months%TYPE,
17748 p_adjusted_rate IN fa_books.adjusted_rate%TYPE, --vthiruva bug#4439068.
17749 x_deprn_rate OUT NOCOPY fa_books.adjusted_rate%TYPE,
17750 x_life_in_months OUT NOCOPY fa_books.life_in_months%TYPE)
17751 IS
17752 --cursors
17753 CURSOR l_life_in_months_csr (p_deprn_method IN VARCHAR2,
17754 p_life_in_months IN NUMBER) IS
17755 SELECT 'Y'
17756 FROM fa_methods
17757 WHERE method_code = p_deprn_method
17758 AND life_in_months = p_life_in_months
17759 AND life_in_months IS NOT NULL;
17760
17761 CURSOR l_rate_csr (p_deprn_method IN VARCHAR2,
17762 p_rate IN NUMBER) IS
17763 SELECT 'Y'
17764 FROM fa_flat_rates ffr,
17765 fa_methods fm
17766 WHERE fm.method_code = p_deprn_method
17767 AND ffr.method_id = fm.method_id
17768 AND ffr.adjusted_rate = p_rate
17769 AND ffr.adjusting_rate = 0;
17770
17771 l_life_in_months_exists VARCHAR2(1);
17772
17773 l_rate_exists VARCHAR2(1);
17774
17775 BEGIN
17776 --logic
17777 l_life_in_months_exists := 'N';
17778 OPEN l_life_in_months_csr(p_deprn_method => p_deprn_method_code,
17779 p_life_in_months => p_life_in_months);
17780 FETCH l_life_in_months_csr INTO l_life_in_months_exists;
17781 IF l_life_in_months_csr%NOTFOUND THEN
17782 NULL;
17783 END IF;
17784 CLOSE l_life_in_months_csr;
17785
17786 IF l_life_in_months_exists = 'Y' THEN
17787 x_life_in_months := p_life_in_months;
17788 x_deprn_rate := NULL;
17789 ELSIF l_life_in_months_exists = 'N' THEN
17790 l_rate_exists := 'N';
17791 OPEN l_rate_csr (p_deprn_method => p_deprn_method_code,
17792 p_rate => p_adjusted_rate);
17793 FETCH l_rate_csr INTO l_rate_exists;
17794 IF l_rate_csr%NOTFOUND THEN
17795 NULL;
17796 END IF;
17797 CLOSE l_rate_csr;
17798 IF l_rate_exists = 'Y' THEN
17799 x_deprn_rate := p_adjusted_rate;
17800 x_life_in_months := NULL;
17801 END IF;
17802 END IF;
17803
17804 END; /* get_deprn_details */
17805
17806 PROCEDURE get_salvage_value(
17807 p_salvage_value IN fa_books.salvage_value%TYPE,
17808 p_percent_salvage_value IN fa_books.percent_salvage_value%TYPE,
17809 x_salvage_value OUT NOCOPY fa_books.salvage_value%TYPE,
17810 x_percent_salvage_value OUT NOCOPY fa_books.percent_salvage_value%TYPE) IS
17811
17812 l_func_currency VARCHAR2(15);
17813 l_k_currency VARCHAR2(15);
17814 x_contract_currency VARCHAR2(15);
17815 x_currency_conversion_type okl_txl_assets_b.currency_conversion_type%TYPE;
17816 x_currency_conversion_rate okl_txl_assets_b.currency_conversion_rate%TYPE;
17817 x_currency_conversion_date okl_txl_assets_b.currency_conversion_date%TYPE;
17818 l_salvage_value NUMBER;
17819 BEGIN
17820 l_func_currency := OKL_ACCOUNTING_UTIL.get_func_curr_code;
17821 l_k_currency := l_contract_currency;
17822
17823 IF (p_percent_salvage_value IS NULL) THEN
17824 IF (l_k_currency <> l_func_currency) THEN
17825 x_salvage_value := NULL;
17826 okl_accounting_util.convert_to_contract_currency(
17827 p_khr_id => l_copied_id,
17828 p_from_currency => l_func_currency,
17829 p_transaction_date => l_contract_start_date,
17830 p_amount => p_salvage_value,
17831 x_contract_currency => x_contract_currency,
17832 x_currency_conversion_type => x_currency_conversion_type,
17833 x_currency_conversion_rate => x_currency_conversion_rate,
17834 x_currency_conversion_date => x_currency_conversion_date,
17835 x_converted_amount => l_salvage_value);
17836 IF (p_salvage_value >= 0) AND (l_salvage_value < 0) THEN
17837 --currency conversion rate was not found in Oracle GL
17838 OKC_API.set_message(p_app_name => 'OKL_COPY_CONTRACT_PVT',
17839 p_msg_name => 'OKL_LLA_CONV_RATE_NOT_FOUND',
17840 p_token1 => 'FROM_CURRENCY',
17841 p_token1_value => x_contract_currency,
17842 p_token2 => 'TO_CURRENCY',
17843 p_token2_value => l_func_currency,
17844 p_token3 => 'CONVERSION_TYPE',
17845 p_token3_value => x_currency_conversion_type,
17846 p_token4 => 'CONVERSION_DATE',
17847 p_token4_value => TO_CHAR(x_currency_conversion_date,'DD-MON-YYYY'));
17848 RAISE OKL_API.G_EXCEPTION_ERROR;
17849 END IF;
17850 x_salvage_value := l_salvage_value;
17851 --x_percent_salvage_value := null;
17852 ELSE
17853 x_salvage_value := p_salvage_value;
17854 --x_percent_salvage_value := null;
17855 END IF;
17856 ELSE
17857 x_percent_salvage_value := p_percent_salvage_value * 100;
17858 END IF;
17859
17860 END; /* get_salvage_value */
17861
17862 PROCEDURE insert_okl_trx_assets_3(p_old_id IN okc_k_headers_b.id%TYPE,
17863 p_new_id IN okc_k_headers_b.id%TYPE) IS
17864 CURSOR c27(p_id NUMBER) IS
17865 SELECT
17866 fa.asset_id ID1,
17867 '#' ID2,
17868 fa.asset_number NAME,
17869 fat.description DESCRIPTION,
17870 fa.Asset_Id ASSET_ID,
17871 fa.Asset_Number ASSET_NUMBER,
17872 fb.book_type_code BOOK_TYPE_CODE,
17873 fb.life_in_months LIFE_IN_MONTHS,
17874 fb.original_cost ORIGINAL_COST,
17875 fb.cost COST,
17876 fb.adjusted_cost ADJUSTED_COST,
17877 fa.tag_number TAG_NUMBER,
17878 fa.current_units CURRENT_UNITS,
17879 fa.serial_number SERIAL_NUMBER,
17880 fb.reval_ceiling REVAL_CEILING,
17881 fa.new_used NEW_USED,
17882 fb.date_placed_in_service IN_SERVICE_DATE,
17883 fa.manufacturer_name MANUFACTURER_NAME,
17884 fa.model_number MODEL_NUMBER,
17885 fa.asset_type ASSET_TYPE,
17886 fb.salvage_value SALVAGE_VALUE,
17887 fb.percent_salvage_value PERCENT_SALVAGE_VALUE,
17888 fa.asset_category_id DEPRECIATION_CATEGORY,
17889 fb.deprn_start_date DEPR_START_DATE,
17890 fb.deprn_method_code DEPRN_METHOD_CODE,
17891 fb.rate_adjustment_factor RATE_ADJUSTMENT_FACTOR,
17892 fb.basic_rate BASIC_RATE,
17893 fb.adjusted_rate ADJUSTED_RATE,
17894 fb.Date_effective START_DATE_ACTIVE,
17895 fb.Date_ineffective END_DATE_ACTIVE,
17896 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,
17897 NULL PRIMARY_UOM_CODE,
17898 fb.recoverable_cost RECOVERABLE_COST,
17899 fbc.org_id ORG_ID,
17900 fbc.set_of_books_id SET_OF_BOOKS_ID,
17901 fa.property_type_code PROPERTY_TYPE_CODE,
17902 fa.property_1245_1250_code PROPERTY_1245_1250_CODE,
17903 fa.in_use_flag IN_USE_FLAG,
17904 fa.owned_leased OWNED_LEASED,
17905 fa.inventorial INVENTORIAL,
17906 fa.ASSET_KEY_CCID ASSET_KEY_CCID,
17907 fbc.book_class book_class ,
17908 b.id,
17909 b.cle_id
17910 FROM FA_BOOK_CONTROLS FBC,
17911 FA_BOOKS FB,
17912 FA_ADDITIONS_TL FAT,
17913 FA_ADDITIONS_B FA ,
17914 okc_k_items c,
17915 okc_k_lines_b b
17916 WHERE
17917 fbc.book_type_code = fb.book_type_code
17918 AND NVL(fbc.date_ineffective,SYSDATE+1) > SYSDATE
17919 AND fb.asset_id = fa.asset_id
17920 AND fb.transaction_header_id_out IS NULL
17921 AND fat.asset_id = fa.asset_id
17922 AND fat.LANGUAGE = USERENV('LANG')
17923 AND fa.asset_id = TO_CHAR(c.object1_id1) --for LSE_ID = 42
17924 AND c.cle_id = b.id
17925 AND c.object1_id1 IS NOT NULL
17926 AND c.object1_id2 IS NOT NULL
17927 AND b.lse_id = 42
17928 AND b.dnz_chr_id=p_id
17929 AND c.dnz_chr_id=p_id
17930 AND fbc.book_class IN ('CORPORATE', 'TAX')
17931 ORDER BY b.cle_id;
17932
17933
17934
17935 CURSOR c_base_language IS
17936 SELECT language_code
17937 FROM fnd_languages
17938 WHERE installed_flag = 'B';
17939
17940 CURSOR c_languages IS
17941 SELECT language_code
17942 FROM fnd_languages
17943 WHERE installed_flag IN ('B','I');
17944
17945 -- Bug# 5591618
17946 /*
17947 Changed the cursor to consider the try_id of 'Internal Asset Creation' for US
17948 language. The base language could be different in different instances and
17949 the cursor returns null if the base language is other than U.S lang.
17950 This resulted in try_id turning 1 which is not a valid try_id and therefore
17951 not able to activate a copied contract.
17952 */
17953
17954 CURSOR c_try_id IS
17955 SELECT id
17956 FROM okl_trx_types_tl
17957 WHERE name = 'Internal Asset Creation'
17958 AND LANGUAGE = 'US';
17959
17960 --Bug# 5591618
17961 /*
17962 --CURSOR c_try_id IS
17963 --SELECT a.id
17964 --FROM okl_trx_types_tl a,
17965 --fnd_languages b
17966 --WHERE a.name = 'Internal Asset Creation'
17967 --AND a.LANGUAGE = b.language_code
17968 --AND b.installed_flag = 'B';
17969 */
17970
17971 CURSOR c_location_id(p_asset_id IN fa_additions_b.asset_id%TYPE,
17972 p_book_type_code IN fa_books.book_type_code%TYPE) IS
17973 SELECT location_id
17974 FROM fa_distribution_history
17975 WHERE asset_id = p_asset_id
17976 AND book_type_code = p_book_type_code
17977 AND transaction_header_id_out IS NULL
17978 AND ROWNUM < 2;
17979
17980 TYPE l_ID1_type IS TABLE OF fa_additions_b.asset_id%TYPE INDEX BY BINARY_INTEGER;
17981 TYPE l_ID2_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
17982 TYPE l_NAME_type IS TABLE OF fa_additions_b.asset_number%TYPE INDEX BY BINARY_INTEGER;
17983 TYPE l_DESCRIPTION_type IS TABLE OF fa_additions_tl.description%TYPE INDEX BY BINARY_INTEGER;
17984 TYPE l_ASSET_ID_type IS TABLE OF fa_additions_b.asset_id%TYPE INDEX BY BINARY_INTEGER;
17985 TYPE l_ASSET_NUMBER_type IS TABLE OF fa_additions_b.asset_number%TYPE INDEX BY BINARY_INTEGER;
17986 TYPE l_BOOK_TYPE_CODE_type IS TABLE OF fa_books.book_type_code%TYPE INDEX BY BINARY_INTEGER;
17987 TYPE l_LIFE_IN_MONTHS_type IS TABLE OF fa_books.life_in_months%TYPE INDEX BY BINARY_INTEGER;
17988 TYPE l_ORIGINAL_COST_type IS TABLE OF fa_books.original_cost%TYPE INDEX BY BINARY_INTEGER;
17989 TYPE l_COST_type IS TABLE OF fa_books.cost%TYPE INDEX BY BINARY_INTEGER;
17990 TYPE l_ADJUSTED_COST_type IS TABLE OF fa_books.adjusted_cost%TYPE INDEX BY BINARY_INTEGER;
17991 TYPE l_TAG_NUMBER_type IS TABLE OF fa_additions_b.tag_number%TYPE INDEX BY BINARY_INTEGER;
17992 TYPE l_CURRENT_UNITS_type IS TABLE OF fa_additions_b.current_units%TYPE INDEX BY BINARY_INTEGER;
17993 TYPE l_SERIAL_NUMBER_type IS TABLE OF fa_additions_b.serial_number%TYPE INDEX BY BINARY_INTEGER;
17994 TYPE l_REVAL_CEILING_type IS TABLE OF fa_books.reval_ceiling%TYPE INDEX BY BINARY_INTEGER;
17995 TYPE l_NEW_USED_type IS TABLE OF fa_additions_b.new_used%TYPE INDEX BY BINARY_INTEGER;
17996 TYPE l_IN_SERVICE_DATE_type IS TABLE OF fa_books.date_placed_in_service%TYPE INDEX BY BINARY_INTEGER;
17997 TYPE l_MANUFACTURER_NAME_type IS TABLE OF fa_additions_b.manufacturer_name%TYPE INDEX BY BINARY_INTEGER;
17998 TYPE l_MODEL_NUMBER_type IS TABLE OF fa_additions_b.model_number%TYPE INDEX BY BINARY_INTEGER;
17999 TYPE l_ASSET_TYPE_type IS TABLE OF fa_additions_b.asset_type%TYPE INDEX BY BINARY_INTEGER;
18000 TYPE l_SALVAGE_VALUE_type IS TABLE OF fa_books.salvage_value%TYPE INDEX BY BINARY_INTEGER;
18001 TYPE l_PERCENT_SALVAGE_VALUE_type IS TABLE OF fa_books.percent_salvage_value%TYPE INDEX BY BINARY_INTEGER;
18002 TYPE l_DEPRECIATION_CATEGORY_type IS TABLE OF fa_additions_b.asset_category_id%TYPE INDEX BY BINARY_INTEGER;
18003 TYPE l_DEPR_START_DATE_type IS TABLE OF fa_books.deprn_start_date%TYPE INDEX BY BINARY_INTEGER;
18004 TYPE l_DEPRN_METHOD_CODE_type IS TABLE OF fa_books.deprn_method_code%TYPE INDEX BY BINARY_INTEGER;
18005 TYPE l_RATE_ADJUSTMENT_FACTOR_type IS TABLE OF fa_books.rate_adjustment_factor%TYPE INDEX BY BINARY_INTEGER;
18006 TYPE l_BASIC_RATE_type IS TABLE OF fa_books.basic_rate%TYPE INDEX BY BINARY_INTEGER;
18007 TYPE l_ADJUSTED_RATE_type IS TABLE OF fa_books.adjusted_rate%TYPE INDEX BY BINARY_INTEGER;
18008 TYPE l_START_DATE_ACTIVE_type IS TABLE OF fa_books.date_effective%TYPE INDEX BY BINARY_INTEGER;
18009 TYPE l_END_DATE_ACTIVE_type IS TABLE OF fa_books.date_ineffective%TYPE INDEX BY BINARY_INTEGER;
18010 TYPE l_STATUS_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
18011 TYPE l_PRIMARY_UOM_CODE_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
18012 TYPE l_RECOVERABLE_COST_type IS TABLE OF fa_books.recoverable_cost%TYPE INDEX BY BINARY_INTEGER;
18013 TYPE l_ORG_ID_type IS TABLE OF fa_book_controls.org_id%TYPE INDEX BY BINARY_INTEGER;
18014 TYPE l_SET_OF_BOOKS_ID_type IS TABLE OF fa_book_controls.set_of_books_id%TYPE INDEX BY BINARY_INTEGER;
18015 TYPE l_PROPERTY_TYPE_CODE_type IS TABLE OF fa_additions_b.property_type_code%TYPE INDEX BY BINARY_INTEGER;
18016 TYPE l_PROPERTY_1245_1250_CODE_type IS TABLE OF fa_additions_b.property_1245_1250_code%TYPE INDEX BY BINARY_INTEGER;
18017 TYPE l_IN_USE_FLAG_type IS TABLE OF fa_additions_b.in_use_flag%TYPE INDEX BY BINARY_INTEGER;
18018 TYPE l_OWNED_LEASED_type IS TABLE OF fa_additions_b.owned_leased%TYPE INDEX BY BINARY_INTEGER;
18019 TYPE l_INVENTORIAL_type IS TABLE OF fa_additions_b.inventorial%TYPE INDEX BY BINARY_INTEGER;
18020 TYPE l_ASSET_KEY_CCID_type IS TABLE OF fa_additions_b.asset_key_ccid%TYPE INDEX BY BINARY_INTEGER;
18021 TYPE l_book_class_type IS TABLE OF fa_book_controls.book_class%TYPE INDEX BY BINARY_INTEGER;
18022 TYPE l_id_type IS TABLE OF okc_k_lines_b.id%TYPE INDEX BY BINARY_INTEGER;
18023 TYPE l_cle_id_type IS TABLE OF okc_k_lines_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
18024
18025 TYPE l_lang_tab_type IS TABLE OF fnd_languages.language_code%TYPE INDEX BY BINARY_INTEGER;
18026
18027 l_ID1_tab l_ID1_type;
18028 l_ID2_tab l_ID2_type;
18029 l_NAME_local_tab l_NAME_type;
18030 l_DESCRIPTION_tab l_DESCRIPTION_type;
18031 l_ASSET_ID_tab l_ASSET_ID_type;
18032 l_ASSET_NUMBER_tab l_ASSET_NUMBER_type;
18033 l_BOOK_TYPE_CODE_tab l_BOOK_TYPE_CODE_type;
18034 l_LIFE_IN_MONTHS_tab l_LIFE_IN_MONTHS_type;
18035 l_ORIGINAL_COST_tab l_ORIGINAL_COST_type;
18036 l_COST_tab l_COST_type;
18037 l_ADJUSTED_COST_tab l_ADJUSTED_COST_type;
18038 l_TAG_NUMBER_tab l_TAG_NUMBER_type;
18039 l_CURRENT_UNITS_tab l_CURRENT_UNITS_type;
18040 l_SERIAL_NUMBER_tab l_SERIAL_NUMBER_type;
18041 l_REVAL_CEILING_tab l_REVAL_CEILING_type;
18042 l_NEW_USED_tab l_NEW_USED_type;
18043 l_IN_SERVICE_DATE_tab l_IN_SERVICE_DATE_type;
18044 l_MANUFACTURER_NAME_tab l_MANUFACTURER_NAME_type;
18045 l_MODEL_NUMBER_tab l_MODEL_NUMBER_type;
18046 l_ASSET_TYPE_tab l_ASSET_TYPE_type;
18047 l_SALVAGE_VALUE_tab l_SALVAGE_VALUE_type;
18048 l_PERCENT_SALVAGE_VALUE_tab l_PERCENT_SALVAGE_VALUE_type;
18049 l_DEPRECIATION_CATEGORY_tab l_DEPRECIATION_CATEGORY_type;
18050 l_DEPR_START_DATE_tab l_DEPR_START_DATE_type;
18051 l_DEPRN_METHOD_CODE_tab l_DEPRN_METHOD_CODE_type;
18052 l_RATE_ADJUSTMENT_FACTOR_tab l_RATE_ADJUSTMENT_FACTOR_type;
18053 l_BASIC_RATE_tab l_BASIC_RATE_type;
18054 l_ADJUSTED_RATE_tab l_ADJUSTED_RATE_type;
18055 l_START_DATE_ACTIVE_tab l_START_DATE_ACTIVE_type;
18056 l_END_DATE_ACTIVE_tab l_END_DATE_ACTIVE_type;
18057 l_STATUS_tab l_STATUS_type;
18058 l_PRIMARY_UOM_CODE_tab l_PRIMARY_UOM_CODE_type;
18059 l_RECOVERABLE_COST_tab l_RECOVERABLE_COST_type;
18060 l_ORG_ID_tab l_ORG_ID_type;
18061 l_SET_OF_BOOKS_ID_tab l_SET_OF_BOOKS_ID_type;
18062 l_PROPERTY_TYPE_CODE_tab l_PROPERTY_TYPE_CODE_type;
18063 l_PROPERTY_1245_1250_CODE_tab l_PROPERTY_1245_1250_CODE_type;
18064 l_IN_USE_FLAG_tab l_IN_USE_FLAG_type;
18065 l_OWNED_LEASED_tab l_OWNED_LEASED_type;
18066 l_INVENTORIAL_tab l_INVENTORIAL_type;
18067 l_ASSET_KEY_CCID_tab l_ASSET_KEY_CCID_type;
18068 l_book_class_tab l_book_class_type;
18069 l_id_local_tab l_id_type;
18070
18071 l_okl_trx_counter3 NUMBER := 1;
18072
18073 l_ID1_tab2 l_ID1_type;
18074 l_ID2_tab2 l_ID2_type;
18075 l_NAME_local_tab2 l_NAME_type;
18076 l_DESCRIPTION_tab2 l_DESCRIPTION_type;
18077 l_ASSET_ID_tab2 l_ASSET_ID_type;
18078 l_ASSET_NUMBER_tab2 l_ASSET_NUMBER_type;
18079 l_BOOK_TYPE_CODE_tab2 l_BOOK_TYPE_CODE_type;
18080 l_LIFE_IN_MONTHS_tab2 l_LIFE_IN_MONTHS_type;
18081 l_ORIGINAL_COST_tab2 l_ORIGINAL_COST_type;
18082 l_COST_tab2 l_COST_type;
18083 l_ADJUSTED_COST_tab2 l_ADJUSTED_COST_type;
18084 l_TAG_NUMBER_tab2 l_TAG_NUMBER_type;
18085 l_CURRENT_UNITS_tab2 l_CURRENT_UNITS_type;
18086 l_SERIAL_NUMBER_tab2 l_SERIAL_NUMBER_type;
18087 l_REVAL_CEILING_tab2 l_REVAL_CEILING_type;
18088 l_NEW_USED_tab2 l_NEW_USED_type;
18089 l_IN_SERVICE_DATE_tab2 l_IN_SERVICE_DATE_type;
18090 l_MANUFACTURER_NAME_tab2 l_MANUFACTURER_NAME_type;
18091 l_MODEL_NUMBER_tab2 l_MODEL_NUMBER_type;
18092 l_ASSET_TYPE_tab2 l_ASSET_TYPE_type;
18093 l_SALVAGE_VALUE_tab2 l_SALVAGE_VALUE_type;
18094 l_PERCENT_SALVAGE_VALUE_tab2 l_PERCENT_SALVAGE_VALUE_type;
18095 l_DEPRECIATION_CATEGORY_tab2 l_DEPRECIATION_CATEGORY_type;
18096 l_DEPR_START_DATE_tab2 l_DEPR_START_DATE_type;
18097 l_DEPRN_METHOD_CODE_tab2 l_DEPRN_METHOD_CODE_type;
18098 l_RATE_ADJUSTMENT_FACTOR_tab2 l_RATE_ADJUSTMENT_FACTOR_type;
18099 l_BASIC_RATE_tab2 l_BASIC_RATE_type;
18100 l_ADJUSTED_RATE_tab2 l_ADJUSTED_RATE_type;
18101 l_START_DATE_ACTIVE_tab2 l_START_DATE_ACTIVE_type;
18102 l_END_DATE_ACTIVE_tab2 l_END_DATE_ACTIVE_type;
18103 l_STATUS_tab2 l_STATUS_type;
18104 l_PRIMARY_UOM_CODE_tab2 l_PRIMARY_UOM_CODE_type;
18105 l_RECOVERABLE_COST_tab2 l_RECOVERABLE_COST_type;
18106 l_ORG_ID_tab2 l_ORG_ID_type;
18107 l_SET_OF_BOOKS_ID_tab2 l_SET_OF_BOOKS_ID_type;
18108 l_PROPERTY_TYPE_CODE_tab2 l_PROPERTY_TYPE_CODE_type;
18109 l_PROPERTY_1245_1250_CODE_tab2 l_PROPERTY_1245_1250_CODE_type;
18110 l_IN_USE_FLAG_tab2 l_IN_USE_FLAG_type;
18111 l_OWNED_LEASED_tab2 l_OWNED_LEASED_type;
18112 l_INVENTORIAL_tab2 l_INVENTORIAL_type;
18113 l_ASSET_KEY_CCID_tab2 l_ASSET_KEY_CCID_type;
18114 l_book_class_tab2 l_book_class_type;
18115 l_id_local_tab2 l_id_type;
18116 l_cle_id_tab2 l_cle_id_type;
18117
18118 l_new_id NUMBER;
18119 l_t3id_tab l_tid_type;
18120
18121 -- okl_txl_assets_tl
18122 l_tl2id_tab l_tlid_type;
18123 l_tl2description_tab l_tldescription_type;
18124 l_tl2language_tab l_tllanguage_type;
18125
18126 l_txl_assets_tl_counter4 NUMBER := 1;
18127 l_lang_tab l_lang_tab_type;
18128 l_base_language fnd_languages.language_code%TYPE;
18129
18130 l_orig_cost NUMBER;
18131 l_depreciable_cost NUMBER;
18132 l_deprn_rate fa_books.adjusted_rate%TYPE;
18133 l_life_in_months fa_books.life_in_months%TYPE;
18134 l_salvage_value fa_books.salvage_value%TYPE;
18135 l_percent_salvage_value fa_books.percent_salvage_value%TYPE;
18136
18137 --okl_txd_assets_b
18138 l_db2id_tab l_dbid_type;
18139 l_db2tal_id_tab l_dbtal_id_type;
18140 l_db2line_detail_number_tab l_dbline_detail_number_type;
18141 l_db2asset_number_tab l_dbasset_number_type;
18142 l_db2quantity_tab l_dbquantity_type;
18143 l_db2cost_tab l_dbcost_type;
18144 l_db2tax_book_tab l_dbtax_book_type;
18145 l_db2life_in_months_tax_tab l_dblife_in_months_tax_type;
18146 l_db2deprn_method_tax_tab l_dbdeprn_method_tax_type;
18147 l_db2deprn_rate_tax_tab l_dbdeprn_rate_tax_type;
18148 l_db2salvage_value_tab l_dbsalvage_value_type;
18149
18150 l_txd_assets_b_counter4 NUMBER := 1;
18151 l_new_tal_id NUMBER;
18152 l_new_line_number NUMBER;
18153 l_junk_cost NUMBER;
18154
18155 -- okl_txd_assets_tl
18156 l_dl2id_tab l_dlid_type;
18157 l_dl2description_tab l_dldescription_type;
18158 l_dl2language_tab l_dllanguage_type;
18159
18160 l_txd_assets_tl_counter4 NUMBER := 1;
18161
18162 l_location_id NUMBER;
18163 l_new_asset_number fa_additions_b.asset_number%TYPE;
18164 l_tmp_okl_42_rec l_okl_k_lines_rec_type;
18165 l_tmp_itm_rec l_okc_k_items_rec_type;
18166
18167 l_cle_id NUMBER;
18168 l_new_33_id NUMBER;
18169 l_tmp_okl_33_rec l_okl_k_lines_rec_type;
18170 l_tmp_okc_34_rec l_okc_k_items_rec_type;
18171 l_new_34_id NUMBER;
18172 l_asset_name_old okc_k_lines_tl.name%TYPE;
18173 l_multi_gaap_profile okl_txd_assets_b.tax_book%TYPE;
18174
18175 --Added by dpsingh for LE Uptake
18176 CURSOR contract_num_csr (p_ctr_id1 NUMBER) IS
18177 SELECT contract_number
18178 FROM OKC_K_HEADERS_B
18179 WHERE id = p_ctr_id1;
18180
18181 l_cntrct_number OKC_K_HEADERS_B.CONTRACT_NUMBER%TYPE;
18182 l_legal_entity_id NUMBER;
18183
18184 BEGIN
18185 OPEN c_try_id;
18186 FETCH c_try_id INTO l_try_id;
18187 IF (c_try_id%NOTFOUND) THEN
18188 l_try_id := 1;
18189 END IF;
18190 CLOSE c_try_id;
18191
18192 OPEN c_languages;
18193 FETCH c_languages bulk collect INTO
18194 l_lang_tab
18195 limit G_BULK_SIZE;
18196 CLOSE c_languages;
18197
18198 FOR r IN c_base_language
18199 LOOP
18200 l_base_language := r.language_code;
18201 END LOOP;
18202
18203 OPEN c27(p_old_id);
18204 LOOP
18205 FETCH c27 bulk collect INTO
18206 l_ID1_tab2, l_ID2_tab2, l_NAME_local_tab2,
18207 l_DESCRIPTION_tab2, l_ASSET_ID_tab2, l_ASSET_NUMBER_tab2,
18208 l_BOOK_TYPE_CODE_tab2, l_LIFE_IN_MONTHS_tab2, l_ORIGINAL_COST_tab2,
18209 l_COST_tab2, l_ADJUSTED_COST_tab2, l_TAG_NUMBER_tab2,
18210 l_CURRENT_UNITS_tab2, l_SERIAL_NUMBER_tab2, l_REVAL_CEILING_tab2,
18211 l_NEW_USED_tab2, l_IN_SERVICE_DATE_tab2, l_MANUFACTURER_NAME_tab2,
18212 l_MODEL_NUMBER_tab2, l_ASSET_TYPE_tab2, l_SALVAGE_VALUE_tab2,
18213 l_PERCENT_SALVAGE_VALUE_tab2, l_DEPRECIATION_CATEGORY_tab2, l_DEPR_START_DATE_tab2,
18214 l_DEPRN_METHOD_CODE_tab2, l_RATE_ADJUSTMENT_FACTOR_tab2, l_BASIC_RATE_tab2,
18215 l_ADJUSTED_RATE_tab2, l_START_DATE_ACTIVE_tab2, l_END_DATE_ACTIVE_tab2,
18216 l_STATUS_tab2, l_PRIMARY_UOM_CODE_tab2, l_RECOVERABLE_COST_tab2,
18217 l_ORG_ID_tab2, l_SET_OF_BOOKS_ID_tab2, l_PROPERTY_TYPE_CODE_tab2,
18218 l_PROPERTY_1245_1250_CODE_tab2, l_IN_USE_FLAG_tab2, l_OWNED_LEASED_tab2,
18219 l_INVENTORIAL_tab2, l_ASSET_KEY_CCID_tab2, l_book_class_tab2,
18220 l_id_local_tab2, l_cle_id_tab2
18221 limit G_BULK_SIZE;
18222 EXIT WHEN l_ID1_tab2.COUNT=0;
18223 FOR i IN l_ID1_tab2.first..l_ID1_tab2.last
18224 LOOP
18225 l_ID1_tab(l_okl_trx_counter3) := l_ID1_tab2(i);
18226 l_ID2_tab(l_okl_trx_counter3) := l_ID2_tab2(i);
18227 l_NAME_local_tab(l_okl_trx_counter3) := l_NAME_local_tab2(i);
18228 l_DESCRIPTION_tab(l_okl_trx_counter3) := l_DESCRIPTION_tab2(i);
18229 l_ASSET_ID_tab(l_okl_trx_counter3) := l_ASSET_ID_tab2(i);
18230 l_ASSET_NUMBER_tab(l_okl_trx_counter3) := l_ASSET_NUMBER_tab2(i);
18231 l_BOOK_TYPE_CODE_tab(l_okl_trx_counter3) := l_BOOK_TYPE_CODE_tab2(i);
18232 l_LIFE_IN_MONTHS_tab(l_okl_trx_counter3) := l_LIFE_IN_MONTHS_tab2(i);
18233 l_ORIGINAL_COST_tab(l_okl_trx_counter3) := l_ORIGINAL_COST_tab2(i);
18234 l_COST_tab(l_okl_trx_counter3) := l_COST_tab2(i);
18235 l_ADJUSTED_COST_tab(l_okl_trx_counter3) := l_ADJUSTED_COST_tab2(i);
18236 l_TAG_NUMBER_tab(l_okl_trx_counter3) := l_TAG_NUMBER_tab2(i);
18237 l_CURRENT_UNITS_tab(l_okl_trx_counter3) := l_CURRENT_UNITS_tab2(i);
18238 l_SERIAL_NUMBER_tab(l_okl_trx_counter3) := l_SERIAL_NUMBER_tab2(i);
18239 l_REVAL_CEILING_tab(l_okl_trx_counter3) := l_REVAL_CEILING_tab2(i);
18240 l_NEW_USED_tab(l_okl_trx_counter3) := l_NEW_USED_tab2(i);
18241 l_IN_SERVICE_DATE_tab(l_okl_trx_counter3) := l_IN_SERVICE_DATE_tab2(i);
18242 l_MANUFACTURER_NAME_tab(l_okl_trx_counter3) := l_MANUFACTURER_NAME_tab2(i);
18243 l_MODEL_NUMBER_tab(l_okl_trx_counter3) := l_MODEL_NUMBER_tab2(i);
18244 l_ASSET_TYPE_tab(l_okl_trx_counter3) := l_ASSET_TYPE_tab2(i);
18245 l_SALVAGE_VALUE_tab(l_okl_trx_counter3) := l_SALVAGE_VALUE_tab2(i);
18246 l_PERCENT_SALVAGE_VALUE_tab(l_okl_trx_counter3) := l_PERCENT_SALVAGE_VALUE_tab2(i);
18247 l_DEPRECIATION_CATEGORY_tab(l_okl_trx_counter3) := l_DEPRECIATION_CATEGORY_tab2(i);
18248 l_DEPR_START_DATE_tab(l_okl_trx_counter3) := l_DEPR_START_DATE_tab2(i);
18249 l_DEPRN_METHOD_CODE_tab(l_okl_trx_counter3) := l_DEPRN_METHOD_CODE_tab2(i);
18250 l_RATE_ADJUSTMENT_FACTOR_tab(l_okl_trx_counter3) := l_RATE_ADJUSTMENT_FACTOR_tab2(i);
18251 l_BASIC_RATE_tab(l_okl_trx_counter3) := l_BASIC_RATE_tab2(i);
18252 l_ADJUSTED_RATE_tab(l_okl_trx_counter3) := l_ADJUSTED_RATE_tab2(i);
18253 l_START_DATE_ACTIVE_tab(l_okl_trx_counter3) := l_START_DATE_ACTIVE_tab2(i);
18254 l_END_DATE_ACTIVE_tab(l_okl_trx_counter3) := l_END_DATE_ACTIVE_tab2(i);
18255 l_STATUS_tab(l_okl_trx_counter3) := l_STATUS_tab2(i);
18256 l_PRIMARY_UOM_CODE_tab(l_okl_trx_counter3) := l_PRIMARY_UOM_CODE_tab2(i);
18257 l_RECOVERABLE_COST_tab(l_okl_trx_counter3) := l_RECOVERABLE_COST_tab2(i);
18258 l_ORG_ID_tab(l_okl_trx_counter3) := l_ORG_ID_tab2(i);
18259 l_SET_OF_BOOKS_ID_tab(l_okl_trx_counter3) := l_SET_OF_BOOKS_ID_tab2(i);
18260 l_PROPERTY_TYPE_CODE_tab(l_okl_trx_counter3) := l_PROPERTY_TYPE_CODE_tab2(i);
18261 l_PROPERTY_1245_1250_CODE_tab(l_okl_trx_counter3) := l_PROPERTY_1245_1250_CODE_tab2(i);
18262 l_IN_USE_FLAG_tab(l_okl_trx_counter3) := l_IN_USE_FLAG_tab2(i);
18263 l_OWNED_LEASED_tab(l_okl_trx_counter3) := l_OWNED_LEASED_tab2(i);
18264 l_INVENTORIAL_tab(l_okl_trx_counter3) := l_INVENTORIAL_tab2(i);
18265 l_ASSET_KEY_CCID_tab(l_okl_trx_counter3) := l_ASSET_KEY_CCID_tab2(i);
18266 l_book_class_tab(l_okl_trx_counter3) := l_book_class_tab2(i);
18267 l_ID_local_tab(l_okl_trx_counter3) := l_ID_local_tab2(i);
18268
18269 -- Change id (which is same as kle_id)
18270 l_new_id := find_mapping_id(l_ID_local_tab(l_okl_trx_counter3));
18271 IF (l_new_id = -1) THEN
18272 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18273 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));
18274 END IF;
18275 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
18276 END IF;
18277 l_ID_local_tab(l_okl_trx_counter3) := l_new_id;
18278
18279 l_okl_trx_counter3 := l_okl_trx_counter3 + 1;
18280
18281 END LOOP;
18282 END LOOP;
18283 CLOSE c27;
18284 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18285 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ID1_tab.count=' || l_ID1_tab.COUNT);
18286 END IF;
18287 IF (l_ID1_tab.COUNT > 0) THEN
18288 FOR i IN l_ID1_tab.first..l_ID1_tab.last
18289 LOOP
18290 IF (l_book_class_tab(i) = 'CORPORATE') THEN
18291 -- Populate okl_trx_assets
18292 l_t3id_tab(l_trx_assets_counter4) := okc_p_util.raw_to_number(sys_guid());
18293 -- Populate kle to tas_id mapping
18294 l_cle_mapping_tab(l_trx_assets_counter4).old_id := l_ID_local_tab(i); -- kle_id
18295 --l_cle_mapping_tab(l_trx_assets_counter4).new_id := l_t3id_tab(l_trx_assets_counter4);
18296 l_cle_mapping_tab(l_trx_assets_counter4).line_number := 1;
18297
18298 -- Populate okl_txl_assets_b
18299 l_tb2id_tab(l_trx_assets_counter4) := okc_p_util.raw_to_number(sys_guid());
18300 l_cle_mapping_tab(l_trx_assets_counter4).new_id := l_tb2id_tab(l_trx_assets_counter4);
18301 l_tb2object_version_number_tab(l_trx_assets_counter4) := 1;
18302 l_tb2tas_id_tab(l_trx_assets_counter4) := l_t3id_tab(l_trx_assets_counter4);
18303 -- id already changed earlier
18304 l_tb2kle_id_tab(l_trx_assets_counter4) := l_ID_local_tab(i);
18305
18306 -- Store Tal id to kle_id mapping
18307 l_dbid_mapping_tab(l_tal_to_kle_counter).tal_id := l_tb2id_tab(l_trx_assets_counter4);
18308 l_dbid_mapping_tab(l_tal_to_kle_counter).kle_id := l_tb2kle_id_tab(l_trx_assets_counter4);
18309 l_tal_to_kle_counter := l_tal_to_kle_counter + 1;
18310
18311 l_tb2dnz_khr_id_tab(l_trx_assets_counter4) := l_copied_id;
18312 l_tb2asset_number_tab(l_trx_assets_counter4) := l_ASSET_NUMBER_tab(i);
18313 -- Change asset_number AKP???
18314 /* Bug 4439068 */
18315 IF p_trans_type not in ('CRB', 'CRL', 'CSP', 'CRV', 'ALI') THEN
18316 l_new_asset_number := find_aid_mapping_id(l_tb2asset_number_tab(l_trx_assets_counter4));
18317 IF (l_new_asset_number <> '-1') THEN
18318 l_tb2asset_number_tab(l_trx_assets_counter4) := l_new_asset_number;
18319 END IF;
18320 END IF;
18321 /* Bug 4439068 */
18322
18323 l_tb2line_number_tab(l_trx_assets_counter4) := 1;
18324 l_tb2tal_type_tab(l_trx_assets_counter4) := p_trans_type;
18325
18326 -- Populate location_id
18327 OPEN c_location_id(l_asset_id_tab(i), l_BOOK_TYPE_CODE_tab(i));
18328 FETCH c_location_id
18329 INTO l_location_id;
18330 IF (c_location_id%NOTFOUND) THEN
18331 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18332 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));
18333 END IF;
18334 x_return_status := OKL_API.G_RET_STS_ERROR;
18335 CLOSE c_location_id;
18336 RAISE OKL_API.G_EXCEPTION_ERROR;
18337 END IF;
18338 CLOSE c_location_id;
18339 l_tb2fa_location_id_tab(l_trx_assets_counter4) := l_location_id;
18340
18341 -- Todo AKP
18342
18343 get_orig_depreciation_cost(l_COST_tab(i), l_orig_cost, l_depreciable_cost);
18344 l_tb2original_cost_tab(l_trx_assets_counter4) := l_orig_cost;
18345 l_tb2depreciation_cost_tab(l_trx_assets_counter4) := l_depreciable_cost;
18346 -- Bug 4636587
18347 IF (p_trans_type = 'CRB') THEN
18348 l_tb2fa_cost_tab(l_trx_assets_counter4) := l_depreciable_cost;
18349 ELSE
18350 l_tb2fa_cost_tab(l_trx_assets_counter4) := NULL;
18351 END IF;
18352
18353 l_tb2current_units_tab(l_trx_assets_counter4) := l_CURRENT_UNITS_tab(i);
18354 l_tb2manufacturer_name_tab(l_trx_assets_counter4) := l_MANUFACTURER_NAME_tab(i);
18355 l_tmp_okl_42_rec := find_okl_k_lines_rec(l_id_local_tab(i));
18356 IF (l_tmp_okl_42_rec.year_built = OKC_API.G_MISS_NUM ) THEN
18357 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18358 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));
18359 END IF;
18360 RAISE OKL_API.G_EXCEPTION_ERROR;
18361 END IF;
18362
18363 l_tb2year_manufactured_tab(l_trx_assets_counter4) := l_tmp_okl_42_rec.year_built;
18364 -- Todo AKP
18365
18366 IF (l_NEW_USED_tab(i) = 'NEW' OR l_NEW_USED_tab(i) IS NULL) THEN
18367 l_tb2used_asset_yn_tab(l_trx_assets_counter4) := NULL;
18368 ELSE
18369 l_tb2used_asset_yn_tab(l_trx_assets_counter4) := 'Y';
18370 END IF;
18371
18372 l_tb2tag_number_tab(l_trx_assets_counter4) := l_TAG_NUMBER_tab(i);
18373 l_tb2model_number_tab(l_trx_assets_counter4) := l_MODEL_NUMBER_tab(i);
18374 l_tb2corporate_book_tab(l_trx_assets_counter4) := l_BOOK_TYPE_CODE_tab(i);
18375 l_tb2in_service_date_tab(l_trx_assets_counter4) := l_IN_SERVICE_DATE_tab(i);
18376 l_tb2depreciation_id_tab(l_trx_assets_counter4) := l_DEPRECIATION_CATEGORY_tab(i);
18377 l_tb2deprn_method_tab(l_trx_assets_counter4) := l_DEPRN_METHOD_CODE_tab(i);
18378 -- Todo AKP
18379
18380 get_deprn_details(l_DEPRN_METHOD_CODE_tab(i),
18381 l_LIFE_IN_MONTHS_tab(i),
18382 l_ADJUSTED_RATE_tab(i),
18383 l_deprn_rate,
18384 l_life_in_months);
18385 l_tb2deprn_rate_tab(l_trx_assets_counter4) := l_deprn_rate;
18386 l_tb2life_in_months_tab(l_trx_assets_counter4) := l_life_in_months;
18387
18388 get_salvage_value(l_SALVAGE_VALUE_tab(i),
18389 l_PERCENT_SALVAGE_VALUE_tab(i),
18390 l_salvage_value,
18391 l_percent_salvage_value);
18392 l_tb2salvage_value_tab(l_trx_assets_counter4) := l_salvage_value;
18393 l_tb2percent_salvage_value_tab(l_trx_assets_counter4) := l_percent_salvage_value;
18394
18395 l_tb2asset_key_id_tab(l_trx_assets_counter4) := l_ASSET_KEY_CCID_tab(i);
18396 l_tb2fa_trx_date_tab(l_trx_assets_counter4) := NULL;
18397
18398 -- Populate okl_trx_assets_tl
18399 FOR j IN l_lang_tab.first..l_lang_tab.last
18400 LOOP
18401 l_tl2id_tab(l_txl_assets_tl_counter4) := l_tb2id_tab(l_trx_assets_counter4);
18402 l_tl2description_tab(l_txl_assets_tl_counter4) := l_DESCRIPTION_tab(i);
18403 l_tl2language_tab(l_txl_assets_tl_counter4) := l_lang_tab(j);
18404
18405 l_txl_assets_tl_counter4 := l_txl_assets_tl_counter4 + 1;
18406 END LOOP;
18407
18408 l_trx_assets_counter4 := l_trx_assets_counter4 + 1;
18409 END IF; /* if CORPORATE */
18410 END LOOP; /* end loop i */
18411 END IF; /* end if l_ID1_tab.count > 0*/
18412 sort_cle_mapping_tab;
18413 sort_dbid_mapping_tab;
18414
18415 IF (l_ID1_tab.COUNT > 0) THEN
18416 l_multi_gaap_profile := OKL_SYSTEM_PARAMS_ALL_PUB.get_system_param_value(OKL_SYSTEM_PARAMS_ALL_PUB.G_RPT_PROD_BOOK_TYPE_CODE);
18417 IF (l_multi_gaap_profile IS NULL) THEN
18418 l_multi_gaap_profile := ' ';
18419 END IF;
18420 FOR i IN l_ID1_tab.first..l_ID1_tab.last
18421 LOOP
18422 IF (l_book_class_tab(i) = 'TAX') THEN
18423 IF ((l_BOOK_TYPE_CODE_tab(i) = l_multi_gaap_profile) AND
18424 p_trans_type NOT IN ('CRB', 'CRL')) THEN
18425 NULL;
18426 ELSE
18427 l_db2id_tab(l_txd_assets_b_counter4) := okc_p_util.raw_to_number(sys_guid());
18428 l_new_tal_id := find_cle_mapping_id(l_ID_local_tab(i));
18429 IF (l_new_tal_id = -1) THEN
18430 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18431 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR!!!!Mapping tal_id not found');
18432 END IF;
18433 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
18434 END IF;
18435 l_db2tal_id_tab(l_txd_assets_b_counter4) := l_new_tal_id;
18436 --print('l_new_tal_id='|| l_new_tal_id);
18437 l_db2asset_number_tab(l_txd_assets_b_counter4) := l_ASSET_NUMBER_tab(i);
18438 /* Bug 4439068 */
18439 IF p_trans_type not in ('CRB', 'CRL', 'CSP', 'CRV', 'ALI') THEN
18440 IF (l_db2asset_number_tab(l_txd_assets_b_counter4) IS NOT NULL) THEN
18441 l_new_asset_number := find_aid_mapping_id(l_db2asset_number_tab(l_txd_assets_b_counter4));
18442 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18443 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_new_asset_number=' || l_new_asset_number);
18444 END IF;
18445 IF (l_new_asset_number <> '-1') THEN
18446 l_db2asset_number_tab(l_txd_assets_b_counter4) := l_new_asset_number;
18447 END IF;
18448 END IF;
18449 END IF;
18450 /* Bug 4439068 */
18451
18452 l_new_line_number := find_cle_line_number(l_ID_local_tab(i));
18453 IF (l_new_line_number = -1) THEN
18454 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18455 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR!!!!Mapping line_number not found');
18456 END IF;
18457 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
18458 END IF;
18459 l_db2line_detail_number_tab(l_txd_assets_b_counter4) := l_new_line_number;
18460
18461 l_db2quantity_tab(l_txd_assets_b_counter4) := l_CURRENT_UNITS_tab(i);
18462
18463 get_orig_depreciation_cost(l_COST_tab(i), l_orig_cost, l_junk_cost);
18464 l_db2cost_tab(l_txd_assets_b_counter4) := l_orig_cost;
18465 l_db2tax_book_tab(l_txd_assets_b_counter4) := l_BOOK_TYPE_CODE_tab(i);
18466 l_db2salvage_value_tab(l_txd_assets_b_counter4) := l_SALVAGE_VALUE_tab(i);
18467 l_db2deprn_method_tax_tab(l_txd_assets_b_counter4) := l_DEPRN_METHOD_CODE_tab(i);
18468
18469 get_deprn_details(l_DEPRN_METHOD_CODE_tab(i),
18470 l_LIFE_IN_MONTHS_tab(i),
18471 l_ADJUSTED_RATE_tab(i),
18472 l_deprn_rate,
18473 l_life_in_months);
18474 l_db2deprn_rate_tax_tab(l_txd_assets_b_counter4) := l_deprn_rate;
18475 l_db2life_in_months_tax_tab(l_txd_assets_b_counter4) := l_life_in_months;
18476
18477 -- Populate okl_txd_assets_tl
18478 FOR j IN l_lang_tab.first..l_lang_tab.last
18479 LOOP
18480 l_dl2id_tab(l_txd_assets_tl_counter4) := l_db2id_tab(l_txd_assets_b_counter4);
18481 l_dl2description_tab(l_txd_assets_tl_counter4) := l_DESCRIPTION_tab(i);
18482 l_dl2language_tab(l_txd_assets_tl_counter4) := l_lang_tab(j);
18483
18484 l_txd_assets_tl_counter4 := l_txd_assets_tl_counter4 + 1;
18485 END LOOP;
18486
18487 l_txd_assets_b_counter4 := l_txd_assets_b_counter4 + 1;
18488 END IF; /* if multi-gaap */
18489 END IF; /* TAX */
18490 END LOOP;
18491 END IF;
18492
18493 IF (l_ID1_tab.COUNT < 1) THEN
18494 -- LOAN or LOAN-REVOLVING and BOOKED case
18495 --l_loan_booked_condition := false;
18496 --l_loan_booked_condition := check_loan_booked_condition;
18497 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18498 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);
18499 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);
18500 END IF;
18501 IF (l_deal_type IN ('LOAN', 'LOAN-REVOLVING')
18502 -- 4911174
18503 AND l_sts_code_orig IN ('BOOKED','EVERGREEN','EXPIRED','TERMINATED')) THEN
18504 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18505 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab.count=' || l_id_tab.COUNT);
18506 END IF;
18507 IF (l_id_tab.count > 0) THEN
18508 FOR i IN l_id_tab.first..l_id_tab.last LOOP
18509 IF (l_lse_id_tab(i) = 42) THEN
18510 --print('Found 42: l_id_tab(' ||i || ')=' || l_id_tab(i) ||' l_name_tab('||i||')=' || l_name_tab(i));
18511 l_tmp_itm_rec := find_okc_k_items_rec(l_id_tab(i));
18512 --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);
18513 IF (l_tmp_itm_rec.number_of_items = OKL_API.G_MISS_NUM ) THEN
18514 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18515 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okc_k_items rec not found for ' || l_id_tab(i));
18516 END IF;
18517 RAISE OKL_API.G_EXCEPTION_ERROR;
18518 END IF;
18519 IF ((l_tmp_itm_rec.object1_id1 IS NULL) AND
18520 (l_tmp_itm_rec.object1_id2 IS NULL)) THEN
18521 -- Populate okl_trx_assets
18522 --print('Yes object1_id1 and id2 null...');
18523 l_t3id_tab(l_trx_assets_counter4) := okc_p_util.raw_to_number(sys_guid());
18524 --print('Upto 1...');
18525 -- Populate kle to tas_id mapping
18526 l_cle_mapping_tab(l_trx_assets_counter4).old_id := l_id_tab(i); -- kle_id
18527 l_cle_mapping_tab(l_trx_assets_counter4).line_number := 1;
18528
18529 --print('Upto 2...');
18530 -- Populate okl_txl_assets_b
18531 l_tb2id_tab(l_trx_assets_counter4) := okc_p_util.raw_to_number(sys_guid());
18532 l_cle_mapping_tab(l_trx_assets_counter4).new_id := l_tb2id_tab(l_trx_assets_counter4);
18533 --print('Upto 3...');
18534 l_tb2object_version_number_tab(l_trx_assets_counter4) := 1;
18535 l_tb2tas_id_tab(l_trx_assets_counter4) := l_t3id_tab(l_trx_assets_counter4);
18536 -- id already changed earlier
18537 l_tb2kle_id_tab(l_trx_assets_counter4) := l_id_tab(i);
18538
18539 --print('Upto 4...');
18540 -- Store Tal id to kle_id mapping
18541 l_dbid_mapping_tab(l_tal_to_kle_counter).tal_id := l_tb2id_tab(l_trx_assets_counter4);
18542 l_dbid_mapping_tab(l_tal_to_kle_counter).kle_id := l_tb2kle_id_tab(l_trx_assets_counter4);
18543 l_tal_to_kle_counter := l_tal_to_kle_counter + 1;
18544
18545 --print('Upto asset_number...');
18546 --print('l_trx_assets_counter4=' || l_trx_assets_counter4);
18547 l_tb2dnz_khr_id_tab(l_trx_assets_counter4) := l_copied_id;
18548 --print('Upto asset_number l_name_tab('|| i || ')=' || l_name_tab(i));
18549 l_cle_id := find_cid_mapping_id(l_tb2kle_id_tab(l_trx_assets_counter4));
18550 --print('Upto 6 l_cle_id=' || l_cle_id);
18551 IF (l_cle_id = -1) THEN
18552 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18553 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));
18554 END IF;
18555 RAISE OKL_API.G_EXCEPTION_ERROR;
18556 END IF;
18557
18558 l_asset_name_old := find_bid_mapping_id(l_cle_id, 33);
18559 IF (l_asset_name_old = '-1') THEN
18560 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18561 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping bid_mapping not found for ' || l_cle_id);
18562 END IF;
18563 RAISE OKL_API.G_EXCEPTION_ERROR;
18564 END IF;
18565 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18566 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_asset_name_old=' || l_asset_name_old);
18567 END IF;
18568 l_tb2asset_number_tab(l_trx_assets_counter4) := l_asset_name_old; --old asset
18569 --print('Upto asset_number l_name_tab('|| i || ')=' || l_name_tab(i));
18570 IF (l_tb2asset_number_tab(l_trx_assets_counter4) IS NOT NULL) THEN
18571 l_new_asset_number := find_aid_mapping_id(l_tb2asset_number_tab(l_trx_assets_counter4));
18572 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18573 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_new_asset_number=' || l_new_asset_number);
18574 END IF;
18575 IF (l_new_asset_number <> '-1') THEN
18576 l_tb2asset_number_tab(l_trx_assets_counter4) := l_new_asset_number;
18577 END IF;
18578 END IF;
18579
18580 --print('Upto asset_number...');
18581 l_tb2line_number_tab(l_trx_assets_counter4) := 1;
18582 l_tb2tal_type_tab(l_trx_assets_counter4) := p_trans_type;
18583
18584 -- Populate location_id
18585 l_tb2fa_location_id_tab(l_trx_assets_counter4) := NULL;
18586
18587 -- Todo AKP
18588 l_tmp_okl_33_rec := find_okl_k_lines_rec(l_cle_id);
18589 --print('Upto 8...l_tmp_okl_33_rec.oec=' || l_tmp_okl_33_rec.oec);
18590 IF (l_tmp_okl_33_rec.oec = OKL_API.G_MISS_NUM ) THEN
18591 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18592 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okl_k_lines_rec not found for ' || l_cle_id );
18593 END IF;
18594 RAISE OKL_API.G_EXCEPTION_ERROR;
18595 END IF;
18596
18597 --print('Calling find_cle_lse_mapping with ' || l_cle_id || ':34');
18598 l_new_34_id := find_cle_lse_mapping_id(l_cle_id, 34);
18599 --print('Upto 9... l_new_34_id = ' || l_new_34_id);
18600 IF (l_new_34_id = -1) THEN
18601 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18602 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping cle_lse_mapping not found for ' || l_cle_id || ':33');
18603 END IF;
18604 RAISE OKL_API.G_EXCEPTION_ERROR;
18605 END IF;
18606 l_tmp_okc_34_rec := find_okc_k_items_rec(l_new_34_id);
18607 --print('Upto 10... l_tmp_okc_34_rec.number_of_items='|| l_tmp_okc_34_rec.number_of_items);
18608 IF (l_tmp_okc_34_rec.number_of_items = OKL_API.G_MISS_NUM) THEN
18609 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18610 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okl_k_lines_rec not found for ' || l_new_34_id );
18611 END IF;
18612 RAISE OKL_API.G_EXCEPTION_ERROR;
18613 END IF;
18614
18615 --print('Upto 11...');
18616 l_tb2original_cost_tab(l_trx_assets_counter4) := l_tmp_okl_33_rec.oec;
18617 l_tb2depreciation_cost_tab(l_trx_assets_counter4) := l_tmp_okl_33_rec.oec;
18618 l_tb2current_units_tab(l_trx_assets_counter4) := l_tmp_okc_34_rec.number_of_items;
18619 -- Bug 4636587
18620 IF (p_trans_type = 'CRB') THEN
18621 l_tb2fa_cost_tab(l_trx_assets_counter4) := l_tmp_okl_33_rec.oec;
18622 ELSE
18623 l_tb2fa_cost_tab(l_trx_assets_counter4) := NULL;
18624 END IF;
18625 --print('Upto 11.1...');
18626
18627 --print('Upto 12...');
18628
18629 l_tmp_okl_42_rec := find_okl_k_lines_rec(l_id_tab(i));
18630 --print('Upto 13 l_tmp_okl_42_rec.year_built=' || l_tmp_okl_42_rec.year_built);
18631 IF (l_tmp_okl_42_rec.year_built = OKL_API.G_MISS_NUM) THEN
18632 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18633 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: Mapping okl_k_lines_rec not found for ' || l_id_tab(i));
18634 END IF;
18635 RAISE OKL_API.G_EXCEPTION_ERROR;
18636 END IF;
18637
18638 l_tb2year_manufactured_tab(l_trx_assets_counter4) := l_tmp_okl_42_rec.year_built;
18639
18640 l_tb2manufacturer_name_tab(l_trx_assets_counter4) := NULL;
18641 l_tb2used_asset_yn_tab(l_trx_assets_counter4) := NULL;
18642
18643
18644 l_tb2tag_number_tab(l_trx_assets_counter4) := NULL;
18645 l_tb2model_number_tab(l_trx_assets_counter4) := NULL;
18646 l_tb2corporate_book_tab(l_trx_assets_counter4) := NULL;
18647 l_tb2in_service_date_tab(l_trx_assets_counter4) := NULL;
18648 l_tb2depreciation_id_tab(l_trx_assets_counter4) := NULL;
18649 l_tb2deprn_method_tab(l_trx_assets_counter4) := NULL;
18650 l_tb2deprn_rate_tab(l_trx_assets_counter4) := NULL;
18651 l_tb2life_in_months_tab(l_trx_assets_counter4) := NULL;
18652 l_tb2salvage_value_tab(l_trx_assets_counter4) := NULL;
18653 l_tb2percent_salvage_value_tab(l_trx_assets_counter4) := NULL;
18654
18655 l_tb2asset_key_id_tab(l_trx_assets_counter4) := NULL;
18656 l_tb2fa_trx_date_tab(l_trx_assets_counter4) := NULL;
18657
18658 --print('Upto 14...');
18659
18660 -- Populate okl_trx_assets_tl
18661 FOR j IN l_lang_tab.first..l_lang_tab.last
18662 LOOP
18663 --print('Upto 15...');
18664 l_tl2id_tab(l_txl_assets_tl_counter4) := l_tb2id_tab(l_trx_assets_counter4);
18665 l_tl2description_tab(l_txl_assets_tl_counter4) := l_tmp_okl_33_rec.item_description;
18666 l_tl2language_tab(l_txl_assets_tl_counter4) := l_lang_tab(j);
18667
18668 l_txl_assets_tl_counter4 := l_txl_assets_tl_counter4 + 1;
18669 END LOOP;
18670
18671 l_trx_assets_counter4 := l_trx_assets_counter4 + 1;
18672
18673 END IF; /* if object1_id1 is null and object1_id2 is null */
18674
18675 END IF; /* if lse_id_tab(i) = 42 */
18676 END LOOP; /* loop on l_id_tab(i) */
18677 END IF; /* if l_id_tab.count > 0 */
18678
18679 END IF; /* if loan BOOKED condition */
18680 END IF; /* if l_ID1_tab.count < 1 */
18681
18682 -- By this time populated everything
18683
18684 -- Insert into corr tables
18685 IF (l_trx_assets_counter4 > 1) THEN
18686 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18687 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);
18688 END IF;
18689
18690 --Added by dpsingh for LE Uptake
18691 l_legal_entity_id := OKL_LEGAL_ENTITY_UTIL.get_khr_le_id(p_old_id) ;
18692 IF l_legal_entity_id IS NULL THEN
18693 -- get the contract number
18694 OPEN contract_num_csr(p_old_id);
18695 FETCH contract_num_csr INTO l_cntrct_number;
18696 CLOSE contract_num_csr;
18697 Okl_Api.set_message(p_app_name => g_app_name,
18698 p_msg_name => 'OKL_LE_NOT_EXIST_CNTRCT',
18699 p_token1 => 'CONTRACT_NUMBER',
18700 p_token1_value => l_cntrct_number);
18701 RAISE OKL_API.G_EXCEPTION_ERROR;
18702 END IF;
18703 forall i IN l_t3id_tab.first..l_t3id_tab.last
18704 INSERT INTO okl_trx_assets (
18705 id, tas_type, object_version_number,
18706 tsu_code, try_id, date_trans_occurred,
18707 created_by, creation_date, last_updated_by,
18708 last_update_date, last_update_login, trans_number,legal_entity_id
18709 ,transaction_date
18710 ) VALUES (
18711 l_t3id_tab(i), p_trans_type, 1,
18712 'ENTERED', l_try_id, SYSDATE, -- AKP: populate try_id properly
18713 l_created_by, SYSDATE, l_last_updated_by,
18714 SYSDATE, l_last_update_login, okl_trn_seq.NEXTVAL,l_legal_entity_id
18715 ,SYSDATE
18716 );
18717
18718 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18719 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);
18720 END IF;
18721
18722 IF (l_tb2id_tab.COUNT > 0) THEN
18723 forall i IN l_tb2id_tab.first..l_tb2id_tab.last
18724 INSERT INTO okl_txl_assets_b (
18725 id, object_version_number, tas_id,
18726 kle_id, dnz_khr_id, line_number,
18727 asset_number, tal_type, original_cost,
18728 depreciation_cost, current_units, manufacturer_name,
18729 used_asset_yn, tag_number, model_number,
18730 corporate_book, in_service_date, depreciation_id,
18731 deprn_method, deprn_rate, life_in_months,
18732 salvage_value, percent_salvage_value, asset_key_id,
18733 fa_trx_date, created_by, creation_date,
18734 last_updated_by, last_update_date, last_update_login,
18735 fa_location_id, currency_code, currency_conversion_type,
18736 currency_conversion_rate, currency_conversion_date, year_manufactured,
18737 fa_cost
18738 ) VALUES (
18739 l_tb2id_tab(i), 1, l_tb2tas_id_tab(i),
18740 l_tb2kle_id_tab(i), l_tb2dnz_khr_id_tab(i), l_tb2line_number_tab(i),
18741 l_tb2asset_number_tab(i), l_tb2tal_type_tab(i), l_tb2original_cost_tab(i),
18742 l_tb2depreciation_cost_tab(i), l_tb2current_units_tab(i), l_tb2manufacturer_name_tab(i),
18743 l_tb2used_asset_yn_tab(i), l_tb2tag_number_tab(i), l_tb2model_number_tab(i),
18744 l_tb2corporate_book_tab(i), l_tb2in_service_date_tab(i), l_tb2depreciation_id_tab(i),
18745 l_tb2deprn_method_tab(i), l_tb2deprn_rate_tab(i), l_tb2life_in_months_tab(i),
18746 l_tb2salvage_value_tab(i), l_tb2percent_salvage_value_tab(i), l_tb2asset_key_id_tab(i),
18747 l_tb2fa_trx_date_tab(i), l_created_by, SYSDATE,
18748 l_last_updated_by, SYSDATE, l_last_update_login,
18749 l_tb2fa_location_id_tab(i), l_contract_currency, l_conversion_type,
18750 l_conversion_rate, l_conversion_rate_date, l_tb2year_manufactured_tab(i),
18751 l_tb2fa_cost_tab(i)
18752 );
18753 END IF;
18754
18755 IF (l_txl_assets_tl_counter4 > 1) THEN
18756 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18757 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);
18758 END IF;
18759 IF (l_tl2id_tab.COUNT > 0) THEN
18760 forall i IN l_tl2id_tab.first..l_tl2id_tab.last
18761 INSERT INTO okl_txl_assets_tl (
18762 id, LANGUAGE, source_lang,
18763 sfwt_flag, description, created_by,
18764 creation_date, last_updated_by, last_update_date,
18765 last_update_login
18766 ) VALUES (
18767 l_tl2id_tab(i), l_tl2language_tab(i), l_base_language,
18768 'N', l_tl2description_tab(i), l_created_by,
18769 SYSDATE, l_last_updated_by, SYSDATE,
18770 l_last_update_login
18771 );
18772 END IF;
18773 END IF;
18774 END IF;
18775
18776 IF ( l_txd_assets_b_counter4 > 1) THEN
18777 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18778 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);
18779 END IF;
18780 IF (l_db2id_tab.COUNT > 0) THEN
18781 forall i IN l_db2id_tab.first..l_db2id_tab.last
18782 INSERT INTO okl_txd_assets_b (
18783 id, object_version_number, tal_id,
18784 asset_number, line_detail_number, quantity,
18785 cost, tax_book, salvage_value,
18786 deprn_method_tax, life_in_months_tax, deprn_rate_tax,
18787 created_by, creation_date, last_updated_by,
18788 last_update_date, last_update_login, currency_code,
18789 currency_conversion_type, currency_conversion_rate, currency_conversion_date
18790 ) VALUES (
18791 l_db2id_tab(i), 1, l_db2tal_id_tab(i),
18792 l_db2asset_number_tab(i), l_db2line_detail_number_tab(i), l_db2quantity_tab(i),
18793 l_db2cost_tab(i), l_db2tax_book_tab(i), l_db2salvage_value_tab(i),
18794 l_db2deprn_method_tax_tab(i), l_db2life_in_months_tax_tab(i), l_db2deprn_rate_tax_tab(i),
18795 l_created_by, SYSDATE, l_last_updated_by,
18796 SYSDATE, l_last_update_login, l_contract_currency,
18797 l_conversion_type, l_conversion_rate, l_conversion_rate_date
18798 );
18799 END IF;
18800
18801 IF ( l_txd_assets_tl_counter4 > 1) THEN
18802 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18803 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);
18804 END IF;
18805 IF (l_dl2id_tab.COUNT > 0) THEN
18806 forall i IN l_dl2id_tab.first..l_dl2id_tab.last
18807 INSERT INTO okl_txd_assets_tl (
18808 id, LANGUAGE, source_lang,
18809 sfwt_flag, description, created_by,
18810 creation_date, last_updated_by, last_update_date,
18811 last_update_login
18812 ) VALUES (
18813 l_dl2id_tab(i), l_dl2language_tab(i), l_base_language,
18814 'N', l_dl2description_tab(i), l_created_by,
18815 SYSDATE, l_last_updated_by, SYSDATE,
18816 l_last_update_login
18817 );
18818 END IF;
18819 END IF;
18820 END IF;
18821
18822 EXCEPTION WHEN OTHERS THEN
18823 -- AKP: Replace OKL_AM_NO_OLD_SALVAGE_VALUE globally
18824 -- AKP: change p_msg_name to proper name
18825 -- AKP: Change p_token1 to proper token
18826 -- AKP: Change p_token1_value to proper value
18827
18828 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18829 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
18830 END IF;
18831 x_return_status := OKL_API.G_RET_STS_ERROR;
18832 /* DEBUG */
18833 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18834 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okl_trx_assets:l_t3id_tab.count=' || l_t3id_tab.COUNT || ' ...');
18835 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_try_id=' || l_try_id);
18836 END IF;
18837 IF (l_t3id_tab.COUNT > 0) THEN
18838 FOR i IN l_t3id_tab.first..l_t3id_tab.last
18839 LOOP
18840 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18841 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t3id_tab('||i||')=' || l_t3id_tab(i));
18842 END IF;
18843 END LOOP;
18844 END IF;
18845
18846 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18847 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_tb2id_tab.count' || l_tb2id_tab.COUNT || ' ...');
18848 END IF;
18849 IF (l_tb2id_tab.COUNT > 0) THEN
18850 FOR i IN l_tb2id_tab.first..l_tb2id_tab.last
18851 LOOP
18852 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18853 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2id_tab('||i||')='|| l_tb2id_tab(i));
18854 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2tas_id_tab('||i||')=' || l_tb2tas_id_tab(i));
18855 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2kle_id_tab('||i||')=' || l_tb2kle_id_tab(i));
18856 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2dnz_khr_id_tab('||i||')=' || l_tb2dnz_khr_id_tab(i));
18857 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2line_number_tab('||i||')=' || l_tb2line_number_tab(i));
18858 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2asset_number_tab('||i||')=' || l_tb2asset_number_tab(i));
18859 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2tal_type_tab('||i||')=' || l_tb2tal_type_tab(i));
18860 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2original_cost_tab('||i||')=' || l_tb2original_cost_tab(i));
18861 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2depreciation_cost_tab('||i||')=' || l_tb2depreciation_cost_tab(i));
18862 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2current_units_tab('||i||')=' || l_tb2current_units_tab(i));
18863 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2manufacturer_name_tab('||i||')=' || l_tb2manufacturer_name_tab(i));
18864 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2used_asset_yn_tab('||i||')=' || l_tb2used_asset_yn_tab(i));
18865 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2tag_number_tab('||i||')=' || l_tb2tag_number_tab(i));
18866 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2model_number_tab('||i||')=' || l_tb2model_number_tab(i));
18867 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2corporate_book_tab('||i||')=' || l_tb2corporate_book_tab(i));
18868 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2in_service_date_tab('||i||')=' || l_tb2in_service_date_tab(i));
18869 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2depreciation_id_tab('||i||')=' || l_tb2depreciation_id_tab(i));
18870 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2deprn_method_tab('||i||')=' || l_tb2deprn_method_tab(i));
18871 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2deprn_rate_tab('||i||')=' || l_tb2deprn_rate_tab(i));
18872 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2life_in_months_tab('||i||')=' || l_tb2life_in_months_tab(i));
18873 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2salvage_value_tab('||i||')=' || l_tb2salvage_value_tab(i));
18874 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2percent_salvage_value_tab('||i||')=' || l_tb2percent_salvage_value_tab(i));
18875 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2asset_key_id_tab('||i||')=' || l_tb2asset_key_id_tab(i));
18876 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2fa_trx_date_tab('||i||')=' || l_tb2fa_trx_date_tab(i));
18877 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2fa_location_id_tab('||i||')=' || l_tb2fa_location_id_tab(i));
18878 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tb2fa_cost_tab('||i||')=' || l_tb2fa_cost_tab(i));
18879 END IF;
18880
18881 END LOOP;
18882 END IF;
18883
18884 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18885 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_tl2id_tab.count=' || l_tl2id_tab.COUNT || ' ...');
18886 END IF;
18887 IF (l_tl2id_tab.COUNT > 0) THEN
18888 FOR i IN l_tl2id_tab.first..l_tl2id_tab.last
18889 LOOP
18890 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18891 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tl2id_tab('||i||')=' || l_tl2id_tab(i));
18892 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tl2language_tab('||i||')=' || l_tl2language_tab(i));
18893 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_base_language('||i||')=' || l_base_language);
18894 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_tl2description_tab('||i||')=' || l_tl2description_tab(i));
18895 END IF;
18896 END LOOP;
18897 END IF;
18898
18899 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18900 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_db2id_tab.count=' || l_db2id_tab.COUNT || ' ...');
18901 END IF;
18902 IF (l_db2id_tab.COUNT > 0) THEN
18903 FOR i IN l_db2id_tab.first..l_db2id_tab.last
18904 LOOP
18905 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18906 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2id_tab('||i||')=' || l_db2id_tab(i));
18907 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2tal_id_tab('||i||')=' || l_db2tal_id_tab(i));
18908 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2asset_number_tab('||i||')=' || l_db2asset_number_tab(i));
18909 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2line_detail_number_tab('||i||')=' || l_db2line_detail_number_tab(i));
18910 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2quantity_tab('||i||')=' || l_db2quantity_tab(i));
18911 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2cost_tab('||i||')=' || l_db2cost_tab(i));
18912 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2tax_book_tab('||i||')=' || l_db2tax_book_tab(i));
18913 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2salvage_value_tab('||i||')=' || l_db2salvage_value_tab(i));
18914 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2deprn_method_tax_tab('||i||')=' || l_db2deprn_method_tax_tab(i));
18915 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));
18916 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_db2deprn_rate_tax_tab('||i||')=' || l_db2deprn_rate_tax_tab(i));
18917 END IF;
18918 END LOOP;
18919 END IF;
18920
18921 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18922 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing l_dl2id_tab.count=' || l_dl2id_tab.COUNT || ' ...');
18923 END IF;
18924 IF (l_dl2id_tab.COUNT > 0) THEN
18925 FOR i IN l_dl2id_tab.first..l_dl2id_tab.last
18926 LOOP
18927 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
18928 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dl2id_tab('||i||')=' || l_dl2id_tab(i));
18929 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dl2language_tab('||i||')=' || l_dl2language_tab(i));
18930 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_base_language('||i||')=' || l_base_language);
18931 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_dl2description_tab('||i||')=' || l_dl2description_tab(i));
18932 END IF;
18933 END LOOP;
18934 END IF;
18935
18936 RAISE OKC_API.G_EXCEPTION_ERROR;
18937 END; /* insert okl_trx_assets_3 */
18938
18939 PROCEDURE insert_okc_rg_party_roles(p_old_id IN okc_k_headers_b.id%TYPE,
18940 p_new_id IN okc_k_headers_b.id%TYPE) IS
18941 CURSOR c25(p_id NUMBER) IS
18942 SELECT
18943 a.id, a.rgp_id, a.rrd_id,
18944 a.cpl_id, a.dnz_chr_id, a.object_version_number,
18945 a.created_by, a.creation_date, a.last_updated_by,
18946 a.last_update_date, a.last_update_login, a.security_group_id
18947 FROM okc_rg_party_roles a,
18948 okc_rule_groups_b b
18949 WHERE a.rgp_id = b.id
18950 AND b.dnz_chr_id = p_id
18951 AND (
18952 b.chr_id = b.chr_id
18953 OR (
18954 NVL(p_trans_type, 'N') = 'Y'
18955 AND b.cle_id IS NOT NULL
18956 )
18957 );
18958
18959 l_gid_tab2 l_gid_type;
18960 l_grgp_id_tab2 l_grgp_id_type;
18961 l_grrd_id_tab2 l_grrd_id_type;
18962 l_gcpl_id_tab2 l_gcpl_id_type;
18963 l_gdnz_chr_id_tab2 l_gdnz_chr_id_type;
18964 l_gobject_version_number_tab2 l_gobject_version_number_type;
18965 l_gcreated_by_tab2 l_gcreated_by_type;
18966 l_gcreation_date_tab2 l_gcreation_date_type;
18967 l_glast_updated_by_tab2 l_glast_updated_by_type;
18968 l_glast_update_date_tab2 l_glast_update_date_type;
18969 l_glast_update_login_tab2 l_glast_update_login_type;
18970 l_gsecurity_group_id_tab2 l_gsecurity_group_id_type;
18971
18972 l_new_rgp_id NUMBER;
18973 l_new_cpl_id NUMBER;
18974
18975 BEGIN
18976 IF (G_DEBUG_ENABLED = 'Y') THEN
18977 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
18978 END IF;
18979 OPEN c25(p_old_id);
18980 LOOP
18981 FETCH c25 bulk collect INTO
18982 l_gid_tab2, l_grgp_id_tab2, l_grrd_id_tab2,
18983 l_gcpl_id_tab2, l_gdnz_chr_id_tab2, l_gobject_version_number_tab2,
18984 l_gcreated_by_tab2, l_gcreation_date_tab2, l_glast_updated_by_tab2,
18985 l_glast_update_date_tab2, l_glast_update_login_tab2, l_gsecurity_group_id_tab2
18986
18987 limit G_BULK_SIZE;
18988 EXIT WHEN l_gid_tab2.COUNT = 0;
18989 FOR i IN l_gid_tab2.first..l_gid_tab2.last
18990 LOOP
18991 l_gid_tab(l_rg_party_roles_counter) := l_gid_tab2(i);
18992 -- Change id
18993 l_gid_tab(l_rg_party_roles_counter) := okc_p_util.raw_to_number(sys_guid());
18994
18995 l_grgp_id_tab(l_rg_party_roles_counter) := l_grgp_id_tab2(i);
18996 -- Change rgp_id
18997 l_new_rgp_id := find_rid_mapping_id(l_grgp_id_tab(l_rg_party_roles_counter));
18998 IF (l_new_rgp_id = -1) THEN
18999 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19000 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));
19001 END IF;
19002 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
19003 END IF;
19004 l_grgp_id_tab(l_rg_party_roles_counter) := l_new_rgp_id;
19005
19006 l_grrd_id_tab(l_rg_party_roles_counter) := l_grrd_id_tab2(i);
19007 -- Change rrd_id ??? AKP
19008
19009 l_gcpl_id_tab(l_rg_party_roles_counter) := l_gcpl_id_tab2(i);
19010 -- Change cpl_id
19011 l_new_cpl_id := find_party_mapping_id(l_gcpl_id_tab(l_rg_party_roles_counter));
19012 l_gcpl_id_tab(l_rg_party_roles_counter) := l_new_cpl_id;
19013
19014 l_gdnz_chr_id_tab(l_rg_party_roles_counter) := l_gdnz_chr_id_tab2(i);
19015 -- Change dnz_chr_id
19016 l_gdnz_chr_id_tab(l_rg_party_roles_counter) := p_new_id;
19017
19018 l_gobject_version_number_tab(l_rg_party_roles_counter) := l_gobject_version_number_tab2(i);
19019 l_gcreated_by_tab(l_rg_party_roles_counter) := l_gcreated_by_tab2(i);
19020 l_gcreation_date_tab(l_rg_party_roles_counter) := l_gcreation_date_tab2(i);
19021 l_glast_updated_by_tab(l_rg_party_roles_counter) := l_glast_updated_by_tab2(i);
19022 l_glast_update_date_tab(l_rg_party_roles_counter) := l_glast_update_date_tab2(i);
19023 l_glast_update_login_tab(l_rg_party_roles_counter) := l_glast_update_login_tab2(i);
19024 l_gsecurity_group_id_tab(l_rg_party_roles_counter) := l_gsecurity_group_id_tab2(i);
19025
19026 l_rg_party_roles_counter := l_rg_party_roles_counter + 1;
19027
19028 END LOOP;
19029 END LOOP;
19030 CLOSE c25;
19031 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19032 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);
19033 END IF;
19034 IF (l_rg_party_roles_counter > 1) THEN
19035 forall i IN l_gid_tab.first..l_gid_tab.last
19036 INSERT INTO okc_rg_party_roles (
19037 id, rgp_id, rrd_id,
19038 cpl_id, dnz_chr_id, object_version_number,
19039 created_by, creation_date, last_updated_by,
19040 last_update_date, last_update_login, security_group_id
19041 ) VALUES (
19042 l_gid_tab(i), l_grgp_id_tab(i), l_grrd_id_tab(i),
19043 l_gcpl_id_tab(i), l_gdnz_chr_id_tab(i), l_gobject_version_number_tab(i),
19044 l_created_by, SYSDATE, l_last_updated_by,
19045 SYSDATE, l_last_update_login, l_gsecurity_group_id_tab(i)
19046 );
19047 END IF;
19048 EXCEPTION WHEN OTHERS THEN
19049
19050 x_return_status := OKL_API.G_RET_STS_ERROR;
19051 /*OKL_API.set_message(p_app_name => 'OKL',
19052 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
19053 p_token1 => 'ASSET_NUMBER',
19054 p_token1_value => 'okc_rg_party_roles');*/
19055 /* DEBUG */
19056 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19057 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
19058 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okc_rg_party_roles: l_gid_tab.count=' || l_gid_tab.COUNT || ' ...');
19059 END IF;
19060 IF (l_gid_tab.COUNT > 0) THEN
19061 FOR i IN l_gid_tab.first..l_gid_tab.last
19062 LOOP
19063 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19064 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gid_tab('||i||')=' || l_gid_tab(i));
19065 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_grgp_id_tab('||i||')=' || l_grgp_id_tab(i));
19066 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_grrd_id_tab('||i||')=' || l_grrd_id_tab(i));
19067 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gcpl_id_tab('||i||')=' || l_gcpl_id_tab(i));
19068 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gdnz_chr_id_tab('||i||')=' || l_gdnz_chr_id_tab(i));
19069 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gobject_version_number_tab('||i||')=' || l_gobject_version_number_tab(i));
19070 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gsecurity_group_id_tab('||i||')=' || l_gsecurity_group_id_tab(i));
19071 END IF;
19072 END LOOP;
19073 END IF;
19074
19075 RAISE OKC_API.G_EXCEPTION_ERROR;
19076
19077 END; /* insert_okc_rg_party_roles */
19078
19079 PROCEDURE insert_okl_supp_invoice_dtls(p_old_id IN okc_k_headers_b.id%TYPE)
19080 IS
19081 CURSOR c26(p_id NUMBER) IS
19082 SELECT
19083 a.id, a.object_version_number, a.cle_id,
19084 a.fa_cle_id, a.invoice_number, a.date_invoiced,
19085 a.date_due, a.shipping_address_id1, a.shipping_address_id2,
19086 a.shipping_address_code, a.attribute_category, a.attribute1,
19087 a.attribute2, a.attribute3, a.attribute4,
19088 a.attribute5, a.attribute6, a.attribute7,
19089 a.attribute8, a.attribute9, a.attribute10,
19090 a.attribute11, a.attribute12, a.attribute13,
19091 a.attribute14, a.attribute15, a.created_by,
19092 a.creation_date, a.last_updated_by, a.last_update_date,
19093 a.last_update_login
19094 FROM okl_supp_invoice_dtls a,
19095 okc_k_lines_b b
19096 WHERE b.dnz_chr_id = p_id
19097 AND (
19098 ( a.cle_id = b.id AND b.lse_id IN (34,44) )
19099 -- Bug (duplicate supp invoice dtls lines because of the OR condition)
19100 --OR
19101 --( a.fa_cle_id = b.id AND b.lse_id = 42 )
19102 );
19103
19104 -- Commented here. Moved it to make global.
19105 /*
19106 TYPE l_osid_type is table of okl_supp_invoice_dtls.id%TYPE index by binary_integer;
19107 TYPE l_osobject_version_number_type is table of okl_supp_invoice_dtls.object_version_number%TYPE index by binary_integer;
19108 TYPE l_oscle_id_type is table of okl_supp_invoice_dtls.cle_id%TYPE index by binary_integer;
19109 TYPE l_osfa_cle_id_type is table of okl_supp_invoice_dtls.fa_cle_id%TYPE index by binary_integer;
19110 TYPE l_osinvoice_number_type is table of okl_supp_invoice_dtls.invoice_number%TYPE index by binary_integer;
19111 TYPE l_osdate_invoiced_type is table of okl_supp_invoice_dtls.date_invoiced%TYPE index by binary_integer;
19112 TYPE l_osdate_due_type is table of okl_supp_invoice_dtls.date_due%TYPE index by binary_integer;
19113 TYPE l_osshipping_address_id1_type is table of okl_supp_invoice_dtls.shipping_address_id1%TYPE index by binary_integer;
19114 TYPE l_osshipping_address_id2_type is table of okl_supp_invoice_dtls.shipping_address_id2%TYPE index by binary_integer;
19115 TYPE l_osshipping_address_code_type is table of okl_supp_invoice_dtls.shipping_address_code%TYPE index by binary_integer;
19116 TYPE l_osattribute_category_type is table of okl_supp_invoice_dtls.attribute_category%TYPE index by binary_integer;
19117 TYPE l_osattribute1_type is table of okl_supp_invoice_dtls.attribute1%TYPE index by binary_integer;
19118 TYPE l_osattribute2_type is table of okl_supp_invoice_dtls.attribute2%TYPE index by binary_integer;
19119 TYPE l_osattribute3_type is table of okl_supp_invoice_dtls.attribute3%TYPE index by binary_integer;
19120 TYPE l_osattribute4_type is table of okl_supp_invoice_dtls.attribute4%TYPE index by binary_integer;
19121 TYPE l_osattribute5_type is table of okl_supp_invoice_dtls.attribute5%TYPE index by binary_integer;
19122 TYPE l_osattribute6_type is table of okl_supp_invoice_dtls.attribute6%TYPE index by binary_integer;
19123 TYPE l_osattribute7_type is table of okl_supp_invoice_dtls.attribute7%TYPE index by binary_integer;
19124 TYPE l_osattribute8_type is table of okl_supp_invoice_dtls.attribute8%TYPE index by binary_integer;
19125 TYPE l_osattribute9_type is table of okl_supp_invoice_dtls.attribute9%TYPE index by binary_integer;
19126 TYPE l_osattribute10_type is table of okl_supp_invoice_dtls.attribute10%TYPE index by binary_integer;
19127 TYPE l_osattribute11_type is table of okl_supp_invoice_dtls.attribute11%TYPE index by binary_integer;
19128 TYPE l_osattribute12_type is table of okl_supp_invoice_dtls.attribute12%TYPE index by binary_integer;
19129 TYPE l_osattribute13_type is table of okl_supp_invoice_dtls.attribute13%TYPE index by binary_integer;
19130 TYPE l_osattribute14_type is table of okl_supp_invoice_dtls.attribute14%TYPE index by binary_integer;
19131 TYPE l_osattribute15_type is table of okl_supp_invoice_dtls.attribute15%TYPE index by binary_integer;
19132 TYPE l_oscreated_by_type is table of okl_supp_invoice_dtls.created_by%TYPE index by binary_integer;
19133 TYPE l_oscreation_date_type is table of okl_supp_invoice_dtls.creation_date%TYPE index by binary_integer;
19134 TYPE l_oslast_updated_by_type is table of okl_supp_invoice_dtls.last_updated_by%TYPE index by binary_integer;
19135 TYPE l_oslast_update_date_type is table of okl_supp_invoice_dtls.last_update_date%TYPE index by binary_integer;
19136 TYPE l_oslast_update_login_type is table of okl_supp_invoice_dtls.last_update_login%TYPE index by binary_integer;
19137
19138 l_osid_tab l_osid_type;
19139 l_osobject_version_number_tab l_osobject_version_number_type;
19140 l_oscle_id_tab l_oscle_id_type;
19141 l_osfa_cle_id_tab l_osfa_cle_id_type;
19142 l_osinvoice_number_tab l_osinvoice_number_type;
19143 l_osdate_invoiced_tab l_osdate_invoiced_type;
19144 l_osdate_due_tab l_osdate_due_type;
19145 l_osshipping_address_id1_tab l_osshipping_address_id1_type;
19146 l_osshipping_address_id2_tab l_osshipping_address_id2_type;
19147 l_osshipping_address_code_tab l_osshipping_address_code_type;
19148 l_osattribute_category_tab l_osattribute_category_type;
19149 l_osattribute1_tab l_osattribute1_type;
19150 l_osattribute2_tab l_osattribute2_type;
19151 l_osattribute3_tab l_osattribute3_type;
19152 l_osattribute4_tab l_osattribute4_type;
19153 l_osattribute5_tab l_osattribute5_type;
19154 l_osattribute6_tab l_osattribute6_type;
19155 l_osattribute7_tab l_osattribute7_type;
19156 l_osattribute8_tab l_osattribute8_type;
19157 l_osattribute9_tab l_osattribute9_type;
19158 l_osattribute10_tab l_osattribute10_type;
19159 l_osattribute11_tab l_osattribute11_type;
19160 l_osattribute12_tab l_osattribute12_type;
19161 l_osattribute13_tab l_osattribute13_type;
19162 l_osattribute14_tab l_osattribute14_type;
19163 l_osattribute15_tab l_osattribute15_type;
19164 l_oscreated_by_tab l_oscreated_by_type;
19165 l_oscreation_date_tab l_oscreation_date_type;
19166 l_oslast_updated_by_tab l_oslast_updated_by_type;
19167 l_oslast_update_date_tab l_oslast_update_date_type;
19168 l_oslast_update_login_tab l_oslast_update_login_type;
19169
19170 l_supp_invoice_dtls_counter number := 1;
19171 */
19172
19173 l_osid_tab2 l_osid_type;
19174 l_osobject_version_number_tab2 l_osobject_version_number_type;
19175 l_oscle_id_tab2 l_oscle_id_type;
19176 l_osfa_cle_id_tab2 l_osfa_cle_id_type;
19177 l_osinvoice_number_tab2 l_osinvoice_number_type;
19178 l_osdate_invoiced_tab2 l_osdate_invoiced_type;
19179 l_osdate_due_tab2 l_osdate_due_type;
19180 l_osshipping_address_id1_tab2 l_osshipping_address_id1_type;
19181 l_osshipping_address_id2_tab2 l_osshipping_address_id2_type;
19182 l_osshipping_address_code_tab2 l_osshipping_address_code_type;
19183 l_osattribute_category_tab2 l_osattribute_category_type;
19184 l_osattribute1_tab2 l_osattribute1_type;
19185 l_osattribute2_tab2 l_osattribute2_type;
19186 l_osattribute3_tab2 l_osattribute3_type;
19187 l_osattribute4_tab2 l_osattribute4_type;
19188 l_osattribute5_tab2 l_osattribute5_type;
19189 l_osattribute6_tab2 l_osattribute6_type;
19190 l_osattribute7_tab2 l_osattribute7_type;
19191 l_osattribute8_tab2 l_osattribute8_type;
19192 l_osattribute9_tab2 l_osattribute9_type;
19193 l_osattribute10_tab2 l_osattribute10_type;
19194 l_osattribute11_tab2 l_osattribute11_type;
19195 l_osattribute12_tab2 l_osattribute12_type;
19196 l_osattribute13_tab2 l_osattribute13_type;
19197 l_osattribute14_tab2 l_osattribute14_type;
19198 l_osattribute15_tab2 l_osattribute15_type;
19199 l_oscreated_by_tab2 l_oscreated_by_type;
19200 l_oscreation_date_tab2 l_oscreation_date_type;
19201 l_oslast_updated_by_tab2 l_oslast_updated_by_type;
19202 l_oslast_update_date_tab2 l_oslast_update_date_type;
19203 l_oslast_update_login_tab2 l_oslast_update_login_type;
19204
19205 l_new_cle_id NUMBER;
19206 l_new_fa_cle_id NUMBER;
19207 BEGIN
19208 OPEN c26(p_old_id);
19209 LOOP
19210 FETCH c26 bulk collect INTO
19211 l_osid_tab2, l_osobject_version_number_tab2, l_oscle_id_tab2,
19212 l_osfa_cle_id_tab2, l_osinvoice_number_tab2, l_osdate_invoiced_tab2,
19213 l_osdate_due_tab2, l_osshipping_address_id1_tab2, l_osshipping_address_id2_tab2,
19214 l_osshipping_address_code_tab2, l_osattribute_category_tab2, l_osattribute1_tab2,
19215 l_osattribute2_tab2, l_osattribute3_tab2, l_osattribute4_tab2,
19216 l_osattribute5_tab2, l_osattribute6_tab2, l_osattribute7_tab2,
19217 l_osattribute8_tab2, l_osattribute9_tab2, l_osattribute10_tab2,
19218 l_osattribute11_tab2, l_osattribute12_tab2, l_osattribute13_tab2,
19219 l_osattribute14_tab2, l_osattribute15_tab2, l_oscreated_by_tab2,
19220 l_oscreation_date_tab2, l_oslast_updated_by_tab2, l_oslast_update_date_tab2,
19221 l_oslast_update_login_tab2
19222 limit G_BULK_SIZE;
19223 EXIT WHEN l_osid_tab2.COUNT = 0;
19224 FOR i IN l_osid_tab2.first..l_osid_tab2.last
19225 LOOP
19226 l_osid_tab(l_supp_invoice_dtls_counter) := l_osid_tab2(i);
19227 -- Change id
19228 l_osid_tab(l_supp_invoice_dtls_counter) := okc_p_util.raw_to_number(sys_guid());
19229
19230 l_osobject_version_number_tab(l_supp_invoice_dtls_counter) := l_osobject_version_number_tab2(i);
19231 l_oscle_id_tab(l_supp_invoice_dtls_counter) := l_oscle_id_tab2(i);
19232 -- Change cle_id
19233 IF (l_oscle_id_tab(l_supp_invoice_dtls_counter) IS NOT NULL) THEN
19234 l_new_cle_id := find_mapping_id(l_oscle_id_tab(l_supp_invoice_dtls_counter));
19235 IF (l_new_cle_id = -1) THEN
19236 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19237 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));
19238 END IF;
19239 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
19240 END IF;
19241 l_oscle_id_tab(l_supp_invoice_dtls_counter) := l_new_cle_id;
19242 END IF;
19243
19244 l_osfa_cle_id_tab(l_supp_invoice_dtls_counter) := l_osfa_cle_id_tab2(i);
19245 -- Change fa_cle_id
19246 IF (l_osfa_cle_id_tab(l_supp_invoice_dtls_counter) IS NOT NULL) THEN
19247 l_new_fa_cle_id := find_mapping_id(l_osfa_cle_id_tab(l_supp_invoice_dtls_counter));
19248 l_osfa_cle_id_tab(l_supp_invoice_dtls_counter) := l_new_fa_cle_id;
19249 END IF;
19250
19251 l_osinvoice_number_tab(l_supp_invoice_dtls_counter) := l_osinvoice_number_tab2(i);
19252 l_osdate_invoiced_tab(l_supp_invoice_dtls_counter) := l_osdate_invoiced_tab2(i);
19253 l_osdate_due_tab(l_supp_invoice_dtls_counter) := l_osdate_due_tab2(i);
19254 l_osshipping_address_id1_tab(l_supp_invoice_dtls_counter) := l_osshipping_address_id1_tab2(i);
19255 l_osshipping_address_id2_tab(l_supp_invoice_dtls_counter) := l_osshipping_address_id2_tab2(i);
19256 l_osshipping_address_code_tab(l_supp_invoice_dtls_counter) := l_osshipping_address_code_tab2(i);
19257 l_osattribute_category_tab(l_supp_invoice_dtls_counter) := l_osattribute_category_tab2(i);
19258 l_osattribute1_tab(l_supp_invoice_dtls_counter) := l_osattribute1_tab2(i);
19259 l_osattribute2_tab(l_supp_invoice_dtls_counter) := l_osattribute2_tab2(i);
19260 l_osattribute3_tab(l_supp_invoice_dtls_counter) := l_osattribute3_tab2(i);
19261 l_osattribute4_tab(l_supp_invoice_dtls_counter) := l_osattribute4_tab2(i);
19262 l_osattribute5_tab(l_supp_invoice_dtls_counter) := l_osattribute5_tab2(i);
19263 l_osattribute6_tab(l_supp_invoice_dtls_counter) := l_osattribute6_tab2(i);
19264 l_osattribute7_tab(l_supp_invoice_dtls_counter) := l_osattribute7_tab2(i);
19265 l_osattribute8_tab(l_supp_invoice_dtls_counter) := l_osattribute8_tab2(i);
19266 l_osattribute9_tab(l_supp_invoice_dtls_counter) := l_osattribute9_tab2(i);
19267 l_osattribute10_tab(l_supp_invoice_dtls_counter) := l_osattribute10_tab2(i);
19268 l_osattribute11_tab(l_supp_invoice_dtls_counter) := l_osattribute11_tab2(i);
19269 l_osattribute12_tab(l_supp_invoice_dtls_counter) := l_osattribute12_tab2(i);
19270 l_osattribute13_tab(l_supp_invoice_dtls_counter) := l_osattribute13_tab2(i);
19271 l_osattribute14_tab(l_supp_invoice_dtls_counter) := l_osattribute14_tab2(i);
19272 l_osattribute15_tab(l_supp_invoice_dtls_counter) := l_osattribute15_tab2(i);
19273 l_oscreated_by_tab(l_supp_invoice_dtls_counter) := l_oscreated_by_tab2(i);
19274 l_oscreation_date_tab(l_supp_invoice_dtls_counter) := l_oscreation_date_tab2(i);
19275 l_oslast_updated_by_tab(l_supp_invoice_dtls_counter) := l_oslast_updated_by_tab2(i);
19276 l_oslast_update_date_tab(l_supp_invoice_dtls_counter) := l_oslast_update_date_tab2(i);
19277 l_oslast_update_login_tab(l_supp_invoice_dtls_counter) := l_oslast_update_login_tab2(i);
19278
19279 l_supp_invoice_dtls_counter := l_supp_invoice_dtls_counter + 1;
19280
19281 END LOOP;
19282 END LOOP;
19283 CLOSE c26;
19284 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19285 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);
19286 END IF;
19287 IF (l_supp_invoice_dtls_counter > 1) THEN
19288 forall i IN l_osid_tab.first..l_osid_tab.last
19289 INSERT INTO okl_supp_invoice_dtls (
19290 id, object_version_number, cle_id,
19291 fa_cle_id, invoice_number, date_invoiced,
19292 date_due, shipping_address_id1, shipping_address_id2,
19293 shipping_address_code, attribute_category, attribute1,
19294 attribute2, attribute3, attribute4,
19295 attribute5, attribute6, attribute7,
19296 attribute8, attribute9, attribute10,
19297 attribute11, attribute12, attribute13,
19298 attribute14, attribute15, created_by,
19299 creation_date, last_updated_by, last_update_date,
19300 last_update_login
19301 ) VALUES (
19302 l_osid_tab(i), 1, l_oscle_id_tab(i),
19303 l_osfa_cle_id_tab(i), l_osinvoice_number_tab(i), l_osdate_invoiced_tab(i),
19304 l_osdate_due_tab(i), l_osshipping_address_id1_tab(i), l_osshipping_address_id2_tab(i),
19305 l_osshipping_address_code_tab(i), l_osattribute_category_tab(i), l_osattribute1_tab(i),
19306 l_osattribute2_tab(i), l_osattribute3_tab(i), l_osattribute4_tab(i),
19307 l_osattribute5_tab(i), l_osattribute6_tab(i), l_osattribute7_tab(i),
19308 l_osattribute8_tab(i), l_osattribute9_tab(i), l_osattribute10_tab(i),
19309 l_osattribute11_tab(i), l_osattribute12_tab(i), l_osattribute13_tab(i),
19310 l_osattribute14_tab(i), l_osattribute15_tab(i), l_created_by,
19311 SYSDATE, l_last_updated_by, SYSDATE,
19312 l_last_update_login
19313 );
19314 END IF;
19315
19316 EXCEPTION WHEN OTHERS THEN
19317
19318 x_return_status := OKL_API.G_RET_STS_ERROR;
19319 /*OKL_API.set_message(p_app_name => 'OKL',
19320 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
19321 p_token1 => 'ASSET_NUMBER',
19322 p_token1_value => 'okl_supp_invoice_dtls');*/
19323 /* DEBUG */
19324 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19325 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
19326 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okl_supp_invoice_dtls: l_osid_tab.count=' || l_osid_tab.COUNT || ' ...');
19327 END IF;
19328 IF (l_osid_tab.COUNT > 0) THEN
19329 FOR i IN l_osid_tab.first..l_osid_tab.last
19330 LOOP
19331 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19332 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osid_tab('||i||')=' || l_osid_tab(i));
19333 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_oscle_id_tab('||i||')=' || l_oscle_id_tab(i));
19334 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osfa_cle_id_tab('||i||')=' || l_osfa_cle_id_tab(i));
19335 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osinvoice_number_tab('||i||')=' || l_osinvoice_number_tab(i));
19336 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osdate_invoiced_tab('||i||')=' || l_osdate_invoiced_tab(i));
19337 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osdate_due_tab('||i||')=' || l_osdate_due_tab(i));
19338 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osshipping_address_id1_tab('||i||')=' || l_osshipping_address_id1_tab(i));
19339 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osshipping_address_id2_tab('||i||')=' || l_osshipping_address_id2_tab(i));
19340 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osshipping_address_code_tab('||i||')=' || l_osshipping_address_code_tab(i));
19341 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute_category_tab('||i||')=' || l_osattribute_category_tab(i));
19342 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute1_tab('||i||')=' || l_osattribute1_tab(i));
19343 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute2_tab('||i||')=' || l_osattribute2_tab(i));
19344 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute3_tab('||i||')=' || l_osattribute3_tab(i));
19345 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute4_tab('||i||')=' || l_osattribute4_tab(i));
19346 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute5_tab('||i||')=' || l_osattribute5_tab(i));
19347 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute6_tab('||i||')=' || l_osattribute6_tab(i));
19348 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute7_tab('||i||')=' || l_osattribute7_tab(i));
19349 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute8_tab('||i||')=' || l_osattribute8_tab(i));
19350 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute9_tab('||i||')=' || l_osattribute9_tab(i));
19351 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute10_tab('||i||')=' || l_osattribute10_tab(i));
19352 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute11_tab('||i||')=' || l_osattribute11_tab(i));
19353 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute12_tab('||i||')=' || l_osattribute12_tab(i));
19354 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute13_tab('||i||')=' || l_osattribute13_tab(i));
19355 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute14_tab('||i||')=' || l_osattribute14_tab(i));
19356 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_osattribute15_tab('||i||')=' || l_osattribute15_tab(i));
19357 END IF;
19358 END LOOP;
19359 END IF;
19360
19361 RAISE OKC_API.G_EXCEPTION_ERROR;
19362
19363 END;
19364
19365 PROCEDURE get_object1_id1(p_install_location_type_code IN okx_install_items_v.location_type_code%TYPE,
19366 p_install_location_id IN okx_install_items_v.location_id%TYPE,
19367 p_instance_number IN okx_install_items_v.instance_number%TYPE,
19368 x_object_id1_new OUT NOCOPY NUMBER
19369 ) IS
19370
19371 --Cursors
19372 CURSOR c_get_iti_object_id1(p_party_site_id HZ_PARTY_SITE_USES.PARTY_SITE_ID%TYPE)
19373 IS
19374 SELECT psu.party_site_use_id
19375 FROM HZ_PARTY_SITE_USES psu,
19376 HZ_PARTY_SITES ps
19377 WHERE ps.party_site_id = psu.party_site_id
19378 AND psu.site_use_type = 'INSTALL_AT'
19379 AND psu.party_site_id = p_party_site_id;
19380
19381 CURSOR l_site_use_csr (p_location_id IN NUMBER) IS
19382 SELECT psu.party_site_use_id
19383 FROM hz_party_site_uses psu,
19384 hz_party_sites ps
19385 WHERE psu.party_site_id = ps.party_site_id
19386 AND psu.site_use_type = 'INSTALL_AT'
19387 AND ps.location_id = p_location_id;
19388
19389 l_site_use_rec l_site_use_csr%ROWTYPE;
19390
19391 --Cursor to get address for error
19392 CURSOR l_address_csr (pty_site_id IN NUMBER ) IS
19393 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)
19394 FROM hz_locations hl,
19395 hz_party_sites ps
19396 WHERE hl.location_id = ps.location_id
19397 AND ps.party_site_id = pty_site_id;
19398
19399 CURSOR l_address_csr2 (loc_id IN NUMBER) IS
19400 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)
19401 FROM hz_locations hl
19402 WHERE hl.location_id = loc_id;
19403
19404 l_address VARCHAR2(80);
19405
19406 BEGIN
19407 --Logic
19408 IF NVL(p_install_location_type_code,OKL_API.G_MISS_CHAR) NOT IN ('HZ_PARTY_SITES','HZ_LOCATIONS') THEN
19409 --Raise Error
19410 OKL_API.Set_Message(p_app_name => 'OKL_COPY_CONTRACT_PVT',
19411 p_msg_name => 'OKL_INVALID_INSTALL_LOC_TYPE',
19412 p_token1 => 'LOCATION_TYPE',
19413 p_token1_value => p_install_location_type_code,
19414 p_token2 => 'LOCATION_TYPE1',
19415 p_token2_value => 'HZ_PARTY_SITES',
19416 p_token3 => 'LOCATION_TYPE2',
19417 p_token3_value => 'HZ_LOCATIONS');
19418 x_return_status := OKL_API.G_RET_STS_ERROR;
19419 RAISE OKL_API.G_EXCEPTION_ERROR;
19420
19421 ELSIF NVL(p_install_location_type_code,OKL_API.G_MISS_CHAR) = 'HZ_PARTY_SITES' THEN
19422
19423 OPEN c_get_iti_object_id1(p_install_location_id);
19424 FETCH c_get_iti_object_id1 INTO x_OBJECT_ID1_NEW;
19425 IF c_get_iti_object_id1%NOTFOUND THEN
19426 OPEN l_address_csr(pty_site_id => p_install_location_id);
19427 FETCH l_address_csr INTO l_address;
19428 CLOSE l_address_csr;
19429 --Raise Error : not defined as install_at
19430 OKL_API.Set_Message
19431 (p_app_name => 'OKL_COPY_CONTRACT_PVT',
19432 p_msg_name => 'OKL_INSTALL_LOC_MISSING_USAGE',
19433 p_token1 => 'USAGE_TYPE',
19434 p_token1_value => 'INSTALL_AT',
19435 p_token2 => 'ADDRESS',
19436 p_token2_value => l_address,
19437 p_token3 => 'INSTANCE_NUMBER',
19438 p_token3_value => p_instance_number);
19439 x_return_status := OKL_API.G_RET_STS_ERROR;
19440 RAISE OKL_API.G_EXCEPTION_ERROR;
19441 END IF;
19442 CLOSE c_get_iti_object_id1;
19443
19444 ELSIF NVL(p_install_location_type_code,OKL_API.G_MISS_CHAR) = 'HZ_LOCATIONS' THEN
19445
19446 OPEN l_site_use_csr(p_install_location_id);
19447 FETCH l_site_use_csr INTO l_site_use_rec;
19448 IF l_site_use_csr%NOTFOUND THEN
19449 OPEN l_address_csr2(loc_id => p_install_location_id);
19450 FETCH l_address_csr2 INTO l_address;
19451 CLOSE l_address_csr2;
19452 --Raise Error : not defined as install_at
19453 OKL_API.Set_Message(p_app_name => 'OKL_COPY_CONTRACT_PVT2',
19454 p_msg_name => 'OKL_INSTALL_LOC_MISSING_USAGE',
19455 p_token1 => 'USAGE_TYPE',
19456 p_token1_value => 'INSTALL_AT',
19457 p_token2 => 'ADDRESS',
19458 p_token2_value => l_address,
19459 p_token3 => 'INSTANCE_NUMBER',
19460 p_token3_value => p_instance_number);
19461 x_return_status := OKL_API.G_RET_STS_ERROR;
19462 RAISE OKL_API.G_EXCEPTION_ERROR;
19463
19464 END IF;
19465 x_object_id1_new := l_site_use_rec.party_site_use_id;
19466 CLOSE l_site_use_csr;
19467
19468
19469 END IF;
19470
19471 END; /* get_object1_id1 */
19472
19473 PROCEDURE insert_okl_txl_itm_insts2(p_old_id IN okc_k_headers_b.id%TYPE,
19474 p_new_id IN okc_k_headers_b.id%TYPE) IS
19475 CURSOR c28(p_id NUMBER) IS
19476 SELECT csi.inventory_item_id,
19477 csi.inv_master_organization_id,
19478 csi.instance_number,
19479 b.id,
19480 b.cle_id,
19481 c.object1_id1,
19482 csi.location_type_code,
19483 csi.location_id,
19484 csi.serial_number
19485 FROM okx_install_items_v csi,
19486 okc_k_lines_b b,
19487 okc_k_items c
19488 WHERE b.dnz_chr_id = p_id
19489 AND b.lse_id = 45
19490 AND c.dnz_chr_id = p_id
19491 AND b.id = c.cle_id
19492 AND csi.id1 = TO_NUMBER(c.object1_id1);
19493
19494 CURSOR c_get_cle(p_id NUMBER, p_lse_id NUMBER) IS
19495 SELECT id
19496 FROM okc_k_lines_b
19497 WHERE cle_id = p_id
19498 AND lse_id = p_lse_id;
19499
19500 /*cursor c_get_object1_id1(p_id number, p_lse_id number) is
19501 select c.object1_id2
19502 from okc_k_items c,
19503 okc_k_lines_b b
19504 where c.cle_id = b.id
19505 and b.id = p_id
19506 and b.lse_id = p_lse_id;*/
19507
19508 TYPE l_inventory_item_id_type IS TABLE OF okx_install_items_v.inventory_item_id%TYPE INDEX BY BINARY_INTEGER;
19509 TYPE l_inv_master_org_id_type IS TABLE OF okx_install_items_v.inv_master_organization_id%TYPE INDEX BY BINARY_INTEGER;
19510 TYPE l_instance_number_type IS TABLE OF okx_install_items_v.instance_number%TYPE INDEX BY BINARY_INTEGER;
19511 TYPE l_id_type IS TABLE OF okc_k_lines_b.id%TYPE INDEX BY BINARY_INTEGER;
19512 TYPE l_cle_id_type IS TABLE OF okc_k_lines_b.cle_id%TYPE INDEX BY BINARY_INTEGER;
19513 TYPE l_object1_id1_type IS TABLE OF okc_k_items.object1_id1%TYPE INDEX BY BINARY_INTEGER;
19514 TYPE l_location_type_code_type IS TABLE OF okx_install_items_v.location_type_code%TYPE INDEX BY BINARY_INTEGER;
19515 TYPE l_location_id_type IS TABLE OF okx_install_items_v.location_id%TYPE INDEX BY BINARY_INTEGER;
19516 TYPE l_serial_number_type IS TABLE OF okx_install_items_v.serial_number%TYPE INDEX BY BINARY_INTEGER;
19517
19518 l_inventory_item_id_tab2 l_inventory_item_id_type;
19519 l_inv_master_org_id_tab2 l_inv_master_org_id_type;
19520 l_instance_number_tab2 l_instance_number_type;
19521 l_id_tab2 l_id_type;
19522 l_cle_id_tab2 l_cle_id_type;
19523 l_object1_id1_tab2 l_object1_id1_type;
19524 l_location_type_code_tab2 l_location_type_code_type;
19525 l_location_id_tab2 l_location_id_type;
19526 l_serial_number_tab2 l_serial_number_type;
19527
19528 l_inventory_item_id_tab3 l_inventory_item_id_type;
19529 l_inv_master_org_id_tab3 l_inv_master_org_id_type;
19530 l_instance_number_tab3 l_instance_number_type;
19531 l_id_tab3 l_id_type;
19532 l_cle_id_tab3 l_cle_id_type;
19533 l_object1_id1_tab3 l_object1_id1_type;
19534 l_location_type_code_tab3 l_location_type_code_type;
19535 l_location_id_tab3 l_location_id_type;
19536 l_serial_number_tab3 l_serial_number_type;
19537
19538 -- okl_trx_assets
19539 l_t4id_tab l_tid_type;
19540 l_trx_assets_counter5 NUMBER := 1;
19541
19542 /* Commented here. To make it global */
19543 -- okl_txl_itm_insts
19544 /*
19545 l_ti2id_tab l_tiid_type;
19546 l_ti2tas_id_tab l_titas_id_type;
19547 l_ti2kle_id_tab l_tikle_id_type;
19548 l_ti2line_number_tab l_tiline_number_type;
19549 l_ti2instance_number_ib_tab l_tiinstance_number_ib_type;
19550 l_ti2object_id1_new_tab l_tiobject_id1_new_type;
19551 l_ti2object_id2_new_tab l_tiobject_id2_new_type;
19552 l_ti2jtot_object_code_new_tab l_tijtot_object_code_new_type;
19553 l_ti2dnz_cle_id_tab l_tidnz_cle_id_type;
19554 l_ti2inventory_item_id_tab l_tiinventory_item_id_type;
19555 l_ti2inv_master_org_id_tab l_tiinv_master_org_id_type;
19556 l_ti2inventory_org_id_tab l_tiinventory_org_id_type;
19557 l_ti2serial_number_tab l_tiserial_number_type;
19558 l_ti2mfg_serial_number_yn_tab l_timfg_serial_number_yn_type;
19559
19560 --l_txl_itm_insts_counter2 number := 1;
19561 */
19562 l_instance_counter NUMBER := 1;
19563 l_dnz_cle_id NUMBER;
19564 l_object1_id1 VARCHAR2(40);
19565 l_new_kle_id NUMBER;
19566 l_new_cle_id NUMBER;
19567 l_new_line_number NUMBER;
19568 l_new_dnz_cle_id NUMBER;
19569 l_new_object_id1 VARCHAR2(40);
19570 l_new_id NUMBER;
19571 l_local_cle_id NUMBER;
19572 l_local_cle_id2 NUMBER;
19573
19574 BEGIN
19575 IF (G_DEBUG_ENABLED = 'Y') THEN
19576 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
19577 END IF;
19578 NULL;
19579 OPEN c28(p_old_id);
19580 LOOP
19581 FETCH c28 bulk collect INTO
19582 l_inventory_item_id_tab2, l_inv_master_org_id_tab2,
19583 l_instance_number_tab2, l_id_tab2,
19584 l_cle_id_tab2, l_object1_id1_tab2,
19585 l_location_type_code_tab2, l_location_id_tab2,
19586 l_serial_number_tab2
19587 limit G_BULK_SIZE;
19588 EXIT WHEN l_inventory_item_id_tab2.COUNT=0;
19589 FOR i IN l_inventory_item_id_tab2.first..l_inventory_item_id_tab2.last
19590 LOOP
19591 l_inventory_item_id_tab3(l_instance_counter) := l_inventory_item_id_tab2(i);
19592 l_inv_master_org_id_tab3(l_instance_counter) := l_inv_master_org_id_tab2(i);
19593 l_instance_number_tab3(l_instance_counter) := l_instance_number_tab2(i);
19594 l_id_tab3(l_instance_counter) := l_id_tab2(i);
19595 l_cle_id_tab3(l_instance_counter) := l_cle_id_tab2(i);
19596 l_object1_id1_tab3(l_instance_counter) := l_object1_id1_tab2(i);
19597 l_location_type_code_tab3(l_instance_counter) := l_location_type_code_tab2(i);
19598 l_location_id_tab3(l_instance_counter) := l_location_id_tab2(i);
19599 l_serial_number_tab3(l_instance_counter) := l_serial_number_tab2(i);
19600
19601 l_instance_counter := l_instance_counter + 1;
19602 END LOOP;
19603 END LOOP;
19604 CLOSE c28;
19605 IF (l_inventory_item_id_tab3.count > 0) THEN
19606 FOR i IN l_inventory_item_id_tab3.first..l_inventory_item_id_tab3.last
19607 LOOP
19608 l_t4id_tab(l_trx_assets_counter5) := okc_p_util.raw_to_number(sys_guid());
19609
19610 l_ti2id_tab(l_txl_itm_insts_counter2) := okc_p_util.raw_to_number(sys_guid());
19611 l_ti2tas_id_tab(l_txl_itm_insts_counter2) := l_t4id_tab(l_trx_assets_counter5);
19612 l_ti2kle_id_tab(l_txl_itm_insts_counter2) := l_id_tab3(i);
19613 -- Change kle_id
19614 l_new_kle_id := find_mapping_id(l_ti2kle_id_tab(l_txl_itm_insts_counter2));
19615 IF (l_new_kle_id = -1) THEN
19616 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19617 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));
19618 END IF;
19619 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
19620 END IF;
19621 l_ti2kle_id_tab(l_txl_itm_insts_counter2) := l_new_kle_id;
19622
19623 l_new_cle_id := find_mapping_id(l_cle_id_tab3(i));
19624 l_new_line_number := find_cle_line_number2(l_new_cle_id);
19625 IF (l_new_line_number = -1) THEN
19626 l_cle_mapping_tab2(l_trx_assets_counter6).old_id := l_new_cle_id;
19627 l_cle_mapping_tab2(l_trx_assets_counter6).new_id := 1;
19628
19629 l_trx_assets_counter6 := l_trx_assets_counter6 + 1;
19630 l_new_line_number := 1;
19631 END IF;
19632 l_ti2line_number_tab(l_txl_itm_insts_counter2) := l_new_line_number;
19633 l_ti2instance_number_ib_tab(l_txl_itm_insts_counter2) := l_instance_number_tab3(i);
19634
19635 -- AKP: to do
19636 --l_ti2object_id1_new_tab(l_txl_itm_insts_counter2) := null;
19637
19638 get_object1_id1(l_location_type_code_tab3(i), l_location_id_tab3(i), l_instance_number_tab3(i), l_new_object_id1);
19639 l_ti2object_id1_new_tab(l_txl_itm_insts_counter2) := l_new_object_id1;
19640
19641 l_ti2object_id2_new_tab(l_txl_itm_insts_counter2) := '#';
19642 l_ti2jtot_object_code_new_tab(l_txl_itm_insts_counter2) := 'OKX_PARTSITE';
19643
19644 /*print('l_id_tab3(' || i || ')=' || l_id_tab3(i));
19645 for r in c_get_cle(l_id_tab3(i) , 33 )
19646 loop
19647 l_dnz_cle_id := r.id;
19648 end loop;*/
19649 l_new_id := find_id(l_id_tab3(i));
19650 --print('l_new_id=' || l_new_id);
19651 IF (l_new_id = -1) THEN
19652 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19653 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: OLD_LINE_ID to NEW_LINE_ID mapping not found');
19654 END IF;
19655 RAISE OKL_API.G_EXCEPTION_ERROR;
19656 END IF;
19657 l_local_cle_id := find_cid_mapping_id(l_new_id);
19658 --print('l_local_cle_id=' || l_local_cle_id);
19659 IF (l_local_cle_id = -1) THEN
19660 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19661 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: ID to CLE_ID mapping not found');
19662 END IF;
19663 RAISE OKL_API.G_EXCEPTION_ERROR;
19664 END IF;
19665 l_local_cle_id2 := find_cid_mapping_id(l_local_cle_id);
19666 --print('l_local_cle_id2=' || l_local_cle_id2);
19667 IF (l_local_cle_id2 = -1) THEN
19668 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19669 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: ID to CLE_ID mapping not found');
19670 END IF;
19671 RAISE OKL_API.G_EXCEPTION_ERROR;
19672 END IF;
19673
19674 --l_new_dnz_cle_id := find_mapping_id(l_dnz_cle_id);
19675 l_ti2dnz_cle_id_tab(l_txl_itm_insts_counter2) := l_local_cle_id2;
19676 l_ti2inventory_item_id_tab(l_txl_itm_insts_counter2) := l_inventory_item_id_tab3(i);
19677 l_ti2inv_master_org_id_tab(l_txl_itm_insts_counter2) := l_inv_master_org_id_tab3(i);
19678
19679 /*print('Before c_get_object1_id1:l_id_tab3(' || i || ')=' || l_id_tab3(i));
19680 for r in c_get_object1_id1(l_id_tab3(i) , 34 )
19681 loop
19682 l_object1_id1 := r.object1_id2;
19683 end loop;
19684 l_ti2inventory_org_id_tab(l_txl_itm_insts_counter2) := to_number(l_object1_id1);*/
19685 l_ti2inventory_org_id_tab(l_txl_itm_insts_counter2) := l_inventory_org_id;
19686
19687 l_ti2serial_number_tab(l_txl_itm_insts_counter2) := l_serial_number_tab3(i);
19688 IF (l_ti2serial_number_tab(l_txl_itm_insts_counter2) IS NULL) THEN
19689 l_ti2mfg_serial_number_yn_tab(l_txl_itm_insts_counter2) := 'N';
19690 ELSE
19691 l_ti2mfg_serial_number_yn_tab(l_txl_itm_insts_counter2) := 'Y';
19692 END IF;
19693
19694 l_txl_itm_insts_counter2 := l_txl_itm_insts_counter2 + 1;
19695
19696 l_trx_assets_counter5 := l_trx_assets_counter5 + 1;
19697 END LOOP;
19698 END IF; /* if l_inventory_item_id_tab3.count > 0 */
19699
19700 -- Now populate
19701 IF (l_trx_assets_counter5 > 1) THEN
19702 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19703 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);
19704 END IF;
19705 forall i IN l_t4id_tab.first..l_t4id_tab.last
19706 INSERT INTO okl_trx_assets (
19707 id, tas_type, object_version_number,
19708 tsu_code, try_id, date_trans_occurred,
19709 created_by, creation_date, last_updated_by,
19710 last_update_date, last_update_login, trans_number
19711 ,transaction_date
19712 ) VALUES (
19713 l_t4id_tab(i), p_trans_type, 1,
19714 'ENTERED', l_try_id, SYSDATE, -- AKP: populate try_id properly
19715 l_created_by, SYSDATE, l_last_updated_by,
19716 SYSDATE, l_last_update_login, okl_trn_seq.NEXTVAL
19717 ,SYSDATE
19718 );
19719 END IF;
19720
19721 IF (l_txl_itm_insts_counter2 > 1) THEN
19722 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19723 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);
19724 END IF;
19725 forall i IN l_ti2id_tab.first..l_ti2id_tab.last
19726 INSERT INTO okl_txl_itm_insts (
19727 id, object_version_number, tas_id,
19728 tal_type, kle_id, line_number,
19729 instance_number_ib, object_id1_new, object_id2_new,
19730 jtot_object_code_new, dnz_cle_id, inventory_item_id,
19731 inv_master_org_id, inventory_org_id, created_by,
19732 creation_date, last_updated_by, last_update_date,
19733 last_update_login, serial_number, mfg_serial_number_yn
19734 ) VALUES (
19735 l_ti2id_tab(i), 1, l_ti2tas_id_tab(i),
19736 p_trans_type, l_ti2kle_id_tab(i), l_ti2line_number_tab(i),
19737 l_ti2instance_number_ib_tab(i), l_ti2object_id1_new_tab(i), l_ti2object_id2_new_tab(i),
19738 l_ti2jtot_object_code_new_tab(i), l_ti2dnz_cle_id_tab(i), l_ti2inventory_item_id_tab(i),
19739 l_ti2inv_master_org_id_tab(i), l_ti2inventory_org_id_tab(i), l_created_by,
19740 SYSDATE, l_last_updated_by, SYSDATE,
19741 l_last_update_login, l_ti2serial_number_tab(i), l_ti2mfg_serial_number_yn_tab(i)
19742 );
19743 END IF;
19744
19745 EXCEPTION WHEN OTHERS THEN
19746
19747 x_return_status := OKL_API.G_RET_STS_ERROR;
19748 /*OKL_API.set_message(p_app_name => 'OKL',
19749 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
19750 p_token1 => 'ASSET_NUMBER',
19751 p_token1_value => 'insert_okl_txl_itm_instst2');*/
19752 /* DEBUG */
19753 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19754 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
19755 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okl_trx_assets:l_t4id_tab.count=' || l_t4id_tab.COUNT || ' ...');
19756 END IF;
19757 IF (l_t4id_tab.COUNT > 0) THEN
19758 FOR i IN l_t4id_tab.first..l_t4id_tab.last
19759 LOOP
19760 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19761 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_t4id_tab('||i||')=' || l_t4id_tab(i));
19762 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_try_id=' || l_try_id);
19763 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_trans_type=' || p_trans_type);
19764 END IF;
19765 END LOOP;
19766 END IF;
19767
19768 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19769 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing okl_txl_itm_insts:l_ti2id_tab.count=' || l_ti2id_tab.COUNT || ' ...');
19770 END IF;
19771 IF (l_ti2id_tab.COUNT > 0) THEN
19772 FOR i IN l_ti2id_tab.first..l_ti2id_tab.last
19773 LOOP
19774 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19775 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2id_tab('||i||')=' || l_ti2id_tab(i));
19776 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2tas_id_tab('||i||')=' || l_ti2tas_id_tab(i));
19777 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_trans_type=' || p_trans_type);
19778 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2kle_id_tab('||i||')=' || l_ti2kle_id_tab(i));
19779 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2line_number_tab('||i||')=' || l_ti2line_number_tab(i));
19780 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2instance_number_ib_tab('||i||')=' || l_ti2instance_number_ib_tab(i));
19781 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2object_id1_new_tab('||i||')=' || l_ti2object_id1_new_tab(i));
19782 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2object_id2_new_tab('||i||')=' || l_ti2object_id2_new_tab(i));
19783 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));
19784 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2dnz_cle_id_tab('||i||')=' || l_ti2dnz_cle_id_tab(i));
19785 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2inventory_item_id_tab('||i||')=' || l_ti2inventory_item_id_tab(i));
19786 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));
19787 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2inventory_org_id_tab('||i||')=' || l_ti2inventory_org_id_tab(i));
19788 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_ti2serial_number_tab('||i||')=' || l_ti2serial_number_tab(i));
19789 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));
19790 END IF;
19791 END LOOP;
19792 END IF;
19793
19794 RAISE OKC_API.G_EXCEPTION_ERROR;
19795
19796 END; /* insert_okl_txl_itm_insts2 */
19797
19798 FUNCTION find_sid_mapping_id(p_id IN NUMBER) RETURN NUMBER IS
19799 hi NUMBER;
19800 lo NUMBER;
19801 m NUMBER;
19802 BEGIN
19803 lo := 1;
19804 hi := l_counter - 1;
19805 WHILE (lo <= hi) LOOP
19806 m := FLOOR((hi + lo)/2);
19807 IF (l_sid_mapping_tab(m).id = p_id) THEN
19808 RETURN l_sid_mapping_tab(m).lse_id;
19809 ELSIF (l_sid_mapping_tab(m).id > p_id) THEN
19810 hi := m - 1;
19811 ELSE
19812 lo := m + 1;
19813 END IF;
19814 END LOOP;
19815 RETURN -1;
19816 END; /* find_sid_mapping_id */
19817
19818 PROCEDURE sort_sid_mapping_tab IS
19819 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
19820 --a numtabtype;
19821 l_stack numtabtype;
19822 l_stack_index NUMBER := 0;
19823 N NUMBER;
19824 R NUMBER;
19825 L NUMBER;
19826 P NUMBER;
19827 W NUMBER;
19828 W2 NUMBER;
19829 X NUMBER;
19830 I NUMBER;
19831 J NUMBER;
19832 BEGIN
19833 IF (G_DEBUG_ENABLED = 'Y') THEN
19834 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
19835 END IF;
19836 NULL;
19837
19838 N := l_counter - 1;
19839 IF (N < 2) THEN
19840 RETURN;
19841 END IF;
19842 l_stack_index := l_stack_index + 1;
19843 l_stack(l_stack_index) := 1;
19844 l_stack_index := l_stack_index + 1;
19845 l_stack(l_stack_index) := N;
19846
19847 --dbms_output.put_line('l_stack_index=' || l_stack_index);
19848 WHILE l_stack_index > 0
19849 LOOP
19850 R := l_stack(l_stack_index);
19851 l_stack_index := l_stack_index - 1;
19852 L := l_stack(l_stack_index);
19853 l_stack_index := l_stack_index - 1;
19854 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
19855 WHILE 1=1
19856 LOOP -- loop until L >= R
19857 I := L;
19858 J := R;
19859 P := FLOOR((L+R)/2);
19860 --if (a(L) > a(P)) then
19861 IF (l_sid_mapping_tab(L).id > l_sid_mapping_tab(P).id)
19862 THEN
19863 W := l_sid_mapping_tab(L).id;
19864 W2 := l_sid_mapping_tab(L).lse_id;
19865 l_sid_mapping_tab(L).id :=l_sid_mapping_tab(P).id;
19866 l_sid_mapping_tab(L).lse_id :=l_sid_mapping_tab(P).lse_id;
19867 l_sid_mapping_tab(P).id := W;
19868 l_sid_mapping_tab(P).lse_id := W2;
19869 END IF;
19870 --if (a(L) > a(R)) then
19871 IF (l_sid_mapping_tab(L).id > l_sid_mapping_tab(R).id)
19872 THEN
19873 W := l_sid_mapping_tab(L).id;
19874 W2 := l_sid_mapping_tab(L).lse_id;
19875 l_sid_mapping_tab(L).id :=l_sid_mapping_tab(R).id;
19876 l_sid_mapping_tab(L).lse_id :=l_sid_mapping_tab(R).lse_id;
19877 l_sid_mapping_tab(R).id := W;
19878 l_sid_mapping_tab(R).lse_id := W2;
19879 END IF;
19880 --if (a(P) > a(R)) then
19881 IF (l_sid_mapping_tab(P).id > l_sid_mapping_tab(R).id)
19882 THEN
19883 W := l_sid_mapping_tab(P).id;
19884 W2 := l_sid_mapping_tab(P).lse_id;
19885 l_sid_mapping_tab(P).id :=l_sid_mapping_tab(R).id;
19886 l_sid_mapping_tab(P).lse_id :=l_sid_mapping_tab(R).lse_id;
19887 l_sid_mapping_tab(R).id := W;
19888 l_sid_mapping_tab(R).lse_id := W2;
19889 END IF;
19890 --X := a(P);
19891 X := l_sid_mapping_tab(P).id;
19892 WHILE 1=1
19893 LOOP -- until I > J
19894 --while (a(I) < X) loop
19895 WHILE (l_sid_mapping_tab(I).id < X) LOOP
19896 I := I + 1;
19897 END LOOP;
19898 WHILE (X < l_sid_mapping_tab(J).id) LOOP
19899 J := J - 1;
19900 END LOOP;
19901 IF (I <= J) THEN
19902 W := l_sid_mapping_tab(I).id;
19903 W2 := l_sid_mapping_tab(I).lse_id;
19904 l_sid_mapping_tab(I).id :=l_sid_mapping_tab(J).id;
19905 l_sid_mapping_tab(I).lse_id :=l_sid_mapping_tab(J).lse_id;
19906 l_sid_mapping_tab(J).id := W;
19907 l_sid_mapping_tab(J).lse_id := W2;
19908 I := I + 1;
19909 J := J - 1;
19910 END IF;
19911 EXIT WHEN I > J;
19912 END LOOP;
19913 IF (J - L < R - I) THEN
19914 IF (I < R) THEN
19915 --push(I); push(R);
19916 l_stack_index := l_stack_index + 1;
19917 l_stack(l_stack_index) := I;
19918 l_stack_index := l_stack_index + 1;
19919 l_stack(l_stack_index) := R;
19920 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
19921 END IF;
19922 R := J;
19923 ELSE
19924 IF (L < J) THEN
19925 --push(L); push(J);
19926 l_stack_index := l_stack_index + 1;
19927 l_stack(l_stack_index) := L;
19928 l_stack_index := l_stack_index + 1;
19929 l_stack(l_stack_index) := J;
19930 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
19931 END IF;
19932 L := I;
19933 END IF;
19934
19935 EXIT WHEN (L >= R);
19936 END LOOP;
19937 END LOOP;
19938
19939 EXCEPTION WHEN OTHERS THEN
19940
19941 x_return_status := OKL_API.G_RET_STS_ERROR;
19942 /*OKL_API.set_message(p_app_name => 'OKL',
19943 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
19944 p_token1 => 'ASSET_NUMBER',
19945 p_token1_value => 'sort_sid_mapping_tab');*/
19946 /* DEBUG */
19947 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19948 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
19949 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_sid_mapping_tab:l_sid_mapping_tab N=' || N || ' ...');
19950 END IF;
19951
19952 --print array
19953 FOR i IN 1..N
19954 LOOP
19955 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
19956 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);
19957 END IF;
19958 END LOOP;
19959
19960 RAISE OKC_API.G_EXCEPTION_ERROR;
19961
19962 END; /* sort_sid_mapping_tab */
19963
19964 PROCEDURE raise_business_event_header(
19965 p_chr_id IN NUMBER
19966 ,x_return_status OUT NOCOPY VARCHAR2
19967 )
19968 IS
19969 l_check VARCHAR2(1);
19970 l_parameter_list wf_parameter_list_t;
19971 BEGIN
19972
19973 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
19974 -- Our contract is always new. So commented following check
19975 --IF (p_source_code = 'new') THEN
19976 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,p_chr_id,l_parameter_list);
19977 OKL_WF_PVT.raise_event (p_api_version => p_api_version,
19978 p_init_msg_list => p_init_msg_list,
19979 x_return_status => x_return_status,
19980 x_msg_count => x_msg_count,
19981 x_msg_data => x_msg_data,
19982 p_event_name => G_WF_EVT_KHR_CREATED,
19983 p_parameters => l_parameter_list);
19984
19985 --END IF;
19986
19987 EXCEPTION
19988 WHEN OTHERS THEN
19989 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
19990 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
19991 END raise_business_event_header;
19992
19993 PROCEDURE raise_business_event(
19994 p_api_version IN NUMBER,
19995 p_init_msg_list IN VARCHAR2,
19996 x_return_status OUT NOCOPY VARCHAR2,
19997 x_msg_count OUT NOCOPY NUMBER,
19998 x_msg_data OUT NOCOPY VARCHAR2,
19999 p_event_name IN wf_events.name%TYPE,
20000 p_parameter_list IN wf_parameter_list_t,
20001 p_contract_process IN VARCHAR2) IS
20002
20003 l_chr_id okc_k_headers_b.id%TYPE;
20004 --l_contract_process VARCHAR2(30);
20005 l_parameter_list WF_PARAMETER_LIST_T := p_parameter_list;
20006
20007 BEGIN
20008 -- check to see if the the contract_id is not null, this is required since
20009 -- credit limit events do not necessarily pass a contract
20010 l_chr_id := wf_event.GetValueForParameter(G_WF_ITM_CONTRACT_ID,p_parameter_list);
20011 IF(l_chr_id IS NOT NULL)THEN
20012 -- if there exists a contract in context, then derive the contract process status
20013 --l_contract_process := okl_lla_util_pvt.get_contract_process(l_chr_id);
20014 IF(p_contract_process IS NOT NULL)THEN
20015 -- add the contract process status to the parameter list only the value is not null
20016 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS,p_contract_process,l_parameter_list);
20017 END IF;
20018 END IF;
20019 OKL_WF_PVT.raise_event (p_api_version => p_api_version,
20020 p_init_msg_list => p_init_msg_list,
20021 x_return_status => x_return_status,
20022 x_msg_count => x_msg_count,
20023 x_msg_data => x_msg_data,
20024 p_event_name => p_event_name,
20025 p_parameters => l_parameter_list);
20026
20027 EXCEPTION
20028 WHEN OTHERS THEN
20029 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20030 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20031 END raise_business_event;
20032
20033 PROCEDURE raise_business_event_subsidy(p_api_version IN NUMBER,
20034 p_init_msg_list IN VARCHAR2,
20035 p_chr_id IN okc_k_headers_b.id%TYPE,
20036 p_asset_id IN okc_k_lines_b.id%TYPE,
20037 p_subsidy_id IN okl_subsidies_b.id%TYPE,
20038 p_event_name IN VARCHAR2,
20039 p_contract_process IN VARCHAR2,
20040 x_return_status OUT NOCOPY VARCHAR2,
20041 x_msg_count OUT NOCOPY NUMBER,
20042 x_msg_data OUT NOCOPY VARCHAR2
20043 ) IS
20044 l_parameter_list wf_parameter_list_t;
20045 l_contract_process VARCHAR2(20);
20046 BEGIN
20047 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20048
20049 -- wrapper API to get contract process. this API determines in which status the
20050 -- contract in question is.
20051 --l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
20052 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20053 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20054 wf_event.AddParameterToList(G_WF_ITM_SUBSIDY_ID, p_subsidy_id, l_parameter_list);
20055 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20056 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20057 p_init_msg_list => p_init_msg_list,
20058 x_return_status => x_return_status,
20059 x_msg_count => x_msg_count,
20060 x_msg_data => x_msg_data,
20061 p_event_name => p_event_name,
20062 p_parameters => l_parameter_list);
20063 EXCEPTION
20064 WHEN OTHERS THEN
20065 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20066 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20067 END raise_business_event_subsidy;
20068
20069 PROCEDURE raise_business_event_itm(
20070 p_api_version IN NUMBER
20071 ,p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE
20072 ,x_return_status OUT NOCOPY VARCHAR2
20073 ,x_msg_count OUT NOCOPY NUMBER
20074 ,x_msg_data OUT NOCOPY VARCHAR2
20075 ,p_event_name IN WF_EVENTS.NAME%TYPE
20076 ,p_event_param_list IN WF_PARAMETER_LIST_T
20077 ,p_contract_process IN VARCHAR2
20078 )IS
20079 --l_process VARCHAR2(20);
20080 --p_chr_id okc_k_headers_b.id%TYPE;
20081 l_parameter_list WF_PARAMETER_LIST_T := p_event_param_list;
20082 BEGIN
20083 --p_chr_id := wf_event.GetValueForParameter(G_WF_ITM_CONTRACT_ID,p_event_param_list);
20084 --l_process := Okl_Lla_Util_Pvt.get_contract_process(p_chr_id);
20085 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS,p_contract_process,l_parameter_list);
20086
20087 OKL_WF_PVT.raise_event (p_api_version => p_api_version,
20088 p_init_msg_list => p_init_msg_list,
20089 x_return_status => x_return_status,
20090 x_msg_count => x_msg_count,
20091 x_msg_data => x_msg_data,
20092 p_event_name => p_event_name,
20093 p_parameters => l_parameter_list);
20094 EXCEPTION
20095 WHEN OTHERS THEN
20096 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20097 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20098 END raise_business_event_itm;
20099
20100 PROCEDURE raise_business_event_dep(p_api_version IN NUMBER,
20101 p_init_msg_list IN VARCHAR2,
20102 p_chr_id IN okc_k_headers_b.id%TYPE,
20103 p_asset_id IN okc_k_lines_b.id%TYPE,
20104 p_book_code IN okl_txl_assets_b.corporate_book%TYPE,
20105 p_event_name IN VARCHAR2,
20106 p_contract_process IN VARCHAR2,
20107 x_return_status OUT NOCOPY VARCHAR2,
20108 x_msg_count OUT NOCOPY NUMBER,
20109 x_msg_data OUT NOCOPY VARCHAR2
20110 ) IS
20111 l_parameter_list wf_parameter_list_t;
20112 BEGIN
20113 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20114
20115 -- wrapper API to get contract process. this API determines in which status the
20116 -- contract in question is.
20117 --l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
20118 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20119 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20120 wf_event.AddParameterToList(G_WF_ITM_BOOK_CODE, p_book_code, l_parameter_list);
20121 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20122 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20123 p_init_msg_list => p_init_msg_list,
20124 x_return_status => x_return_status,
20125 x_msg_count => x_msg_count,
20126 x_msg_data => x_msg_data,
20127 p_event_name => p_event_name,
20128 p_parameters => l_parameter_list);
20129
20130 EXCEPTION
20131 WHEN OTHERS THEN
20132 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20133 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20134 END raise_business_event_dep;
20135
20136
20137 PROCEDURE raise_business_event_txd(p_api_version IN NUMBER,
20138 p_init_msg_list IN VARCHAR2,
20139 p_chr_id IN okc_k_headers_b.id%TYPE,
20140 p_asset_id IN okc_k_lines_b.id%TYPE,
20141 p_event_name IN VARCHAR2,
20142 p_contract_process IN VARCHAR2,
20143 x_return_status OUT NOCOPY VARCHAR2,
20144 x_msg_count OUT NOCOPY NUMBER,
20145 x_msg_data OUT NOCOPY VARCHAR2
20146 ) IS
20147 l_parameter_list wf_parameter_list_t;
20148 --l_contract_process VARCHAR2(20);
20149 BEGIN
20150 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20151
20152 -- wrapper API to get contract process. this API determines in which status the
20153 -- contract in question is.
20154 --l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
20155 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20156 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20157 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20158
20159 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20160 p_init_msg_list => p_init_msg_list,
20161 x_return_status => x_return_status,
20162 x_msg_count => x_msg_count,
20163 x_msg_data => x_msg_data,
20164 p_event_name => p_event_name,
20165 p_parameters => l_parameter_list);
20166 EXCEPTION
20167 WHEN OTHERS THEN
20168 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20169 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20170 END raise_business_event_txd;
20171
20172 PROCEDURE raise_business_event_itm
20173 (p_api_version IN NUMBER,
20174 p_init_msg_list IN VARCHAR2,
20175 p_chr_id IN okc_k_headers_b.id%TYPE,
20176 p_asset_id IN okc_k_lines_b.id%TYPE,
20177 p_ser_num IN okl_txl_itm_insts.serial_number%TYPE,
20178 p_event_name IN VARCHAR2,
20179 p_contract_process IN VARCHAR2,
20180 x_return_status OUT NOCOPY VARCHAR2,
20181 x_msg_count OUT NOCOPY NUMBER,
20182 x_msg_data OUT NOCOPY VARCHAR2
20183 ) IS
20184 l_parameter_list wf_parameter_list_t;
20185 BEGIN
20186 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20187
20188 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20189 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20190 wf_event.AddParameterToList(G_WF_ITM_SERIAL_NUM, p_ser_num, l_parameter_list);
20191 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20192
20193 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20194 p_init_msg_list => p_init_msg_list,
20195 x_return_status => x_return_status,
20196 x_msg_count => x_msg_count,
20197 x_msg_data => x_msg_data,
20198 p_event_name => p_event_name,
20199 p_parameters => l_parameter_list);
20200 EXCEPTION
20201 WHEN OTHERS THEN
20202 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20203 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20204 END raise_business_event_itm;
20205
20206 PROCEDURE raise_business_event_supp
20207 (p_api_version IN NUMBER,
20208 p_init_msg_list IN VARCHAR2,
20209 p_chr_id IN okc_k_headers_b.id%TYPE,
20210 p_asset_id IN okc_k_lines_b.id%TYPE,
20211 p_vendor_id IN po_vendors.vendor_id%TYPE,
20212 p_event_name IN VARCHAR2,
20213 p_contract_process IN VARCHAR2,
20214 x_return_status OUT NOCOPY VARCHAR2,
20215 x_msg_count OUT NOCOPY NUMBER,
20216 x_msg_data OUT NOCOPY VARCHAR2
20217 ) IS
20218 l_parameter_list wf_parameter_list_t;
20219 BEGIN
20220 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20221
20222 -- wrapper API to get contract process. this API determines in which status the
20223 -- contract in question is.
20224 --l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
20225 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
20226 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
20227 wf_event.AddParameterToList(G_WF_ITM_PARTY_ID, p_vendor_id, l_parameter_list);
20228 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_parameter_list);
20229
20230 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20231 p_init_msg_list => p_init_msg_list,
20232 x_return_status => x_return_status,
20233 x_msg_count => x_msg_count,
20234 x_msg_data => x_msg_data,
20235 p_event_name => p_event_name,
20236 p_parameters => l_parameter_list);
20237 EXCEPTION
20238 WHEN OTHERS THEN
20239 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20240 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20241 END raise_business_event_supp;
20242
20243 PROCEDURE raise_business_event_rules
20244 (p_api_version IN NUMBER,
20245 p_init_msg_list IN VARCHAR2,
20246 x_return_status OUT NOCOPY VARCHAR2,
20247 x_msg_count OUT NOCOPY NUMBER,
20248 x_msg_data OUT NOCOPY VARCHAR2,
20249 p_event_name IN VARCHAR2,
20250 p_event_param_list IN WF_PARAMETER_LIST_T,
20251 p_contract_process IN VARCHAR2
20252 ) IS
20253 --l_contract_process VARCHAR2(20);
20254 l_event_param_list WF_PARAMETER_LIST_T := p_event_param_list;
20255 BEGIN
20256 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20257
20258 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, p_contract_process, l_event_param_list);
20259
20260 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
20261 p_init_msg_list => p_init_msg_list,
20262 x_return_status => x_return_status,
20263 x_msg_count => x_msg_count,
20264 x_msg_data => x_msg_data,
20265 p_event_name => p_event_name,
20266 p_parameters => l_event_param_list);
20267 EXCEPTION
20268 WHEN OTHERS THEN
20269 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
20270 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20271 END raise_business_event_rules;
20272
20273 FUNCTION find_ssid_mapping_id(p_id IN NUMBER) RETURN VARCHAR2 IS
20274 hi NUMBER;
20275 lo NUMBER;
20276 m NUMBER;
20277 BEGIN
20278 lo := 1;
20279 hi := l_ssid_counter - 1;
20280 WHILE (lo <= hi) LOOP
20281 m := FLOOR((hi + lo)/2);
20282 IF (l_ssid_mapping_tab(m).cle_id = p_id) THEN
20283 RETURN l_ssid_mapping_tab(m).object1_id1;
20284 ELSIF (l_ssid_mapping_tab(m).cle_id > p_id) THEN
20285 hi := m - 1;
20286 ELSE
20287 lo := m + 1;
20288 END IF;
20289 END LOOP;
20290 RETURN NULL;
20291 END; /* find_ssid_mapping_id */
20292
20293 PROCEDURE sort_ssid_mapping_tab IS
20294 TYPE numtabtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
20295 --a numtabtype;
20296 l_stack numtabtype;
20297 l_stack_index NUMBER := 0;
20298 N NUMBER;
20299 R NUMBER;
20300 L NUMBER;
20301 P NUMBER;
20302 W NUMBER;
20303 W2 VARCHAR2(40);
20304 X NUMBER;
20305 I NUMBER;
20306 J NUMBER;
20307 BEGIN
20308 IF (G_DEBUG_ENABLED = 'Y') THEN
20309 G_IS_DEBUG_STATEMENT_ON := OKL_DEBUG_PUB.CHECK_LOG_ON(G_MODULE, FND_LOG.LEVEL_STATEMENT);
20310 END IF;
20311 NULL;
20312
20313 N := l_ssid_counter - 1;
20314 IF (N < 2) THEN
20315 RETURN;
20316 END IF;
20317 l_stack_index := l_stack_index + 1;
20318 l_stack(l_stack_index) := 1;
20319 l_stack_index := l_stack_index + 1;
20320 l_stack(l_stack_index) := N;
20321
20322 --dbms_output.put_line('l_stack_index=' || l_stack_index);
20323 WHILE l_stack_index > 0
20324 LOOP
20325 R := l_stack(l_stack_index);
20326 l_stack_index := l_stack_index - 1;
20327 L := l_stack(l_stack_index);
20328 l_stack_index := l_stack_index - 1;
20329 --dbms_output.put_line('Pop: l_stack_index=' || l_stack_index);
20330 WHILE 1=1
20331 LOOP -- loop until L >= R
20332 I := L;
20333 J := R;
20334 P := FLOOR((L+R)/2);
20335 --if (a(L) > a(P)) then
20336 IF (l_ssid_mapping_tab(L).cle_id > l_ssid_mapping_tab(P).cle_id)
20337 THEN
20338 W := l_ssid_mapping_tab(L).cle_id;
20339 W2 := l_ssid_mapping_tab(L).object1_id1;
20340 l_ssid_mapping_tab(L).cle_id :=l_ssid_mapping_tab(P).cle_id;
20341 l_ssid_mapping_tab(L).object1_id1 :=l_ssid_mapping_tab(P).object1_id1;
20342 l_ssid_mapping_tab(P).cle_id := W;
20343 l_ssid_mapping_tab(P).object1_id1 := W2;
20344 END IF;
20345 --if (a(L) > a(R)) then
20346 IF (l_ssid_mapping_tab(L).cle_id > l_ssid_mapping_tab(R).cle_id)
20347 THEN
20348 W := l_ssid_mapping_tab(L).cle_id;
20349 W2 := l_ssid_mapping_tab(L).object1_id1;
20350 l_ssid_mapping_tab(L).cle_id :=l_ssid_mapping_tab(R).cle_id;
20351 l_ssid_mapping_tab(L).object1_id1 :=l_ssid_mapping_tab(R).object1_id1;
20352 l_ssid_mapping_tab(R).cle_id := W;
20353 l_ssid_mapping_tab(R).object1_id1 := W2;
20354 END IF;
20355 --if (a(P) > a(R)) then
20356 IF (l_ssid_mapping_tab(P).cle_id > l_ssid_mapping_tab(R).cle_id)
20357 THEN
20358 W := l_ssid_mapping_tab(P).cle_id;
20359 W2 := l_ssid_mapping_tab(P).object1_id1;
20360 l_ssid_mapping_tab(P).cle_id :=l_ssid_mapping_tab(R).cle_id;
20361 l_ssid_mapping_tab(P).object1_id1 :=l_ssid_mapping_tab(R).object1_id1;
20362 l_ssid_mapping_tab(R).cle_id := W;
20363 l_ssid_mapping_tab(R).object1_id1 := W2;
20364 END IF;
20365 --X := a(P);
20366 X := l_ssid_mapping_tab(P).cle_id;
20367 WHILE 1=1
20368 LOOP -- until I > J
20369 --while (a(I) < X) loop
20370 WHILE (l_ssid_mapping_tab(I).cle_id < X) LOOP
20371 I := I + 1;
20372 END LOOP;
20373 WHILE (X < l_ssid_mapping_tab(J).cle_id) LOOP
20374 J := J - 1;
20375 END LOOP;
20376 IF (I <= J) THEN
20377 W := l_ssid_mapping_tab(I).cle_id;
20378 W2 := l_ssid_mapping_tab(I).object1_id1;
20379 l_ssid_mapping_tab(I).cle_id :=l_ssid_mapping_tab(J).cle_id;
20380 l_ssid_mapping_tab(I).object1_id1 :=l_ssid_mapping_tab(J).object1_id1;
20381 l_ssid_mapping_tab(J).cle_id := W;
20382 l_ssid_mapping_tab(J).object1_id1 := W2;
20383 I := I + 1;
20384 J := J - 1;
20385 END IF;
20386 EXIT WHEN I > J;
20387 END LOOP;
20388 IF (J - L < R - I) THEN
20389 IF (I < R) THEN
20390 --push(I); push(R);
20391 l_stack_index := l_stack_index + 1;
20392 l_stack(l_stack_index) := I;
20393 l_stack_index := l_stack_index + 1;
20394 l_stack(l_stack_index) := R;
20395 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
20396 END IF;
20397 R := J;
20398 ELSE
20399 IF (L < J) THEN
20400 --push(L); push(J);
20401 l_stack_index := l_stack_index + 1;
20402 l_stack(l_stack_index) := L;
20403 l_stack_index := l_stack_index + 1;
20404 l_stack(l_stack_index) := J;
20405 --dbms_output.put_line('Push: l_stack_index=' || l_stack_index);
20406 END IF;
20407 L := I;
20408 END IF;
20409
20410 EXIT WHEN (L >= R);
20411 END LOOP;
20412 END LOOP;
20413
20414 EXCEPTION WHEN OTHERS THEN
20415
20416 x_return_status := OKL_API.G_RET_STS_ERROR;
20417 /*OKL_API.set_message(p_app_name => 'OKL',
20418 p_msg_name => 'OKL_AM_NO_OLD_SALVAGE_VALUE',
20419 p_token1 => 'ASSET_NUMBER',
20420 p_token1_value => 'sort_ssid_mapping_tab');*/
20421 /* DEBUG */
20422 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20423 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20424 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing sort_ssid_mapping_tab:l_ssid_mapping_tab N=' || N || ' ...');
20425 END IF;
20426
20427 --print array
20428 FOR i IN 1..N
20429 LOOP
20430 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20431 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);
20432 END IF;
20433 END LOOP;
20434
20435 RAISE OKC_API.G_EXCEPTION_ERROR;
20436
20437 END; /* sort_ssid_mapping_tab */
20438
20439 BEGIN
20440
20441 l_message := 'OKL_NEW_COPY_CHR_ERROR';
20442 l_curr_pos := 'okl_copy_lease_contract:1';
20443 x_return_status := OKL_API.G_RET_STS_SUCCESS;
20444 -- Call start_activity to create savepoint, check compatibility
20445 -- and initialize message list
20446 x_return_status := OKL_API.START_ACTIVITY (
20447 l_api_name
20448 ,p_init_msg_list
20449 ,'_PVT'
20450 ,x_return_status);
20451 -- Check if activity started successfully
20452 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
20453 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20454 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
20455 RAISE OKL_API.G_EXCEPTION_ERROR;
20456 END IF;
20457
20458 l_curr_pos := 'okl_copy_lease_contract:2';
20459 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20460 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_trans_type=' || p_trans_type);
20461 END IF;
20462 FOR c1rec IN c1(p_chr_id)
20463 LOOP
20464 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20465 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Source id = ' || c1rec.id || ' processing started:' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20466 END IF;
20467 l_inventory_org_id := c1rec.inv_organization_id;
20468 l_curr_pos := 'okl_copy_lease_contract:3';
20469 l_orig_system_source_code := 'OKC_HDR';
20470 IF (c1rec.scs_code = 'QUOTE') THEN
20471 l_orig_system_source_code := 'OKL_QUOTE';
20472 END IF;
20473 IF (p_trans_type = 'CRB') THEN
20474 l_orig_system_source_code := 'OKL_REBOOK';
20475 ELSIF (p_trans_type = 'CRL') THEN
20476 l_orig_system_source_code := 'OKL_RELEASE';
20477 ELSIF (p_trans_type = 'SPLC') THEN
20478 l_orig_system_source_code := 'OKL_SPLIT';
20479 END IF;
20480
20481 l_sts_code := 'NEW'; -- 4716939
20482 IF (c1rec.scs_code = 'LEASE') THEN
20483 l_sts_code := 'NEW';
20484 ELSIF (c1rec.scs_code = 'QUOTE') THEN
20485 IF (c1rec.sts_code = 'NEW') THEN
20486 l_sts_code := 'NEW';
20487 ELSE
20488 l_sts_code := 'INCOMPLETE';
20489 END IF;
20490 END IF;
20491 l_sts_code_orig := c1rec.sts_code;
20492
20493 l_curr_pos := 'okl_copy_lease_contract:4';
20494 -- kmotepal populating contract id from sys guid instead of using OKC sequence which fixes the bug 4436545 (Reverted back for OKL.H)
20495 SELECT okc_k_headers_b_s.NEXTVAL INTO l_copied_id FROM dual;
20496 --l_copied_id := okc_p_util.raw_to_number(sys_guid());
20497
20498 l_contract_currency := c1rec.currency_code;
20499 l_contract_start_date := c1rec.start_date;
20500 l_conversion_type := c1rec.CONVERSION_TYPE;
20501 l_conversion_rate := c1rec.CONVERSION_RATE;
20502 l_conversion_rate_date := c1rec.CONVERSION_RATE_DATE;
20503 l_template_yn := c1rec.TEMPLATE_YN;
20504
20505 -- AKP: what api??
20506 --l_contract_number := p_contract_number;
20507
20508 l_curr_pos := 'okl_copy_lease_contract:5';
20509 IF (p_contract_number IS NULL) THEN
20510 l_curr_pos := 'okl_copy_lease_contract:6';
20511 okc_contract_pvt.generate_contract_number(
20512 p_scs_code => c1rec.scs_code,
20513 p_modifier => p_contract_number_modifier,
20514 x_return_status => x_return_status,
20515 x_contract_number => l_contract_number);
20516 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20517 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
20518 p_msg_name => g_unexpected_error,
20519 p_token1 => g_sqlcode_token,
20520 p_token1_value => SQLCODE,
20521 p_token2 => g_sqlerrm_token,
20522 p_token2_value => SQLERRM);
20523 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20524 END IF;
20525 ELSE
20526 l_contract_number := p_contract_number;
20527 END IF;
20528
20529 --print('l_contract_number=' ||l_contract_number);
20530 --print('c1rec.contract_number=' ||c1rec.contract_number);
20531 -- Bug 4738057
20532 l_contract_exists := FALSE;
20533 FOR contract_exists_rec IN contract_exists_csr(l_contract_number)
20534 LOOP
20535 l_contract_exists := TRUE;
20536 END LOOP;
20537 IF ((l_contract_number = c1rec.contract_number) OR
20538 (l_contract_exists) ) THEN
20539 OKL_API.set_message(p_app_name => 'OKC',
20540 p_msg_name => 'OKC_CONTRACT_EXISTS',
20541 p_token1 => 'VALUE1',
20542 p_token1_value => l_contract_number,
20543 p_token2 => 'VALUE2',
20544 p_token2_value => ' ');
20545 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
20546 l_api_name,
20547 G_PKG_NAME,
20548 'OKL_API.G_RET_STS_ERROR',
20549 x_msg_count,
20550 x_msg_data,
20551 '_PVT');
20552 RETURN;
20553 --RAISE OKC_API.G_EXCEPTION_ERROR;
20554 END IF;
20555
20556 l_curr_pos := 'okl_copy_lease_contract:7';
20557 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20558 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_contract_number=' || l_contract_number);
20559 END IF;
20560
20561 -- AKP: need to do all validatations here
20562 validate_currency_code(x_return_status, l_contract_currency );
20563 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20564 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20565 END IF;
20566
20567 l_curr_pos := 'okl_copy_lease_contract:8';
20568 validate_orig_sys_code(x_return_status, l_orig_system_source_code);
20569 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20570 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20571 END IF;
20572
20573 l_curr_pos := 'okl_copy_lease_contract:9';
20574 validate_currency_conv_type(x_return_status, l_conversion_type);
20575 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20576 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20577 END IF;
20578
20579 BEGIN
20580 l_curr_pos := 'okl_copy_lease_contract:10';
20581 INSERT INTO okc_k_headers_b (
20582 ID, CONTRACT_NUMBER, AUTHORING_ORG_ID,
20583 CONTRACT_NUMBER_MODIFIER, CHR_ID_RESPONSE, CHR_ID_AWARD,
20584 CHR_ID_RENEWED, INV_ORGANIZATION_ID, STS_CODE,
20585 QCL_ID, SCS_CODE, TRN_CODE,
20586 CURRENCY_CODE, ARCHIVED_YN, DELETED_YN,
20587 TEMPLATE_YN, CHR_TYPE, OBJECT_VERSION_NUMBER,
20588 CREATED_BY, CREATION_DATE, LAST_UPDATED_BY,
20589 CUST_PO_NUMBER_REQ_YN, PRE_PAY_REQ_YN, CUST_PO_NUMBER,
20590 DPAS_RATING, TEMPLATE_USED, DATE_APPROVED,
20591 DATETIME_CANCELLED, AUTO_RENEW_DAYS, DATE_ISSUED,
20592 DATETIME_RESPONDED, RFP_TYPE, KEEP_ON_MAIL_LIST,
20593 SET_ASIDE_PERCENT, RESPONSE_COPIES_REQ, DATE_CLOSE_PROJECTED,
20594 DATETIME_PROPOSED, DATE_SIGNED, DATE_TERMINATED,
20595 DATE_RENEWED, START_DATE, END_DATE,
20596 BUY_OR_SELL, ISSUE_OR_RECEIVE, LAST_UPDATE_LOGIN,
20597 ESTIMATED_AMOUNT, ATTRIBUTE_CATEGORY, LAST_UPDATE_DATE,
20598 ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3,
20599 ATTRIBUTE4, ATTRIBUTE5, ATTRIBUTE6,
20600 ATTRIBUTE7, ATTRIBUTE8, ATTRIBUTE9,
20601 ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12,
20602 ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15,
20603 SECURITY_GROUP_ID, CHR_ID_RENEWED_TO, ESTIMATED_AMOUNT_RENEWED,
20604 CURRENCY_CODE_RENEWED, UPG_ORIG_SYSTEM_REF, UPG_ORIG_SYSTEM_REF_ID,
20605 APPLICATION_ID, RESOLVED_UNTIL, ORIG_SYSTEM_SOURCE_CODE,
20606 ORIG_SYSTEM_ID1, ORIG_SYSTEM_REFERENCE1, PROGRAM_APPLICATION_ID,
20607 PROGRAM_ID, PROGRAM_UPDATE_DATE, REQUEST_ID,
20608 PRICE_LIST_ID, PRICING_DATE, TOTAL_LINE_LIST_PRICE,
20609 SIGN_BY_DATE, USER_ESTIMATED_AMOUNT, GOVERNING_CONTRACT_YN,
20610 CONVERSION_TYPE, CONVERSION_RATE,
20611 CONVERSION_RATE_DATE, CONVERSION_EURO_RATE, CUST_ACCT_ID,
20612 BILL_TO_SITE_USE_ID, INV_RULE_ID, RENEWAL_TYPE_CODE,
20613 RENEWAL_NOTIFY_TO, RENEWAL_END_DATE, SHIP_TO_SITE_USE_ID,
20614 PAYMENT_TERM_ID,
20615 ORG_ID --MOAC
20616 ) VALUES (
20617 l_copied_id, l_contract_number, c1rec.AUTHORING_ORG_ID,
20618 NULL, NULL, NULL,
20619 c1rec.CHR_ID_RENEWED, c1rec.INV_ORGANIZATION_ID, l_sts_code,
20620 c1rec.QCL_ID, c1rec.SCS_CODE, NULL,
20621 c1rec.CURRENCY_CODE, 'N', 'N',
20622 'N', c1rec.CHR_TYPE, 1,
20623 l_created_by, SYSDATE, l_last_updated_by,
20624 c1rec.CUST_PO_NUMBER_REQ_YN, c1rec.PRE_PAY_REQ_YN, c1rec.CUST_PO_NUMBER,
20625 c1rec.DPAS_RATING, DECODE(c1rec.template_yn,'Y',c1rec.CONTRACT_NUMBER,NULL), NULL,
20626 NULL, c1rec.AUTO_RENEW_DAYS, NULL,
20627 NULL, NULL, c1rec.KEEP_ON_MAIL_LIST,
20628 NULL, NULL, NULL,
20629 NULL, c1rec.DATE_SIGNED, NULL,
20630 NULL, c1rec.START_DATE, c1rec.END_DATE,
20631 c1rec.BUY_OR_SELL, c1rec.ISSUE_OR_RECEIVE, l_last_update_login,
20632 c1rec.ESTIMATED_AMOUNT, c1rec.ATTRIBUTE_CATEGORY, SYSDATE,
20633 c1rec.ATTRIBUTE1, c1rec.ATTRIBUTE2, c1rec.ATTRIBUTE3,
20634 c1rec.ATTRIBUTE4, c1rec.ATTRIBUTE5, c1rec.ATTRIBUTE6,
20635 c1rec.ATTRIBUTE7, c1rec.ATTRIBUTE8, c1rec.ATTRIBUTE9,
20636 c1rec.ATTRIBUTE10, c1rec.ATTRIBUTE11, c1rec.ATTRIBUTE12,
20637 c1rec.ATTRIBUTE13, c1rec.ATTRIBUTE14, c1rec.ATTRIBUTE15,
20638 c1rec.SECURITY_GROUP_ID, c1rec.CHR_ID_RENEWED_TO, c1rec.ESTIMATED_AMOUNT_RENEWED,
20639 c1rec.CURRENCY_CODE_RENEWED, c1rec.UPG_ORIG_SYSTEM_REF, c1rec.UPG_ORIG_SYSTEM_REF_ID,
20640 c1rec.APPLICATION_ID, c1rec.RESOLVED_UNTIL, l_orig_system_source_code,
20641 --decode(p_trans_type, 'RBK', c1rec.orig_system_id1, c1rec.ID), null, c1rec.PROGRAM_APPLICATION_ID,
20642 c1rec.ID, NULL, c1rec.PROGRAM_APPLICATION_ID,
20643 c1rec.PROGRAM_ID, c1rec.PROGRAM_UPDATE_DATE, c1rec.REQUEST_ID,
20644 c1rec.PRICE_LIST_ID, c1rec.PRICING_DATE, c1rec.TOTAL_LINE_LIST_PRICE,
20645 c1rec.SIGN_BY_DATE, NULL, c1rec.GOVERNING_CONTRACT_YN,
20646 c1rec.CONVERSION_TYPE, c1rec.CONVERSION_RATE,
20647 c1rec.CONVERSION_RATE_DATE, c1rec.CONVERSION_EURO_RATE, c1rec.CUST_ACCT_ID,
20648 c1rec.BILL_TO_SITE_USE_ID, c1rec.INV_RULE_ID, c1rec.RENEWAL_TYPE_CODE,
20649 c1rec.RENEWAL_NOTIFY_TO, c1rec.RENEWAL_END_DATE, c1rec.SHIP_TO_SITE_USE_ID,
20650 c1rec.PAYMENT_TERM_ID,
20651 c1rec.AUTHORING_ORG_ID --MOAC
20652 );
20653 --) RETURNING ID into l_copied_id;
20654
20655 EXCEPTION WHEN OTHERS THEN
20656 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20657 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20658 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during insert into okc_k_headers_b...');
20659 END IF;
20660 OKL_API.set_message(p_app_name => 'OKL',
20661 p_msg_name => l_message,
20662 p_token1 => 'CONTRACT_NUMBER',
20663 p_token1_value => l_contract_number);
20664 RAISE OKC_API.G_EXCEPTION_ERROR;
20665 END;
20666 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20667 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_copied_id=' || l_copied_id);
20668 END IF;
20669
20670 l_curr_pos := 'okl_copy_lease_contract:11';
20671 BEGIN
20672 l_hstv_rec.chr_id := l_copied_id;
20673 l_hstv_rec.sts_code_from := NULL;
20674 l_hstv_rec.sts_code_to := l_sts_code;
20675 l_hstv_rec.reason_code := 'CREATE';
20676 l_hstv_rec.opn_code := 'STS_CHG';
20677 l_hstv_rec.manual_yn := 'N';
20678 l_hstv_rec.contract_version := '1.1';
20679
20680 l_curr_pos := 'okl_copy_lease_contract:12';
20681 OKC_K_HISTORY_PUB.create_k_history(
20682 p_api_version => p_api_version,
20683 p_init_msg_list => p_init_msg_list,
20684 x_return_status => x_return_status,
20685 x_msg_count => x_msg_count,
20686 x_msg_data => x_msg_data,
20687 p_hstv_rec => l_hstv_rec,
20688 x_hstv_rec => x_hstv_rec);
20689 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
20690 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
20691 END IF;
20692 EXCEPTION WHEN OTHERS THEN
20693 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20694 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20695 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during insert into create_k_history...');
20696 END IF;
20697 RAISE OKC_API.G_EXCEPTION_ERROR;
20698 END;
20699
20700 BEGIN
20701 l_curr_pos := 'okl_copy_lease_contract:13';
20702 l_message := 'OKL_NEW_COPY_VER_ERROR';
20703 INSERT INTO okc_k_vers_numbers (
20704 chr_id, major_version, minor_version,
20705 object_version_number, created_by, creation_date,
20706 last_updated_by, last_update_date, last_update_login
20707 --security_group_id
20708 ) VALUES (
20709 l_copied_id, 0, 1,
20710 1, l_created_by, SYSDATE,
20711 l_last_updated_by, SYSDATE, l_last_update_login
20712 --FND_GLOBAL.SECURITY_GROUP_ID
20713 );
20714 EXCEPTION WHEN OTHERS THEN
20715 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20716 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20717 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during inser into okc_k_vers_numbers...');
20718 END IF;
20719 OKL_API.set_message(p_app_name => 'OKL',
20720 p_msg_name => l_message,
20721 p_token1 => 'CONTRACT_NUMBER',
20722 p_token1_value => l_contract_number);
20723 RAISE OKC_API.G_EXCEPTION_ERROR;
20724 END;
20725
20726 l_curr_pos := 'okl_copy_lease_contract:14';
20727 l_message := 'OKL_NEW_COPY_CHR_ERROR';
20728 insert_okc_k_headers_tl(p_chr_id, l_copied_id);
20729 l_curr_pos := 'okl_copy_lease_contract:15';
20730 l_message := 'OKL_NEW_COPY_KHR_ERROR';
20731 insert_okl_k_headers(p_chr_id, l_copied_id);
20732 l_message := 'OKL_NEW_COPY_CSP_ERROR';
20733 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20734 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Calling okl_slctd_optns ...');
20735 END IF;
20736 l_curr_pos := 'okl_copy_lease_contract:16';
20737 insert_okl_slctd_optns(p_chr_id, l_copied_id);
20738 /*end loop;*/
20739
20740 l_curr_pos := 'okl_copy_lease_contract:17';
20741 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20742 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Governances...');
20743 END IF;
20744 FOR c2rec IN c2(p_chr_id)
20745 LOOP
20746 BEGIN
20747 l_curr_pos := 'okl_copy_lease_contract:18';
20748 l_message := 'OKL_NEW_COPY_GVE_ERROR';
20749 INSERT INTO okc_governances (
20750 ID, DNZ_CHR_ID, CHR_ID,
20751 CLE_ID, CHR_ID_REFERRED, CLE_ID_REFERRED,
20752 ISA_AGREEMENT_ID, COPIED_ONLY_YN, OBJECT_VERSION_NUMBER,
20753 CREATED_BY, CREATION_DATE, LAST_UPDATED_BY,
20754 LAST_UPDATE_DATE, LAST_UPDATE_LOGIN, SECURITY_GROUP_ID
20755 ) VALUES (
20756 okc_p_util.raw_to_number(sys_guid()), l_copied_id, l_copied_id,
20757 c2rec.CLE_ID, c2rec.CHR_ID_REFERRED, c2rec.CLE_ID_REFERRED,
20758 c2rec.ISA_AGREEMENT_ID, c2rec.COPIED_ONLY_YN, c2rec.OBJECT_VERSION_NUMBER,
20759 l_created_by, SYSDATE, l_last_updated_by,
20760 SYSDATE, l_last_update_login, c2rec.SECURITY_GROUP_ID
20761 ) RETURNING ID INTO l_gov_id;
20762 EXCEPTION WHEN OTHERS THEN
20763 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20764 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
20765 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during inser into okc_governances...');
20766 END IF;
20767 RAISE OKC_API.G_EXCEPTION_ERROR;
20768 END;
20769
20770 l_curr_pos := 'okl_copy_lease_contract:19';
20771 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20772 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_gov_id=' || l_gov_id);
20773 END IF;
20774 /* AKP: We dont need okc_governances_h
20775 for c3rec in c3(p_chr_id)
20776 loop
20777 l_curr_pos := 'okl_copy_lease_contract:20';
20778 insert into okc_governances_h (
20779 ID, DNZ_CHR_ID, CHR_ID,
20780 CLE_ID, CHR_ID_REFERRED, CLE_ID_REFERRED,
20781 ISA_AGREEMENT_ID, MAJOR_VERSION, OBJECT_VERSION_NUMBER,
20782 COPIED_ONLY_YN, CREATED_BY, CREATION_DATE,
20783 LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN,
20784 SECURITY_GROUP_ID
20785 ) VALUES (
20786 l_gov_id, l_copied_id, l_copied_id,
20787 c3rec.CLE_ID, c3rec.CHR_ID_REFERRED, c3rec.CLE_ID_REFERRED,
20788 c3rec.ISA_AGREEMENT_ID, c3rec.MAJOR_VERSION, c3rec.OBJECT_VERSION_NUMBER,
20789 c3rec.COPIED_ONLY_YN, c3rec.CREATED_BY, SYSDATE,
20790 c3rec.LAST_UPDATED_BY, SYSDATE, c3rec.LAST_UPDATE_LOGIN,
20791 c3rec.SECURITY_GROUP_ID
20792 );
20793 end loop; */
20794 END LOOP;
20795
20796 l_curr_pos := 'okl_copy_lease_contract:21';
20797 copy_var_int_rate_params(p_chr_id, l_copied_id, l_contract_start_date,
20798 p_trans_type, p_rbk_date);
20799 l_curr_pos := 'okl_copy_lease_contract:21.1';
20800 IF (NVL(p_copy_lines_yn, 'N') = 'N') THEN
20801 -- Do only header level rules/roles etc
20802 l_curr_pos := 'okl_copy_lease_contract:22';
20803 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20804 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_k_party_roles...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20805 END IF;
20806 l_message := 'OKL_NEW_COPY_CPL_ERROR';
20807 insert_okc_k_party_roles(p_chr_id, l_copied_id); -- _b _tl contacts okl_party_payment_dtls
20808
20809 l_curr_pos := 'okl_copy_lease_contract:23';
20810 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20811 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_rule_groups...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20812 END IF;
20813 l_message := 'OKL_NEW_COPY_RGP_ERROR';
20814 insert_okc_rule_groups(p_chr_id, l_copied_id); -- _b,_tl and rules(_b,_tl)
20815
20816 l_curr_pos := 'okl_copy_lease_contract:24';
20817 l_message := 'OKL_NEW_COPY_RGR_ERROR';
20818 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20819 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_rg_party_roles...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20820 END IF;
20821 insert_okc_rg_party_roles(p_chr_id, l_copied_id);
20822 ELSE
20823
20824 --Copy lines
20825 l_curr_pos := 'okl_copy_lease_contract:25';
20826 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20827 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'okc_k_lines Lines...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
20828 END IF;
20829 l_counter := 1;
20830 l_message := 'OKL_NEW_COPY_CLE_ERROR';
20831 OPEN c4(p_chr_id);
20832 LOOP
20833 l_curr_pos := 'okl_copy_lease_contract:26';
20834 FETCH c4 bulk collect INTO
20835 l_id_tab2,l_line_number_tab2,l_chr_id_tab2,
20836 l_cle_id_tab2,l_cle_id_renewed_tab2,l_dnz_chr_id_tab2,
20837 l_display_sequence_tab2,l_sts_code_tab2,l_trn_code_tab2,
20838 l_lse_id_tab2,l_exception_yn_tab2,l_object_version_number_tab2,
20839 l_created_by_tab2,l_creation_date_tab2,l_last_updated_by_tab2,
20840 l_last_update_date_tab2,l_hidden_ind_tab2,l_price_negotiated_tab2,
20841 l_price_level_ind_tab2,l_price_unit_tab2,l_price_unit_percent_tab2,
20842 l_invoice_line_level_ind_tab2,l_dpas_rating_tab2,l_template_used_tab2,
20843 l_price_type_tab2,l_currency_code_tab2,l_last_update_login_tab2,
20844 l_date_terminated_tab2,l_start_date_tab2,l_end_date_tab2,
20845 l_attribute_category_tab2,l_attribute1_tab2,l_attribute2_tab2,
20846 l_attribute3_tab2,l_attribute4_tab2,l_attribute5_tab2,
20847 l_attribute6_tab2,l_attribute7_tab2,l_attribute8_tab2,
20848 l_attribute9_tab2,l_attribute10_tab2,l_attribute11_tab2,
20849 l_attribute12_tab2,l_attribute13_tab2,l_attribute14_tab2,
20850 l_attribute15_tab2,l_security_group_id_tab2,l_cle_id_renewed_to_tab2,
20851 l_price_negotiated_renewed_tb2,l_currency_code_renewed_tab2,l_upg_orig_system_ref_tab2,
20852 l_upg_orig_system_ref_id_tab2,l_date_renewed_tab2,l_orig_system_source_code_tab2,
20853 l_orig_system_id1_tab2,l_orig_system_reference1_tab2,l_program_application_id_tab2,
20854 l_program_id_tab2,l_program_update_date_tab2,l_request_id_tab2,
20855 l_price_list_id_tab2,l_price_list_line_id_tab2,l_line_list_price_tab2,
20856 l_item_to_price_yn_tab2,l_pricing_date_tab2,l_price_basis_yn_tab2,
20857 l_config_header_id_tab2,l_config_revision_number_tab2,l_config_complete_yn_tab2,
20858 l_config_valid_yn_tab2,l_config_top_model_line_id_tb2,l_config_item_type_tab2,
20859 l_config_item_id_tab2,l_service_item_yn_tab2,l_ph_pricing_type_tab2,
20860 l_ph_price_break_basis_tab2,l_ph_min_qty_tab2,l_ph_min_amt_tab2,
20861 l_ph_qp_reference_id_tab2,l_ph_value_tab2,l_ph_enforce_price_list_yn_tb2,
20862 l_ph_adjustment_tab2,l_ph_integrated_with_qp_tab2,l_cust_acct_id_tab2,
20863 l_bill_to_site_use_id_tab2,l_inv_rule_id_tab2,l_line_renewal_type_code_tab2,
20864 l_ship_to_site_use_id_tab2,l_payment_term_id_tab2 , l_fee_type_tab2,
20865 l_name_tab2
20866 limit G_BULK_SIZE;
20867
20868 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
20869 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab2.count=' || l_id_tab2.COUNT);
20870 END IF;
20871 IF l_id_tab2.COUNT > 0 THEN
20872 NULL;
20873 l_curr_pos := 'okl_copy_lease_contract:27';
20874 FOR i IN l_id_tab2.first..l_id_tab2.last
20875 LOOP
20876 --if ( (l_fee_type_tab2(i) = 'ROLLOVER' and
20877 --l_lse_id_tab2(i) = 52 and
20878 --p_trans_type = 'CFA') or
20879 --(l_sts_code_tab2(i) = 'ABANDONED') or
20880 --(l_lse_id_tab2(i) = 47) ) then
20881 --null;
20882 --else
20883 l_id_tab3(l_counter) := l_id_tab2(i);
20884 l_id_tab(l_counter) := l_id_tab2(i); -- populate from guid() later
20885 l_line_number_tab(l_counter) := l_line_number_tab2(i);
20886 l_chr_id_tab(l_counter) := l_chr_id_tab2(i);
20887
20888 -- Change chr_id
20889 IF (l_chr_id_tab(l_counter) IS NOT NULL) THEN
20890 l_chr_id_tab(l_counter) := l_copied_id;
20891 END IF;
20892
20893 l_cle_id_tab(l_counter) := l_cle_id_tab2(i);
20894 l_cle_id_renewed_tab(l_counter) := l_cle_id_renewed_tab2(i);
20895
20896 -- Change dnz_chr_id
20897 --l_dnz_chr_id_tab(l_counter) := l_dnz_chr_id_tab2(i);
20898 l_dnz_chr_id_tab(l_counter) := l_copied_id;
20899
20900 l_display_sequence_tab(l_counter) := l_display_sequence_tab2(i);
20901 l_sts_code_tab(l_counter) := l_sts_code_tab2(i);
20902 l_trn_code_tab(l_counter) := l_trn_code_tab2(i);
20903 l_lse_id_tab(l_counter) := l_lse_id_tab2(i);
20904 l_exception_yn_tab(l_counter) := l_exception_yn_tab2(i);
20905 l_object_version_number_tab(l_counter) := l_object_version_number_tab2(i);
20906 l_created_by_tab(l_counter) := l_created_by_tab2(i);
20907 l_creation_date_tab(l_counter) := l_creation_date_tab2(i);
20908 l_last_updated_by_tab(l_counter) := l_last_updated_by_tab2(i);
20909 l_last_update_date_tab(l_counter) := l_last_update_date_tab2(i);
20910 l_hidden_ind_tab(l_counter) := l_hidden_ind_tab2(i);
20911 l_price_negotiated_tab(l_counter) := l_price_negotiated_tab2(i);
20912 l_price_level_ind_tab(l_counter) := l_price_level_ind_tab2(i);
20913 l_price_unit_tab(l_counter) := l_price_unit_tab2(i);
20914 l_price_unit_percent_tab(l_counter) := l_price_unit_percent_tab2(i);
20915 l_invoice_line_level_ind_tab(l_counter) := l_invoice_line_level_ind_tab2(i);
20916 l_dpas_rating_tab(l_counter) := l_dpas_rating_tab2(i);
20917 l_template_used_tab(l_counter) := l_template_used_tab2(i);
20918 l_price_type_tab(l_counter) := l_price_type_tab2(i);
20919 l_currency_code_tab(l_counter) := l_currency_code_tab2(i);
20920 l_last_update_login_tab(l_counter) := l_last_update_login_tab2(i);
20921 l_date_terminated_tab(l_counter) := l_date_terminated_tab2(i);
20922 l_start_date_tab(l_counter) := l_start_date_tab2(i);
20923 l_end_date_tab(l_counter) := l_end_date_tab2(i);
20924 l_attribute_category_tab(l_counter) := l_attribute_category_tab2(i);
20925 l_attribute1_tab(l_counter) := l_attribute1_tab2(i);
20926 l_attribute2_tab(l_counter) := l_attribute2_tab2(i);
20927 l_attribute3_tab(l_counter) := l_attribute3_tab2(i);
20928 l_attribute4_tab(l_counter) := l_attribute4_tab2(i);
20929 l_attribute5_tab(l_counter) := l_attribute5_tab2(i);
20930 l_attribute6_tab(l_counter) := l_attribute6_tab2(i);
20931 l_attribute7_tab(l_counter) := l_attribute7_tab2(i);
20932 l_attribute8_tab(l_counter) := l_attribute8_tab2(i);
20933 l_attribute9_tab(l_counter) := l_attribute9_tab2(i);
20934 l_attribute10_tab(l_counter) := l_attribute10_tab2(i);
20935 l_attribute11_tab(l_counter) := l_attribute11_tab2(i);
20936 l_attribute12_tab(l_counter) := l_attribute12_tab2(i);
20937 l_attribute13_tab(l_counter) := l_attribute13_tab2(i);
20938 l_attribute14_tab(l_counter) := l_attribute14_tab2(i);
20939 l_attribute15_tab(l_counter) := l_attribute15_tab2(i);
20940 l_security_group_id_tab(l_counter) := l_security_group_id_tab2(i);
20941 l_cle_id_renewed_to_tab(l_counter) := l_cle_id_renewed_to_tab2(i);
20942 l_price_negotiated_renewed_tab(l_counter) := l_price_negotiated_renewed_tb2(i);
20943 l_currency_code_renewed_tab(l_counter) := l_currency_code_renewed_tab2(i);
20944 l_upg_orig_system_ref_tab(l_counter) := l_upg_orig_system_ref_tab2(i);
20945 l_upg_orig_system_ref_id_tab(l_counter) := l_upg_orig_system_ref_id_tab2(i);
20946 l_date_renewed_tab(l_counter) := l_date_renewed_tab2(i);
20947 l_orig_system_source_code_tab(l_counter) := l_orig_system_source_code_tab2(i);
20948 --l_orig_system_id1_tab(l_counter) := l_orig_system_id1_tab2(i);
20949
20950 -- Populate proper values
20951 l_orig_system_id1_tab(l_counter) := l_id_tab(l_counter);
20952 l_id_tab(l_counter) := okc_p_util.raw_to_number(sys_guid());
20953 -- Populate proper values done
20954
20955 -- Store sid mapping for business function processing
20956 l_sid_mapping_tab(l_counter).id := l_id_tab(l_counter);
20957 l_sid_mapping_tab(l_counter).lse_id := l_lse_id_tab(l_counter);
20958
20959 l_orig_system_reference1_tab(l_counter) := l_orig_system_reference1_tab2(i);
20960 l_program_application_id_tab(l_counter) := l_program_application_id_tab2(i);
20961 l_program_id_tab(l_counter) := l_program_id_tab2(i);
20962 l_program_update_date_tab(l_counter) := l_program_update_date_tab2(i);
20963 l_request_id_tab(l_counter) := l_request_id_tab2(i);
20964 l_price_list_id_tab(l_counter) := l_price_list_id_tab2(i);
20965 l_price_list_line_id_tab(l_counter) := l_price_list_line_id_tab2(i);
20966 l_line_list_price_tab(l_counter) := l_line_list_price_tab2(i);
20967 l_item_to_price_yn_tab(l_counter) := l_item_to_price_yn_tab2(i);
20968 l_pricing_date_tab(l_counter) := l_pricing_date_tab2(i);
20969 l_price_basis_yn_tab(l_counter) := l_price_basis_yn_tab2(i);
20970 l_config_header_id_tab(l_counter) := l_config_header_id_tab2(i);
20971 l_config_revision_number_tab(l_counter) := l_config_revision_number_tab2(i);
20972 l_config_complete_yn_tab(l_counter) := l_config_complete_yn_tab2(i);
20973 l_config_valid_yn_tab(l_counter) := l_config_valid_yn_tab2(i);
20974 l_config_top_model_line_id_tab(l_counter) := l_config_top_model_line_id_tb2(i);
20975 l_config_item_type_tab(l_counter) := l_config_item_type_tab2(i);
20976 l_config_item_id_tab(l_counter) := l_config_item_id_tab2(i);
20977 l_service_item_yn_tab(l_counter) := l_service_item_yn_tab2(i);
20978 l_ph_pricing_type_tab(l_counter) := l_ph_pricing_type_tab2(i);
20979 l_ph_price_break_basis_tab(l_counter) := l_ph_price_break_basis_tab2(i);
20980 l_ph_min_qty_tab(l_counter) := l_ph_min_qty_tab2(i);
20981 l_ph_min_amt_tab(l_counter) := l_ph_min_amt_tab2(i);
20982 l_ph_qp_reference_id_tab(l_counter) := l_ph_qp_reference_id_tab2(i);
20983 l_ph_value_tab(l_counter) := l_ph_value_tab2(i);
20984 l_ph_enforce_price_list_yn_tab(l_counter) := l_ph_enforce_price_list_yn_tb2(i);
20985 l_ph_adjustment_tab(l_counter) := l_ph_adjustment_tab2(i);
20986 l_ph_integrated_with_qp_tab(l_counter) := l_ph_integrated_with_qp_tab2(i);
20987 l_cust_acct_id_tab(l_counter) := l_cust_acct_id_tab2(i);
20988 l_bill_to_site_use_id_tab(l_counter) := l_bill_to_site_use_id_tab2(i);
20989 l_inv_rule_id_tab(l_counter) := l_inv_rule_id_tab2(i);
20990 l_line_renewal_type_code_tab(l_counter) := l_line_renewal_type_code_tab2(i);
20991 l_ship_to_site_use_id_tab(l_counter) := l_ship_to_site_use_id_tab2(i);
20992 l_payment_term_id_tab(l_counter) := l_payment_term_id_tab2(i);
20993 l_name_tab(l_counter) := l_name_tab2(i);
20994 --print('c4:l_name_tab(' || l_counter||')=' || l_name_tab(l_counter) || ' l_lse_id_tab(' || l_counter||')=' || l_lse_id_tab(l_counter));
20995
20996 -- Another table
20997 l_orig_system_tab(l_counter).orig_system_id1 := l_orig_system_id1_tab(l_counter);
20998 l_orig_system_tab(l_counter).id := l_id_tab(l_counter);
20999
21000 -- Id Mapping table
21001 l_id_mapping_tab(l_counter).old_id := l_id_tab3(l_counter);
21002 l_id_mapping_tab(l_counter).new_id := l_id_tab(l_counter);
21003
21004 --l_bid_mapping_tab(l_counter).old_id := l_id_tab(l_counter)*100 + l_lse_id_tab(l_counter);
21005 l_bid_mapping_tab(l_counter).old_id := l_id_tab(l_counter);
21006 l_bid_mapping_tab(l_counter).new_id := l_name_tab(l_counter);
21007
21008 IF ( (l_fee_type_tab2(i) = 'ROLLOVER' AND
21009 l_lse_id_tab2(i) = 52 AND
21010 p_trans_type = 'CFA') OR
21011 (l_sts_code_tab2(i) = 'ABANDONED') OR
21012 (l_lse_id_tab2(i) = 47) ) THEN
21013 IF (l_chr_id_tab(i) IS NOT NULL) THEN
21014 -- Populate delete id tabs
21015 l_delete_id_tab(l_delete_counter) := l_id_tab(l_counter);
21016 l_delete_counter := l_delete_counter + 1;
21017 ELSE -- Bug 4872258
21018 IF (l_sts_code_tab2(i) = 'ABANDONED') THEN -- 5127961
21019 l_delete_id_tab(l_delete_counter) := l_id_tab(l_counter);
21020 l_delete_counter := l_delete_counter + 1;
21021 ELSE
21022 -- Populate 'ENTERED' id tabs
21023 l_entered_id_tab(l_entered_counter) := l_id_tab(l_counter);
21024 l_entered_sts_code_tab(l_entered_counter) := 'ENTERED';
21025 IF (l_sts_code_tab2(i) = 'ABANDONED') THEN
21026 l_entered_sts_code_tab(l_entered_counter) := 'ABANDONED';
21027 END IF;
21028 IF (p_trans_type = 'CRB') THEN -- Bug 4959361
21029 IF (l_sts_code_tab2(i) = 'TERMINATED') THEN
21030 l_entered_sts_code_tab(l_entered_counter) := 'TERMINATED';
21031 ELSE
21032 l_date_terminated_tab(l_counter) := NULL;
21033 l_trn_code_tab(l_counter) := NULL;
21034 END IF;
21035 ELSE
21036 l_date_terminated_tab(l_counter) := NULL;
21037 l_trn_code_tab(l_counter) := NULL;
21038 END IF;
21039 l_entered_counter := l_entered_counter + 1;
21040 l_id2_tab(l_id2_tab_counter) := l_id_tab(i);
21041 l_lse_id2_tab(l_id2_tab_counter) := l_lse_id_tab(i);
21042 l_id2_tab_counter := l_id2_tab_counter + 1;
21043 END IF; -- 5127961
21044 END IF;
21045 ELSE
21046 -- Populate 'ENTERED' id tabs
21047 l_entered_id_tab(l_entered_counter) := l_id_tab(l_counter);
21048 l_entered_sts_code_tab(l_entered_counter) := 'ENTERED';
21049 --IF (l_sts_code_tab2(i) = 'ABANDONED') THEN
21050 --l_entered_sts_code_tab(l_entered_counter) := 'ABANDONED';
21051 --END IF;
21052 --4959361
21053 IF (p_trans_type = 'CRB') THEN
21054 IF (l_sts_code_tab2(i) = 'TERMINATED') THEN
21055 l_entered_sts_code_tab(l_entered_counter) := 'TERMINATED';
21056 ELSE
21057 l_date_terminated_tab(l_counter) := NULL;
21058 l_trn_code_tab(l_counter) := NULL;
21059 END IF;
21060 ELSE
21061 l_date_terminated_tab(l_counter) := NULL;
21062 l_trn_code_tab(l_counter) := NULL;
21063 END IF;
21064 l_entered_counter := l_entered_counter + 1;
21065 l_id2_tab(l_id2_tab_counter) := l_id_tab(i);
21066 l_lse_id2_tab(l_id2_tab_counter) := l_lse_id_tab(i);
21067 l_id2_tab_counter := l_id2_tab_counter + 1;
21068 END IF;
21069
21070 l_counter := l_counter + 1;
21071 --end if;
21072 END LOOP;
21073 ELSE
21074 EXIT;
21075 END IF;
21076 l_curr_pos := 'okl_copy_lease_contract:28';
21077
21078 END LOOP;
21079 CLOSE c4;
21080 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21081 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_counter [ For okc_k_lines_b ] =' || l_counter);
21082 END IF;
21083
21084 -- Sort l_orig_system_tab
21085 l_curr_pos := 'okl_copy_lease_contract:29';
21086 do_sort;
21087 l_curr_pos := 'okl_copy_lease_contract:30';
21088 do_id_mapping_sort;
21089 l_curr_pos := 'okl_copy_lease_contract:31';
21090 sort_sid_mapping_tab;
21091 l_curr_pos := 'okl_copy_lease_contract:32';
21092 sort_bid_mapping_tab;
21093 l_curr_pos := 'okl_copy_lease_contract:33';
21094 --print('Sort done..');
21095
21096 /*print('Before update values...');
21097 for i in 1..l_counter-1
21098 loop
21099 print('id='||l_id_tab(i) || ' cle_id=' || l_cle_id_tab(i)||' orig_system_id1='||l_orig_system_id1_tab(i));
21100 end loop;
21101 */
21102
21103 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21104 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Update Started ...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21105 END IF;
21106 -- Update cle_id
21107 FOR i IN 1..l_counter-1
21108 LOOP
21109 IF (l_cle_id_tab(i) IS NOT NULL) THEN
21110 l_new_id := find_id(l_cle_id_tab(i));
21111 IF (l_new_id = -1) THEN
21112 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21113 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR!!!!Mapping line id not found');
21114 END IF;
21115 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21116 END IF;
21117 l_cle_id_tab(i) := l_new_id;
21118
21119 l_cle_lse_mapping_tab(l_cle_lse_counter).cle_id := l_cle_id_tab(i);
21120 l_cle_lse_mapping_tab(l_cle_lse_counter).lse_id := l_lse_id_tab(i);
21121 l_cle_lse_mapping_tab(l_cle_lse_counter).id := l_id_tab(i);
21122 l_cle_lse_counter := l_cle_lse_counter + 1;
21123 --print('Storing cle_lse: ' || l_cle_id_tab(i)||':' || l_lse_id_tab(i) || ':' || l_id_tab(i));
21124
21125 -- Store id to cle_id mapping in l_cid_mapping_tab
21126 l_cid_mapping_tab(l_cid_counter).old_id := l_id_tab(i);
21127 l_cid_mapping_tab(l_cid_counter).new_id := l_cle_id_tab(i);
21128 --print('l_new_id=' || l_new_id);
21129 l_cid_counter := l_cid_counter + 1;
21130 END IF;
21131 END LOOP;
21132 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21133 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Update Finished ...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21134 END IF;
21135 l_curr_pos := 'okl_copy_lease_contract:34';
21136 sort_cid_mapping_tab;
21137 l_curr_pos := 'okl_copy_lease_contract:35';
21138 sort_cle_lse_mapping_tab;
21139
21140 /*
21141 print('After update values...');
21142 for i in 1..l_counter-1
21143 loop
21144 print('id='||l_id_tab(i) || ' cle_id=' || l_cle_id_tab(i)||' orig_system_id1='||l_orig_system_id1_tab(i));
21145 end loop;
21146 */
21147
21148 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21149 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Before Inserting okc_k_lines_b...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21150 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_id_tab.count='||l_id_tab.COUNT);
21151 END IF;
21152 IF (l_id_tab.COUNT > 0) THEN
21153 BEGIN
21154 l_curr_pos := 'okl_copy_lease_contract:36';
21155 forall i IN l_id_tab.first..l_id_tab.last
21156 INSERT INTO okc_k_lines_b (
21157 id, line_number, chr_id,
21158 cle_id, cle_id_renewed, dnz_chr_id,
21159 display_sequence, sts_code, trn_code,
21160 lse_id, exception_yn, object_version_number,
21161 created_by, creation_date, last_updated_by,
21162 last_update_date, hidden_ind, price_negotiated,
21163 price_level_ind, price_unit, price_unit_percent,
21164 invoice_line_level_ind, dpas_rating, template_used,
21165 price_type, currency_code, last_update_login,
21166 date_terminated, start_date, end_date,
21167 attribute_category, attribute1, attribute2,
21168 attribute3, attribute4, attribute5,
21169 attribute6, attribute7, attribute8,
21170 attribute9, attribute10, attribute11,
21171 attribute12, attribute13, attribute14,
21172 attribute15, security_group_id, cle_id_renewed_to,
21173 price_negotiated_renewed, currency_code_renewed, upg_orig_system_ref,
21174 upg_orig_system_ref_id, date_renewed, orig_system_source_code,
21175 orig_system_id1, orig_system_reference1, program_application_id,
21176 program_id, program_update_date, request_id,
21177 price_list_id, price_list_line_id, line_list_price,
21178 item_to_price_yn, pricing_date, price_basis_yn,
21179 config_header_id, config_revision_number, config_complete_yn,
21180 config_valid_yn, config_top_model_line_id, config_item_type,
21181 config_item_id, service_item_yn, ph_pricing_type,
21182 ph_price_break_basis, ph_min_qty, ph_min_amt,
21183 ph_qp_reference_id, ph_value, ph_enforce_price_list_yn,
21184 ph_adjustment, ph_integrated_with_qp, cust_acct_id,
21185 bill_to_site_use_id, inv_rule_id, line_renewal_type_code,
21186 ship_to_site_use_id, payment_term_id)
21187 VALUES (
21188 l_id_tab(i), l_line_number_tab(i), l_chr_id_tab(i),
21189 l_cle_id_tab(i), l_cle_id_renewed_tab(i), l_dnz_chr_id_tab(i),
21190 l_display_sequence_tab(i), 'ENTERED', l_trn_code_tab(i), -- Bug 4959361 NULL,
21191 l_lse_id_tab(i), l_exception_yn_tab(i), 1,
21192 l_created_by, SYSDATE, l_last_updated_by,
21193 SYSDATE, l_hidden_ind_tab(i), l_price_negotiated_tab(i),
21194 l_price_level_ind_tab(i), l_price_unit_tab(i), l_price_unit_percent_tab(i),
21195 l_invoice_line_level_ind_tab(i), l_dpas_rating_tab(i), l_template_used_tab(i),
21196 l_price_type_tab(i), l_currency_code_tab(i), l_last_update_login,
21197 -- Bug 4959361 NULL, l_start_date_tab(i), l_end_date_tab(i),
21198 l_date_terminated_tab(i), l_start_date_tab(i), l_end_date_tab(i),
21199 l_attribute_category_tab(i), l_attribute1_tab(i), l_attribute2_tab(i),
21200 l_attribute3_tab(i), l_attribute4_tab(i), l_attribute5_tab(i),
21201 l_attribute6_tab(i), l_attribute7_tab(i), l_attribute8_tab(i),
21202 l_attribute9_tab(i), l_attribute10_tab(i), l_attribute11_tab(i),
21203 l_attribute12_tab(i), l_attribute13_tab(i), l_attribute14_tab(i),
21204 l_attribute15_tab(i), l_security_group_id_tab(i), l_cle_id_renewed_to_tab(i),
21205 l_price_negotiated_renewed_tab(i), l_currency_code_renewed_tab(i), l_upg_orig_system_ref_tab(i),
21206 l_upg_orig_system_ref_id_tab(i), NULL, 'OKC_LINE',
21207 l_id_tab3(i), l_orig_system_reference1_tab(i), l_program_application_id_tab(i),
21208 l_program_id_tab(i), l_program_update_date_tab(i), l_request_id_tab(i),
21209 l_price_list_id_tab(i), l_price_list_line_id_tab(i), l_line_list_price_tab(i),
21210 l_item_to_price_yn_tab(i), l_pricing_date_tab(i), l_price_basis_yn_tab(i),
21211 l_config_header_id_tab(i), l_config_revision_number_tab(i), l_config_complete_yn_tab(i),
21212 l_config_valid_yn_tab(i), l_config_top_model_line_id_tab(i), l_config_item_type_tab(i),
21213 l_config_item_id_tab(i), l_service_item_yn_tab(i), l_ph_pricing_type_tab(i),
21214 l_ph_price_break_basis_tab(i), l_ph_min_qty_tab(i), l_ph_min_amt_tab(i),
21215 NULL, l_ph_value_tab(i), l_ph_enforce_price_list_yn_tab(i),
21216 l_ph_adjustment_tab(i), NULL, l_cust_acct_id_tab(i),
21217 l_bill_to_site_use_id_tab(i), l_inv_rule_id_tab(i), l_line_renewal_type_code_tab(i),
21218 l_ship_to_site_use_id_tab(i), l_payment_term_id_tab(i)
21219 );
21220 EXCEPTION WHEN OTHERS THEN
21221 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21222 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
21223 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR during insert into okc_k_lines_b...');
21224 END IF;
21225 RAISE OKC_API.G_EXCEPTION_ERROR;
21226 END;
21227 END IF;
21228
21229 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21230 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_k_lines_tl...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21231 END IF;
21232 -- Now insert okc_k_lines_tl
21233 /*
21234 for i in 1..l_counter-1 loop
21235 --old id to be used to query, new id to update
21236 -- Store okc_k_lines_b l_id_tab into l_id_tab3 for future reference
21237 if (i = l_counter - 1) then
21238 insert_okc_k_lines_tl_old(l_id_tab3(i), l_id_tab(i), 'Y');
21239 else
21240 insert_okc_k_lines_tl_old(l_id_tab3(i), l_id_tab(i), 'N');
21241 end if;
21242 end loop;
21243 */
21244 l_curr_pos := 'okl_copy_lease_contract:37';
21245 l_message := 'OKL_NEW_COPY_CLE_ERROR';
21246 insert_okc_k_lines_tl(p_chr_id);
21247 --sort_aid_mapping_tab;
21248 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21249 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'After sort_aid_mapping_tab...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21250 END IF;
21251
21252 l_message := 'OKL_NEW_COPY_KLE_ERROR';
21253 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21254 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_k_lines...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21255 END IF;
21256 l_curr_pos := 'okl_copy_lease_contract:38';
21257 insert_okl_k_lines;
21258
21259 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21260 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_k_party_roles...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21261 END IF;
21262 l_curr_pos := 'okl_copy_lease_contract:39';
21263 l_message := 'OKL_NEW_COPY_CPL_ERROR';
21264 insert_okc_k_party_roles(p_chr_id, l_copied_id); -- _b _tl contacts okl_party_payment_dtls
21265
21266 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21267 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_rule_groups...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21268 END IF;
21269 l_curr_pos := 'okl_copy_lease_contract:40';
21270 l_message := 'OKL_NEW_COPY_RGP_ERROR';
21271 insert_okc_rule_groups(p_chr_id, l_copied_id); -- _b,_tl and rules(_b,_tl)
21272
21273 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21274 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_rg_party_roles...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21275 END IF;
21276 l_curr_pos := 'okl_copy_lease_contract:41';
21277 l_message := 'OKL_NEW_COPY_RGR_ERROR';
21278 insert_okc_rg_party_roles(p_chr_id, l_copied_id);
21279
21280 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21281 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okc_k_items...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21282 END IF;
21283 l_curr_pos := 'okl_copy_lease_contract:42';
21284 l_message := 'OKL_NEW_COPY_CIM_ERROR';
21285 insert_okc_k_items(p_chr_id, l_copied_id);
21286
21287 IF ((l_sts_code_orig IN (
21288 'APPROVED', 'COMPLETE', 'INCOMPLETE', 'NEW',
21289 'PASSED', 'PENDING_APPROVAL')) OR
21290 (nvl(l_template_yn, 'N') = 'Y' )) THEN
21291 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21292 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_trx_assets...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21293 END IF;
21294 l_curr_pos := 'okl_copy_lease_contract:43';
21295 l_message := 'OKL_NEW_COPY_ASSET_TAS_ERROR';
21296 insert_okl_trx_assets(p_chr_id, l_copied_id);
21297
21298 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21299 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_itm_insts...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21300 END IF;
21301 l_curr_pos := 'okl_copy_lease_contract:44';
21302 l_message := 'OKL_NEW_COPY_IB_TAS_ERROR';
21303 insert_okl_trx_assets_2(p_chr_id, l_copied_id);
21304 l_curr_pos := 'okl_copy_lease_contract:45';
21305 l_message := 'OKL_NEW_COPY_ITI_ERROR';
21306 insert_okl_txl_itm_insts(p_chr_id, l_copied_id);
21307 ELSE
21308 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21309 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_trx_assets BOOKED...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21310 END IF;
21311 l_curr_pos := 'okl_copy_lease_contract:46';
21312 l_message := 'OKL_NEW_COPY_ASSET_TAS_ERROR';
21313 insert_okl_trx_assets_3(p_chr_id, l_copied_id);
21314 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21315 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_txl_itm_insts BOOKED...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21316 END IF;
21317 l_curr_pos := 'okl_copy_lease_contract:47';
21318 l_message := 'OKL_NEW_COPY_IB_TAS_ERROR';
21319 insert_okl_txl_itm_insts2(p_chr_id, l_copied_id);
21320 END IF;
21321
21322 -- Delete the abandoned/rollover/insurance lines now
21323 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21324 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Delete started ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21325 END IF;
21326 l_curr_pos := 'okl_copy_lease_contract:48';
21327 IF (l_delete_counter > 1) THEN
21328 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21329 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_delete_counter=' || l_delete_counter);
21330 END IF;
21331 FOR i IN l_delete_id_tab.first..l_delete_id_tab.last
21332 LOOP
21333 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21334 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_delete_id_tab(' || i || ')=' || l_delete_id_tab(i));
21335 END IF;
21336 select count(1) into l_line_count -- 5207066
21337 FROM okc_k_lines_b
21338 where id = l_delete_id_tab(i);
21339 IF (l_line_count > 0) THEN -- 5207066
21340 Okl_Contract_Pub.delete_contract_line(
21341 p_api_version => p_api_version,
21342 p_init_msg_list => p_init_msg_list,
21343 x_return_status => x_return_status,
21344 x_msg_count => x_msg_count,
21345 x_msg_data => x_msg_data,
21346 p_line_id => l_delete_id_tab(i));
21347 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
21348 RAISE G_EXCEPTION_HALT_PROCESS;
21349 END IF;
21350 END IF;
21351
21352 END LOOP;
21353 END IF;
21354
21355 -- Update status as ENTERED
21356 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21357 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Update sts_code started ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21358 END IF;
21359 l_curr_pos := 'okl_copy_lease_contract:49';
21360 IF (l_entered_counter > 1) THEN
21361
21362 forall i IN l_entered_id_tab.first..l_entered_id_tab.last
21363 UPDATE okc_k_lines_b
21364 SET sts_code = l_entered_sts_code_tab(i) -- Bug 4872258
21365 --SET sts_code = 'ENTERED'
21366 WHERE id = l_entered_id_tab(i);
21367 END IF;
21368
21369 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21370 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting okl_supp_invoice_dtls...' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21371 END IF;
21372 l_curr_pos := 'okl_copy_lease_contract:50';
21373 l_message := 'OKL_NEW_COPY_SID_ERROR';
21374 insert_okl_supp_invoice_dtls(p_chr_id);
21375 /* AKP: Commented out for now: it takes lot of time to execute formula
21376 print('Before formula execute x_return_status='||x_return_status || ' ' || to_char(sysdate,'HH24:MI:SS'));
21377
21378 -- Post Processing (to calculate CAPITAL_AMOUNT)
21379 l_curr_pos := 'okl_copy_lease_contract:51';
21380 if (l_id2_tab.count > 0) then
21381 for i in l_id2_tab.first..l_id2_tab.last
21382 loop
21383 if (l_lse_id2_tab(i) = 33) then
21384 --print('Calling with ' || l_id2_tab(i));
21385 okl_execute_formula_pub.execute(p_api_version=> p_api_version,
21386 p_init_msg_list => p_init_msg_list,
21387 x_return_status => x_return_status,
21388 x_msg_count => x_msg_count,
21389 x_msg_data => x_msg_data,
21390 p_formula_name => 'LINE_CAP_AMNT',
21391 p_contract_id => l_copied_id,
21392 p_line_id => l_id2_tab(i),
21393 x_value => l_capital_amount);
21394 if (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
21395 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
21396 elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
21397 raise OKC_API.G_EXCEPTION_ERROR;
21398 end if;
21399 end if;
21400 end loop;
21401 end if;
21402 */
21403 END IF; /* if copy_lines_yn <> 'N' */
21404 END LOOP; /* for c1rec */
21405 --x_return_status := OKL_API.G_RET_STS_SUCCESS;
21406
21407 x_chr_id := l_copied_id;
21408 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21409 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'));
21410 END IF;
21411
21412 -- Now do all the business events processing
21413 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21414 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_header...' );
21415 END IF;
21416 l_curr_pos := 'okl_copy_lease_contract:52';
21417 raise_business_event_header(p_chr_id => x_chr_id
21418 ,x_return_status => x_return_status);
21419 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21420 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21421 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21422 RAISE OKL_API.G_EXCEPTION_ERROR;
21423 END IF;
21424
21425 -- For Create Top Line and Subsidy
21426
21427 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21428 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event...' );
21429 END IF;
21430 l_curr_pos := 'okl_copy_lease_contract:53';
21431 l_contract_process := okl_lla_util_pvt.get_contract_process(l_copied_id);
21432
21433 IF (l_counter > 1) THEN
21434 l_parameter_list := NULL;
21435 l_raise_business_event := OKL_API.G_FALSE;
21436 l_event_name := NULL;
21437 l_curr_pos := 'okl_copy_lease_contract:54';
21438 FOR i IN l_id_tab.first..l_id_tab.last
21439 LOOP
21440 IF l_lse_id_tab(i) = 58 THEN
21441 -- raise the business event for create credit limit, if line style code is FREE_FORM
21442 l_event_name := G_WF_EVT_CR_LMT_CREATED;
21443 l_raise_business_event := OKL_API.G_TRUE;
21444 wf_event.AddParameterToList(G_WF_ITM_CR_LINE_ID,l_copied_id,l_parameter_list);
21445 wf_event.AddParameterToList(G_WF_ITM_CR_LMT_ID,l_id_tab(i),l_parameter_list);
21446 ELSIF l_lse_id_tab(i) = 33 THEN
21447 -- raise the business event for create asset, if line style code is FREE_FORM1
21448 l_event_name := G_WF_EVT_ASSET_CREATED;
21449 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21450 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID,l_id_tab(i),l_parameter_list);
21451 ELSIF l_lse_id_tab(i) = 48 THEN
21452 -- raise the business event for create service, if line style code is SOLD_SERVICE
21453 l_event_name := G_WF_EVT_SERVICE_CREATED;
21454 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21455 wf_event.AddParameterToList(G_WF_ITM_SRV_LINE_ID,l_id_tab(i),l_parameter_list);
21456 --create_fee event is raised from here rather than okl_maintain_fee_pvt
21457 --as contract import process does not call okl_maintain_fee_pvt, but directly calls
21458 --okl_contract_pvt
21459 ELSIF l_lse_id_tab(i) = 52 THEN
21460 -- raise the business event for create fee, if line style code is FEE
21461 l_event_name := G_WF_EVT_FEE_CREATED;
21462 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21463 wf_event.AddParameterToList(G_WF_ITM_FEE_LINE_ID,l_id_tab(i),l_parameter_list);
21464 END IF;
21465
21466 -- raise business event only if the contract is a lease contract, the raise_event flag is on and business event
21467 -- name is specified. the event should also be raised if this is a credit limit, in which case is_lease_contract
21468 -- does not hold good
21469 IF(l_raise_business_event = OKL_API.G_TRUE AND l_event_name IS NOT NULL) THEN
21470 raise_business_event(p_api_version => p_api_version,
21471 p_init_msg_list => p_init_msg_list,
21472 x_return_status => x_return_status,
21473 x_msg_count => x_msg_count,
21474 x_msg_data => x_msg_data,
21475 p_event_name => l_event_name,
21476 p_parameter_list => l_parameter_list,
21477 p_contract_process => l_contract_process );
21478 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21479 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21480 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21481 RAISE OKL_API.G_EXCEPTION_ERROR;
21482 END IF;
21483 l_parameter_list := NULL;
21484 l_raise_business_event := OKL_API.G_FALSE;
21485 l_event_name := NULL;
21486 END IF;
21487
21488 -- Subsidy
21489 IF (l_lse_id_tab(i) = 70) THEN
21490 raise_business_event_subsidy(p_api_version => p_api_version,
21491 p_init_msg_list => p_init_msg_list,
21492 p_chr_id => l_copied_id,
21493 p_asset_id => l_cle_id_tab(i),
21494 p_subsidy_id => find_osid_mapping_id(l_id_tab(i)),
21495 p_event_name => G_WF_EVT_ASSET_SUBSIDY_CRTD,
21496 p_contract_process => l_contract_process,
21497 x_return_status => x_return_status,
21498 x_msg_count => x_msg_count,
21499 x_msg_data => x_msg_data
21500 );
21501 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21502 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21503 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21504 RAISE OKL_API.G_EXCEPTION_ERROR;
21505 END IF;
21506
21507 END IF;
21508 END LOOP;
21509 END IF;
21510
21511 IF (l_counter > 1) THEN
21512 l_curr_pos := 'okl_copy_lease_contract:55';
21513 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21514 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_itm...' );
21515 END IF;
21516 -- For Create Fee Asset and Create Usage Line and Create Usage Asset
21517 l_parameter_list := NULL;
21518 l_raise_business_event := OKL_API.G_FALSE;
21519 l_business_event_name := NULL;
21520 FOR i IN l_id_tab.first..l_id_tab.last
21521 LOOP
21522
21523 IF(l_lse_id_tab(i) = 53 ) THEN
21524 l_raise_business_event := OKL_API.G_TRUE;
21525 l_business_event_name := G_WF_EVT_ASSET_FEE_CREATED;
21526 wf_event.AddParameterToList(G_WF_ITM_FEE_LINE_ID,l_cle_id_tab(i),l_parameter_list);
21527 ELSIF(l_lse_id_tab(i) = 49 ) THEN
21528 l_raise_business_event := OKL_API.G_TRUE;
21529 l_business_event_name := G_WF_EVT_ASSET_SERV_FEE_CRTD;
21530 wf_event.AddParameterToList(G_WF_ITM_SERV_LINE_ID,l_cle_id_tab(i),l_parameter_list);
21531 END IF;
21532
21533 IF(l_raise_business_event = OKL_API.G_TRUE AND l_business_event_name IS NOT NULL)THEN
21534 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21535 --Ashish ??? Done
21536 --wf_event.AddParameterToList(G_WF_ITM_ASSET_ID,p_cimv_rec.object1_id1,l_parameter_list);
21537 l_new_object1_id1 := find_oid_mapping_id(l_id_tab(i));
21538 IF (l_new_object1_id1 = '-1') THEN
21539 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21540 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Can not find mapping object1_id1 for ' || l_id_tab(i));
21541 END IF;
21542 RAISE OKL_API.G_EXCEPTION_ERROR;
21543 END IF;
21544 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID,l_new_object1_id1,l_parameter_list);
21545
21546 raise_business_event_itm(p_api_version => p_api_version
21547 ,p_init_msg_list => p_init_msg_list
21548 ,x_return_status => x_return_status
21549 ,x_msg_count => x_msg_count
21550 ,x_msg_data => x_msg_data
21551 ,p_event_name => l_business_event_name
21552 ,p_event_param_list => l_parameter_list
21553 ,p_contract_process => l_contract_process);
21554 l_raise_business_event := OKL_API.G_FALSE;
21555 l_business_event_name := NULL;
21556 l_parameter_list := NULL;
21557 END IF;
21558
21559 IF (l_lse_id_tab(i) = 56) THEN
21560 okl_ubb_wf_pvt.raise_create_event (
21561 p_api_version => p_api_version,
21562 p_init_msg_list => p_init_msg_list,
21563 x_return_status => x_return_status,
21564 x_msg_count => x_msg_count,
21565 x_msg_data => x_msg_data,
21566 p_chr_id => l_copied_id,
21567 p_ubb_id => l_id_tab(i));
21568 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21569 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21570 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21571 RAISE OKL_API.G_EXCEPTION_ERROR;
21572 END IF;
21573 ELSIF (l_lse_id_tab(i) = 57) THEN
21574 okl_ubb_wf_pvt.raise_add_asset_event (
21575 p_api_version => p_api_version,
21576 p_init_msg_list => p_init_msg_list,
21577 x_return_status => x_return_status,
21578 x_msg_count => x_msg_count,
21579 x_msg_data => x_msg_data,
21580 p_chr_id => l_copied_id,
21581 p_ubb_id => l_cle_id_tab(i),
21582 p_cle_id => l_id_tab(i));
21583 END IF;
21584
21585 END LOOP;
21586 END IF;
21587
21588 IF (l_party_counter > 1) THEN
21589 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21590 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_itm again...' );
21591 END IF;
21592 l_curr_pos := 'okl_copy_lease_contract:56';
21593 -- For create party
21594 l_parameter_list := NULL;
21595 FOR i IN l_prid_tab.first..l_prid_tab.last
21596 LOOP
21597
21598 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,l_copied_id,l_parameter_list);
21599 --vthiruva..04-jan-2004.. Modified to pass object1_id1 as party id and
21600 --added party_role_id to list of paramters passed to raise business event.
21601 --wf_event.AddParameterToList(G_WF_ITM_PARTY_ID,p_cplv_rec.object1_id1,l_parameter_list);
21602 --wf_event.AddParameterToList(G_WF_ITM_PARTY_ROLE_ID,x_cplv_rec.id,l_parameter_list);
21603 wf_event.AddParameterToList(G_WF_ITM_PARTY_ID,l_probject1_id1_tab(i),l_parameter_list);
21604 wf_event.AddParameterToList(G_WF_ITM_PARTY_ROLE_ID,l_prid_tab(i),l_parameter_list);
21605
21606 raise_business_event_itm(p_api_version => p_api_version
21607 ,p_init_msg_list => p_init_msg_list
21608 ,x_return_status => x_return_status
21609 ,x_msg_count => x_msg_count
21610 ,x_msg_data => x_msg_data
21611 ,p_event_name => G_WF_EVT_KHR_PARTY_CREATED
21612 ,p_event_param_list => l_parameter_list
21613 ,p_contract_process => l_contract_process);
21614
21615 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21616 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21617 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21618 RAISE OKL_API.G_EXCEPTION_ERROR;
21619 END IF;
21620 l_parameter_list := NULL;
21621
21622 END LOOP;
21623 END IF;
21624
21625 IF (l_txl_assets_b_counter > 1) THEN
21626 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21627 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_dep...' );
21628 END IF;
21629 l_curr_pos := 'okl_copy_lease_contract:57';
21630 -- For Create book Depreciation
21631 FOR i IN l_tbid_tab.first..l_tbid_tab.last
21632 LOOP
21633 IF (l_tbcorporate_book_tab(i) IS NOT NULL) THEN
21634 raise_business_event_dep
21635 (p_api_version => p_api_version,
21636 p_init_msg_list => p_init_msg_list,
21637 p_chr_id => l_copied_id,
21638 p_asset_id => find_cid_mapping_id(l_tbkle_id_tab(i)),
21639 p_book_code => l_tbcorporate_book_tab(i),
21640 p_event_name => G_WF_EVT_ASSETBOOK_DPRN_CRTD,
21641 p_contract_process => l_contract_process,
21642 x_return_status => x_return_status,
21643 x_msg_count => x_msg_count,
21644 x_msg_data => x_msg_data
21645 );
21646 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21647 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21648 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21649 RAISE OKL_API.G_EXCEPTION_ERROR;
21650 END IF;
21651 END IF;
21652 END LOOP;
21653 END IF;
21654
21655 IF (l_trx_assets_counter4 > 1) THEN
21656 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21657 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_dep 2...' );
21658 END IF;
21659 l_curr_pos := 'okl_copy_lease_contract:58';
21660 FOR i IN l_tb2id_tab.first..l_tb2id_tab.last
21661 LOOP
21662 IF (l_tb2corporate_book_tab(i) IS NOT NULL) THEN
21663 raise_business_event_dep
21664 (p_api_version => p_api_version,
21665 p_init_msg_list => p_init_msg_list,
21666 p_chr_id => l_copied_id,
21667 p_asset_id => find_cid_mapping_id(l_tb2kle_id_tab(i)),
21668 p_book_code => l_tb2corporate_book_tab(i),
21669 p_event_name => G_WF_EVT_ASSETBOOK_DPRN_CRTD,
21670 p_contract_process => l_contract_process,
21671 x_return_status => x_return_status,
21672 x_msg_count => x_msg_count,
21673 x_msg_data => x_msg_data
21674 );
21675 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21676 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21677 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21678 RAISE OKL_API.G_EXCEPTION_ERROR;
21679 END IF;
21680 END IF;
21681 END LOOP;
21682 END IF;
21683
21684 -- Create Tax Depreciation
21685 IF (l_tal_to_kle_counter > 1) THEN
21686 l_curr_pos := 'okl_copy_lease_contract:59';
21687 FOR i IN l_dbid_mapping_tab.first..l_dbid_mapping_tab.last
21688 LOOP
21689 l_tal_kle_cle_id := find_cid_mapping_id(l_dbid_mapping_tab(i).kle_id);
21690 IF (l_tal_kle_cle_id = -1) THEN
21691 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21692 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR: TAL_ID to KLE_ID to CLE_ID mapping not found');
21693 END IF;
21694 RAISE OKL_API.G_EXCEPTION_ERROR;
21695 END IF;
21696 raise_business_event_txd
21697 ( p_api_version => p_api_version,
21698 p_init_msg_list => p_init_msg_list,
21699 p_chr_id => l_copied_id,
21700 p_asset_id => l_tal_kle_cle_id,
21701 p_event_name => G_WF_EVT_ASSETTAX_DPRN_CRTD,
21702 p_contract_process => l_contract_process,
21703 x_return_status => x_return_status,
21704 x_msg_count => x_msg_count,
21705 x_msg_data => x_msg_data
21706 );
21707 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21708 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21709 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21710 RAISE OKL_API.G_EXCEPTION_ERROR;
21711 END IF;
21712 END LOOP;
21713 END IF;
21714
21715 -- Create Serial Number
21716 IF ( l_txl_itm_insts_counter > 1 ) THEN
21717 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21718 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_itm...');
21719 END IF;
21720 l_curr_pos := 'okl_copy_lease_contract:60';
21721 FOR i IN l_tiid_tab.first..l_tiid_tab.last
21722 LOOP
21723 IF (l_tiserial_number_tab(i) IS NOT NULL) THEN
21724 raise_business_event_itm
21725 ( p_api_version => p_api_version,
21726 p_init_msg_list => p_init_msg_list,
21727 p_chr_id => l_copied_id,
21728 p_asset_id => l_tidnz_cle_id_tab(i),
21729 p_ser_num => l_tiserial_number_tab(i),
21730 p_event_name => G_WF_EVT_ASSET_SERIAL_CRTD,
21731 p_contract_process => l_contract_process,
21732 x_return_status => x_return_status,
21733 x_msg_count => x_msg_count,
21734 x_msg_data => x_msg_data
21735 );
21736 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21737 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21738 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21739 RAISE OKL_API.G_EXCEPTION_ERROR;
21740 END IF;
21741 END IF;
21742 END LOOP;
21743 END IF;
21744
21745 -- Create Serial Number2
21746 IF ( l_txl_itm_insts_counter2 > 1 ) THEN
21747 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21748 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Doing raise_business_event_itm 2...');
21749 END IF;
21750 l_curr_pos := 'okl_copy_lease_contract:61';
21751 FOR i IN l_ti2id_tab.first..l_ti2id_tab.last
21752 LOOP
21753 IF (l_ti2serial_number_tab(i) IS NOT NULL) THEN
21754 raise_business_event_itm
21755 ( p_api_version => p_api_version,
21756 p_init_msg_list => p_init_msg_list,
21757 p_chr_id => l_copied_id,
21758 p_asset_id => l_ti2dnz_cle_id_tab(i),
21759 p_ser_num => l_ti2serial_number_tab(i),
21760 p_event_name => G_WF_EVT_ASSET_SERIAL_CRTD,
21761 p_contract_process => l_contract_process,
21762 x_return_status => x_return_status,
21763 x_msg_count => x_msg_count,
21764 x_msg_data => x_msg_data
21765 );
21766 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21767 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21768 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21769 RAISE OKL_API.G_EXCEPTION_ERROR;
21770 END IF;
21771 END IF;
21772 END LOOP;
21773 END IF;
21774
21775 -- For Create Supplier Invoice Details
21776 IF (l_supp_invoice_dtls_counter > 1) THEN
21777 l_curr_pos := 'okl_copy_lease_contract:62';
21778 FOR i IN l_osid_tab.first..l_osid_tab.last
21779 LOOP
21780 l_vendor_id := NULL;
21781 IF (l_vid_counter > 1) THEN
21782 l_vendor_id := find_vid_mapping_id(l_oscle_id_tab(i));
21783 END IF;
21784 raise_business_event_supp
21785 ( p_api_version => p_api_version,
21786 p_init_msg_list => p_init_msg_list,
21787 p_chr_id => l_copied_id,
21788 p_asset_id => l_oscle_id_tab(i),
21789 p_vendor_id => l_vendor_id,
21790 p_event_name => G_WF_EVT_ASSET_SUP_INV_CRTD,
21791 p_contract_process => l_contract_process,
21792 x_return_status => x_return_status,
21793 x_msg_count => x_msg_count,
21794 x_msg_data => x_msg_data
21795 );
21796 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21797 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21798 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21799 RAISE OKL_API.G_EXCEPTION_ERROR;
21800 END IF;
21801 END LOOP;
21802 END IF;
21803
21804 -- For Rule Groups
21805 IF (l_rule_groups_b_counter > 1) THEN
21806 l_raise_business_event := OKL_API.G_FALSE;
21807 l_business_event_name := NULL;
21808 l_curr_pos := 'okl_copy_lease_contract:63';
21809
21810 FOR i IN l_rid_tab.first..l_rid_tab.last
21811 LOOP
21812
21813 l_terms_id := NULL;
21814 IF(l_rrgd_code_tab(i) = 'LAAFLG' AND l_rchr_id_tab(i) IS NOT NULL)
21815 THEN
21816 -- raise business event for the Liens and Title for Terms and Conditions for the Contract
21817 l_raise_business_event := OKL_API.G_TRUE;
21818 l_business_event_name := G_WF_EVT_CONTRACT_TERM_UPDATED;
21819 l_terms_id := find_tid_mapping_id(l_rrgd_code_tab(i));
21820 IF(l_terms_id IS NOT NULL)THEN
21821 wf_event.AddParameterToList(G_WF_ITM_TERMS_ID, l_terms_id, l_parameter_list);
21822 END IF;
21823 ELSIF(l_rrgd_code_tab(i) = 'LAAFLG' AND l_rcle_id_tab(i) IS NOT NULL)
21824 THEN
21825 --raise business event for Liens Title and Registration for the Assets
21826 l_raise_business_event := OKL_API.G_TRUE;
21827 l_business_event_name := G_WF_EVT_ASSET_FILING_UPDATED;
21828 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, l_rcle_id_tab(i), l_parameter_list);
21829 ELSIF(l_rrgd_code_tab(i) = 'LAASTX' AND l_rcle_id_tab(i) IS NOT NULL)
21830 THEN
21831 -- raise business event for tax, property tax updated.
21832 l_raise_business_event := OKL_API.G_TRUE;
21833 l_business_event_name := G_WF_EVT_ASSET_PROPTAX_UPDATED;
21834 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, l_rcle_id_tab(i), l_parameter_list);
21835 ELSIF(l_rrgd_code_tab(i) = 'LAPSTH' AND l_rcle_id_tab(i) IS NOT NULL)
21836 THEN
21837 l_line_style := find_sid_mapping_id(l_rcle_id_tab(i));
21838 -- raise business event for service line update passthru
21839 IF(l_line_style IS NOT NULL AND l_line_style = 48)THEN
21840 l_raise_business_event := OKL_API.G_TRUE;
21841 l_business_event_name := G_WF_EVT_SERV_PASS_UPDATED;
21842 wf_event.AddParameterToList(G_WF_ITM_SERV_LINE_ID, l_rcle_id_tab(i), l_parameter_list);
21843 -- check if the service line in context has a service contract associated with it
21844 -- if so, pass the service contract id and service contract line id as parameters
21845 IF (NOT(l_queried)) THEN
21846 OPEN c29(l_copied_id);
21847 LOOP
21848 FETCH c29 bulk collect INTO
21849 l_s2cle_id_tab, l_s2object1_id1_tab;
21850 EXIT WHEN l_s2cle_id_tab.COUNT = 0;
21851 FOR j IN l_s2cle_id_tab.first..l_s2cle_id_tab.last
21852 LOOP
21853 -- Store cle_id and object1_id1 for business function only
21854 l_ssid_mapping_tab(l_ssid_counter).cle_id := l_s2cle_id_tab(j);
21855 l_ssid_mapping_tab(l_ssid_counter).object1_id1 := l_s2object1_id1_tab(j);
21856 l_ssid_counter := l_ssid_counter + 1;
21857 END LOOP;
21858 END LOOP;
21859 CLOSE c29;
21860 sort_ssid_mapping_tab;
21861 l_queried := TRUE;
21862 END IF;
21863 l_service_top_line_id := find_ssid_mapping_id(l_rcle_id_tab(i));
21864 IF(l_service_top_line_id IS NOT NULL)THEN
21865 l_serv_contract_id := l_copied_id;
21866 wf_event.AddParameterToList(G_WF_ITM_SERV_CHR_ID, l_serv_contract_id, l_parameter_list);
21867 wf_event.AddParameterToList(G_WF_ITM_SERV_CLE_ID, l_service_top_line_id, l_parameter_list);
21868 END IF;
21869 -- raise the business event for update passthrough for Fee Line
21870 ELSIF(l_line_style IS NOT NULL AND l_line_style = 52)THEN
21871 l_raise_business_event := OKL_API.G_TRUE;
21872 l_business_event_name := G_WF_EVT_FEE_PASS_UPDATED;
21873 wf_event.AddParameterToList(G_WF_ITM_FEE_LINE_ID, l_rcle_id_tab(i), l_parameter_list);
21874 END IF;
21875 ELSIF(l_rrgd_code_tab(i) = 'LAFEXP' AND l_rcle_id_tab(i) IS NOT NULL)
21876 THEN
21877 l_line_style := find_sid_mapping_id(l_rcle_id_tab(i));
21878 /*OPEN get_line_style(p_line_id);
21879 FETCH get_line_style INTO l_line_style;
21880 CLOSE get_line_style;*/
21881 -- raise business event for service line update expense
21882 IF(l_line_style IS NOT NULL AND l_line_style = 48)THEN
21883 l_raise_business_event := OKL_API.G_TRUE;
21884 l_business_event_name := G_WF_EVT_SERV_FEXP_UPDATED;
21885 wf_event.AddParameterToList(G_WF_ITM_SERV_LINE_ID, l_rcle_id_tab(i), l_parameter_list);
21886 -- check if the service line in context has a service contract associated with it
21887 -- if so, pass the service contract id and service contract line id as parameters
21888 /*OPEN get_serv_chr_from_serv(p_chr_id, p_line_id);
21889 FETCH get_serv_chr_from_serv INTO l_service_top_line_id;
21890 CLOSE get_serv_chr_from_serv;*/
21891 IF (NOT(l_queried)) THEN
21892 OPEN c29(l_copied_id);
21893 LOOP
21894 FETCH c29 bulk collect INTO
21895 l_s2cle_id_tab, l_s2object1_id1_tab;
21896 EXIT WHEN l_s2cle_id_tab.COUNT = 0;
21897 FOR j IN l_s2cle_id_tab.first..l_s2cle_id_tab.last
21898 LOOP
21899 -- Store cle_id and object1_id1 for business function only
21900 l_ssid_mapping_tab(l_ssid_counter).cle_id := l_s2cle_id_tab(j);
21901 l_ssid_mapping_tab(l_ssid_counter).object1_id1 := l_s2object1_id1_tab(j);
21902 l_ssid_counter := l_ssid_counter + 1;
21903 END LOOP;
21904 END LOOP;
21905 CLOSE c29;
21906 sort_ssid_mapping_tab;
21907 l_queried := TRUE;
21908 END IF;
21909 l_service_top_line_id := find_ssid_mapping_id(l_rcle_id_tab(i));
21910 IF(l_service_top_line_id IS NOT NULL)THEN
21911 /*OPEN get_serv_cle_from_serv(l_service_top_line_id);
21912 FETCH get_serv_cle_from_serv INTO l_serv_contract_id;
21913 CLOSE get_serv_cle_from_serv; */
21914 l_serv_contract_id := l_copied_id;
21915 wf_event.AddParameterToList(G_WF_ITM_SERV_CHR_ID, l_serv_contract_id, l_parameter_list);
21916 wf_event.AddParameterToList(G_WF_ITM_SERV_CLE_ID, l_service_top_line_id, l_parameter_list);
21917 END IF;
21918 ELSIF(l_line_style IS NOT NULL AND l_line_style = 52)THEN
21919 l_raise_business_event := OKL_API.G_TRUE;
21920 l_business_event_name := G_WF_EVT_FEE_EXP_UPDATED;
21921 wf_event.AddParameterToList(G_WF_ITM_FEE_LINE_ID, l_rcle_id_tab(i), l_parameter_list);
21922 END IF;
21923 END IF;
21924
21925 -- check if the business event needs to be raised
21926 IF (l_raise_business_event = OKL_API.G_TRUE AND
21927 l_business_event_name IS NOT NULL )THEN
21928 -- since contract id is called as 'CONTRACT_ID' for all the above events, it is being
21929 -- added to the parameter list here, than duplicating it in all the above if conditions
21930
21931 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, l_copied_id, l_parameter_list);
21932 raise_business_event_rules
21933 (p_api_version => p_api_version,
21934 p_init_msg_list => p_init_msg_list,
21935 x_return_status => x_return_status,
21936 x_msg_count => x_msg_count,
21937 x_msg_data => x_msg_data,
21938 p_event_name => l_business_event_name,
21939 p_event_param_list => l_parameter_list,
21940 p_contract_process => l_contract_process
21941 );
21942 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
21943 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
21944 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
21945 RAISE OKL_API.G_EXCEPTION_ERROR;
21946 END IF;
21947
21948 l_raise_business_event := OKL_API.G_FALSE;
21949 l_business_event_name := NULL;
21950
21951 END IF;
21952
21953 END LOOP;
21954 END IF;
21955
21956 -- End of business events processing
21957
21958 l_curr_pos := 'okl_copy_lease_contract:64';
21959 OKL_API.END_ACTIVITY (x_msg_count,
21960 x_msg_data );
21961 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21962 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Done ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));
21963 END IF;
21964 EXCEPTION
21965 WHEN OKL_API.G_EXCEPTION_ERROR THEN
21966 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21967 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
21968 END IF;
21969 OKL_API.set_message(p_app_name => 'OKL',
21970 p_msg_name => l_message,
21971 p_token1 => 'CONTRACT_NUMBER',
21972 p_token1_value => l_contract_number);
21973 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
21974 l_api_name,
21975 G_PKG_NAME,
21976 'OKL_API.G_RET_STS_ERROR',
21977 x_msg_count,
21978 x_msg_data,
21979 '_PVT');
21980 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21981 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_curr_pos='||l_curr_pos);
21982 END IF;
21983 --print('sqlcode='||sqlcode || ':sqlerrm=' || sqlerrm);
21984 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21985 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing copy_lease_contract:l_id_tab ...');
21986 END IF;
21987 FOR i IN 1..l_counter-1
21988 LOOP
21989 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21990 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));
21991 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));
21992 END IF;
21993 END LOOP;
21994 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
21995 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
21996 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
21997 END IF;
21998 OKL_API.set_message(p_app_name => 'OKL',
21999 p_msg_name => l_message,
22000 p_token1 => 'CONTRACT_NUMBER',
22001 p_token1_value => l_contract_number);
22002 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
22003 l_api_name,
22004 G_PKG_NAME,
22005 'OKL_API.G_RET_STS_UNEXP_ERROR',
22006 x_msg_count,
22007 x_msg_data,
22008 '_PVT');
22009 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22010 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_curr_pos='||l_curr_pos);
22011 END IF;
22012 --print('sqlcode='||sqlcode || ':sqlerrm=' || sqlerrm);
22013 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22014 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing copy_lease_contract:l_id_tab ...');
22015 END IF;
22016 FOR i IN 1..l_counter-1
22017 LOOP
22018 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22019 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));
22020 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));
22021 END IF;
22022 END LOOP;
22023 WHEN OTHERS THEN
22024 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22025 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'sqlcode=' || SQLCODE || ':sqlerrm=' || SQLERRM);
22026 END IF;
22027 OKL_API.set_message(p_app_name => 'OKL',
22028 p_msg_name => l_message,
22029 p_token1 => 'CONTRACT_NUMBER',
22030 p_token1_value => l_contract_number);
22031 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
22032 l_api_name,
22033 G_PKG_NAME,
22034 'OTHERS',
22035 x_msg_count,
22036 x_msg_data,
22037 '_PVT');
22038 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22039 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'l_curr_pos='||l_curr_pos);
22040 END IF;
22041 --print('sqlcode='||sqlcode || ':sqlerrm=' || sqlerrm);
22042 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22043 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Printing copy_lease_contract:l_id_tab ...');
22044 END IF;
22045 FOR i IN 1..l_counter-1
22046 LOOP
22047 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
22048 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));
22049 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));
22050 END IF;
22051 END LOOP;
22052 END; /* copy_lease_contract_new */
22053
22054 --------------------------------------------------------------------------------
22055 -- Start of comments
22056 --
22057 -- Procedure Name : copy_lease_contract
22058 -- Description : Copies the contract and all the lines attached to the contract
22059 -- Business Rules :
22060 -- Parameters :
22061 -- Version : 1.0
22062 -- Notes :
22063 -- End of comments
22064 --------------------------------------------------------------------------------
22065 PROCEDURE copy_lease_contract(
22066 p_api_version IN NUMBER,
22067 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
22068 x_return_status OUT NOCOPY VARCHAR2,
22069 x_msg_count OUT NOCOPY NUMBER,
22070 x_msg_data OUT NOCOPY VARCHAR2,
22071 p_commit IN VARCHAR2 DEFAULT 'F',
22072 p_chr_id IN NUMBER,
22073 p_contract_number IN VARCHAR2,
22074 p_contract_number_modifier IN VARCHAR2,
22075 p_to_template_yn IN VARCHAR2 DEFAULT 'N',
22076 p_renew_ref_yn IN VARCHAR2,
22077 p_copy_lines_yn IN VARCHAR2,
22078 p_override_org IN VARCHAR2 DEFAULT 'N',
22079 p_trans_type IN VARCHAR2,
22080 x_chr_id OUT NOCOPY NUMBER) IS
22081
22082 l_api_name CONSTANT VARCHAR2(30) := 'COPY_LEASE_CONTRACT';
22083 lt_klev_tbl_type klev_tbl_type;
22084 ltx_klev_tbl_type klev_tbl_type;
22085 i NUMBER := 0;
22086
22087 CURSOR c_get_old_k_top_line(p_dnz_chr_id OKC_K_LINES_B.DNZ_CHR_ID%TYPE) IS
22088 /*
22089 SELECT cle.id top_line
22090 FROM okc_subclasses_b scs,
22091 okc_subclass_top_line stl,
22092 okc_line_styles_b lse,
22093 okc_k_lines_b cle
22094 WHERE cle.dnz_chr_id = p_dnz_chr_id
22095 AND cle.cle_id is null
22096 and cle.chr_id = cle.dnz_chr_id
22097 AND cle.lse_id = lse.id
22098 AND lse.lse_parent_id is null
22099 AND lse.lse_type = 'TLS'
22100 AND lse.id = stl.lse_Id
22101 AND stl.scs_code = scs.code
22102 AND scs.cls_code = 'OKL';
22103 */
22104 SELECT cle.id top_line
22105 FROM okc_line_styles_b lse,
22106 okc_k_lines_b cle
22107 WHERE cle.dnz_chr_id = p_dnz_chr_id
22108 AND cle.cle_id is null
22109 and cle.chr_id = cle.dnz_chr_id
22110 AND cle.lse_id = lse.id
22111 AND lse.lse_type = 'TLS';
22112
22113
22114 --cursor to get date signed from original contract
22115 Cursor l_date_sig_csr(p_chr_id IN NUMBER,
22116 p_chr_number IN VARCHAR2,
22117 p_chr_modifier IN VARCHAR2) is
22118 Select chr.date_signed
22119 From okc_k_headers_b chr
22120 where
22121 ( (chr.id = p_chr_id and p_chr_id is not null)
22122 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 )
22123 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)
22124 );
22125
22126 l_date_signed date;
22127 l_chrv_rec OKL_OKC_MIGRATION_PVT.chrv_rec_type;
22128 lx_chrv_rec OKL_OKC_MIGRATION_PVT.chrv_rec_type;
22129
22130 --cursor to get insurance top lines after the copy for deletion
22131 --Bug # 2412839 - Since copy insurance functionality is not supported at this
22132 -- time insurance lines will be deleted after they get copied by generic copy
22133 Cursor ins_top_line_csr (p_chr_id IN NUMBER) is
22134 select cle.id
22135 from OKC_LINE_STYLES_B lse,
22136 OKC_K_LINES_B cle
22137 where lse.lty_code = 'INSURANCE'
22138 and lse.id = cle.lse_id
22139 and lse.lse_type = 'TLS'
22140 and lse.application_id = 540
22141 and cle.chr_id = p_chr_id;
22142
22143 l_ins_top_line_id okc_k_lines_b.id%TYPE;
22144 --cursor to get subclass code of the copied contract
22145 --Bug #2555692
22146 Cursor l_scs_csr (p_chr_id IN NUMBER) is
22147 Select scs_code,
22148 orig_system_id1
22149 From okc_k_headers_b
22150 where id = p_chr_id;
22151
22152 l_scs_code okc_k_headers_b.SCS_CODE%TYPE;
22153 l_orig_chr_id okc_k_headers_b.ORIG_SYSTEM_ID1%TYPE;
22154
22155 --Bug # 2792330 S and O
22156 --get the status of source contract
22157 Cursor l_sts_csr (pchrid in number) is
22158 Select sts_code
22159 From OKC_K_HEADERS_B
22160 Where id = pchrid;
22161
22162 l_sts_code okc_k_headers_b.STS_CODE%TYPE;
22163 l_quote_chr_id okc_k_headers_b.ID%TYPE;
22164
22165 --Bug# 3621663
22166 --cursor to get multi-gaap reporting book transaction
22167 cursor l_txd_csr (p_book_type_code in varchar2,
22168 p_chr_id in number) is
22169 select txdb.id
22170 from okl_txd_assets_b txdb,
22171 okl_txl_assets_b txlb,
22172 okc_k_lines_b cleb,
22173 okc_line_styles_b lseb
22174 where txdb.tax_book = p_book_type_code
22175 and txdb.tal_id = txlb.id
22176 and txlb.kle_id = cleb.id
22177 and cleb.lse_id = lseb.id
22178 and lseb.lty_code = 'FIXED_ASSET'
22179 and cleb.dnz_chr_id = p_chr_id;
22180
22181 l_txd_rec l_txd_csr%ROWTYPE;
22182
22183 l_adpv_tbl OKL_TXD_ASSETS_PUB.adpv_tbl_type;
22184
22185 l_rep_book_type okl_txd_assets_b.tax_book%TYPE;
22186 l_rbk_cpy varchar2(1);
22187
22188 --cursor to find status of the parent contract
22189 cursor l_parent_sts_csr (p_chr_id in number) is
22190 select stsb.ste_code,
22191 parent_chrb.scs_code
22192 from okc_statuses_b stsb,
22193 okc_k_headers_b parent_chrb
22194 where stsb.code = parent_chrb.sts_code
22195 and parent_chrb.id = p_chr_id;
22196
22197 l_parent_sts_rec l_parent_sts_csr%ROWTYPE;
22198 --Bug# 3621663
22199
22200 -- apaul,Bug#4381642
22201 lp_khrv_rec Okl_Contract_Pub.khrv_rec_type;
22202 lx_khrv_rec Okl_Contract_Pub.khrv_rec_type;
22203
22204 BEGIN
22205 x_return_status := OKL_API.G_RET_STS_SUCCESS;
22206 -- Call start_activity to create savepoint, check compatibility
22207 -- and initialize message list
22208 x_return_status := OKL_API.START_ACTIVITY (
22209 l_api_name
22210 ,p_init_msg_list
22211 ,'_PVT'
22212 ,x_return_status);
22213 -- Check if activity started successfully
22214 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22215 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22216 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22217 RAISE OKL_API.G_EXCEPTION_ERROR;
22218 END IF;
22219 -- TO copy the Copy the contract first
22220 OKL_COPY_CONTRACT_PUB.copy_contract(p_api_version => p_api_version,
22221 p_init_msg_list => p_init_msg_list,
22222 x_return_status => x_return_status,
22223 x_msg_count => x_msg_count,
22224 x_msg_data => x_msg_data,
22225 p_commit => OKL_API.G_FALSE,
22226 p_chr_id => p_chr_id,
22227 p_contract_number => p_contract_number,
22228 p_contract_number_modifier => p_contract_number_modifier,
22229 p_to_template_yn => p_to_template_yn,
22230 p_renew_ref_yn => p_renew_ref_yn,
22231 p_copy_lines_yn => 'N',
22232 p_override_org => p_override_org,
22233 x_chr_id => x_chr_id);
22234
22235 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22236 --bug # 2518454
22237 --OKL_API.set_message(p_app_name => G_APP_NAME,
22238 --p_msg_name => G_COPY_HEADER);
22239 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22240 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22241 --bug # 2518454
22242 --OKL_API.set_message(p_app_name => G_APP_NAME,
22243 --p_msg_name => G_COPY_HEADER);
22244 RAISE OKL_API.G_EXCEPTION_ERROR;
22245 END IF;
22246
22247 --to update date signed on copied chr
22248 Open l_date_sig_csr(p_chr_id => p_chr_id,
22249 p_chr_number => p_contract_number,
22250 p_chr_modifier => p_contract_number_modifier);
22251 Fetch l_date_sig_csr into l_date_signed;
22252 If l_date_sig_csr%NOTFOUND Then
22253 Null;
22254 Else
22255 l_chrv_rec.id := x_chr_id;
22256 l_chrv_rec.date_signed := l_date_signed;
22257
22258 OKL_OKC_MIGRATION_PVT.update_contract_header(
22259 p_api_version => p_api_version,
22260 p_init_msg_list => p_init_msg_list,
22261 x_return_status => x_return_status,
22262 x_msg_count => x_msg_count,
22263 x_msg_data => x_msg_data,
22264 p_restricted_update => OKC_API.G_FALSE,
22265 p_chrv_rec => l_chrv_rec,
22266 x_chrv_rec => lx_chrv_rec);
22267
22268 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22269 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22270 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22271 RAISE OKL_API.G_EXCEPTION_ERROR;
22272 End If;
22273
22274 END IF;
22275 Close l_date_sig_csr;
22276
22277 If nvl(p_copy_lines_yn,'N') = 'Y' Then
22278 -- Now the Copy the Asset lines
22279 i := 1;
22280 FOR r_get_old_k_top_line IN c_get_old_k_top_line(p_chr_id)
22281 LOOP
22282 lt_klev_tbl_type(i).id := r_get_old_k_top_line.top_line;
22283 IF c_get_old_k_top_line%NOTFOUND THEN
22284 -- store SQL error message on message stack
22285 --OKL_API.set_message(p_app_name => G_APP_NAME,
22286 -- p_msg_name => G_NO_MATCHING_RECORD,
22287 -- p_token1 => G_COL_NAME_TOKEN,
22288 -- p_token1_value => 'dnz_chr_id');
22289 --x_return_status := OKL_API.G_RET_STS_ERROR;
22290 --EXIT WHEN (x_return_status = OKL_API.G_RET_STS_ERROR);
22291 EXIT;
22292 END IF;
22293 i := i + 1;
22294 END LOOP;
22295 --IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22296 -- RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22297 --ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22298 -- RAISE OKL_API.G_EXCEPTION_ERROR;
22299 --END IF;
22300 If lt_klev_tbl_type.FIRST is NOT NULL Then
22301 --means contract has some lines then
22302 -- Copy all the lines for the old contract number
22303 OKL_COPY_ASSET_PUB.COPY_ALL_LINES(p_api_version => p_api_version,
22304 p_init_msg_list => p_init_msg_list,
22305 x_return_status => x_return_status,
22306 x_msg_count => x_msg_count,
22307 x_msg_data => x_msg_data,
22308 p_from_cle_id_tbl => lt_klev_tbl_type,
22309 p_to_cle_id => null,
22310 p_to_chr_id => x_chr_id,
22311 p_to_template_yn => 'N',
22312 p_copy_reference => 'COPY',
22313 p_copy_line_party_yn => 'Y',
22314 p_renew_ref_yn => 'N',
22315 p_trans_type => p_trans_type,
22316 x_cle_id_tbl => ltx_klev_tbl_type);
22317 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22318 OKL_API.set_message(p_app_name => G_APP_NAME,
22319 p_msg_name => G_COPY_LINE);
22320 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22321 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22322 OKL_API.set_message(p_app_name => G_APP_NAME,
22323 p_msg_name => G_COPY_LINE);
22324 RAISE OKL_API.G_EXCEPTION_ERROR;
22325 END IF;
22326 --
22327 --Bug# 2522268 : Physically delete all the lines with source lines having
22328 -- abandoned status
22329 cleanup_abandoned_lines(p_api_version => p_api_version,
22330 p_init_msg_list => p_init_msg_list,
22331 x_return_status => x_return_Status,
22332 x_msg_count => x_msg_count,
22333 x_msg_data => x_msg_data,
22334 p_chr_id => x_chr_id);
22335 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22336 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22337 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22338 raise OKL_API.G_EXCEPTION_ERROR;
22339 End If;
22340 --
22341 --Bug# 2522268 End
22342 --
22343 --
22344 --Bug# 3923883 : Physically delete all the rollover lines
22345 IF(p_trans_type is not null AND p_trans_type = 'CFA') THEN
22346
22347 cleanup_rollover_lines(p_api_version => p_api_version,
22348 p_init_msg_list => p_init_msg_list,
22349 x_return_status => x_return_Status,
22350 x_msg_count => x_msg_count,
22351 x_msg_data => x_msg_data,
22352 p_chr_id => x_chr_id);
22353 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22354 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22355 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22356 raise OKL_API.G_EXCEPTION_ERROR;
22357 End If;
22358
22359 End If;
22360 --
22361 --Bug# 3923883 End
22362 --
22363
22364 End If;
22365
22366 End If; -- if p_copy_lines_y_n flag
22367 /*---------------This pushed into copy asset lines -----------------------------
22368 ------------------------------------------------------------------------
22369 --special process to change the linked line links for covered asset
22370 ------------------------------------------------------------------------
22371 Open l_lnk_csr(p_chr_id => x_chr_id);
22372 Loop
22373 Fetch l_lnk_csr into
22374 l_new_lnk_cle_id,
22375 l_orig_lnk_cle_id,
22376 l_new_lnk_cim_id,
22377 l_jtot_object1_code,
22378 l_object1_id1,
22379 l_object1_id2;
22380
22381 Exit when l_lnk_csr%NOTFOUND;
22382 If l_jtot_object1_code in ('OKX_COVASST', 'OKL_USAGE') And
22383 (l_object1_id1 is not null) Then
22384
22385 link_cov_asst( p_api_version => p_api_version,
22386 p_init_msg_list => p_init_msg_list,
22387 x_return_status => x_return_status,
22388 x_msg_count => x_msg_count,
22389 x_msg_data => x_msg_data,
22390 p_orig_lnk_cle_id => l_orig_lnk_cle_id,
22391 p_new_lnk_cim_id => l_new_lnk_cim_id,
22392 p_object_code => l_jtot_object1_code,
22393 p_new_chr_id => x_chr_id );
22394
22395 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22396 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22397 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22398 raise OKL_API.G_EXCEPTION_ERROR;
22399 End If;
22400 End If;
22401 End Loop;
22402 Close l_lnk_csr;
22403 -------------------------------------------------------------------------
22404 --end of special processing for fixing linked lines
22405 -------------------------------------------------------------------------
22406 This pushed into copy asset lies----------------------------------------------*/
22407 --------------------------------------------------------------------------------
22408 --Bug # 2337570 - TEMPLATE COPY DOES NOT DEFAULT ALL FIELDS ON HEADER
22409 --copy governances for master lease contract and credit line references
22410 --------------------------------------------------------------------------------
22411 copy_governances(
22412 p_api_version => p_api_version,
22413 p_init_msg_list => p_init_msg_list,
22414 x_return_status => x_return_status,
22415 x_msg_count => x_msg_count,
22416 x_msg_data => x_msg_data,
22417 p_from_chr_id => p_chr_id,
22418 p_to_chr_id => x_chr_id);
22419
22420 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22421 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22422 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22423 raise OKL_API.G_EXCEPTION_ERROR;
22424 End If;
22425
22426 --------------------------------------------------------------------------------
22427 --Bug # 2412839 - Since copy insurance functionality is not supported at this
22428 -- time insurance lines will be deleted after they get copied by generic copy
22429 --------------------------------------------------------------------------------
22430 Open ins_top_line_csr(p_chr_id => x_chr_id);
22431 Loop
22432 Fetch ins_top_line_csr into
22433 l_ins_top_line_id;
22434 Exit when ins_top_line_csr%NotFound;
22435 OKL_CONTRACT_PUB.delete_contract_line(
22436 p_api_version => p_api_version,
22437 p_init_msg_list => p_init_msg_list,
22438 x_return_status => x_return_status,
22439 x_msg_count => x_msg_count,
22440 x_msg_data => x_msg_data,
22441 p_line_id => l_ins_top_line_id);
22442 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22443 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22444 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22445 raise OKL_API.G_EXCEPTION_ERROR;
22446 End If;
22447 End Loop;
22448 Close ins_top_line_csr;
22449
22450 --Bug# 3541098 - Do not delete yields and interim interest details
22451 -- for a Re-book or Split contract transaction.
22452 -- Yields and interim interest details are to be
22453 -- deleted for Copy contract or Re-lease transaction.
22454
22455 if p_trans_type IN ('CFA','CRL') then
22456 --Bug# 3159691
22457 delete_yields(
22458 p_api_version => p_api_version,
22459 p_init_msg_list => p_init_msg_list,
22460 x_return_status => x_return_status,
22461 x_msg_count => x_msg_count,
22462 x_msg_data => x_msg_data,
22463 p_chr_id => x_chr_id,
22464 --Bug# 3973640
22465 p_trans_type => p_trans_type);
22466 end if;
22467
22468 --Bug# 3541098 end
22469
22470 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22471 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22472 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22473 raise OKL_API.G_EXCEPTION_ERROR;
22474 End If;
22475
22476 --Start Bug# 3621663
22477 -----------------------------------------------------------------------------
22478 --delete multigaap reporting books from transaction tables after copy
22479 --if it is not a copy for rebook
22480 ---------------------------------------------------------------------------
22481 open l_parent_sts_csr(p_chr_id => p_chr_id);
22482 fetch l_parent_sts_csr into l_parent_sts_rec;
22483 if l_parent_sts_csr%NOTFOUND then
22484 null;
22485 end if;
22486 close l_parent_sts_csr;
22487
22488 If nvl(l_parent_sts_rec.ste_code,OKL_API.G_MISS_CHAR) not in ('ENTERED','SIGNED')
22489 and nvl(l_parent_sts_rec.scs_code,OKL_API.G_MISS_CHAR) = 'LEASE'
22490 and nvl(p_copy_lines_yn,'N') = 'Y' then
22491 If nvl(p_trans_type,OKL_API.G_MISS_CHAR) not in ('CRB','CRL') then
22492 l_rep_book_type := OKL_SYSTEM_PARAMS_ALL_PUB.get_system_param_value(OKL_SYSTEM_PARAMS_ALL_PUB.G_RPT_PROD_BOOK_TYPE_CODE);
22493 i := 0;
22494 If nvl(l_rep_book_type,OKL_API.G_MISS_CHAR) <> OKL_API.G_MISS_CHAR then
22495 open l_txd_csr (p_book_type_code => l_rep_book_type,
22496 p_chr_id => x_chr_id);
22497 Loop
22498 fetch l_txd_csr into l_txd_rec;
22499 exit when l_txd_csr%NOTFOUND;
22500 i := i+1;
22501 l_adpv_tbl(i).id := l_txd_rec.id;
22502 end Loop;
22503 close l_txd_csr;
22504
22505 If l_adpv_tbl.COUNT <> 0 then
22506 OKL_TXD_ASSETS_PUB.delete_txd_asset_Def(
22507 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_adpv_tbl => l_adpv_tbl);
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 End If;
22519 End If;
22520 End If;
22521 End If;
22522 --End Bug Fix 3621663
22523
22524 --Start Bug# 2555692
22525 -----------------------------------------------------------------------------
22526 --reset the contract status to 'NEW' for 'LEASE' and 'QUOTE'
22527 -----------------------------------------------------------------------------
22528 Open l_scs_csr(p_chr_id => x_chr_id);
22529 Fetch l_scs_csr into l_scs_code,l_orig_chr_id;
22530 If l_scs_csr%NOTFOUND Then
22531 null;
22532 Else
22533 --Bug # 2792330 : Enhancement for S and O for 'QUOTE' status
22534 --If l_scs_code in ('LEASE','QUOTE') Then
22535 If l_scs_code = 'LEASE' Then
22536 reset_contract_status
22537 (p_api_version => p_api_version,
22538 p_init_msg_list => p_init_msg_list,
22539 x_return_status => x_return_status,
22540 x_msg_count => x_msg_count,
22541 x_msg_data => x_msg_data,
22542 p_chr_id => x_chr_id,
22543 p_status => 'NEW',
22544 p_cascade_lines => p_copy_lines_yn);
22545
22546 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22547 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22548 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22549 raise OKL_API.G_EXCEPTION_ERROR;
22550 End If;
22551
22552 -- apaul,Bug#4381642
22553 -- Reset Securitized Flag
22554 l_chrv_rec.id := x_chr_id;
22555 lp_khrv_rec.id := x_chr_id;
22556 lp_khrv_rec.SECURITIZED_CODE := NULL;
22557
22558 Okl_Contract_Pub.update_contract_header(
22559 p_api_version => p_api_version,
22560 p_init_msg_list => p_init_msg_list,
22561 x_return_status => x_return_status,
22562 x_msg_count => x_msg_count,
22563 x_msg_data => x_msg_data,
22564 p_chrv_rec => l_chrv_rec,
22565 p_khrv_rec => lp_khrv_rec,
22566 x_chrv_rec => lx_chrv_rec,
22567 x_khrv_rec => lx_khrv_rec);
22568
22569 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
22570 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22571 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
22572 RAISE OKL_API.G_EXCEPTION_ERROR;
22573 END IF;
22574 -- END,apaul,Bug#4381642
22575
22576 ElsIf l_scs_code = 'QUOTE' Then
22577
22578 Open l_sts_csr(pchrid => l_orig_chr_id);
22579 Fetch l_sts_csr into l_sts_code;
22580 If l_sts_csr%NOTFOUND then
22581 l_sts_code := 'INCOMPLETE';
22582 End If;
22583 Close l_sts_csr;
22584
22585 If l_sts_code = 'NEW' Then
22586 l_sts_code := 'NEW';
22587 Else
22588 l_sts_code := 'INCOMPLETE';
22589 End If;
22590
22591 reset_contract_status
22592 (p_api_version => p_api_version,
22593 p_init_msg_list => p_init_msg_list,
22594 x_return_status => x_return_status,
22595 x_msg_count => x_msg_count,
22596 x_msg_data => x_msg_data,
22597 p_chr_id => x_chr_id,
22598 p_status => l_sts_code,
22599 p_cascade_lines => p_copy_lines_yn);
22600
22601 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22602 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22603 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22604 raise OKL_API.G_EXCEPTION_ERROR;
22605 End If;
22606
22607 /*----Bug# 5591688 : Commenting as okl_quote_plans_pvt is stubbed in R12
22608 -- quotes are no longer copied using copy contract
22609 --call quote API for modification of plan structure
22610 OKL_QUOTE_PLANS_PVT.modify_quote_structure
22611 ( p_api_version => p_api_version,
22612 p_init_msg_list => p_init_msg_list,
22613 --Bug# 3143522
22614 p_transaction_control => OKL_API.G_FALSE,
22615 p_chr_id => x_chr_id,
22616 p_modify_reason_code => 'COPY_QUOTE',
22617 x_chr_id => l_quote_chr_id,
22618 x_return_status => x_return_status,
22619 x_msg_count => x_msg_count,
22620 x_msg_data => x_msg_data);
22621
22622 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
22623 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
22624 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
22625 raise OKL_API.G_EXCEPTION_ERROR;
22626 End If;
22627 ------------------------End of commented code----------*/
22628
22629 End If;
22630 End If;
22631 Close l_scs_csr;
22632 -----------------------------------------------------------------------------
22633 --End of resetting the copied contract status to new
22634 -----------------------------------------------------------------------------
22635 --End Bug# 2555692
22636 OKL_API.END_ACTIVITY (x_msg_count,
22637 x_msg_data );
22638 EXCEPTION
22639 WHEN OKL_API.G_EXCEPTION_ERROR THEN
22640 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
22641 l_api_name,
22642 G_PKG_NAME,
22643 'OKL_API.G_RET_STS_ERROR',
22644 x_msg_count,
22645 x_msg_data,
22646 '_PVT');
22647 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
22648 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
22649 l_api_name,
22650 G_PKG_NAME,
22651 'OKL_API.G_RET_STS_UNEXP_ERROR',
22652 x_msg_count,
22653 x_msg_data,
22654 '_PVT');
22655 WHEN OTHERS THEN
22656 x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
22657 l_api_name,
22658 G_PKG_NAME,
22659 'OTHERS',
22660 x_msg_count,
22661 x_msg_data,
22662 '_PVT');
22663 END copy_lease_contract;
22664
22665 End okl_copy_contract_Pvt;