[Home] [Help]
PACKAGE BODY: APPS.OKL_ARINTF_PVT
Source
1 PACKAGE BODY OKL_ARINTF_PVT AS
2 /* $Header: OKLRAINB.pls 120.122.12020000.2 2013/01/24 11:33:24 venkatho ship $ */
3
4 G_MODULE VARCHAR2(255) := 'okl.plsql.okl_arintf_pvt';
5 G_DEBUG_ENABLED CONSTANT VARCHAR2(10) := OKL_DEBUG_PUB.CHECK_LOG_ENABLED;
6 G_IS_DEBUG_STATEMENT_ON BOOLEAN;
7 -- Start of wraper code generated automatically by Debug code generator
8 L_MODULE VARCHAR2(40) := 'LEASE.RECEIVABLES.BILLING';
9 L_DEBUG_ENABLED VARCHAR2(10);
10 -- L_DEBUG_ENABLED CONSTANT VARCHAR2(10) := OKL_DEBUG_PUB.CHECK_LOG_ENABLED;
11 L_LEVEL_PROCEDURE NUMBER;
12 IS_DEBUG_PROCEDURE_ON BOOLEAN;
13 -- End of wraper code generated automatically by Debug code generator
14 --start: | 15-FEB-07 cklee R12 Billing enhancement project
15 -- vpanwar 20-July-07 -- interface line length increase from 30 to 150
16 G_AR_DATA_LENGTH CONSTANT VARCHAR2(4) := '150';
17 -- end vpanwar 20-July-07 -- interface line length increase from 30 to 150
18 G_ACC_SYS_OPTION VARCHAR2(4);
19 --end: | 15-FEB-07 cklee R12 Billing enhancement project |
20
21 -- rmunjulu R12 Fixes
22 TYPE dist_rec_type IS RECORD (
23 account_class RA_INTERFACE_DISTRIBUTIONS_ALL.account_class%TYPE,
24 dist_amount OKL_TRNS_ACC_DSTRS.amount%TYPE,
25 dist_percent OKL_TRNS_ACC_DSTRS.percentage%TYPE,
26 code_combination_id OKL_TRNS_ACC_DSTRS.code_combination_id%TYPE);
27
28 -- rmunjulu R12 Fixes
29 TYPE dist_tbl_type IS TABLE OF dist_rec_type INDEX BY BINARY_INTEGER;
30 --
31 ----------------------------------------------------------------------------------
32 -- Start of comments
33 --
34 -- Procedure Name : get_cust_config_from_line
35 -- Description : This logic is migrated from okl_stream_billing_pvt
36 -- Business Rules : irm_id, ibt_id, and customer_bank_account will be
37 -- overrided if contract line setting exists
38 -- Parameters :
39 --
40 -- Version : 1.0
41 -- HISTORY: : 12-Feb-2008 Bug 6755333 Populate line bill to address only if
42 -- line level bill to adress is not null
43 -- End of comments
44 ----------------------------------------------------------------------------------
45
46 PROCEDURE get_cust_config_from_line(
47 p_kle_id IN NUMBER
48 ,p_customer_address_id IN NUMBER
49 ,p_customer_bank_account_id IN NUMBER
50 ,p_receipt_method_id IN NUMBER
51 ,x_customer_address_id OUT NOCOPY NUMBER
52 ,x_customer_bank_account_id OUT NOCOPY NUMBER
53 ,x_receipt_method_id OUT NOCOPY NUMBER
54 -- BANK-ACCOUNT-UPTAKE-START
55 ,x_creation_method_code OUT NOCOPY VARCHAR2
56 ,x_bank_line_id1 OUT NOCOPY NUMBER
57 -- BANK-ACCOUNT-UPTAKE-START
58 )
59 IS
60 l_return_status VARCHAR2(3) := OKL_API.G_RET_STS_SUCCESS;
61 -- -----------------------------------------------------
62 -- Variable definitions for line level bill-to_support
63 -- -----------------------------------------------------
64 l_pmth_line_id1 OKC_RULES_B.OBJECT1_ID1%TYPE;
65 l_rct_line_method_code AR_RECEIPT_CLASSES.CREATION_METHOD_CODE%TYPE;
66 lp_rct_line_method_code AR_RECEIPT_CLASSES.CREATION_METHOD_CODE%TYPE;
67 l_bank_line_id1 OKC_RULES_B.OBJECT1_ID1%TYPE;
68
69 l_line_cust_bank_acct_id OKL_TRX_AR_INVOICES_V.customer_bank_account_id%TYPE;
70 l_line_cust_address_id OKL_TRX_AR_INVOICES_V.ibt_id%TYPE;
71 l_line_receipt_method_id OKL_TRX_AR_INVOICES_V.irm_id%TYPE;
72 l_line_term_id OKL_TRX_AR_INVOICES_V.irt_id%TYPE;
73
74 l_khr_id okc_k_headers_b.id%type;
75
76 CURSOR get_chr_id (p_kle_id NUMBER) IS
77 select dnz_chr_id
78 from okc_k_lines_b
79 where id = p_kle_id;
80
81 -- nikshah -- Bug # 5484903 Fixed,
82 -- Changed CURSOR line_bill_to_csr SQL definition
83 CURSOR line_bill_to_csr(p_khr_id NUMBER, p_kle_id NUMBER) IS
84 SELECT cs.cust_acct_site_id, cp.standard_terms payment_term_id
85 FROM okc_k_headers_b khr
86 , okx_cust_site_uses_v cs
87 , okc_k_lines_b cle
88 , hz_customer_profiles cp
89 WHERE khr.id = p_khr_id
90 AND cle.dnz_chr_id = khr.id
91 AND cle.chr_id IS NOT NULL
92 AND cle.id = p_kle_id
93 AND cle.BILL_TO_SITE_USE_ID = cs.id1
94 AND khr.bill_to_site_use_id = cp.site_use_id(+)
95 UNION
96 SELECT cs.cust_acct_site_id, cp.standard_terms payment_term_id
97 FROM okc_k_headers_b khr
98 , okc_k_lines_b cle
99 , okc_k_items item
100 , okc_k_lines_b linked_asset
101 , okx_cust_site_uses_v cs
102 , hz_customer_profiles cp
103 WHERE khr.id = p_khr_id
104 AND cle.dnz_chr_id = khr.id
105 AND cle.id = p_kle_id
106 AND cle.chr_id IS NULL
107 AND cle.id = item.cle_id
108 AND item.object1_id1 = linked_asset.id
109 AND linked_asset.BILL_TO_SITE_USE_ID = cs.id1
110 AND khr.bill_to_site_use_id = cp.site_use_id(+);
111
112 CURSOR cust_line_pmth_csr ( p_khr_id NUMBER, p_kle_id NUMBER ) IS
113 SELECT object1_id1
114 FROM OKC_RULES_B rul,
115 Okc_rule_groups_B rgp
116 WHERE rul.rgp_id = rgp.id AND
117 rgp.rgd_code = 'LABILL' AND
118 rgp.cle_id = p_kle_id AND
119 rul.rule_information_category = 'LAPMTH' AND
120 rgp.dnz_chr_id = p_khr_id
121 UNION
122 SELECT rul.object1_id1
123 FROM okc_k_lines_b cle
124 , okc_k_items_v item
125 , okc_k_lines_b linked_asset
126 , OKC_RULES_B rul
127 , Okc_rule_groups_B rgp
128 WHERE cle.dnz_chr_id = p_khr_id AND
129 cle.id = p_kle_id AND
130 cle.chr_id IS NULL AND
131 cle.id = item.cle_id AND
132 item.object1_id1 = linked_asset.id AND
133 linked_asset.id = rgp.cle_id AND
134 linked_asset.dnz_chr_id = rgp.dnz_chr_id AND
135 rgp.rgd_code = 'LABILL' AND
136 rul.rgp_id = rgp.id AND
137 rul.rule_information_category = 'LAPMTH';
138
139 CURSOR rcpt_mthd_csr(p_cust_rct_mthd NUMBER) IS
140 SELECT C.RECEIPT_METHOD_ID
141 FROM RA_CUST_RECEIPT_METHODS C
142 WHERE C.cust_receipt_method_id = p_cust_rct_mthd;
143
144 -- Bank Account Cursor
145 CURSOR rcpt_method_csr ( p_rct_method_id NUMBER) IS
146 SELECT C.CREATION_METHOD_CODE
147 FROM AR_RECEIPT_METHODS M,
148 AR_RECEIPT_CLASSES C
149 WHERE M.RECEIPT_CLASS_ID = C.RECEIPT_CLASS_ID AND
150 M.receipt_method_id = p_rct_method_id;
151
152 CURSOR cust_line_bank_csr ( p_khr_id NUMBER, p_kle_id NUMBER ) IS
153 SELECT object1_id1
154 FROM OKC_RULES_B rul,
155 Okc_rule_groups_B rgp
156 WHERE rul.rgp_id = rgp.id AND
157 rgp.cle_id = p_kle_id AND
158 rgp.rgd_code = 'LABILL' AND
159 rul.rule_information_category = 'LABACC' AND
160 rgp.dnz_chr_id = p_khr_id
161 UNION
162 SELECT rul.object1_id1
163 FROM okc_k_lines_b cle
164 , okc_k_items_v item
165 , okc_k_lines_b linked_asset
166 , OKC_RULES_B rul
167 , Okc_rule_groups_B rgp
168 WHERE cle.dnz_chr_id = p_khr_id AND
169 cle.id = p_kle_id AND
170 cle.chr_id IS NULL AND
171 cle.id = item.cle_id AND
172 item.object1_id1 = linked_asset.id AND
173 linked_asset.id = rgp.cle_id AND
174 linked_asset.dnz_chr_id = rgp.dnz_chr_id AND
175 rgp.rgd_code = 'LABILL' AND
176 rul.rgp_id = rgp.id AND
177 rul.rule_information_category = 'LABACC';
178
179 CURSOR bank_acct_csr(p_id1 NUMBER) IS
180 SELECT bank_account_id
181 FROM OKX_RCPT_METHOD_ACCOUNTS_V
182 WHERE id1 = p_id1;
183
184 BEGIN
185
186 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
187 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','p_kle_id:'||p_kle_id);
188 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','p_customer_address_id:'||p_customer_address_id);
189 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','p_customer_bank_account_id:'||p_customer_bank_account_id);
190 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','p_receipt_method_id:'||p_receipt_method_id);
191 END IF;
192
193 -- assign to out parameters 1st
194 x_customer_address_id := p_customer_address_id;
195 x_customer_bank_account_id := p_customer_bank_account_id;
196 x_receipt_method_id := p_receipt_method_id;
197
198 -- -------------------------------------------------------
199 -- Get bill-to_site and payment term, receipt method and
200 -- bank account id
201 -- -------------------------------------------------------
202 l_line_cust_address_id := NULL;
203 l_line_term_id := NULL;
204
205 OPEN rcpt_method_csr (p_receipt_method_id);
206 FETCH rcpt_method_csr INTO l_rct_line_method_code;
207 CLOSE rcpt_method_csr;
208
209 -- BANK-ACCOUNT-UPTAKE-START
210 x_creation_method_code := l_rct_line_method_code;
211 -- BANK-ACCOUNT-UPTAKE-END
212
213 IF (p_kle_id IS NOT NULL AND p_kle_id <> okl_api.g_miss_num) THEN
214
215 OPEN get_chr_id(p_kle_id);
216 FETCH get_chr_id INTO l_khr_id;
217 CLOSE get_chr_id;
218
219 OPEN line_bill_to_csr(l_khr_id, p_kle_id );
220 FETCH line_bill_to_csr INTO l_line_cust_address_id, l_line_term_id;
221 CLOSE line_bill_to_csr;
222
223 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
224 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','l_khr_id:'||l_khr_id);
225 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','l_line_cust_address_id:'||l_line_cust_address_id);
226 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','l_line_term_id:'||l_line_term_id);
227 END IF;
228
229
230 -- IF l_line_cust_address_id IS NOT NULL THEN --sosharma commented bug 6788194
231
232 l_pmth_line_id1 := NULL;
233 l_line_receipt_method_id := NULL;
234 -- l_rct_line_method_code := NULL;
235 l_bank_line_id1 := NULL;
236
237 OPEN cust_line_pmth_csr (l_khr_id, p_kle_id );
238 FETCH cust_line_pmth_csr INTO l_pmth_line_id1;
239 CLOSE cust_line_pmth_csr;
240
241 OPEN rcpt_mthd_csr( l_pmth_line_id1 );
242 FETCH rcpt_mthd_csr INTO l_line_receipt_method_id;
243 CLOSE rcpt_mthd_csr;
244
245 OPEN rcpt_method_csr (l_line_receipt_method_id);
246 FETCH rcpt_method_csr INTO lp_rct_line_method_code;
247 CLOSE rcpt_method_csr;
248
249 -- BANK-ACCOUNT-UPTAKE-START
250 -- sosharma changes for setting variables only if valus is prsent
251 IF lp_rct_line_method_code IS NOT NULL THEN
252 x_creation_method_code := lp_rct_line_method_code;
253 l_rct_line_method_code:=lp_rct_line_method_code;
254 END IF;
255 -- BANK-ACCOUNT-UPTAKE-END
256 IF (l_rct_line_method_code <> 'MANUAL') THEN
257 OPEN cust_line_bank_csr ( l_khr_id, p_kle_id );
258 FETCH cust_line_bank_csr INTO l_bank_line_id1;
259 CLOSE cust_line_bank_csr;
260 -- sosharma changes for setting variables only if value is prsent
261 IF l_bank_line_id1 IS NOT NULL THEN
262 x_bank_line_id1 := l_bank_line_id1;
263 END IF;
264
265 OPEN bank_acct_csr( l_bank_line_id1 );
266 FETCH bank_acct_csr INTO l_line_cust_bank_acct_id;
267 CLOSE bank_acct_csr;
268 END IF;
269
270 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
271 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','l_pmth_line_id1:'||l_pmth_line_id1);
272 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','l_line_receipt_method_id:'||l_line_receipt_method_id);
273 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','l_rct_line_method_code:'||l_rct_line_method_code);
274 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','l_bank_line_id1:'||l_bank_line_id1);
275 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','l_line_cust_address_id:'||l_line_cust_address_id);
276 END IF;
277
278
279 -- END IF;-- sosharma commented bug 6788194
280
281 -- Bug 6755333
282 -- Populate line cust address id and line receipt method
283 IF l_line_cust_address_id IS NOT NULL THEN -- rmunjulu bug 5594606 added
284
285 x_customer_address_id := l_line_cust_address_id; -- rmunjulu R12 Fixes -- added
286 END IF;
287
288 IF l_line_receipt_method_id IS NOT NULL THEN
289 x_receipt_method_id := l_line_receipt_method_id; -- rmunjulu bug 5594606 -- l_ext_receipt_method_id; -- rmunjulu R12 Fixes -- added
290 END IF;
291
292 IF l_line_cust_bank_acct_id IS NOT NULL THEN
293 x_customer_bank_account_id := l_line_cust_bank_acct_id;
294 END IF;
295
296 END IF; --IF p_kle_id IS NOT NULL THEN
297
298 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
299 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','x_customer_address_id:'||x_customer_address_id);
300 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','x_receipt_method_id:'||x_receipt_method_id);
301 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_cust_config_from_line.debug','x_customer_bank_account_id:'||x_customer_bank_account_id);
302 END IF;
303
304 EXCEPTION
305 WHEN OTHERS THEN
306 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
307 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Failure in get_cust_config_from_line');
308 END IF;
309
310 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
311 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'okl_arintf_pvt',
312 'EXCEPTION :'||'OTHERS');
313 END IF;
314
315 END get_cust_config_from_line;
316 --
317
318 ----------------------------------------------------------------------------------
319 -- Start of comments
320 --
321 -- Procedure Name : nullout_rec_method
322 -- Description : This logic is migrated from okl_internal_to_external
323 -- Business Rules :
324 -- Parameters :
325 --
326 -- Version : 1.0
327 -- added p_payment_trxn_extension_id and x_payment_trxn_extension_id parameters for bug 6788231
328 --
329 -- End of comments
330 ----------------------------------------------------------------------------------
331 PROCEDURE nullout_rec_method(
332 p_contract_id IN NUMBER
333 ,p_Quote_number IN NUMBER
334 ,p_sty_id IN NUMBER
335 ,p_customer_bank_account_id IN NUMBER
336 ,p_receipt_method_id IN NUMBER -- irm_id
337 ,p_payment_trxn_extension_id IN NUMBER
338 ,x_customer_bank_account_id OUT NOCOPY NUMBER
339 ,x_receipt_method_id OUT NOCOPY NUMBER
340 ,x_payment_trxn_extension_id OUT NOCOPY NUMBER
341 )
342 IS
343 l_return_status VARCHAR2(3) := OKL_API.G_RET_STS_SUCCESS;
344 lx_remrkt_sty_id number;
345
346 BEGIN
347 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
348 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','p_contract_id:'||p_contract_id);
349 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','p_Quote_number:'||p_Quote_number);
350 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','p_sty_id:'||p_sty_id);
351 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','p_customer_bank_account_id:'||p_customer_bank_account_id);
352 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','p_receipt_method_id:'||p_receipt_method_id);
353 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','p_payment_trxn_extension_id:'||p_payment_trxn_extension_id);
354 END IF;
355
356 IF p_contract_id IS NOT NULL THEN
357 --bug 5160519 : Sales Order Billing
358 -- Order Management sales for remarketing, these billing details are
359 --purely from the Order, so if payment method,Bank Account is not passed,
360 --then pass as NULL.
361
362 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
363 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','calling Okl_Streams_Util.get_primary_stream_type');
364 END IF;
365 --get primary stream type for remarketing stream
366 Okl_Streams_Util.get_primary_stream_type(p_contract_id,
367 'ASSET_SALE_RECEIVABLE',
368 l_return_status,
369 lx_remrkt_sty_id);
370 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
371 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','Okl_Streams_Util.get_primary_stream_type returned l_return_status:'||l_return_status||' and lx_remrkt_sty_id:'||lx_remrkt_sty_id);
372 END IF;
373 IF l_return_status = Okl_Api.g_ret_sts_success THEN
374
375 IF(lx_remrkt_sty_id = p_sty_id) THEN
376
377 x_customer_bank_account_id := NULL;
378 x_receipt_method_id := NULL;
379 x_payment_trxn_extension_id:=NULL; -- added for bug 6788231
380 ELSE
381 x_customer_bank_account_id := p_customer_bank_account_id;
382 x_receipt_method_id := p_receipt_method_id;
383 x_payment_trxn_extension_id:= p_payment_trxn_extension_id;
384 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
385 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','x_customer_bank_account_id:'||x_customer_bank_account_id);
386 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','x_receipt_method_id:'||x_receipt_method_id);
387 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','x_payment_trxn_extension_id:'||x_payment_trxn_extension_id);
388 END IF;
389 END IF;
390 END IF;
391
392 --bug 5160519 : end
393
394 --bug 5160519 : Lease Vendor Billing
395 -- For termination quote to Lease Vendor AND repurchase quote to Lease Vendor
396 -- on VPA...the payment method should be taken from the Vendor Billing Details,
397 -- if NULL, then as per above, pass nothing to AR and let AR default to Primary
398 -- payment method
399
400 IF p_Quote_number IS NOT NULL THEN
401 -- if termination record
402 x_receipt_method_id := NULL;
403 x_customer_bank_account_id := NULL;
404 x_payment_trxn_extension_id:=NULL; -- added for bug 6788231
405 ELSE
406 x_customer_bank_account_id := p_customer_bank_account_id;
407 x_receipt_method_id := p_receipt_method_id;
408 x_payment_trxn_extension_id:= p_payment_trxn_extension_id; -- added for bug 6788231
409 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
410 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','x_customer_bank_account_id:'||x_customer_bank_account_id);
411 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','x_receipt_method_id:'||x_receipt_method_id);
412 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.nullout_rec_method.debug','x_payment_trxn_extension_id:'||x_payment_trxn_extension_id);
413 END IF;
414 END IF;
415 -- If p_contract_id IS NULL then, return the same values as passed into the procedure
416 ELSE
417 x_customer_bank_account_id := p_customer_bank_account_id;
418 x_receipt_method_id := p_receipt_method_id;
419 x_payment_trxn_extension_id:= p_payment_trxn_extension_id;
420 END IF; -- IF p_contract_id IS NOT NULL THEN
421 --bug 5160519:end
422
423 --bug 5160519
424 --if not remarketing invoice
425
426
427 EXCEPTION
428 WHEN OTHERS THEN
429 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
430 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Failure in nullout_rec_method');
431 END IF;
432
433 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
434 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'okl_arintf_pvt',
435 'EXCEPTION :'||'OTHERS');
436 END IF;
437
438 END nullout_rec_method;
439
440 ----------------------------------------------------------------------------------
441 -- Start of comments
442 --
443 -- Procedure Name : Get_chr_inv_grp
444 -- Description :
445 -- Business Rules :
446 -- Parameters :
447 --
448 -- Version : 1.0
449 -- End of comments
450 ----------------------------------------------------------------------------------
451 PROCEDURE Get_chr_inv_grp(
452 p_inf_id IN NUMBER
453 ,p_sty_id IN NUMBER
454 ,x_group_by_contract_yn OUT NOCOPY VARCHAR2
455 ,x_contract_level_yn OUT NOCOPY VARCHAR2
456 ,x_group_asset_yn OUT NOCOPY VARCHAR2
457 ,x_invoice_group OUT NOCOPY VARCHAR2
458 )
459 is
460
461 CURSOR inv_format_csr ( p_format_id IN NUMBER, p_stream_id IN NUMBER ) IS
462 SELECT inf.contract_level_yn, -- Multi-contract Y/N
463 ity.group_by_contract_yn, -- Provide Contract Details
464 ity.group_asset_yn, -- Combine Assets
465 inf.name -- invoice group
466 FROM okl_invoice_formats_v inf,
467 okl_invoice_types_v ity,
468 okl_invc_line_types_v ilt,
469 okl_invc_frmt_strms_v frs,
470 okl_strm_type_v sty
471 WHERE inf.id = ity.inf_id
472 AND ity.inf_id = p_format_id
473 AND ilt.ity_id = ity.id
474 AND frs.ilt_id = ilt.id
475 AND sty.id = frs.sty_id
476 AND frs.sty_id = p_stream_id;
477
478 --Bug# 10123867: Modified inv_format_default_csr to fetch
479 -- the default values correctly
480 CURSOR inv_format_default_csr ( p_format_id IN NUMBER ) IS
481 SELECT inf.contract_level_yn, -- Multi-contract Y/N
482 ity.group_by_contract_yn, -- Provide Contract Details
483 ity.group_asset_yn, -- Combine Assets
484 inf.name -- invoice group
485 FROM okl_invoice_formats_v inf,
486 okl_invoice_types_v ity,
487 okl_invc_line_types_v ilt
488 WHERE inf.id = p_format_id
489 AND ity.inf_id = inf.id
490 AND ilt.ity_id = ity.id
491 AND inf.ilt_id = ilt.id;
492
493 begin
494
495 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
496 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_chr_inv_grp.debug','p_inf_id:'||p_inf_id);
497 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_chr_inv_grp.debug','p_sty_id:'||p_sty_id);
498 END IF;
499
500 IF p_inf_id IS NOT NULL and p_sty_id IS NOT NULL THEN
501
502 OPEN inv_format_csr ( p_inf_id, p_sty_id);
503 FETCH inv_format_csr INTO x_contract_level_yn,
504 x_group_by_contract_yn,
505 x_group_asset_yn,
506 x_invoice_group;
507 CLOSE inv_format_csr;
508
509 --Bug# 10123867: If stream type has not been defined in the Invoice Group,
510 -- then fetch the values using Default Invoice Line Type
511 IF x_invoice_group IS NULL THEN
512 OPEN inv_format_default_csr ( p_inf_id);
513 FETCH inv_format_default_csr INTO x_contract_level_yn,
514 x_group_by_contract_yn,
515 x_group_asset_yn,
516 x_invoice_group;
517 CLOSE inv_format_default_csr;
518 END IF;
519
520 ELSIF p_inf_id IS NOT NULL and p_sty_id IS NULL THEN
521
522 OPEN inv_format_default_csr ( p_inf_id);
523 FETCH inv_format_default_csr INTO x_contract_level_yn,
524 x_group_by_contract_yn,
525 x_group_asset_yn,
526 x_invoice_group;
527 CLOSE inv_format_default_csr;
528
529 ELSE
530
531 x_group_by_contract_yn := NULL;
532 x_contract_level_yn := NULL;
533 x_group_asset_yn := NULL;
534 x_invoice_group := NULL;
535
536 END IF;
537
538 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
539 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_chr_inv_grp.debug','x_group_by_contract_yn:'||x_group_by_contract_yn);
540 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_chr_inv_grp.debug','x_contract_level_yn:'||x_contract_level_yn);
541 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_chr_inv_grp.debug','x_group_asset_yn:'||x_group_asset_yn);
542 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_chr_inv_grp.debug','x_invoice_group:'||x_invoice_group);
543 END IF;
544
545 EXCEPTION
546 WHEN OTHERS THEN
547 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
548 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Failure in Get_chr_inv_grp');
549 END IF;
550
551 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
552 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'okl_arintf_pvt',
553 'EXCEPTION :'||'OTHERS');
554 END IF;
555
556 end Get_chr_inv_grp;
557
558 ----------------------------------------------------------------------------------
559 -- Start of comments
560 --
561 -- Procedure Name : Get_acct_disb
562 -- Description :
563 -- Business Rules :
564 -- Parameters :
565 --
566 -- Version : 1.0
567 -- rmunjulu : R12 Fixes - changed the out parameters to table type
568 -- End of comments
569 ----------------------------------------------------------------------------------
570 PROCEDURE Get_acct_disb(
571 p_tld_id IN NUMBER
572 --Bug# 10160494
573 ,p_cust_trx_type_id IN NUMBER
574 ,x_dist_tbl OUT NOCOPY dist_tbl_type
575 --,x_account_class OUT NOCOPY VARCHAR2
576 --,x_dist_amount OUT NOCOPY VARCHAR2
577 --,x_dist_percent OUT NOCOPY VARCHAR2
578 --,x_code_combination_id OUT NOCOPY VARCHAR2
579 )
580 is
581
582 -- Selects distributions created by the accounting Engine
583 CURSOR acc_dstrs_csr(p_source_id IN NUMBER, p_source_table IN VARCHAR2) IS
584 SELECT cr_dr_flag,
585 code_combination_id,
586 source_id,
587 amount,
588 percentage,
589 --Start code changes for rev rec by fmiao on 10/05/2004
590 NVL(comments, '-99') comments --End code changes for rev rec by fmiao on 10/05/2004
591 FROM okl_trns_acc_dstrs
592 WHERE source_id = p_source_id
593 AND source_table = p_source_table;
594
595 i NUMBER := 1; -- rmunjulu R12 Fixes
596 l_account_class varchar2(150); -- rmunjulu R12 Fixes
597
598 --Bug# 10160494
599 CURSOR cust_trx_type_csr(p_cust_trx_type_id IN NUMBER) IS
600 SELECT type
601 FROM ra_cust_trx_types
602 WHERE cust_trx_type_id = p_cust_trx_type_id;
603
604 l_type ra_cust_trx_types.type%type;
605 --Bug# 10160494
606
607 BEGIN
608 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
609 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','p_tld_id:'||p_tld_id);
610 END IF;
611 -- rmunjulu R12 Fixes -- modified code to populate the new out TBL type
612
613 -- rmunjulu R12 Fixes -- modified code to populate x_dist_tbl with values from cursor
614
615 --Bug# 10160494
616 l_type := NULL;
617 OPEN cust_trx_type_csr(p_cust_trx_type_id => p_cust_trx_type_id);
618 FETCH cust_trx_type_csr INTO l_type;
619 CLOSE cust_trx_type_csr;
620 --Bug# 10160494
621
622 FOR acc_dtls_rec IN acc_dstrs_csr(p_tld_id, 'OKL_TXD_AR_LN_DTLS_B') LOOP
623
624 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
625 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','acc_dtls_rec.cr_dr_flag'||acc_dtls_rec.cr_dr_flag);
626 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','acc_dtls_rec.code_combination_id'||acc_dtls_rec.code_combination_id);
627 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','acc_dtls_rec.source_id'||acc_dtls_rec.source_id);
628 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','acc_dtls_rec.amount'||acc_dtls_rec.amount);
629 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','acc_dtls_rec.percentage'||acc_dtls_rec.percentage);
630 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','acc_dtls_rec.comments'||acc_dtls_rec.comments);
631 END IF;
632 -- rmunjulu R12 Fixes -- commented and moved below
633 --x_dist_tbl(i).code_combination_id := acc_dtls_rec.code_combination_id;
634 --x_dist_tbl(i).dist_amount := acc_dtls_rec.amount;
635 --x_dist_tbl(i).dist_percent := acc_dtls_rec.percentage;
636
637 -- rmunjulu R12 Fixes Use local variable for l_account_class
638 -- Bug 9464082 - Added if condition for Credit Memo
639 --Bug# 10160494: Replaced logic added by Bug 9464082 with the
640 -- below logic to determine Rec and Rev accounts
641 IF l_type = 'INV' THEN
642 IF(acc_dtls_rec.cr_dr_flag = 'C') THEN
643 --x_dist_tbl(i).account_class := 'REV'; -- rmunjulu R12 Fixes
644 l_account_class := 'REV'; -- rmunjulu R12 Fixes
645 ELSE
646 --x_dist_tbl(i).account_class := 'REC'; -- rmunjulu R12 Fixes
647 l_account_class := 'REC'; -- rmunjulu R12 Fixes
648 END IF;
649 ELSIF l_type = 'CM' THEN
650 IF(acc_dtls_rec.cr_dr_flag = 'C') THEN
651 --x_dist_tbl(i).account_class := 'REC'; -- rmunjulu R12 Fixes
652 l_account_class := 'REC'; -- rmunjulu R12 Fixes
653 ELSE
654 --x_dist_tbl(i).account_class := 'REV'; -- rmunjulu R12 Fixes
655 l_account_class := 'REV'; -- rmunjulu R12 Fixes
656 END IF;
657 END IF;
658 --Bug# 10160494
659
660 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
661 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','l_account_class'||l_account_class);
662 END IF;
663
664 --Start code changes for rev rec by fmiao on 10/05/2004
665 -- rmunjulu R12 Fixes, modified the condition to create
666 -- distributions only in case of REV
667
668 -- Bug# 9890065 - Ensure that cash basis distributions pass only 3 REC, REV and UNEARN
669 IF (((acc_dtls_rec.comments = 'CASH_RECEIPT'
670 AND l_account_class <> 'REC') OR(acc_dtls_rec.comments <> 'CASH_RECEIPT'))) THEN
671
672 -- rmunjulu R12 Fixes moved to here from above
673 x_dist_tbl(i).code_combination_id := acc_dtls_rec.code_combination_id;
674 x_dist_tbl(i).dist_amount := acc_dtls_rec.amount;
675 x_dist_tbl(i).dist_percent := acc_dtls_rec.percentage;
676
677 -- rmunjulu R12 Fixes set account class
678 x_dist_tbl(i).account_class := l_account_class;
679
680 IF(acc_dtls_rec.comments = 'CASH_RECEIPT') THEN
681 x_dist_tbl(i).account_class := 'UNEARN';
682 END IF;
683
684 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
685 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','x_dist_tbl('||i||').code_combination_id:'||x_dist_tbl(i).code_combination_id);
686 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','x_dist_tbl('||i||').dist_amount:'||x_dist_tbl(i).dist_amount);
687 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','x_dist_tbl('||i||').dist_amount:'||x_dist_tbl(i).dist_amount);
688 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','x_dist_tbl('||i||').dist_percent:'||x_dist_tbl(i).dist_percent);
689 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','x_dist_tbl('||i||').account_class:'||x_dist_tbl(i).account_class);
690 END IF;
691 i := i + 1; -- rmunjulu R12 Fixes -- Increment inside IF --nikshah Bug 8238593, incrementing i after below if statement
692 END IF;
693
694
695
696 END LOOP;
697
698 EXCEPTION
699 WHEN OTHERS THEN
700 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
701 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Failure in Get_acct_disb');
702 END IF;
703
704 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
705 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'okl_arintf_pvt',
706 'EXCEPTION :'||'OTHERS');
707 END IF;
708
709 end Get_acct_disb;
710
711 ---------------------------------------------------------------------------
712 -- PROCEDURE get_customer_id from a contract
713 ---------------------------------------------------------------------------
714
715 PROCEDURE get_customer_id
716 ( l_contract_number IN VARCHAR2
717 ,l_customer_id OUT NOCOPY NUMBER
718 )
719 IS
720 --modified by pgomes on 21-aug-2003 for rules migration
721 CURSOR get_khr_id_csr ( p_contract_number VARCHAR2 ) IS
722 SELECT cust_acct_id
723 FROM okc_k_headers_b
724 where contract_number = p_contract_number;
725
726 --commented out by pgomes on 21-aug-2003 for rules migration
727 BEGIN
728 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
729 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','l_contract_number:'||l_contract_number);
730 END IF;
731 --modified by pgomes on 21-aug-2003 for rules migration
732 -- Get the customer acct id
733 OPEN get_khr_id_csr(l_contract_number);
734 FETCH get_khr_id_csr INTO l_customer_id;
735 CLOSE get_khr_id_csr;
736 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
737 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.Get_acct_disb.debug','l_customer_id:'||l_customer_id);
738 END IF;
739 --commented out by pgomes on 21-aug-2003 for rules migration
740
741 EXCEPTION
742 WHEN OTHERS THEN
743 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
744 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Failure in Get_Customer_Id');
745 END IF;
746
747 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
748 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'okl_arintf_pvt',
749 'EXCEPTION :'||'OTHERS');
750 END IF;
751
752 END get_customer_id;
753
754 PROCEDURE get_vendor_auto_bank_dtls
755 ( p_api_version IN NUMBER,
756 p_init_msg_list IN VARCHAR2,
757 p_khr_id IN NUMBER,
758 p_customer_address_id IN NUMBER,
759 p_bank_id IN VARCHAR2,
760 p_trx_date IN DATE,
761 p_receipt_method_id IN NUMBER,
762 x_receipt_method_id OUT NOCOPY NUMBER,
763 x_payment_trxn_extension_id OUT NOCOPY NUMBER,
764 x_customer_bank_account_id OUT NOCOPY NUMBER,
765 x_return_status OUT NOCOPY VARCHAR2,
766 x_msg_count OUT NOCOPY NUMBER,
767 x_msg_data OUT NOCOPY VARCHAR2
768
769 ) IS
770
771 l_bank_id OKL_TRX_AR_INVOICES_B.CUSTOMER_BANK_ACCOUNT_ID%TYPE := p_bank_id;
772
773 CURSOR instr_type_csr(p_instr_use_id NUMBER)
774 IS
775 SELECT ipiu.payment_function
776 , fpc.payment_channel_code
777 , ipiu.payment_flow
778 FROM iby_pmt_instr_uses_all ipiu
779 ,iby_fndcpt_pmt_chnnls_vl fpc
780 WHERE instrument_id = p_instr_use_id
781 AND fpc.instrument_type = ipiu.instrument_type;
782
783 CURSOR chr_dtls_csr (cp_khr_id IN NUMBER)
784 IS
785 SELECT cpr.object1_id1 party_id
786 , khr.authoring_org_id org_id
787 , khr.cust_acct_id
788 , khr.contract_number
789 , khr.application_id app_id
790 , khr.BILL_TO_SITE_USE_ID
791 , khr.CURRENCY_CODE
792 FROM OKL_K_HEADERS_FULL_V khr
793 , OKC_K_PARTY_ROLES_B CPR
794 WHERE khr.ID = cpr.chr_id
795 AND cpr.rle_code = 'LESSEE'
796 AND khr.ID = cp_khr_id;
797
798 --Bug# 10275519: Modifications to fetch Bank Account
799 -- correctly when there are multiple vendors
800 -- on a contract
801 CURSOR c_vendor_bank_csr ( cp_khr_id NUMBER, cp_cust_acct_id NUMBER) IS
802 SELECT rul.object1_id1
803 FROM OKC_RULES_B rul,
804 Okc_rule_groups_B rgp,
805 Okc_rg_party_roles rpr,
806 Okc_k_party_roles_b cpl
807 WHERE rul.rgp_id = rgp.id AND
808 rgp.rgd_code = 'LAVENB' AND
809 rgp.dnz_chr_id = rgp.chr_id AND
810 rul.rule_information_category = 'LABACC' AND
811 rgp.dnz_chr_id = cp_khr_id AND
812 rpr.dnz_chr_id = rgp.dnz_chr_id AND
813 rpr.rgp_id = rgp.id AND
814 rpr.cpl_id = cpl.id AND
815 cpl.dnz_chr_id = rgp.chr_id AND
816 cpl.chr_id = rgp.chr_id AND
817 cpl.rle_code = 'OKL_VENDOR' AND
818 cpl.cust_acct_id = cp_cust_acct_id;
819
820 CURSOR cust_site_use_id_csr (cp_customer_address_id NUMBER) IS
821 Select site_use_id
822 from HZ_CUST_SITE_USES
823 where cust_acct_site_id=cp_customer_address_id
824 and site_use_code = 'BILL_TO';
825
826 CURSOR c_get_account_details (cp_customer_address_id NUMBER)IS
827 select a.cust_account_id, a.party_id
828 from hz_cust_acct_sites_all s,
829 hz_cust_accounts a
830 where s.cust_acct_site_id = cp_customer_address_id
831 AND s.cust_account_id = a.cust_account_id;
832
833 -- Bug# 11669781: changed the cursor for adding iby_fndcpt_pmt_chnnls_vl
834 /* CURSOR instrument_payment_use_id_csr(
835 p_bank_id iby_pmt_instr_uses_all.instrument_id%TYPE,
836 p_payment_function iby_pmt_instr_uses_all.payment_function%TYPE,
837 p_party_id okc_k_party_roles_b.object1_id1%TYPE,
838 p_cust_acct_id okl_k_headers_full_v.cust_acct_id%TYPE,
839 p_site_use_id hz_cust_site_uses_all.site_use_id%TYPE,
840 p_org_id okl_k_headers_full_v.authoring_org_id%TYPE,
841 p_payment_flow iby_pmt_instr_uses_all.payment_flow%TYPE) IS
842 SELECT instrument_payment_use_id, fpc.payment_channel_code
843 FROM iby_pmt_instr_uses_all ibyinstr, iby_external_payers_all pay,iby_fndcpt_pmt_chnnls_vl fpc
844 WHERE ibyinstr.instrument_id = p_bank_id
845 AND ibyinstr.payment_flow = p_payment_flow
846 AND pay.payment_function = p_payment_function
847 AND ibyinstr.EXT_PMT_PARTY_ID = pay.EXT_PAYER_ID
848 AND pay.party_id = p_party_id
849 AND NVL(pay.org_id,p_org_id) = p_org_id
850 AND pay.cust_account_id = p_cust_acct_id
851 AND NVL(pay.acct_site_use_id,p_site_use_id) = p_site_use_id
852 AND fpc.instrument_type = ibyinstr.instrument_type;*/
853
854 -- bug 11886651
855 CURSOR instrument_payment_use_id_csr(
856 p_bank_id iby_pmt_instr_uses_all.instrument_id%TYPE,
857 p_payment_function iby_pmt_instr_uses_all.payment_function%TYPE,
858 p_party_id okc_k_party_roles_b.object1_id1%TYPE,
859 p_cust_acct_id okl_k_headers_full_v.cust_acct_id%TYPE,
860 p_site_use_id hz_cust_site_uses_all.site_use_id%TYPE,
861 p_org_id okl_k_headers_full_v.authoring_org_id%TYPE
862 -- p_payment_flow iby_pmt_instr_uses_all.payment_flow%TYPE
863 ) IS
864 SELECT instr_assignment_id,
865 fpc.payment_channel_code
866 FROM iby_fndcpt_payer_assgn_instr_v ibyinstr,
867 iby_fndcpt_pmt_chnnls_vl fpc
868 WHERE ibyinstr.instrument_id = p_bank_id
869 AND ibyinstr.payment_function = p_payment_function
870 AND ibyinstr.party_id = p_party_id
871 AND nvl(ibyinstr.org_id, p_org_id) = p_org_id
872 AND ibyinstr.cust_account_id = p_cust_acct_id
873 AND nvl(ibyinstr.acct_site_use_id, p_site_use_id) = p_site_use_id
874 AND nvl(assignment_end_date, sysdate + 10) > sysdate
875 AND fpc.instrument_type = ibyinstr.instrument_type
876 AND fpc.payment_channel_code in ('BANK_ACCT_XFER','CREDIT_CARD');
877
878
879 -- Bug# 11669781: added payment_channel_code
880 l_payment_channel_code iby_fndcpt_pmt_chnnls_vl.payment_channel_code%type;
881
882 CURSOR cust_instr_payment_use_id_csr (
883 p_cust_acct_id okl_k_headers_full_v.cust_acct_id%TYPE,
884 p_site_use_id hz_cust_site_uses_all.site_use_id%TYPE,
885 p_currency_code okl_k_headers_full_v.currency_code%type
886 ) IS
887 Select substrb(min(decode(acct_site_use_id, NULL, '2' || to_char(instr_assignment_id),
888 '1' || to_char(instr_assignment_id))), 2)
889 from IBY_FNDCPT_payer_assgn_instr_v
890 where instrument_type = 'BANKACCOUNT'
891 and cust_account_id = p_cust_acct_id
892 and p_site_use_id = nvl(acct_site_use_id,p_site_use_id)
893 and currency_code = p_currency_code
894 and order_of_preference = (select substrb(min(decode(acct_site_use_id, NULL, '2' || to_char(order_of_preference),
895 '1' || to_char(order_of_preference))), 2) from IBY_FNDCPT_payer_assgn_instr_v
896 where instrument_type = 'BANKACCOUNT'
897 and cust_account_id = p_cust_acct_id
898 and p_site_use_id = nvl(acct_site_use_id,p_site_use_id)
899 and currency_code = p_currency_code
900 and p_trx_date between NVL(assignment_start_date, p_trx_date)
901 and NVL(assignment_end_date, p_trx_date)
902 )
903 and p_trx_date between NVL(assignment_start_date,p_trx_date)
904 and NVL(assignment_end_date,p_trx_date);
905
906 cursor instrument_id_csr (p_instr_payment_use_id iby_pmt_instr_uses_all.instrument_payment_use_id%type)
907 is
908 select instrument_id
909 from iby_pmt_instr_uses_all
910 where instrument_payment_use_id = p_instr_payment_use_id;
911
912 --Get vendor payment method attached in a contract
913 --Bug# 10275519: Modifications to fetch Payment Method
914 -- correctly when there are multiple vendors
915 -- on a contract
916 CURSOR c_ven_payment_method(p_khr_id NUMBER, p_cust_acct_id NUMBER) IS
917 SELECT rul.object1_id1
918 FROM OKC_RULES_B rul,
919 Okc_rule_groups_B rgp,
920 Okc_rg_party_roles rpr,
921 Okc_k_party_roles_b cpl
922 WHERE rul.rgp_id = rgp.id AND
923 rgp.rgd_code = 'LAVENB' AND
924 rul.rule_information_category = 'LAPMTH' AND
925 rgp.dnz_chr_id = p_khr_id AND
926 rpr.dnz_chr_id = rgp.dnz_chr_id AND
927 rpr.rgp_id = rgp.id AND
928 rpr.cpl_id = cpl.id AND
929 cpl.dnz_chr_id = rgp.chr_id AND
930 cpl.chr_id = rgp.chr_id AND
931 cpl.rle_code = 'OKL_VENDOR' AND
932 cpl.cust_acct_id = p_cust_acct_id;
933
934 CURSOR c_rcpt_mthd(p_payment_method_id NUMBER) IS
935 SELECT C.RECEIPT_METHOD_ID
936 FROM RA_CUST_RECEIPT_METHODS C
937 WHERE C.cust_receipt_method_id = p_payment_method_id;
938
939 CURSOR c_receipt_method ( p_rct_method_id NUMBER) IS
940 SELECT C.CREATION_METHOD_CODE, M.PAYMENT_CHANNEL_CODE
941 FROM AR_RECEIPT_METHODS M,
942 AR_RECEIPT_CLASSES C
943 WHERE M.RECEIPT_CLASS_ID = C.RECEIPT_CLASS_ID AND
944 M.receipt_method_id = p_rct_method_id;
945
946 --Get primary active vendor payment method from customer account or from site.
947 CURSOR c_vendor_payment_method(p_cust_acct_id NUMBER, p_site_use_id NUMBER)
948 IS
949 SELECT RM.Payment_channel_code,
950 CRM.CUST_RECEIPT_METHOD_ID,
951 CRM.RECEIPT_METHOD_ID
952 FROM RA_CUST_RECEIPT_METHODS CRM,
953 AR_RECEIPT_METHODS RM
954 WHERE RM.RECEIPT_METHOD_ID = CRM.RECEIPT_METHOD_ID
955 AND customer_id = p_cust_acct_id
956 AND NVL(site_use_id,-101) = NVL(p_site_use_id,-101)
957 AND NVL(CRM.PRIMARY_FLAG,'N') = 'Y'
958 AND NVL(TRUNC(CRM.END_DATE),TRUNC(SYSDATE)) >= TRUNC(SYSDATE);
959
960 CURSOR c_vendor_payment_instrument(p_party_id NUMBER,
961 p_cust_acct_id NUMBER,
962 p_site_use_id NUMBER,
963 p_instrument_type VARCHAR2)
964 IS
965 SELECT *
966 FROM
967 (
968 SELECT * FROM
969 (SELECT PIU.INSTRUMENT_PAYMENT_USE_ID,
970 PIU.PAYMENT_FUNCTION,
971 PIU.ORDER_OF_PREFERENCE,
972 PIU.PAYMENT_FLOW
973 FROM IBY_PMT_INSTR_USES_ALL PIU,
974 IBY_CREDITCARD ccard,
975 iby_external_payers_all pay
976 WHERE ccard.INSTRID = PIU.instrument_id
977 AND PIU.INSTRUMENT_TYPE = p_instrument_type
978 AND sysdate <= NVL(ccard.inactive_date,sysdate)
979 AND PIU.EXT_PMT_PARTY_ID = pay.EXT_PAYER_ID
980 AND PAY.PARTY_ID = p_party_id
981 AND PAY.CUST_ACCOUNT_ID = p_cust_acct_id
982 AND NVL(PAY.ACCT_SITE_USE_ID,-101) = NVL(p_site_use_id,-101)
983 AND PIU.PAYMENT_FUNCTION = 'CUSTOMER_PAYMENT'
984 AND NVL(CCARD.EXPIRED_FLAG,'N') = 'N'
985 UNION
986 SELECT PIU.INSTRUMENT_PAYMENT_USE_ID,
987 PIU.PAYMENT_FUNCTION,
988 PIU.ORDER_OF_PREFERENCE,
989 PIU.PAYMENT_FLOW
990 FROM IBY_PMT_INSTR_USES_ALL PIU,
991 iby_ext_bank_accounts eb,
992 iby_external_payers_all pay
993 WHERE PIU.instrument_id = eb.ext_bank_account_id
994 AND PIU.PAYMENT_FUNCTION = 'CUSTOMER_PAYMENT'
995 AND PIU.INSTRUMENT_TYPE = p_instrument_type
996 AND PIU.EXT_PMT_PARTY_ID = pay.EXT_PAYER_ID
997 AND pay.party_id = p_party_id
998 AND PAY.CUST_ACCOUNT_ID = p_cust_acct_id
999 AND NVL(PAY.ACCT_SITE_USE_ID,-101) = NVL(p_site_use_id,-101)
1000 AND sysdate <= NVL(eb.end_date,sysdate)
1001 ) ORDER BY ORDER_OF_PREFERENCE
1002 )
1003 WHERE ROWNUM = 1;
1004
1005 chr_dtls_rec chr_dtls_csr%ROWTYPE;
1006 instr_type_rec instr_type_csr%ROWTYPE;
1007 l_vendor_bank_rec c_vendor_bank_csr%ROWTYPE;
1008 l_site_use_id HZ_CUST_SITE_USES_ALL.SITE_USE_ID%TYPE;
1009 l_instrument_payment_use_id iby_pmt_instr_uses_all.instrument_payment_use_id%type;
1010 l_instrument_id iby_pmt_instr_uses_all.instrument_id%type;
1011 l_payment_method_id okc_rules_b.object1_id1%type;
1012 l_receipt_method_id RA_CUST_RECEIPT_METHODS.RECEIPT_METHOD_ID%TYPE;
1013 l_creation_method AR_RECEIPT_CLASSES.CREATION_METHOD_CODE%TYPE;
1014 l_vend_pmt_mth_acct_rec c_vendor_payment_method%ROWTYPE;
1015 l_vend_pmt_mth_site_rec c_vendor_payment_method%ROWTYPE;
1016 l_vend_pmt_ins_acct_rec c_vendor_payment_instrument%ROWTYPE;
1017 l_vend_pmt_ins_site_rec c_vendor_payment_instrument%ROWTYPE;
1018 l_vend_acct_pmt_channel_code AR_RECEIPT_METHODS.PAYMENT_CHANNEL_CODE%TYPE DEFAULT NULL;
1019 l_vend_site_pmt_channel_code AR_RECEIPT_METHODS.PAYMENT_CHANNEL_CODE%TYPE DEFAULT NULL;
1020 l_instrument_type IBY_PMT_INSTR_USES_ALL.INSTRUMENT_TYPE%TYPE DEFAULT NULL;
1021 l_vend_payment_channel_code AR_RECEIPT_METHODS.PAYMENT_CHANNEL_CODE%TYPE DEFAULT NULL;
1022
1023 l_vend_pmt_mth_acct_found BOOLEAN := FALSE;
1024 l_vend_pmt_mth_site_found BOOLEAN := FALSE;
1025 l_vend_pmt_ins_acct_found BOOLEAN := FALSE;
1026 l_vend_pmt_ins_site_found BOOLEAN := FALSE;
1027 l_vendor_bank_rec_found BOOLEAN := FALSE;
1028
1029 l_return_status VARCHAR2(1);
1030 l_msg_count NUMBER;
1031 l_msg_data VARCHAR2(32767);
1032
1033 l_payer IBY_FNDCPT_COMMON_PUB.payercontext_rec_type;
1034 l_payer_equivalency VARCHAR2(500);
1035 l_pmt_channel IBY_FNDCPT_PMT_CHNNLS_VL.payment_channel_code%TYPE;
1036 l_trxn_attribs IBY_FNDCPT_TRXN_PUB.trxnextension_rec_type;
1037 l_entity_id NUMBER;
1038 l_response IBY_FNDCPT_COMMON_PUB.result_rec_type;
1039 l_true VARCHAR2(1) := 'T';
1040 l_cust_acct_id hz_cust_accounts.cust_account_id%TYPE;
1041 l_party_id hz_parties.party_id%type;
1042
1043 BEGIN
1044 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1045 x_receipt_method_id := p_receipt_method_id;
1046 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1047 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','p_api_version:'||p_api_version);
1048 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','p_init_msg_list:'||p_init_msg_list);
1049 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','p_khr_id:'||p_khr_id);
1050 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','p_customer_address_id:'||p_customer_address_id);
1051 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','p_bank_id:'||p_bank_id);
1052 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','p_trx_date:'||p_trx_date);
1053 END IF;
1054
1055 -- Fetch contract details
1056 OPEN chr_dtls_csr (cp_khr_id => p_khr_id);
1057 FETCH chr_dtls_csr INTO chr_dtls_rec;
1058 CLOSE chr_dtls_csr;
1059
1060 --Get site use id based on cust account site id
1061 OPEN cust_site_use_id_csr (p_customer_address_id);
1062 FETCH cust_site_use_id_csr INTO l_site_use_id;
1063 CLOSE cust_site_use_id_csr;
1064
1065 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1066 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_site_use_id:'||l_site_use_id);
1067 END IF;
1068
1069 --Get cust account id and party id based on cust account site id
1070 OPEN c_get_account_details(p_customer_address_id);
1071 FETCH c_get_account_details INTO l_cust_acct_id,l_party_id;
1072 CLOSE c_get_account_details;
1073
1074 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1075 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_cust_acct_id:'||l_cust_acct_id);
1076 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_party_id:'||l_party_id);
1077 END IF;
1078
1079 --Populate payer information record
1080 l_payer.party_id := l_party_id;
1081 l_payer.org_type := 'OPERATING_UNIT';
1082 l_payer.org_id := chr_dtls_rec.org_id;
1083 l_payer.cust_account_id := l_cust_acct_id;
1084 l_payer.account_site_id := l_site_use_id;
1085
1086 --Get primary payment method at vendor account level
1087 OPEN c_vendor_payment_method(l_cust_acct_id,NULL);
1088 FETCH c_vendor_payment_method INTO l_vend_pmt_mth_acct_rec;
1089 l_vend_pmt_mth_acct_found := c_vendor_payment_method%FOUND;
1090 CLOSE c_vendor_payment_method;
1091
1092 --Get highest ordered instrument number for above payment method
1093 --at vendor account level
1094 IF l_vend_pmt_mth_acct_found THEN
1095 l_vend_acct_pmt_channel_code := l_vend_pmt_mth_acct_rec.PAYMENT_CHANNEL_CODE;
1096
1097 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1098 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_acct_pmt_channel_code:'||l_vend_acct_pmt_channel_code);
1099 END IF;
1100
1101 IF l_vend_acct_pmt_channel_code = 'BANK_ACCT_XFER' THEN
1102 l_instrument_type := 'BANKACCOUNT';
1103 ELSIF l_vend_acct_pmt_channel_code = 'CREDIT_CARD' THEN
1104 l_instrument_type := 'CREDITCARD';
1105 END IF;
1106 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1107 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_instrument_type:'||l_instrument_type);
1108 END IF;
1109
1110 IF l_instrument_type IS NOT NULL THEN
1111 OPEN c_vendor_payment_instrument(l_party_id, l_cust_acct_id, NULL, l_instrument_type);
1112 FETCH c_vendor_payment_instrument INTO l_vend_pmt_ins_acct_rec;
1113 l_vend_pmt_ins_acct_found := c_vendor_payment_instrument%FOUND;
1114 CLOSE c_vendor_payment_instrument;
1115 END IF;
1116 END IF;
1117
1118 --Get primary payment method at vendor account site level
1119 OPEN c_vendor_payment_method(l_cust_acct_id,l_site_use_id);
1120 FETCH c_vendor_payment_method INTO l_vend_pmt_mth_site_rec;
1121 l_vend_pmt_mth_site_found := c_vendor_payment_method%FOUND;
1122 CLOSE c_vendor_payment_method;
1123
1124 --Get highest ordered instrument number for above payment method
1125 --at vendor account site level
1126 l_instrument_type := NULL;
1127 IF l_vend_pmt_mth_site_found THEN
1128 l_vend_site_pmt_channel_code := l_vend_pmt_mth_site_rec.PAYMENT_CHANNEL_CODE;
1129
1130 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1131 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_site_pmt_channel_code 1:'||l_vend_site_pmt_channel_code);
1132 END IF;
1133
1134 IF l_vend_site_pmt_channel_code = 'BANK_ACCT_XFER' THEN
1135 l_instrument_type := 'BANKACCOUNT';
1136 ELSIF l_vend_site_pmt_channel_code = 'CREDIT_CARD' THEN
1137 l_instrument_type := 'CREDITCARD';
1138 END IF;
1139
1140 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1141 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_instrument_type 1:'||l_instrument_type);
1142 END IF;
1143
1144 IF l_instrument_type IS NOT NULL THEN
1145 OPEN c_vendor_payment_instrument(l_party_id, l_cust_acct_id, l_site_use_id, l_instrument_type);
1146 FETCH c_vendor_payment_instrument INTO l_vend_pmt_ins_site_rec;
1147 l_vend_pmt_ins_site_found := c_vendor_payment_instrument%FOUND;
1148 CLOSE c_vendor_payment_instrument;
1149 END IF;
1150 END IF;
1151
1152 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1153 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_bank_id:'||l_bank_id);
1154 END IF;
1155
1156 IF l_bank_id IS NULL THEN
1157 --Get bank account associated to vendor or vendor account site
1158 --or vendor account. And if not available, throw an error.
1159
1160 --First get payment method, if any, associated to vendor party details
1161 --in contract
1162 --Bug# 10275519
1163 OPEN c_ven_payment_method(p_khr_id, l_cust_acct_id);
1164 FETCH c_ven_payment_method INTO l_payment_method_id;
1165 CLOSE c_ven_payment_method;
1166
1167 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1168 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_bank_id IS NULL');
1169 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_payment_method_id:'||l_payment_method_id);
1170 END IF;
1171
1172 IF l_payment_method_id IS NOT NULL
1173 THEN
1174 --Get creation code from below 2 cursors
1175 OPEN c_rcpt_mthd(l_payment_method_id);
1176 FETCH c_rcpt_mthd INTO l_receipt_method_id;
1177 CLOSE c_rcpt_mthd;
1178
1179 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1180 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_payment_method_id IS NOT NULL');
1181 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_receipt_method_id:'||l_receipt_method_id);
1182 END IF;
1183
1184 OPEN c_receipt_method(l_receipt_method_id);
1185 FETCH c_receipt_method INTO l_creation_method, l_vend_payment_channel_code ;
1186 CLOSE c_receipt_method;
1187
1188 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1189 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_creation_method:'||l_creation_method);
1190 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_payment_channel_code:'||l_vend_payment_channel_code);
1191 END IF;
1192
1193 --Get instrument ID
1194 --Bug# 10275519
1195 OPEN c_vendor_bank_csr(p_khr_id, l_cust_acct_id);
1196 FETCH c_vendor_bank_csr INTO l_vendor_bank_rec;
1197 l_vendor_bank_rec_found := c_vendor_bank_csr%FOUND;
1198 CLOSE c_vendor_bank_csr;
1199 END IF;
1200 END IF;
1201
1202 IF l_bank_id IS NOT NULL THEN
1203 -- Bug# 11669781: Commented out instr_type_csr
1204 -- OPEN instr_type_csr(l_bank_id);
1205 -- FETCH instr_type_csr INTO instr_type_rec;
1206 -- CLOSE instr_type_csr;
1207
1208 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1209 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_bank_id IS NOT NULL');
1210 -- fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','instr_type_rec.payment_function:'||instr_type_rec.payment_function);
1211 -- fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','instr_type_rec.payment_flow:'||instr_type_rec.payment_flow);
1212 -- fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','instr_type_rec.payment_channel_code:'||instr_type_rec.payment_channel_code);
1213 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','chr_dtls_rec.org_id:'||chr_dtls_rec.org_id);
1214 END IF;
1215 -- bug 11886651
1216 /* OPEN instrument_payment_use_id_csr(l_bank_id,'CUSTOMER_PAYMENT',l_party_id,
1217 l_cust_acct_id,l_site_use_id,
1218 chr_dtls_rec.org_id, 'FUNDS_CAPTURE');*/
1219 OPEN instrument_payment_use_id_csr(l_bank_id,'CUSTOMER_PAYMENT',l_party_id,
1220 l_cust_acct_id,l_site_use_id,
1221 chr_dtls_rec.org_id);
1222 FETCH instrument_payment_use_id_csr INTO l_instrument_payment_use_id, l_payment_channel_code; -- Bug# 11669781: Added l_payment_channel_code
1223 CLOSE instrument_payment_use_id_csr;
1224
1225 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1226 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_instrument_payment_use_id:'||l_instrument_payment_use_id);
1227 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_payment_channel_code:'||l_payment_channel_code);
1228 END IF;
1229
1230 l_payer.payment_function := 'CUSTOMER_PAYMENT'; -- Bug# 11669781
1231 l_pmt_channel := l_payment_channel_code; --Bug# 11669781
1232 ELSIF l_vendor_bank_rec_found THEN
1233 l_instrument_payment_use_id := l_vendor_bank_rec.object1_id1;
1234
1235 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1236 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vendor_bank_rec_found');
1237 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_instrument_payment_use_id:'||l_instrument_payment_use_id);
1238 END IF;
1239
1240 IF l_instrument_payment_use_id IS NULL THEN
1241 -- Write Contract Number in the log so that user can identify
1242 --for which contract it is failing
1243 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Contract Number :'||chr_dtls_rec.contract_number);
1244 fnd_message.set_name('AR', 'AR_RAXTRX-1763');
1245 fnd_msg_pub.add;
1246 RAISE FND_API.G_EXC_ERROR;
1247 END IF;
1248 OPEN instrument_id_csr(l_instrument_payment_use_id);
1249 FETCH instrument_id_csr INTO l_instrument_id;
1250 CLOSE instrument_id_csr;
1251
1252 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1253 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_instrument_id:'||l_instrument_id);
1254 END IF;
1255
1256 -- Bug# 11669781: Commented out instr_type_csr
1257 --OPEN instr_type_csr(l_instrument_id);
1258 --FETCH instr_type_csr INTO instr_type_rec;
1259 --CLOSE instr_type_csr;
1260 -- bug 11886651
1261 /* OPEN instrument_payment_use_id_csr(l_instrument_id,'CUSTOMER_PAYMENT',l_party_id,
1262 l_cust_acct_id,l_site_use_id,
1263 chr_dtls_rec.org_id, 'FUNDS_CAPTURE');*/
1264 OPEN instrument_payment_use_id_csr(l_instrument_id,'CUSTOMER_PAYMENT',l_party_id,
1265 l_cust_acct_id,l_site_use_id,
1266 chr_dtls_rec.org_id);
1267
1268 FETCH instrument_payment_use_id_csr INTO l_instrument_payment_use_id, l_payment_channel_code;
1269 CLOSE instrument_payment_use_id_csr;
1270
1271 l_payer.payment_function := 'CUSTOMER_PAYMENT'; -- Bug# 11669781
1272 l_pmt_channel := l_payment_channel_code; --Bug# 11669781
1273
1274 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1275 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_payer.payment_function:'||l_payer.payment_function);
1276 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_pmt_channel:'||l_payment_channel_code);
1277 END IF;
1278
1279 ELSE --In all other cases, get bank account details defined at account/site level
1280 --If payment method defined in parties tab but not payment instrument
1281 IF l_vend_payment_channel_code IS NOT NULL THEN
1282 --Get instrument for payment channel code derived from
1283 --payment method defined in parties tab
1284
1285 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1286 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','ELSE IF l_vend_payment_channel_code IS NOT NULL');
1287 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_payment_channel_code:'||l_vend_payment_channel_code);
1288 END IF;
1289
1290 l_instrument_type := NULL;
1291 IF l_vend_payment_channel_code = 'BANK_ACCT_XFER' THEN
1292 l_instrument_type := 'BANKACCOUNT';
1293 ELSIF l_vend_payment_channel_code = 'CREDIT_CARD' THEN
1294 l_instrument_type := 'CREDITCARD';
1295 END IF;
1296
1297 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1298 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_instrument_type:'||l_instrument_type);
1299 END IF;
1300
1301 IF l_instrument_type IS NOT NULL THEN
1302 --Get it from site level
1303 OPEN c_vendor_payment_instrument(l_party_id, l_cust_acct_id, l_site_use_id, l_instrument_type);
1304 FETCH c_vendor_payment_instrument INTO l_vend_pmt_ins_site_rec;
1305 l_vend_pmt_ins_site_found := c_vendor_payment_instrument%FOUND;
1306 CLOSE c_vendor_payment_instrument;
1307
1308 --Get it from account level
1309 OPEN c_vendor_payment_instrument(l_party_id, l_cust_acct_id, NULL, l_instrument_type);
1310 FETCH c_vendor_payment_instrument INTO l_vend_pmt_ins_acct_rec;
1311 l_vend_pmt_ins_acct_found := c_vendor_payment_instrument%FOUND;
1312 CLOSE c_vendor_payment_instrument;
1313 END IF;
1314
1315 --Now we got instrument from site and account level both for a payment channel
1316 --derived from payment method defined in parties tab.
1317 l_pmt_channel := l_vend_payment_channel_code;
1318 IF l_vend_pmt_ins_site_found THEN
1319 l_payer.payment_function := l_vend_pmt_ins_site_rec.payment_function;
1320 l_instrument_payment_use_id := l_vend_pmt_ins_site_rec.INSTRUMENT_PAYMENT_USE_ID;
1321
1322 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1323 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_site_rec.payment_function:'||l_vend_pmt_ins_site_rec.payment_function);
1324 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_site_rec.INSTRUMENT_PAYMENT_USE_ID:'||l_vend_pmt_ins_site_rec.INSTRUMENT_PAYMENT_USE_ID);
1325 END IF;
1326
1327 ELSIF l_vend_pmt_ins_acct_found THEN
1328 l_payer.payment_function := l_vend_pmt_ins_acct_rec.payment_function;
1329 l_instrument_payment_use_id := l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID;
1330
1331 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1332 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_acct_rec.payment_function:'||l_vend_pmt_ins_acct_rec.payment_function);
1333 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID:'||l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID);
1334 END IF;
1335
1336 ELSE
1337 -- Write Contract Number in the log so that user can identify
1338 --for which contract it is failing
1339 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Contract Number :'||chr_dtls_rec.contract_number);
1340 fnd_message.set_name('AR', 'AR_RAXTRX-1763');
1341 fnd_msg_pub.add;
1342 RAISE FND_API.G_EXC_ERROR;
1343 END IF;
1344 --Else payment method is not defined in parties tab
1345 --Hence derive from vendor account or site level
1346 ELSE
1347 IF l_vend_pmt_mth_site_found THEN
1348 IF l_vend_pmt_ins_site_found THEN
1349 l_payer.payment_function := l_vend_pmt_ins_site_rec.payment_function;
1350 l_pmt_channel := l_vend_site_pmt_channel_code;
1351 l_instrument_payment_use_id := l_vend_pmt_ins_site_rec.INSTRUMENT_PAYMENT_USE_ID;
1352 x_receipt_method_id := l_vend_pmt_mth_site_rec.RECEIPT_METHOD_ID;
1353
1354 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1355 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','ELSE l_vend_pmt_mth_site_found and l_vend_pmt_ins_site_found');
1356 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_site_rec.payment_function:'||l_vend_pmt_ins_site_rec.payment_function);
1357 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_site_rec.INSTRUMENT_PAYMENT_USE_ID:'||l_vend_pmt_ins_site_rec.INSTRUMENT_PAYMENT_USE_ID);
1358 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_mth_site_rec.RECEIPT_METHOD_ID:'||l_vend_pmt_mth_site_rec.RECEIPT_METHOD_ID);
1359 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_site_pmt_channel_code:'||l_vend_site_pmt_channel_code);
1360 END IF;
1361
1362 ELSIF l_vend_pmt_ins_acct_found THEN
1363 l_payer.payment_function := l_vend_pmt_ins_acct_rec.payment_function;
1364 l_pmt_channel := l_vend_acct_pmt_channel_code;
1365 l_instrument_payment_use_id := l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID;
1366 x_receipt_method_id := l_vend_pmt_mth_acct_rec.RECEIPT_METHOD_ID;
1367
1368 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1369 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','ELSE l_vend_pmt_mth_site_found and l_vend_pmt_ins_acct_found');
1370 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_acct_rec.payment_function:'||l_vend_pmt_ins_acct_rec.payment_function);
1371 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID:'||l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID);
1372 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_mth_acct_rec.RECEIPT_METHOD_ID:'||l_vend_pmt_mth_acct_rec.RECEIPT_METHOD_ID);
1373 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_acct_pmt_channel_code:'||l_vend_acct_pmt_channel_code);
1374 END IF;
1375
1376 END IF;
1377 ELSIF l_vend_pmt_mth_acct_found THEN
1378 IF l_vend_pmt_ins_acct_found THEN
1379 l_payer.payment_function := l_vend_pmt_ins_acct_rec.payment_function;
1380 l_pmt_channel := l_vend_acct_pmt_channel_code;
1381 l_instrument_payment_use_id := l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID;
1382 x_receipt_method_id := l_vend_pmt_mth_acct_rec.RECEIPT_METHOD_ID;
1383
1384 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1385 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','ELSIF l_vend_pmt_mth_acct_found');
1386 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_acct_rec.payment_function:'||l_vend_pmt_ins_acct_rec.payment_function);
1387 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID:'||l_vend_pmt_ins_acct_rec.INSTRUMENT_PAYMENT_USE_ID);
1388 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_pmt_mth_acct_rec.RECEIPT_METHOD_ID:'||l_vend_pmt_mth_acct_rec.RECEIPT_METHOD_ID);
1389 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_vend_acct_pmt_channel_code:'||l_vend_acct_pmt_channel_code);
1390 END IF;
1391
1392 END IF;
1393 END IF;
1394 IF l_instrument_payment_use_id IS NULL THEN
1395 -- Write Contract Number in the log so that user can identify
1396 --for which contract it is failing
1397 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Contract Number :'||chr_dtls_rec.contract_number);
1398 fnd_message.set_name('AR', 'AR_RAXTRX-1763');
1399 fnd_msg_pub.add;
1400 RAISE FND_API.G_EXC_ERROR;
1401 END IF;
1402 END IF;
1403 END IF;
1404
1405 l_payer_equivalency := NULL;
1406 l_trxn_attribs.originating_application_id := chr_dtls_rec.app_id;
1407 l_trxn_attribs.order_id := chr_dtls_rec.contract_number;
1408 l_trxn_attribs.po_number := NULL;
1409 l_trxn_attribs.po_line_number := NULL;
1410 l_trxn_attribs.trxn_ref_number1 := NULL;
1411 l_trxn_attribs.trxn_ref_number2 := NULL;
1412 l_trxn_attribs.instrument_security_code := NULL;
1413 l_trxn_attribs.voiceauth_flag := NULL;
1414 l_trxn_attribs.voiceauth_code := NULL;
1415 l_trxn_attribs.voiceauth_date := NULL;
1416 l_trxn_attribs.additional_info := NULL;
1417
1418 IF (l_payer_equivalency IS NULL)
1419 THEN
1420 l_payer_equivalency := 'UPWARD';
1421 END IF;
1422
1423 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1424 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','Before call to IBY_FNDCPT_TRXN_PUB.CREATE_TRANSACTION_EXTENSION');
1425 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_instrument_payment_use_id:'||l_instrument_payment_use_id);
1426 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_pmt_channel:'||l_pmt_channel);
1427 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','l_payer.payment_function:'||l_payer.payment_function);
1428 END IF;
1429
1430 -- Call to insert the transaction extension through Payments PL/SQL API
1431 IBY_FNDCPT_TRXN_PUB.CREATE_TRANSACTION_EXTENSION(
1432 p_api_version => p_api_version,
1433 p_init_msg_list => p_init_msg_list,
1434 p_commit => l_true,
1435 x_return_status => x_return_status,
1436 x_msg_count => x_msg_count,
1437 x_msg_data => x_msg_data,
1438 p_payer => l_payer,
1439 p_payer_equivalency => l_payer_equivalency,
1440 p_pmt_channel => l_pmt_channel,
1441 p_instr_assignment => l_instrument_payment_use_id, --sosharma bug 6608452
1442 p_trxn_attribs => l_trxn_attribs,
1443 x_entity_id => l_entity_id,
1444 x_response => l_response);
1445
1446 IF (x_return_status = 'S') THEN
1447 okl_debug_pub.logmessage('AUTOINVOICE:Transaction Extension Id: '|| l_entity_id);
1448 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1449 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_entity_id:'||l_entity_id);
1450 END IF;
1451 x_payment_trxn_extension_id := l_entity_id;
1452 ELSE
1453 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1454 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1455 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1456 RAISE FND_API.G_EXC_ERROR;
1457 END IF;
1458 END IF;
1459
1460 x_customer_bank_account_id := null;
1461 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1462 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','x_payment_trxn_extension_id:'||x_payment_trxn_extension_id);
1463 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_vendor_auto_bank_dtls.debug','x_customer_bank_account_id:'||x_customer_bank_account_id);
1464 END IF;
1465
1466 EXCEPTION
1467 WHEN FND_API.G_EXC_ERROR THEN
1468 x_return_status := OKL_API.G_RET_STS_ERROR;
1469 FND_MSG_PUB.Count_And_Get
1470 (p_count => x_msg_count,
1471 p_data => x_msg_data);
1472
1473 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1474 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1475 FND_MSG_PUB.Count_And_Get
1476 (p_count => x_msg_count,
1477 p_data => x_msg_data);
1478
1479 WHEN OTHERS THEN
1480 x_return_status := Okl_Api.G_RET_STS_ERROR;
1481 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
1482 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE, SQLERRM);
1483 END IF;
1484 END get_vendor_auto_bank_dtls;
1485
1486 ---------------------------------------------------------------------------
1487 -- PROCEDURE get_auto_bank_dtls
1488 ----------------------------------------------------------------------------------
1489 -- Start of comments
1490 --
1491 -- Procedure Name : get_auto_bank_dtls
1492 -- Description : Moved the code to derive the Payment Transaction Extension ID
1493 -- into a separate procedure
1494 -- Business Rules : Derives the Payment Transaction Extension ID from IBY
1495 -- Parameters :
1496 --
1497 -- Version : 1.0
1498 -- HISTORY: : schodava 25-Feb-08 created
1499 -- End of comments
1500 ----------------------------------------------------------------------------------
1501 PROCEDURE get_auto_bank_dtls
1502 ( p_api_version IN NUMBER,
1503 p_init_msg_list IN VARCHAR2,
1504 p_khr_id IN NUMBER,
1505 p_customer_address_id IN NUMBER,
1506 p_bank_id IN VARCHAR2,
1507 p_trx_date IN DATE,
1508 x_payment_trxn_extension_id OUT NOCOPY NUMBER,
1509 x_customer_bank_account_id OUT NOCOPY NUMBER,
1510 x_return_status OUT NOCOPY VARCHAR2,
1511 x_msg_count OUT NOCOPY NUMBER,
1512 x_msg_data OUT NOCOPY VARCHAR2
1513
1514 ) IS
1515 -- BANK-ACCOUNT-UPTAKE-START
1516 l_bank_id okc_rules_b.object1_id1%TYPE := NULL;
1517 l_return_status VARCHAR2(1);
1518 l_msg_count NUMBER;
1519 l_msg_data VARCHAR2(32767);
1520
1521 l_payer IBY_FNDCPT_COMMON_PUB.payercontext_rec_type;
1522 l_payer_equivalency VARCHAR2(500);
1523 l_pmt_channel IBY_FNDCPT_PMT_CHNNLS_VL.payment_channel_code%TYPE;
1524 l_trxn_attribs IBY_FNDCPT_TRXN_PUB.trxnextension_rec_type;
1525 l_entity_id NUMBER;
1526 l_response IBY_FNDCPT_COMMON_PUB.result_rec_type;
1527 -- This values based on global variables from FND_API G_TRUE and G_FALSE;
1528 l_true VARCHAR2(1) := 'T';
1529 l_cust_acct_id hz_cust_accounts.cust_account_id%TYPE;
1530 l_party_id hz_parties.party_id%type;
1531
1532 CURSOR instr_type_csr(p_instr_use_id NUMBER)
1533 IS
1534 SELECT ipiu.payment_function
1535 , fpc.payment_channel_code
1536 , ipiu.payment_flow
1537 FROM iby_pmt_instr_uses_all ipiu
1538 , iby_fndcpt_pmt_chnnls_vl fpc
1539 WHERE instrument_id = p_instr_use_id
1540 AND fpc.instrument_type = ipiu.instrument_type;
1541
1542 instr_type_rec instr_type_csr%ROWTYPE;
1543
1544 CURSOR chr_dtls_csr (cp_khr_id IN NUMBER)
1545 IS
1546 SELECT cpr.object1_id1 party_id
1547 , khr.authoring_org_id org_id
1548 , khr.cust_acct_id
1549 , khr.contract_number
1550 , khr.application_id app_id
1551 , khr.BILL_TO_SITE_USE_ID
1552 , khr.CURRENCY_CODE
1553 FROM OKL_K_HEADERS_FULL_V khr
1554 , OKC_K_PARTY_ROLES_B CPR
1555 WHERE khr.ID = cpr.chr_id
1556 AND cpr.rle_code = 'LESSEE'
1557 AND khr.ID = cp_khr_id;
1558 chr_dtls_rec chr_dtls_csr%ROWTYPE;
1559
1560 -- Fetch the Contract Level Bank Id
1561 CURSOR cust_bank_csr ( cp_khr_id NUMBER ) IS
1562 SELECT object1_id1
1563 FROM OKC_RULES_B rul,
1564 Okc_rule_groups_B rgp
1565 WHERE rul.rgp_id = rgp.id AND
1566 rgp.rgd_code = 'LABILL' AND
1567 rgp.dnz_chr_id = rgp.chr_id AND
1568 rul.rule_information_category = 'LABACC' AND
1569 rgp.dnz_chr_id = cp_khr_id;
1570 cust_bank_rec cust_bank_csr%ROWTYPE;
1571
1572
1573 -- BANK-ACCOUNT-UPTAKE-END
1574 -- gboomina modified for bug 6832065 - Start
1575 -- Cursor to get site use id
1576 CURSOR cust_site_use_id_csr (cp_customer_address_id NUMBER) IS
1577 Select site_use_id
1578 from HZ_CUST_SITE_USES
1579 where cust_acct_site_id=cp_customer_address_id
1580 and site_use_code = 'BILL_TO';
1581 l_site_use_id HZ_CUST_SITE_USES_ALL.SITE_USE_ID%TYPE;
1582 -- gboomina modified for bug 6832065 - End
1583
1584 CURSOR c_get_account_details (cp_customer_address_id NUMBER)IS
1585 select a.cust_account_id, a.party_id
1586 from hz_cust_acct_sites_all s,
1587 hz_cust_accounts a
1588 where s.cust_acct_site_id = cp_customer_address_id
1589 AND s.cust_account_id = a.cust_account_id;
1590
1591
1592 --sosharma bug 6608452
1593
1594 -- sosharma 10167846 changed the cursor for adding iby_fndcpt_pmt_chnnls_vl
1595 --instrument_payment_use_id to be passed to IBY Bug 7162253
1596 /* CURSOR instrument_payment_use_id_csr(
1597 p_payment_function iby_pmt_instr_uses_all.payment_function%TYPE,
1598 p_party_id okc_k_party_roles_b.object1_id1%TYPE,
1599 p_cust_acct_id okl_k_headers_full_v.cust_acct_id%TYPE,
1600 p_site_use_id hz_cust_site_uses_all.site_use_id%TYPE,
1601 p_org_id okl_k_headers_full_v.authoring_org_id%TYPE,
1602 p_payment_flow iby_pmt_instr_uses_all.payment_flow%TYPE) IS
1603 SELECT instrument_payment_use_id,fpc.payment_channel_code
1604 FROM iby_pmt_instr_uses_all ibyinstr, iby_external_payers_all pay,iby_fndcpt_pmt_chnnls_vl fpc
1605 WHERE ibyinstr.instrument_id = p_bank_id
1606 AND ibyinstr.payment_flow = p_payment_flow
1607 AND pay.payment_function = p_payment_function
1608 AND ibyinstr.EXT_PMT_PARTY_ID = pay.EXT_PAYER_ID
1609 AND pay.party_id = p_party_id
1610 AND NVL(pay.org_id,p_org_id) = p_org_id
1611 AND pay.cust_account_id = p_cust_acct_id
1612 AND NVL(pay.acct_site_use_id,p_site_use_id) = p_site_use_id
1613 AND fpc.instrument_type = ibyinstr.instrument_type;*/
1614
1615 -- bug 11886651
1616 CURSOR instrument_payment_use_id_csr(
1617 p_payment_function iby_pmt_instr_uses_all.payment_function%TYPE,
1618 p_party_id okc_k_party_roles_b.object1_id1%TYPE,
1619 p_cust_acct_id okl_k_headers_full_v.cust_acct_id%TYPE,
1620 p_site_use_id hz_cust_site_uses_all.site_use_id%TYPE,
1621 p_org_id okl_k_headers_full_v.authoring_org_id%TYPE
1622 -- p_payment_flow iby_pmt_instr_uses_all.payment_flow%TYPE
1623 ) IS
1624 SELECT instr_assignment_id,
1625 fpc.payment_channel_code
1626 FROM iby_fndcpt_payer_assgn_instr_v ibyinstr,
1627 iby_fndcpt_pmt_chnnls_vl fpc
1628 WHERE ibyinstr.instrument_id = p_bank_id
1629 AND ibyinstr.payment_function = p_payment_function
1630 AND ibyinstr.party_id = p_party_id
1631 AND nvl(ibyinstr.org_id, p_org_id) = p_org_id
1632 AND ibyinstr.cust_account_id = p_cust_acct_id
1633 AND nvl(ibyinstr.acct_site_use_id, p_site_use_id) = p_site_use_id
1634 AND nvl(assignment_end_date, sysdate + 10) > sysdate
1635 AND fpc.instrument_type = ibyinstr.instrument_type
1636 AND fpc.payment_channel_code in ('BANK_ACCT_XFER','CREDIT_CARD');
1637
1638
1639 l_instrument_payment_use_id iby_pmt_instr_uses_all.instrument_payment_use_id%type;
1640 -- sosharma 10167846 added payment_channel_code
1641 payment_channel_code iby_fndcpt_pmt_chnnls_vl.payment_channel_code%type;
1642
1643 CURSOR cust_instr_payment_use_id_csr (
1644 p_cust_acct_id okl_k_headers_full_v.cust_acct_id%TYPE,
1645 p_site_use_id hz_cust_site_uses_all.site_use_id%TYPE,
1646 p_currency_code okl_k_headers_full_v.currency_code%type
1647 ) IS
1648 Select substrb(min(decode(acct_site_use_id, NULL, '2' || to_char(instr_assignment_id),
1649 '1' || to_char(instr_assignment_id))), 2)
1650 from IBY_FNDCPT_payer_assgn_instr_v
1651 where instrument_type = 'BANKACCOUNT'
1652 and cust_account_id = p_cust_acct_id
1653 and p_site_use_id = nvl(acct_site_use_id,p_site_use_id)
1654 and currency_code = p_currency_code
1655 and order_of_preference = (select substrb(min(decode(acct_site_use_id, NULL, '2' || to_char(order_of_preference),
1656 '1' || to_char(order_of_preference))), 2) from IBY_FNDCPT_payer_assgn_instr_v
1657 where instrument_type = 'BANKACCOUNT'
1658 and cust_account_id = p_cust_acct_id
1659 and p_site_use_id = nvl(acct_site_use_id,p_site_use_id)
1660 and currency_code = p_currency_code
1661 and p_trx_date between NVL(assignment_start_date, p_trx_date)
1662 and NVL(assignment_end_date, p_trx_date)
1663 )
1664 and p_trx_date between NVL(assignment_start_date,p_trx_date)
1665 and NVL(assignment_end_date,p_trx_date);
1666
1667 cursor instrument_id_csr (p_instr_payment_use_id iby_pmt_instr_uses_all.instrument_payment_use_id%type)
1668 is
1669 select instrument_id
1670 from iby_pmt_instr_uses_all
1671 where instrument_payment_use_id = p_instr_payment_use_id;
1672
1673 l_instrument_id iby_pmt_instr_uses_all.instrument_id%type;
1674
1675 BEGIN
1676
1677 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1678
1679 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1680 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','p_api_version:'||p_api_version);
1681 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','p_init_msg_list:'||p_init_msg_list);
1682 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','p_khr_id:'||p_khr_id);
1683 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','p_customer_address_id:'||p_customer_address_id);
1684 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','p_bank_id:'||p_bank_id);
1685 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','p_trx_date:'||p_trx_date);
1686 END IF;
1687
1688 -- Fetch contract details
1689 OPEN chr_dtls_csr (cp_khr_id => p_khr_id);
1690 FETCH chr_dtls_csr INTO chr_dtls_rec;
1691 CLOSE chr_dtls_csr;
1692
1693 OPEN cust_site_use_id_csr (p_customer_address_id);
1694 FETCH cust_site_use_id_csr INTO l_site_use_id;
1695 CLOSE cust_site_use_id_csr;
1696
1697 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1698 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_site_use_id:'||l_site_use_id);
1699 END IF;
1700
1701 OPEN c_get_account_details(p_customer_address_id);
1702 FETCH c_get_account_details INTO l_cust_acct_id,l_party_id;
1703 CLOSE c_get_account_details;
1704
1705 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1706 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_cust_acct_id:'||l_cust_acct_id);
1707 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_party_id:'||l_party_id);
1708 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','chr_dtls_rec.party_id:'||chr_dtls_rec.party_id);
1709 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','chr_dtls_rec.cust_Acct_id:'||chr_dtls_rec.cust_Acct_id);
1710 END IF;
1711
1712 l_party_id := NVL(l_party_id, chr_dtls_rec.party_id);
1713 l_cust_acct_id := NVL(l_cust_acct_id, chr_dtls_rec.cust_Acct_id);
1714
1715 l_payer.party_id := l_party_id;
1716 l_payer.org_type := 'OPERATING_UNIT';
1717 l_payer.org_id := chr_dtls_rec.org_id;
1718 l_payer.cust_account_id := l_cust_acct_id;
1719 l_payer.account_site_id := l_site_use_id;
1720
1721 l_bank_id := p_bank_id;
1722
1723 -- gboomina added for bug 7513216 - start
1724 -- If Bank account is not passed from contract, get the bank account
1725 -- defined at AR Customer setup
1726 IF l_bank_id IS NOT NULL THEN
1727 -- sosharma 10167846 changes added payment_channel_code
1728 -- OPEN instr_type_csr(l_bank_id);
1729 -- FETCH instr_type_csr INTO instr_type_rec;
1730 -- CLOSE instr_type_csr;
1731
1732 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1733 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_bank_id IS NOT NULL');
1734 -- fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','instr_type_rec.payment_function:'||instr_type_rec.payment_function);
1735 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','chr_dtls_rec.org_id:'||chr_dtls_rec.org_id);
1736 -- fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','instr_type_rec.payment_flow:'||instr_type_rec.payment_flow);
1737 END IF;
1738 -- bug 11886651
1739 /* OPEN instrument_payment_use_id_csr('CUSTOMER_PAYMENT',l_party_id,
1740 l_cust_acct_id,l_site_use_id,
1741 chr_dtls_rec.org_id, 'FUNDS_CAPTURE');*/
1742 OPEN instrument_payment_use_id_csr('CUSTOMER_PAYMENT',l_party_id,
1743 l_cust_acct_id,l_site_use_id,
1744 chr_dtls_rec.org_id);
1745 FETCH instrument_payment_use_id_csr INTO l_instrument_payment_use_id,payment_channel_code;-- sosharma 10167846 changes added payment_channel_code
1746 CLOSE instrument_payment_use_id_csr;
1747
1748 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1749 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_instrument_payment_use_id:'||l_instrument_payment_use_id);
1750 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','payment_channel_code:'||payment_channel_code);
1751 END IF;
1752
1753 ELSE
1754 OPEN cust_instr_payment_use_id_csr(l_cust_acct_id ,
1755 l_site_use_id,
1756 chr_dtls_rec.currency_code);
1757 FETCH cust_instr_payment_use_id_csr INTO l_instrument_payment_use_id;
1758 CLOSE cust_instr_payment_use_id_csr;
1759
1760 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1761 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_bank_id IS NULL');
1762 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_instrument_payment_use_id:'||l_instrument_payment_use_id);
1763 END IF;
1764
1765 -- If Bank account is not defined at AR Customer Setup also, then throw error
1766 IF l_instrument_payment_use_id IS NULL THEN
1767 -- Write Contract Number in the log so that user can identify
1768 -- for which contract it is failing
1769 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Contract Number :'||chr_dtls_rec.contract_number);
1770 fnd_message.set_name('AR', 'AR_RAXTRX-1763');
1771 fnd_msg_pub.add;
1772 RAISE FND_API.G_EXC_ERROR;
1773 END IF;
1774
1775 OPEN instrument_id_csr(l_instrument_payment_use_id);
1776 FETCH instrument_id_csr INTO l_instrument_id;
1777 CLOSE instrument_id_csr;
1778
1779 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1780 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_instrument_id:'||l_instrument_id);
1781 END IF;
1782
1783 OPEN instr_type_csr(l_instrument_id);
1784 FETCH instr_type_csr INTO instr_type_rec;
1785 CLOSE instr_type_csr;
1786 payment_channel_code:= instr_type_rec.payment_channel_code; -- sosharma 10167846 changes added payment_channel_code
1787 END IF;
1788 -- gboomina bug 7513216 - end
1789
1790 -- l_instr_assignment := l_bank_id;
1791 l_payer_equivalency := NULL;
1792 l_payer.payment_function := 'CUSTOMER_PAYMENT';-- sosharma 10167846 changes
1793 l_pmt_channel := payment_channel_code;-- sosharma 10167846 changes
1794 -- ansethur 07-feb-2007 for 6788194
1795 l_trxn_attribs.originating_application_id := chr_dtls_rec.app_id;
1796 l_trxn_attribs.order_id := chr_dtls_rec.contract_number; -- Some dummy value, not sure of the significance, need to investigate further
1797
1798 l_trxn_attribs.po_number := NULL;
1799 l_trxn_attribs.po_line_number := NULL;
1800 l_trxn_attribs.trxn_ref_number1 := NULL;
1801 l_trxn_attribs.trxn_ref_number2 := NULL;
1802 l_trxn_attribs.instrument_security_code := NULL;
1803 l_trxn_attribs.voiceauth_flag := NULL;
1804 l_trxn_attribs.voiceauth_code := NULL;
1805 l_trxn_attribs.voiceauth_date := NULL;
1806 l_trxn_attribs.additional_info := NULL;
1807
1808 -- Default value to UPWARD
1809 IF (l_payer_equivalency IS NULL)
1810 THEN
1811 l_payer_equivalency := 'UPWARD';
1812 END IF;
1813
1814 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1815 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','Before call to IBY_FNDCPT_TRXN_PUB.CREATE_TRANSACTION_EXTENSION');
1816 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_payer.payment_function:'||l_payer.payment_function);
1817 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_pmt_channel:'||l_pmt_channel);
1818 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','l_instrument_payment_use_id:'||l_instrument_payment_use_id);
1819 END IF;
1820
1821 -- Call to insert the transaction extension through Payments PL/SQL API
1822 IBY_FNDCPT_TRXN_PUB.CREATE_TRANSACTION_EXTENSION(
1823 p_api_version => p_api_version,
1824 p_init_msg_list => p_init_msg_list,
1825 p_commit => l_true,
1826 x_return_status => x_return_status,
1827 x_msg_count => x_msg_count,
1828 x_msg_data => x_msg_data,
1829 p_payer => l_payer,
1830 p_payer_equivalency => l_payer_equivalency,
1831 p_pmt_channel => l_pmt_channel,
1832 p_instr_assignment => l_instrument_payment_use_id, --sosharma bug 6608452
1833 p_trxn_attribs => l_trxn_attribs,
1834 x_entity_id => l_entity_id,
1835 x_response => l_response);
1836 -- The values are based on FND_API. S, E, U (Success, Error, Unexpected
1837 IF (x_return_status = 'S') THEN
1838 okl_debug_pub.logmessage('AUTOINVOICE:Transaction Extension Id: '|| l_entity_id);
1839 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1840 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_entity_id:'||l_entity_id);
1841 END IF;
1842
1843 -- Assign out variables
1844 x_payment_trxn_extension_id := l_entity_id;
1845 ELSE
1846 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1847 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1848 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1849 RAISE FND_API.G_EXC_ERROR;
1850 END IF;
1851 END IF;
1852
1853 -- For a receipt method code of 'automatic', customer bank account id column is not used
1854 x_customer_bank_account_id := null;
1855
1856 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1857 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','x_payment_trxn_extension_id:'||x_payment_trxn_extension_id);
1858 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_auto_bank_dtls.debug','x_customer_bank_account_id:'||x_customer_bank_account_id);
1859 END IF;
1860
1861 EXCEPTION
1862 WHEN FND_API.G_EXC_ERROR THEN
1863 x_return_status := OKL_API.G_RET_STS_ERROR;
1864 FND_MSG_PUB.Count_And_Get
1865 (p_count => x_msg_count,
1866 p_data => x_msg_data);
1867
1868 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1869 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1870 FND_MSG_PUB.Count_And_Get
1871 (p_count => x_msg_count,
1872 p_data => x_msg_data);
1873
1874 WHEN OTHERS THEN
1875 x_return_status := Okl_Api.G_RET_STS_ERROR;
1876 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
1877 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE, SQLERRM);
1878 END IF;
1879 END get_auto_bank_dtls;
1880
1881 ---------------------------------------------------------------------------
1882 -- PROCEDURE Get_rec_feeder
1883 ---------------------------------------------------------------------------
1884 PROCEDURE Get_REC_FEEDER
1885 ( p_api_version IN NUMBER
1886 , p_init_msg_list IN VARCHAR2
1887 , x_return_status OUT NOCOPY VARCHAR2
1888 , x_msg_count OUT NOCOPY NUMBER
1889 , x_msg_data OUT NOCOPY VARCHAR2
1890 , p_trx_date_from IN DATE
1891 , p_trx_date_to IN DATE
1892 , p_assigned_process IN VARCHAR2
1893 ) IS
1894
1895 l_xfer_tbl xfer_tbl_type;
1896
1897 type inv_lines_tbl_type is table of ra_interface_lines_all%rowtype index by binary_integer;
1898 type inv_dist_tbl_type is table of ra_interface_distributions_all%rowtype index by pls_integer;
1899 type sales_credits_tbl_type is table of ra_interface_salescredits_all%rowtype index by pls_integer;
1900 type ar_contingency_tbl_type is table of ar_interface_conts_all%rowtype index by pls_integer;
1901
1902 inv_lines_tbl inv_lines_tbl_type;
1903 inv_dist_tbl inv_dist_tbl_type;
1904 sales_credits_tbl sales_credits_tbl_type;
1905 ar_contingency_tbl ar_contingency_tbl_type;
1906
1907 --start: | 15-FEB-07 cklee R12 Billing enhancement project
1908 l_group_by_contract_yn okl_invoice_types_v.group_by_contract_yn%type;
1909 l_group_asset_yn okl_invoice_types_v.group_asset_yn%type;
1910 l_contract_level_yn okl_invoice_formats_v.contract_level_yn%type;
1911 l_invoice_group okl_invoice_formats_v.name%type;
1912 l_khr_id okc_k_headers_b.id%type;
1913 l_bank_line_id1 OKC_RULES_B.OBJECT1_ID1%TYPE;
1914
1915
1916 CURSOR acc_sys_option is
1917 select account_derivation
1918 from okl_sys_acct_opts;
1919
1920 CURSOR xfer_csr IS
1921 SELECT
1922 TAI.ID TAI_ID
1923 -- , TIL.AMOUNT AMOUNT
1924 -- 19-Mar-2007 cklee -- Change amount referece to TLD instead |
1925 , TLD.AMOUNT AMOUNT
1926 , TIL.DESCRIPTION LINE_DESCRIPTION
1927 , NVL(TLD.INVENTORY_ITEM_ID, TIL.INVENTORY_ITEM_ID) INVENTORY_ITEM_ID
1928 , TIL.inv_receiv_line_code LINE_TYPE
1929 , TIL.QUANTITY
1930 , TIL.LINE_NUMBER
1931 , NVL(TLD.STY_ID, TIL.STY_ID) STY_ID
1932 , KHR.ID KHR_ID
1933 , KHR.CONTRACT_NUMBER
1934 --start:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
1935 -- , KLE.NAME ASSET_NUMBER
1936 , NULL ASSET_NUMBER
1937 --end:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
1938 , TLD.INVOICE_FORMAT_LINE_TYPE -- STREAM_GROUP
1939 , STY.NAME STREAM_TYPE
1940 , TAI.CURRENCY_CODE
1941 , TAI.currency_conversion_date
1942 , TAI.currency_conversion_rate
1943 , TAI.currency_conversion_type
1944 , TAI.CUST_TRX_TYPE_ID
1945 , TAI.IBT_ID CUSTOMER_ADDRESS_ID
1946 -- , TAI.CUSTOMER_BANK_ACCOUNT_ID
1947 , NVL(TIL.bank_acct_id, TAI.CUSTOMER_BANK_ACCOUNT_ID) CUSTOMER_BANK_ACCOUNT_ID
1948 , TAI.IXX_ID CUSTOMER_ID
1949 , TAI.DESCRIPTION HDR_DESCRIPTION
1950 , NULL INVOICE_MESSAGE
1951 , TAI.ORG_ID
1952 , TAI.IRM_ID RECEIPT_METHOD_ID
1953 , TAI.SET_OF_BOOKS_ID
1954 , TAI.TAX_EXEMPT_FLAG
1955 , TAI.IRT_ID TERM_ID
1956 , TAI.DATE_INVOICED TRX_DATE
1957 -- , TAI.TRX_NUMBER
1958 --if auto-transaction generation is turn on, invoice_number (trx_number) is not a required column.
1959 , NULL TRX_NUMBER -- refer to metalink: Note:277086.1
1960 , TAI.CONSOLIDATED_INVOICE_NUMBER
1961 , TLD.INVOICE_FORMAT_TYPE
1962 , TAI.INVOICE_PULL_YN
1963 , TAI.PRIVATE_LABEL
1964 , TAI.LEGAL_ENTITY_ID -- for LE Uptake project 08-11-2006
1965 , NULL ACCOUNT_CLASS
1966 , NULL DIST_AMOUNT
1967 , NULL DIST_PERCENT
1968 , NULL CODE_COMBINATION_ID
1969 -- , XLS.LSM_ID
1970 , STY.ACCRUAL_YN rev_rec_basis
1971 , NULL CM_ACCT_RULE
1972 , TLD.TLD_ID_REVERSES rev_txn_id
1973 -- , NULL REV_LSM_ID
1974 , NVL(TLD.INVENTORY_ORG_ID, TIL.INVENTORY_ORG_ID) INVENTORY_ORG_ID
1975 , KHR.inv_organization_id WARE_HOUSE_ID
1976 , NVL(TLD.KLE_ID, TIL.KLE_ID) KLE_ID
1977 , NULL SHIP_TO
1978 , NULL l_inv_id
1979 , NULL uom_code
1980 , TLD.ID TXN_ID
1981 --
1982 -- R12 additional columns pass to AR interface
1983 , TAI.OKL_SOURCE_BILLING_TRX
1984 , TAI.Investor_Agreement_Number
1985 , TAI.Investor_Name
1986 , (select qte.quote_number from OKL_TRX_QUOTES_B qte where qte.id = TAI.QTE_ID) Quote_number
1987 , NULL rbk_request_number
1988 , TLD.RBK_ORI_INVOICE_NUMBER
1989 , TLD.RBK_ORI_INVOICE_LINE_NUMBER
1990 , TLD.RBK_ADJUSTMENT_DATE
1991 , TAI.INF_ID
1992 , TAI.TRY_ID
1993 , TRYT.NAME TRY_NAME
1994 -- bug 6744584: contingency fix, added contingecy_id..racheruv
1995 , STY.CONTINGENCY_ID
1996 , TLD.INVOICE_FORMAT_LINE_TYPE INVOICE_LINE_TYPE -- Bug 7045347
1997 , TIL.ID TIL_ID -- Bug# 12617408
1998 FROM OKL_TXD_AR_LN_DTLS_B TLD,
1999 OKL_TXL_AR_INV_LNS_V TIL,
2000 OKL_TRX_AR_INVOICES_V TAI,
2001 OKC_K_HEADERS_ALL_B KHR,
2002 --start:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
2003 -- OKC_K_LINES_V KLE,
2004 --end:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
2005 OKL_STRM_TYPE_V STY,
2006 OKL_TRX_TYPES_TL TRYT,
2007 OKL_PARALLEL_PROCESSES OPP
2008 WHERE TLD.STY_ID = STY.ID
2009 AND TLD.TIL_ID_DETAILS = TIL.ID
2010 AND TIL.TAI_ID = TAI.ID
2011 AND TAI.KHR_ID = KHR.ID
2012 --start:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
2013 -- AND KLE.ID = TIL.KLE_ID
2014 --end:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
2015 AND TAI.TRY_ID = TRYT.ID
2016 AND TRYT.LANGUAGE = 'US'
2017 AND TAI.TRX_STATUS_CODE = 'SUBMITTED'
2018 AND OPP.OBJECT_TYPE = 'XTRX_CONTRACT'
2019 AND OPP.OBJECT_VALUE = KHR.CONTRACT_NUMBER
2020 AND OPP.ASSIGNED_PROCESS = p_assigned_process
2021 ORDER BY TAI.ID
2022 ;
2023
2024 -- l_try_name OKL_TRX_TYPES_TL.name%type;
2025 x_tax_det_rec OKL_PROCESS_SALES_TAX_PVT.tax_det_rec_type;
2026
2027
2028 -- ------------------------------------------------
2029 -- Cursors to check if Customer is on Bankruptcy
2030 -- ------------------------------------------------
2031 -- Start -- Added by venkatho as part of Bug 15953012
2032 CURSOR cust_bankruptcy_csr IS
2033 SELECT distinct khr.id khr_id
2034 ,khr.contract_number contract_number
2035 ,tai.id tai_id
2036 ,tai.okl_source_billing_trx
2037 ,tai.ixx_id customer_id
2038 ,iex_wf_ban_status_pub.get_turninvoff(hca.party_id,hca.cust_account_id,SYSDATE) bankruptcy_sts
2039 FROM okl_trx_ar_invoices_b tai,
2040 okc_k_headers_b khr,
2041 hz_cust_accounts hca
2042 WHERE tai.khr_id = khr.id
2043 AND tai.ixx_id = khr.cust_acct_id
2044 AND khr.cust_acct_id = hca.cust_account_id
2045 AND hca.status = 'A'
2046 AND khr.cust_acct_id IS NOT NULL
2047 AND tai.trx_status_code = 'SUBMITTED';
2048
2049
2050 CURSOR cust_bankrupt_cnt_csr IS
2051 SELECT khr.contract_number khr_number
2052 ,nvl(hca.account_name,hp.party_name) name
2053 ,COUNT(tai.id) cust_rec_cnt
2054 FROM okl_trx_ar_invoices_b tai,
2055 hz_cust_accounts hca,
2056 okc_k_headers_b khr,
2057 hz_parties hp
2058 WHERE tai.ixx_id = khr.cust_acct_id
2059 AND khr.cust_acct_id = hca.cust_account_id
2060 AND hca.party_id = hp.party_id
2061 AND tai.khr_id = khr.id
2062 AND hca.status = 'A'
2063 AND tai.trx_status_code = 'CUST-BANKRUPT'
2064 GROUP BY khr.contract_number
2065 ,nvl(hca.account_name,hp.party_name);
2066
2067 CURSOR bankrupt_cnt_cust_csr IS
2068 SELECT COUNT(tai.id) cust_bkrpt_cnt
2069 FROM okl_trx_ar_invoices_b tai
2070 WHERE tai.trx_status_code = 'CUST-BANKRUPT';
2071
2072 l_cust_bkrpt_cnt NUMBER;
2073 -- End -- Added by venkatho as part of Bug 15953012
2074
2075
2076 -- ------------------------------------------------
2077 -- Cursors to check if Vendor is on Bankruptcy
2078 -- ------------------------------------------------
2079 -- Start -- Added by venkatho as part of Bug 15953954
2080 CURSOR vndr_bankruptcy_csr IS
2081 SELECT distinct khr.id khr_id
2082 ,khr.contract_number contract_number
2083 ,tai.ixx_id vendor_customer_id
2084 ,iex_wf_ban_status_pub.get_turninvoff(hca.party_id,hca.cust_account_id,SYSDATE) bankruptcy_sts
2085 FROM okl_trx_ar_invoices_b tai,
2086 okc_k_headers_b khr,
2087 hz_cust_accounts hca,
2088 okc_k_party_roles_b opr
2089 WHERE tai.khr_id = khr.id
2090 AND khr.cust_acct_id <> tai.ixx_id
2091 AND tai.ixx_id = hca.cust_account_id
2092 AND opr.dnz_chr_id = khr.id
2093 AND opr.cle_id IS NULL
2094 AND opr.rle_code = 'OKL_VENDOR'
2095 AND hca.status = 'A'
2096 AND khr.cust_acct_id IS NOT NULL
2097 AND tai.trx_status_code = 'SUBMITTED';
2098
2099 CURSOR vndr_bankrupt_cnt_csr IS
2100 SELECT khr.contract_number khr_number
2101 ,ap.vendor_name name
2102 ,COUNT(tai.id) vndr_rec_cnt
2103 FROM okl_trx_ar_invoices_b tai,
2104 hz_cust_accounts hca,
2105 okc_k_headers_b khr,
2106 ap_suppliers ap,
2107 hz_parties hp
2108 WHERE tai.ixx_id = hca.cust_account_id
2109 AND khr.cust_acct_id <> tai.ixx_id
2110 AND tai.khr_id = khr.id
2111 AND ap.party_id = hp.party_id
2112 AND hp.party_id = hca.party_id
2113 AND hca.status = 'A'
2114 AND tai.trx_status_code = 'VNDR-BANKRUPT'
2115 GROUP BY khr.contract_number
2116 ,ap.vendor_name;
2117
2118 CURSOR bankrupt_cnt_vndr_csr IS
2119 SELECT COUNT(tai.id) vndr_bkrpt_cnt
2120 FROM okl_trx_ar_invoices_b tai
2121 WHERE tai.trx_status_code = 'VNDR-BANKRUPT';
2122
2123 l_vndr_bkrpt_cnt NUMBER;
2124 l_vndr_cnt NUMBER;
2125 -- End -- Added by venkatho as part of Bug 15953954
2126
2127
2128 -- ------------------------------------------------
2129 -- Printing and debug log
2130 -- ------------------------------------------------
2131 l_request_id NUMBER;
2132
2133 CURSOR req_id_csr IS
2134 SELECT
2135 DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID)
2136 FROM dual;
2137
2138 ------------------------------------------------------------
2139 -- Operating Unit
2140 ------------------------------------------------------------
2141 CURSOR op_unit_csr IS
2142 SELECT NAME
2143 FROM hr_operating_units
2144 WHERE organization_id = mo_global.get_current_org_id;
2145
2146
2147 -- For R12, OKL_TXD_AR_LN_DTLS_B will be invoice line.
2148 --
2149 CURSOR tld_cnt_csr( p_req_id NUMBER, p_sts VARCHAR2 ) IS
2150 SELECT count(1)
2151 FROM OKL_TXD_AR_LN_DTLS_B TLD
2152 WHERE EXISTS
2153 (SELECT 1
2154 FROM OKL_TRX_AR_INVOICES_B TAI,
2155 OKL_TXL_AR_INV_LNS_B TIL
2156 WHERE TLD.TIL_ID_DETAILS = TIL.ID
2157 AND TIL.TAI_ID = TAI.ID
2158 AND TAI.trx_status_code = p_sts
2159 AND TAI.request_id = p_req_id);
2160
2161 CURSOR tld_cnt_csr_selected( p_req_id NUMBER ) IS
2162 SELECT count(1)
2163 FROM OKL_TXD_AR_LN_DTLS_B TLD
2164 WHERE EXISTS
2165 (SELECT 1
2166 FROM OKL_TRX_AR_INVOICES_B TAI,
2167 OKL_TXL_AR_INV_LNS_B TIL
2168 WHERE TLD.TIL_ID_DETAILS = TIL.ID
2169 AND TIL.TAI_ID = TAI.ID
2170 AND TAI.request_id = p_req_id);
2171
2172
2173
2174 --end: | 15-FEB-07 cklee R12 Billing enhancement project |
2175
2176 l_selected_count NUMBER;
2177 l_succ_cnt NUMBER;
2178 l_err_cnt NUMBER;
2179 l_op_unit_name hr_operating_units.name%TYPE;
2180 lx_msg_data VARCHAR2(450);
2181 l_msg_index_out NUMBER :=0;
2182
2183 -- ------------------------------------------------
2184 -- Bind variables to address issues in bug 3761940
2185 -- ------------------------------------------------
2186 processed_sts okl_trx_ar_invoices_b.trx_status_code%TYPE;
2187 error_sts okl_trx_ar_invoices_b.trx_status_code%TYPE;
2188
2189 -- -------------------------
2190 -- Bulk Fetch Size
2191 -- -------------------------
2192 L_FETCH_SIZE NUMBER := 10000;
2193 l_hdr_id NUMBER := -9999;
2194
2195 l_commit_cnt NUMBER := 0;
2196
2197 -- ----------------------
2198 -- Std Who columns
2199 -- ----------------------
2200 lx_last_updated_by okl_trx_ar_invoices_b.last_updated_by%TYPE := Fnd_Global.USER_ID;
2201 lx_last_update_login okl_trx_ar_invoices_b.last_update_login%TYPE := Fnd_Global.LOGIN_ID;
2202 lx_request_id okl_trx_ar_invoices_b.request_id%TYPE := Fnd_Global.CONC_REQUEST_ID;
2203
2204 lx_program_application_id
2205 okl_trx_ar_invoices_b.program_application_id%TYPE := Fnd_Global.PROG_APPL_ID;
2206 lx_program_id okl_trx_ar_invoices_b.program_id%TYPE := Fnd_Global.CONC_PROGRAM_ID;
2207
2208 -- ---------------------------
2209 -- Bulk Insert changes
2210 -- ---------------------------
2211
2212 CURSOR l_get_inv_org_yn_csr(cp_org_id IN NUMBER) IS
2213 SELECT lease_inv_org_yn
2214 FROM OKL_SYSTEM_PARAMS
2215 WHERE org_id = cp_org_id;
2216
2217 l_rev_rec_basis okl_strm_type_b.accrual_yn%type;
2218 l_org_id NUMBER := MO_GLOBAL.GET_CURRENT_ORG_ID();
2219 l_use_inv_org VARCHAR2(10) := NULL;
2220
2221
2222 --vthiruva - Bug 4222231..start
2223 --modified sales_rep_csr to remove hard coded where clause
2224 CURSOR sales_rep_csr(p_salesrep_id IN ra_salesreps.salesrep_id%TYPE) IS
2225 SELECT SALESREP_ID, SALESREP_NUMBER
2226 FROM ra_salesreps
2227 --WHERE NAME = 'No Sales Credit';
2228 WHERE SALESREP_ID = p_salesrep_id;
2229
2230 --added new cursor to fetch the sales rep for the contract.
2231 CURSOR get_sales_rep(p_contract_number okc_k_headers_b.contract_number%TYPE) IS
2232 SELECT contact.object1_id1
2233 FROM okc_k_headers_b hdr, okc_contacts contact
2234 WHERE contact.dnz_chr_id = hdr.id
2235 AND hdr.contract_number = p_contract_number
2236 AND contact.cro_code = 'SALESPERSON';
2237
2238 l_prev_contract_num okc_k_headers_b.contract_number%TYPE;
2239 l_sales_person okc_contacts_v.object1_id1%TYPE;
2240 --vthiruva - Bug 4222231..end
2241
2242 CURSOR sales_type_credit_csr IS
2243 SELECT sales_credit_type_id
2244 FROM so_sales_credit_types
2245 WHERE name = 'Quota Sales Credit';
2246
2247 l_salesrep_id ra_salesreps.SALESREP_ID%TYPE;
2248 l_salesrep_number ra_salesreps.SALESREP_NUMBER%TYPE;
2249 l_sales_type_credit so_sales_credit_types.sales_credit_type_id%TYPE;
2250
2251 l_top_kle_id NUMBER;
2252
2253 --start:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
2254 l_is_top_line number;
2255 is_top_line_flag boolean;
2256
2257 CURSOR is_top_line ( p_cle_id NUMBER ) IS
2258 SELECT 1
2259 FROM okc_k_lines_b kle
2260 where kle.id = p_cle_id
2261 and kle.cle_id is null; -- it's top line
2262
2263 CURSOR get_top_line ( p_cle_id NUMBER ) IS
2264 select cle.id--, lse.lty_code
2265 from okc_k_lines_b cle--,
2266 -- okc_line_styles_b lse
2267 -- where lse.id = cle.lse_id
2268 -- and cle.cle_id is null
2269 where cle.cle_id is null -- it's top line
2270 start with cle.id = p_cle_id
2271 connect by cle.id = prior cle.cle_id;
2272
2273 CURSOR get_top_line_name ( p_cle_id NUMBER ) IS
2274 select cle.name
2275 from OKC_K_LINES_V cle
2276 where cle.id = p_cle_id;
2277
2278 --end:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
2279
2280 l_chr_id okc_k_lines_b.chr_id%TYPE;
2281
2282 l_ship_to NUMBER;
2283
2284 lx_customer_id NUMBER;
2285 l_chk_customer_id NUMBER;
2286
2287 -- Local Variables
2288 l_install_location_id NUMBER;
2289 l_location_id NUMBER;
2290
2291 -- Code Changed for Bug 3044872
2292 CURSOR get_inv_item_id ( p_fin_asset_line_id NUMBER ) IS
2293 SELECT c.OBJECT1_ID1
2294 FROM okc_k_lines_b a,
2295 okc_line_styles_b b,
2296 okc_k_items c
2297 WHERE a.cle_id = p_fin_asset_line_id
2298 AND b.lty_code = 'ITEM'
2299 AND a.lse_id = b.id
2300 AND a.id = c.cle_id;
2301
2302 l_inv_id NUMBER;
2303
2304 l_uom_code mtl_system_items.primary_uom_code%TYPE;
2305
2306 CURSOR get_uom_code ( p_inv_item_id NUMBER ) IS
2307 SELECT primary_uom_code
2308 FROM mtl_system_items
2309 WHERE inventory_item_id = p_inv_item_id;
2310
2311 l_temp_sold_fee VARCHAR2(1);
2312
2313
2314 CURSOR Ship_to_csr( p_kle_top_line IN NUMBER ) IS
2315 SELECT --cim.object1_id1 item_instance,
2316 --cim.object1_id2 "#",
2317 csi.install_location_id
2318 , csi.location_id
2319 FROM csi_item_instances csi,
2320 okc_k_items cim,
2321 okc_k_lines_b inst,
2322 okc_k_lines_b ib,
2323 okc_line_styles_b lse
2324 WHERE csi.instance_id = TO_NUMBER(cim.object1_id1)
2325 AND cim.cle_id = ib.id
2326 AND ib.cle_id = inst.id
2327 AND inst.lse_id = lse.id
2328 AND lse.lty_code = 'FREE_FORM2'
2329 AND inst.cle_id = p_kle_top_line;
2330
2331 CURSOR Ship_to_csr2( p_customer_num NUMBER, p_install_location NUMBER, p_location NUMBER, p_org_id NUMBER ) IS
2332 SELECT a.CUST_ACCT_SITE_ID
2333 FROM hz_cust_acct_sites_all a,
2334 hz_cust_site_uses_all b,
2335 hz_party_sites c
2336 WHERE a.CUST_ACCT_SITE_ID = b.CUST_ACCT_SITE_ID AND
2337 b.site_use_code = 'SHIP_TO' AND
2338 a.party_site_id = c.party_site_id AND
2339 a.cust_account_id = p_customer_num AND
2340 a.org_id = p_org_id AND
2341 c.party_site_id = p_install_location AND
2342 c.location_id = p_location;
2343
2344 CURSOR sold_service_fee_csr ( p_cle_id NUMBER ) IS
2345 SELECT '1'
2346 FROM okc_k_lines_v a,
2347 okc_line_styles_v b
2348 WHERE a.lse_id = b.id
2349 AND b.lty_code = 'SOLD_SERVICE'
2350 AND a.id = p_cle_id;
2351
2352 CURSOR get_service_inv_csr ( p_cle_id NUMBER ) IS
2353 SELECT c.object1_id1
2354 FROM okc_k_lines_v a,
2355 okc_line_styles_v b,
2356 okc_k_items c
2357 WHERE a.lse_id = b.id
2358 AND b.lty_code = 'SOLD_SERVICE'
2359 AND a.id = p_cle_id
2360 AND c.cle_id = a.id;
2361
2362
2363 type error_tbl_type is table of error_rec_type index by binary_integer;
2364
2365 error_tbl error_tbl_type;
2366
2367 --start: | 15-FEB-07 cklee R12 Billing enhancement project
2368 --l_error_xsi_id okl_ext_sell_invs_v.id%TYPE;
2369 l_error_tai_id okl_trx_ar_invoices_b.id%TYPE;
2370 l_error_txd_id OKL_TXD_AR_LN_DTLS_B.id%TYPE;
2371 --end: | 15-FEB-07 cklee R12 Billing enhancement project
2372
2373 hdr_cnt NUMBER;
2374 sales_cr_cnt NUMBER;
2375 cont_cnt NUMBER;
2376
2377 -- Bug 6619311
2378 /*CURSOR get_memo_line_id_csr IS
2379 SELECT MEMO_LINE_ID
2380 FROM ar_memo_lines
2381 WHERE NAME = 'Lease Upfront Tax';
2382
2383 l_memo_line_id ar_memo_lines.memo_line_id%TYPE;
2384 */
2385
2386 Cursor is_legacy_invoice (p_rev_txn_id OKL_TXD_AR_LN_DTLS_B.id%type) is
2387 select lsm_id
2388 from OKL_TXD_AR_LN_DTLS_B
2389 where id = p_rev_txn_id;
2390
2391 l_lsm_id OKL_TXD_AR_LN_DTLS_B.lsm_id%type;
2392
2393 Cursor get_invoice_line_id (p_rev_txn_id OKL_TXD_AR_LN_DTLS_B.id%type) is
2394 select a.customer_trx_line_id
2395 from ra_customer_trx_lines_all a
2396 where a.INTERFACE_LINE_ATTRIBUTE14 = to_char(p_rev_txn_id); -- AKP
2397
2398 l_customer_trx_line_id ra_customer_trx_lines_all.customer_trx_line_id%type;
2399
2400 --akrangan addeed ebtax billing impacts coding start
2401 CURSOR tax_sources_csr(p_tai_id IN NUMBER
2402 ,p_tld_id IN number
2403 )
2404 IS
2405 SELECT txs.trx_id,
2406 txs.trx_line_id,
2407 txs.trx_level_type,
2408 txs.application_id,
2409 txs.event_class_code,
2410 txs.entity_code,
2411 inv.tax_line_id -- Bug 6619311
2412 FROM okl_tax_sources txs,
2413 okl_txl_ar_inv_lns_b inv
2414 ,okl_txd_ar_ln_dtls_b tld
2415 WHERE txs.trx_id = inv.txs_trx_id
2416 AND trx_line_id = inv.txs_trx_line_id
2417 AND inv.id = tld.til_id_details
2418 AND inv.tai_id = p_tai_id
2419 AND tld.id = p_tld_id;
2420
2421 tax_sources_rec tax_sources_csr%ROWTYPE;
2422 -- Bug 6619311
2423 CURSOR zx_lines_csr(p_zx_lines_id IN NUMBER)
2424 IS
2425 SELECT HISTORICAL_FLAG,
2426 TAX_REGIME_CODE,
2427 TAX,
2428 TAX_STATUS_CODE,
2429 TAX_RATE_CODE,
2430 TAX_JURISDICTION_CODE,
2431 TAXABLE_AMT,
2432 LEGAL_ENTITY_ID
2433 FROM ZX_LINES
2434 WHERE TAX_LINE_ID = p_zx_lines_id;
2435 zx_lines_rec zx_lines_csr%ROWTYPE;
2436
2437 tx NUMBER;
2438 l_tx NUMBER;
2439 --akrangan added ebtax billing impacts coding end
2440
2441 lx_dist_tbl dist_tbl_type; -- rmunjulu R12 Fixes
2442 n NUMBER; -- rmunjulu R12 Fixes
2443 l_creation_method_code AR_RECEIPT_CLASSES.CREATION_METHOD_CODE%TYPE;
2444
2445 -- gboomina added for bug 7513216 - start
2446 cursor get_khr_id_csr (p_contract_number okc_k_headers_all_b.contract_number%type)
2447 is
2448 select id from okc_k_headers_all_b
2449 where contract_number = p_contract_number;
2450 -- gboomina added for bug 7513216 - end
2451
2452 --nikshah added for bug 9223230 start
2453 --Cursor to check if invoice line belongs to customer?
2454 CURSOR c_inv_customer(p_chr_id OKC_K_HEADERS_B.ID%TYPE, p_cust_acct_id OKC_K_HEADERS_B.CUST_ACCT_ID%TYPE) IS
2455 SELECT 1
2456 FROM okc_k_headers_b
2457 WHERE id = p_chr_id
2458 AND cust_acct_id = p_cust_acct_id;
2459
2460 l_inv_customer_rec c_inv_customer%ROWTYPE;
2461 l_inv_customer BOOLEAN := TRUE;
2462 --nikshah added for bug 9223230 end
2463
2464 -- sosharma for bug 9871252
2465 CURSOR rcpt_cr_method_csr ( p_rct_method_id NUMBER) IS
2466 SELECT C.CREATION_METHOD_CODE
2467 FROM AR_RECEIPT_METHODS M,
2468 AR_RECEIPT_CLASSES C
2469 WHERE M.RECEIPT_CLASS_ID = C.RECEIPT_CLASS_ID AND
2470 M.receipt_method_id = p_rct_method_id;
2471
2472 rct_method_code AR_RECEIPT_CLASSES.CREATION_METHOD_CODE%TYPE;
2473
2474 -- Bug#9576651 - Start
2475 -- Define error table
2476 type error_tai_tbl_type IS TABLE OF NUMBER
2477 INDEX BY BINARY_INTEGER;
2478 l_error_tai_tbl error_tai_tbl_type;
2479 l_error_tai_cnt NUMBER DEFAULT 0;
2480 l_conc_status BOOLEAN;
2481 -- Bug#9576651 - End
2482
2483
2484 l_trx_type_name OKL_TRX_TYPES_TL.name%type; --sechawla 01-jun-11 12539101
2485
2486 --Bug# 12617408
2487 CURSOR rmkt_ship_to_csr(p_til_id IN NUMBER) IS
2488 SELECT hsu.cust_acct_site_id
2489 FROM okl_txl_ar_inv_lns_b til,
2490 oe_order_lines_all oli,
2491 oe_order_headers_all ohe,
2492 hz_cust_site_uses_all hsu
2493 WHERE til.id = p_til_id
2494 AND oli.line_id = til.isl_id
2495 AND ohe.header_id = oli.header_id
2496 AND hsu.site_use_id = NVL(oli.ship_to_org_id, ohe.ship_to_org_id);
2497
2498 BEGIN
2499
2500 L_DEBUG_ENABLED := OKL_DEBUG_PUB.CHECK_LOG_ENABLED;
2501
2502 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2503 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,'okl_arintf_pvt','Begin(+)');
2504 END IF;
2505
2506 -- ------------------------
2507 -- Print Input variables
2508 -- ------------------------
2509 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2510 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_trx_date_from '||p_trx_date_from);
2511 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'p_trx_date_to '||p_trx_date_to);
2512 END IF;
2513 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2514 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','p_trx_date_from:'||p_trx_date_from);
2515 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','p_trx_date_to:'||p_trx_date_to);
2516 END IF;
2517
2518
2519 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
2520
2521 --start: | 15-FEB-07 cklee R12 Billing enhancement project
2522 OPEN acc_sys_option;
2523 FETCH acc_sys_option INTO G_ACC_SYS_OPTION;
2524 CLOSE acc_sys_option;
2525 --end: | 15-FEB-07 cklee R12 Billing enhancement project
2526
2527 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2528 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','G_ACC_SYS_OPTION:'||G_ACC_SYS_OPTION);
2529 END IF;
2530
2531 -- ----------------------------
2532 -- Work out common parameters
2533 -- ----------------------------
2534
2535 OPEN l_get_inv_org_yn_csr( l_org_id );
2536 FETCH l_get_inv_org_yn_csr INTO l_use_inv_org;
2537 CLOSE l_get_inv_org_yn_csr;
2538
2539 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2540 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_use_inv_org:'||l_use_inv_org);
2541 END IF;
2542
2543 --vthiruva - Bug 4222231..start
2544 --defaulted salesrep variables to 'No Sales Credit'
2545 l_salesrep_id := -3;
2546 l_salesrep_number := -3;
2547 l_prev_contract_num := NULL;
2548 --vthiruva - Bug 4222231..end
2549
2550 l_sales_type_credit := NULL;
2551 OPEN sales_type_credit_csr;
2552 FETCH sales_type_credit_csr INTO l_sales_type_credit;
2553 CLOSE sales_type_credit_csr;
2554
2555 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2556 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_sales_type_credit:'||l_sales_type_credit);
2557 END IF;
2558
2559 -- Bug 6619311
2560 /*
2561 -- get memo line id for tax only invoices
2562 l_memo_line_id := NULL;
2563 OPEN get_memo_line_id_csr;
2564 FETCH get_memo_line_id_csr INTO l_memo_line_id;
2565 CLOSE get_memo_line_id_csr;
2566
2567 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2568 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_memo_line_id:'||l_memo_line_id);
2569 END IF;
2570
2571 if l_memo_line_id is null then
2572 FND_FILE.PUT_LINE(FND_FILE.LOG,
2573 'WARNING: A memo line with name -- Lease Upfront Tax,
2574 must exist to import tax-only invoices.');
2575 end if;
2576 */
2577
2578
2579 -- Start added as part of Bug 15953012
2580 l_cust_bkrpt_cnt := 0;
2581 FOR cust_bankruptcy_rec IN cust_bankruptcy_csr
2582 LOOP
2583
2584 --IF (cust_bankruptcy_rec.okl_source_billing_trx = 'TAX_ONLY_INVOICE_TAX' AND cust_bankruptcy_rec.bankruptcy_sts = 'Y')
2585 IF (cust_bankruptcy_rec.bankruptcy_sts = 'Y')
2586 THEN
2587
2588 UPDATE okl_trx_ar_invoices_b trx
2589 SET trx_status_code = 'CUST-BANKRUPT'
2590 WHERE khr_id = cust_bankruptcy_rec.khr_id
2591 AND ixx_id = cust_bankruptcy_rec.customer_id
2592 AND trx_status_code = 'SUBMITTED';
2593
2594 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2595 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Updating Customer header records with BANKRUPT Status as Customer is on Bankrupty for khr_id: '||cust_bankruptcy_rec.khr_id);
2596 END IF;
2597
2598 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2599 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Updating Customer header records with BANKRUPT Status as Customer is on Bankrupty for khr_id: '||cust_bankruptcy_rec.khr_id);
2600 END IF;
2601
2602 END IF;
2603
2604 END LOOP;
2605
2606 OPEN bankrupt_cnt_cust_csr;
2607 FETCH bankrupt_cnt_cust_csr INTO l_cust_bkrpt_cnt;
2608 CLOSE bankrupt_cnt_cust_csr;
2609 -- End added as part of Bug 15953012
2610
2611
2612 -- Start added as part of Bug 15953954
2613 l_vndr_bkrpt_cnt := 0;
2614 FOR vndr_bankruptcy_rec IN vndr_bankruptcy_csr
2615 LOOP
2616
2617 IF (vndr_bankruptcy_rec.bankruptcy_sts = 'Y')
2618 THEN
2619
2620 UPDATE okl_trx_ar_invoices_b
2621 SET trx_status_code = 'VNDR-BANKRUPT'
2622 WHERE khr_id = vndr_bankruptcy_rec.khr_id
2623 AND ixx_id = vndr_bankruptcy_rec.vendor_customer_id
2624 AND trx_status_code = 'SUBMITTED';
2625
2626 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2627 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Updating Vendor header records with BANKRUPT Status as Vendor is on Bankruptcy for khr_id: '||vndr_bankruptcy_rec.khr_id);
2628 END IF;
2629
2630 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2631 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Updating Vendor header records with BANKRUPT Status as Vendor is on Bankruptcy for khr_id: '||vndr_bankruptcy_rec.khr_id);
2632 END IF;
2633
2634 END IF;
2635
2636 END LOOP;
2637
2638 OPEN bankrupt_cnt_vndr_csr;
2639 FETCH bankrupt_cnt_vndr_csr INTO l_vndr_bkrpt_cnt;
2640 CLOSE bankrupt_cnt_vndr_csr;
2641
2642 IF ( l_vndr_bkrpt_cnt >0 OR l_cust_bkrpt_cnt >0)
2643 THEN
2644 COMMIT;
2645 END IF;
2646
2647 -- End added as part of Bug 15953954
2648
2649
2650 -- -----------------------------
2651 -- Start Bulk Fetch Code
2652 -- -----------------------------
2653 OPEN xfer_csr;
2654 LOOP
2655 l_xfer_tbl.delete;
2656 FETCH xfer_csr BULK COLLECT INTO l_xfer_tbl LIMIT L_FETCH_SIZE;
2657
2658 FND_FILE.PUT_LINE (FND_FILE.LOG, 'l_xfer_tbl count is: '||l_xfer_tbl.COUNT);
2659 -- --------------------------------------
2660 -- Process bulk-fetched records
2661 -- --------------------------------------
2662 IF l_xfer_tbl.COUNT > 0 THEN
2663
2664 --l_hdr_id := -9999; -- Bug 7234827
2665
2666 l_commit_cnt := 0;
2667
2668 -- ---------------------------------------------------
2669 -- Update rest of the table records with missing data
2670 -- ---------------------------------------------------
2671 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2672 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Updating records with missing data');
2673 END IF;
2674
2675 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2676 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Updating records with missing data');
2677 END IF;
2678
2679 hdr_cnt := 0;
2680 FOR K IN l_xfer_tbl.FIRST..l_xfer_tbl.LAST LOOP
2681 UPDATE okl_trx_ar_invoices_b
2682 SET request_id = lx_request_id
2683 WHERE ID = l_xfer_tbl(k).tai_id ;
2684
2685
2686 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2687 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','starting l_xfer_tbl with k:'||k);
2688 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').tai_id:'||l_xfer_tbl(k).tai_id);
2689 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').amount:'||l_xfer_tbl(k).amount);
2690 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').line_description:'||l_xfer_tbl(k).line_description);
2691 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').inventory_item_id:'||l_xfer_tbl(k).inventory_item_id);
2692 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').line_type:'||l_xfer_tbl(k).line_type);
2693 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').quantity:'||l_xfer_tbl(k).quantity);
2694 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').line_number:'||l_xfer_tbl(k).line_number);
2695 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').sty_id:'||l_xfer_tbl(k).sty_id);
2696 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').khr_id:'||l_xfer_tbl(k).khr_id);
2697 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').contract_number:'||l_xfer_tbl(k).contract_number);
2698 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').asset_number:'||l_xfer_tbl(k).asset_number);
2699 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').invoice_format_line_type:'||l_xfer_tbl(k).invoice_format_line_type);
2700 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').stream_type:'||l_xfer_tbl(k).stream_type);
2701 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').currency_code:'||l_xfer_tbl(k).currency_code);
2702 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').currency_conversion_date:'||l_xfer_tbl(k).currency_conversion_date);
2703 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').currency_conversion_rate:'||l_xfer_tbl(k).currency_conversion_rate);
2704 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').currency_conversion_type:'||l_xfer_tbl(k).currency_conversion_type);
2705 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').cust_trx_type_id:'||l_xfer_tbl(k).cust_trx_type_id);
2706 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').customer_address_id:'||l_xfer_tbl(k).customer_address_id);
2707 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').customer_bank_account_id:'||l_xfer_tbl(k).customer_bank_account_id);
2708 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').customer_id:'||l_xfer_tbl(k).customer_id);
2709 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').hdr_description:'||l_xfer_tbl(k).hdr_description);
2710 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').invoice_message:'||l_xfer_tbl(k).invoice_message);
2711 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').org_id:'||l_xfer_tbl(k).org_id);
2712 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').receipt_method_id:'||l_xfer_tbl(k).receipt_method_id);
2713 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').set_of_books_id:'||l_xfer_tbl(k).set_of_books_id);
2714 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').tax_exempt_flag:'||l_xfer_tbl(k).tax_exempt_flag);
2715 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').term_id:'||l_xfer_tbl(k).term_id);
2716 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').trx_date:'||l_xfer_tbl(k).trx_date);
2717 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').trx_number:'||l_xfer_tbl(k).trx_number);
2718 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').consolidated_invoice_number:'||l_xfer_tbl(k).consolidated_invoice_number);
2719 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').invoice_format_type:'||l_xfer_tbl(k).invoice_format_type);
2720 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').invoice_pull_yn:'||l_xfer_tbl(k).invoice_pull_yn);
2721 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').private_label:'||l_xfer_tbl(k).private_label);
2722 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').legal_entity_id:'||l_xfer_tbl(k).legal_entity_id);
2723 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').account_class:'||l_xfer_tbl(k).account_class);
2724 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').dist_amount:'||l_xfer_tbl(k).dist_amount);
2725 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').dist_percent:'||l_xfer_tbl(k).dist_percent);
2726 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').code_combination_id:'||l_xfer_tbl(k).code_combination_id);
2727 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').rev_rec_basis:'||l_xfer_tbl(k).rev_rec_basis);
2728 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').cm_acct_rule:'||l_xfer_tbl(k).cm_acct_rule);
2729 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').rev_txn_id:'||l_xfer_tbl(k).rev_txn_id);
2730 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').inventory_org_id:'||l_xfer_tbl(k).inventory_org_id);
2731 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').ware_house_id:'||l_xfer_tbl(k).ware_house_id);
2732 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').kle_id:'||l_xfer_tbl(k).kle_id);
2733 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').ship_to:'||l_xfer_tbl(k).ship_to);
2734 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').l_inv_id:'||l_xfer_tbl(k).l_inv_id);
2735 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').uom_code:'||l_xfer_tbl(k).uom_code);
2736 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').txn_id:'||l_xfer_tbl(k).txn_id);
2737 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').okl_source_billing_trx:'||l_xfer_tbl(k).okl_source_billing_trx);
2738 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').investor_agreement_number:'||l_xfer_tbl(k).investor_agreement_number);
2739 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').investor_name:'||l_xfer_tbl(k).investor_name);
2740 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').quote_number:'||l_xfer_tbl(k).quote_number);
2741 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').rbk_request_number:'||l_xfer_tbl(k).rbk_request_number);
2742 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').rbk_ori_invoice_number:'||l_xfer_tbl(k).rbk_ori_invoice_number);
2743 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').rbk_ori_invoice_line_number:'||l_xfer_tbl(k).rbk_ori_invoice_line_number);
2744 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').rbk_adjustment_date:'||l_xfer_tbl(k).rbk_adjustment_date);
2745 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').inf_id:'||l_xfer_tbl(k).inf_id);
2746 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').try_id:'||l_xfer_tbl(k).try_id);
2747 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').try_name:'||l_xfer_tbl(k).try_name);
2748 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').invoice_line_type:'||l_xfer_tbl(k).invoice_line_type);
2749 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').til_id:'||l_xfer_tbl(k).til_id);
2750 END IF;
2751
2752
2753 --start: | 15-FEB-07 cklee R12 Billing enhancement project
2754 -- It seems like the folowing is a block of dead code. l_rev_rec_basis initial as null
2755 -- so the "then" will never be happened
2756 -- Populate CM acct rule
2757 -- IF ( l_rev_rec_basis = 'CASH_RECEIPT'
2758 -- cklee : start: For bug 5387704/R12: 5447521
2759 IF ( l_xfer_tbl(k).rev_rec_basis = 'CASH_RECEIPT'
2760 -- cklee : end: For bug 5387704/R12: 5447521
2761 -- AND l_xfer_tbl(k).XLS_AMOUNT < 0 )
2762 AND l_xfer_tbl(k).AMOUNT < 0 )
2763 THEN
2764 l_xfer_tbl(k).cm_acct_rule := 'PRORATE';
2765 END IF;
2766
2767 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2768 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').cm_acct_rule:'||l_xfer_tbl(k).cm_acct_rule);
2769 END IF;
2770
2771 -- To find the top line kle_id
2772
2773 --start:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
2774 -- 1. Check if it's a top line
2775 OPEN is_top_line(l_xfer_tbl(k).kle_id);
2776 FETCH is_top_line INTO l_is_top_line;
2777 is_top_line_flag := is_top_line%FOUND;
2778 CLOSE is_top_line;
2779
2780 IF is_top_line_flag THEN
2781 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2782 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug',l_xfer_tbl(k).kle_id || ' is top line');
2783 END IF;
2784 ELSE
2785 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2786 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug',l_xfer_tbl(k).kle_id || ' is not a top line');
2787 END IF;
2788 END IF;
2789
2790 -- 2. get top line if needed
2791 --Bug# 10089273
2792 l_top_kle_id := NULL;
2793 IF NOT is_top_line_flag THEN
2794 OPEN get_top_line(l_xfer_tbl(k).kle_id);
2795 --Bug# 10089273
2796 FETCH get_top_line INTO l_top_kle_id;
2797 CLOSE get_top_line;
2798 ELSE
2799 l_top_kle_id := l_xfer_tbl(k).kle_id;
2800 END IF;
2801
2802 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2803 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug',l_top_kle_id || ' fetched as a top line');
2804 END IF;
2805
2806 -- 3. get top line name (asset number)
2807 --Bug# 10089273
2808 OPEN get_top_line_name(l_top_kle_id);
2809 FETCH get_top_line_name INTO l_xfer_tbl(k).ASSET_NUMBER;
2810 CLOSE get_top_line_name;
2811
2812 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2813 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug',l_xfer_tbl(k).ASSET_NUMBER || ' fetched as asset number');
2814 END IF;
2815
2816 --end:| 06-Apr-2007 cklee -- Fixed kle_id, asset_number issues |
2817
2818
2819 -- Populate warehouse_id
2820 IF (NVL(l_use_inv_org, 'N') = 'Y') THEN
2821 --if it is a Remarketing invoice
2822 IF (l_xfer_tbl(k).inventory_org_id IS NOT NULL) THEN
2823 l_xfer_tbl(k).ware_house_id := l_xfer_tbl(k).inventory_org_id;
2824 END IF;
2825 ELSE
2826 l_xfer_tbl(k).ware_house_id := NULL;
2827 END IF;
2828
2829 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2830 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').ware_house_id:'||l_xfer_tbl(k).ware_house_id);
2831 END IF;
2832
2833 l_chr_id := l_xfer_tbl(k).khr_id;
2834
2835
2836 --end: | 15-FEB-07 cklee R12 Billing enhancement project
2837
2838 -- Bug 4523079; stmathew
2839 l_install_location_id := NULL;
2840 l_location_id := NULL;
2841 -- End Code; Bug 4523079; stmathew
2842
2843 --Bug# 10089273
2844 OPEN ship_to_csr(l_top_kle_id);
2845 FETCH ship_to_csr INTO l_install_location_id, l_location_id;
2846 CLOSE ship_to_csr;
2847
2848 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2849 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_install_location_id:'||l_install_location_id);
2850 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_location_id:'||l_location_id);
2851 END IF;
2852
2853 l_temp_sold_fee := NULL;
2854 --Bug# 10089273
2855 OPEN sold_service_fee_csr (l_top_kle_id);
2856 FETCH sold_service_fee_csr INTO l_temp_sold_fee;
2857 CLOSE sold_service_fee_csr;
2858
2859 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2860 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_temp_sold_fee:'||l_temp_sold_fee);
2861 END IF;
2862
2863 IF l_temp_sold_fee = '1' THEN
2864 -- Get Inventory_item_id
2865 l_inv_id := NULL;
2866 --Bug# 10089273
2867 OPEN get_service_inv_csr (l_top_kle_id);
2868 FETCH get_service_inv_csr INTO l_inv_id;
2869 CLOSE get_service_inv_csr;
2870 ELSE
2871 -- Get Inventory_item_id
2872 l_inv_id := NULL;
2873 --Bug# 10089273
2874 OPEN get_inv_item_id (l_top_kle_id);
2875 FETCH get_inv_item_id INTO l_inv_id;
2876 CLOSE get_inv_item_id;
2877 END IF;
2878
2879 -- -------------------------------------------
2880 -- Store inventory item id for the item on
2881 -- contract line
2882 -- -------------------------------------------
2883 l_xfer_tbl(k).l_inv_id := l_inv_id;
2884
2885 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2886 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_inv_id:'||l_inv_id);
2887 END IF;
2888
2889 -- Get UOM Code
2890 l_uom_code := NULL;
2891 IF l_xfer_tbl(k).INVENTORY_ITEM_ID IS NULL THEN
2892 l_xfer_tbl(k).INVENTORY_ITEM_ID := l_inv_id;
2893 OPEN get_uom_code ( l_inv_id );
2894 FETCH get_uom_code INTO l_uom_code;
2895 CLOSE get_uom_code;
2896 ELSE
2897 OPEN get_uom_code ( l_xfer_tbl(k).INVENTORY_ITEM_ID );
2898 FETCH get_uom_code INTO l_uom_code;
2899 CLOSE get_uom_code;
2900 END IF;
2901
2902 l_xfer_tbl(k).uom_code := l_uom_code;
2903 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2904 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_uom_code:'||l_uom_code);
2905 END IF;
2906 -- Check if Vendor is the same as the customer on the Contract
2907 lx_customer_id := NULL;
2908 get_customer_id( l_xfer_tbl(k).CONTRACT_NUMBER ,lx_customer_id );
2909 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2910 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','lx_customer_id:'||lx_customer_id);
2911 END IF;
2912 -- Bug 4523079; stmathew
2913 l_ship_to := NULL;
2914 -- End code Bug 4523079; stmathew
2915
2916 --Bug# 12617408
2917 -- For Remarketing invoices, fetch ship_to from Sales Order
2918 IF NVL(l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX,'NONE') = 'REMARKETING' THEN
2919
2920 OPEN rmkt_ship_to_csr(p_til_id => l_xfer_tbl(k).til_id);
2921 FETCH rmkt_ship_to_csr INTO l_ship_to;
2922 CLOSE rmkt_ship_to_csr;
2923
2924 ELSE
2925 OPEN Ship_to_csr2( lx_customer_id, l_install_location_id, l_location_id, l_xfer_tbl(k).ORG_ID);
2926 FETCH Ship_to_csr2 INTO l_ship_to;
2927 CLOSE Ship_to_csr2;
2928
2929 IF ( lx_customer_id = l_xfer_tbl(k).CUSTOMER_ID ) THEN
2930 NULL;
2931 ELSE
2932 l_ship_to := NULL;
2933 END IF;
2934
2935 END IF;
2936
2937 l_xfer_tbl(k).ship_to := l_ship_to;
2938 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2939 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').ship_to:'||l_xfer_tbl(k).ship_to);
2940 END IF;
2941 --start: | 15-FEB-07 cklee R12 Billing enhancement project
2942 -- Bug 7622476
2943 /*
2944 -- get invoice group related data
2945 Get_chr_inv_grp(
2946 p_inf_id => l_xfer_tbl(k).inf_id
2947 ,p_sty_id => l_xfer_tbl(k).sty_id
2948 ,x_group_by_contract_yn => l_group_by_contract_yn
2949 ,x_contract_level_yn => l_contract_level_yn
2950 ,x_group_asset_yn => l_group_asset_yn
2951 ,x_invoice_group => l_invoice_group
2952 );
2953
2954 l_khr_id := l_xfer_tbl(k).KHR_ID;
2955 l_xfer_tbl(k).KHR_ID := NULL;
2956 --l_kle_id := l_xfer_tbl(k).KLE_ID;
2957 --l_xfer_tbl(k).KLE_ID := NULL;
2958 IF (l_group_by_contract_yn = 'Y' OR l_contract_level_yn = 'N') THEN
2959 l_xfer_tbl(k).KHR_ID := l_khr_id;
2960 --IF l_group_by_assets_yn = 'N' THEN
2961 -- l_xfer_tbl(k).KLE_ID := l_kle_id;
2962 --END IF;
2963 END IF; */
2964 --end: | 15-FEB-07 cklee R12 Billing enhancement project
2965
2966 END LOOP; -- Populate missing values
2967
2968 inv_lines_tbl.delete;
2969 inv_dist_tbl.delete;
2970 sales_credits_tbl.delete;
2971 ar_contingency_tbl.delete;
2972 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2973 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','finished deleting pl/sql tables');
2974 END IF;
2975 -- Build ra_interface_lines_rec
2976 -- Build ra_interface_distributions_rec
2977 -- Build ra_interface_salescredits_all
2978 -- Build ar_interface_conts_all
2979
2980 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
2981 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Building AR records');
2982 END IF;
2983
2984 n := 1; -- rmunjulu R12 Fixes -- initialize n
2985 FOR K IN l_xfer_tbl.FIRST..l_xfer_tbl.LAST LOOP
2986
2987 BEGIN -- Bug#9576651
2988 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
2989 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','starting l_xfer_tbl loop with k:'||k);
2990 END IF;
2991 --Check if invoice line is belonging to vendor as a customer
2992 --or contract customer
2993
2994 -- sosharma FP bug 9962325
2995 if l_xfer_tbl(K).CUSTOMER_ID is NULL then
2996
2997 l_chk_customer_id:=null;
2998 get_customer_id( l_xfer_tbl(k).CONTRACT_NUMBER ,l_chk_customer_id );
2999
3000 end if;
3001
3002 OPEN c_inv_customer(l_xfer_tbl(K).KHR_ID, nvl(l_xfer_tbl(K).CUSTOMER_ID,l_chk_customer_id));
3003 FETCH c_inv_customer INTO l_inv_customer_rec;
3004 l_inv_customer := c_inv_customer%FOUND;
3005 CLOSE c_inv_customer;
3006 -- ----------------------------------
3007 -- Update prev header status
3008 -- Except for first record
3009 -- ----------------------------------
3010 IF l_hdr_id <> -9999 THEN
3011 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3012 -- UPDATE OKL_EXT_SELL_INVS_B
3013 UPDATE okl_trx_ar_invoices_b
3014 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3015 SET trx_status_code = 'PROCESSED',
3016 last_update_date = sysdate,
3017 last_updated_by = lx_last_updated_by,
3018 last_update_login = lx_last_update_login,
3019 request_id = lx_request_id,
3020 program_update_date = sysdate,
3021 program_application_id = lx_program_application_id,
3022 program_id = lx_program_id
3023 WHERE ID = l_hdr_id;
3024 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3025 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Updating header record with id: '||l_hdr_id);
3026 END IF;
3027 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3028 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Updating header record with id: '||l_hdr_id);
3029 END IF;
3030 END IF;
3031
3032 -- --------------------------
3033 -- Increment Commit counter
3034 -- --------------------------
3035
3036 l_commit_cnt := l_commit_cnt + 1;
3037
3038 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3039 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3040 -- OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Updating header record with id: '||l_xfer_tbl(k).xsi_id );
3041 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Updating header record with id: '||l_xfer_tbl(k).tai_id );
3042 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3043 END IF;
3044 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3045 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Updating header record with id: '||l_xfer_tbl(k).tai_id);
3046 END IF;
3047 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3048 -- IF l_hdr_id <> l_xfer_tbl(k).xsi_id THEN
3049 --commented out for R12 IF l_hdr_id <> l_xfer_tbl(k).tai_id THEN
3050 -- hdr_cnt := hdr_cnt + 1;
3051 hdr_cnt := k;
3052 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3053
3054 --vthiruva - Bug 4222231..start
3055 --for each new contract fetch the sales rep is and number and if there is no
3056 --sales rep attached to the contract, default it to 'No Sales Credit'(-3)
3057 -- Bug 7622476
3058 -- get invoice group related data
3059 Get_chr_inv_grp(
3060 p_inf_id => l_xfer_tbl(k).inf_id
3061 ,p_sty_id => l_xfer_tbl(k).sty_id
3062 ,x_group_by_contract_yn => l_group_by_contract_yn
3063 ,x_contract_level_yn => l_contract_level_yn
3064 ,x_group_asset_yn => l_group_asset_yn
3065 ,x_invoice_group => l_invoice_group
3066 );
3067
3068 l_khr_id := l_xfer_tbl(k).KHR_ID;
3069 l_xfer_tbl(k).KHR_ID := NULL;
3070 --l_kle_id := l_xfer_tbl(k).KLE_ID;
3071 --l_xfer_tbl(k).KLE_ID := NULL;
3072 IF (l_group_by_contract_yn = 'Y' OR l_contract_level_yn = 'N') THEN
3073 l_xfer_tbl(k).KHR_ID := l_khr_id;
3074 --IF l_group_by_assets_yn = 'N' THEN
3075 -- l_xfer_tbl(k).KLE_ID := l_kle_id;
3076 --END IF;
3077 END IF;
3078
3079 IF (l_prev_contract_num IS NULL OR
3080 l_prev_contract_num <> l_xfer_tbl(k).CONTRACT_NUMBER) THEN
3081
3082 OPEN get_sales_rep(l_xfer_tbl(k).CONTRACT_NUMBER);
3083 FETCH get_sales_rep INTO l_sales_person;
3084 IF get_sales_rep%NOTFOUND THEN
3085 l_salesrep_id := -3;
3086 l_salesrep_number := -3;
3087 ELSE
3088 OPEN sales_rep_csr(l_sales_person);
3089 FETCH sales_rep_csr INTO l_salesrep_id, l_salesrep_number;
3090 CLOSE sales_rep_csr;
3091 END IF;
3092 CLOSE get_sales_rep;
3093 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3094 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_salesrep_id:'||l_salesrep_id);
3095 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_salesrep_number:'||l_salesrep_number);
3096 END IF;
3097 l_prev_contract_num := l_xfer_tbl(k).CONTRACT_NUMBER;
3098
3099 END IF;
3100 --vthiruva - Bug 4222231..end
3101
3102 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3103 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Preparing Ra_interface_lines_all record.');
3104 END IF;
3105
3106 -- -------------------------------------
3107 -- Build Invoice Lines Table
3108 -- -------------------------------------
3109 inv_lines_tbl(hdr_cnt).WAREHOUSE_ID := l_xfer_tbl(k).ware_house_id;
3110 --Bug# 13340410: Setting org_id upfront so that record can be
3111 -- deleted from ra_interface_lines in case of errors
3112 inv_lines_tbl(hdr_cnt).ORG_ID := l_xfer_tbl(k).ORG_ID;
3113
3114 IF (l_xfer_tbl(k).rev_rec_basis = 'CASH_RECEIPT') THEN
3115 --Added if clause by bkatraga for bug 5616268
3116 --Accounting_rule_id will not be populated in case of on-account credit memo
3117 IF ((l_xfer_tbl(k).AMOUNT >= 0) OR (l_xfer_tbl(k).rev_txn_id IS NOT NULL)) THEN
3118 inv_lines_tbl(hdr_cnt).ACCOUNTING_RULE_ID := 1;
3119 END IF;
3120 --end bkatraga
3121 ELSE
3122 inv_lines_tbl(hdr_cnt).ACCOUNTING_RULE_ID := NULL;
3123 END IF;
3124
3125 inv_lines_tbl(hdr_cnt).ACCOUNTING_RULE_DURATION := NULL;
3126 inv_lines_tbl(hdr_cnt).AGREEMENT_ID := NUll;
3127 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3128 -- inv_lines_tbl(hdr_cnt).AMOUNT := l_xfer_tbl(k).XLS_AMOUNT;
3129 inv_lines_tbl(hdr_cnt).AMOUNT := l_xfer_tbl(k).AMOUNT;
3130 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3131
3132 -- tax-only invoice
3133 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3134 -- if l_xfer_tbl(k).XLS_AMOUNT = 0 then
3135 -- Bug 6619311
3136 /*
3137 if l_xfer_tbl(k).AMOUNT = 0 then
3138 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3139 inv_lines_tbl(hdr_cnt).memo_line_id := l_memo_line_id;
3140 end if;
3141 */
3142
3143 inv_lines_tbl(hdr_cnt).BATCH_SOURCE_NAME := 'OKL_CONTRACTS';
3144 inv_lines_tbl(hdr_cnt).COMMENTS := l_xfer_tbl(k).INVOICE_MESSAGE;
3145 inv_lines_tbl(hdr_cnt).CONVERSION_DATE := l_xfer_tbl(k).currency_conversion_date;
3146 inv_lines_tbl(hdr_cnt).CONVERSION_RATE := l_xfer_tbl(k).currency_conversion_rate;
3147 inv_lines_tbl(hdr_cnt).CONVERSION_TYPE := l_xfer_tbl(k).currency_conversion_type;
3148 inv_lines_tbl(hdr_cnt).CREATED_BY := G_user_id;
3149 inv_lines_tbl(hdr_cnt).CREATION_DATE := sysdate;
3150 inv_lines_tbl(hdr_cnt).CREDIT_METHOD_FOR_ACCT_RULE := l_xfer_tbl(k).cm_acct_rule;
3151 inv_lines_tbl(hdr_cnt).CREDIT_METHOD_FOR_INSTALLMENTS := NULL;
3152 inv_lines_tbl(hdr_cnt).CURRENCY_CODE := l_xfer_tbl(k).CURRENCY_CODE;
3153 inv_lines_tbl(hdr_cnt).CUST_TRX_TYPE_ID := l_xfer_tbl(k).CUST_TRX_TYPE_ID;
3154 /*inv_lines_tbl(hdr_cnt).DESCRIPTION := NVL (NVL (l_xfer_tbl(k).LINE_DESCRIPTION,
3155 l_xfer_tbl(k).HDR_DESCRIPTION), 'OKL Billing');*/
3156 -- Bug 7045347
3157 inv_lines_tbl(hdr_cnt).DESCRIPTION := NVL(l_xfer_tbl(k).INVOICE_LINE_TYPE, SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH));
3158 inv_lines_tbl(hdr_cnt).LAST_UPDATED_BY := G_user_id;
3159 inv_lines_tbl(hdr_cnt).LAST_UPDATE_DATE := sysdate;
3160 inv_lines_tbl(hdr_cnt).LINE_TYPE := l_xfer_tbl(k).LINE_TYPE;
3161
3162 inv_lines_tbl(hdr_cnt).TRX_NUMBER := l_xfer_tbl(k).TRX_NUMBER;
3163 inv_lines_tbl(hdr_cnt).TRX_DATE := l_xfer_tbl(k).TRX_DATE;
3164 inv_lines_tbl(hdr_cnt).GL_DATE := l_xfer_tbl(k).TRX_DATE;
3165 inv_lines_tbl(hdr_cnt).PRINTING_OPTION := NULL;
3166
3167 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3168 inv_lines_tbl(hdr_cnt).CONS_BILLING_NUMBER := NULL;
3169 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'INVESTOR_STAKE' THEN
3170 -- gkhuntet 24-JUL-2007 added for Investor Invoices Start.
3171 inv_lines_tbl(hdr_cnt).BATCH_SOURCE_NAME := 'OKL_INVESTOR';
3172 -- gkhuntet 24-JUL-2007 added for Investor Invoices End.
3173 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE1 := SUBSTR(TRIM(l_xfer_tbl(k).Investor_Agreement_Number),1,G_AR_DATA_LENGTH);
3174 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE2 := NULL;
3175 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE3 := NULL;
3176 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE4 := SUBSTR(TRIM(l_xfer_tbl(k).Investor_Name),1,G_AR_DATA_LENGTH);
3177 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE5 := SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH);
3178 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE6 := NULL;
3179 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE7 := NULL;
3180 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE8 := NULL;
3181 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE9 := NULL;
3182 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE10 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3183 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE11 := NULL;
3184 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE12 := NULL;
3185 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE13 := NULL;
3186 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE14 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3187 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE15 := NULL;
3188 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_CONTEXT := 'OKL_INVESTOR';
3189
3190 ELSE
3191 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE1 := NULL;
3192 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE2 := SUBSTR(TRIM(l_invoice_group),1,G_AR_DATA_LENGTH);
3193 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE3 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_PULL_YN),1,G_AR_DATA_LENGTH);
3194 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE4 := SUBSTR(TRIM(l_xfer_tbl(k).PRIVATE_LABEL),1,G_AR_DATA_LENGTH);
3195 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE5 := NULL;
3196 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE6 := SUBSTR(TRIM(l_xfer_tbl(k).CONTRACT_NUMBER),1,G_AR_DATA_LENGTH);
3197 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE7 := SUBSTR(TRIM(l_xfer_tbl(k).ASSET_NUMBER),1,G_AR_DATA_LENGTH);
3198 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE8 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_FORMAT_LINE_TYPE),1,G_AR_DATA_LENGTH);
3199 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE9 := SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH);
3200 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE10 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3201 -- if the source of the billing trx is termination quote, the OKL billing trx number is Quite_number
3202 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'TERMINATION_QUOTE' THEN
3203 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE11 := SUBSTR(TRIM(l_xfer_tbl(k).Quote_number),1,G_AR_DATA_LENGTH);
3204 END IF;
3205 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE12 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).KHR_ID)),1,G_AR_DATA_LENGTH);
3206 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE13 := SUBSTR(TRIM(l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX),1,G_AR_DATA_LENGTH);
3207 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE14 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3208 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_ATTRIBUTE15 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_FORMAT_TYPE),1,G_AR_DATA_LENGTH);
3209 inv_lines_tbl(hdr_cnt).INTERFACE_LINE_CONTEXT := 'OKL_CONTRACTS';
3210 END IF;
3211 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3212
3213 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3214 -- start: cklee 3/22/2007
3215 -- Credit memo:
3216 -- If It's a credit memo invoice, we need to assign the invoice reference
3217 -- to interfcae table for the following:
3218 -- 1. If the invoice reference is a legacy invoice (up to OKL.H), assign FK to
3219 -- REFERENCE_LINExxx
3220 -- 2. If the invoice reference is NOT a legacy invoice (R12 going forward), get the AR
3221 -- invoice line and then assign to REFERENCE_LINE_ID.
3222 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3223 --Bug# 13340410
3224 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').org_id:' || inv_lines_tbl(hdr_cnt).org_id);
3225
3226 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').accounting_rule_id:'||inv_lines_tbl(hdr_cnt).accounting_rule_id);
3227 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').amount:'||inv_lines_tbl(hdr_cnt).amount);
3228 -- Bug 6619311
3229 /*
3230 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').memo_line_id:'||inv_lines_tbl(hdr_cnt).memo_line_id);
3231 */
3232 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').batch_source_name:'||inv_lines_tbl(hdr_cnt).batch_source_name);
3233 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').comments:'||inv_lines_tbl(hdr_cnt).comments);
3234 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').conversion_date:'||inv_lines_tbl(hdr_cnt).conversion_date);
3235 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').conversion_rate:'||inv_lines_tbl(hdr_cnt).conversion_rate);
3236 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').conversion_type:'||inv_lines_tbl(hdr_cnt).conversion_type);
3237 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').created_by:'||inv_lines_tbl(hdr_cnt).created_by);
3238 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').creation_date:'||inv_lines_tbl(hdr_cnt).creation_date);
3239 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').credit_method_for_acct_rule:'||inv_lines_tbl(hdr_cnt).credit_method_for_acct_rule);
3240 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').credit_method_for_installments:'|| inv_lines_tbl(hdr_cnt).credit_method_for_installments);
3241 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').currency_code:'||inv_lines_tbl(hdr_cnt).currency_code);
3242 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').cust_trx_type_id:'||inv_lines_tbl(hdr_cnt).cust_trx_type_id);
3243 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').description:'||inv_lines_tbl(hdr_cnt).description);
3244 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').last_updated_by:'||inv_lines_tbl(hdr_cnt).last_updated_by);
3245 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').last_update_date:'||inv_lines_tbl(hdr_cnt).last_update_date);
3246 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').line_type:'||inv_lines_tbl(hdr_cnt).line_type);
3247 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').trx_number:'||inv_lines_tbl(hdr_cnt).trx_number);
3248 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').trx_date:'||inv_lines_tbl(hdr_cnt).trx_date);
3249 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').gl_date:'||inv_lines_tbl(hdr_cnt).gl_date);
3250 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').printing_option:'||inv_lines_tbl(hdr_cnt).printing_option);
3251 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').batch_source_name:'||inv_lines_tbl(hdr_cnt).batch_source_name);
3252 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute1:'||inv_lines_tbl(hdr_cnt).interface_line_attribute1);
3253 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute2:'||inv_lines_tbl(hdr_cnt).interface_line_attribute2);
3254 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute3:'||inv_lines_tbl(hdr_cnt).interface_line_attribute3);
3255 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute4:'||inv_lines_tbl(hdr_cnt).interface_line_attribute4);
3256 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute5:'||inv_lines_tbl(hdr_cnt).interface_line_attribute5);
3257 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute6:'||inv_lines_tbl(hdr_cnt).interface_line_attribute6);
3258 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute7:'||inv_lines_tbl(hdr_cnt).interface_line_attribute7);
3259 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute8:'||inv_lines_tbl(hdr_cnt).interface_line_attribute8);
3260 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute9:'||inv_lines_tbl(hdr_cnt).interface_line_attribute9);
3261 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute10:'||inv_lines_tbl(hdr_cnt).interface_line_attribute10);
3262 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute11:'||inv_lines_tbl(hdr_cnt).interface_line_attribute11);
3263 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute12:'||inv_lines_tbl(hdr_cnt).interface_line_attribute12);
3264 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute13:'||inv_lines_tbl(hdr_cnt).interface_line_attribute13);
3265 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute14:'||inv_lines_tbl(hdr_cnt).interface_line_attribute14);
3266 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_attribute15:'||inv_lines_tbl(hdr_cnt).interface_line_attribute15);
3267 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').interface_line_context:'||inv_lines_tbl(hdr_cnt).interface_line_context);
3268
3269 END IF;
3270
3271
3272 IF (l_xfer_tbl(k).rev_txn_id IS NOT NULL) THEN
3273
3274
3275 open is_legacy_invoice(l_xfer_tbl(k).rev_txn_id);
3276 fetch is_legacy_invoice into l_lsm_id;
3277 close is_legacy_invoice;
3278
3279
3280 -- it's a legacy invoice for which the credit memo is applied
3281 IF l_lsm_id is not null THEN
3282
3283
3284 inv_lines_tbl(hdr_cnt).REFERENCE_LINE_CONTEXT := 'OKL_CONTRACTS';
3285 inv_lines_tbl(hdr_cnt).REFERENCE_LINE_ATTRIBUTE14
3286 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).rev_txn_id)),1,G_AR_DATA_LENGTH);
3287
3288 ELSE
3289
3290
3291 OPEN get_invoice_line_id(l_xfer_tbl(k).rev_txn_id);
3292 fetch get_invoice_line_id into l_customer_trx_line_id;
3293 close get_invoice_line_id;
3294
3295
3296 inv_lines_tbl(hdr_cnt).REFERENCE_LINE_ID := TO_CHAR(l_customer_trx_line_id);
3297
3298
3299 END IF;
3300 END IF;
3301 -- end: cklee 3/22/2007
3302
3303 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3304 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_lsm_id:'||l_lsm_id);
3305 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').reference_line_context:'||inv_lines_tbl(hdr_cnt).reference_line_context);
3306 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').reference_line_id:'||inv_lines_tbl(hdr_cnt).reference_line_id);
3307 END IF;
3308
3309
3310 --akrangan added ebtax billing impacts coding start
3311 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'TAX_ONLY_INVOICE_TAX' THEN
3312 OPEN tax_sources_csr(p_tai_id => l_xfer_tbl(k).tai_id,
3313 p_tld_id =>l_xfer_tbl(k).txn_id);
3314 FETCH tax_sources_csr INTO tax_sources_rec;
3315 CLOSE tax_sources_csr;
3316 --populating the invoice lines interface tbl with tax sources rec
3317 inv_lines_tbl(hdr_cnt).source_trx_id := tax_sources_rec.trx_id;
3318 inv_lines_tbl(hdr_cnt).source_trx_line_id := tax_sources_rec.trx_line_id;
3319 inv_lines_tbl(hdr_cnt).source_trx_line_type := tax_sources_rec.trx_level_type;
3320 inv_lines_tbl(hdr_cnt).source_application_id := tax_sources_rec.application_id;
3321 inv_lines_tbl(hdr_cnt).source_event_class_code := tax_sources_rec.event_class_code;
3322 inv_lines_tbl(hdr_cnt).source_entity_code := tax_sources_rec.entity_code;
3323 -- Bug 6619311
3324 inv_lines_tbl(hdr_cnt).SOURCE_TRX_DETAIL_TAX_LINE_ID := tax_sources_rec.tax_line_id;
3325 inv_lines_tbl(hdr_cnt).TAXED_UPSTREAM_FLAG := 'Y';
3326 inv_lines_tbl(hdr_cnt).TAXABLE_FLAG := 'N';
3327 OPEN zx_lines_csr(tax_sources_rec.tax_line_id);
3328 FETCH zx_lines_csr into zx_lines_rec;
3329 CLOSE zx_lines_csr;
3330 inv_lines_tbl(hdr_cnt).HISTORICAL_FLAG := zx_lines_rec.HISTORICAL_FLAG;
3331 inv_lines_tbl(hdr_cnt).TAX_REGIME_CODE := zx_lines_rec.TAX_REGIME_CODE;
3332 inv_lines_tbl(hdr_cnt).TAX := zx_lines_rec.TAX;
3333 inv_lines_tbl(hdr_cnt).TAX_STATUS_CODE := zx_lines_rec.TAX_STATUS_CODE;
3334 inv_lines_tbl(hdr_cnt).TAX_RATE_CODE := zx_lines_rec.TAX_RATE_CODE;
3335 inv_lines_tbl(hdr_cnt).TAX_JURISDICTION_CODE := zx_lines_rec.TAX_JURISDICTION_CODE;
3336 inv_lines_tbl(hdr_cnt).TAXABLE_AMOUNT := zx_lines_rec.TAXABLE_AMT;
3337 inv_lines_tbl(hdr_cnt).LEGAL_ENTITY_ID := zx_lines_rec.LEGAL_ENTITY_ID;
3338 /*inv_lines_tbl(hdr_cnt).TRX_BUSINESS_CATEGORY := NULL;
3339 inv_lines_tbl(hdr_cnt).TAX_CODE := NULL;
3340 inv_lines_tbl(hdr_cnt).PRODUCT_CATEGORY := NULL;
3341 inv_lines_tbl(hdr_cnt).PRODUCT_TYPE := NULL;
3342 inv_lines_tbl(hdr_cnt).LINE_INTENDED_USE := NULL;
3343 inv_lines_tbl(hdr_cnt).USER_DEFINED_FISC_CLASS := NULL;
3344 inv_lines_tbl(hdr_cnt).ASSESSABLE_VALUE := NULL;
3345 --inv_lines_tbl(hdr_cnt).DEFAULT_TAXATION_COUNTRY := NULL;*/
3346 inv_lines_tbl(hdr_cnt).DEFAULT_TAXATION_COUNTRY := x_tax_det_rec.X_DEFAULT_TAXATION_COUNTRY;
3347
3348 END IF;
3349 --akrangan added ebtax billing impacts coding end
3350 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3351 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').source_trx_id:'||inv_lines_tbl(hdr_cnt).source_trx_id);
3352 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').source_trx_line_id:'||inv_lines_tbl(hdr_cnt).source_trx_line_id);
3353 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').source_trx_line_type:'||inv_lines_tbl(hdr_cnt).source_trx_line_type);
3354 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').source_application_id:'||inv_lines_tbl(hdr_cnt).source_application_id);
3355 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').source_event_class_code:'||inv_lines_tbl(hdr_cnt).source_event_class_code);
3356 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').source_entity_code:'||inv_lines_tbl(hdr_cnt).source_entity_code);
3357 END IF;
3358 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3359
3360 IF l_xfer_tbl(k).INVENTORY_ITEM_ID IS NULL
3361 AND l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX <> 'TAX_ONLY_INVOICE_TAX' THEN
3362 inv_lines_tbl(hdr_cnt).INVENTORY_ITEM_ID := l_xfer_tbl(k).l_inv_id;
3363 ELSIF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX <> 'TAX_ONLY_INVOICE_TAX' THEN
3364 inv_lines_tbl(hdr_cnt).INVENTORY_ITEM_ID := l_xfer_tbl(k).INVENTORY_ITEM_ID;
3365 END IF;
3366
3367 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3368 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').inventory_item_id:'||inv_lines_tbl(hdr_cnt).inventory_item_id);
3369 END IF;
3370
3371 IF (l_xfer_tbl(k).rev_rec_basis = 'CASH_RECEIPT') THEN
3372 --Added if clause by bkatraga for bug 5616268
3373 --Accounting_rule_id will not be populated in case of on-account credit memo
3374 IF ((l_xfer_tbl(k).AMOUNT >= 0) OR (l_xfer_tbl(k).rev_txn_id IS NOT NULL)) THEN
3375 inv_lines_tbl(hdr_cnt).INVOICING_RULE_ID := -2;
3376 END IF;
3377 --end bkatraga
3378 ELSE
3379 inv_lines_tbl(hdr_cnt).INVOICING_RULE_ID := NULL;
3380 END IF;
3381
3382 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3383 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').invoicing_rule_id:'||inv_lines_tbl(hdr_cnt).invoicing_rule_id);
3384 END IF;
3385
3386 IF (l_xfer_tbl(k).rev_rec_basis = 'CASH_RECEIPT') THEN
3387 inv_lines_tbl(hdr_cnt).OVERRIDE_AUTO_ACCOUNTING_FLAG := 'Y';
3388 ELSE
3389 inv_lines_tbl(hdr_cnt).OVERRIDE_AUTO_ACCOUNTING_FLAG := NULL;
3390 END IF;
3391 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3392 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').override_auto_accounting_flag:'||inv_lines_tbl(hdr_cnt).override_auto_accounting_flag);
3393 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').RECEIPT_METHOD_ID:'||l_xfer_tbl(k).RECEIPT_METHOD_ID);
3394 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl('||k||').KLE_ID:'||l_xfer_tbl(k).KLE_ID);
3395 END IF;
3396
3397 --start: | 28-Mar-07 cklee R12 Billing enhancement project
3398 -- get bill-to information from contract line if any
3399 --nikshah for bug 9223230, added if clause
3400 --nikshah for bug 9255769, switch the order of if blocks
3401 -- and added investor stake condition
3402 IF NVL(l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX,'NONE') <> 'REMARKETING' THEN --Bug# 9974381
3403 IF NOT l_inv_customer AND
3404 l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX <> 'INVESTOR_STAKE'THEN
3405
3406
3407 --Vendor bank account details
3408 -- sosharma Bug 9871252 , Added check to call procedure only for Automatic payment method
3409
3410 --Bug# 9974381
3411 -- Initialize rct_method_code
3412 rct_method_code := NULL;
3413 OPEN rcpt_cr_method_csr (l_xfer_tbl(k).RECEIPT_METHOD_ID);
3414 FETCH rcpt_cr_method_csr INTO rct_method_code;
3415 CLOSE rcpt_cr_method_csr;
3416
3417 IF rct_method_code = 'AUTOMATIC' then
3418 get_vendor_auto_bank_dtls
3419 ( p_api_version => p_api_version,
3420 p_init_msg_list => p_init_msg_list,
3421 p_khr_id => l_khr_id,
3422 p_customer_address_id => l_xfer_tbl(k).CUSTOMER_ADDRESS_ID,
3423 p_bank_id => l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID,
3424 p_trx_date => l_xfer_tbl(k).trx_date,
3425 p_receipt_method_id => l_xfer_tbl(k).RECEIPT_METHOD_ID,
3426 x_receipt_method_id => l_xfer_tbl(k).RECEIPT_METHOD_ID,
3427 x_payment_trxn_extension_id => inv_lines_tbl(hdr_cnt).payment_trxn_extension_id,
3428 x_customer_bank_account_id => inv_lines_tbl(hdr_cnt).customer_bank_account_id,
3429 x_return_status => x_return_status,
3430 x_msg_count => x_msg_count,
3431 x_msg_data => x_msg_data);
3432 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3433 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3434 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3435 RAISE FND_API.G_EXC_ERROR;
3436 END IF;
3437 -- For Automatic receipt method, bank account id should be NULL as the column is obsoleted
3438 l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID := NULL;
3439 END IF;
3440 ELSE
3441 get_cust_config_from_line(
3442 p_kle_id => l_xfer_tbl(k).KLE_ID
3443 ,p_customer_address_id => l_xfer_tbl(k).CUSTOMER_ADDRESS_ID
3444 ,p_customer_bank_account_id => l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID
3445 ,p_receipt_method_id => l_xfer_tbl(k).RECEIPT_METHOD_ID
3446 ,x_customer_address_id => l_xfer_tbl(k).CUSTOMER_ADDRESS_ID
3447 ,x_customer_bank_account_id => l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID
3448 ,x_receipt_method_id => l_xfer_tbl(k).RECEIPT_METHOD_ID
3449 -- BANK-ACCOUNT-UPTAKE-START
3450 ,x_creation_method_code => l_creation_method_code
3451 ,x_bank_line_id1 => l_bank_line_id1
3452 -- BANK-ACCOUNT-UPTAKE-END
3453 );
3454 END IF;
3455 End if; --Bug# 9974381
3456
3457 --end: | 28-Mar-07 cklee R12 Billing enhancement project
3458
3459 inv_lines_tbl(hdr_cnt).ORIG_SYSTEM_BILL_CUSTOMER_ID := l_xfer_tbl(k).CUSTOMER_ID;
3460 inv_lines_tbl(hdr_cnt).ORIG_SYSTEM_BILL_ADDRESS_ID := l_xfer_tbl(k).CUSTOMER_ADDRESS_ID;
3461 inv_lines_tbl(hdr_cnt).ORIG_SYSTEM_SHIP_CUSTOMER_ID := l_xfer_tbl(k).CUSTOMER_ID;
3462
3463 IF l_xfer_tbl(k).ship_to IS NOT NULL THEN
3464 inv_lines_tbl(hdr_cnt).ORIG_SYSTEM_SHIP_ADDRESS_ID := l_xfer_tbl(k).ship_to;
3465 ELSE
3466 inv_lines_tbl(hdr_cnt).ORIG_SYSTEM_SHIP_ADDRESS_ID := l_xfer_tbl(k).CUSTOMER_ADDRESS_ID;
3467 END IF;
3468
3469 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3470 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').orig_system_bill_customer_id:'||inv_lines_tbl(hdr_cnt).orig_system_bill_customer_id);
3471 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').orig_system_bill_address_id:'||inv_lines_tbl(hdr_cnt).orig_system_bill_address_id);
3472 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').orig_system_ship_customer_id:'||inv_lines_tbl(hdr_cnt).orig_system_ship_customer_id);
3473 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').orig_system_ship_address_id:'||inv_lines_tbl(hdr_cnt).orig_system_ship_address_id);
3474 END IF;
3475
3476 inv_lines_tbl(hdr_cnt).ORIG_SYSTEM_BILL_CONTACT_ID := NULL;
3477 inv_lines_tbl(hdr_cnt).ORIG_SYSTEM_SOLD_CUSTOMER_ID := NULL;
3478 --vthiruva - Bug 4222231..start..removed hardcoding of sales rep
3479 inv_lines_tbl(hdr_cnt).PRIMARY_SALESREP_NUMBER := l_salesrep_number;
3480 inv_lines_tbl(hdr_cnt).PRIMARY_SALESREP_ID := l_salesrep_id;
3481 --vthiruva - Bug 4222231..end
3482 inv_lines_tbl(hdr_cnt).PURCHASE_ORDER := NULL;
3483 inv_lines_tbl(hdr_cnt).PURCHASE_ORDER_REVISION := NULL;
3484 inv_lines_tbl(hdr_cnt).PURCHASE_ORDER_DATE := NULL;
3485 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3486 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').primary_salesrep_number:'||inv_lines_tbl(hdr_cnt).primary_salesrep_number);
3487 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').primary_salesrep_id:'||inv_lines_tbl(hdr_cnt).primary_salesrep_id);
3488 END IF;
3489
3490 -- BANK-ACCOUNT-UPTAKE-START
3491 IF (l_creation_method_code = 'AUTOMATIC') THEN
3492 -- call procedure get_auto_bank_dtls to derive banking details for the
3493 -- automatic receipt creation method
3494 -- gboomina Bug 6832065 - Start
3495 -- get khr_id from contract number. khr_id is not populated in l_xfer_tbl for all records.
3496 -- some of l_xfer_tbl records can have khr_id as NULL. so getting khr_id using l_xfer_tbl(k).contract_number.
3497 if (l_xfer_tbl(k).khr_id is null) then
3498 open get_khr_id_csr(l_xfer_tbl(k).contract_number);
3499 fetch get_khr_id_csr into l_khr_id;
3500 close get_khr_id_csr;
3501 else
3502 l_khr_id := l_xfer_tbl(k).khr_id;
3503 end if;
3504 --nikshah added for bug 9223230, if clause.
3505 --Added ELSE block
3506 IF l_inv_customer THEN
3507 get_auto_bank_dtls(p_api_version => p_api_version,
3508 p_init_msg_list => p_init_msg_list,
3509 p_khr_id => l_khr_id, -- gboomina for bug 7513216
3510 p_customer_address_id => l_xfer_tbl(k).CUSTOMER_ADDRESS_ID,
3511 p_bank_id => l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID,
3512 -- gboomina added p_trx_date for bug 7513216
3513 p_trx_date => l_xfer_tbl(k).trx_date,
3514 x_payment_trxn_extension_id => inv_lines_tbl(hdr_cnt).payment_trxn_extension_id,
3515 x_customer_bank_account_id => inv_lines_tbl(hdr_cnt).customer_bank_account_id,
3516 x_return_status => x_return_status,
3517 x_msg_count => x_msg_count,
3518 x_msg_data => x_msg_data
3519 );
3520 END IF;
3521 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3522 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3523 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3524 RAISE FND_API.G_EXC_ERROR;
3525 END IF;
3526
3527 -- For Automatic receipt method, bank account id should be NULL as the column is obsoleted
3528 l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID := NULL;
3529 -- gboomina Bug 6832065 - End
3530 END IF;
3531
3532
3533 --start: | 23-Mar-07 cklee R12 Billing enhancement project
3534 -- Null out receive mathod and bank account for Sales Order and Termination Quote,
3535 -- These values will be taken from the AR setup for the customer.
3536 -- 08-feb-2008 ansethur added payment trx extension as well to get nulled out
3537 nullout_rec_method(
3538 p_contract_id => l_xfer_tbl(k).khr_id
3539 ,p_Quote_number => l_xfer_tbl(k).Quote_number
3540 ,p_sty_id => l_xfer_tbl(k).sty_id
3541 ,p_customer_bank_account_id => l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID
3542 ,p_receipt_method_id => l_xfer_tbl(k).RECEIPT_METHOD_ID -- irm_id
3543 ,p_payment_trxn_extension_id => inv_lines_tbl(hdr_cnt).PAYMENT_TRXN_EXTENSION_ID
3544 ,x_customer_bank_account_id => inv_lines_tbl(hdr_cnt).CUSTOMER_BANK_ACCOUNT_ID
3545 ,x_receipt_method_id => inv_lines_tbl(hdr_cnt).RECEIPT_METHOD_ID
3546 ,x_payment_trxn_extension_id => inv_lines_tbl(hdr_cnt).PAYMENT_TRXN_EXTENSION_ID
3547 );
3548
3549 -- inv_lines_tbl(hdr_cnt).CUSTOMER_BANK_ACCOUNT_ID := l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID;
3550 -- inv_lines_tbl(hdr_cnt).RECEIPT_METHOD_ID := l_xfer_tbl(k).RECEIPT_METHOD_ID;
3551 --end: | 23-Mar-07 cklee R12 Billing enhancement project
3552 inv_lines_tbl(hdr_cnt).RECEIPT_METHOD_NAME := NULL;
3553
3554 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3555 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_creation_method_code:'||l_creation_method_code);
3556 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl(k).CUSTOMER_ADDRESS_ID:'||l_xfer_tbl(k).CUSTOMER_ADDRESS_ID);
3557 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID'||l_xfer_tbl(k).CUSTOMER_BANK_ACCOUNT_ID);
3558 END IF;
3559
3560
3561
3562 -- tax-only invoice
3563 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3564 -- if l_xfer_tbl(k).XLS_AMOUNT = 0 then
3565 if l_xfer_tbl(k).AMOUNT = 0 then
3566 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3567 inv_lines_tbl(hdr_cnt).QUANTITY := 0;
3568 else
3569 inv_lines_tbl(hdr_cnt).QUANTITY := l_xfer_tbl(k).QUANTITY;
3570 end if;
3571
3572
3573 inv_lines_tbl(hdr_cnt).QUANTITY_ORDERED := NULL;
3574 inv_lines_tbl(hdr_cnt).REASON_CODE := NULL;
3575 inv_lines_tbl(hdr_cnt).REASON_CODE_MEANING := NULL;
3576 -- inv_lines_tbl(hdr_cnt).REFERENCE_LINE_ID := NULL;
3577 inv_lines_tbl(hdr_cnt).RULE_START_DATE := NULL;
3578 inv_lines_tbl(hdr_cnt).SALES_ORDER := NULL;
3579 inv_lines_tbl(hdr_cnt).SALES_ORDER_LINE := NULL;
3580 inv_lines_tbl(hdr_cnt).SALES_ORDER_DATE := NULL;
3581 inv_lines_tbl(hdr_cnt).SALES_ORDER_SOURCE := NULL;
3582 inv_lines_tbl(hdr_cnt).SET_OF_BOOKS_ID := l_xfer_tbl(k).SET_OF_BOOKS_ID;
3583
3584 IF l_xfer_tbl(k).TAX_EXEMPT_FLAG = 'S' THEN
3585 inv_lines_tbl(hdr_cnt).TAX_EXEMPT_FLAG := 'S';
3586 ELSIF l_xfer_tbl(k).TAX_EXEMPT_FLAG = 'E' THEN
3587 inv_lines_tbl(hdr_cnt).TAX_EXEMPT_FLAG := 'E';
3588 ELSIF l_xfer_tbl(k).TAX_EXEMPT_FLAG = 'R' THEN
3589 inv_lines_tbl(hdr_cnt).TAX_EXEMPT_FLAG := 'R';
3590 ELSE
3591 inv_lines_tbl(hdr_cnt).TAX_EXEMPT_FLAG := 'S';
3592 END IF;
3593
3594 inv_lines_tbl(hdr_cnt).TAX_EXEMPT_NUMBER := NULL;
3595
3596 IF l_xfer_tbl(k).TAX_EXEMPT_FLAG = 'E' THEN
3597 inv_lines_tbl(hdr_cnt).TAX_EXEMPT_REASON_CODE := 'MANUFACTURER';
3598 ELSE
3599 inv_lines_tbl(hdr_cnt).TAX_EXEMPT_REASON_CODE := NULL;
3600 END IF;
3601
3602 inv_lines_tbl(hdr_cnt).TERM_ID := l_xfer_tbl(k).TERM_ID;
3603 inv_lines_tbl(hdr_cnt).UNIT_SELLING_PRICE := NULL;
3604 inv_lines_tbl(hdr_cnt).UNIT_STANDARD_PRICE := NULL;
3605 inv_lines_tbl(hdr_cnt).UOM_CODE := l_xfer_tbl(k).uom_code;
3606 --Bug# 13340410: Moved this code above
3607 --inv_lines_tbl(hdr_cnt).ORG_ID := l_xfer_tbl(k).ORG_ID;
3608 inv_lines_tbl(hdr_cnt).LEGAL_ENTITY_ID := l_xfer_tbl(k).LEGAL_ENTITY_ID; -- for LE Uptake project 08-11-2006
3609
3610
3611 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3612 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Done Preparing Ra_interface_lines_all record.');
3613 END IF;
3614 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3615 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').legal_entity_id:' || inv_lines_tbl(hdr_cnt).legal_entity_id);
3616 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').org_id:' || inv_lines_tbl(hdr_cnt).org_id);
3617 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').quantity:' || inv_lines_tbl(hdr_cnt).quantity);
3618 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').quantity_ordered:' || inv_lines_tbl(hdr_cnt).quantity_ordered);
3619 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').reason_code:' || inv_lines_tbl(hdr_cnt).reason_code);
3620 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').reason_code_meaning:' || inv_lines_tbl(hdr_cnt).reason_code_meaning);
3621 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').receipt_method_name:' || inv_lines_tbl(hdr_cnt).receipt_method_name);
3622 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').rule_start_date:' || inv_lines_tbl(hdr_cnt).rule_start_date);
3623 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').sales_order:' || inv_lines_tbl(hdr_cnt).sales_order);
3624 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').sales_order_date:' || inv_lines_tbl(hdr_cnt).sales_order_date);
3625 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').sales_order_line:' || inv_lines_tbl(hdr_cnt).sales_order_line);
3626 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').sales_order_source:' || inv_lines_tbl(hdr_cnt).sales_order_source);
3627 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').set_of_books_id:' || inv_lines_tbl(hdr_cnt).set_of_books_id);
3628 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').tax_exempt_flag:' || inv_lines_tbl(hdr_cnt).tax_exempt_flag);
3629 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').tax_exempt_number:' || inv_lines_tbl(hdr_cnt).tax_exempt_number);
3630 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').tax_exempt_reason_code:' || inv_lines_tbl(hdr_cnt).tax_exempt_reason_code);
3631 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').term_id:' || inv_lines_tbl(hdr_cnt).term_id);
3632 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').unit_selling_price:' || inv_lines_tbl(hdr_cnt).unit_selling_price);
3633 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').unit_standard_price:' || inv_lines_tbl(hdr_cnt).unit_standard_price);
3634 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').uom_code:' || inv_lines_tbl(hdr_cnt).uom_code);
3635 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Done Preparing Ra_interface_lines_all record.');
3636 END IF;
3637 -- Start Sales Tax Code
3638
3639 -- -------------------------------------
3640 -- Insert Tax record
3641 -- -------------------------------------
3642
3643 -- Insert tax record for ivoices and on-account credit memos
3644 IF NVL(l_xfer_tbl(k).TAX_EXEMPT_FLAG, 'S') <> 'E' THEN
3645
3646 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3647 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Preparing Ra_interface_lines_all tax record.');
3648 END IF;
3649 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3650 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Preparing Ra_interface_lines_all tax record.');
3651 END IF;
3652 --start| 02-MAR-07 cklee R12 Billing enhancement project |
3653 -- ebtax integration
3654 /*
3655 open c_try_name(l_xfer_tbl(k).try_id);
3656 fetch c_try_name into l_try_name;
3657 close c_try_name;
3658 */
3659
3660 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3661 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','try_name before okl_process_sales_tax_pvt.get_tax_determinants'||l_xfer_tbl(k).try_name);
3662 END IF;
3663 IF (
3664 ((l_xfer_tbl(k).try_name = 'Credit Memo') AND (l_xfer_tbl(k).rev_txn_id IS NULL))
3665 OR
3666 ((l_xfer_tbl(k).try_name = 'Release Credit Memo') AND (l_xfer_tbl(k).rev_txn_id IS NULL)) --sechawla 25-Sep-2010 10139246 : added
3667 OR
3668 (l_xfer_tbl(k).try_name = 'Billing')
3669 OR
3670 (l_xfer_tbl(k).try_name = 'Release Billing') --sechawla 25-Sep-2010 10139246 : added
3671 OR
3672 (l_xfer_tbl(k).try_name = 'Evergreen') --sechawla 01-jun-11 12539101 : added this condition
3673
3674 ) THEN --- vpanwar for bug no 6401432
3675 -- IF l_xfer_tbl(k).try_name IN ('Billing', 'Credit Memo') THEN --- vpanwar for bug no 6401432
3676
3677 --sechawla 01-jun-11 12539101 : 'Evergreen' transaction to be treated as 'Billing' transaction for
3678 --tax purposes. Tax determinants need to be fetched for Evergreen, just like Billing transaction.
3679 IF l_xfer_tbl(k).try_name = 'Evergreen' THEN
3680 l_trx_type_name := 'Billing';
3681 ELSE
3682 l_trx_type_name := l_xfer_tbl(k).try_name;
3683 END IF;
3684
3685 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3686
3687 --sechawla 25-Sep-2010 10139246 : added following debug messages
3688 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling okl_process_sales_tax_pvt.get_tax_determinants');
3689
3690 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling get_tax_determinants for try_name '||l_xfer_tbl(k).try_name);
3691 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling get_tax_determinants for rev_txn_id '||l_xfer_tbl(k).rev_txn_id);
3692 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling get_tax_determinants for amount'||l_xfer_tbl(k).amount);
3693 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling get_tax_determinants for sty_id'||l_xfer_tbl(k).sty_id);
3694 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling get_tax_determinants for quote_number'||l_xfer_tbl(k).quote_number);
3695 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling get_tax_determinants for khr_id'||l_xfer_tbl(k).khr_id);
3696 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling get_tax_determinants for contract_number'||l_xfer_tbl(k).contract_number);
3697
3698 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','calling get_tax_determinants for OKL_SOURCE_BILLING_TRX'||l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX);
3699
3700
3701
3702
3703
3704 END IF;
3705 OKL_PROCESS_SALES_TAX_PVT.get_tax_determinants(
3706 p_api_version => p_api_version,
3707 p_init_msg_list => p_init_msg_list,
3708 x_return_status => x_return_status,
3709 x_msg_count => x_msg_count,
3710 x_msg_data => x_msg_data,
3711 p_source_trx_id => l_xfer_tbl(k).TXN_ID,
3712 --p_source_trx_name => l_xfer_tbl(k).try_name, --sechawla 01-jun-11 12539101
3713 p_source_trx_name => l_trx_type_name, --sechawla 01-jun-11 12539101
3714 p_source_table => 'OKL_TXD_AR_LN_DTLS_B',
3715 x_tax_det_rec => x_tax_det_rec); -- 5902234
3716 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3717 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','okl_process_sales_tax_pvt.get_tax_determinants returned with x_return_status:'||x_return_status);
3718 END IF;
3719
3720
3721 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3722 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3723 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3724 RAISE FND_API.G_EXC_ERROR;
3725 END IF;
3726 --akrangan code fix begin
3727 --added to eliminate tax attributes for tax only invoices
3728 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX <> 'TAX_ONLY_INVOICE_TAX' THEN
3729 -- 5902234
3730 inv_lines_tbl(hdr_cnt).TAX_CODE := x_tax_det_rec.X_TAX_CODE;
3731 inv_lines_tbl(hdr_cnt).TRX_BUSINESS_CATEGORY := x_tax_det_rec.X_TRX_BUSINESS_CATEGORY;
3732 inv_lines_tbl(hdr_cnt).PRODUCT_CATEGORY := x_tax_det_rec.X_PRODUCT_CATEGORY;
3733 inv_lines_tbl(hdr_cnt).PRODUCT_TYPE := x_tax_det_rec.X_PRODUCT_TYPE;
3734 inv_lines_tbl(hdr_cnt).LINE_INTENDED_USE := x_tax_det_rec.X_LINE_INTENDED_USE;
3735 --added by akrangan for ebtax billing impacts start
3736 inv_lines_tbl(hdr_cnt).USER_DEFINED_FISC_CLASS := x_tax_det_rec.X_USER_DEFINED_FISC_CLASS;
3737 --akrangan code fix begin
3738 END IF; --IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX <> 'TAX_ONLY_INVOICE_TAX'
3739 --akrangan code fix end
3740
3741 --06-Jan-11 sechawla 10640648 : Set TAXED_UPSTREAM_FLAG only for Tax only invoice
3742 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'TAX_ONLY_INVOICE_TAX' THEN
3743 inv_lines_tbl(hdr_cnt).TAXED_UPSTREAM_FLAG := 'Y';
3744 ELSE
3745 inv_lines_tbl(hdr_cnt).TAXED_UPSTREAM_FLAG := null;
3746 END IF; --06-Jan-11 sechawla 10640648
3747
3748
3749 --added by akrangan for ebtax billing impacts end
3750 inv_lines_tbl(hdr_cnt).ASSESSABLE_VALUE := x_tax_det_rec.X_ASSESSABLE_VALUE;
3751 inv_lines_tbl(hdr_cnt).DEFAULT_TAXATION_COUNTRY := x_tax_det_rec.X_DEFAULT_TAXATION_COUNTRY;
3752 /*inv_lines_tbl(hdr_cnt).UPSTREAM_TRX_REPORTED_FLAG := x_tax_det_rec.X_UPSTREAM_TRX_REPORTED_FLAG; */
3753 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3754 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').tax_code:' || inv_lines_tbl(hdr_cnt).tax_code);
3755 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').trx_business_category:' || inv_lines_tbl(hdr_cnt).trx_business_category);
3756 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').product_category:' || inv_lines_tbl(hdr_cnt).product_category);
3757 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').product_type:' || inv_lines_tbl(hdr_cnt).product_type);
3758 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').line_intended_use:' || inv_lines_tbl(hdr_cnt).line_intended_use);
3759 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').user_defined_fisc_class :' || inv_lines_tbl(hdr_cnt).user_defined_fisc_class );
3760 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').taxed_upstream_flag:' || inv_lines_tbl(hdr_cnt).taxed_upstream_flag);
3761 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').assessable_value:' || inv_lines_tbl(hdr_cnt).assessable_value);
3762 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_lines_tbl('||hdr_cnt||').default_taxation_country:' || inv_lines_tbl(hdr_cnt).default_taxation_country);
3763 END IF;
3764
3765 else
3766 --sechawla 25-Sep-2010 10139246 : added following debug messages
3767 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3768 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','did not call get_tax_determinants for try_name '||l_xfer_tbl(k).try_name);
3769 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','did not call get_tax_determinants for rev_txn_id '||l_xfer_tbl(k).rev_txn_id);
3770 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','did not call get_tax_determinants for amount'||l_xfer_tbl(k).amount);
3771 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','did not call get_tax_determinants for sty_id'||l_xfer_tbl(k).sty_id);
3772 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','did not call get_tax_determinants for quote_number'||l_xfer_tbl(k).quote_number);
3773 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','did not call get_tax_determinants for khr_id'||l_xfer_tbl(k).khr_id);
3774 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','did not call get_tax_determinants for contract_number'||l_xfer_tbl(k).contract_number);
3775
3776 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','did not call get_tax_determinants for OKL_SOURCE_BILLING_TRX'||l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX);
3777
3778
3779 END IF;
3780
3781 END IF;
3782
3783 --end| 02-MAR-07 cklee R12 Billing enhancement project |
3784
3785 --start| 02-MAR-07 cklee R12 Billing enhancement project |
3786
3787
3788 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3789 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Done Preparing Ra_interface_lines_all tax record.');
3790 END IF;
3791 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3792 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Done Preparing Ra_interface_lines_all tax record.');
3793 END IF;
3794 END IF;
3795
3796 -- End Sales Tax Code
3797
3798
3799 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3800 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Preparing Ra_Sales_Credits_all record.');
3801 END IF;
3802 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3803 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Preparing Ra_Sales_Credits_all record.');
3804 END IF;
3805 -- -------------------------------------
3806 -- Build Sales Credits Table
3807 -- -------------------------------------
3808 sales_cr_cnt := ( sales_credits_tbl.count + 1 );
3809 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3810 -- Change variable name to match the main cursor query name
3811 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'INVESTOR_STAKE' THEN
3812 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE1 := SUBSTR(TRIM(l_xfer_tbl(k).Investor_Agreement_Number),1,G_AR_DATA_LENGTH);
3813 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE2 := NULL;
3814 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE3 := NULL;
3815 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE4 := SUBSTR(TRIM(l_xfer_tbl(k).Investor_Name),1,G_AR_DATA_LENGTH);
3816 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE5 := SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH);
3817 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE6 := NULL;
3818 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE7 := NULL;
3819 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE8 := NULL;
3820 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE9 := NULL;
3821 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE10 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3822 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE11 := NULL;
3823 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE12 := NULL;
3824 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE13 := NULL;
3825 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE14 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3826 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE15 := NULL;
3827 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_CONTEXT := 'OKL_INVESTOR';
3828
3829 ELSE
3830 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE1 := NULL;
3831 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE2 := SUBSTR(TRIM(l_invoice_group),1,G_AR_DATA_LENGTH);
3832 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE3 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_PULL_YN),1,G_AR_DATA_LENGTH);
3833 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE4 := SUBSTR(TRIM(l_xfer_tbl(k).PRIVATE_LABEL),1,G_AR_DATA_LENGTH);
3834 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE5 := NULL;
3835 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE6 := SUBSTR(TRIM(l_xfer_tbl(k).CONTRACT_NUMBER),1,G_AR_DATA_LENGTH);
3836 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE7 := SUBSTR(TRIM(l_xfer_tbl(k).ASSET_NUMBER),1,G_AR_DATA_LENGTH);
3837 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE8 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_FORMAT_LINE_TYPE),1,G_AR_DATA_LENGTH);
3838 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE9 := SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH);
3839 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE10 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3840 -- if the source of the billing trx is termination quote, the OKL billing trx number is Quite_number
3841 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'TERMINATION_QUOTE' THEN
3842 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE11 := SUBSTR(TRIM(l_xfer_tbl(k).Quote_number),1,G_AR_DATA_LENGTH);
3843 END IF;
3844 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE12 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).KHR_ID)),1,G_AR_DATA_LENGTH);
3845 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE13 := SUBSTR(TRIM(l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX),1,G_AR_DATA_LENGTH);
3846 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE14 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3847 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_ATTRIBUTE15 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_FORMAT_TYPE),1,G_AR_DATA_LENGTH);
3848 sales_credits_tbl(sales_cr_cnt).INTERFACE_LINE_CONTEXT := 'OKL_CONTRACTS';
3849 END IF;
3850
3851 --end: | 15-FEB-07 cklee R12 Billing enhancement project
3852
3853 sales_credits_tbl(sales_cr_cnt).SALES_CREDIT_AMOUNT_SPLIT := NULL;
3854 sales_credits_tbl(sales_cr_cnt).SALES_CREDIT_PERCENT_SPLIT := 100;
3855 sales_credits_tbl(sales_cr_cnt).SALES_CREDIT_TYPE_ID := l_sales_type_credit;
3856 sales_credits_tbl(sales_cr_cnt).SALES_CREDIT_TYPE_NAME := 'Quota Sales Credit';
3857 --vthiruva - Bug 4222231..start..removed hardcoding of sales rep
3858 sales_credits_tbl(sales_cr_cnt).SALESREP_ID := l_salesrep_id;
3859 sales_credits_tbl(sales_cr_cnt).SALESREP_NUMBER := l_salesrep_number;
3860 --vthiruva - Bug 4222231..end
3861 sales_credits_tbl(sales_cr_cnt).CREATED_BY := G_user_id;
3862 sales_credits_tbl(sales_cr_cnt).CREATION_DATE := sysdate;
3863 sales_credits_tbl(sales_cr_cnt).LAST_UPDATED_BY := G_user_id;
3864 sales_credits_tbl(sales_cr_cnt).LAST_UPDATE_DATE := sysdate;
3865 sales_credits_tbl(sales_cr_cnt).ORG_ID := l_xfer_tbl(k).ORG_ID;
3866 sales_credits_tbl(sales_cr_cnt).CREATED_BY := G_user_id;
3867 sales_credits_tbl(sales_cr_cnt).CREATION_DATE := sysdate;
3868 sales_credits_tbl(sales_cr_cnt).LAST_UPDATED_BY := G_user_id;
3869 sales_credits_tbl(sales_cr_cnt).LAST_UPDATE_DATE := sysdate;
3870
3871 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3872 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').created_by:' || sales_credits_tbl(sales_cr_cnt).created_by);
3873 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').creation_date:' || sales_credits_tbl(sales_cr_cnt).creation_date);
3874 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute1:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute1);
3875 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute10 :' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute10);
3876 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute11 :' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute11);
3877 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute12 :' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute12);
3878 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute13 :' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute13);
3879 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute14 :' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute14);
3880 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute15 :' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute15);
3881 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute2:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute2);
3882 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute3:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute3);
3883 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute4:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute4);
3884 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute5:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute5);
3885 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute6:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute6);
3886 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute7:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute7);
3887 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute8:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute8);
3888 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_attribute9:' || sales_credits_tbl(sales_cr_cnt).interface_line_attribute9);
3889 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').interface_line_context:' || sales_credits_tbl(sales_cr_cnt).interface_line_context);
3890 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').last_update_date:' || sales_credits_tbl(sales_cr_cnt).last_update_date);
3891 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').last_updated_by:' || sales_credits_tbl(sales_cr_cnt).last_updated_by);
3892 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').org_id:' || sales_credits_tbl(sales_cr_cnt).org_id);
3893 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').sales_credit_amount_split:' || sales_credits_tbl(sales_cr_cnt).sales_credit_amount_split);
3894 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').sales_credit_percent_split :' || sales_credits_tbl(sales_cr_cnt).sales_credit_percent_split);
3895 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').sales_credit_type_id:' || sales_credits_tbl(sales_cr_cnt).sales_credit_type_id);
3896 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').sales_credit_type_name:' || sales_credits_tbl(sales_cr_cnt).sales_credit_type_name);
3897 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').salesrep_id:' || sales_credits_tbl(sales_cr_cnt).salesrep_id);
3898 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','sales_credits_tbl('||sales_cr_cnt||').salesrep_number:' || sales_credits_tbl(sales_cr_cnt).salesrep_number);
3899 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Done Preparing Ra_Sales_Credits_all record.');
3900 END IF;
3901
3902 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3903 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Done Preparing Ra_Sales_Credits_all record.');
3904 END IF;
3905 -- -------------------------------------
3906 -- Build Contingency table
3907 -- -------------------------------------
3908 IF (l_xfer_tbl(k).rev_rec_basis = 'CASH_RECEIPT') THEN
3909 -- -------------------------------------
3910 -- Build AR contingencies table
3911 -- -------------------------------------
3912 --begin bug 5474184
3913 cont_cnt := ( ar_contingency_tbl.count + 1 );
3914
3915 BEGIN
3916 SELECT AR_INTERFACE_CONTS_S.NEXTVAL
3917 INTO ar_contingency_tbl(cont_cnt).INTERFACE_CONTINGENCY_ID
3918 FROM DUAL;
3919 EXCEPTION
3920 WHEN OTHERS THEN
3921 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3922 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'ERROR retrieving ar_contingency_tbl(cont_cnt).INTERFACE_CONTINGENCY_ID: '
3923 ||sqlerrm);
3924 END IF;
3925 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3926 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ERROR retrieving ar_contingency_tbl(cont_cnt).INTERFACE_CONTINGENCY_ID:'||sqlerrm);
3927 END IF;
3928 END;
3929 --end bug 5474184
3930
3931 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
3932 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Preparing ar_contingency record.');
3933 END IF;
3934 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
3935 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Preparing ar_contingency record.');
3936 END IF;
3937 -- cont_cnt := ( ar_contingency_tbl.count + 1 );
3938 -- start: cklee 3/29/2007
3939 /* 6472168
3940 cont_cnt := hdr_cnt;
3941 --ar_contingency_tbl(cont_cnt).CONTINGENCY_ID := ar_contingency_tbl(hdr_cnt).INTERFACE_CONTINGENCY_ID; */
3942 -- 6472168
3943 -- start: bug 6744584 .. contingency_id populated from stream type table rather than
3944 -- a sequence id.. contingency_code is no longer used...racheruv
3945 --ar_contingency_tbl(cont_cnt).CONTINGENCY_ID := ar_contingency_tbl(cont_cnt).INTERFACE_CONTINGENCY_ID;
3946 ar_contingency_tbl(cont_cnt).CONTINGENCY_ID := l_xfer_tbl(k).contingency_id;
3947
3948 --ar_contingency_tbl(cont_cnt).CONTINGENCY_CODE := 'OKL_COLLECTIBILITY';
3949 -- end: bug 6744584 .. contingency_id populated from stream type table rather than
3950 -- end: cklee 3/29/2007
3951
3952 ar_contingency_tbl(cont_cnt).EXPIRATION_DATE := NULL;
3953 ar_contingency_tbl(cont_cnt).EXPIRATION_DAYS := NULL;
3954 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ID := NULL;
3955 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_CONTEXT := 'OKL_CONTRACTS';
3956 --start: | 15-FEB-07 cklee R12 Billing enhancement project
3957 -- Change variable name to match the main cursor query name
3958
3959 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'INVESTOR_STAKE' THEN
3960 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE1 := SUBSTR(TRIM(l_xfer_tbl(k).Investor_Agreement_Number),1,G_AR_DATA_LENGTH);
3961 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE2 := NULL;
3962 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE3 := NULL;
3963 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE4 := SUBSTR(TRIM(l_xfer_tbl(k).Investor_Name),1,G_AR_DATA_LENGTH);
3964 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE5 := SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH);
3965 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE6 := NULL;
3966 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE7 := NULL;
3967 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE8 := NULL;
3968 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE9 := NULL;
3969 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE10 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3970 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE11 := NULL;
3971 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE12 := NULL;
3972 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE13 := NULL;
3973 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE14 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3974 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE15 := NULL;
3975 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_CONTEXT := 'OKL_INVESTOR';
3976
3977 ELSE
3978 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE1 := NULL;
3979 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE2 := SUBSTR(TRIM(l_invoice_group),1,G_AR_DATA_LENGTH);
3980 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE3 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_PULL_YN),1,G_AR_DATA_LENGTH);
3981 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE4 := SUBSTR(TRIM(l_xfer_tbl(k).PRIVATE_LABEL),1,G_AR_DATA_LENGTH);
3982 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE5 := NULL;
3983 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE6 := SUBSTR(TRIM(l_xfer_tbl(k).CONTRACT_NUMBER),1,G_AR_DATA_LENGTH);
3984 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE7 := SUBSTR(TRIM(l_xfer_tbl(k).ASSET_NUMBER),1,G_AR_DATA_LENGTH);
3985 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE8 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_FORMAT_LINE_TYPE),1,G_AR_DATA_LENGTH);
3986 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE9 := SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH);
3987 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE10 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3988 -- if the source of the billing trx is termination quote, the OKL billing trx number is Quite_number
3989 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'TERMINATION_QUOTE' THEN
3990 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE11 := SUBSTR(TRIM(l_xfer_tbl(k).Quote_number),1,G_AR_DATA_LENGTH);
3991 END IF;
3992 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE12 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).KHR_ID)),1,G_AR_DATA_LENGTH);
3993 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE13 := SUBSTR(TRIM(l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX),1,G_AR_DATA_LENGTH);
3994 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE14 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
3995 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_ATTRIBUTE15 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_FORMAT_TYPE),1,G_AR_DATA_LENGTH);
3996 ar_contingency_tbl(cont_cnt).INTERFACE_LINE_CONTEXT := 'OKL_CONTRACTS';
3997
3998 END IF;
3999 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4000
4001
4002 ar_contingency_tbl(cont_cnt).ORG_ID := l_xfer_tbl(k).ORG_ID;
4003 ar_contingency_tbl(cont_cnt).REQUEST_ID := NULL;
4004 ar_contingency_tbl(cont_cnt).CREATED_BY := G_user_id;
4005 ar_contingency_tbl(cont_cnt).CREATION_DATE := sysdate;
4006 ar_contingency_tbl(cont_cnt).LAST_UPDATED_BY := G_user_id;
4007 ar_contingency_tbl(cont_cnt).LAST_UPDATE_DATE := sysdate;
4008 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4009 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Done Preparing ar_contingency record.');
4010 END IF;
4011 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4012 --bug 6744584 .. contingency_code is not used anymore.
4013 --fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').contingency_code:' || ar_contingency_tbl(cont_cnt).contingency_code);
4014 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').contingency_id:' || ar_contingency_tbl(cont_cnt).contingency_id);
4015 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').expiration_date:' || ar_contingency_tbl(cont_cnt).expiration_date);
4016 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').expiration_days:' || ar_contingency_tbl(cont_cnt).expiration_days);
4017 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute1:' || ar_contingency_tbl(cont_cnt).interface_line_attribute1);
4018 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute10 :' || ar_contingency_tbl(cont_cnt).interface_line_attribute10);
4019 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute11 :' || ar_contingency_tbl(cont_cnt).interface_line_attribute11);
4020 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute12 :' || ar_contingency_tbl(cont_cnt).interface_line_attribute12);
4021 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute13 :' || ar_contingency_tbl(cont_cnt).interface_line_attribute13);
4022 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute14 :' || ar_contingency_tbl(cont_cnt).interface_line_attribute14);
4023 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute15 :' || ar_contingency_tbl(cont_cnt).interface_line_attribute15);
4024 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute2:' || ar_contingency_tbl(cont_cnt).interface_line_attribute2);
4025 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute3:' || ar_contingency_tbl(cont_cnt).interface_line_attribute3);
4026 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute4:' || ar_contingency_tbl(cont_cnt).interface_line_attribute4);
4027 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute5:' || ar_contingency_tbl(cont_cnt).interface_line_attribute5);
4028 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute6:' || ar_contingency_tbl(cont_cnt).interface_line_attribute6);
4029 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute7:' || ar_contingency_tbl(cont_cnt).interface_line_attribute7);
4030 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute8:' || ar_contingency_tbl(cont_cnt).interface_line_attribute8);
4031 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_attribute9:' || ar_contingency_tbl(cont_cnt).interface_line_attribute9);
4032 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_context:' || ar_contingency_tbl(cont_cnt).interface_line_context);
4033 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').interface_line_id:' || ar_contingency_tbl(cont_cnt).interface_line_id);
4034 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').org_id:' || ar_contingency_tbl(cont_cnt).org_id);
4035 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').request_id:' || ar_contingency_tbl(cont_cnt).request_id);
4036 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').created_by:' || ar_contingency_tbl(cont_cnt).created_by);
4037 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').creation_date:' || ar_contingency_tbl(cont_cnt).creation_date);
4038 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').last_updated_by:' || ar_contingency_tbl(cont_cnt).last_updated_by);
4039 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','ar_contingency_tbl('||cont_cnt||').last_update_date:' || ar_contingency_tbl(cont_cnt).last_update_date);
4040 END IF;
4041 END IF; -- Contingency Table check
4042 -- cklee: start: 3/7/07
4043 --commented out for R12 END IF;
4044 -- cklee: end: 3/7/07
4045
4046 -- -------------------------------------
4047 -- Build AR invoice distributions table
4048 -- -------------------------------------
4049 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4050 -- IF l_xfer_tbl(k).XLS_AMOUNT <> 0 THEN
4051 IF l_xfer_tbl(k).AMOUNT <> 0 THEN
4052 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4053
4054 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4055 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Preparing inv_dist record.');
4056 END IF;
4057
4058 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4059 IF G_ACC_SYS_OPTION = 'ATS' THEN
4060 -- get accounting disb via internal billing details table
4061 -- rmunjulu R12 Fixes, modified to use the new signature of Get_acct_disb
4062 Get_acct_disb(
4063 p_tld_id => l_xfer_tbl(k).txn_id,
4064 --Bug# 10160494
4065 p_cust_trx_type_id => l_xfer_tbl(k).CUST_TRX_TYPE_ID,
4066 x_dist_tbl => lx_dist_tbl);
4067
4068 -- rmunjulu R12 Fixes, loop through the lx_dist_tbl and populate inv_dist_tbl
4069 -- Note : the inv_dist_tbl loop has changed from k to n ( n might be more than k)
4070 IF lx_dist_tbl.COUNT > 0 THEN
4071 FOR m in lx_dist_tbl.FIRST .. lx_dist_tbl.LAST LOOP
4072
4073 --Commented by ssiruvol for bug 5946084
4074 --akrangan uncommnetd the code here for enabling billing distribution begin
4075 IF (l_xfer_tbl(k).rev_rec_basis = 'CASH_RECEIPT' AND l_xfer_tbl(k).AMOUNT < 0
4076 AND lx_dist_tbl(m).ACCOUNT_CLASS = 'REV') THEN
4077 inv_dist_tbl(n).ACCOUNT_CLASS := 'UNEARN';
4078 ELSE
4079 inv_dist_tbl(n).ACCOUNT_CLASS := lx_dist_tbl(m).ACCOUNT_CLASS;
4080 END IF;
4081 --akrangan uncommnetd the code here for enabling billing distribution end
4082 /*
4083 --code commented by akrangan since it is breaking the billing distribution flow
4084 inv_dist_tbl(k).ACCOUNT_CLASS := l_xfer_tbl(k).ACCOUNT_CLASS; --Added by ssiruvol for Bug 5946084
4085 */
4086
4087 inv_dist_tbl(n).AMOUNT := lx_dist_tbl(m).DIST_AMOUNT;
4088 inv_dist_tbl(n).PERCENT := lx_dist_tbl(m).DIST_PERCENT;
4089
4090 inv_dist_tbl(n).CODE_COMBINATION_ID := lx_dist_tbl(m).CODE_COMBINATION_ID;
4091 inv_dist_tbl(n).INTERFACE_LINE_CONTEXT := 'OKL_CONTRACTS';
4092
4093 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'INVESTOR_STAKE' THEN
4094 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE1 := SUBSTR(TRIM(l_xfer_tbl(k).Investor_Agreement_Number),1,G_AR_DATA_LENGTH);
4095 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE2 := NULL;
4096 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE3 := NULL;
4097 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE4 := SUBSTR(TRIM(l_xfer_tbl(k).Investor_Name),1,G_AR_DATA_LENGTH);
4098 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE5 := SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH);
4099 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE6 := NULL;
4100 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE7 := NULL;
4101 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE8 := NULL;
4102 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE9 := NULL;
4103 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE10 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
4104 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE11 := NULL;
4105 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE12 := NULL;
4106 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE13 := NULL;
4107 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE14 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
4108 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE15 := NULL;
4109 inv_dist_tbl(n).INTERFACE_LINE_CONTEXT := 'OKL_INVESTOR';
4110
4111 ELSE
4112 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE1 := NULL;
4113 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE2 := SUBSTR(TRIM(l_invoice_group),1,G_AR_DATA_LENGTH);
4114 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE3 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_PULL_YN),1,G_AR_DATA_LENGTH);
4115 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE4 := SUBSTR(TRIM(l_xfer_tbl(k).PRIVATE_LABEL),1,G_AR_DATA_LENGTH);
4116 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE5 := NULL;
4117 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE6 := SUBSTR(TRIM(l_xfer_tbl(k).CONTRACT_NUMBER),1,G_AR_DATA_LENGTH);
4118 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE7 := SUBSTR(TRIM(l_xfer_tbl(k).ASSET_NUMBER),1,G_AR_DATA_LENGTH);
4119 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE8 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_FORMAT_LINE_TYPE),1,G_AR_DATA_LENGTH);
4120 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE9 := SUBSTR(TRIM(l_xfer_tbl(k).STREAM_TYPE),1,G_AR_DATA_LENGTH);
4121 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE10 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
4122 -- if the source of the billing trx is termination quote, the OKL billing trx number is Quite_number
4123 IF l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX = 'TERMINATION_QUOTE' THEN
4124 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE11 := SUBSTR(TRIM(l_xfer_tbl(k).Quote_number),1,G_AR_DATA_LENGTH);
4125 END IF;
4126 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE12 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).KHR_ID)),1,G_AR_DATA_LENGTH);
4127 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE13 := SUBSTR(TRIM(l_xfer_tbl(k).OKL_SOURCE_BILLING_TRX),1,G_AR_DATA_LENGTH);
4128 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE14 := SUBSTR(TRIM(TO_CHAR(l_xfer_tbl(k).TXN_ID)),1,G_AR_DATA_LENGTH);
4129 inv_dist_tbl(n).INTERFACE_LINE_ATTRIBUTE15 := SUBSTR(TRIM(l_xfer_tbl(k).INVOICE_FORMAT_TYPE),1,G_AR_DATA_LENGTH);
4130 inv_dist_tbl(n).INTERFACE_LINE_CONTEXT := 'OKL_CONTRACTS';
4131 END IF;
4132
4133 inv_dist_tbl(n).ORG_ID := l_xfer_tbl(k).ORG_ID;
4134 inv_dist_tbl(n).CREATED_BY := G_user_id;
4135 inv_dist_tbl(n).CREATION_DATE := sysdate;
4136 inv_dist_tbl(n).LAST_UPDATED_BY := G_user_id;
4137 inv_dist_tbl(n).LAST_UPDATE_DATE := sysdate;
4138
4139 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4140 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Done Preparing inv_dist record.');
4141 END IF;
4142 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4143 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').account_class:' || inv_dist_tbl(n).account_class);
4144 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').amount:' || inv_dist_tbl(n).amount);
4145 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').code_combination_id:' || inv_dist_tbl(n).code_combination_id);
4146 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').created_by:' || inv_dist_tbl(n).created_by);
4147 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').creation_date:' || inv_dist_tbl(n).creation_date);
4148 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute1:' || inv_dist_tbl(n).interface_line_attribute1 );
4149 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute10 :' || inv_dist_tbl(n).interface_line_attribute10);
4150 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute11 :' || inv_dist_tbl(n).interface_line_attribute11);
4151 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute12 :' || inv_dist_tbl(n).interface_line_attribute12);
4152 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute13 :' || inv_dist_tbl(n).interface_line_attribute13);
4153 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute14 :' || inv_dist_tbl(n).interface_line_attribute14);
4154 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute15 :' || inv_dist_tbl(n).interface_line_attribute15);
4155 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute2:' || inv_dist_tbl(n).interface_line_attribute2 );
4156 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute3:' || inv_dist_tbl(n).interface_line_attribute3 );
4157 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute4:' || inv_dist_tbl(n).interface_line_attribute4 );
4158 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute5:' || inv_dist_tbl(n).interface_line_attribute5 );
4159 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute6:' || inv_dist_tbl(n).interface_line_attribute6 );
4160 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute7:' || inv_dist_tbl(n).interface_line_attribute7 );
4161 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute8:' || inv_dist_tbl(n).interface_line_attribute8 );
4162 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_attribute9:' || inv_dist_tbl(n).interface_line_attribute9 );
4163 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').interface_line_context:' || inv_dist_tbl(n).interface_line_context);
4164 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').last_update_date:' || inv_dist_tbl(n).last_update_date);
4165 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').last_updated_by:' || inv_dist_tbl(n).last_updated_by);
4166 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').org_id:' || inv_dist_tbl(n).org_id);
4167 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','inv_dist_tbl('||n||').percent:' || inv_dist_tbl(n).percent);
4168 END IF;
4169 n := n + 1;
4170 END LOOP;
4171
4172 END IF;
4173
4174 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4175 END IF; -- IF G_ACC_SYS_OPTION = 'ATS' THEN
4176 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4177
4178 END IF; -- IF l_xfer_tbl(k).AMOUNT <> 0 THEN
4179 -- ---------------------------------
4180 -- Check and reset commit counter
4181 -- ---------------------------------
4182
4183 IF l_commit_cnt > G_COMMIT_SIZE THEN
4184 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4185 -- Additional check to see if all TAI related TXD records have been completed
4186 --Added below if condition by nikshah for bug 7696685
4187 IF l_xfer_tbl.exists(k+1) THEN
4188 IF l_xfer_tbl(k).TAI_ID <> l_xfer_tbl(k+1).TAI_ID THEN
4189 l_commit_cnt := 0;
4190 COMMIT;
4191 END IF;
4192 END IF;
4193 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4194 END IF;
4195
4196 -- ---------------------------------
4197 -- Set header_id local variable
4198 -- ---------------------------------
4199
4200 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4201 -- l_hdr_id := l_xfer_tbl(k).xsi_id;
4202 l_hdr_id := l_xfer_tbl(k).tai_id;
4203 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4204
4205 -- Bug#9576651 - Start
4206 -- Added exception block to handle exceptions raised by APIs
4207 EXCEPTION
4208 WHEN OTHERS THEN
4209 l_error_tai_tbl(l_error_tai_cnt) := l_xfer_tbl(k).tai_id;
4210
4211 FND_FILE.put_line(fnd_file.log,
4212 '--------- ERROR LOG START ---------------' );
4213 FND_FILE.put_line(fnd_file.log,
4214 'CONTRACT_NUMBER : ' || l_xfer_tbl(k).CONTRACT_NUMBER);
4215 FND_FILE.put_line(fnd_file.log,
4216 'ASSET_NUMBER : ' || l_xfer_tbl(k).ASSET_NUMBER);
4217
4218 FND_MSG_PUB.Count_And_Get
4219 (p_count => x_msg_count,
4220 p_data => x_msg_data);
4221
4222
4223 IF x_msg_count > 0 THEN
4224 FOR i IN 1..x_msg_count LOOP
4225 fnd_msg_pub.get (p_msg_index => i,
4226 p_encoded => 'F',
4227 p_data => lx_msg_data,
4228 p_msg_index_out => l_msg_index_out);
4229 -- FND_FILE.put_line(fnd_file.log,
4230 -- 'ERROR (OKL_ARIntf_Pvt.Get_REC_FEEDER): ' || lx_msg_data);
4231 END LOOP;
4232 FND_FILE.put_line(fnd_file.log,
4233 'ERROR (OKL_ARIntf_Pvt.Get_REC_FEEDER): ' || lx_msg_data);
4234
4235 END IF;
4236 FND_FILE.put_line(fnd_file.log,
4237 '--------- ERROR LOG END ---------------' );
4238
4239 l_error_tai_cnt := l_error_tai_cnt + 1;
4240 END;
4241 -- Bug#9576651 - End
4242 END LOOP;
4243
4244 -- ----------------------------------
4245 -- Update prev header status
4246 -- ----------------------------------
4247 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4248 -- UPDATE OKL_EXT_SELL_INVS_B
4249 -- Update internal billing table instead
4250 UPDATE okl_trx_ar_invoices_b
4251 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4252 SET trx_status_code = 'PROCESSED',
4253 last_update_date = sysdate,
4254 last_updated_by = lx_last_updated_by,
4255 last_update_login = lx_last_update_login,
4256 request_id = lx_request_id,
4257 program_update_date = sysdate,
4258 program_application_id = lx_program_application_id,
4259 program_id = lx_program_id
4260 WHERE ID = l_hdr_id;
4261
4262 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4263 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Updating last record with id: '||l_hdr_id);
4264 END IF;
4265 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4266 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Updating last record with id: '||l_hdr_id);
4267 END IF;
4268 COMMIT;
4269
4270 -- -------------------------------------
4271 -- Clear error table before bulk insert
4272 -- -------------------------------------
4273 error_tbl.delete;
4274
4275 -- ---------------------------------------------
4276 -- Transfer line records to the AR interface
4277 -- ---------------------------------------------
4278
4279 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4280 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting into ra_interface_lines_all');
4281 END IF;
4282 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4283 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Inserting into ra_interface_lines_all');
4284 END IF;
4285
4286 IF inv_lines_tbl.COUNT > 0 THEN
4287 FORALL indx in inv_lines_tbl.first..inv_lines_tbl.LAST
4288 SAVE EXCEPTIONS
4289 INSERT INTO ra_interface_lines_all
4290 VALUES inv_lines_tbl(indx);
4291 END IF;
4292
4293 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4294 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Done Inserting into ra_interface_lines_all');
4295 END IF;
4296 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4297 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Done Inserting into ra_interface_lines_all');
4298 END IF;
4299 IF SQL%BULK_EXCEPTIONS.COUNT > 0 THEN
4300 FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT LOOP
4301 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4302 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'For interface lines, error ' || i || ' occurred during '||
4303 'iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4304 END IF;
4305
4306 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4307 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Oracle error is ' ||
4308 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4309 -- bug 5474184
4310 END IF;
4311 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4312 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','For interface lines, error ' || i || ' occurred during iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4313 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Oracle error is ' || SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4314 -- bug 5474184
4315 END IF;
4316 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4317 -- error_tbl(error_tbl.count + 1).id := to_number(inv_lines_tbl(i).interface_line_attribute10||
4318 -- inv_lines_tbl(i).interface_line_attribute11);
4319 error_tbl(error_tbl.count + 1).id := to_number(inv_lines_tbl(i).interface_line_attribute14);
4320 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4321
4322 END LOOP;
4323 END IF;
4324
4325 -- ---------------------------------------------
4326 -- Transfer sales credits records to the AR interface
4327 -- ---------------------------------------------
4328 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4329 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting into sales_credits');
4330 END IF;
4331 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4332 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Inserting into sales_credits');
4333 END IF;
4334 IF sales_credits_tbl.COUNT > 0 THEN
4335 FORALL indx in sales_credits_tbl.first..sales_credits_tbl.LAST
4336 SAVE EXCEPTIONS
4337 INSERT INTO RA_INTERFACE_SALESCREDITS_ALL
4338 VALUES sales_credits_tbl(indx);
4339 END IF;
4340
4341 IF SQL%BULK_EXCEPTIONS.COUNT > 0 THEN
4342 FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT LOOP
4343 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4344 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'For sales credits, error ' || i || ' occurred during '||
4345 'iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4346 END IF;
4347 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4348 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Oracle error is ' ||
4349 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4350 -- bug 5474184
4351 END IF;
4352 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4353 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','For sales credits, error ' || i || ' occurred during iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4354 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Oracle error is ' || SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4355 -- bug 5474184
4356 END IF;
4357 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4358 -- error_tbl(error_tbl.count + 1).id := to_number(sales_credits_tbl(i).interface_line_attribute10||
4359 -- sales_credits_tbl(i).interface_line_attribute11);
4360 error_tbl(error_tbl.count + 1).id := to_number(sales_credits_tbl(i).interface_line_attribute14);
4361 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4362 END LOOP;
4363 END IF;
4364
4365 -- ---------------------------------------------
4366 -- Transfer contingency records to the AR interface
4367 -- ---------------------------------------------
4368
4369 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4370 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting into ar_contingency');
4371 END IF;
4372 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4373 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Inserting into ar_contingency');
4374 END IF;
4375 IF ar_contingency_tbl.COUNT > 0 THEN
4376
4377 FORALL indx in ar_contingency_tbl.first..ar_contingency_tbl.LAST
4378 SAVE EXCEPTIONS
4379 INSERT INTO AR_INTERFACE_CONTS_ALL
4380 VALUES ar_contingency_tbl(indx);
4381
4382 END IF;
4383
4384 IF SQL%BULK_EXCEPTIONS.COUNT > 0 THEN
4385 FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT LOOP
4386 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4387 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'For AR contingencies, error ' || i || ' occurred during '||
4388 'iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4389 END IF;
4390
4391 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4392 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Oracle error is ' ||
4393 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4394 -- bug 5474184
4395 END IF;
4396 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4397 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','For AR contingencies, error ' || i || ' occurred during iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4398 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Oracle error is ' || SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4399 -- bug 5474184
4400 END IF;
4401 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4402 -- error_tbl(error_tbl.count + 1).id := to_number(ar_contingency_tbl(i).interface_line_attribute10||
4403 -- ar_contingency_tbl(i).interface_line_attribute11);
4404 error_tbl(error_tbl.count + 1).id := to_number(ar_contingency_tbl(i).interface_line_attribute14);
4405 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4406 END LOOP;
4407 END IF;
4408
4409 -- ----------------------------------------------------------
4410 -- Transfer invoice distribution records to the AR interface
4411 -- ----------------------------------------------------------
4412 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4413 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Inserting into inv_dist');
4414 END IF;
4415 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4416 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Inserting into inv_dist');
4417 END IF;
4418 IF inv_dist_tbl.count > 0 THEN
4419 FORALL indx in inv_dist_tbl.first..inv_dist_tbl.LAST
4420 SAVE EXCEPTIONS
4421 INSERT INTO RA_INTERFACE_DISTRIBUTIONS_ALL
4422 VALUES inv_dist_tbl(indx);
4423 END IF;
4424
4425 IF SQL%BULK_EXCEPTIONS.COUNT > 0 THEN
4426 FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT LOOP
4427 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4428 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'For distributions, error ' || i || ' occurred during '||
4429 'iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4430 END IF;
4431
4432 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4433 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Oracle error is ' ||
4434 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4435 -- bug 5474184
4436 END IF;
4437 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4438 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','For distributions, error ' || i || ' occurred during iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4439 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Oracle error is ' || SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4440 -- bug 5474184
4441 END IF;
4442 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4443 -- error_tbl(error_tbl.count + 1).id := to_number(inv_dist_tbl(i).interface_line_attribute10||
4444 -- inv_dist_tbl(i).interface_line_attribute11);
4445 error_tbl(error_tbl.count + 1).id := to_number(inv_dist_tbl(i).interface_line_attribute14);
4446 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4447
4448 END LOOP;
4449 END IF;
4450
4451 if error_tbl.count > 0 then
4452 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4453 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Error Processing');
4454 END IF;
4455 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4456 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Error Processing');
4457 END IF;
4458 for indx in error_tbl.FIRST..error_tbl.LAST loop
4459
4460 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4461 -- Modify the error table keys to internal billing tables
4462 -- UPDATE XSI trx_status_code to 'WORKING'
4463 -- l_error_xsi_id := NULL;
4464 Begin
4465 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4466 -- OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'** XSI_ID is : '||l_error_xsi_id);
4467 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'** TXD_ID is : '||error_tbl(indx).id);
4468 END IF;
4469 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4470 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','** TXD_ID is : '||error_tbl(indx).id);
4471 END IF;
4472 Exception
4473 When Others Then
4474 -- l_error_xsi_id := NULL;
4475 l_error_txd_id := NULL;
4476 l_error_tai_id := NULL;
4477
4478 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4479 -- OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'** Exception ** error_xsi_id: '||l_error_xsi_id);
4480 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'** Exception ** error_txd_id: '||error_tbl(indx).id);
4481 END IF;
4482 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4483 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','** Exception ** error_txd_id: '||error_tbl(indx).id);
4484 END IF;
4485 End;
4486 -- update okl_ext_sell_invs_b
4487 update okl_trx_ar_invoices_b tai
4488 set tai.trx_status_code = 'WORKING'
4489 -- where id = l_error_xsi_id;
4490 where id = l_error_tai_id;
4491 --end: | 15-FEB-07 cklee R12 Billing enhancement project
4492
4493 -- --------------------------------------------
4494 -- delete records from sales credits interface
4495 -- --------------------------------------------
4496 delete from RA_INTERFACE_SALESCREDITS
4497 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4498 -- where interface_line_attribute10 = to_char(SUBSTR (error_tbl(indx).id,1, 20))
4499 -- and interface_line_attribute11 = to_char(SUBSTR(error_tbl(indx).id,21));
4500 where interface_line_attribute14 = to_char(error_tbl(indx).id);
4501 --endt: | 15-FEB-07 cklee R12 Billing enhancement project
4502
4503 -- ----------------------------------
4504 -- delete records from contingencies
4505 -- ----------------------------------
4506 delete from AR_INTERFACE_CONTS
4507 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4508 -- where interface_line_attribute10 = to_char(SUBSTR (error_tbl(indx).id,1, 20))
4509 -- and interface_line_attribute11 = to_char(SUBSTR(error_tbl(indx).id,21));
4510 where interface_line_attribute14 = to_char(error_tbl(indx).id);
4511 --endt: | 15-FEB-07 cklee R12 Billing enhancement project
4512
4513 -- ---------------------------
4514 -- delete records from distributions
4515 -- ---------------------------
4516 delete from RA_INTERFACE_DISTRIBUTIONS
4517 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4518 -- where interface_line_attribute10 = to_char(SUBSTR (error_tbl(indx).id,1, 20))
4519 -- and interface_line_attribute11 = to_char(SUBSTR(error_tbl(indx).id,21));
4520 where interface_line_attribute14 = to_char(error_tbl(indx).id);
4521 --endt: | 15-FEB-07 cklee R12 Billing enhancement project
4522
4523 -- ---------------------------
4524 -- delete records from lines
4525 -- ---------------------------
4526 delete from ra_interface_lines
4527 --start: | 15-FEB-07 cklee R12 Billing enhancement project
4528 -- where interface_line_attribute10 = to_char(SUBSTR (error_tbl(indx).id,1, 20))
4529 -- and interface_line_attribute11 = to_char(SUBSTR(error_tbl(indx).id,21));
4530 where interface_line_attribute14 = to_char(error_tbl(indx).id);
4531 --endt: | 15-FEB-07 cklee R12 Billing enhancement project
4532
4533 end loop;
4534 end if;
4535
4536 END IF; -- If PL/sql table has any records
4537 EXIT WHEN xfer_csr%NOTFOUND;
4538 END LOOP;
4539 CLOSE xfer_csr;
4540
4541 l_xfer_tbl.delete;
4542 -- -----------------------------
4543 -- End Bulk Fetch Code
4544 -- -----------------------------
4545
4546 -- Bug#9576651 - Start
4547 -- Handle the records with error
4548
4549 -- IF l_error_tai_cnt > 0 THEN
4550 IF l_error_tai_tbl.count > 0 THEN
4551 -- Delete AR Interface tables
4552 FOR err_tai_cnt IN l_error_tai_tbl.first .. l_error_tai_tbl.last
4553 LOOP
4554 DELETE FROM RA_INTERFACE_SALESCREDITS
4555 WHERE interface_line_attribute14 IN
4556 (SELECT TLD.ID
4557 FROM OKL_TXD_AR_LN_DTLS_B TLD
4558 , OKL_TXL_AR_INV_LNS_B TIL
4559 , OKL_TRX_AR_INVOICES_B TAI
4560 WHERE TIL.ID = TLD.TIL_ID_DETAILS
4561 AND TAI.ID = TIL.TAI_ID
4562 AND TAI.ID = l_error_tai_tbl(err_tai_cnt));
4563
4564 DELETE FROM AR_INTERFACE_CONTS
4565 WHERE interface_line_attribute14 IN
4566 (SELECT TLD.ID
4567 FROM OKL_TXD_AR_LN_DTLS_B TLD
4568 , OKL_TXL_AR_INV_LNS_B TIL
4569 , OKL_TRX_AR_INVOICES_B TAI
4570 WHERE TIL.ID = TLD.TIL_ID_DETAILS
4571 AND TAI.ID = TIL.TAI_ID
4572 AND TAI.ID = l_error_tai_tbl(err_tai_cnt));
4573
4574 DELETE FROM RA_INTERFACE_DISTRIBUTIONS
4575 WHERE interface_line_attribute14 IN
4576 (SELECT TLD.ID
4577 FROM OKL_TXD_AR_LN_DTLS_B TLD
4578 , OKL_TXL_AR_INV_LNS_B TIL
4579 , OKL_TRX_AR_INVOICES_B TAI
4580 WHERE TIL.ID = TLD.TIL_ID_DETAILS
4581 AND TAI.ID = TIL.TAI_ID
4582 AND TAI.ID = l_error_tai_tbl(err_tai_cnt));
4583
4584 DELETE FROM RA_INTERFACE_LINES
4585 WHERE interface_line_attribute14 IN
4586 (SELECT TLD.ID
4587 FROM OKL_TXD_AR_LN_DTLS_B TLD
4588 , OKL_TXL_AR_INV_LNS_B TIL
4589 , OKL_TRX_AR_INVOICES_B TAI
4590 WHERE TIL.ID = TLD.TIL_ID_DETAILS
4591 AND TAI.ID = TIL.TAI_ID
4592 AND TAI.ID = l_error_tai_tbl(err_tai_cnt));
4593
4594 -- Update the OKL_TRX_AR_INVOICES_B back to Submitted status
4595 UPDATE OKL_TRX_AR_INVOICES_B
4596 SET TRX_STATUS_CODE = 'SUBMITTED'
4597 WHERE ID = l_error_tai_tbl(err_tai_cnt);
4598 END LOOP;
4599
4600 -- Update the concurrent program status to Warning
4601 l_conc_status:= FND_CONCURRENT.set_completion_status(status=>'WARNING',message=>NULL);
4602 END IF;
4603 -- Bug#9576651 - End
4604
4605 ------------------------------------------------------------
4606 -- Print log and output messages
4607 ------------------------------------------------------------
4608
4609 -- Get the request Id
4610 l_request_id := NULL;
4611 OPEN req_id_csr;
4612 FETCH req_id_csr INTO l_request_id;
4613 CLOSE req_id_csr;
4614
4615 processed_sts := 'PROCESSED';
4616 error_sts := 'ERROR';
4617
4618 l_succ_cnt := 0;
4619 l_err_cnt := 0;
4620
4621 --start: | 15-FEB-07 cklee R12 Billing enhancement project |
4622 OPEN tld_cnt_csr_selected( l_request_id);
4623 FETCH tld_cnt_csr_selected INTO l_selected_count;
4624 CLOSE tld_cnt_csr_selected;
4625
4626 OPEN tld_cnt_csr( l_request_id, processed_sts );
4627 FETCH tld_cnt_csr INTO l_succ_cnt;
4628 CLOSE tld_cnt_csr;
4629
4630 -- Error Count
4631 OPEN tld_cnt_csr( l_request_id, error_sts );
4632 FETCH tld_cnt_csr INTO l_err_cnt;
4633 CLOSE tld_cnt_csr;
4634
4635
4636 --end: | 15-FEB-07 cklee R12 Billing enhancement project |
4637
4638
4639 ----------------------------------------
4640 -- Get Operating unit name
4641 ----------------------------------------
4642 l_op_unit_name := NULL;
4643 OPEN op_unit_csr;
4644 FETCH op_unit_csr INTO l_op_unit_name;
4645 CLOSE op_unit_csr;
4646
4647 -- Start New Out File stmathew 15-OCT-2004
4648 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 54, ' ')||'Oracle Leasing and Finance Management'||lpad(' ', 55, ' '));
4649 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4650 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 49, ' ')||'Receivables Invoice Transfer To AR'||lpad(' ', 49, ' '));
4651 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 49, ' ')||'----------------------------------'||lpad(' ', 49, ' '));
4652 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4653 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4654 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Operating Unit: '||l_op_unit_name);
4655 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Request Id: '||l_request_id||lpad(' ',74,' ') ||'Run Date: '||to_char(sysdate));
4656 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Currency: '||Okl_Accounting_Util.get_func_curr_code);
4657 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad('-', 132, '-'));
4658 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'From Bill Date : ' ||p_trx_date_from);
4659 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'To Bill Date : ' ||p_trx_date_to);
4660 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad('-', 132, '-'));
4661 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4662 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4663
4664 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Processing Details:'||lpad(' ', 113, ' '));
4665 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4666 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, ' Number of Invoice Lines Selected: '||l_selected_count);
4667 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, ' Number of Invoice Lines Transferred: '||l_succ_cnt);
4668 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, ' Number of Invoice Lines Errored: '||(l_selected_count - l_succ_cnt));
4669
4670 -- START of code added as part of Bankruptcy changes - Bug#: 15953012, 15953954
4671 IF (l_cust_bkrpt_cnt >0 OR l_vndr_bkrpt_cnt >0)
4672 THEN
4673
4674 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4675 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,' Invoice Lines of below contracts are not Transferred because of Bankruptcy');
4676 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,' --------------------------------------------------------------------------');
4677
4678 END IF;
4679
4680
4681 IF (l_cust_bkrpt_cnt >0)
4682 THEN
4683
4684 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4685 FOR cust_bankrupt_cnt_rec IN cust_bankrupt_cnt_csr
4686 LOOP
4687
4688 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, rpad(' LESSEE : '||cust_bankrupt_cnt_rec.name,80,' ')||rpad('Contract# : '||cust_bankrupt_cnt_rec.khr_number,35,' ')||'No. of Lines not Transferred : '||cust_bankrupt_cnt_rec.cust_rec_cnt);
4689
4690 END LOOP;
4691
4692 END IF;
4693
4694
4695 IF (l_vndr_bkrpt_cnt >0)
4696 THEN
4697 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4698 FOR vndr_bankrupt_cnt_rec IN vndr_bankrupt_cnt_csr
4699 LOOP
4700
4701 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, rpad(' LEASE VENDOR : '||vndr_bankrupt_cnt_rec.name,80,' ')||rpad('Contract# : '||vndr_bankrupt_cnt_rec.khr_number,35,' ')||'No. of Lines not Transferred : '||vndr_bankrupt_cnt_rec.vndr_rec_cnt);
4702
4703 END LOOP;
4704
4705 END IF;
4706 -- END of code added as part of Bankruptcy changes - Bug#: 15953012, 15953954
4707
4708 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4709
4710
4711 -- Start added as part of Bug#: 15953012, 15953954
4712 UPDATE okl_trx_ar_invoices_b
4713 SET trx_status_code = 'SUBMITTED'
4714 WHERE trx_status_code IN ('CUST-BANKRUPT','VNDR-BANKRUPT');
4715
4716 IF (SQL%ROWCOUNT >0) THEN
4717 COMMIT;
4718 END IF;
4719 -- End added as part of Bug#: 15953012, 15953954
4720
4721 -- End New Out File stmathew 15-OCT-2004
4722 IF x_msg_count > 0 THEN
4723 FOR i IN 1..x_msg_count LOOP
4724 IF i = 1 THEN
4725 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Details of Errored Invoice Lines:'||lpad(' ', 97, ' '));
4726 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,rpad(' ', 132, ' '));
4727 END IF;
4728 fnd_msg_pub.get (p_msg_index => i,
4729 p_encoded => 'F',
4730 p_data => lx_msg_data,
4731 p_msg_index_out => l_msg_index_out);
4732
4733 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,TO_CHAR(i) || ': ' || lx_msg_data);
4734
4735 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
4736 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'okl_arintf_pvt',
4737 TO_CHAR(i) || ': ' || lx_msg_data);
4738 END IF;
4739
4740 END LOOP;
4741 END IF;
4742
4743
4744 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
4745 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,'okl_arintf_pvt'
4746 ,'End(-)');
4747 END IF;
4748
4749 -- ----------------------------------------------------------
4750 -- End processing
4751 -- ----------------------------------------------------------
4752
4753 -- -------------------------------------------
4754 -- Purge data from the Parallel process Table
4755 -- -------------------------------------------
4756 IF p_assigned_process IS NOT NULL THEN
4757
4758 DELETE okl_parallel_processes
4759 WHERE assigned_process = p_assigned_process;
4760
4761 COMMIT;
4762
4763 END IF;
4764
4765
4766 EXCEPTION
4767
4768 WHEN bulk_errors THEN
4769
4770 -- -------------------------------------------
4771 -- Purge data from the Parallel process Table
4772 -- -------------------------------------------
4773 IF p_assigned_process IS NOT NULL THEN
4774 DELETE okl_parallel_processes
4775 WHERE assigned_process = p_assigned_process;
4776 COMMIT;
4777 END IF;
4778
4779 IF SQL%BULK_EXCEPTIONS.COUNT > 0 THEN
4780 FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT LOOP
4781 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4782 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Exception: For interface lines, error ' || i || ' occurred during '||
4783 'iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4784 END IF;
4785 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4786 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'Oracle error is ' ||
4787 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4788 -- bug 5474184
4789 END IF;
4790 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4791 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Exception: For interface lines, error ' || i || ' occurred during iteration ' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
4792 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','Oracle error is ' || SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
4793 -- bug 5474184
4794 END IF;
4795 END LOOP;
4796 END IF;
4797
4798 WHEN FND_API.G_EXC_ERROR THEN
4799 x_return_status := OKL_API.G_RET_STS_ERROR;
4800 FND_MSG_PUB.Count_And_Get
4801 (p_count => x_msg_count,
4802 p_data => x_msg_data);
4803
4804 IF x_msg_count > 0 THEN
4805 FOR i IN 1..x_msg_count LOOP
4806
4807 fnd_msg_pub.get (p_msg_index => i,
4808 p_encoded => 'F',
4809 p_data => lx_msg_data,
4810 p_msg_index_out => l_msg_index_out);
4811
4812 FND_FILE.put_line(fnd_file.log,'ERROR (OKL_ARIntf_Pvt.Get_REC_FEEDER): ' || lx_msg_data);
4813 END LOOP;
4814 END IF;
4815
4816 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4817 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
4818 FND_MSG_PUB.Count_And_Get
4819 (p_count => x_msg_count,
4820 p_data => x_msg_data);
4821
4822 IF x_msg_count > 0 THEN
4823 FOR i IN 1..x_msg_count LOOP
4824
4825 fnd_msg_pub.get (p_msg_index => i,
4826 p_encoded => 'F',
4827 p_data => lx_msg_data,
4828 p_msg_index_out => l_msg_index_out);
4829
4830 FND_FILE.put_line(fnd_file.log,'ERROR (OKL_ARIntf_Pvt.Get_REC_FEEDER): ' || lx_msg_data);
4831 END LOOP;
4832 END IF;
4833
4834 WHEN OTHERS THEN
4835 x_return_status := Okl_Api.G_RET_STS_ERROR;
4836 IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
4837 OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE,'INSERT Failed ' || SQLERRM);
4838 END IF;
4839 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4840 fnd_log.STRING(fnd_log.level_statement,'okl.plsql.okl_arintf_pvt.get_rec_feeder.debug','INSERT Failed ' || SQLERRM);
4841 END IF;
4842 -- -------------------------------------------
4843 -- Purge data from the Parallel process Table
4844 -- -------------------------------------------
4845 IF p_assigned_process IS NOT NULL THEN
4846 DELETE okl_parallel_processes
4847 WHERE assigned_process = p_assigned_process;
4848 COMMIT;
4849 END IF;
4850
4851 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
4852 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'okl_arintf_pvt',
4853 'EXCEPTION :'||'OTHERS');
4854 END IF;
4855
4856 END Get_REC_FEEDER;
4857
4858 END Okl_Arintf_Pvt;