[Home] [Help]
PACKAGE BODY: APPS.ZX_CORE_REP_EXTRACT_PKG
Source
1 PACKAGE BODY ZX_CORE_REP_EXTRACT_PKG AS
2 /* $Header: zxricoreplugpvtb.pls 120.12.12010000.3 2008/11/12 12:43:21 spasala ship $ */
3
4
5 -----------------------------------------
6 --Private Methods Declarations
7 -----------------------------------------
8
9 TYPE ATTRIBUTE1_TBL IS TABLE OF
10 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE1%TYPE INDEX BY BINARY_INTEGER;
11
12 TYPE ATTRIBUTE2_TBL IS TABLE OF
13 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE2%TYPE INDEX BY BINARY_INTEGER;
14
15 TYPE ATTRIBUTE3_TBL IS TABLE OF
16 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE3%TYPE INDEX BY BINARY_INTEGER;
17
18 TYPE ATTRIBUTE4_TBL IS TABLE OF
19 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE4%TYPE INDEX BY BINARY_INTEGER;
20
21 TYPE ATTRIBUTE5_TBL IS TABLE OF
22 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE5%TYPE INDEX BY BINARY_INTEGER;
23
24 TYPE ATTRIBUTE6_TBL IS TABLE OF
25 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE6%TYPE INDEX BY BINARY_INTEGER;
26
27 TYPE ATTRIBUTE7_TBL IS TABLE OF
28 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE7%TYPE INDEX BY BINARY_INTEGER;
29
30 --Bug 5251425
31 TYPE TRX_CURRENCY_DESC_TBL IS TABLE OF
32 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE9%TYPE INDEX BY BINARY_INTEGER;
33
34 TYPE batch_name_tbl IS TABLE OF
35 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE8%TYPE INDEX BY BINARY_INTEGER;
36
37 TYPE CCID_TBL IS TABLE OF
38 ZX_REP_ACTG_EXT_T.ACTG_LINE_CCID%TYPE INDEX BY BINARY_INTEGER;
39
40 TYPE NUMBER_TBL is table of number index by binary_integer;
41
42 TYPE NUMERIC1_TBL IS TABLE OF
43 ZX_REP_TRX_JX_EXT_T.NUMERIC1%TYPE INDEX BY BINARY_INTEGER;
44
45 TYPE NUMERIC2_TBL IS TABLE OF
46 ZX_REP_TRX_JX_EXT_T.NUMERIC2%TYPE INDEX BY BINARY_INTEGER;
47
48 TYPE ACC_CCID_TBL IS TABLE OF ZX_ACCOUNTS.TAX_ACCOUNT_CCID%TYPE;
49
50 -----------------------------------------
51 --Private Type
52
53 ----------------------------------------
54 --
55 PROCEDURE get_org_vat_num (
56 --p_report_name IN VARCHAR2,
57 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
58 -- p_request_id IN NUMBER,
59 p_establishment_id IN NUMBER,
60 p_org_vat_num_tbl OUT NOCOPY ATTRIBUTE2_TBL);
61
62 PROCEDURE get_territory_info(
63 --p_report_name IN VARCHAR2,
64 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
65 p_country_code_tbl IN ZX_EXTRACT_PKG.billing_tp_country_tbl,
66 p_territory_short_name_tbl OUT NOCOPY ATTRIBUTE2_TBL,
67 p_alternate_territory_name_tbl OUT NOCOPY ATTRIBUTE3_TBL);
68
69 PROCEDURE adjustment_tax_code(
70 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
71 p_tax_rate_code_tbl IN ZX_EXTRACT_PKG.tax_rate_code_tbl,
72 p_adj_tax_code_tbl OUT NOCOPY ATTRIBUTE1_TBL);
73
74 --Private Procedures Included for the Bug 5251425
75 PROCEDURE GET_CREATED_BY
76 (
77 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
78 p_trx_id_tbl IN ZX_EXTRACT_PKG.trx_id_tbl,
79 p_created_by_tbl OUT NOCOPY ATTRIBUTE6_TBL
80 ) ;
81
82 PROCEDURE GET_OU_DESC
83 (
84 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
85 p_internal_organization_id_tbl IN ZX_EXTRACT_PKG.internal_organization_id_tbl,
86 p_ou_desc_tbl OUT NOCOPY ATTRIBUTE7_TBL
87 ) ;
88
89 PROCEDURE GET_MATCH
90 (
91 p_detail_tax_line_id_tbl ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
92 p_acc_ccid_tbl ACC_CCID_TBL ,
93 p_match_tbl OUT NOCOPY ATTRIBUTE5_TBL
94 );
95
96 PROCEDURE GET_RECEIVED_AMOUNTS
97 (
98 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
99 p_trx_id_tbl IN ZX_EXTRACT_PKG.trx_id_tbl,
100 p_org_id_tbl IN zx_extract_pkg.INTERNAL_ORGANIZATION_ID_TBL ,
101 p_amount_received_tbl OUT NOCOPY NUMERIC2_TBL,
102 p_tax_received_tbl OUT NOCOPY NUMERIC1_TBL
103 );
104
105 -- Declare global varibles for FND log messages
106
107 g_current_runtime_level NUMBER;
108 g_level_statement CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
109 g_level_procedure CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
110 g_level_event CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
111 g_level_unexpected CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
112 g_error_buffer VARCHAR2(100);
113
114 -- Public APIs
115
116 PROCEDURE populate_core_ap(
117 P_TRL_GLOBAL_VARIABLES_REC IN ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE
118 )
119 IS
120
121 p_request_id NUMBER;
122 p_report_name VARCHAR2(30);
123 p_legal_entity_id NUMBER;
124 p_product VARCHAR2(30);
125 l_detail_tax_line_id_tbl ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL;
126 l_trx_id_tbl ZX_EXTRACT_PKG.TRX_ID_TBL;
127 l_country_code_tbl ZX_EXTRACT_PKG.BILLING_TP_COUNTRY_TBL;
128 l_org_vat_num_tbl ATTRIBUTE2_TBL;
129 l_territory_short_name_tbl ATTRIBUTE2_TBL;
130 l_alternate_territory_name_tbl ATTRIBUTE3_TBL;
131 l_establishment_id NUMBER;
132 l_tax_rate_code_tbl ZX_EXTRACT_PKG.TAX_RATE_CODE_TBL;
133 l_adj_tax_code_tbl ATTRIBUTE1_TBL;
134
135 --Bug 5251425
136 l_trx_currency_code_tbl zx_extract_pkg.trx_currency_code_tbl;
137 l_trx_currency_desc_tbl trx_currency_desc_tbl;
138 l_batch_name_tbl batch_name_tbl;
139 l_err_msg varchar2(120);
140 l_created_by_tbl attribute6_tbl;
141 l_ou_desc_tbl attribute7_tbl;
142 l_internal_organization_id_tbl zx_extract_pkg.internal_organization_id_tbl;
143 l_acc_ccid_tbl acc_ccid_tbl;
144 l_match_tbl attribute5_tbl;
145
146
147
148 CURSOR establishment_id_csr(c_legal_entity_id number) IS
149 SELECT xle_etb.establishment_id
150 FROM zx_party_tax_profile ptp,
151 xle_etb_profiles xle_etb
152 WHERE ptp.party_id = xle_etb.party_id
153 AND ptp.party_type_code = 'LEGAL_ESTABLISHMENT'
154 AND xle_etb.legal_entity_id = c_legal_entity_id
155 AND xle_etb.main_establishment_flag = 'Y';
156
157 BEGIN
158
159 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
160 -- g_level_statement := FND_LOG.LEVEL_STATEMENT;
161 -- g_level_procedure := FND_LOG.LEVEL_PROCEDURE;
162
163 IF (g_level_procedure >= g_current_runtime_level ) THEN
164 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP.BEGIN',
165 'ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP(+)');
166 END IF;
167
168 p_request_id := P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID;
169 p_report_name := P_TRL_GLOBAL_VARIABLES_REC.REPORT_NAME;
170 p_legal_entity_id := P_TRL_GLOBAL_VARIABLES_REC.LEGAL_ENTITY_ID;
171 p_product := P_TRL_GLOBAL_VARIABLES_REC.PRODUCT;
172
173 IF (g_level_statement >= g_current_runtime_level ) THEN
174 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
175 'p_report_name : '||P_REPORT_NAME);
176 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
177 'p_request_id : '||p_request_id);
178 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
179 'p_legal_entity_id : '||p_legal_entity_id);
180 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
181 'p_product : '||p_product);
182 END IF;
183
184
185 IF P_REPORT_NAME = 'ZXXTATAT' THEN
186 BEGIN
187 INSERT INTO zx_rep_trx_jx_ext_t
188 (detail_tax_line_ext_id,
189 detail_tax_line_id,
190 attribute1,
191 created_by,
192 creation_date,
193 last_updated_by,
194 last_update_date,
195 last_update_login,
196 request_id)
197 (SELECT zx_rep_trx_jx_ext_t_s.nextval,
198 dtl.detail_tax_line_id,
199 'Yes', --fl.meaning,
200 dtl.created_by,
201 dtl.creation_date,
202 dtl.last_updated_by,
203 dtl.last_update_date,
204 dtl.last_update_login,
205 p_request_id
206 FROM zx_rep_trx_detail_t dtl
207 WHERE EXISTS (select distinct ah.invoice_id
208 FROM ap_holds_all ah
209 WHERE ah.invoice_id = dtl.trx_id
210 AND ah.release_lookup_code IS NULL )
211 AND dtl.request_id = p_request_id);
212
213 IF (g_level_statement >= g_current_runtime_level ) THEN
214 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
215 'Insertion for Hold , ext.attribute1 : '||to_char(SQL%ROWCOUNT) );
216 END IF;
217
218 --Bug 5251425 : To get the C_TRX_CURRENCY_DESC ( ext.attribute9) and the C_BATCH_NAME ( ext.attribute8 ) for the Invoice .
219 SELECT
220 dtl.detail_tax_line_id,
221 dtl.trx_id,
222 dtl.trx_currency_code,
223 fcv.name,
224 ab.batch_name,
225 acc.TAX_ACCOUNT_CCID
226 BULK COLLECT INTO
227 l_detail_tax_line_id_tbl,
228 l_trx_id_tbl,
229 l_trx_currency_code_tbl,
230 l_trx_currency_desc_tbl,
231 l_batch_name_tbl,
232 l_acc_ccid_tbl
233 FROM
234 zx_rep_trx_detail_t dtl,
235 fnd_currencies_vl fcv,
236 ap_invoices_all ai,
237 ap_batches_all ab,
238 zx_rates_b rates,
239 zx_accounts acc
240 WHERE
241 dtl.request_id = p_request_id
242 AND dtl.trx_currency_code = fcv.currency_code
243 AND dtl.trx_id = ai.invoice_id
244 AND ai.batch_id = ab.batch_id(+)
245 AND dtl.tax_rate_id = rates.tax_rate_id(+)
246 AND acc.TAX_ACCOUNT_ENTITY_ID(+) = rates.tax_rate_id;
247
248 IF (g_level_statement >= g_current_runtime_level ) THEN
249 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
250 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
251 END IF;
252 --Get details for C_MATCH
253
254 GET_MATCH(
255 l_detail_tax_line_id_tbl,
256 l_acc_ccid_tbl,
257 l_match_tbl
258 );
259
260 IF (g_level_statement >= g_current_runtime_level ) THEN
261 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
262 'Before insertion into zx_rep_trx_jx_ext_t for report '||p_report_name );
263 END IF;
264
265 FORALL i IN nvl(l_detail_tax_line_id_tbl.FIRST,1)..nvl(l_detail_tax_line_id_tbl.LAST,0)
266 MERGE INTO zx_rep_trx_jx_ext_t ext
267 USING ( SELECT 1 FROM dual ) T
268 ON ( ext.detail_tax_line_id = l_detail_tax_line_id_tbl(i))
269 WHEN MATCHED THEN UPDATE SET ext.ATTRIBUTE9 = l_trx_currency_desc_tbl(i),
270 ext.attribute8 = l_batch_name_tbl(i),
271 ext.attribute5 = l_match_tbl(i)
272 WHEN NOT MATCHED THEN
273 INSERT (
274 detail_tax_line_ext_id,
275 detail_tax_line_id,
276 attribute9,
277 attribute8,
278 attribute5,
279 created_by,
280 creation_date,
281 last_updated_by,
282 last_update_date,
283 last_update_login,
284 request_id
285 )
286 VALUES ( ZX_MIGRATE_UTIL.get_next_seqid('ZX_REP_TRX_JX_EXT_T_S'),
287 l_detail_tax_line_id_tbl(i),
288 l_trx_currency_desc_tbl(i),
289 l_batch_name_tbl(i),
290 l_match_tbl(i),
291 fnd_global.user_id,
292 sysdate,
293 fnd_global.user_id,
294 sysdate,
295 fnd_global.login_id,
296 p_request_id
297 );
298 EXCEPTION
299 WHEN OTHERS THEN
300 -- NULL ;
301 IF (g_level_statement >= g_current_runtime_level ) THEN
302 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
303 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
304 END IF;
305 END;
306 END IF;
307
308 IF P_REPORT_NAME = 'ZXXTAVAR' THEN --Bug 5251425
309 BEGIN
310 OPEN establishment_id_csr (p_legal_entity_id);
311 FETCH establishment_id_csr INTO l_establishment_id;
312
313 IF (g_level_statement >= g_current_runtime_level ) THEN
314 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
315 'l_establishment_id : '||l_establishment_id);
316 END IF;
317
318 -- ------------------------------------------------ --
319 -- Get filtered tax lines --
320 -- in this case, you need to group the lines by trx --
321 -- ------------------------------------------------ --
322
323 SELECT dtl.detail_tax_line_id,
324 dtl.trx_id,
325 dtl.billing_tp_country,
326 dtl.internal_organization_id --Bug 5251425
327 BULK COLLECT INTO l_detail_tax_line_id_tbl,
328 l_trx_id_tbl,
329 l_country_code_tbl,
330 l_internal_organization_id_tbl --Bug 5251425
331 FROM zx_reporting_types_b rep_type,
332 zx_reporting_codes_b rep_code,
333 zx_report_codes_assoc rep_ass,
334 zx_party_tax_profile ptp,
335 xle_etb_profiles xle_pf ,
336 zx_rep_trx_detail_t dtl
337 WHERE rep_type.reporting_type_id = rep_code.reporting_type_id
338 AND rep_type.reporting_type_code = 'MEMBER STATE'
339 AND rep_code.reporting_code_id = rep_ass.reporting_code_id
340 AND rep_ass.entity_code = 'ZX_PARTY_TAX_PROFILE'
341 AND rep_ass.entity_id = ptp.party_tax_profile_id
342 AND ptp.party_id = xle_pf.party_id
343 AND ptp.Party_Type_Code = 'LEGAL_ESTABLISHMENT'
344 AND xle_pf.establishment_id = l_establishment_id
345 AND xle_pf.establishment_id = dtl.establishment_id
346 AND rep_code.reporting_code_char_value <> dtl.billing_tp_country
347 AND dtl.request_id = p_request_id;
348
349 IF (g_level_statement >= g_current_runtime_level ) THEN
350 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
351 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
352 END IF;
353
354 -- Note : Need to add xle_associations_v view to the above query for establishment_id join
355
356 -- Get territory Info --
357 IF ( nvl(l_detail_tax_line_id_tbl.count,0) > 0 ) THEN
358
359 GET_TERRITORY_INFO( l_detail_tax_line_id_tbl,
360 l_country_code_tbl,
361 l_territory_short_name_tbl,
362 l_alternate_territory_name_tbl);
363
364 IF (g_level_statement >= g_current_runtime_level ) THEN
365 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
366 'After getting the territory info.' );
367 END IF;
368
369 GET_ORG_VAT_NUM ( l_detail_tax_line_id_tbl,
370 l_establishment_id,
371 l_org_vat_num_tbl);
372
373 IF (g_level_statement >= g_current_runtime_level ) THEN
374 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
375 'After getting the org_vat_num' );
376 END IF;
377
378
379 --Bug 5251425 : To derive the C_CREATED_BY(zx_rep_trx_detail_t.attribute6)
380 -- and C_ATTRIBUTE3(Operating Unit Desc) into (zx_rep_trx_detail_t.attribute7)
381
382 GET_CREATED_BY(
383 l_detail_tax_line_id_tbl,
384 l_trx_id_tbl,
385 l_created_by_tbl
386 );
387
388 IF (g_level_statement >= g_current_runtime_level ) THEN
389 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
390 'After getting the created_by for invoice' );
391 END IF;
392
393
394 GET_OU_DESC(
395 l_detail_tax_line_id_tbl,
396 l_internal_organization_id_tbl,
397 l_ou_desc_tbl
398 );
399
400 IF (g_level_statement >= g_current_runtime_level ) THEN
401 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
402 'After getting the OU Description.' );
403 END IF;
404
405
406 FORALL i in nvl(l_detail_tax_line_id_tbl.first,1)..nvl(l_detail_tax_line_id_tbl.last,0)
407
408 INSERT INTO zx_rep_trx_jx_ext_t
409 (detail_tax_line_ext_id,
410 detail_tax_line_id,
411 attribute1,
412 attribute2,
413 attribute3,
414 attribute6,--Bug 5251425
415 attribute7,--Bug 5251425
416 created_by,
417 creation_date,
418 last_updated_by,
419 last_update_date,
420 last_update_login)
421 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
422 l_detail_tax_line_id_tbl(i),
423 l_org_vat_num_tbl(i),
424 l_territory_short_name_tbl(i),
425 l_alternate_territory_name_tbl(i),
426 l_created_by_tbl(i),--Bug 5251425
427 l_ou_desc_tbl(i),--Bug 5251425
428 fnd_global.user_id,
429 sysdate,
430 fnd_global.user_id,
431 sysdate,
432 fnd_global.login_id);
433
434 IF (g_level_statement >= g_current_runtime_level ) THEN
435 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
436 'After insertion into zx_rep_trx_jx_ext_t for report '||p_report_name );
437 END IF;
438
439 -- Delete Unwanted lines from Detail ITF
440
441 DELETE FROM zx_rep_trx_detail_t itf
442 WHERE itf.request_id = p_request_id
443 AND NOT EXISTS ( SELECT 1
444 FROM zx_rep_trx_jx_ext_t ext
445 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
446
447 IF (g_level_statement >= g_current_runtime_level ) THEN
448 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
449 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
450 END IF;
451 END IF ;
452
453 EXCEPTION
454 WHEN OTHERS THEN
455 NULL;
456 IF (g_level_statement >= g_current_runtime_level ) THEN
457 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
458 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
459 END IF;
460
461 END;
462 END IF;
463
464 -- This plug-in call extracts adjustment tax code for Italy, Poland, Portugal countries requirement
465
466 IF p_product = 'AR' or p_product = 'ALL' THEN
467
468 BEGIN
469
470 SELECT dtl.detail_tax_line_id,
471 dtl.tax_rate_code
472 BULK COLLECT INTO l_detail_tax_line_id_tbl,
473 l_tax_rate_code_tbl
474 FROM zx_rep_trx_detail_t dtl
475 WHERE dtl.request_id = p_request_id;
476
477 IF (g_level_statement >= g_current_runtime_level ) THEN
478 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
479 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
480 END IF;
481
482 adjustment_tax_code(
483 l_detail_tax_line_id_tbl,
484 l_tax_rate_code_tbl,
485 l_adj_tax_code_tbl);
486
487 IF (g_level_statement >= g_current_runtime_level ) THEN
488 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
489 'After getting adjustment tax code for Italy, Poland, Portugal countries');
490 END IF;
491
492 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
493 INSERT INTO zx_rep_trx_jx_ext_t
494 (detail_tax_line_ext_id,
495 detail_tax_line_id,
496 attribute1,
497 created_by,
498 creation_date,
499 last_updated_by,
500 last_update_date,
501 last_update_login)
502 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
503 l_detail_tax_line_id_tbl(i),
504 l_adj_tax_code_tbl(i),
505 fnd_global.user_id,
506 sysdate,
507 fnd_global.user_id,
508 sysdate,
509 fnd_global.login_id);
510
511 IF (g_level_statement >= g_current_runtime_level ) THEN
512 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
513 'After insertion into zx_rep_trx_jx_ext_t ');
514 END IF;
515
516 EXCEPTION
517 WHEN OTHERS THEN
518 NULL;
519 IF (g_level_statement >= g_current_runtime_level ) THEN
520 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
521 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
522 END IF;
523 END;
524 END IF;
525
526 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
527 IF (g_level_procedure >= g_current_runtime_level ) THEN
528 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP.BEGIN',
529 'ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP(-)');
530 END IF;
531 null;
532
533 END populate_core_ap;
534
535
536 PROCEDURE get_territory_info
537 (
538 --p_report_name IN VARCHAR2,
539 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
540 p_country_code_tbl IN ZX_EXTRACT_PKG.billing_tp_country_tbl,
541 p_territory_short_name_tbl OUT NOCOPY ATTRIBUTE2_TBL,
542 p_alternate_territory_name_tbl OUT NOCOPY ATTRIBUTE3_TBL
543 )
544 IS
545
546 BEGIN
547
548 FOR i in 1..nvl(p_detail_tax_line_id_tbl.last,0) LOOP
549 BEGIN
550 SELECT ft.territory_short_name,
551 ft.alternate_territory_code
552 INTO p_territory_short_name_tbl(i),
553 p_alternate_territory_name_tbl(i)
554 FROM fnd_territories_vl ft
555 WHERE ft.territory_code = p_country_code_tbl(i);
556 EXCEPTION
557 WHEN OTHERS THEN
558 p_territory_short_name_tbl(i) := NULL ;
559 p_alternate_territory_name_tbl(i) := NULL ;
560 IF ( g_level_statement>= g_current_runtime_level ) THEN
561 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
562 'Error Message : '||substrb(SQLERRM,1,120) );
563 END IF;
564 END;
565 END LOOP;
566
567 END get_territory_info;
568
569 PROCEDURE get_org_vat_num (
570 --p_report_name IN VARCHAR2,
571 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
572 -- p_request_id IN NUMBER,
573 p_establishment_id IN NUMBER,
574 p_org_vat_num_tbl OUT NOCOPY ATTRIBUTE2_TBL)
575 IS
576 BEGIN
577
578 FOR i in 1..nvl(p_detail_tax_line_id_tbl.last,0) LOOP
579 BEGIN
580 SELECT rep_code.reporting_code_char_value
581 INTO p_org_vat_num_tbl(i)
582 FROM zx_reporting_types_b rep_type,
583 zx_reporting_codes_b rep_code,
584 zx_report_codes_assoc rep_ass,
585 zx_party_tax_profile ptp,
586 xle_etb_profiles xle_pf
587 -- zx_rep_trx_detail_t dtl
588 WHERE rep_type.reporting_type_id = rep_code.reporting_type_id
589 AND rep_type.reporting_type_code = 'FSO_REG_NUM'
590 AND rep_code.reporting_code_id = rep_ass.reporting_code_id
591 AND rep_ass.entity_code = 'ZX_PARTY_TAX_PROFILE'
592 AND rep_ass.entity_id = ptp.party_tax_profile_id
593 AND ptp.party_id = xle_pf.party_id
594 AND ptp.Party_Type_Code = 'LEGAL_ESTABLISHMENT'
595 AND xle_pf.establishment_id = p_establishment_id;
596 -- AND rep_code.reporting_code_char_value <> dtl.billing_tp_country;
597 EXCEPTION
598 WHEN OTHERS THEN
599 p_org_vat_num_tbl(i) := NULL ;
600 IF ( g_level_statement>= g_current_runtime_level ) THEN
601 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
602 'Error Message : '||substrb(SQLERRM,1,120) );
603 END IF;
604 END ;
605 END LOOP;
606 END get_org_vat_num;
607
608
609 PROCEDURE adjustment_tax_code(
610 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
611 p_tax_rate_code_tbl IN ZX_EXTRACT_PKG.tax_rate_code_tbl,
612 p_adj_tax_code_tbl OUT NOCOPY ATTRIBUTE1_TBL)
613 IS
614 BEGIN
615 FOR i in 1..nvl(p_detail_tax_line_id_tbl.last,0) LOOP
616 BEGIN
617 SELECT rep_code.reporting_code_char_value
618 INTO p_adj_tax_code_tbl(i)
619 FROM zx_reporting_types_b rep_type,
620 zx_reporting_codes_b rep_code,
621 zx_report_codes_assoc rep_ass,
622 zx_rates_b zx_rate
623 WHERE rep_type.reporting_type_id = rep_code.reporting_type_id
624 AND rep_type.reporting_type_code = 'ZX_ADJ_TAX_CLASSIF_CODE'
625 AND rep_code.reporting_code_id = rep_ass.reporting_code_id
626 AND rep_ass.entity_code = 'ZX_RATES'
627 AND rep_ass.entity_id = zx_rate.tax_rate_id
628 AND zx_rate.tax_rate_code = p_tax_rate_code_tbl(i);
629 EXCEPTION
630 WHEN OTHERS THEN
631 p_adj_tax_code_tbl(i) := NULL ;
632 IF ( g_level_statement>= g_current_runtime_level ) THEN
633 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP',
634 'Error Message : '||substrb(SQLERRM,1,120) );
635 END IF;
636 END ;
637 END LOOP;
638 END;
639
640 PROCEDURE RETRIEVE_GEO_VALUE( p_event_class_mapping_id IN ZX_LINES_DET_FACTORS.event_class_mapping_id%type,
641 p_trx_id IN ZX_LINES_DET_FACTORS.trx_id%type,
642 p_trx_line_id IN ZX_LINES_DET_FACTORS.trx_line_id%type,
643 p_trx_level_type IN ZX_LINES_DET_FACTORS.trx_level_type%type,
644 p_location_type IN VARCHAR2,
645 p_location_id IN ZX_LINES_DET_FACTORS.ship_to_location_id%type,
646 p_geography_type IN VARCHAR2,
647 x_geography_value OUT NOCOPY VARCHAR2,
648 x_geo_val_found OUT NOCOPY BOOLEAN) IS
649
650 hash_string varchar2(1000);
651 TABLE_SIZE BINARY_INTEGER := 65636;
652 TABLEIDX binary_integer;
653 loc_info_idx binary_integer;
654 HASH_VALUE binary_integer;
655
656 BEGIN
657
658 hash_string := to_char(p_event_class_mapping_id)||'|'||
659 to_char(p_trx_id)||'|'||
660 to_char(p_trx_line_id)||'|'||
661 p_trx_level_type||'|'||
662 p_location_type||'|'||
663 to_char(p_location_id)||'|'||
664 p_geography_type;
665
666 TABLEIDX := dbms_utility.get_hash_value(hash_string,1,TABLE_SIZE);
667
668 IF (ZX_GLOBAL_STRUCTURES_PKG.location_hash_tbl.EXISTS(TABLEIDX)) THEN
669 loc_info_idx := ZX_GLOBAL_STRUCTURES_PKG.location_hash_tbl(TABLEIDX);
670 x_geography_value := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(loc_info_idx);
671 x_geo_val_found := TRUE;
672 ELSE
673 x_geo_val_found := FALSE;
674 END IF;
675
676 end RETRIEVE_GEO_VALUE;
677
678 --Bug 5251425
679 PROCEDURE GET_CREATED_BY
680 (
681 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
682 p_trx_id_tbl IN ZX_EXTRACT_PKG.trx_id_tbl,
683 p_created_by_tbl OUT NOCOPY ATTRIBUTE6_TBL
684 )
685 IS
686
687 BEGIN
688
689 FOR i in 1..nvl(p_detail_tax_line_id_tbl.last,0) LOOP
690 BEGIN
691 SELECT fu.user_name
692 INTO p_created_by_tbl(i)
693 FROM ap_invoices_all ai,
694 fnd_user fu
695 WHERE ai.invoice_id = p_trx_id_tbl(i)
696 AND fu.user_id = ai.created_by ;
697 EXCEPTION
698 WHEN OTHERS THEN
699 p_created_by_tbl(i) := NULL ;
700 IF ( g_level_statement>= g_current_runtime_level ) THEN
701 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
702 'Error Message : '||substrb(SQLERRM,1,120) );
703 END IF;
704 END;
705 END LOOP;
706
707 END GET_CREATED_BY;
708
709 --Bug 5251425
710 PROCEDURE GET_OU_DESC
711 (
712 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl,
713 p_internal_organization_id_tbl IN ZX_EXTRACT_PKG.internal_organization_id_tbl,
714 p_ou_desc_tbl OUT NOCOPY ATTRIBUTE7_TBL
715 )
716 IS
717
718 BEGIN
719
720 FOR i in 1..nvl(p_detail_tax_line_id_tbl.last,0) LOOP
721 BEGIN
722 SELECT hou.NAME
723 INTO p_ou_desc_tbl(i)
724 FROM hr_operating_units hou
725 WHERE hou.organization_id = p_internal_organization_id_tbl(i);
726 EXCEPTION
727 WHEN OTHERS THEN
728 p_ou_desc_tbl(i) := NULL ;
729 IF ( g_level_statement>= g_current_runtime_level ) THEN
730 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
731 'Error Message : '||substrb(SQLERRM,1,120) );
732 END IF;
733 END;
734 END LOOP;
735
736 END GET_OU_DESC;
737 --Bug 5251425
738 PROCEDURE GET_MATCH(
739 p_detail_tax_line_id_tbl ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
740 p_acc_ccid_tbl ACC_CCID_TBL ,
741 p_match_tbl OUT NOCOPY ATTRIBUTE5_TBL
742 )
743 IS
744 l_nls_no VARCHAR(10);
745 BEGIN
746 SELECT
747 ln.meaning
748 INTO l_nls_no
749 FROM
750 fnd_lookups ln, ap_lookup_codes la
751 WHERE
752 ln.lookup_type = 'YES_NO'
753 AND ln.lookup_code = 'N'
754 AND la.lookup_type = 'NLS REPORT PARAMETER'
755 AND la.lookup_code = 'ALL';
756
757 FOR i in 1..nvl(p_detail_tax_line_id_tbl.last,0) LOOP
758 BEGIN
759 SELECT Decode(p_ACC_CCID_TBL(i), act.ACTG_LINE_CCID,NULL,l_nls_no )
760 INTO p_match_tbl(i)
761 FROM ZX_REP_ACTG_EXT_T act
762 WHERE act.detail_tax_line_id = p_detail_tax_line_id_tbl(i);
763 EXCEPTION
764 WHEN OTHERS THEN
765 p_match_tbl(i) := null;
766 IF ( g_level_statement>= g_current_runtime_level ) THEN
767 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
768 'Error Message : '||substrb(SQLERRM,1,120) );
769 END IF;
770 END;
771 END LOOP;
772 END GET_MATCH;
773
774 --To get the Received amounts for the report ZXXCDE
775 PROCEDURE GET_RECEIVED_AMOUNTS
776 (
777 p_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
778 p_trx_id_tbl IN ZX_EXTRACT_PKG.trx_id_tbl,
779 p_org_id_tbl IN zx_extract_pkg.INTERNAL_ORGANIZATION_ID_TBL ,
780 p_amount_received_tbl OUT NOCOPY NUMERIC2_TBL,
781 p_tax_received_tbl OUT NOCOPY NUMERIC1_TBL
782 )
783 IS
784
785 l_amount_recvd_tbl NUMERIC2_TBL;
786 l_tax_amount_rcvd_tbl NUMERIC1_TBL;
787
788 BEGIN
789
790 FOR i in 1..nvl(p_detail_tax_line_id_tbl.last,0) LOOP
791
792 IF l_amount_recvd_tbl.EXISTS(p_trx_id_tbl(i)) THEN
793 null;
794 ELSE
795 l_amount_recvd_tbl(p_trx_id_tbl(i)) := null;
796 END IF;
797
798 IF l_tax_amount_rcvd_tbl.EXISTS(p_trx_id_tbl(i)) THEN
799 null;
800 ELSE
801 l_tax_amount_rcvd_tbl(p_trx_id_tbl(i)) := null;
802 END IF;
803
804 --get amount received for that trx without any proration done , populate the amount only once per trx_id
805 -- in the extension table
806 IF l_amount_recvd_tbl(p_trx_id_tbl(i)) is NULL THEN
807
808 BEGIN
809 SELECT SUM(nvl(amount_applied,0)) ,sum(nvl(tax_applied,0))
810 INTO l_amount_recvd_tbl(p_trx_id_tbl(i)),l_tax_amount_rcvd_tbl(p_trx_id_tbl(i))
811 FROM AR_RECEIVABLE_APPLICATIONS_ALL
812 WHERE applied_customer_trx_id = p_trx_id_tbl(i)
813 AND org_id = p_org_id_tbl(i);
814 EXCEPTION
815 WHEN OTHERS THEN
816 l_amount_recvd_tbl(p_trx_id_tbl(i)) := 0;
817 l_tax_amount_rcvd_tbl(p_trx_id_tbl(i)) := 0;
818
819 IF ( g_level_statement>= g_current_runtime_level ) THEN
820 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
821 'Error Message : '||substrb(SQLERRM,1,120) );
822 END IF;
823 END ;
824 p_amount_received_tbl(i) := l_amount_recvd_tbl(p_trx_id_tbl(i));
825 p_tax_received_tbl(i) := l_tax_amount_rcvd_tbl(p_trx_id_tbl(i)) ;
826 ELSE
827 p_amount_received_tbl(i) := 0 ;
828 p_tax_received_tbl(i) := 0 ;
829 END IF ;
830 END LOOP ;
831
832 EXCEPTION
833 WHEN OTHERS THEN
834 NULL ;
835 END ;
836
837
838 /*======================================================================================+
839 | PROCEDURE |
840 | POPULATE_TAX_JURIS_FOR_USSTR |
841 | Type : Private |
842 | Pre-req : None |
843 | Function : |
844 | This procedure extracts State, County, and City of taxing jurisdiction |
845 | for each tax line into table |
846 | |
847 | Called from XX_XX_EXTRACT_PKG.XXXXXXXX |
848 | |
849 | Parameters : |
850 | IN : P_TRL_GLOBAL_VARIABLES_REC IN VARCHAR2 |
851 | |
852 | MODIFICATION HISTORY |
853 | 20-Jun-05 Santosh Vaze created |
854 | |
855 +======================================================================================*/
856
857
858 PROCEDURE POPULATE_CORE_AR(
859 P_TRL_GLOBAL_VARIABLES_REC IN ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE
860 )
861 IS
862
863 P_REPORT_NAME VARCHAR2(30);
864 P_REQUEST_ID NUMBER;
865 l_place_of_supply ZX_LINES.place_of_supply_type_code%type;
866 l_location_type_tbl ZX_TCM_GEO_JUR_PKG.location_type_tbl_type;
867 l_location_id_tbl ZX_TCM_GEO_JUR_PKG.location_id_tbl_type;
868 l_geo_val_found BOOLEAN;
869 x_return_status VARCHAR2(1);
870 prev_event_class_mapping_id NUMBER;
871
872 TYPE DETAIL_TAX_LINE_ID_TBL IS TABLE OF
873 ZX_REP_TRX_DETAIL_T.DETAIL_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
874 TYPE EVENT_CLASS_MAPPING_ID_TBL IS TABLE OF
875 ZX_REP_TRX_DETAIL_T.EVENT_CLASS_MAPPING_ID%TYPE INDEX BY BINARY_INTEGER;
876 TYPE TRX_ID_TBL IS TABLE OF
877 ZX_REP_TRX_DETAIL_T.TRX_ID%TYPE INDEX BY BINARY_INTEGER;
878 TYPE TRX_LINE_ID_TBL IS TABLE OF
879 ZX_REP_TRX_DETAIL_T.TRX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
880 TYPE TRX_LEVEL_TYPE_TBL IS TABLE OF
881 ZX_REP_TRX_DETAIL_T.TRX_LEVEL_TYPE%TYPE INDEX BY BINARY_INTEGER;
882 TYPE POS_TYPE_CODE_TBL IS TABLE OF
883 ZX_REP_TRX_DETAIL_T.PLACE_OF_SUPPLY_TYPE_CODE%TYPE INDEX BY BINARY_INTEGER;
884 TYPE SHIP_TO_LOCATION_ID_TBL IS TABLE OF
885 ZX_REP_TRX_DETAIL_T.SHIP_TO_LOCATION_ID%TYPE INDEX BY BINARY_INTEGER;
886 TYPE SHIP_FROM_LOCATION_ID_TBL IS TABLE OF
887 ZX_REP_TRX_DETAIL_T.SHIP_FROM_LOCATION_ID%TYPE INDEX BY BINARY_INTEGER;
888 TYPE BILL_TO_LOCATION_ID_TBL IS TABLE OF
889 ZX_REP_TRX_DETAIL_T.BILL_TO_LOCATION_ID%TYPE INDEX BY BINARY_INTEGER;
890 TYPE BILL_FROM_LOCATION_ID_TBL IS TABLE OF
891 ZX_REP_TRX_DETAIL_T.BILL_FROM_LOCATION_ID%TYPE INDEX BY BINARY_INTEGER;
892 TYPE POA_LOCATION_ID_TBL IS TABLE OF
893 ZX_REP_TRX_DETAIL_T.POA_LOCATION_ID%TYPE INDEX BY BINARY_INTEGER;
894 TYPE POO_LOCATION_ID_TBL IS TABLE OF
895 ZX_REP_TRX_DETAIL_T.POO_LOCATION_ID%TYPE INDEX BY BINARY_INTEGER;
896 TYPE DEF_POS_TYPE_CODE_TBL IS TABLE OF
897 ZX_REP_TRX_DETAIL_T.DEF_PLACE_OF_SUPPLY_TYPE_CODE%TYPE INDEX BY BINARY_INTEGER;
898 TYPE GEO_VAL_TBL IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
899
900 l_detail_tax_line_id_tbl ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL;
901 l_event_class_mapping_id_tbl EVENT_CLASS_MAPPING_ID_TBL;
902 l_trx_id_tbl ZX_EXTRACT_PKG.TRX_ID_TBL;
903 l_trx_line_id_tbl TRX_LINE_ID_TBL;
904 l_trx_level_type_tbl TRX_LEVEL_TYPE_TBL;
905 l_pos_type_code_tbl POS_TYPE_CODE_TBL;
906 l_ship_to_location_id_tbl SHIP_TO_LOCATION_ID_TBL;
907 l_ship_from_location_id_tbl SHIP_FROM_LOCATION_ID_TBL;
908 l_bill_to_location_id_tbl BILL_TO_LOCATION_ID_TBL;
909 l_bill_from_location_id_tbl BILL_FROM_LOCATION_ID_TBL;
910 l_poa_location_id_tbl POA_LOCATION_ID_TBL;
911 l_poo_location_id_tbl POO_LOCATION_ID_TBL;
912 l_def_pos_type_code_tbl DEF_POS_TYPE_CODE_TBL;
913 l_state_tbl GEO_VAL_TBL;
914 l_county_tbl GEO_VAL_TBL;
915 l_city_tbl GEO_VAL_TBL;
916
917 --Bug 5251425 : Variable Declarations for the Bug.
918 l_ledger_id_tbl zx_extract_pkg.ledger_id_tbl;
919 l_period_net_dr_tbl number_tbl;
920 l_period_net_cr_tbl number_tbl;
921 l_gl_activity_tbl number_tbl;
922 t_gl_activity_tbl number_tbl;
923 l_ccid_tbl ccid_tbl ;
924
925 l_amount_received_tbl NUMERIC2_TBL;
926 l_tax_received_tbl NUMERIC1_TBL;
927 l_org_id_tbl zx_extract_pkg.INTERNAL_ORGANIZATION_ID_TBL;
928
929 l_bal_seg_prompt_tbl ATTRIBUTE1_TBL;
930
931 l_set_of_books_id apps.gl_sets_of_books.set_of_books_id%type;
932 l_period_from apps.gl_period_statuses.period_name%type;
933 l_period_to apps.gl_period_statuses.period_name%type;
934
935 BEGIN
936
937 -- IF PG_DEBUG = 'Y' THEN
938 --
939 -- arp_standard.debug('ZX.plsql.ZX_XX_EXTRACT_PKG.populate_tax_juris_for_usstr(+) ');
940 -- END IF;
941 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
942
943 IF (g_level_procedure >= g_current_runtime_level ) THEN
944 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AP.BEGIN',
945 'ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR(+)');
946 END IF;
947
948
949 -- Get necessary parameters from TRL Global Variables
950
951 P_REPORT_NAME := P_TRL_GLOBAL_VARIABLES_REC.REPORT_NAME;
952 P_REQUEST_ID := P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID;
953 prev_event_class_mapping_id := 0;
954
955 IF (g_level_statement >= g_current_runtime_level ) THEN
956 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
957 'p_report_name : '||P_REPORT_NAME);
958 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
959 'p_request_id : '||p_request_id);
960 END IF;
961
962 IF P_REPORT_NAME = 'ARXSTR' THEN
963
964 BEGIN
965 SELECT detail_tax_line_id,
966 event_class_mapping_id,
967 trx_id,
968 trx_line_id,
969 trx_level_type,
970 place_of_supply_type_code,
971 ship_to_location_id,
972 ship_from_location_id,
973 bill_to_location_id,
974 bill_from_location_id,
975 poa_location_id,
976 poo_location_id,
977 def_place_of_supply_type_code
978 BULK COLLECT INTO l_detail_tax_line_id_tbl,
979 l_event_class_mapping_id_tbl,
980 l_trx_id_tbl,
981 l_trx_line_id_tbl,
982 l_trx_level_type_tbl,
983 l_pos_type_code_tbl,
984 l_ship_to_location_id_tbl,
985 l_ship_from_location_id_tbl,
986 l_bill_to_location_id_tbl,
987 l_bill_from_location_id_tbl,
988 l_poa_location_id_tbl,
989 l_poo_location_id_tbl,
990 l_def_pos_type_code_tbl
991 FROM zx_rep_trx_detail_t itf
992 WHERE itf.request_id = P_REQUEST_ID;
993 EXCEPTION
994 WHEN OTHERS THEN
995 null;
996 /*
997 IF PG_DEBUG = 'Y' THEN
998 l_err_msg := substrb(SQLERRM,1,120);
999 arp_standard.debug('ZX_XX_EXTRACT_PKG.us_sales_tax_rep.'|| P_REPORT_NAME ||':'||l_err_msg);
1000 END IF;
1001 */
1002 END;
1003
1004 IF ( g_level_statement>= g_current_runtime_level ) THEN
1005 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1006 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
1007 END IF;
1008
1009 FOR i in 1..l_trx_id_tbl.last LOOP
1010
1011 l_place_of_supply := nvl(l_pos_type_code_tbl(i),nvl(l_def_pos_type_code_tbl(i),'SHIP_TO'));
1012 IF l_place_of_supply = 'SHIP_TO' THEN
1013 l_location_type_tbl(1):= 'SHIP_TO';
1014 l_location_id_tbl(1):= l_ship_to_location_id_tbl(i);
1015 ELSIF l_place_of_supply = 'SHIP_FROM' THEN
1016 l_location_type_tbl(1):= 'SHIP_FROM';
1017 l_location_id_tbl(1):= l_ship_from_location_id_tbl(i);
1018 ELSIF l_place_of_supply = 'BILL_TO' THEN
1019 l_location_type_tbl(1):= 'BILL_TO';
1020 l_location_id_tbl(1):= l_bill_to_location_id_tbl(i);
1021 ELSIF l_place_of_supply = 'BILL_FROM' THEN
1022 l_location_type_tbl(1):= 'BILL_FROM';
1023 l_location_id_tbl(1):= l_bill_from_location_id_tbl(i);
1024 ELSIF l_place_of_supply = 'POA' THEN
1025 l_location_type_tbl(1):= 'POA';
1026 l_location_id_tbl(1):= l_poa_location_id_tbl(i);
1027 ELSIF l_place_of_supply = 'POO' THEN
1028 l_location_type_tbl(1):= 'POO';
1029 l_location_id_tbl(1):= l_poo_location_id_tbl(i);
1030 END IF;
1031
1032
1033 /* Check existence of input combination in table ZX_GLOBAL_STRUCTURES_PKG.location_hash_tbl */
1034
1035 RETRIEVE_GEO_VALUE(l_event_class_mapping_id_tbl(i),
1036 l_trx_id_tbl(i),
1037 l_trx_line_id_tbl(i),
1038 l_trx_level_type_tbl(i),
1039 l_location_type_tbl(1),
1040 l_location_id_tbl(1),
1041 'STATE',
1042 l_state_tbl(i),
1043 l_geo_val_found);
1044
1045 IF ( g_level_statement>= g_current_runtime_level ) THEN
1046 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1047 'l_geo_val_found : '||arp_trx_util.boolean_to_varchar2(l_geo_val_found));
1048 END IF;
1049
1050 IF l_geo_val_found THEN
1051 null;
1052 ELSE
1053 IF prev_event_class_mapping_id <> l_event_class_mapping_id_tbl(i) THEN
1054 BEGIN
1055 SELECT
1056 zxevntclsmap.event_class_mapping_id,
1057 zxevntclsmap.ship_to_party_type,
1058 zxevntclsmap.ship_from_party_type,
1059 zxevntclsmap.poa_party_type,
1060 zxevntclsmap.poo_party_type,
1061 zxevntclsmap.bill_to_party_type,
1062 zxevntclsmap.bill_from_party_type
1063 INTO
1064 prev_event_class_mapping_id,
1065 zx_valid_init_params_pkg.source_rec.ship_to_party_type,
1066 zx_valid_init_params_pkg.source_rec.ship_from_party_type,
1067 zx_valid_init_params_pkg.source_rec.poa_party_type,
1068 zx_valid_init_params_pkg.source_rec.poo_party_type,
1069 zx_valid_init_params_pkg.source_rec.bill_to_party_type,
1070 zx_valid_init_params_pkg.source_rec.bill_from_party_type
1071 FROM ZX_EVNT_CLS_MAPPINGS zxevntclsmap
1072 WHERE zxevntclsmap.event_class_mapping_id = l_event_class_mapping_id_tbl(i);
1073
1074 IF ( g_level_statement>= g_current_runtime_level ) THEN
1075 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1076 'Rows fetched from ZX_EVNT_CLS_MAPPINGS : '||to_char(SQL%ROWCOUNT) );
1077 END IF;
1078 EXCEPTION
1079 WHEN OTHERS THEN
1080 null;
1081 IF ( g_level_statement>= g_current_runtime_level ) THEN
1082 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1083 'Error Message ZX_EVNT_CLS_MAPPINGS : '||substrb(SQLERRM,1,120) );
1084 END IF;
1085 /*
1086 IF PG_DEBUG = 'Y' THEN
1087 l_err_msg := substrb(SQLERRM,1,120);
1088 arp_standard.debug('ZX_XX_EXTRACT_PKG.us_sales_tax_rep.'|| P_REPORT_NAME ||':'||l_err_msg);
1089 END IF;
1090 */
1091 END;
1092 END IF;
1093
1094 BEGIN
1095
1096 IF ( g_level_statement>= g_current_runtime_level ) THEN
1097 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1098 'Before call to ZX_TCM_GEO_JUR_PKG.populate_loc_geography_info ');
1099 END IF;
1100
1101 ZX_TCM_GEO_JUR_PKG.populate_loc_geography_info
1102 (l_event_class_mapping_id_tbl(i),
1103 l_trx_id_tbl(i),
1104 l_trx_line_id_tbl(i),
1105 l_trx_level_type_tbl(i),
1106 l_location_type_tbl,
1107 l_location_id_tbl,
1108 x_return_status);
1109 EXCEPTION
1110 WHEN OTHERS THEN
1111 null;
1112 IF ( g_level_statement>= g_current_runtime_level ) THEN
1113 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1114 'Error Message : ZX_TCM_GEO_JUR_PKG.populate_loc_geography_info : '||substrb(SQLERRM,1,120) );
1115 END IF;
1116 /*
1117 IF PG_DEBUG = 'Y' THEN
1118 l_err_msg := substrb(SQLERRM,1,120);
1119 arp_standard.debug('ZX_XX_EXTRACT_PKG.us_sales_tax_rep.'|| P_REPORT_NAME ||':'||l_err_msg);
1120 END IF;
1121 */
1122 END;
1123 RETRIEVE_GEO_VALUE(l_event_class_mapping_id_tbl(i),
1124 l_trx_id_tbl(i),
1125 l_trx_line_id_tbl(i),
1126 l_trx_level_type_tbl(i),
1127 l_location_type_tbl(1),
1128 l_location_id_tbl(1),
1129 'STATE',
1130 l_state_tbl(i),
1131 l_geo_val_found);
1132
1133 IF ( g_level_statement>= g_current_runtime_level ) THEN
1134 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1135 'Retrieved geo_value for STATE : '||l_state_tbl(i) ||' l_geo_val_found : '||arp_trx_util.boolean_to_varchar2(l_geo_val_found));
1136 END IF;
1137
1138 END IF;
1139 RETRIEVE_GEO_VALUE(l_event_class_mapping_id_tbl(i),
1140 l_trx_id_tbl(i),
1141 l_trx_line_id_tbl(i),
1142 l_trx_level_type_tbl(i),
1143 l_location_type_tbl(1),
1144 l_location_id_tbl(1),
1145 'COUNTY',
1146 l_county_tbl(i),
1147 l_geo_val_found);
1148
1149 IF ( g_level_statement>= g_current_runtime_level ) THEN
1150 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1151 'Retrieved geo_value for COUNTY : '||l_county_tbl(i) ||' l_geo_val_found : '||arp_trx_util.boolean_to_varchar2(l_geo_val_found));
1152 END IF;
1153
1154 RETRIEVE_GEO_VALUE(l_event_class_mapping_id_tbl(i),
1155 l_trx_id_tbl(i),
1156 l_trx_line_id_tbl(i),
1157 l_trx_level_type_tbl(i),
1158 l_location_type_tbl(1),
1159 l_location_id_tbl(1),
1160 'CITY',
1161 l_city_tbl(i),
1162 l_geo_val_found);
1163
1164 IF ( g_level_statement>= g_current_runtime_level ) THEN
1165 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1166 'Retrieved geo_value for CITY : '||l_city_tbl(i) ||' l_geo_val_found : '||arp_trx_util.boolean_to_varchar2(l_geo_val_found));
1167 END IF;
1168
1169
1170 END LOOP;
1171
1172 -- Insert lines into JX EXT Table with Calculated amount --
1173
1174 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
1175
1176 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
1177 detail_tax_line_id,
1178 attribute1,
1179 attribute2,
1180 attribute3,
1181 created_by,
1182 creation_date,
1183 last_updated_by,
1184 last_update_date,
1185 last_update_login)
1186 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
1187 l_detail_tax_line_id_tbl(i),
1188 l_state_tbl(i),
1189 l_county_tbl(i),
1190 l_city_tbl(i),
1191 fnd_global.user_id,
1192 sysdate,
1193 fnd_global.user_id,
1194 sysdate,
1195 fnd_global.login_id);
1196
1197 IF ( g_level_statement>= g_current_runtime_level ) THEN
1198 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1199 'After insertion into zx_rep_trx_jx_ext_t ');
1200 END IF;
1201
1202 -- Delete Unwanted lines from Detail ITF
1203
1204 BEGIN
1205 DELETE from zx_rep_trx_detail_t itf
1206 WHERE itf.request_id = p_request_id
1207 AND NOT EXISTS ( SELECT 1
1208 FROM zx_rep_trx_jx_ext_t ext
1209 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
1210
1211 IF ( g_level_statement>= g_current_runtime_level ) THEN
1212 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1213 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
1214 END IF;
1215
1216 EXCEPTION
1217 WHEN OTHERS THEN
1218 null;
1219 IF ( g_level_statement>= g_current_runtime_level ) THEN
1220 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1221 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
1222 END IF;
1223 /*
1224 IF PG_DEBUG = 'Y' THEN
1225 l_err_msg := substrb(SQLERRM,1,120);
1226 arp_standard.debug('ZX_XX_EXTRACT_PKG.populate_us_sales_tax_rep_ext.'||p_report_name || '.'||l_err_msg);
1227 END IF;
1228 */
1229 END;
1230 END IF; -- End of P_REPORT_NAME = ..
1231
1232 --Bug 5251425 : To Populate General Ledger Activity(C_GL_ACTIVITY_DISP) and C_BAL_SEGMENT_PROMPT into ZX_REP_TRX_JX_EXT_T.numeric1 and ZX_REP_TRX_JX_EXT_T.attribute1 respectively ..
1233 IF ( p_report_name = 'ZXXVATRN' ) THEN
1234 -- get details for C_GL_ACTIVITY_DISP
1235 BEGIN
1236 /* select gl.set_of_books_id
1237 into l_set_of_books_id
1238 from gl_sets_of_books gl, ar_system_parameters ar
1239 where gl.set_of_books_id = ar.set_of_books_id;
1240 */
1241
1242 IF ( g_level_statement>= g_current_runtime_level ) THEN
1243 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1244 'P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_LOW : '||P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_LOW);
1245 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1246 'P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_HIGH : '||P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_HIGH);
1247 END IF;
1248 select gl.period_name
1249 into l_period_from
1250 from gl_period_statuses gl
1251 --, ar_system_parameters ar
1252 where gl.start_date = P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_LOW
1253 and gl.set_of_books_id = P_TRL_GLOBAL_VARIABLES_REC.LEDGER_ID
1254 --l_set_of_books_id
1255 and gl.application_id = 222
1256 and rownum = 1;
1257
1258 select gl.period_name
1259 into l_period_to
1260 from gl_period_statuses gl
1261 --, ar_system_parameters ar
1262 where gl.end_date >= P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_HIGH
1263 and gl.set_of_books_id = P_TRL_GLOBAL_VARIABLES_REC.LEDGER_ID
1264 ---l_set_of_books_id
1265 and gl.application_id = 222
1266 and rownum = 1;
1267
1268 IF ( g_level_statement>= g_current_runtime_level ) THEN
1269 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1270 'P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_HIGH : '||P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_HIGH);
1271 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1272 'P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_LOW : '||P_TRL_GLOBAL_VARIABLES_REC.GL_DATE_LOW);
1273 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1274 'l_set_of_books_id : '||l_set_of_books_id);
1275 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1276 'l_period_from : '||l_period_from);
1277 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1278 'l_period_to : '||l_period_to);
1279 END IF;
1280 EXCEPTION WHEN OTHERS THEN
1281 NULL ;
1282 IF ( g_level_statement>= g_current_runtime_level ) THEN
1283 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1284 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
1285 END IF;
1286 END ;
1287
1288
1289 DECLARE
1290 l_appcol_name varchar2(1000);
1291 l_seg_name varchar2(1000);
1292 l_prompt varchar2(1000) := '';
1293 l_value_set_name varchar2(1000);
1294 L_SEG_NUM NUMBER;
1295 L_CHART_OF_ACCOUNTS_ID apps.gl_sets_of_books.chart_of_accounts_id%type;
1296 L_BALANCING_SEGMENT varchar2(100);
1297 l_bool boolean;
1298 BEGIN
1299 -- get details C_BAL_SEGMENT_PROMPT
1300 select to_char(chart_of_accounts_id)
1301 into l_CHART_OF_ACCOUNTS_ID
1302 from gl_ledgers where ledger_id = P_TRL_GLOBAL_VARIABLES_REC.LEDGER_ID;
1303 -- from gl_sets_of_books gl, ar_system_parameters ar
1304 -- where gl.set_of_books_id = ar.set_of_books_id;
1305
1306 IF ( g_level_statement>= g_current_runtime_level ) THEN
1307 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1308 'Before calling fa_rx_flex_pkg.flex_sql to get balancing segment ' );
1309 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1310 'l_CHART_OF_ACCOUNTS_ID : '||l_CHART_OF_ACCOUNTS_ID);
1311 END IF;
1312
1313 l_balancing_segment := fa_rx_flex_pkg.flex_sql
1314 (
1315 p_application_id =>101,
1316 p_id_flex_code => 'GL#',
1317 p_id_flex_num => l_CHART_OF_ACCOUNTS_ID,
1318 p_table_alias => '',
1319 p_mode => 'SELECT',
1320 p_qualifier => 'GL_BALANCING'
1321 );
1322
1323 SELECT to_number(SubStr(l_balancing_segment,8)) INTO L_SEG_NUM FROM dual;
1324
1325 IF ( g_level_statement>= g_current_runtime_level ) THEN
1326 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1327 'l_balancing_segment : '||l_balancing_segment);
1328 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1329 'L_SEG_NUM : '||L_SEG_NUM);
1330 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1331 'Before calling fnd_flex_apis.get_segment_info to get the Balancing Seg prompt' );
1332 END IF;
1333
1334 l_bool := apps.fnd_flex_apis.get_segment_info(
1335 x_application_id =>101,
1336 x_id_flex_code =>'GL#',
1337 x_id_flex_num =>l_CHART_OF_ACCOUNTS_ID,
1338 x_seg_num => L_SEG_NUM,
1339 x_appcol_name => l_appcol_name ,
1340 x_seg_name => l_seg_name ,
1341 x_prompt => l_prompt ,
1342 x_value_set_name => l_value_set_name
1343 );
1344
1345 IF ( g_level_statement>= g_current_runtime_level ) THEN
1346 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1347 'l_prompt : '||l_prompt);
1348 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1349 'l_seg_name : '||l_seg_name);
1350 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1351 'l_value_set_name : '||l_value_set_name);
1352 END IF;
1353
1354 SELECT
1355 det.detail_tax_line_id,
1356 det.trx_id,
1357 act.ACTG_LINE_CCID,
1358 det.ledger_id
1359 BULK COLLECT INTO
1360 l_detail_tax_line_id_tbl,
1361 l_trx_id_tbl,
1362 L_CCID_TBL,
1363 L_LEDGER_ID_TBL
1364 FROM
1365 zx_rep_trx_detail_t det ,
1366 ZX_REP_ACTG_EXT_T act
1367 WHERE det.request_id = p_request_id
1368 AND det.DETAIL_TAX_LINE_ID = ACT.DETAIL_TAX_LINE_ID(+);
1369
1370 IF ( g_level_statement>= g_current_runtime_level ) THEN
1371 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1372 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
1373 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1374 'Before calling ARP_STANDARD.gl_activity to get the gl_activity value.' );
1375 END IF;
1376
1377 FOR i IN 1..nvl(l_detail_tax_line_id_tbl.COUNT,0)
1378 LOOP
1379
1380
1381 IF t_gl_activity_tbl.EXISTS(L_CCID_TBL(i)) THEN
1382 null;
1383 ELSE
1384 t_gl_activity_tbl(L_CCID_TBL(i)) := null;
1385 END IF;
1386
1387 IF t_gl_activity_tbl(L_CCID_TBL(i)) is NULL THEN
1388
1389 ARP_STANDARD.gl_activity(
1390 l_period_from,
1391 l_period_to,
1392 L_CCID_TBL(i),
1393 L_LEDGER_ID_TBL(i),
1394 l_period_net_dr_tbl(i),
1395 l_period_net_cr_tbl(i));
1396
1397 t_gl_activity_tbl(L_CCID_TBL(i)) := l_period_net_dr_tbl(i) - l_period_net_cr_tbl(i);
1398 IF ( g_level_statement>= g_current_runtime_level ) THEN
1399 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1400 'l_period_net_dr_tbl : '||to_char(l_period_net_dr_tbl(i))||'-'||to_char(l_period_net_cr_tbl(i)));
1401 END IF;
1402
1403
1404 l_gl_activity_tbl(i) := t_gl_activity_tbl(L_CCID_TBL(i));
1405 ELSE
1406 l_gl_activity_tbl(i) := 0;
1407 END IF;
1408 l_bal_seg_prompt_tbl(i) := l_prompt ;
1409 END LOOP ;
1410
1411 FORALL i in 1 .. nvl(l_detail_tax_line_id_tbl.last, 0)
1412 INSERT INTO ZX_REP_TRX_JX_EXT_T
1413 (
1414 detail_tax_line_ext_id,
1415 detail_tax_line_id,
1416 numeric1,
1417 attribute1,
1418 created_by,
1419 creation_date,
1420 last_updated_by,
1421 last_update_date,
1422 last_update_login
1423 )
1424 VALUES
1425 (
1426 zx_rep_trx_jx_ext_t_s.nextval,
1427 l_detail_tax_line_id_tbl(i),
1428 l_gl_activity_tbl(i),
1429 l_bal_seg_prompt_tbl(i),
1430 fnd_global.user_id,
1431 sysdate,
1432 fnd_global.user_id,
1433 sysdate,
1434 fnd_global.login_id
1435 );
1436
1437 IF ( g_level_statement>= g_current_runtime_level ) THEN
1438 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1439 'After insertion into zx_rep_trx_jx_ext_t ');
1440 END IF;
1441
1442 EXCEPTION WHEN OTHERS THEN
1443 -- NULL ;
1444 IF ( g_level_statement>= g_current_runtime_level ) THEN
1445 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1446 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
1447 END IF;
1448 END;
1449
1450 END IF ;
1451 --Bug 5251425 : To Derive Logic for C_AMOUNT_RECEIVED and C_TAX_AMOUNT_RECEIVED
1452 IF ( p_report_name = 'ZXXCDE' ) THEN
1453
1454 SELECT dtl.detail_tax_line_id,
1455 dtl.trx_id ,
1456 dtl.internal_organization_id
1457 BULK COLLECT INTO
1458 l_detail_tax_line_id_tbl,
1459 l_trx_id_tbl,
1460 l_org_id_tbl
1461 FROM zx_rep_trx_detail_t dtl ,
1462 ar_receivable_applications_all cash
1463 WHERE
1464 dtl.trx_id = cash.applied_customer_trx_id
1465 AND dtl.request_id = p_request_id ;
1466
1467 IF ( g_level_statement>= g_current_runtime_level ) THEN
1468 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1469 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
1470
1471 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1472 'Before Call to GET_RECEIVED_AMOUNTS procedure ' );
1473 END IF;
1474
1475
1476 GET_RECEIVED_AMOUNTS
1477 (
1478 l_detail_tax_line_id_tbl,
1479 l_trx_id_tbl ,
1480 l_org_id_tbl ,
1481 l_amount_received_tbl ,
1482 l_tax_received_tbl
1483 );
1484
1485 FORALL i in 1 .. nvl(l_detail_tax_line_id_tbl.last, 0)
1486 INSERT INTO ZX_REP_TRX_JX_EXT_T
1487 (detail_tax_line_ext_id,
1488 detail_tax_line_id,
1489 numeric1, --C_TAX_AMOUNT_RECEIVED
1490 numeric2,--C_AMOUNT_RECEIVED
1491 created_by,
1492 creation_date,
1493 last_updated_by,
1494 last_update_date,
1495 last_update_login)
1496 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
1497 l_detail_tax_line_id_tbl(i),
1498 l_tax_received_tbl(i),
1499 l_amount_received_tbl(i),
1500 fnd_global.user_id,
1501 sysdate,
1502 fnd_global.user_id,
1503 sysdate,
1504 fnd_global.login_id);
1505
1506 IF ( g_level_statement>= g_current_runtime_level ) THEN
1507 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1508 'After insertion into zx_rep_trx_jx_ext_t ');
1509 END IF;
1510
1511
1512 END IF ;
1513
1514 EXCEPTION
1515 WHEN OTHERS THEN
1516 -- null;
1517 IF ( g_level_statement>= g_current_runtime_level ) THEN
1518 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR',
1519 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
1520 END IF;
1521 /*
1522 IF PG_DEBUG = 'Y' THEN
1523 l_err_msg := substrb(SQLERRM,1,120);
1524 arp_standard.debug('ZX_XX_EXTRACT_PKG.populate_us_sales_tax_rep_ext.'||p_report_name || '.'||l_err_msg);
1525 END IF;
1526 */
1527 IF (g_level_procedure >= g_current_runtime_level ) THEN
1528 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR.BEGIN',
1529 'ZX_CORE_REP_EXTRACT_PKG.POPULATE_CORE_AR(-)');
1530 END IF;
1531
1532 END POPULATE_CORE_AR;
1533
1534 END ZX_CORE_REP_EXTRACT_PKG;